From nobody Mon Feb 19 02:55:44 2024 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 4TdRxD3Zfsz5452G; Mon, 19 Feb 2024 02:55: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 4TdRxD30jnz4lh4; Mon, 19 Feb 2024 02:55:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708311344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=++YOmCAuDCYAZx0ZvR97DVmN29F/GPStyvGwPfjefN8=; b=u76L+oTmOwhuOU04XonKciQz6bQWxxaHz9Ukr37D1nvgmSG5k8XOP2XSXiw8dHEEfMX8Lp o3nAG/8s2Giae4Rxvh9RuFEjlJykDfVGiQfAIyuY4mIzLWc8qSPgp+Vay9pcC+cK+dawMu 8sq4lAC7DYk7IhjYWDGyFwUOspXcrup9Obf9U0iKKlDhJ+Ldmah4evDpDnzCBOn/SlplQQ SJgB4MudIq9da9uXLmeUkLr3+gp+EnkIAzulq/sGzuEnxuLl8GrH5e3BpIAuNyeuFjqFST 7XNu/ZnPebdhas7gwWc7xUF4bWvAWsuEOJafBm663/iOu7D6dHfe9lPg6PGD5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708311344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=++YOmCAuDCYAZx0ZvR97DVmN29F/GPStyvGwPfjefN8=; b=ox79JZV2Q2J7yUxKwts97ofazqB18XqoDzI+drFxmRYZDFEkfrWXkwUXfG6/Rl0Q2GN6al +tAtgyrhila63RVzwCXTVxkyFWowehbuTJtZE2+y8EYwWaEzlsOcLD4AdlygCDwgqR57Rf +baehZtnq65cj7ZhUh8vtv9xjjwJpNxj+aLKuicjZz4CdkI8BlZ4OtsP0VwPt2/HyJvjAN vNwbXkaOium9O8YqAJixz57d/nAet4fpvX+t0zXCCsjJhEWltXZ/Pflr04RX3FmdhVMePc qIJADLVV6dFc9lSYDlbL2JUaxWj4gNxhFGAnuzkIjm2pfZZzMlnDjxmtoUZbcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708311344; a=rsa-sha256; cv=none; b=gc3yLOO6zXIYo/159QD5xGPwdtTZ+TIFk7zC4Mmyvhntqb8uKH2m6ys+sdYNm7Or0VzZZj esmT1OAPoee6qBObCu/hmZIM7EHIGruu2H8Ye50ChThh6sLyd8UTeJnoDU7M4a9E5VHKSc O3F/E5qCnP3YGGYXiVlEAYNGl3qFOdJ0Ozx1Q3XFeMXOEg3cXJ0Dllbvzmw9v47pbZYJCL Gmj2dnOqA2+WBOi7OPcmRRZ2yPN+vvg/P2B0Ou9isePjcg9MTr3DjrImKtFMQmUxAS0JWB yMBho/JuZz+Q9jOGUbyxWaJWMBFXvlnjBNW6uh8DqCPll78t8FhPaUgfo+i6PQ== 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 4TdRxD22J2zH4b; Mon, 19 Feb 2024 02:55: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 41J2ti9d089572; Mon, 19 Feb 2024 02:55:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J2ti42089569; Mon, 19 Feb 2024 02:55:44 GMT (envelope-from git) Date: Mon, 19 Feb 2024 02:55:44 GMT Message-Id: <202402190255.41J2ti42089569@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: fcb6cac22397 - stable/13 - if_re: Generate an address if there is none in the EEPROM 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/stable/13 X-Git-Reftype: branch X-Git-Commit: fcb6cac22397ecfc3fa9eaa9957a86a2fb639c8f Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fcb6cac22397ecfc3fa9eaa9957a86a2fb639c8f commit fcb6cac22397ecfc3fa9eaa9957a86a2fb639c8f Author: Evgeni Golov AuthorDate: 2023-02-27 22:50:56 +0000 Commit: Warner Losh CommitDate: 2024-02-19 02:52:41 +0000 if_re: Generate an address if there is none in the EEPROM There exists hardware that has no ethernet address burned into the EEPROM. Loading if_re on such a HW brings the device up with '00:00:00:00:00:00' as the address, and that doesn't get you too far in a real network. PR: 262406 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/670 Signed-off-by: Evgeni Golov Differential Revision: https://reviews.freebsd.org/D34485 (cherry picked from commit 55747938b5c4c913f742fd03189f0c660ced7bef) --- sys/dev/re/if_re.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 0570f2574d37..95b43b5718cb 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -1678,6 +1678,11 @@ re_attach(device_t dev) goto fail; } + /* If address was not found, create one based on the hostid and name. */ + if (ETHER_IS_ZERO(eaddr)) { + ether_gen_addr(ifp, (struct ether_addr *)eaddr); + } + /* * Call MI attach routine. */ From nobody Mon Feb 19 03:41:48 2024 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 4TdSyN6PMbz58sxT; Mon, 19 Feb 2024 03:41: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 4TdSyN4dVjz4s9C; Mon, 19 Feb 2024 03:41:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708314108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YnCdkaJn+4vdsHgLmIC8bZW1+YQ6QSfA1srS6XO03gk=; b=PtVLUh3rQvlBvlBMgS8kaVa9M5NOgvg2CzSWjPrtxrqOySzG9HlkXLQBFZUZHO4Lgg06tJ NUCgfbY4vDuAMO/IkWXss3o+0FpEsacuh3Jkmxw3YbQdK9FuNI5wDRaoB1QN+FqDCBaiO4 5yPF2wc17Tj/wB8efRhoreEtJYmY96DAGQ/rOl5ScvB+CuHZ0yNsdmlyWccSCIBqryveyd YeNW9a7vMrNVjtq3aijY8SRMI9v2QhtS3zb6SwkoVNXM1rVfBp3+CPehHMvgcaXicOo3lV EEGf/s3yBn10v12608pA9EHHvFvB+Mm28NUHMz3IDF4RNNv4qtPKyclBD/7TXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708314108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YnCdkaJn+4vdsHgLmIC8bZW1+YQ6QSfA1srS6XO03gk=; b=sAKY6jYOBvAhTsJw7BZ46Mx/7l6f9rxKHEDFk3wSMTgNHSt0acYnYfLR7zOjeQkeNeMCpq wxCQ0eiiz8r3/szIilaDGyETs3zUL4b2jC8oHNKe7lb7g7pHx2bLtCGP0ZunEv/7XnR9vZ 2wzmRy24mpgu60cK5cEExGQXJuV8wloYwkeBM3aWAgWJcL1AbrXaXNmrBhDVrTQECXSrbJ XNl1Vy5ZwAOsAlvFte5QffCJT0UNXn7JeyNuBBetrp4khCVzc/Zp1EVTqhnLwd6tUkC4Xw 6K/H+w8/8FyFGrvnFoFDSHnS8HHIfQzFm63D7UHljfnfGmpluC5ARmT7FA5JLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708314108; a=rsa-sha256; cv=none; b=yVBIXo1PYN5BfV0ziQHWmB4lVT+VWW7meNWLLzEd3MbLGYiizaFoFxyBra60ND/+TVAw0s kUXdrwANr22bqFiCfX8a2/t3IVlrnnmamfHB130GEMOnMovGxOYkRj07l/LddD6EpsYjuJ T/ss76q/g67mzPGRcxQKO3FC7Tfrxoc5TCPA+JjJfypsuYF1mGtE8jesJnzSu1xWOanQIM s3Sxi8lDqDoa9dALB8uNJn+ygNcbLHhuWiu8Vy+FTNNKrzQqpcsSDFl26uOC8AjwdJM2vn R9QduQG+U5INvo6lmkUg5DB1UNqcwMdzXLWnKaifxNdjZdz90pn68mIfkv7MoQ== 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 4TdSyN3MJ5zJVK; Mon, 19 Feb 2024 03:41: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 41J3fmOA070983; Mon, 19 Feb 2024 03:41:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J3fmVE070980; Mon, 19 Feb 2024 03:41:48 GMT (envelope-from git) Date: Mon, 19 Feb 2024 03:41:48 GMT Message-Id: <202402190341.41J3fmVE070980@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: ddf5bf4319f6 - stable/13 - libbe: Avoid double printing cloning errors. 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/stable/13 X-Git-Reftype: branch X-Git-Commit: ddf5bf4319f61ccbb7f9e843965df86ac60253df Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ddf5bf4319f61ccbb7f9e843965df86ac60253df commit ddf5bf4319f61ccbb7f9e843965df86ac60253df Author: John Grafton AuthorDate: 2023-03-15 03:14:14 +0000 Commit: Warner Losh CommitDate: 2024-02-19 03:02:58 +0000 libbe: Avoid double printing cloning errors. be_clone calls be_clone_cb and both call set_error on the return error path. set_error prints the error resulting in a double print. be_clone_cb should just return the error code and allow be_clone to print it. PR: 265248 Reported by: Graham Perrin Reviewed by: imp, kevans Pull Request: https://github.com/freebsd/freebsd-src/pull/685 (cherry picked from commit 8e933d9c598ec847081c322e7ae9a46bf7897886) --- lib/libbe/be.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/libbe/be.c b/lib/libbe/be.c index cb8ff95c4e07..21dd168b2557 100644 --- a/lib/libbe/be.c +++ b/lib/libbe/be.c @@ -754,11 +754,11 @@ be_clone_cb(zfs_handle_t *ds, void *data) /* construct the boot environment path from the dataset we're cloning */ if (be_get_path(ldc, dspath, be_path, sizeof(be_path)) != BE_ERR_SUCCESS) - return (set_error(ldc->lbh, BE_ERR_UNKNOWN)); + return (BE_ERR_UNKNOWN); /* the dataset to be created (i.e. the boot environment) already exists */ if (zfs_dataset_exists(ldc->lbh->lzh, be_path, ZFS_TYPE_DATASET)) - return (set_error(ldc->lbh, BE_ERR_EXISTS)); + return (BE_ERR_EXISTS); /* no snapshot found for this dataset, silently skip it */ if (!zfs_dataset_exists(ldc->lbh->lzh, snap_path, ZFS_TYPE_SNAPSHOT)) @@ -766,7 +766,7 @@ be_clone_cb(zfs_handle_t *ds, void *data) if ((snap_hdl = zfs_open(ldc->lbh->lzh, snap_path, ZFS_TYPE_SNAPSHOT)) == NULL) - return (set_error(ldc->lbh, BE_ERR_ZFSOPEN)); + return (BE_ERR_ZFSOPEN); nvlist_alloc(&props, NV_UNIQUE_NAME, KM_SLEEP); nvlist_add_string(props, "canmount", "noauto"); @@ -779,7 +779,7 @@ be_clone_cb(zfs_handle_t *ds, void *data) return (-1); if ((err = zfs_clone(snap_hdl, be_path, props)) != 0) - return (set_error(ldc->lbh, BE_ERR_ZFSCLONE)); + return (BE_ERR_ZFSCLONE); nvlist_free(props); zfs_close(snap_hdl); @@ -790,7 +790,7 @@ be_clone_cb(zfs_handle_t *ds, void *data) ldc->depth--; } - return (set_error(ldc->lbh, err)); + return (err); } /* From nobody Mon Feb 19 03:45:56 2024 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 4TdT3851cXz58t3R; Mon, 19 Feb 2024 03:45: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 4TdT384Zktz4sVZ; Mon, 19 Feb 2024 03:45:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708314356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2tmWryoIB9XZze270LqIWce2oOf9C2gjOrACpvPxw5I=; b=PRtjt2EMzAbTQMvAsN49YP6+dSXnWKtRZRPe2e16JzKj+ry6OBT/+c7G3OSon6pQlgAXAh tsuSryK6zIaKKKtTVTJ8ybasDl4ew0PsfP38ODvPTDNm+bRXrHKXhF1sI6COgZfsqCF1Dg EaFzeuK5pYRBHdOmAgqpWGvdM1eH2G5AlPzbzor9CUCE60vpuB4lk4uwYQ9CgFYYe3LWsI ONgR/0VCTpqoczUfGmuVAfVyNG2+yGEgY8VbqM6fHspYxwHmQG1G6TDsRnMVyDJBhYBLio wvfzBDjgGZaP8SvDTkLu72/c/O1R9uqGr+nLaMSh2utP5z+1PuyM9wwTkCvFpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708314356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2tmWryoIB9XZze270LqIWce2oOf9C2gjOrACpvPxw5I=; b=DbSlys0Bmr/NlR+9XwljaaOcb7vzgX7Zu0UO8RbuMn1ZUMdBYuzqUjSXpm/+Xeau9wtcSw xM4QAAR4aVpXdpclnT+VtJGXDNmv/VEigIw4DGY0VF3WU6MGny41AEz2HnFcOnvX47Ay6d tsDA1+d9yjvSK6qCQc94oORu01A+KgWw0GWsyPeI5UsOComqZo00g+UuDIkwhMYYFzy2pT tlU9ObRyJlzWRxkiKSVCvomiGeJPlyJstiO0VfuUOmSdtn9p06S/BIt9KmgFYSaXFq93Je MX+5ottdSW7jCIhFTtVJXA0TLvMncXJOpm7xyAMro+cnn+eyQ5UINzpnjdJF1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708314356; a=rsa-sha256; cv=none; b=JM4qCX+h5paUCFoXfT5l8RwGivqPbhz1UikWgYiklRw2nJP8q3i+Sf2VtxAxh6wIvdTvmS fdz45rGUi7VAYYcmAD0HlNHkFoL5m4A3gyaMx4wUgm/sy7SxXGmgq4PbYXp6kS8j73wwqV E6Scz+ZTZqbkCn3Ykt1KfmFHDRo8ZPXBchKnmmBnkzOPbwvYRv1gYMCDaq49AItQ6Lc+ZI Ut3LJOTyVPrOqpRTrpBhbLZPsiMIhMa+KFAcWfOWISqfRhC5RWPD5ufNRhnt8AGK5Xkgre dVWQosazEfJ8+kfxnq5AtIrQEKxkOaZiRUKoqdzmLSNEUuzLL+/NRO9m/XZy5A== 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 4TdT383fZQzJhR; Mon, 19 Feb 2024 03:45: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 41J3juAQ076639; Mon, 19 Feb 2024 03:45:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J3ju6O076636; Mon, 19 Feb 2024 03:45:56 GMT (envelope-from git) Date: Mon, 19 Feb 2024 03:45:56 GMT Message-Id: <202402190345.41J3ju6O076636@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: d9b466296bdd - stable/13 - mvs: Eliminate unused variable. 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/stable/13 X-Git-Reftype: branch X-Git-Commit: d9b466296bdd1aa3b25b0cb6f0f546af21e55c62 Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d9b466296bdd1aa3b25b0cb6f0f546af21e55c62 commit d9b466296bdd1aa3b25b0cb6f0f546af21e55c62 Author: Warner Losh AuthorDate: 2023-06-09 23:18:54 +0000 Commit: Warner Losh CommitDate: 2024-02-19 03:43:00 +0000 mvs: Eliminate unused variable. ccim is unused. Just remove it. PR: 271920 Sponsored by: Netflix (cherry picked from commit 17dce737e305891c88e2410469cd23d8cfad1ca3) --- sys/dev/mvs/mvs_soc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/dev/mvs/mvs_soc.c b/sys/dev/mvs/mvs_soc.c index 9ffc56911404..f499d241adfa 100644 --- a/sys/dev/mvs/mvs_soc.c +++ b/sys/dev/mvs/mvs_soc.c @@ -205,7 +205,7 @@ static int mvs_ctlr_setup(device_t dev) { struct mvs_controller *ctlr = device_get_softc(dev); - int ccc = ctlr->ccc, cccc = ctlr->cccc, ccim = 0; + int ccc = ctlr->ccc, cccc = ctlr->cccc; /* Mask chip interrupts */ ATA_OUTL(ctlr->r_mem, CHIP_SOC_MIM, 0x00000000); @@ -222,8 +222,6 @@ mvs_ctlr_setup(device_t dev) ccc *= 150; ATA_OUTL(ctlr->r_mem, HC_ICT, cccc); ATA_OUTL(ctlr->r_mem, HC_ITT, ccc); - if (ccc) - ccim |= IC_HC0_COAL_DONE; /* Enable chip interrupts */ ctlr->gmim = ((ccc ? IC_HC0_COAL_DONE : (IC_DONE_HC0 & CHIP_SOC_HC0_MASK(ctlr->channels))) | From nobody Mon Feb 19 04:48:49 2024 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 4TdVRj3xD4z59328; Mon, 19 Feb 2024 04:48: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 4TdVRj2Sd7z50j3; Mon, 19 Feb 2024 04:48:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qx28GCSWl9ZgY+CDBopJ2hmNR+vsv/+MjkzXOw2ZYQk=; b=v6l9mlrBkZ0it1DI057sTdwHri407C1eXy/SoWlHeoMOKutL8hrcbV3FZZH257bGn23k8p svfpuG+/7LPtNNdk92D+preATiHBfZBvhbQjM6nbcZwCXisgDoTnKcBp8Ba218c2W3w5bW W1Zthv15VqLuB9liCI+jpiQhxWsgynqPkPZIu3/xAxc32nBTlEbmP9mLJk7NG/Fiulfr1O jX5HtlJ7rCufM+YejU8CGe6CxOlEECKxfqZlI1TotoVnN6HZ1TD3AmT0ItVvnD4/UV7le/ Q1YgpairqkAinWbQnIw4RcxWNZqE+FMFCW+PWHdjfPwXWUV6m7ho0mhah1a9Mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qx28GCSWl9ZgY+CDBopJ2hmNR+vsv/+MjkzXOw2ZYQk=; b=v18b33AyFmUN7nwlODhD16Wb+byFePSENAVCKBoLcjOyeguyTu4hfsWzVW2FEnx/EdApaP V8W3edxpPJDbzbOa0EtkkFBjuoYmDQKk0qekF6Ubi9J6XPMn5gQuzl/RD5yAh7kVgw1T3Y T+w/z8cwF6ve/FDT5nRJR9ZUkQW/+2kZBIY+tfqDkv1Rg+9aJvQ+GhI7iKlIiHcQJTGrrm wn39Wt03bBlN9aA8x+TiT6uLlpuNTLY0s7yCOq5Ru4Ft8q1awk3WPdycQqFayZD4JK53Ze 9jEerMLRfPw+IbrkQpw/lX8XNPuwPTU5k7cjpWI6DDU9BmxZi6n/whxOszzfHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708318129; a=rsa-sha256; cv=none; b=YI+FHIigmp1ANpmW+uvK/jQTUdbOhREnC/sYmQtntkPD5NBTVsEamDUlvKjRj26WMXcyZh ASZzUWvd6ifBQfRynls24nuDB2BPCkjsoNz+4GRONyo3sg4iqBrMEShSAdyHuLqgVRSiI9 Ls67xrnroQhZBW+D+I8x4PeO4qL99qndBEg2Tr1W9rVN8WzfDxkKPm93g/XOoelqpgnqSY 0jIumzXLltThY5GCErMGdbOOYeQSwAXSAkRL1uE1ZdoVuiXV8KxR75NZBK6e7ZBscPxmLs oam/n7rlecRVjItsgkJ2yN4eXxAa3X0DvqBocEhThyRGgcnxRY66uSfJZai2fg== 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 4TdVRj1Sg3zKqm; Mon, 19 Feb 2024 04:48: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 41J4mnq6076856; Mon, 19 Feb 2024 04:48:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J4mnxS076853; Mon, 19 Feb 2024 04:48:49 GMT (envelope-from git) Date: Mon, 19 Feb 2024 04:48:49 GMT Message-Id: <202402190448.41J4mnxS076853@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: a51aee0a9828 - stable/14 - vtnet: Adjust for ethernet alignment. 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/stable/14 X-Git-Reftype: branch X-Git-Commit: a51aee0a9828238ebdf2f55448d97f1f00acc5d4 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a51aee0a9828238ebdf2f55448d97f1f00acc5d4 commit a51aee0a9828238ebdf2f55448d97f1f00acc5d4 Author: Warner Losh AuthorDate: 2024-01-29 05:08:55 +0000 Commit: Warner Losh CommitDate: 2024-02-19 04:47:16 +0000 vtnet: Adjust for ethernet alignment. If the header that we add to the packet's size is 0 % 4 and we're strictly aligning, then we need to adjust where we store the header so the packet that follows will have it's struct ip header properly aligned. We do this on allocation (and when we check the length of the mbufs in the lro_nomrg case). We can't just adjust the clustersz in the softc, because it's also used to allocate the mbufs and it needs to be the proper size for that. Since we otherwise use the size of the mbuf (or sometimes the smaller size of the received packet) to compute how much we can buffer, this ensures no overflows. The 2 byte adjustment also does not affect how many packets we can receive in the lro_nomrg case. PR: 271288 Sponsored by: Netflix Reviewed by: bryanv Differential Revision: https://reviews.freebsd.org/D43224 (cherry picked from commit 3be59adbb5a2ae7600d46432d3bc82286e507e95) --- sys/dev/virtio/network/if_vtnet.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index f7ad385b3955..ab77205000d5 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -1543,6 +1543,15 @@ vtnet_rx_alloc_buf(struct vtnet_softc *sc, int nbufs, struct mbuf **m_tailp) } m->m_len = size; +#ifndef __NO_STRICT_ALIGNMENT + /* + * Need to offset the mbuf if the header we're going to add + * will misalign. + */ + if (sc->vtnet_hdr_size % 4 == 0) { + m_adj(m, ETHER_ALIGN); + } +#endif if (m_head != NULL) { m_tail->m_next = m; m_tail = m; @@ -1569,6 +1578,14 @@ vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *rxq, struct mbuf *m0, sc = rxq->vtnrx_sc; clustersz = sc->vtnet_rx_clustersz; +#ifndef __NO_STRICT_ALIGNMENT + /* + * Need to offset the mbuf if the header we're going to add will + * misalign, account for that here. + */ + if (sc->vtnet_hdr_size % 4 == 0) + clustersz -= ETHER_ALIGN; +#endif m_prev = NULL; m_tail = NULL; @@ -1692,6 +1709,10 @@ vtnet_rxq_enqueue_buf(struct vtnet_rxq *rxq, struct mbuf *m) header_inlined = vtnet_modern(sc) || (sc->vtnet_flags & VTNET_FLAG_MRG_RXBUFS) != 0; /* TODO: ANY_LAYOUT */ + /* + * Note: The mbuf has been already adjusted when we allocate it if we + * have to do strict alignment. + */ if (header_inlined) error = sglist_append_mbuf(sg, m); else { From nobody Mon Feb 19 04:48:50 2024 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 4TdVRk56xVz5938W; Mon, 19 Feb 2024 04:48: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 4TdVRk3BB9z50j4; Mon, 19 Feb 2024 04:48:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aeodTCcglibBGb/Kdd3D6qgSbd++1KgMskWr+0/xHuM=; b=qCWoqUHO0W3Fim8enjBf5hmgV87ZceQ0S9gb0Eh7WqKW6pNrAnusKBCz0VrGsTcy+vfQyY rrJuVu3RhDJIJPa7/9uaeiir7qLAPmAMe8oLwt/j4d1/fIPyGlm+RVzOXAuF6cDY2JCOtz mac0e/i4PZPSUpnrJ7MQfd5AXcfTYsjorqokfifCbfpTQzNRo+n+vZAbZ7bxiljjLjwWAd 7Icwh8XAJi8cH0AoYn6NGH6SHS/TunP7f/HRVQxoNLrZU2uw1WcD6EdMXeiICI80yEDlzp vxjP7Q4bVTSEUdn+l2fPKxO0XYvW9Z5dyJ32+SOuiscWptI9vXRyDG6f1LmD/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aeodTCcglibBGb/Kdd3D6qgSbd++1KgMskWr+0/xHuM=; b=Cl9Wk9xvMv51/NGEcrmFAq9qKJbizoebq8DzsP0LLMbyvVOaa1h7aVhw9Ayxi2LzptpYC4 Tyh3tF28noe+aX56bs8PlHjgzM8J5qOT1RvzTaDG/CJAezUzOXKKft5Ak9pxKAJKuqdyWn daOj8SGBweKCjXRFxSJPlkB/UM2m6F8JC2q0MtMbkqHm6Mi+s6TXM32PXhwBMUJJKr3qCR rydRDpMQ8FxBkkB8rbY3Jhore0qg1whooVU3McC8Cu/PPdjrRK8uVBOr3PGiuU7rXeKR/3 CR6ywVkMqQhMobuhtSXtvz20W0KnMaA3m2xuzBiEeYFy8hNrMWHCFXhKdPVEdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708318130; a=rsa-sha256; cv=none; b=Q9awMX+Sf3ZMjM/YkqhopC8D1YcE0Hr9NujQdHbAdzyRJf0AZnGhbqJi/cj+3e1d5vS9uV kEGDhFpOrfZcyLa2upWTu0yT5zznxXmivClZSDM/DdkFYqm3MxvPoi89Z8djCgfUIa978N tLjPHzhIsR4N3EDoRV9iULc1CHXbbUjUwEaj+uPXErZio2LELegEqBF8NCHfavInvibfRU 84/IhTJQgWXbgq9sKm65hto7Yg6v8dJIr+Ni7hkiq2GTqC9G81BaoB+PjZIMt9TosgXEsX YHqTNNsVGEnzfDz3SpOBLFCzMnfJNeXjg2mf15QcvNtF6wa3hGyfxZGKjI2J6g== 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 4TdVRk2F7DzLCG; Mon, 19 Feb 2024 04:48: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 41J4moev076910; Mon, 19 Feb 2024 04:48:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J4moic076907; Mon, 19 Feb 2024 04:48:50 GMT (envelope-from git) Date: Mon, 19 Feb 2024 04:48:50 GMT Message-Id: <202402190448.41J4moic076907@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 96e37f693694 - stable/14 - vtnet: Account for the padding when selecting allocation size 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 96e37f6936949c03cd4ab7c42fcefccae4001d9d Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=96e37f6936949c03cd4ab7c42fcefccae4001d9d commit 96e37f6936949c03cd4ab7c42fcefccae4001d9d Author: Warner Losh AuthorDate: 2024-02-05 05:43:39 +0000 Commit: Warner Losh CommitDate: 2024-02-19 04:47:16 +0000 vtnet: Account for the padding when selecting allocation size While we account for the padding in the length of the mbuf we use, we do not account for it when we 'guess' the size of the mbuf to allocate based in the MTU of the device. This leads to a situation where we might fail if the mtu is close to a bucket size (say 2018) such that the added padding would push us over the edge for a full-sized packet. mtu of 2018 is super rare (2016 and 2020 would both work), but fix it none-the-less. It's a shame we can't just set VTNET_RX_HEADER_PAD to 2 in this case. The 4 seems hard-coded somewhere I've not found documented (I think it's in the protocol given the comments about VIRTIO_F_ANY_LAYOUT). Sponsored by: Netflix Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D43656 (cherry picked from commit d9e0e42627613b56abf0f8fa1ad601e5690d775c) --- sys/dev/virtio/network/if_vtnet.c | 9 +++++++++ sys/dev/virtio/network/if_vtnetvar.h | 8 +++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index ab77205000d5..6694c655f3af 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -1232,6 +1232,15 @@ vtnet_rx_cluster_size(struct vtnet_softc *sc, int mtu) } else framesz = sizeof(struct vtnet_rx_header); framesz += sizeof(struct ether_vlan_header) + mtu; +#ifndef __NO_STRICT_ALIGNMENT + /* + * Account for the offsetting we'll do elsewhere so we allocate the + * right size for the mtu. + */ + if (sc->vtnet_hdr_size % 4 == 0) { + framesz += ETHER_ALIGN; + } +#endif if (framesz <= MCLBYTES) return (MCLBYTES); diff --git a/sys/dev/virtio/network/if_vtnetvar.h b/sys/dev/virtio/network/if_vtnetvar.h index 6c2e6e90107a..d690ad3bf63c 100644 --- a/sys/dev/virtio/network/if_vtnetvar.h +++ b/sys/dev/virtio/network/if_vtnetvar.h @@ -232,7 +232,13 @@ vtnet_software_lro(struct vtnet_softc *sc) */ #define VTNET_VLAN_FILTER_NWORDS (4096 / 32) -/* We depend on these being the same size (and same layout). */ +/* + * We depend on all of the hdr structures being even, and matching the standard + * length. As well, we depend on two being identally sized (with the same + * layout). + */ +CTASSERT(sizeof(struct virtio_net_hdr_v1) == 12); +CTASSERT(sizeof(struct virtio_net_hdr) == 10); CTASSERT(sizeof(struct virtio_net_hdr_mrg_rxbuf) == sizeof(struct virtio_net_hdr_v1)); From nobody Mon Feb 19 04:48:51 2024 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 4TdVRl6mkFz592r6; Mon, 19 Feb 2024 04:48: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 4TdVRl47w4z50gP; Mon, 19 Feb 2024 04:48:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rSt1qKTK682TzGjU9TUSpXfVefa0xT+ccWipXVdMqQM=; b=kvmnbq4u5GZsWNoRHog/HV53BcFbxxoeecMfbybr2PzyAT+fsUi3y9aLGfg7USBsmJyjSd 53xAJt7zBUAcEwo30FOlvt6YTSUV2sPAAqmSD2qGEdyUmvirfLGq0rtb6uiH4+r+o+dD/D IUpWStK0F6dqllUd+MTEjKXkxxh+0hKLSmEmbfr8IwFzYbGzo5e5ScXn7mtbVpacDWtYsU ynTiBQzWJwbNJE6AyOtuA2YL7aAMF0P3nk8BA48vx4dwpLRmisxRy8Hco8GF6pzxLfi2CK yp0gv38PmbUgmPgVfBwNg7wJo3kWOpVn6YdTatnv/XdsG1FWOL2axopHX7yXnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rSt1qKTK682TzGjU9TUSpXfVefa0xT+ccWipXVdMqQM=; b=uTO6U/ppvJ1o7OX5EYm3IexpiakESe6LFuyyNYB5brzr3+OIlrlQeSFo1kpMRyxFvr/pIV mffLMigg4W6dH6C9Djiqulrk1WJOf0Xz4kQgxiOXDn3TxJDgEEURHv2JQxd+DISiAeab9i LTgRuDIahr0wFZWoD4xwBwY5DR+5ynI4wo9674MDyXnlmWDAhCNC6PC/AtiXnDgCFiiz0L tnlP6TzaQtwaR8Kpae8xBGVAkrWPUyENzF7WF6l+B92hi8RZEPiyhTYsv1iw5s+3ePWqdB t88p2on76BUJ60BNoo+YMUL9wN1I1YjSmRzzqJcm4rozmqYpiTLVfk6l6yqjmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708318131; a=rsa-sha256; cv=none; b=SiHUoggN1OPx+YO5/iDCSoKjpYtpyprHbBzioFIbNggbr3G8vhWVW+xnKsraUYP9bkdBNo alFG95BeRrjpEJ+0QxvZV6SFe2aMftH+3pL8TNqm9PO+BqCUg1bZ3rfZmUXp9R0MypO31P I7fTL2gjxzu9sFLFsNeIhw/bgZrq8i12mPav4pcusexNzAkaUFyI/pO4Eo2yKJtqmNrzil oxhEe3HxaD7A6wUjrosEnSk3ca1Gpk2EaBc9PBB7TxucqAoGTW1wGTpMyRGCf9UOhDpvsd 8M5u/lRsZEBV1VlnQ4s0mg27UMewkLchyKMqfR1x4oJ1L2c4O8ECMA8p5JFepQ== 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 4TdVRl3DKFzKnK; Mon, 19 Feb 2024 04:48: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 41J4mpEi076962; Mon, 19 Feb 2024 04:48:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J4mpXg076959; Mon, 19 Feb 2024 04:48:51 GMT (envelope-from git) Date: Mon, 19 Feb 2024 04:48:51 GMT Message-Id: <202402190448.41J4mpXg076959@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: a9600913b4db - stable/14 - vtnet: Avoid ifdefs based on __NO_STRICT_ALIGNMENT 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/stable/14 X-Git-Reftype: branch X-Git-Commit: a9600913b4dbf66fb257ea90702ea4705fb40362 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a9600913b4dbf66fb257ea90702ea4705fb40362 commit a9600913b4dbf66fb257ea90702ea4705fb40362 Author: Warner Losh AuthorDate: 2024-02-05 05:43:49 +0000 Commit: Warner Losh CommitDate: 2024-02-19 04:47:16 +0000 vtnet: Avoid ifdefs based on __NO_STRICT_ALIGNMENT Some platforms require an adjustment of the ethernet hearders. Rather than make this be on __NO_STRICT_ALIGNMENT being defined, define VTNET_ETHER_ALIGN to be either 0 or ETHER_ALIGN (aka 2). Add a test to the if statements to only do them when != 0. This eliminates the #ifdef sprinkled in the code, still communicates the intent and gives the same compiled results. Sponsored by: Netflix Reviewed by: bz, bryanv Differential Revision: https://reviews.freebsd.org/D43654 (cherry picked from commit 0ea4b4084845bfeedc8c692e4d34252023b78cb3) --- sys/dev/virtio/network/if_vtnet.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 6694c655f3af..7d6411876b3d 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -90,6 +90,12 @@ #include #endif +#ifdef __NO_STRICT_ALIGNMENT +#define VTNET_ETHER_ALIGN 0 +#else /* Strict alignment */ +#define VTNET_ETHER_ALIGN ETHER_ALIGN +#endif + static int vtnet_modevent(module_t, int, void *); static int vtnet_probe(device_t); @@ -1232,15 +1238,13 @@ vtnet_rx_cluster_size(struct vtnet_softc *sc, int mtu) } else framesz = sizeof(struct vtnet_rx_header); framesz += sizeof(struct ether_vlan_header) + mtu; -#ifndef __NO_STRICT_ALIGNMENT /* * Account for the offsetting we'll do elsewhere so we allocate the * right size for the mtu. */ - if (sc->vtnet_hdr_size % 4 == 0) { - framesz += ETHER_ALIGN; + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) { + framesz += VTNET_ETHER_ALIGN; } -#endif if (framesz <= MCLBYTES) return (MCLBYTES); @@ -1552,15 +1556,13 @@ vtnet_rx_alloc_buf(struct vtnet_softc *sc, int nbufs, struct mbuf **m_tailp) } m->m_len = size; -#ifndef __NO_STRICT_ALIGNMENT /* * Need to offset the mbuf if the header we're going to add * will misalign. */ - if (sc->vtnet_hdr_size % 4 == 0) { - m_adj(m, ETHER_ALIGN); + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) { + m_adj(m, VTNET_ETHER_ALIGN); } -#endif if (m_head != NULL) { m_tail->m_next = m; m_tail = m; @@ -1587,14 +1589,12 @@ vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *rxq, struct mbuf *m0, sc = rxq->vtnrx_sc; clustersz = sc->vtnet_rx_clustersz; -#ifndef __NO_STRICT_ALIGNMENT /* * Need to offset the mbuf if the header we're going to add will * misalign, account for that here. */ - if (sc->vtnet_hdr_size % 4 == 0) - clustersz -= ETHER_ALIGN; -#endif + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) + clustersz -= VTNET_ETHER_ALIGN; m_prev = NULL; m_tail = NULL; From nobody Mon Feb 19 04:50:02 2024 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 4TdVT71K60z592tw; Mon, 19 Feb 2024 04:50: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 4TdVT70bTbz51gB; Mon, 19 Feb 2024 04:50:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y25yIVRSQbt3dpGHXW2y5zRwIXHU8owIpRbRSFY3YWc=; b=uPpLRuGkFBo82dBgBTCUA+oRZvJBI/VMzYeCge47iqNPovs7tTT6UnGXj2Im4eoy4+n8dw 7LxOfUT5UbgPGafJ9WTPbZUd9PAxhWa4Gt8/Z6aMF3k4Sn75sC4wTr77GlTyFqu7ZpG+QJ ZxgiyTK42W0XOLFgAX/2rp2MUxjfuOSWmnLbdf07Ha0LrL0ythzbIZ1ywGrjNjjuBpge/+ f8qXDEZZPu3tTiRNzmQj726ShPoT1ai+w3+9VeaAPFlHSl0xLXNK0Z2z3WZd/bG4bGC3h7 nzTpCGc4aIfwc5dcDutU6KMmAqLJf8YzNWQmtRxl9ZNnMOybpe3Hi8isMDBuYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y25yIVRSQbt3dpGHXW2y5zRwIXHU8owIpRbRSFY3YWc=; b=nlpUTlzonlonroXKb3i6BEt+8YGvjYr7QGudX1KUQ1TmsP4b9w+pQthWKFisSceDUkTe+5 yrDK5nLHg8EbA+hnhgsDru6ITBXR0MUCPUOFYh2grNapRFJKqW0p/THd6kL/yT4MHsxO30 FF8gSbFFZBUbpTD7mv4Ydg4IPgXm+SLiYNBLQCFyZANOTQ2uchwzmmQbgA9grpscz5U4ue cE2AEka6Y3vxJWr+rB79mHpJcAsnsq2onyIN+TIEqN51zzr5uZDQZBJbILrgkMZmF28wM6 uiz/JZn0E2LxIZtYvOBAUVniALtsgMgDJjUnXZW4nmo0JLL1EQZuJsgPge3VUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708318203; a=rsa-sha256; cv=none; b=SoNIIpnbhuxDKKOrRN8zWphWf4QAcjpeT+FvCYfM+aNu9zirdcD/5j0Iv0ysotR738oGgF EsKWslX9oanm2lb+TVdtlEA2JJvLgngYbVpNxt5tjyU4CRsYyHhS3ZNBIEHtQPtdjKgf/K yZ3ptekZMJYM7b7+Yoo5eT+ygaZ7h6GVado5XGhTeZ6QTlO8BrFNyQZNo7am8gKBZ81QF4 btI1uTcm/uaLTeNHrikAISD1JoC1xF+1lvpXzQhRs2PO30ro8Wr4N3cJyLr0u7p/GKuRun Pq7lINuLv7qQc8cCb05dhYpZe69dXlJ2a2+t7eQy85pzAOHsVTkSpSgAtf4BmA== 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 4TdVT66mXlzKgn; Mon, 19 Feb 2024 04:50: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 41J4o2k4079435; Mon, 19 Feb 2024 04:50:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J4o2Qi079431; Mon, 19 Feb 2024 04:50:02 GMT (envelope-from git) Date: Mon, 19 Feb 2024 04:50:02 GMT Message-Id: <202402190450.41J4o2Qi079431@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 898e02d74074 - stable/13 - smartpqi: Drop spinlock before freeing memory 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 898e02d740741d13a8948cbad4e0d969a768fd30 Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=898e02d740741d13a8948cbad4e0d969a768fd30 commit 898e02d740741d13a8948cbad4e0d969a768fd30 Author: John F. Carr AuthorDate: 2023-10-19 03:02:42 +0000 Commit: Warner Losh CommitDate: 2024-02-19 04:07:04 +0000 smartpqi: Drop spinlock before freeing memory pqisrc_free_device frees the device softc with the os spinlock held. This causes crashes when devices are removed because the memory free might sleep (which is prohibited with spin locks held). Drop the spinlock before releasing the memory. MFC After: 2 days PR: 273289 Reviewed by: imp This is the alternate fix from the box. (this is not a cherry pick of b064a4c9eed5b1dd2a40fc4fd2cb7e738b681547) --- sys/dev/smartpqi/smartpqi_discovery.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/dev/smartpqi/smartpqi_discovery.c b/sys/dev/smartpqi/smartpqi_discovery.c index 48243d8fc882..08722a35b707 100644 --- a/sys/dev/smartpqi/smartpqi_discovery.c +++ b/sys/dev/smartpqi/smartpqi_discovery.c @@ -1460,10 +1460,9 @@ pqisrc_free_device(pqisrc_softstate_t * softs,pqi_scsi_dev_t *device) softs->device_list[device->target][device->lun] = NULL; - pqisrc_device_mem_free(softs, device); - OS_RELEASE_SPINLOCK(&softs->devlist_lock); + pqisrc_device_mem_free(softs, device); } /* Update the newly added devices to the device list */ From nobody Mon Feb 19 04:50:03 2024 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 4TdVT81qWTz59392; Mon, 19 Feb 2024 04:50: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 4TdVT81PBsz51Xl; Mon, 19 Feb 2024 04:50:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Drq4MoSuWuVGK9mzaVllbASm5nfNbTVa1Qr9E9T1f+0=; b=jDzKDi9bW7HChfdIADoXhil7wrsTYSWyNfwA1U9jD24Nhc/vf23PzLK8EYVAyr3LmD+dP/ BoDT8VF9gjlMWyt5Eky6aBbQBsu4FJH5PQvjv2ZW0DoFJqSLP36tQ9MWuk4qtvn5LRPASt xXaKjA7JYIBN2AlcfcVQP/qG+isX33yIJmTe8HVnnDZtrer3NXHMQG/pmW2rINS0J2Lly5 4Be/uGGO0osEnjvXgIPHRp2IsFEkt10N1P9KSy5AXVmNgrXercOAqG4qW09LE80AYkX4Qa 5/Y9l/tt96TngE6mmF3zl2P5bm5gFWU90/dG7efdsV/pA96Y+b2Y3Rq2nbLToQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Drq4MoSuWuVGK9mzaVllbASm5nfNbTVa1Qr9E9T1f+0=; b=mCzw0fBcDGetAttEpQwSJ7/oyLlGT4oSQI4YORhRlIf7pIEozOl5yCCLZcborx9T3KsAl5 mwUkwgXueOwlBKnb/hiWpI+EbBRd5ouwESrcWAZMPYdkzmbOfhSiQntNQiF0r/EJ22AWRq NbtozCT3KVPawhxpZsDXxInLE58sfq6gI4NmvfmQIny+4f2ZlD2v8oTCBaTtH+XaLh4aeV ULz7o22fURBmgmIK4cOEEP6eQW4suTy3v2MicgbB2hLTxU4nR06Z/Ms/FGSQDNAEEYIsjA hf5xr844j2Y4qP1WICRrVdNbb8/qDlpNWrqvxZfHOzCu9EI/qHlCUN9NvbNeyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708318204; a=rsa-sha256; cv=none; b=ydvNCnMWNtLPn3HuvQBJ82OFyCxNGoDdQ8hwSG1O4tSjgyU9C1elzOjka64Lz6yQ1JZOod fuEYRaCv0jwaWNhShzWecS9/4yTNDtWDJt9UfrSiRFNRJHeCDxeG4ct/VMorgv329+3/yO FIl2aKyzflt8N/B1BMEAdpfgBU5mc16TGrheO/maMAf0/kpQ29MRqaj6Xjk6FopHbjifcp KwR/J3xOISektSjO43ByeYKS9gYms7XM8MUxKSyeLgwZD5Sp/fJjN95GZME5mbUzLebLiL 0FLsEUv8YqSrGgpmcnLoVCC2eVMe7OGDG39A28D267BaCFIxR9U1kHW0hyltow== 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 4TdVT809hrzKnM; Mon, 19 Feb 2024 04:50: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 41J4o3vt079710; Mon, 19 Feb 2024 04:50:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J4o36B079706; Mon, 19 Feb 2024 04:50:03 GMT (envelope-from git) Date: Mon, 19 Feb 2024 04:50:03 GMT Message-Id: <202402190450.41J4o36B079706@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 778eb6e1f666 - stable/13 - vtnet: Adjust for ethernet alignment. 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 778eb6e1f6668864a6eddd2f6f9bcc2aa26344f3 Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=778eb6e1f6668864a6eddd2f6f9bcc2aa26344f3 commit 778eb6e1f6668864a6eddd2f6f9bcc2aa26344f3 Author: Warner Losh AuthorDate: 2024-01-29 05:08:55 +0000 Commit: Warner Losh CommitDate: 2024-02-19 04:46:43 +0000 vtnet: Adjust for ethernet alignment. If the header that we add to the packet's size is 0 % 4 and we're strictly aligning, then we need to adjust where we store the header so the packet that follows will have it's struct ip header properly aligned. We do this on allocation (and when we check the length of the mbufs in the lro_nomrg case). We can't just adjust the clustersz in the softc, because it's also used to allocate the mbufs and it needs to be the proper size for that. Since we otherwise use the size of the mbuf (or sometimes the smaller size of the received packet) to compute how much we can buffer, this ensures no overflows. The 2 byte adjustment also does not affect how many packets we can receive in the lro_nomrg case. PR: 271288 Sponsored by: Netflix Reviewed by: bryanv Differential Revision: https://reviews.freebsd.org/D43224 (cherry picked from commit 3be59adbb5a2ae7600d46432d3bc82286e507e95) --- sys/dev/virtio/network/if_vtnet.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 9737e964a591..3945826f91a0 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -1545,6 +1545,15 @@ vtnet_rx_alloc_buf(struct vtnet_softc *sc, int nbufs, struct mbuf **m_tailp) } m->m_len = size; +#ifndef __NO_STRICT_ALIGNMENT + /* + * Need to offset the mbuf if the header we're going to add + * will misalign. + */ + if (sc->vtnet_hdr_size % 4 == 0) { + m_adj(m, ETHER_ALIGN); + } +#endif if (m_head != NULL) { m_tail->m_next = m; m_tail = m; @@ -1571,6 +1580,14 @@ vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *rxq, struct mbuf *m0, sc = rxq->vtnrx_sc; clustersz = sc->vtnet_rx_clustersz; +#ifndef __NO_STRICT_ALIGNMENT + /* + * Need to offset the mbuf if the header we're going to add will + * misalign, account for that here. + */ + if (sc->vtnet_hdr_size % 4 == 0) + clustersz -= ETHER_ALIGN; +#endif m_prev = NULL; m_tail = NULL; @@ -1694,6 +1711,10 @@ vtnet_rxq_enqueue_buf(struct vtnet_rxq *rxq, struct mbuf *m) header_inlined = vtnet_modern(sc) || (sc->vtnet_flags & VTNET_FLAG_MRG_RXBUFS) != 0; /* TODO: ANY_LAYOUT */ + /* + * Note: The mbuf has been already adjusted when we allocate it if we + * have to do strict alignment. + */ if (header_inlined) error = sglist_append_mbuf(sg, m); else { From nobody Mon Feb 19 04:50:05 2024 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 4TdVT93b4zz592ty; Mon, 19 Feb 2024 04:50: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 4TdVT91xZFz51b7; Mon, 19 Feb 2024 04:50:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RpDdJz2oJOvq6rS2WX+1zKveE/GgKpRSsF06O4aS2YY=; b=MAnlHc3POaM6+zVsXdgRhzpDTE7TJ/HzIWSxi8nbv40S11O7JtU0qLtMkftX37fhGZjWyV YrpTOz6n44uAHIDTLCQOlTr+pRmvDD/1Duyoa6mFAJx/fD73M0o3Ld/c5QZbCo6vo474LL Kbza/GHHFkcCB4CXlbK2s7OIBLv4EHLF8+8G8MagE2ipB0exEtMdcU7iHshHaXN+0+Z7ub l53cmRwKLM75XmjdGOl2GDjpTIsT9VazgEZYhJ6CUXvp/X0JFpSRQqjMOv8Bw9xq3gAbR9 xIBk+6wgGzNSzn8ivb52zvSSn+Ibl4tX3S43Fqr4J2dxwUJF88Q+jqMj5d2QQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RpDdJz2oJOvq6rS2WX+1zKveE/GgKpRSsF06O4aS2YY=; b=K33y5aPtCZtDknInAVlEK4skxJzbBDxOFF0R0UX0DsOzdJ1gdT1ChkXytz89s+J+RXp3TL vJi0CTClGk1BFBc00PzbK8UizC2AZk4eOut8qqMl2y5OuAelPayhmuoo9OZ7C4Y/sjPFlx c+t/qYT1FlWxSqSQ5UmTVMsuFvD6EQk0XJIf+wqeU/eLU6iIHPy8ZnkzcClHn6g6gm+o+H L/sEbqSK9/czM8B1LEBu8Wt1llGJOGYJl0M4y1aqKZRsnuBlTazSDP4ZFoClnyOdMso/H0 MxYnovhRzQfK/vEzezGYrIkqMhuDFG6B63AXH1YFxI+Qb+iC/plgFW7PaY3gDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708318205; a=rsa-sha256; cv=none; b=LRYiw9pctSotaeliJwDMSTBHDuk0XqdZ6HOgDaulZ7EoTxlsfjF5tpJeKv9CTVz9P+oUgb UTenXXdcM59GOpu8wEjYod+uG+VzmQBcLc3EmldiLuhKiXJPNPau/8hu5B+YWUZQalpIRQ eIsiNeiMCFgl/siZv5azMWa0T3nvi2s/Kfg/dgUqms/u5KnKPuNtiO97Oo1F0jMz2cAPcK B/8/XCWGHJuI5kdQOUb6sQW4z7YJ91sID73/EHPtbekhr6Ygxnqml5sahMceeRTv8nBBEi ZlO6+GIbVhfnZR4P6g2FBiwTX80D4Tj5u1mScgMFWjtWdiAIitiU3MtI0qNCvQ== 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 4TdVT90mbCzL8Y; Mon, 19 Feb 2024 04:50: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 41J4o5QW080006; Mon, 19 Feb 2024 04:50:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J4o5YJ080002; Mon, 19 Feb 2024 04:50:05 GMT (envelope-from git) Date: Mon, 19 Feb 2024 04:50:05 GMT Message-Id: <202402190450.41J4o5YJ080002@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 1dc264a126b1 - stable/13 - vtnet: Account for the padding when selecting allocation size 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 1dc264a126b13e0e20b13bbcd69451c5d4b63f7c Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1dc264a126b13e0e20b13bbcd69451c5d4b63f7c commit 1dc264a126b13e0e20b13bbcd69451c5d4b63f7c Author: Warner Losh AuthorDate: 2024-02-05 05:43:39 +0000 Commit: Warner Losh CommitDate: 2024-02-19 04:46:43 +0000 vtnet: Account for the padding when selecting allocation size While we account for the padding in the length of the mbuf we use, we do not account for it when we 'guess' the size of the mbuf to allocate based in the MTU of the device. This leads to a situation where we might fail if the mtu is close to a bucket size (say 2018) such that the added padding would push us over the edge for a full-sized packet. mtu of 2018 is super rare (2016 and 2020 would both work), but fix it none-the-less. It's a shame we can't just set VTNET_RX_HEADER_PAD to 2 in this case. The 4 seems hard-coded somewhere I've not found documented (I think it's in the protocol given the comments about VIRTIO_F_ANY_LAYOUT). Sponsored by: Netflix Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D43656 (cherry picked from commit d9e0e42627613b56abf0f8fa1ad601e5690d775c) --- sys/dev/virtio/network/if_vtnet.c | 9 +++++++++ sys/dev/virtio/network/if_vtnetvar.h | 8 +++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 3945826f91a0..ae35d658e1bb 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -1237,6 +1237,15 @@ vtnet_rx_cluster_size(struct vtnet_softc *sc, int mtu) } else framesz = sizeof(struct vtnet_rx_header); framesz += sizeof(struct ether_vlan_header) + mtu; +#ifndef __NO_STRICT_ALIGNMENT + /* + * Account for the offsetting we'll do elsewhere so we allocate the + * right size for the mtu. + */ + if (sc->vtnet_hdr_size % 4 == 0) { + framesz += ETHER_ALIGN; + } +#endif if (framesz <= MCLBYTES) return (MCLBYTES); diff --git a/sys/dev/virtio/network/if_vtnetvar.h b/sys/dev/virtio/network/if_vtnetvar.h index 318066421072..e4c1934dfc81 100644 --- a/sys/dev/virtio/network/if_vtnetvar.h +++ b/sys/dev/virtio/network/if_vtnetvar.h @@ -232,7 +232,13 @@ vtnet_software_lro(struct vtnet_softc *sc) */ #define VTNET_VLAN_FILTER_NWORDS (4096 / 32) -/* We depend on these being the same size (and same layout). */ +/* + * We depend on all of the hdr structures being even, and matching the standard + * length. As well, we depend on two being identally sized (with the same + * layout). + */ +CTASSERT(sizeof(struct virtio_net_hdr_v1) == 12); +CTASSERT(sizeof(struct virtio_net_hdr) == 10); CTASSERT(sizeof(struct virtio_net_hdr_mrg_rxbuf) == sizeof(struct virtio_net_hdr_v1)); From nobody Mon Feb 19 04:50:06 2024 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 4TdVTB3NPSz59394; Mon, 19 Feb 2024 04:50: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 4TdVTB2Ggkz51bH; Mon, 19 Feb 2024 04:50:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZGu8vupY8cSUrT6/S6ZfuRJwMhf2C0+Xr9ZXSe4adpY=; b=qe3A2Tk9rnwNoUpG2MQS4W64b7TyRuYx4mhjEtzndonAQ77kwLRdkNFoxqVkEg1DC6Hb12 UwJc34c81HiUQwKqXAbf1Ic1rI6gNcRFSn0nDHfoLvYimmJ14/kAvH/OX2FIK+NB2mTpBI F+vksgXRBc10FpsGsdviReUxkVoKqPWgju1zYwtX3WgEFNEhghI06a3d2NtXwLUH585F5O 2THkxiNkn8aQVx3wVtTeFZxGxG2BJ7m81M4yFN45XL1+u1f1LAJzlPjOVbaFe8xZ9Lgz8p aeb7cZ+XozsWtr3W+8/n2ofS7HE48IrcbMSTmjUdxoru6x4ggmrvSodMgJ6y4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708318206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZGu8vupY8cSUrT6/S6ZfuRJwMhf2C0+Xr9ZXSe4adpY=; b=kqiyV9UMrVHZiXKyp28VUEZEWiLVdGGJnivIHvRyVxScFNHNcFRcr/2Ao++yQfqR0LIrwp l1PrLVlb6+HZ06Qqi+khKo9jenua+qex+VxcNHbCFiuUEdFAPWvMyCbQG3ehnhIDpE3MPs cRfT0NYaA/X5o1h/+btyczW32pIi7OZKDfe4b8Vxm0OHT+IJXSu6Flm0prvB5GMJJexqaw /gaOJeNZbbZmPytkIu8+v+X9DxOS9/5aroMlRISZ6k+q/06YVNk2HkxgLANTuWlkB8soMb cZzYoLWNzmu/rvDkO38rkdVpJuxPgNSU1Zqvbke4z/WHHIJUmE9PgwvBR+QynQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708318206; a=rsa-sha256; cv=none; b=BaX3L7NwYOMkOoYCjKx9H1+cyUOrIneFVUm5otOlWspjhSlO0QU2bXGTa45sI/4Hg+BcM9 B/tcW0XTKqATz520dnRKKDj311P9s9cp7lH69Uxz/vfnc7KefFt1ibV4Z+Y+vwLqhbeoyK W4Ro/A9YB3S5GFkvdyZcxRtBnAsI7prvVT/m/4AgXGBJA1X7U98Nf28LHhF+ystWhszUx7 wsHTpKT+kStTHr7TYXeqz4cN+UueiMQQ0/6/btSNSKi+SO6v7uh765jbIey344hJ5nembJ WA5Re/dmgh0mnn1AHKAxjvBuqZyWKbJBoBGGcyWZNbDcTjmfFoyCvUZ9D1lwPA== 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 4TdVTB1MF7zLNk; Mon, 19 Feb 2024 04:50: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 41J4o6og080288; Mon, 19 Feb 2024 04:50:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J4o6jD080283; Mon, 19 Feb 2024 04:50:06 GMT (envelope-from git) Date: Mon, 19 Feb 2024 04:50:06 GMT Message-Id: <202402190450.41J4o6jD080283@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 9ae56ea964c8 - stable/13 - vtnet: Avoid ifdefs based on __NO_STRICT_ALIGNMENT 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 9ae56ea964c89284a998a501e6cf1b57d000d968 Auto-Submitted: auto-generated The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9ae56ea964c89284a998a501e6cf1b57d000d968 commit 9ae56ea964c89284a998a501e6cf1b57d000d968 Author: Warner Losh AuthorDate: 2024-02-05 05:43:49 +0000 Commit: Warner Losh CommitDate: 2024-02-19 04:46:43 +0000 vtnet: Avoid ifdefs based on __NO_STRICT_ALIGNMENT Some platforms require an adjustment of the ethernet hearders. Rather than make this be on __NO_STRICT_ALIGNMENT being defined, define VTNET_ETHER_ALIGN to be either 0 or ETHER_ALIGN (aka 2). Add a test to the if statements to only do them when != 0. This eliminates the #ifdef sprinkled in the code, still communicates the intent and gives the same compiled results. Sponsored by: Netflix Reviewed by: bz, bryanv Differential Revision: https://reviews.freebsd.org/D43654 (cherry picked from commit 0ea4b4084845bfeedc8c692e4d34252023b78cb3) --- sys/dev/virtio/network/if_vtnet.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index ae35d658e1bb..bd3816457cc2 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -89,6 +89,12 @@ #include #endif +#ifdef __NO_STRICT_ALIGNMENT +#define VTNET_ETHER_ALIGN 0 +#else /* Strict alignment */ +#define VTNET_ETHER_ALIGN ETHER_ALIGN +#endif + static int vtnet_modevent(module_t, int, void *); static int vtnet_probe(device_t); @@ -1237,15 +1243,13 @@ vtnet_rx_cluster_size(struct vtnet_softc *sc, int mtu) } else framesz = sizeof(struct vtnet_rx_header); framesz += sizeof(struct ether_vlan_header) + mtu; -#ifndef __NO_STRICT_ALIGNMENT /* * Account for the offsetting we'll do elsewhere so we allocate the * right size for the mtu. */ - if (sc->vtnet_hdr_size % 4 == 0) { - framesz += ETHER_ALIGN; + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) { + framesz += VTNET_ETHER_ALIGN; } -#endif if (framesz <= MCLBYTES) return (MCLBYTES); @@ -1554,15 +1558,13 @@ vtnet_rx_alloc_buf(struct vtnet_softc *sc, int nbufs, struct mbuf **m_tailp) } m->m_len = size; -#ifndef __NO_STRICT_ALIGNMENT /* * Need to offset the mbuf if the header we're going to add * will misalign. */ - if (sc->vtnet_hdr_size % 4 == 0) { - m_adj(m, ETHER_ALIGN); + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) { + m_adj(m, VTNET_ETHER_ALIGN); } -#endif if (m_head != NULL) { m_tail->m_next = m; m_tail = m; @@ -1589,14 +1591,12 @@ vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *rxq, struct mbuf *m0, sc = rxq->vtnrx_sc; clustersz = sc->vtnet_rx_clustersz; -#ifndef __NO_STRICT_ALIGNMENT /* * Need to offset the mbuf if the header we're going to add will * misalign, account for that here. */ - if (sc->vtnet_hdr_size % 4 == 0) - clustersz -= ETHER_ALIGN; -#endif + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) + clustersz -= VTNET_ETHER_ALIGN; m_prev = NULL; m_tail = NULL; From nobody Mon Feb 19 05:19:11 2024 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 4TdW6m08YLz59c8R; Mon, 19 Feb 2024 05:19: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 4TdW6l6Zttz54sS; Mon, 19 Feb 2024 05:19:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708319951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gi0j2JXI2hDIbk388Ng63oHeTMRCnLYq1sxB0ojCMlo=; b=dKb+jR+YtBoDifSNoZPokU+j4AXl78ezYDHCEFMAmq35mf4myXhbdNNLQfDLRdouV6nP8i hGUutcpu531nSup1xGQSk08MffmLdBbtFHNOBqv84xni4uK6Mp7NteHSze6/m2kxR7h1zP Js31HwG+tasKkei0zTp9+SCg4I8kEfDmXhKj7ErKu5EoHD5UGQDMCtf8sdu/laz8AIvsmu 4Nl+4XCdpSwRxNhUz3gTHKzgE5qGDR5GSj0ljp6jjxoKv5MQz3NkT6FEBaLU63rmNJoWj2 ceiEM9kwhWj5+wFGIFmGDxv7PvBMX5c2/W1bSnM2UqpNokt/H5hJ5fP8JAgOGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708319951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gi0j2JXI2hDIbk388Ng63oHeTMRCnLYq1sxB0ojCMlo=; b=upaGnJHOu8aL742/J3oup3JODe76EhaEmofITFZDwFoj+xfHOy2TzglIFtChKSmcKeWKwK o7GfZGYH1JYa8q5ViGNt88ovIaqP+jw6fN3JNPO+mFJB5bZ+B1YN4H2P5MitRkq+57puyt LC8TIjF/Ub0ji58BOFji/ez5fhCHtEy0oIkqEfyVGNGh6QVWUGdpISfoKmgf1bxi9y2mcw Vgu/yvTx/rUBIa19PVfoYljN0v5kvFRhS7g1iGFwXshBlxDFvvsU3/QittWsIsNDXf+84v T/whYwOfXm7sNFamGdYIthHBCgRyDvO7DqQ8ffHxaIVHHR0hIjOfxWbjdAbynA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708319951; a=rsa-sha256; cv=none; b=guhLEAd3RDzpxRrG5b8enaPcU8JC9K78OO+399IDcs7ngRXBmT+GIdwnysFQgOhReKbJD3 J2eCG9NvcB8Tr2blEhM+dzDYiOXqx/27kzuo4rv8gcbStQxFNwz0mxbbe1HWCP524FHRR7 CovkiwCZjbaewK8WbYT75QLhwr9t1Hf0bluJ4/80wZeNBSom4+lWz1a2ZWfT5FK3Yznpig qX7Sa1BP7XzhWjq8QrEiScrzkUQmlphaWeUbGVkyFw/xQia2+rrVmlMLGU+TRlmhdp3nIr nRPaMWj/BspugqZ3+HLaMtNVvoVotNQEQK8mtsTb8im7r94kdXOnVXGJ4raShw== 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 4TdW6l5b1VzM9w; Mon, 19 Feb 2024 05:19: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 41J5JBja028920; Mon, 19 Feb 2024 05:19:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J5JBrO028917; Mon, 19 Feb 2024 05:19:11 GMT (envelope-from git) Date: Mon, 19 Feb 2024 05:19:11 GMT Message-Id: <202402190519.41J5JBrO028917@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: a6cef617660a - main - ada: Another NCQ Trim instability drive 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: a6cef617660a424fcaa8343787f96d0ae720a284 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a6cef617660a424fcaa8343787f96d0ae720a284 commit a6cef617660a424fcaa8343787f96d0ae720a284 Author: Warner Losh AuthorDate: 2024-02-19 05:10:55 +0000 Commit: Warner Losh CommitDate: 2024-02-19 05:18:38 +0000 ada: Another NCQ Trim instability drive The Seagate IronWolf 110 SATA SSD drive has been reported to be unstable with NCQ trim enabled. PR: 264139 Sponsored by: Netflix --- sys/cam/ata/ata_da.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c index ba02f33082b0..f5d3aeca9329 100644 --- a/sys/cam/ata/ata_da.c +++ b/sys/cam/ata/ata_da.c @@ -813,6 +813,11 @@ static struct ada_quirk_entry ada_quirk_table[] = { T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WDS?????G0*", "*" }, /*quirks*/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN }, + { + /* Seagate IronWolf 110 SATA SSD NCQ Trim is unstable */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ZA*NM*", "*" }, + /*quirks*/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN + }, { /* Default */ { From nobody Mon Feb 19 07:00:26 2024 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 4TdYMZ3gqqz59qR3; Mon, 19 Feb 2024 07:00: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 4TdYMZ2sjhz43Pv; Mon, 19 Feb 2024 07:00:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708326026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ws6iuvVlZAChpusuXfhIfTkJ4YQt4kHGOv06FG9CWeY=; b=kLrlhZAiWyKtNcqT13H9nyO4EID3s0jtSBnQ6NjVIte6h8DTbIYy5MioaCVhx1dEuoiw/B 5rUM9Makfun5TMDF8QJV4j/lDtasy+puhwT6GRF9a4P1rY8YJ+NfBxXaHenvBdrazxlnsP uj/uy5KuC/H5Ud2JTYLsDUtvAlKaaRmumxET1k2fRJHyYYexgmhR/wPSv39HyKVq0Ukf9b B1uPyqI//6uwbcqzcwczwWyhp6IDoH47SXqQ3iM+p3ZxoF7wFJnou87HpPzkTArU1nxx0v vCIrAh1rgNXGSdPRX4wjzLNTvbh2CqJ3p+N8/ndMIvvXi336YA1NxVMi9LNaUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708326026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ws6iuvVlZAChpusuXfhIfTkJ4YQt4kHGOv06FG9CWeY=; b=FdHmE269khtOVGlC//V4Ffuo20+hiEJFy5Bc+KH3u9lpAf9HrI81Wxrl9rAkA8+CsrH+b2 ofbeAKqpznXG+wntdo5tErRnuvb2E/wv5CV/n1rZtI1YeelFy3iEtRiZAF3I7yXt21oxEe UxYF/xFIzglUTA88JByHU7VJ9lVBQJ4V+TiR5QYlosQ1c2EF08p2TsUK5BaX4sLGX+GGG6 qIaOCZkebZ6V8itwpznao+Wqm3jOhR/1gDq+evot7o9vGacpJmVVQZnZeoJkujI61iztnv Af+OCHAaDdWSgqwOSrb2bB5dChn86moGVE9u1eWIjLYGBFdoiO+GQGnajEEQKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708326026; a=rsa-sha256; cv=none; b=U+J6PzvFxePnXCmkRCaAmjOOhl48jcwGcsRs8o1V/MK9uB9lIQAoHhPOz6zddHk7vyCAut EANy2InW9cVikzjsTTHlUpA0cQeJq/4CtBkT/9sLoEq+FmQwDZZf2c44VIk82n6g28FvgX jS7y8VUEpiPIHLe21IhiZNOK+sSfdmDyGV5zB21ut3BLaEh0AZLu96TnCe5xxHYGRRSTiA D8CMjg42JhQhrviH6WiP+2MACrnlZZN6QYa+Qa9ZQKETOffM9MXMDuQN7Jj1SAcR3qsIdY lvDS8XgQDwldCGqY2uMa8j3amotXd4oKGrwlMEMP85+qTemYWV7rNS5lWTYs+Q== 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 4TdYMZ1wSmzPQl; Mon, 19 Feb 2024 07:00: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 41J70Q0t006512; Mon, 19 Feb 2024 07:00:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J70QaH006509; Mon, 19 Feb 2024 07:00:26 GMT (envelope-from git) Date: Mon, 19 Feb 2024 07:00:26 GMT Message-Id: <202402190700.41J70QaH006509@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: da2e35b0ec99 - releng/13.3 - smartpqi: Drop spinlock before freeing memory 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: da2e35b0ec99e979963923ed6392b3e883f40eb2 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=da2e35b0ec99e979963923ed6392b3e883f40eb2 commit da2e35b0ec99e979963923ed6392b3e883f40eb2 Author: John F. Carr AuthorDate: 2023-10-19 03:02:42 +0000 Commit: Warner Losh CommitDate: 2024-02-19 06:59:36 +0000 smartpqi: Drop spinlock before freeing memory pqisrc_free_device frees the device softc with the os spinlock held. This causes crashes when devices are removed because the memory free might sleep (which is prohibited with spin locks held). Drop the spinlock before releasing the memory. MFC After: 2 days PR: 273289 Reviewed by: imp This is the alternate fix from the box. (this is not a cherry pick of b064a4c9eed5b1dd2a40fc4fd2cb7e738b681547) (cherry picked from commit 898e02d740741d13a8948cbad4e0d969a768fd30) Approved-by: re (cperciva) --- sys/dev/smartpqi/smartpqi_discovery.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/dev/smartpqi/smartpqi_discovery.c b/sys/dev/smartpqi/smartpqi_discovery.c index 48243d8fc882..08722a35b707 100644 --- a/sys/dev/smartpqi/smartpqi_discovery.c +++ b/sys/dev/smartpqi/smartpqi_discovery.c @@ -1460,10 +1460,9 @@ pqisrc_free_device(pqisrc_softstate_t * softs,pqi_scsi_dev_t *device) softs->device_list[device->target][device->lun] = NULL; - pqisrc_device_mem_free(softs, device); - OS_RELEASE_SPINLOCK(&softs->devlist_lock); + pqisrc_device_mem_free(softs, device); } /* Update the newly added devices to the device list */ From nobody Mon Feb 19 07:00:27 2024 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 4TdYMb43yvz59qR8; Mon, 19 Feb 2024 07:00: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 4TdYMb3TY9z43Pw; Mon, 19 Feb 2024 07:00:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708326027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=81eATZNTZn4tGaYz4Xb6754t/95rwCI2x/y7lwdhgpk=; b=Iwe7fTy7R8n/qugQ3BphH7PxWeeUne6sUjXIoBcyitbETW6m79Kol9IPpbE9AILYHaWDFG jCJR45fz8pQtMyebHb+sF8doQmmxh65URXVrmBZr6XBW4GUor7FrB+9bUWc+8YNVQk96LQ Jql/5aGLrxgqYrtVVrbxGTZ7VRugtvtemZvZX+ogFc6GZ+VfsDUQwd3ScOMCqZKWncdY7V xlTQuljWuhCxpC6ebnNg3r0HqvHkwMOSoF1GzHa3n4InUespKt6ZS+2lXbcStmWHQt8nSy AjALjTNr4WkLbALqIMjlKEUsAbBSBaONgyEMk5RybHYi8Foidc3KYK9TkLsZsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708326027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=81eATZNTZn4tGaYz4Xb6754t/95rwCI2x/y7lwdhgpk=; b=FLH5ad+l+eneMbvGYyBrA9Jzs0JAP3mzqZWTHjKnR1gWHRgTw3+Ond2EDow63e/TQJSdqC Mh9h7O1hHSO3IrrRzGvj+L7YEA1tqHhULj7fiGWB6nZKRPMaLku6FdoPp/L3uK9VPLVryb kMuxqvdxdonPkgwg4PD9yqiYW79BiauOi47WrJp9THAduI/xpEy5j36Dewd6wUlpOqCtRv px/1OPLP94JdYtIBG3/M6PTNlz5TT8TnwSR+iUfNupshvwd27KNr3P3ueVHvkuHPlZ3iyR 53B2Jnqy0oJQzqdGVsri0VOk7MLeyvJYac8tLdrg0xkmw6i4XyUltGaNP7OGCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708326027; a=rsa-sha256; cv=none; b=fZIxOOGk+Vxwm7wo8Dz11PlL9WcOGeLF6zJnF7+5aYqrBMh87zs73vtyd4hIJTpwu4dfE4 Eia/OBozta/8req/9kmtZ4yrJgzvUSW2rCbUhahSXppl3vS2l6HnFIbkxHEubsq4xvpAYF +8VLSZIIbJvE52Aa997U1bOY1WaWhhoc2wPsu0LywDDQ4x9IpdpymNiSmEna/7QhNmVKWN UpyDkzpPn0G8k03M47Tf1MFX9WGFKSD9CoMX/XqqfRnZjRy+BDomcdo/4KXRVGisEtFIxS smbNwZM4vsO5u/Oie0dwzy6CiPeTrEoIqy9qbZ8iwlgqWCp2E03TQCHTitKPpw== 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 4TdYMb2YdpzPQm; Mon, 19 Feb 2024 07:00: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 41J70Reo006554; Mon, 19 Feb 2024 07:00:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J70R7o006551; Mon, 19 Feb 2024 07:00:27 GMT (envelope-from git) Date: Mon, 19 Feb 2024 07:00:27 GMT Message-Id: <202402190700.41J70R7o006551@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: fbbfcab6b850 - releng/13.3 - vtnet: Adjust for ethernet alignment. 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: fbbfcab6b850fd0125633cc87575b54f0929c1a8 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fbbfcab6b850fd0125633cc87575b54f0929c1a8 commit fbbfcab6b850fd0125633cc87575b54f0929c1a8 Author: Warner Losh AuthorDate: 2024-01-29 05:08:55 +0000 Commit: Warner Losh CommitDate: 2024-02-19 06:59:40 +0000 vtnet: Adjust for ethernet alignment. If the header that we add to the packet's size is 0 % 4 and we're strictly aligning, then we need to adjust where we store the header so the packet that follows will have it's struct ip header properly aligned. We do this on allocation (and when we check the length of the mbufs in the lro_nomrg case). We can't just adjust the clustersz in the softc, because it's also used to allocate the mbufs and it needs to be the proper size for that. Since we otherwise use the size of the mbuf (or sometimes the smaller size of the received packet) to compute how much we can buffer, this ensures no overflows. The 2 byte adjustment also does not affect how many packets we can receive in the lro_nomrg case. PR: 271288 Sponsored by: Netflix Reviewed by: bryanv Differential Revision: https://reviews.freebsd.org/D43224 (cherry picked from commit 3be59adbb5a2ae7600d46432d3bc82286e507e95) (cherry picked from commit 778eb6e1f6668864a6eddd2f6f9bcc2aa26344f3) Approved-by: re (cperciva) --- sys/dev/virtio/network/if_vtnet.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 9737e964a591..3945826f91a0 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -1545,6 +1545,15 @@ vtnet_rx_alloc_buf(struct vtnet_softc *sc, int nbufs, struct mbuf **m_tailp) } m->m_len = size; +#ifndef __NO_STRICT_ALIGNMENT + /* + * Need to offset the mbuf if the header we're going to add + * will misalign. + */ + if (sc->vtnet_hdr_size % 4 == 0) { + m_adj(m, ETHER_ALIGN); + } +#endif if (m_head != NULL) { m_tail->m_next = m; m_tail = m; @@ -1571,6 +1580,14 @@ vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *rxq, struct mbuf *m0, sc = rxq->vtnrx_sc; clustersz = sc->vtnet_rx_clustersz; +#ifndef __NO_STRICT_ALIGNMENT + /* + * Need to offset the mbuf if the header we're going to add will + * misalign, account for that here. + */ + if (sc->vtnet_hdr_size % 4 == 0) + clustersz -= ETHER_ALIGN; +#endif m_prev = NULL; m_tail = NULL; @@ -1694,6 +1711,10 @@ vtnet_rxq_enqueue_buf(struct vtnet_rxq *rxq, struct mbuf *m) header_inlined = vtnet_modern(sc) || (sc->vtnet_flags & VTNET_FLAG_MRG_RXBUFS) != 0; /* TODO: ANY_LAYOUT */ + /* + * Note: The mbuf has been already adjusted when we allocate it if we + * have to do strict alignment. + */ if (header_inlined) error = sglist_append_mbuf(sg, m); else { From nobody Mon Feb 19 07:00:28 2024 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 4TdYMc6KKzz59qSV; Mon, 19 Feb 2024 07:00: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 4TdYMc4Xhxz43Q6; Mon, 19 Feb 2024 07:00:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708326028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cgZHsEYClGwcTcEHN8iZhbYynWSzpEy7aLKt+dOMNpU=; b=k5KjodTJu6pz8iJIz1FHC3LNMJ/jAuQzw9AQVI/2jqA9m/qZ8z8t0rzDZmh/nXsn0Ew87F ZSkl7+5/zNrqe5PSGbEQg9kvjZLoTttu6IIAU5za3GKpZ6MG49n1Lq1hKMRlgkwqy7v1s0 1wDBUe5ci31Id5DsAPm6RrTo01rhoZTo8x15vReK8PiD5OdVhtLt+rIw1QU+h2HH1U8VkB 5E4VBsPNsqikVTqwYqgxb6a/ix8a+xxqnCuyHtMaFyAXSk77i9DNlu83/iZf09FUJ09Kag NVZMHAZQlheZnUsG9G84fcmc+hx8oZL7v2QZTmmMphvLRI6AqY99TjpnCT+32g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708326028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cgZHsEYClGwcTcEHN8iZhbYynWSzpEy7aLKt+dOMNpU=; b=IzkmHcbeE2XmbyM+5mX/hraf+hFLUONj0O0Na6e5ZDRhB95slomaSnl7KE5iyNUv5b1bR0 V8M+W39yfhOq81YrsGGxbTfR9lJNIMN/fap1TlGb2nEj5rXcYYk4tFThws6mNz60GoQkvk mZGKMQub3sOikyZlUEWuuNZnxhBlqfh6caM8Yn2voOQH72nOraWsf9l4Hep+F7w5bJse+f 9Tvgr/XXRghiu7Ft5t7JwSIoPDxei6r6qildG67sjg0cwZmDGqtkQAIf2opJEzJKH3lyTG KOE39ckNjxLpK0gi1QwAneq3Ob/V9a9yDcWbYJ4mILdZDVmlJKpBMID87P2gjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708326028; a=rsa-sha256; cv=none; b=iDvPEcmJHpzTp6k/4k2rKndIx4mNle3CT/cdaLQlARWF5iaR9uXLiAHGybwM/A2qNmmwtx GJ2v+ZYzjbLnzscq1boqV3i5XMoQEHc5q1EkqMOOqJKRG86Hp5Khfi2KNqpm3rFxXaTMcW L+4ZLmB5/mYThvBBZL7Djxt89znfeU0f1uQewV7znyxaMsSDQ1NEoMNpSTTDy1Dz+1JbUY 4X/SSWPb7k4+QMVD+JuO2J59x1jU50jj50632L7IB3cWZBF8d9BCmyRUpf+LCQoXc4TXSM rD3DINzRUpJEwXeYSXm9a8ru4hElIWIkHaJmoqEzziEtaXkrlLxQvYLNHCboaw== 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 4TdYMc3bcVzPSN; Mon, 19 Feb 2024 07:00: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 41J70SB0006608; Mon, 19 Feb 2024 07:00:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J70S62006605; Mon, 19 Feb 2024 07:00:28 GMT (envelope-from git) Date: Mon, 19 Feb 2024 07:00:28 GMT Message-Id: <202402190700.41J70S62006605@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 67aff34d9ad0 - releng/13.3 - vtnet: Account for the padding when selecting allocation size 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 67aff34d9ad00761b2e2b1197c4bc1e856bb6959 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=67aff34d9ad00761b2e2b1197c4bc1e856bb6959 commit 67aff34d9ad00761b2e2b1197c4bc1e856bb6959 Author: Warner Losh AuthorDate: 2024-02-05 05:43:39 +0000 Commit: Warner Losh CommitDate: 2024-02-19 06:59:46 +0000 vtnet: Account for the padding when selecting allocation size While we account for the padding in the length of the mbuf we use, we do not account for it when we 'guess' the size of the mbuf to allocate based in the MTU of the device. This leads to a situation where we might fail if the mtu is close to a bucket size (say 2018) such that the added padding would push us over the edge for a full-sized packet. mtu of 2018 is super rare (2016 and 2020 would both work), but fix it none-the-less. It's a shame we can't just set VTNET_RX_HEADER_PAD to 2 in this case. The 4 seems hard-coded somewhere I've not found documented (I think it's in the protocol given the comments about VIRTIO_F_ANY_LAYOUT). Sponsored by: Netflix Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D43656 (cherry picked from commit d9e0e42627613b56abf0f8fa1ad601e5690d775c) (cherry picked from commit 1dc264a126b13e0e20b13bbcd69451c5d4b63f7c) Approved-by: re (cperciva) --- sys/dev/virtio/network/if_vtnet.c | 9 +++++++++ sys/dev/virtio/network/if_vtnetvar.h | 8 +++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 3945826f91a0..ae35d658e1bb 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -1237,6 +1237,15 @@ vtnet_rx_cluster_size(struct vtnet_softc *sc, int mtu) } else framesz = sizeof(struct vtnet_rx_header); framesz += sizeof(struct ether_vlan_header) + mtu; +#ifndef __NO_STRICT_ALIGNMENT + /* + * Account for the offsetting we'll do elsewhere so we allocate the + * right size for the mtu. + */ + if (sc->vtnet_hdr_size % 4 == 0) { + framesz += ETHER_ALIGN; + } +#endif if (framesz <= MCLBYTES) return (MCLBYTES); diff --git a/sys/dev/virtio/network/if_vtnetvar.h b/sys/dev/virtio/network/if_vtnetvar.h index 318066421072..e4c1934dfc81 100644 --- a/sys/dev/virtio/network/if_vtnetvar.h +++ b/sys/dev/virtio/network/if_vtnetvar.h @@ -232,7 +232,13 @@ vtnet_software_lro(struct vtnet_softc *sc) */ #define VTNET_VLAN_FILTER_NWORDS (4096 / 32) -/* We depend on these being the same size (and same layout). */ +/* + * We depend on all of the hdr structures being even, and matching the standard + * length. As well, we depend on two being identally sized (with the same + * layout). + */ +CTASSERT(sizeof(struct virtio_net_hdr_v1) == 12); +CTASSERT(sizeof(struct virtio_net_hdr) == 10); CTASSERT(sizeof(struct virtio_net_hdr_mrg_rxbuf) == sizeof(struct virtio_net_hdr_v1)); From nobody Mon Feb 19 07:00:29 2024 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 4TdYMf0g81z59qYf; Mon, 19 Feb 2024 07:00: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 4TdYMd5Y1Pz43JJ; Mon, 19 Feb 2024 07:00:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708326029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cP9JQTfMijvm+rgY3JB1WfB2TGeA6gzw8VMOAbUZqZs=; b=L38QCJ+uioHAzkbml6RV1S9H8qK75bGuXQEm+gfjWedFIGcrxB8aXZGtvYFiCHKNCqhA+0 1J7bG3eSpvcaestbfwlKxrZx3m+vJRsUk/dbWoDvVdV0xaeR+wtLpVIkhc8Qf+ZK4WMcAo L0D1HW5+q15PGah8HmepQayOLqztkSpYRA5fjtnwBnALYP9fx8kD1pVYMLbzRwQ1MA4hmT qnDjhMwcDRF7artVDr9rNXoj3TgGualkb2d+pnmpHNNiKH6SRmQp7ufDPLB1AlDD1rBt7K 0sDZNqnioCXv5kS8pLc3Aroo3J7zIAED0oF6O02sFp8aFJjio5U7l5ptDWAZTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708326029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cP9JQTfMijvm+rgY3JB1WfB2TGeA6gzw8VMOAbUZqZs=; b=DmJx67mDKHOmZ70UVqlV5LqQFFYPjTjNsOjujYWqSZwTFih6VAXqEPvni2BkWEd9jXr+Zp w4nXq4pEkEi9hvpoBzr5QAge27918aynAlKGAbYLI+xaXpOR1VdJimeRVWx/PfW501k8Su aFET57l5dk6ZSJ0SuEawAHx/Hl15e1gqGjB98M7vYuFT/3zRNiXsZloumWgXlrOFHLpnLU 2udt70hMzJzOLV8juYUK3jFdEFYOrDTmAZBoO9m/eweXXXPXSUO/3+BQdlyh3Ebn0lEFfR 2yUdl5AMSDA9ERBmo6dVUbTpYKCi31aPtcCVnjPwyqpdRpBHGccuB854z9YZTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708326029; a=rsa-sha256; cv=none; b=qzOWS/TWyaqrOMeqlPLgjmsfEZjldiqfJPt20dg6N/UPbaCdjlnE5GdRqgxQWnOcFMqg7Q n45ixJtspNBcsiCNdoo+07lG3FztjQ2gHGs9xobTCyTIeoxhsNpOJxaT4ReYA5XR6Tqjw/ 9vqKCb8XhcJke4DLRrlhOpfnRRIVzDmbquEI+ROmSWpKoxnYtYMkN9JU5qLUl3XVBDSo5H W9zEn7Yzt3sQuRe4M1f0OCqxWkhqrS17YmWQJefL9wN5GjXO3OvXS+agTyiqImBIZAFSf7 4Do5it+W2RGtjL3ZMwWtrgl7cM+cxs9hb6p+oLR90kYht5U6yn1geIfRapgq4w== 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 4TdYMd4bWVzPjb; Mon, 19 Feb 2024 07:00: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 41J70TW7006660; Mon, 19 Feb 2024 07:00:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J70TFJ006658; Mon, 19 Feb 2024 07:00:29 GMT (envelope-from git) Date: Mon, 19 Feb 2024 07:00:29 GMT Message-Id: <202402190700.41J70TFJ006658@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 7c51748a443f - releng/13.3 - vtnet: Avoid ifdefs based on __NO_STRICT_ALIGNMENT 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 7c51748a443fb1259f68ac2df134b294441b2add Auto-Submitted: auto-generated The branch releng/13.3 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7c51748a443fb1259f68ac2df134b294441b2add commit 7c51748a443fb1259f68ac2df134b294441b2add Author: Warner Losh AuthorDate: 2024-02-05 05:43:49 +0000 Commit: Warner Losh CommitDate: 2024-02-19 06:59:51 +0000 vtnet: Avoid ifdefs based on __NO_STRICT_ALIGNMENT Some platforms require an adjustment of the ethernet hearders. Rather than make this be on __NO_STRICT_ALIGNMENT being defined, define VTNET_ETHER_ALIGN to be either 0 or ETHER_ALIGN (aka 2). Add a test to the if statements to only do them when != 0. This eliminates the #ifdef sprinkled in the code, still communicates the intent and gives the same compiled results. Sponsored by: Netflix Reviewed by: bz, bryanv Differential Revision: https://reviews.freebsd.org/D43654 (cherry picked from commit 0ea4b4084845bfeedc8c692e4d34252023b78cb3) (cherry picked from commit 9ae56ea964c89284a998a501e6cf1b57d000d968) Approved-by: re (cperciva) --- sys/dev/virtio/network/if_vtnet.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index ae35d658e1bb..bd3816457cc2 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -89,6 +89,12 @@ #include #endif +#ifdef __NO_STRICT_ALIGNMENT +#define VTNET_ETHER_ALIGN 0 +#else /* Strict alignment */ +#define VTNET_ETHER_ALIGN ETHER_ALIGN +#endif + static int vtnet_modevent(module_t, int, void *); static int vtnet_probe(device_t); @@ -1237,15 +1243,13 @@ vtnet_rx_cluster_size(struct vtnet_softc *sc, int mtu) } else framesz = sizeof(struct vtnet_rx_header); framesz += sizeof(struct ether_vlan_header) + mtu; -#ifndef __NO_STRICT_ALIGNMENT /* * Account for the offsetting we'll do elsewhere so we allocate the * right size for the mtu. */ - if (sc->vtnet_hdr_size % 4 == 0) { - framesz += ETHER_ALIGN; + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) { + framesz += VTNET_ETHER_ALIGN; } -#endif if (framesz <= MCLBYTES) return (MCLBYTES); @@ -1554,15 +1558,13 @@ vtnet_rx_alloc_buf(struct vtnet_softc *sc, int nbufs, struct mbuf **m_tailp) } m->m_len = size; -#ifndef __NO_STRICT_ALIGNMENT /* * Need to offset the mbuf if the header we're going to add * will misalign. */ - if (sc->vtnet_hdr_size % 4 == 0) { - m_adj(m, ETHER_ALIGN); + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) { + m_adj(m, VTNET_ETHER_ALIGN); } -#endif if (m_head != NULL) { m_tail->m_next = m; m_tail = m; @@ -1589,14 +1591,12 @@ vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *rxq, struct mbuf *m0, sc = rxq->vtnrx_sc; clustersz = sc->vtnet_rx_clustersz; -#ifndef __NO_STRICT_ALIGNMENT /* * Need to offset the mbuf if the header we're going to add will * misalign, account for that here. */ - if (sc->vtnet_hdr_size % 4 == 0) - clustersz -= ETHER_ALIGN; -#endif + if (VTNET_ETHER_ALIGN != 0 && sc->vtnet_hdr_size % 4 == 0) + clustersz -= VTNET_ETHER_ALIGN; m_prev = NULL; m_tail = NULL; From nobody Mon Feb 19 07:52:47 2024 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 4TdZX00Jm8z5B0x1; Mon, 19 Feb 2024 07:52: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 4TdZWz6yJcz4GDc; Mon, 19 Feb 2024 07:52:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708329168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4NxnXhizWRY1FEoyHff1ZAWvdbigMjwEU8pPhTB7LNc=; b=D8ytJV7+7B+LxCJ+H4XqURQOFx+bjrrN9GHfU+MaUuvIU8pZ1ouYIP5sa4s/V9yH6xRnLr G3HeJyVTiQfc4ySt+0aCdNT9wgV67QWHS6OgzWOeghsmNFfsJ+K4FMu3FzlcPIwvKBXKhS B1qlShqEI2GnHZbH+0XzAq4awN1frKtA2/esN/p/plsdbtXeJ9Hm7gs/60SnEgjuofuqj0 QoUPdyOqsFOkzDnpwlVHjWOVhvQJT/pQk3Ha4FIO55wKxOhcm75WQuzKE0zBo5AuQ8/Qy/ kW1o56XQc7Q5+esekYEClPN8gKvzd2nnaD/y32UEo62Afw3DrbOHydVLD4Pq9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708329168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4NxnXhizWRY1FEoyHff1ZAWvdbigMjwEU8pPhTB7LNc=; b=REQynZNVM1e3x9ayUsZLdBaeilupbSHAnMUmk9TB9+uA0uFnA+vNXvNVBHG5OFS3+OdPf7 lZlGg41IP8eZ1ZEtfQdlOrniu89tIzA7Dg/dB3uZBIL9nimtrnjWRWLfz3SXWhYY7J1aiV O6HMt/3FHpehMOOu7X0Y6n2yU3oxfEg3mHAsN/Bun2T3awWqZYwdGVVdDUaualBuHc3IoG jlrAX+QCHfvynR6msdg+jzMQyxI5w0bHsR/4JXx7sGnNQ1mdGX+Xk/EC2c3LEcIFKtikL0 0ZaWZ9onm1w041OYNPyfTeLauQQEVl8bDqUBUpGAZdIcuFasIZWs6o4rNOgwxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708329168; a=rsa-sha256; cv=none; b=JdDAP5M2JqRrlBvEDebiAMRajLMzfa6/n1uI71biJ6y/VNqPfR4EGIZQ7Bvut2A5kM93D1 0sb2Vv0jkfObQgi8aPXM3ky2pP3Qi9cHgMV1GP/d+dG0MSJvs+Oqr409qR/sJI4wPcitnE xCOGI9X6VXYJ+zmwWlwrMcrFt8XFRRQcFfwNDAESxQ0PJaoG13hn0WOnsMdYKd2hd3AaBM hamfLnuy2955CoEJaBjybfXXTP0CqR7YKugp23hFEepTl97J1yOoME/y26PLE0SL9tAQjM GK47h4d1GpliAM+onRX53tlC+qQQhdTay+SMAWOTeNXjLu4t5zBZGDeBORgDDQ== 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 4TdZWz60s1zQj5; Mon, 19 Feb 2024 07:52: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 41J7qlSm096842; Mon, 19 Feb 2024 07:52:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J7qlxV096839; Mon, 19 Feb 2024 07:52:47 GMT (envelope-from git) Date: Mon, 19 Feb 2024 07:52:47 GMT Message-Id: <202402190752.41J7qlxV096839@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 03cc3489a02d - main - ndp(8): increase buffer size in rtsock 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: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 03cc3489a02da0eba3b2737210486723d1072b21 Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=03cc3489a02da0eba3b2737210486723d1072b21 commit 03cc3489a02da0eba3b2737210486723d1072b21 Author: Boris Lytochkin AuthorDate: 2024-02-19 07:44:52 +0000 Commit: Andrey V. Elsukov CommitDate: 2024-02-19 07:44:52 +0000 ndp(8): increase buffer size in rtsock mode On a router with many connected devices (~10k+) `ndp -an` can fail with ENOMEM because of some additional NDP records were added between sysctl() buffer size estimate and data fetch calls. Allocate more space based on size estimate: 1/64 (~2%) of additional space, but not less that 4 m_rtmsg structures. Obtained from: Yandex LLC MFC after: 2 weeks Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D43956 --- usr.sbin/ndp/ndp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index 9ade2469742e..9d9ae02dc1e2 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -652,6 +652,12 @@ again:; if (sysctl(mib, 6, NULL, &needed, NULL, 0) < 0) xo_err(1, "sysctl(PF_ROUTE estimate)"); if (needed > 0) { + /* + * Add ~2% additional space in case some records + * will appear between sysctl() calls. + * Round it up so it can fit 4 additional messages at least. + */ + needed += ((needed >> 6) | (sizeof(m_rtmsg) * 4)); if ((buf = malloc(needed)) == NULL) xo_err(1, "malloc"); if (sysctl(mib, 6, buf, &needed, NULL, 0) < 0) From nobody Mon Feb 19 08:07:36 2024 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 4TdZs469kNz5B2jw; Mon, 19 Feb 2024 08:07: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 4TdZs45dSkz4Jvd; Mon, 19 Feb 2024 08:07:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330056; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s3ifLoErAtBZf9C5WGnUCiUYuvpRwgkAMF1ScUcgCoE=; b=FChA3vFjSFMqrcH8MNa8JKZZBMsLSpL8dHRy2ayKAsUt7JUKFZrTLQzHUmv6zDmCw/dNLd GadW/MiUQO9LdwwmNc37d4FYuqzEm8Wt7rUsLxgspEmJaI/YMxR9/m7iNr5RDNJE6pDxFC wAwlYngYMLFguUTYPA/80DpvMVI/nkOPSdT4tur+n9m7tWVpeuFQ2NoM+4P6HOcqM2VAOa wSzoDPlF17h/tWvCcuCTvai5Wp/lBmUH42TmGmFLYHqZziX6GA9leOeEdrJ6lOXnao5x6t hmzHuWTQoKeftSEcE3Jk1OvL9cQ5Ul+V7XeIeJwaGCxyjrUN2tnmJEHAyxCvtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330056; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s3ifLoErAtBZf9C5WGnUCiUYuvpRwgkAMF1ScUcgCoE=; b=SUfqF6hBmFSxXbYTgIrS+I6llrhXyS0As7wkCwMtIpte4QcVyn+bPD00EFai5ZtbUQQbaE 1VJ2Qxe9CU8ftAIZAW940p4Tdc9zUccNKps6mdPIjSxNwYcDAyDAH8/1f4y8hC1/J6N55I O8tZf6TLtWLU/vOs5OGdq+5XXqiSbVzSPHTZ98KTwsPG5Z3MO4OT6r2K6Fyal3pwl0xSRH F+xrCglqbuIiMW0u2W2fXwEq7BBqEkbP+G9q0uPMvCNbPmzqk+sc8C0dkZwPB+aHkuOORB DfMr279s9uNyX8SaOMx7htS3zF58J1gahfSDrqDJr54tKGz211IUvbX54+PRSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330056; a=rsa-sha256; cv=none; b=ZkMpTfLSAkQUTg9+pCeGD4CYCayl39ZJYWZEEJfLlZn9qdQTQv8QMpTw8nNgf8sdcx30lO ms29jqEF9PObB8EERCFONAZsvulj6IVKSn33c1FWXBVlOiPWIdmgMjoJfaTSXrxfNITh+P CPI9NWN3o6SyUw412DwLSg2CPRtsqXfAw5Io319NWpm+5s1wSpdq4tcV7ApTw2ph7BYIvm eydUwOqk5/SBAM6BWxectJT0nIC9+iJ0Jn2YqcCJRJ3YcdFfzR9hf+G7zvK3VzTYop9L2f 604bUK1X14SCxSMIiArVH1trMBlZNkXnQQcFxeZ15gWjYWKR5shMCOV4LD4wJg== 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 4TdZs44hP1zRW0; Mon, 19 Feb 2024 08:07: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 41J87a4u015286; Mon, 19 Feb 2024 08:07:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87aHd015283; Mon, 19 Feb 2024 08:07:36 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:36 GMT Message-Id: <202402190807.41J87aHd015283@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 2477106d5d0f - stable/13 - LinuxKPI: sort dev_() functions 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2477106d5d0ff77d545b7d012df48287f9e3acd8 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2477106d5d0ff77d545b7d012df48287f9e3acd8 commit 2477106d5d0ff77d545b7d012df48287f9e3acd8 Author: Bjoern A. Zeeb AuthorDate: 2024-02-01 23:56:45 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:01:58 +0000 LinuxKPI: sort dev_() functions Sort the dev_ functions by loglevel order, add the dev_alert() version and an indentation change. No functional changes. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D43719 (cherry picked from commit 70617458676eb0b0076aa19657d21f2a9f3b704a) --- sys/compat/linuxkpi/common/include/linux/device.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/device.h b/sys/compat/linuxkpi/common/include/linux/device.h index ef8f72645c56..7742750339d9 100644 --- a/sys/compat/linuxkpi/common/include/linux/device.h +++ b/sys/compat/linuxkpi/common/include/linux/device.h @@ -185,15 +185,17 @@ show_class_attr_string(struct class *class, struct class_attribute_string class_attr_##_name = \ _CLASS_ATTR_STRING(_name, _mode, _str) -#define dev_err(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) -#define dev_crit(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) -#define dev_warn(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) -#define dev_info(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) -#define dev_notice(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) -#define dev_emerg(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) -#define dev_dbg(dev, fmt, ...) do { } while (0) #define dev_printk(lvl, dev, fmt, ...) \ - device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) + device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) + +#define dev_emerg(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) +#define dev_alert(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) +#define dev_crit(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) +#define dev_err(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) +#define dev_warn(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) +#define dev_notice(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) +#define dev_info(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) +#define dev_dbg(dev, fmt, ...) do { } while (0) #define dev_info_once(dev, ...) do { \ static bool __dev_info_once; \ From nobody Mon Feb 19 08:07:37 2024 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 4TdZs602Szz5B2rg; Mon, 19 Feb 2024 08:07: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 4TdZs56X4Pz4Jss; Mon, 19 Feb 2024 08:07:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2A5rK464FtPwsBhOkG0uXDzoCsC+2CTiKTMYasy9NN8=; b=X/qW1WF2oldT35hEHVwz5jJdNNVNlWXQ5oOsTRpXOApWWl3FkfmjPcgt6qIoUYOvaecVh8 APCWjHODj8lla9rRvqweSdJIonHxOgDqxhjHiYmxkKgSB0Ee28MtdbcvYtEHxFSFST8eVZ Bpx+UvLf/lXYha25DNqobeLr1lh1QUi1uZq4xqVC9VJeHc+tWS/YrybjpnK7ATU1WWvzMI FW7ih9th1AUaS9Rp4o9/doYsW9sOsIHHdC+cN21lDXVjxOMYUybLj+jlFbNyeW7gGiAE35 Dp9Kk3DiidruBtS7YHukFI34+tjoNPyquUbP2RtZLj1RCBxyxS5riIa+HlZM3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2A5rK464FtPwsBhOkG0uXDzoCsC+2CTiKTMYasy9NN8=; b=ZpNrDfI21mEeZFpgP6KUtwEp2QRv4ZBh2Dq7YQ1oGf/wUfBZj/Oo/brGK+h0Dfcf1PB5k4 1ViD+5FRTfQgFO1x9yeLApR8dfQ0o2gnXwLWEGayQoFwandMvpI7mrEaZYQW+jQOyt4Xtb UcUg1HjhPMalQliBYZ6YzK4IpkhBz/iL3KErlZGuNgBa9zOen5ovtaXroAqxhR+mkjZfTz Q6KdrIthryRFH1kCiZ89soPAlklU0Njq6a5Nu6WO7lN62c4F68AtbG1dpcPDTSgMm851Iw /CIyPOtZk4uLxU3kUmJk44tBV4jqoe8z0bh9K1IhTtM7h2v+qhgzEn1XNlAepg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330057; a=rsa-sha256; cv=none; b=bnhztRxIW3a3tioQMokEmZ3b9I7ayTH/sKE7zIwteDoyMwN1E67dbwoJ1l9ltgwOWotMiC FKGgBEm++RWBthhWjNv0t+siuhFFgDPevR22VFMXGQ9DhoNudmVR0zN3NOfEr7vmeIOHy/ PN3LQuDk4xwufMP7QmaYSG42vJzwmmCPxD3pW1/glo2yH7GnvMJOolVQbe4bVbYzFtBn6m sSKurmJehv3U+zC5AM4vnKWeDUaltyQu5PPi7YZw81tde7VF8DBTgd+ym4vd085U7MZpVm rFS0H7HjGHXV94IXx7dLVO/b5dACAGp4WtnEvEWueGzq9UhjIvMjQtkrzw1oOw== 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 4TdZs55ZZdzRDk; Mon, 19 Feb 2024 08:07: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 41J87bZZ015332; Mon, 19 Feb 2024 08:07:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87bm4015329; Mon, 19 Feb 2024 08:07:37 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:37 GMT Message-Id: <202402190807.41J87bm4015329@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 1bd05bae9252 - stable/13 - LinuxKPI: implement memset_after() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1bd05bae9252fb21a65da19504c144349b0c6577 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1bd05bae9252fb21a65da19504c144349b0c6577 commit 1bd05bae9252fb21a65da19504c144349b0c6577 Author: Bjoern A. Zeeb AuthorDate: 2024-01-29 14:19:59 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:01:58 +0000 LinuxKPI: implement memset_after() memset_after() is needed by iwlwifi d3.c. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D43644 (cherry picked from commit 2d9d35837d8ea3ee7d7447d63a8755d45ec2fd96) --- sys/compat/linuxkpi/common/include/linux/string.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/string.h b/sys/compat/linuxkpi/common/include/linux/string.h index 1d9b7af5d9d5..f745c2f6d343 100644 --- a/sys/compat/linuxkpi/common/include/linux/string.h +++ b/sys/compat/linuxkpi/common/include/linux/string.h @@ -265,4 +265,12 @@ memcpy_and_pad(void *dst, size_t dstlen, const void *src, size_t len, int ch) memset(_ptr + _o, _c, sizeof(*(ptr)) - _o); \ }) +#define memset_after(ptr, bytepat, smember) \ +({ \ + uint8_t *_ptr = (uint8_t *)(ptr); \ + int _c = (int)(bytepat); \ + size_t _o = offsetofend(typeof(*(ptr)), smember); \ + memset(_ptr + _o, _c, sizeof(*(ptr)) - _o); \ +}) + #endif /* _LINUXKPI_LINUX_STRING_H_ */ From nobody Mon Feb 19 08:07:38 2024 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 4TdZs71HQyz5B2x2; Mon, 19 Feb 2024 08:07: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 4TdZs70NHjz4Jt9; Mon, 19 Feb 2024 08:07:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fOdjIrA5jZdNDg9iHC4U8/E6Xnfj6s+y7n7qkNB4Ut0=; b=A18LGjTgm+EkUY9YxfhntLGxzMwOQkLLcSsJ2EnnnucV6LQOL7ODunmjtqC9efaFnc6iYX SfI/AnWrLTxUP+c+FpyWW9KtVWIgGQDtXZbph+bwgq7OpwhjGUhxOm5UrN0or5eauC7QRZ SrQCh3qZ7RVcjgX3rX0aiP2kvKeTH1lsueSKeq1zcCSGd3rtHJyhtWOXR1koVQVOWcAzJY NzmaeKnRVHzk0xJmWHqwSaGqjgCnmsDNFrVc0Ccp8gKEjoVc0Q6PR+w2XAdKGnfWqtUNcG LlO4hh9MsCsbBm/YEYr1IIxPxJTvf//aRStBQpmAcNFzE/NQTeDSLFsn7C9QCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fOdjIrA5jZdNDg9iHC4U8/E6Xnfj6s+y7n7qkNB4Ut0=; b=wKPsmyaAJi12BYS0VMOKCWsuZs/ATRCJ90jAo5W2d6hYtFfXdEphm4wy5XLxSPVJ3Dfvou T5bDDT5JHqQzqgA0cmKD3C6fjIRK3Mays7gLbwD9FJWRcayZ1SLxshQ76vn5VUJpLuH1ov 6bG5/WG+TckToW9ny9rfgPBgOFVYwozMpYDKo2ZpFNfMW64ykqFi5/7unWh64DwC9NuPoL joYAsT91/gRTx8JEPOBf/BariUze1Mx0vbXBr3bgaLx3Urr79uFmJgrpeMsISN14LsUrSC 4V0gArlhLRxJovWqNWASPkaou0ixG+kLliLjwN2+e+Vpcrrww5n5Gh2E4mUPeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330059; a=rsa-sha256; cv=none; b=kStfqHCBU6kR6iZksMa7PeDjO72rsM9cRkokrbOTPfsOkvUoPKZX8cPXO2d9RoOJv/cyc8 wTwa9dpkxbFEWsLv4d0uJ0KkKUIjPjFJMq3EtsfpFC4xqbyPPp/QFogFSn0ZyPAyeA53Fo /HvDTFhPHJ8IwE4YmoCQrJQGcdBfpnY8+dX3yrdJtnhXijv7acXxxmKgTmlLtmIu4NHM9A 4vzBx0uXudQSk9T9PH5qRQnc+tvaeBAvUHqdgkvraB8/Do6hTSjUF6lTpwCYxlT0coN79F /jOUX1rWksmxjjAvdfEm3suAnofqlbL/uIWL7spyZkF6gm6n9ouLTVjbjuk22w== 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 4TdZs66LCzzR82; Mon, 19 Feb 2024 08:07: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 41J87c0a015380; Mon, 19 Feb 2024 08:07:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87c7l015377; Mon, 19 Feb 2024 08:07:38 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:38 GMT Message-Id: <202402190807.41J87c7l015377@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 90aaf46d5208 - stable/13 - LinuxKPI: reduce impact of large MAXCPU 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 90aaf46d520816e7a92d88fc159fe8694a5e1e32 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=90aaf46d520816e7a92d88fc159fe8694a5e1e32 commit 90aaf46d520816e7a92d88fc159fe8694a5e1e32 Author: Bjoern A. Zeeb AuthorDate: 2023-10-23 23:14:35 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:01:58 +0000 LinuxKPI: reduce impact of large MAXCPU Start scaling arrays dynamically instead of using MAXCPU, resulting in extra allocations on startup but reducing the overall memory footprint. For the static single CPU mask we provide two versions to further save memory depending on a low or high CPU count system. The threshold to switch is currently at 128 CPUs on 64bit platforms. More detailed comments on the implementations can be found in the code. If I am not wrong on a MAXCPU=65536 system the memory footprint should roughly go down from 512M to 1.5M for the static single CPU mask. Submitted by: olce (most of this final version) Sponsored by: The FreeBSD Foundation PR: 274316 Differential Revision: https://reviews.freebsd.org/D42345 (cherry picked from commit 488e8a7faca51a71987fbf00cd36cfcd19269db7) --- sys/compat/linuxkpi/common/include/asm/processor.h | 2 +- sys/compat/linuxkpi/common/src/linux_compat.c | 106 +++++++++++++++++++-- 2 files changed, 99 insertions(+), 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/asm/processor.h b/sys/compat/linuxkpi/common/include/asm/processor.h index 9e784396c63a..c55238d33505 100644 --- a/sys/compat/linuxkpi/common/include/asm/processor.h +++ b/sys/compat/linuxkpi/common/include/asm/processor.h @@ -41,7 +41,7 @@ struct cpuinfo_x86 { }; extern struct cpuinfo_x86 boot_cpu_data; -extern struct cpuinfo_x86 __cpu_data[]; +extern struct cpuinfo_x86 *__cpu_data; #define cpu_data(cpu) __cpu_data[cpu] #endif diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index 85fb072b9943..d3804e9ecf05 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -131,7 +131,8 @@ static void linux_cdev_deref(struct linux_cdev *ldev); static struct vm_area_struct *linux_cdev_handle_find(void *handle); cpumask_t cpu_online_mask; -static cpumask_t static_single_cpu_mask[MAXCPU]; +static cpumask_t **static_single_cpu_mask; +static cpumask_t *static_single_cpu_mask_lcs; struct kobject linux_class_root; struct device linux_root_device; struct class linux_class_misc; @@ -2775,17 +2776,19 @@ io_mapping_create_wc(resource_size_t base, unsigned long size) #if defined(__i386__) || defined(__amd64__) bool linux_cpu_has_clflush; struct cpuinfo_x86 boot_cpu_data; -struct cpuinfo_x86 __cpu_data[MAXCPU]; +struct cpuinfo_x86 *__cpu_data; #endif cpumask_t * lkpi_get_static_single_cpu_mask(int cpuid) { - KASSERT((cpuid >= 0 && cpuid < MAXCPU), ("%s: invalid cpuid %d\n", + KASSERT((cpuid >= 0 && cpuid <= mp_maxid), ("%s: invalid cpuid %d\n", + __func__, cpuid)); + KASSERT(!CPU_ABSENT(cpuid), ("%s: cpu with cpuid %d is absent\n", __func__, cpuid)); - return (&static_single_cpu_mask[cpuid]); + return (static_single_cpu_mask[cpuid]); } static void @@ -2801,7 +2804,9 @@ linux_compat_init(void *arg) boot_cpu_data.x86 = CPUID_TO_FAMILY(cpu_id); boot_cpu_data.x86_model = CPUID_TO_MODEL(cpu_id); - for (i = 0; i < MAXCPU; i++) { + __cpu_data = mallocarray(mp_maxid + 1, + sizeof(*__cpu_data), M_KMALLOC, M_WAITOK | M_ZERO); + CPU_FOREACH(i) { __cpu_data[i].x86_clflush_size = cpu_clflush_line_size; __cpu_data[i].x86_max_cores = mp_ncpus; __cpu_data[i].x86 = CPUID_TO_FAMILY(cpu_id); @@ -2836,13 +2841,92 @@ linux_compat_init(void *arg) CPU_COPY(&all_cpus, &cpu_online_mask); /* * Generate a single-CPU cpumask_t for each CPU (possibly) in the system. - * CPUs are indexed from 0..(MAXCPU-1). The entry for cpuid 0 will only + * CPUs are indexed from 0..(mp_maxid). The entry for cpuid 0 will only * have itself in the cpumask, cupid 1 only itself on entry 1, and so on. * This is used by cpumask_of() (and possibly others in the future) for, * e.g., drivers to pass hints to irq_set_affinity_hint(). */ - for (i = 0; i < MAXCPU; i++) - CPU_SET(i, &static_single_cpu_mask[i]); + static_single_cpu_mask = mallocarray(mp_maxid + 1, + sizeof(static_single_cpu_mask), M_KMALLOC, M_WAITOK | M_ZERO); + + /* + * When the number of CPUs reach a threshold, we start to save memory + * given the sets are static by overlapping those having their single + * bit set at same position in a bitset word. Asymptotically, this + * regular scheme is in O(n²) whereas the overlapping one is in O(n) + * only with n being the maximum number of CPUs, so the gain will become + * huge quite quickly. The threshold for 64-bit architectures is 128 + * CPUs. + */ + if (mp_ncpus < (2 * _BITSET_BITS)) { + cpumask_t *sscm_ptr; + + /* + * This represents 'mp_ncpus * __bitset_words(CPU_SETSIZE) * + * (_BITSET_BITS / 8)' bytes (for comparison with the + * overlapping scheme). + */ + static_single_cpu_mask_lcs = mallocarray(mp_ncpus, + sizeof(*static_single_cpu_mask_lcs), + M_KMALLOC, M_WAITOK | M_ZERO); + + sscm_ptr = static_single_cpu_mask_lcs; + CPU_FOREACH(i) { + static_single_cpu_mask[i] = sscm_ptr++; + CPU_SET(i, static_single_cpu_mask[i]); + } + } else { + /* Pointer to a bitset word. */ + __typeof(((cpuset_t *)NULL)->__bits[0]) *bwp; + + /* + * Allocate memory for (static) spans of 'cpumask_t' ('cpuset_t' + * really) with a single bit set that can be reused for all + * single CPU masks by making them start at different offsets. + * We need '__bitset_words(CPU_SETSIZE) - 1' bitset words before + * the word having its single bit set, and the same amount + * after. + */ + static_single_cpu_mask_lcs = mallocarray(_BITSET_BITS, + (2 * __bitset_words(CPU_SETSIZE) - 1) * (_BITSET_BITS / 8), + M_KMALLOC, M_WAITOK | M_ZERO); + + /* + * We rely below on cpuset_t and the bitset generic + * implementation assigning words in the '__bits' array in the + * same order of bits (i.e., little-endian ordering, not to be + * confused with machine endianness, which concerns bits in + * words and other integers). This is an imperfect test, but it + * will detect a change to big-endian ordering. + */ + _Static_assert( + __bitset_word(_BITSET_BITS + 1, _BITSET_BITS) == 1, + "Assumes a bitset implementation that is little-endian " + "on its words"); + + /* Initialize the single bit of each static span. */ + bwp = (__typeof(bwp))static_single_cpu_mask_lcs + + (__bitset_words(CPU_SETSIZE) - 1); + for (i = 0; i < _BITSET_BITS; i++) { + CPU_SET(i, (cpuset_t *)bwp); + bwp += (2 * __bitset_words(CPU_SETSIZE) - 1); + } + + /* + * Finally set all CPU masks to the proper word in their + * relevant span. + */ + CPU_FOREACH(i) { + bwp = (__typeof(bwp))static_single_cpu_mask_lcs; + /* Find the non-zero word of the relevant span. */ + bwp += (2 * __bitset_words(CPU_SETSIZE) - 1) * + (i % _BITSET_BITS) + + __bitset_words(CPU_SETSIZE) - 1; + /* Shift to find the CPU mask start. */ + bwp -= (i / _BITSET_BITS); + static_single_cpu_mask[i] = (cpuset_t *)bwp; + } + } strlcpy(init_uts_ns.name.release, osrelease, sizeof(init_uts_ns.name.release)); } @@ -2855,6 +2939,12 @@ linux_compat_uninit(void *arg) linux_kobject_kfree_name(&linux_root_device.kobj); linux_kobject_kfree_name(&linux_class_misc.kobj); + free(static_single_cpu_mask_lcs, M_KMALLOC); + free(static_single_cpu_mask, M_KMALLOC); +#if defined(__i386__) || defined(__amd64__) + free(__cpu_data, M_KMALLOC); +#endif + mtx_destroy(&vmmaplock); spin_lock_destroy(&pci_lock); rw_destroy(&linux_vma_lock); From nobody Mon Feb 19 08:07:39 2024 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 4TdZs83Ccjz5B2jx; Mon, 19 Feb 2024 08:07: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 4TdZs81C1vz4K8J; Mon, 19 Feb 2024 08:07:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OV4MXWZpoaJ672opbu3AWuI+0w8O2iSCtR2F8rTEeDQ=; b=AOqeWFmr+B6gwVfwHq6Tvwdmbe2UFbOs/ENbCdUkAvYrIMzcMliM0rG+agvHD2DDIRWm9H K83c91LUia/Mcafe7B5HghpC/mye4SKPmS1+Qa8Q46ncfgYX7xsPna9SgmuApzQ4jAuN5J VXTVAeVyHWW2dDObGYoFqy2vSMvLJtnr/qolZQuyrWDr0RjaQRyyiW1lqJ3xKsh7nt/xuB EpSQ1tV0LsIOKB339DOhLrZEzXReGwLbpm7iVu8ku1xJ8wafv7RyI/WB4BIHaDLufBPkYx tbKyvYcMUFdjtrrpp17j9BxxIbfx+EKZ5+mcHIYSgjgvH0O5oaSKFmR9J1MCHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OV4MXWZpoaJ672opbu3AWuI+0w8O2iSCtR2F8rTEeDQ=; b=RQ5+hvUltbP4xQFVAs4gyGp0unaNwgUO9jZWfomDHsXtkM/3osIHTzsiS5fETo96Y/0B88 PkyBzObiCk8Y9jrSU+GDvM4HB6ZPD6XSNPcbUOlmqWspaQl8QU/tNDsWIPA+lDl0Z3r/uB 2vmAS4AQpGd1imZ8pn0py3Q8JZZ+Cr74JHnZnKsRetBNjwjXZtbUmmu5xvO6anhk5tS5Sk Iupd51f7V2biasq2sJWS+um46W11oJFs5/LUgDuvCfUs36SrScq0QPtNQPjjtuJ5EFCvvt EkwINgk8zND3xi3E4HDfkiEsVnznURvrSIzneksnFn6CRNpaQZOG9/2ZcJL+gQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330060; a=rsa-sha256; cv=none; b=UGQdblCHBRlauGfbKM2OOqTNpM7Fd2SIUIvWrvT31nWxzEvszIOjZ9NUtGYc9C07VwmSXz EaKEUbKMkgV3XvFot7moEJEloL/yBede2kTrYt/+byfu4kofDrz8Gm9QJKZ4uPGIsJikhs 1aEsoMG/LBWG/oihK8M9snIISMggsUZB0pQsKQFhyKytHgEEjnLLD54vh684brZxpYQBZq FL4tXtCQ3fhzA/UUVC4wesrjaE5goyLk+5lB8C2blCbCCBIixzeD1ErumpOdgVD54ci2y+ Hx8LiAA1Aw2TbrJFJ1AiBR/zUtCMitz6WDXaJOJcGAnAef5EmOTcVoKGrWiFBg== 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 4TdZs80HXkzRKj; Mon, 19 Feb 2024 08:07: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 41J87dfG015434; Mon, 19 Feb 2024 08:07:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87dO4015431; Mon, 19 Feb 2024 08:07:39 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:39 GMT Message-Id: <202402190807.41J87dO4015431@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 1ff23eeab2ef - stable/13 - rtw89: improve debugging and fix a sleep issue 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1ff23eeab2ef83075532c5d4870480062daa837a Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1ff23eeab2ef83075532c5d4870480062daa837a commit 1ff23eeab2ef83075532c5d4870480062daa837a Author: Bjoern A. Zeeb AuthorDate: 2023-09-06 16:47:45 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:01:58 +0000 rtw89: improve debugging and fix a sleep issue Improve log messages to be more helpful in error cases. Change one LinuxKPI sleep function as we cannot call the original one from a context we cannot sleep. Both cases were hit during testing. (cherry picked from commit 118d0ff54d4f7cffe6a13a1e0cdb2fe23fbfce74) --- sys/contrib/dev/rtw89/fw.c | 9 +++++++++ sys/contrib/dev/rtw89/phy.c | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/sys/contrib/dev/rtw89/fw.c b/sys/contrib/dev/rtw89/fw.c index 3a9b7868b069..2035e600b471 100644 --- a/sys/contrib/dev/rtw89/fw.c +++ b/sys/contrib/dev/rtw89/fw.c @@ -481,7 +481,12 @@ static void rtw89_fw_prog_cnt_dump(struct rtw89_dev *rtwdev) for (index = 0; index < 15; index++) { val32 = rtw89_read32(rtwdev, R_AX_DBG_PORT_SEL); rtw89_err(rtwdev, "[ERR]fw PC = 0x%x\n", val32); +#if defined(__linux__) fsleep(10); +#elif defined(__FreeBSD__) + /* Seems we are called from a context we cannot sleep. */ + udelay(10); +#endif } } @@ -2473,7 +2478,11 @@ static int rtw89_hw_scan_prehandle(struct rtw89_dev *rtwdev, ret = rtw89_hw_scan_update_probe_req(rtwdev, rtwvif); if (ret) { +#if defined(__linux__) rtw89_err(rtwdev, "Update probe request failed\n"); +#elif defined(__FreeBSD__) + rtw89_err(rtwdev, "Update probe request failed: ret %d\n", ret); +#endif goto out; } ret = rtw89_hw_scan_add_chan_list(rtwdev, rtwvif); diff --git a/sys/contrib/dev/rtw89/phy.c b/sys/contrib/dev/rtw89/phy.c index c4dfb192035a..60698f3b5e01 100644 --- a/sys/contrib/dev/rtw89/phy.c +++ b/sys/contrib/dev/rtw89/phy.c @@ -1340,7 +1340,11 @@ static void rtw89_phy_init_rf_nctl(struct rtw89_dev *rtwdev) ret = read_poll_timeout(rtw89_phy_nctl_poll, val, val == 0x4, 10, 1000, false, rtwdev); if (ret) +#if defined(__linux__) rtw89_err(rtwdev, "failed to poll nctl block\n"); +#elif defined(__FreeBSD__) + rtw89_err(rtwdev, "failed to poll nctl block: ret %d val %#06x\n", ret, val); +#endif nctl_table = chip->nctl_table; rtw89_phy_init_reg(rtwdev, nctl_table, rtw89_phy_config_bb_reg, NULL); From nobody Mon Feb 19 08:07:41 2024 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 4TdZs939T0z5B2dL; Mon, 19 Feb 2024 08:07: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 4TdZs92Lp9z4Jql; Mon, 19 Feb 2024 08:07:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+PF7T5h+mortM+cEPv+svMYvCC17GU1euVTTVbJi+c8=; b=yKURnRmWcNxY9+2guhzrBdAhNJkO0kubkQHVy8O1ECHcgf+OvzCuB68QdEJVa5x1JMjglw awu2Luhan53XH3OcZC9dvPOvwjcORagEeu40ckLSlq8qDQyvzpzzKQ0DDSXffb4tKnMivX jJ+QzfnYqo4D3VtAnDCAYN3/nPYPXI0Qh5ONWdwWiuGfiHOUiKrVFSpYuE1AnDwCpmsNBx NwYgRZCu+CneqM0h9NTYT1bKjXp0e+04DFbtECr+W7ck0Xv1zmSM+4k939Rpy6Uu28Zdnv /OqqZrHRoOtNvZ1EJ0YhyyeTsymMdqGf+Lw1FQQyM+8pO5CNUvOXGbFVv9kCiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+PF7T5h+mortM+cEPv+svMYvCC17GU1euVTTVbJi+c8=; b=ZfJUfO4k3oDf/eezGim8cflEMm3z2RMI6JxvyZdGrpExE2MNIGWaighTuX77Xlm/h3mkq3 hSPbRYb033fE9f04sbHkD24PHaP10F4E+XdGTBlzZqtNU5/sgOm/uwDGlrf91N4W964VM0 WiZCi7SQa1OvQq1KlvcxWF8wEGL2ExEvvRf0a6diEaLYMNLeedI74a6GVH1duzV4F3tXJM l+/BRHfwD4hmw04q5bcf8zZm/qffOPCRnnC86plQSRyRbNtshcepG0sGGjmzQYUAHfwRWZ 8sCVjuRVsf6p/3Mh7Qxu7B2FQ51GCPUWnx4XL5SaAITB4Ysj3DGzwvwXrk3bUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330061; a=rsa-sha256; cv=none; b=NuYN8yfWu32Fgx+ZZfCrqyuOcPHDsi7BwNvQ8OKtR8Bz6aYkkzo43x/sD/1AIe5qO3LMq7 TaY2zfu6bf25DfPFuh6xYfJV6qnT1IaPDx2vl+huWe46RtBDyaOdpaEXpb4n0EO/cEXUtz 7ycw2HMKGfTr++RANpz5tU3DftHSfp+FKGz9ori1RdK8ygdo9DUGAZgS8UWdWqRMt/ZHAS S6OgsSC/M2GaaC6Ro4ej4D2gw5+sGkmmuY52c6tQ0DbCeAM9OJeSrbnSAveZF+F83X88bw j5Sp609WSX2rkBfaXX8pReCXjgZiKxswtJZm3Sitzx4ddvL6JwVSmAXWaPhxdA== 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 4TdZs91S1vzRKk; Mon, 19 Feb 2024 08:07: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 41J87fr9015485; Mon, 19 Feb 2024 08:07:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87fxB015482; Mon, 19 Feb 2024 08:07:41 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:41 GMT Message-Id: <202402190807.41J87fxB015482@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: d1d5dbcf2539 - stable/13 - iwlwififw: add firmware for the Bz/B200 chipset 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d1d5dbcf2539d708d36cd4239ea428914a63321d Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d1d5dbcf2539d708d36cd4239ea428914a63321d commit d1d5dbcf2539d708d36cd4239ea428914a63321d Author: Bjoern A. Zeeb AuthorDate: 2023-11-29 21:33:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:01:59 +0000 iwlwififw: add firmware for the Bz/B200 chipset The iwlwifi driver already supports the chipset as "Bz TBD" (also in 14.0). Add the firmware for it. Successfully tested for 0x8086/0x272b/0x8086/0x00f4 on arm64 thanks to donated hardware [1]. Firmware was obtained from linux-firmware at 9552083a783e5e48b90de674d4e3bf23bb855ab0 . Sponsored by: The FreeBSD Foundation Sponsored by: Martin Hoehne / minipci.biz (B200 card) [1] (cherry picked from commit b647615ede46af66cd0c8bd5a321d4a2cccdabe0) --- .../dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode | Bin 0 -> 1799504 bytes sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm | Bin 0 -> 226668 bytes sys/modules/iwlwififw/Makefile | 3 +++ sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-fw/Makefile | 5 +++++ .../iwlwififw/iwlwifi-gl-c0-fm-c0-pnvm/Makefile | 7 +++++++ 5 files changed, 15 insertions(+) diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode new file mode 100644 index 000000000000..a1444bab2622 Binary files /dev/null and b/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm b/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm new file mode 100644 index 000000000000..3cdb0b522b22 Binary files /dev/null and b/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm differ diff --git a/sys/modules/iwlwififw/Makefile b/sys/modules/iwlwififw/Makefile index aa3873880b19..756fb2f73af7 100644 --- a/sys/modules/iwlwififw/Makefile +++ b/sys/modules/iwlwififw/Makefile @@ -16,6 +16,8 @@ SUBDIR= \ iwlwifi-QuZ-a0-hr-b0-fw \ iwlwifi-QuZ-a0-jf-b0-fw \ iwlwifi-cc-a0-fw \ + iwlwifi-gl-c0-fm-c0-fw \ + iwlwifi-gl-c0-fm-c0-pnvm \ iwlwifi-so-a0-gf-a0-fw \ iwlwifi-so-a0-gf4-a0-fw \ iwlwifi-so-a0-hr-b0-fw \ @@ -25,4 +27,5 @@ SUBDIR= \ iwlwifi-so-a0-gf4-a0-pnvm \ iwlwifi-ty-a0-gf-a0-pnvm + .include diff --git a/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-fw/Makefile new file mode 100644 index 000000000000..4a078a28c3b2 --- /dev/null +++ b/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-fw/Makefile @@ -0,0 +1,5 @@ + +FWVERSION= 83 +NAME= gl-c0-fm-c0 + +.include diff --git a/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-pnvm/Makefile b/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-pnvm/Makefile new file mode 100644 index 000000000000..8b1f4692271b --- /dev/null +++ b/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-pnvm/Makefile @@ -0,0 +1,7 @@ + +FWVERSION= 83 +NAME= gl-c0-fm-c0 +EXT= pnvm +_NAME= iwlwifi-${NAME}.${EXT} + +.include From nobody Mon Feb 19 08:07:42 2024 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 4TdZsB53z5z5B2rr; Mon, 19 Feb 2024 08:07: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 4TdZsB3ZQgz4JyR; Mon, 19 Feb 2024 08:07:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+FVj7+P+816pJRu3Six/+VCGOybRemETCfBod/YdgMw=; b=Y/S3YecOthsFU3vZOQEsoaJ9KiXidtPqfzf4FoDtX6/JseMKkA/gtM8tcTyGBUOPiMVGOv UTBSkFDuh2qTSDHFAfrH5hIcXSgrojk2UqvuRviXEHGLd+u5ilT7FM5ILclY3a9Eh6lRE1 N2TL+sL+H4qPvAVTlb7LiRqs9cMej2T+d+g8OoFaSykbE5mmV5/iCdldUAjnzA8Q5Mf6fa V7VaxL91ik5SQBFFaE5htKaKDDnpMFzialxVU8gfY5tsxlJ3+lArrDDqLbYLWp+Vhf0LJn WiKrdBdQvYeg22+IwslfALSABCz6iWs5nnKkg8mzFa78aXQqFeQiJdaJSacyKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+FVj7+P+816pJRu3Six/+VCGOybRemETCfBod/YdgMw=; b=W7S99QLnL63g7XTzWK3fO9RazwByOzlNpsnipVVlTKCWn0mBcX200l/0I6bJOhALvvFtbf Drhy3F4hfpDAX1pf9iK/EC599Jsola7aTWVrWjj27pNVx0DXNzUTIJAlRTYR2BWH9CU33J 3i+6bWnM73Ba7aNdSKpoNE/W8JbD8H16J+hBDsN/iz5Y4EfpVSksY5wxvs+spsp9laQv1U SN186AC3U5RWtdLllWzgpKARZKfE8Ky74H6i+EegzyaYmN/SWKuBKj5JoT0j57eNR1cmJx bhhtUESeIkXJVGRExbt+VugkfAyPCqbb6GBYqKy3wCwnkwS/qI+zxOO2ceoITw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330062; a=rsa-sha256; cv=none; b=wrFRkeNB4LBKxuymcbj5dr/x4M8n51TxBq3WR+RHHBPQa31D1fRECoaTg55tC9JRDbgnUF VIv8S3fje6dufa3rz67t2b2BYEyDZIdsCwh7DDQOUow31p9WqKNu8dWklp4xOgb8EgmGmh Hk/XAwGDA72XfwQK/pTrQJP9J6P3G/hfZYpjxJdpwVSsNuQk8evTokbs44mlO8PrnmaVn0 1xnWNfaOxqApMKdVzc6HwrXXHseAGY3+WFBURZSo28fI+qkFlb8m9w9l5QoYH3BFHzeuXb tgcjE5RAeYiFEnP6WtatyViH3LRX+q+nwb/+NnHLaRjeewSPHJKfAkobMAJlxQ== 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 4TdZsB2TFfzRTg; Mon, 19 Feb 2024 08:07: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 41J87gho015539; Mon, 19 Feb 2024 08:07:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87g7w015536; Mon, 19 Feb 2024 08:07:42 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:42 GMT Message-Id: <202402190807.41J87g7w015536@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 71383e75eae9 - stable/13 - net80211: ieee80211_dump_node() check for channel to be 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 71383e75eae9fa481f725afc8c1e625e7571940a Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=71383e75eae9fa481f725afc8c1e625e7571940a commit 71383e75eae9fa481f725afc8c1e625e7571940a Author: Bjoern A. Zeeb AuthorDate: 2023-11-30 18:20:22 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:01:59 +0000 net80211: ieee80211_dump_node() check for channel to be set Avoid panics in case ieee80211_dump_node() gets called before a channel context is set. Sponsored by: The FreeBSD Foundation (cherry picked from commit c93be3079be5f07fe3596ec389826e45f5dc82bd) --- sys/net80211/ieee80211_node.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index a70edfa3acc4..75795342f4b4 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -2669,7 +2669,8 @@ ieee80211_dump_node(struct ieee80211_node_table *nt __unused, printf("\tbssid %s essid \"%.*s\" channel %u:0x%x\n", ether_sprintf(ni->ni_bssid), ni->ni_esslen, ni->ni_essid, - ni->ni_chan->ic_freq, ni->ni_chan->ic_flags); + (ni->ni_chan != IEEE80211_CHAN_ANYC) ? ni->ni_chan->ic_freq : 0, + (ni->ni_chan != IEEE80211_CHAN_ANYC) ? ni->ni_chan->ic_flags : 0); printf("\tinact %u inact_reload %u txrate %u\n", ni->ni_inact, ni->ni_inact_reload, ni->ni_txrate); printf("\thtcap %x htparam %x htctlchan %u ht2ndchan %u\n", From nobody Mon Feb 19 08:07:43 2024 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 4TdZsC64xvz5B2k2; Mon, 19 Feb 2024 08:07: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 4TdZsC40gQz4KC7; Mon, 19 Feb 2024 08:07:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0+DJguCVfmZjAwEbovEXuw3yrs7fmh+x9ge+aWROq2Q=; b=g3v2lXQ8vRSLTDZFm5DgwKuetXnd7kLtukP0M5C+gdIv0t/oy67nEu62IU/IkED6riPH8z EKiPxqaIp3qFV9L+K2e+OfE5B/X2mFgKROg2upDMLRlUA/F2pcmeypvKNM0VYUChHDneCW SWVEaOBHuKyWTo7M4jZ+CBrYuJoOsRLfmGSdPbyyhGiWGf7G4kDyh9U+tRiBG21gpWH9SH qD3ds9bEfLhcpz2pMch6FrGlf3G0IVsvtdPytbFRm1uEk1Mrz8j+djbSO82rHE4VruR4KW vPPnHuqld6n6IixU5MSh22FVyUWTDtXaiqrjpGuGIcv8aJbomLIyJrpTDidtWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0+DJguCVfmZjAwEbovEXuw3yrs7fmh+x9ge+aWROq2Q=; b=oydazwWOeKx8kSgacH5E2cCNWoYuWhMGv81mDEgnoWP+Bvt5LGJhjut/4G29CKCpRarnwj xdXP3h+ovRHaVyi5Hv9QzlggeDPANweWwqkzyV4gKbAPWObLBgYJWJQp/xfi5Pa1BLERRi l6ZG7fz6KPfshunFiwMT2DMoLQ6AcG0CtEohPdeGBY6GX6ydvy7jahZ0+xZBugnqr4KBxJ IDkIo4bxRF4kLprOs3bn0NsEi2OuWYSwyWLu4V6EdGGbwiLrQuzjyTgLrFpSM544QCny4n pSAb+/nvF4wFKR+D01B0nKk/96URC5Z83Ad2Iqb0Vk7oAdv3SKn64MBP1qMAAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330063; a=rsa-sha256; cv=none; b=FKqT0AiZ+Fh/lByQplo5Nl2jQDSNvHJdBmbfwgxFwSIda3R9jrwRDwUlrMVVgfPUktYEVy gkMDr/hoQ0o/St218nF+GA9qgrq+JABpE+za2BT5psLCPU9PNIwcMBqRQvdkHAMICiv1Zp 5Y2c7diKNFiwFVfl0aQyuMbdRuInoahTNpP4vGceqHaz6LatQNjDObRq6Wy2sgDEMDxAXb j8g1Qjh+WyP5jeceg6RGIyI1w+xnztVB4vNw/IYhAWlslGBaXErg8/5E0kPJtU77aZxq3k 4antHXap4jmg74LeHabyl3okd73t1RK2XtTVHWf358YH8aRiqiEIn9UsNq67zw== 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 4TdZsC34d4zRKl; Mon, 19 Feb 2024 08:07: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 41J87hwW015578; Mon, 19 Feb 2024 08:07:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87hMX015575; Mon, 19 Feb 2024 08:07:43 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:43 GMT Message-Id: <202402190807.41J87hMX015575@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 135f22ad82f6 - stable/13 - tools/net80211: add mlme_assoc 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 135f22ad82f6b5179f40123a8b0b743428146729 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=135f22ad82f6b5179f40123a8b0b743428146729 commit 135f22ad82f6b5179f40123a8b0b743428146729 Author: Bjoern A. Zeeb AuthorDate: 2023-12-01 01:37:25 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:01:59 +0000 tools/net80211: add mlme_assoc mlme_assoc is a tool to trigger net80211::ieee80211_sta_join1() calls which in certain conditions cause problems to the LinuxKPI 802.11 compat code (but also believed to possibly cause problems in case of race to other firmware based drivers). This has proven to be a good reproducer for the problem even on setups which otherwise could run for days without hitting it. Sponsored by: The FreeBSD Foundation PR: 271979 (cherry picked from commit 643d6dce6c1e39f067f8d0feea8615913b324891) --- tools/tools/net80211/mlme_assoc/Makefile | 7 + tools/tools/net80211/mlme_assoc/README | 51 +++++++ tools/tools/net80211/mlme_assoc/mlme_assoc.c | 200 +++++++++++++++++++++++++++ 3 files changed, 258 insertions(+) diff --git a/tools/tools/net80211/mlme_assoc/Makefile b/tools/tools/net80211/mlme_assoc/Makefile new file mode 100644 index 000000000000..580fb045ac52 --- /dev/null +++ b/tools/tools/net80211/mlme_assoc/Makefile @@ -0,0 +1,7 @@ +PROG= mlme_assoc +BINDIR= /usr/bin +MAN= + +SRCS= mlme_assoc.c + +.include diff --git a/tools/tools/net80211/mlme_assoc/README b/tools/tools/net80211/mlme_assoc/README new file mode 100644 index 000000000000..fc5e754a58d6 --- /dev/null +++ b/tools/tools/net80211/mlme_assoc/README @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2023 The FreeBSD Foundation +# +# This documentation was written by Björn Zeeb 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. +# + +This is a simple program to drive net80211::ieee80211_sta_join1() calls from +user space. + +The program optionally accepts an interface name (e.g., wlan42), or an +interface name, an SSID and a BSSID. + +In the former case of no SSID/BSSID passed it will query the scan results and +then try to join each entry from the scan with a short delay. + +In the lastter case giving the SSID/BSSID one can trigger the "canreassoc" case +in ieee80211_sta_join1() or not depending on whether one passes the currently +associated SSID/BSSID or not. + +The tool is useful to trigger net80211::newstate() changes while other +newstate() changes are pending or being executed. + +I was specifically developed to show a problem with the LinuxKPI 802.11 compat +code. The reason is that ieee80211_sta_join1() also calls in (*iv_update_bss)() +swapping nodes before initiating the state changes and in LinuxKPI state is on +the sta and not the vif causing all kinds of troubles, especially if we lose +a state transition before the taskq is run or if the iv_bss node gets swapped +before a task is executed. diff --git a/tools/tools/net80211/mlme_assoc/mlme_assoc.c b/tools/tools/net80211/mlme_assoc/mlme_assoc.c new file mode 100644 index 000000000000..c26aaa03fe87 --- /dev/null +++ b/tools/tools/net80211/mlme_assoc/mlme_assoc.c @@ -0,0 +1,200 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Björn Zeeb 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. + */ + +/* + * First get scan results in a hurry. + * Pick a random BSSID and try to assoc. + * Hopefully this is enough to trigger the newstate race along with the + * (*iv_update_bss)() logic. + * + * Alternatively pass IF SSID BSSID in and just try that. + */ + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include + +static int +if_up(int sd, const char *ifnam) +{ + struct ifreq ifr; + int error; + + memset(&ifr, 0, sizeof(ifr)); + strlcpy(ifr.ifr_name, ifnam, sizeof(ifr.ifr_name)); + + error = ioctl(sd, SIOCGIFFLAGS, &ifr); + if (error == -1) { + warn("SIOCGIFFLAGS"); + return (error); + } + + if (ifr.ifr_flags & IFF_UP) + return (0); + + ifr.ifr_flags |= IFF_UP; + + error = ioctl(sd, SIOCSIFFLAGS, &ifr); + if (error == -1) { + warn("SIOCSIFFLAGS"); + return (error); + } + + return (0); +} + +static int +try_mlme_assoc(int sd, const char *ifnam, uint8_t *ssid, uint8_t ssid_len, uint8_t *bssid) +{ + struct ieee80211req ireq; + struct ieee80211req_mlme mlme; + int error; + + memset(&mlme, 0, sizeof(mlme)); + mlme.im_op = IEEE80211_MLME_ASSOC; + if (ssid != NULL) + memcpy(mlme.im_ssid, ssid, ssid_len); + mlme.im_ssid_len = ssid_len; + if (bssid != NULL) + memcpy(mlme.im_macaddr, bssid, IEEE80211_ADDR_LEN); + + memset(&ireq, 0, sizeof(ireq)); + strlcpy(ireq.i_name, ifnam, sizeof(ireq.i_name)); + ireq.i_type = IEEE80211_IOC_MLME; + ireq.i_val = 0; + ireq.i_data = (void *)&mlme; + ireq.i_len = sizeof(mlme); + + error = ioctl(sd, SIOCS80211, &ireq); + if (error == -1) { + warn("SIOCS80211, %#x", ireq.i_type); + return (error); + } + + return (0); +} + +static int +mlme_assoc_scan_results(int sd, const char *ifnam) +{ + struct ieee80211req ireq; + struct ieee80211req_scan_result *sr; + uint8_t buf[32 * 1024], *p; + ssize_t len; + int error; + + memset(&ireq, 0, sizeof(ireq)); + strlcpy(ireq.i_name, ifnam, sizeof(ireq.i_name)); + ireq.i_type = IEEE80211_IOC_SCAN_RESULTS; + ireq.i_data = (void *)buf; + ireq.i_len = sizeof(buf); + + error = ioctl(sd, SIOCG80211, &ireq); + if (error == -1 || ireq.i_len < 0) { + warn("SIOCG80211, %#x", ireq.i_type); + return (error); + } + + p = buf; + len = ireq.i_len; + while (len > (ssize_t)sizeof(*sr)) { + sr = (struct ieee80211req_scan_result *)(void *)p; + p += sr->isr_len; + len -= sr->isr_len; + + error = try_mlme_assoc(sd, ifnam, (void *)(sr + 1), sr->isr_ssid_len, + sr->isr_bssid); + if (error != 0) { + warnx("try_mlme_assoc"); + return (error); + } + + usleep(100000); + } + + return (0); +} + +int +main(int argc, char *argv[]) +{ + const char *ifnam; + uint8_t *ssid, *bssid; + struct ether_addr ea; + int error, sd; + + ifnam = "wlan0"; + ssid = NULL; + bssid = NULL; + + if (argc == 4) { + ifnam = argv[1]; + ssid = (uint8_t *)argv[2]; + bssid = (uint8_t *)ether_aton_r(argv[3], &ea); + if (bssid == NULL) + warnx("ether_aton_r, ignoring BSSID"); + } else if (argc == 2) { + ifnam = argv[1]; + } + + sd = socket(AF_LOCAL, SOCK_DGRAM, 0); + if (sd == -1) + errx(EX_UNAVAILABLE, "socket"); + + error = if_up(sd, ifnam); + if (error != 0) + errx(EX_UNAVAILABLE, "if_up"); + + if (argc == 4) { + error = try_mlme_assoc(sd, ifnam, ssid, strlen((const char *)ssid), bssid); + if (error != 0) + errx(EX_UNAVAILABLE, "try_mlme_assoc"); + + } else { + error = mlme_assoc_scan_results(sd, ifnam); + if (error != 0) + errx(EX_UNAVAILABLE, "mlme_assoc_scan_results"); + } + + close(sd); + + return (0); +} From nobody Mon Feb 19 08:07:44 2024 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 4TdZsF0D33z5B2rw; Mon, 19 Feb 2024 08:07: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 4TdZsD4w2kz4K99; Mon, 19 Feb 2024 08:07:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jOfHhBUm7y6Qiof8Rkv72ABsQhiYkxskxyHWMVoGISs=; b=f0sBseGJNgRaZ6v0XyP4Cqu3EeaRiFUpvDPqAqw9Ho/CUCXjefoHoVriZL5dZ0zlumCKuY ttUP/iYhDH55aRO5vvmZkPfjg7Tm0rY/tZB1TGLl57W0etk38TF3NdvvAAEEWHa8lFZk8V 3hEyftTz3gMX0Vlii/5E54WpGuVT2h9T+5l22ys/0AcF9wETzRkB7yQgWRKBuGAB/ZqpQv qid5Cdd8xape/88puewmOJX+Bx1NjweMVr50OT2A7XdElr7Bw6zLYnb7s5WiarVKuPAYr7 ZWZBxSI2a8Ijg4rZOGbFvZFGR+k9Tz5BmmSI0O7Jm3P4TVuz8tJrRUWFI4u/FA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jOfHhBUm7y6Qiof8Rkv72ABsQhiYkxskxyHWMVoGISs=; b=kl96e7pkSJsIyVPFNxQb/GYhjSHIeLY39zcM05f+NO8gAjLk/MDvsVnR5nDN3Y2OZ7VTMa T9ByCudhb1Fj/fA7DT9lXEp7wUEROm5J6ILI+1GH1u+ehLlbUutliSAZQSwDrqKY+PoMFM +e/f8i5u5cpVIUpaiRjUfuNZ2xJUbtDABidzLye5RkCDRUotUXbRCmUwmVBrBCYpswr8YS M/hFOGPs8oFIJ9V8iNAzfISf69c23IMto7GcXCYgvVeZBSI1grSlFgyNYCFmpu2vJ26GBT LUnFXEqnNTW+v9LKbgxweqs7SoAZkV4P5jwRyvNrtiUkkDB4OJYLppXzfcFm+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330064; a=rsa-sha256; cv=none; b=CILxYhxCHk+Ccx367MIB9rllXLxOhVCLwVe72zJ3qZtsovZFujHp6wX1oBaEmFHZwyxGCV 9lknU5urMXuK4lcRo8xCDcFJ9NPB9BeIF4Q+uTyJSUmz7N3paWRzCGMTPs6wZw1GXTjCIU hRCnq1FDhmDr0q0kJUHqRxBQns+CdXwKcQJ8ETpcebK4jDEm37lJqqaFyAMFDAZg84vwui +u53A9oyH4wWqOKxB0/W3gR89JzY4E9WuLfn8HbSKSRhj4cDnWrHr9W1PBpEySfxW3hYV9 MInc1SfUweSL7d7LBLHkzqx5vgGu0GaJFsJY3N/2e2Tgi4funP8WyIvpAgHJQg== 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 4TdZsD40W1zRDl; Mon, 19 Feb 2024 08:07: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 41J87iPR015629; Mon, 19 Feb 2024 08:07:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87iNq015626; Mon, 19 Feb 2024 08:07:44 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:44 GMT Message-Id: <202402190807.41J87iNq015626@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3fe19437797b - stable/13 - LinuxKPI: 802.11: bring in some HT code 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3fe19437797b1459e26c11bcc343da7f1daf52e9 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3fe19437797b1459e26c11bcc343da7f1daf52e9 commit 3fe19437797b1459e26c11bcc343da7f1daf52e9 Author: Bjoern A. Zeeb AuthorDate: 2023-10-26 21:14:44 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:01:59 +0000 LinuxKPI: 802.11: bring in some HT code Fix defines and structures to use proper types. Bring in basic ni->sta synchronization, some channel width handling, and overload the net80211 functions so that we can talk to driver/firmware to setup parameters. We will likely not need one or two of those but it is good for tracing currently. Cover HT and bits of VHT code in LinuxKPI behind apropriate #ifdef which are currently not enabled (like LKPI_80211_HW_CRYPTO) until confirmed to work. Last, IEEE80211_AMPDU_RX_START made some firmware unhappy. This will allow others to work on it and test as well. Sponsored by: The FreeBSD Foundation (cherry picked from commit 9fb914634eff85b3b36bcbf39c1faf2967b0aa9e) --- .../linuxkpi/common/include/linux/ieee80211.h | 3 +- sys/compat/linuxkpi/common/include/net/mac80211.h | 11 +- sys/compat/linuxkpi/common/src/linux_80211.c | 513 +++++++++++++++++++-- sys/compat/linuxkpi/common/src/linux_80211.h | 35 ++ .../linuxkpi/common/src/linux_80211_macops.c | 22 + 5 files changed, 550 insertions(+), 34 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 4648a12ec889..5c18bb9fe3d9 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -60,8 +60,7 @@ struct ieee80211_mmie_16 { #define IEEE80211_INVAL_HW_QUEUE ((uint8_t)-1) -#define IEEE80211_MAX_AMPDU_BUF 256 /* for HE? */ -#define IEEE80211_MAX_AMPDU_BUF_HT 64 +#define IEEE80211_MAX_AMPDU_BUF_HT IEEE80211_AGGR_BAWMAX #define IEEE80211_MAX_AMPDU_BUF_HE 256 #define IEEE80211_MAX_AMPDU_BUF_EHT 1024 diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 7e6fb1bce16e..fa36bd84ac6e 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -175,11 +175,13 @@ struct ieee80211_sta; #define IEEE80211_HT_AMPDU_PARM_DENSITY (0x7 << IEEE80211_HT_AMPDU_PARM_DENSITY_SHIFT) struct ieee80211_ampdu_params { - /* TODO FIXME */ struct ieee80211_sta *sta; - uint8_t tid; + enum ieee80211_ampdu_mlme_action action; + uint16_t buf_size; + uint16_t timeout; uint16_t ssn; - int action, amsdu, buf_size, timeout; + uint8_t tid; + bool amsdu; }; struct ieee80211_bar { @@ -452,7 +454,6 @@ struct ieee80211_hw { struct wiphy *wiphy; /* TODO FIXME */ - int max_rx_aggregation_subframes, max_tx_aggregation_subframes; int extra_tx_headroom, weight_multiplier; int max_rate_tries, max_rates, max_report_rates; struct ieee80211_cipher_scheme *cipher_schemes; @@ -472,6 +473,8 @@ struct ieee80211_hw { uint16_t offchannel_tx_hw_queue; uint16_t uapsd_max_sp_len; uint16_t uapsd_queues; + uint16_t max_rx_aggregation_subframes; + uint16_t max_tx_aggregation_subframes; uint16_t max_tx_fragments; uint16_t max_listen_interval; uint32_t extra_beacon_tailroom; diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 340503307c97..5a60380d15aa 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -62,6 +62,7 @@ #include #include #include +#include #define LINUXKPI_NET80211 #include @@ -71,6 +72,11 @@ #define LKPI_80211_WME /* #define LKPI_80211_HW_CRYPTO */ +/* #define LKPI_80211_VHT */ +/* #define LKPI_80211_HT */ +#if defined(LKPI_80211_VHT) && !defined(LKPI_80211_HT) +#define LKPI_80211_HT +#endif static MALLOC_DEFINE(M_LKPI80211, "lkpi80211", "LinuxKPI 80211 compat"); @@ -144,6 +150,79 @@ static void lkpi_ieee80211_free_skb_mbuf(void *); static int lkpi_wme_update(struct lkpi_hw *, struct ieee80211vap *, bool); #endif +#if defined(LKPI_80211_HT) +static void +lkpi_sta_sync_ht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni, int *ht_rx_nss) +{ + struct ieee80211vap *vap; + uint8_t *ie; + struct ieee80211_ht_cap *htcap; + int i, rx_nss; + + if ((ni->ni_flags & IEEE80211_NODE_HT) == 0) + return; + + if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && + IEEE80211_IS_CHAN_HT40(ni->ni_chan)) + sta->deflink.bandwidth = IEEE80211_STA_RX_BW_40; + + sta->deflink.ht_cap.ht_supported = true; + + /* htcap->ampdu_params_info */ + vap = ni->ni_vap; + sta->deflink.ht_cap.ampdu_density = _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MPDUDENSITY); + if (sta->deflink.ht_cap.ampdu_density > vap->iv_ampdu_density) + sta->deflink.ht_cap.ampdu_density = vap->iv_ampdu_density; + sta->deflink.ht_cap.ampdu_factor = _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MAXRXAMPDU); + if (sta->deflink.ht_cap.ampdu_factor > vap->iv_ampdu_rxmax) + sta->deflink.ht_cap.ampdu_factor = vap->iv_ampdu_rxmax; + + ie = ni->ni_ies.htcap_ie; + KASSERT(ie != NULL, ("%s: HT but no htcap_ie on ni %p\n", __func__, ni)); + if (ie[0] == IEEE80211_ELEMID_VENDOR) + ie += 4; + ie += 2; + htcap = (struct ieee80211_ht_cap *)ie; + sta->deflink.ht_cap.cap = htcap->cap_info; + sta->deflink.ht_cap.mcs = htcap->mcs; + + rx_nss = 0; + for (i = 0; i < nitems(htcap->mcs.rx_mask); i++) { + if (htcap->mcs.rx_mask[i]) + rx_nss++; + } + if (ht_rx_nss != NULL) + *ht_rx_nss = rx_nss; + + IMPROVE("sta->wme, sta->deflink.agg.max*"); +} +#endif + +#if defined(LKPI_80211_VHT) +static void +lkpi_sta_sync_vht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni, int *vht_rx_nss) +{ + + if ((ni->ni_flags & IEEE80211_NODE_VHT) == 0) + return; + + if (IEEE80211_IS_CHAN_VHT(ni->ni_chan)) { +#ifdef __notyet__ + if (IEEE80211_IS_CHAN_VHT80P80(ni->ni_chan)) { + sta->deflink.bandwidth = IEEE80211_STA_RX_BW_160; /* XXX? */ + } else +#endif + if (IEEE80211_IS_CHAN_VHT160(ni->ni_chan)) + sta->deflink.bandwidth = IEEE80211_STA_RX_BW_160; + else if (IEEE80211_IS_CHAN_VHT80(ni->ni_chan)) + sta->deflink.bandwidth = IEEE80211_STA_RX_BW_80; + } + + IMPROVE("VHT sync ni to sta"); + return; +} +#endif + static void lkpi_lsta_dump(struct lkpi_sta *lsta, struct ieee80211_node *ni, const char *_f, int _l) @@ -198,6 +277,8 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], struct ieee80211_vif *vif; struct ieee80211_sta *sta; int band, i, tid; + int ht_rx_nss; + int vht_rx_nss; lsta = malloc(sizeof(*lsta) + hw->sta_data_size, M_LKPI80211, M_NOWAIT | M_ZERO); @@ -267,9 +348,23 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], sta->deflink.supp_rates[band] |= BIT(i); } } + sta->deflink.smps_mode = IEEE80211_SMPS_OFF; - IMPROVE("ht, vht, he, ... bandwidth, smps_mode, .."); - /* bandwidth = IEEE80211_STA_RX_... */ + sta->deflink.bandwidth = IEEE80211_STA_RX_BW_20; + sta->deflink.rx_nss = 0; + + ht_rx_nss = 0; +#if defined(LKPI_80211_HT) + lkpi_sta_sync_ht_from_ni(sta, ni, &ht_rx_nss); +#endif + vht_rx_nss = 0; +#if defined(LKPI_80211_VHT) + lkpi_sta_sync_vht_from_ni(sta, ni, &vht_rx_nss); +#endif + + sta->deflink.rx_nss = MAX(ht_rx_nss, sta->deflink.rx_nss); + sta->deflink.rx_nss = MAX(vht_rx_nss, sta->deflink.rx_nss); + IMPROVE("he, ... smps_mode, .."); /* Link configuration. */ IEEE80211_ADDR_COPY(sta->deflink.addr, sta->addr); @@ -971,12 +1066,35 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int conf->def.width = NL80211_CHAN_WIDTH_20_NOHT; conf->def.center_freq1 = chan->center_freq; conf->def.center_freq2 = 0; + IMPROVE("Check vht_cap from band not just chan?"); +#ifdef LKPI_80211_HT + if (IEEE80211_IS_CHAN_HT(ni->ni_chan)) { + if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) { + conf->def.width = NL80211_CHAN_WIDTH_40; + } else + conf->def.width = NL80211_CHAN_WIDTH_20; + } +#endif +#ifdef LKPI_80211_VHT + if (IEEE80211_IS_CHAN_VHT(ni->ni_chan)) { +#ifdef __notyet__ + if (IEEE80211_IS_CHAN_VHT80P80(ni->ni_chan)) { + conf->def.width = NL80211_CHAN_WIDTH_80P80; + conf->def.center_freq2 = 0; /* XXX */ + } else +#endif + if (IEEE80211_IS_CHAN_VHT160(ni->ni_chan)) + conf->def.width = NL80211_CHAN_WIDTH_160; + else if (IEEE80211_IS_CHAN_VHT80(ni->ni_chan)) + conf->def.width = NL80211_CHAN_WIDTH_80; + } +#endif /* Responder ... */ conf->min_def.chan = chan; conf->min_def.width = NL80211_CHAN_WIDTH_20_NOHT; conf->min_def.center_freq1 = chan->center_freq; conf->min_def.center_freq2 = 0; - IMPROVE("currently 20_NOHT only"); + IMPROVE("currently 20_NOHT min_def only"); /* Set bss info (bss_info_changed). */ bss_changed = 0; @@ -1009,6 +1127,15 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int vif->bss_conf.chandef.width = conf->def.width; vif->bss_conf.chandef.center_freq1 = conf->def.center_freq1; +#ifdef LKPI_80211_HT + if (vif->bss_conf.chandef.width == NL80211_CHAN_WIDTH_40) { + /* Note: it is 10 not 20. */ + if (IEEE80211_IS_CHAN_HT40U(ni->ni_chan)) + vif->bss_conf.chandef.center_freq1 += 10; + else if (IEEE80211_IS_CHAN_HT40D(ni->ni_chan)) + vif->bss_conf.chandef.center_freq1 -= 10; + } +#endif vif->bss_conf.chandef.center_freq2 = conf->def.center_freq2; } else { @@ -1651,6 +1778,11 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int IMPROVE("net80211 does not consider node authorized"); } +#if defined(LKPI_80211_HT) + IMPROVE("Is this the right spot, has net80211 done all updates already?"); + lkpi_sta_sync_ht_from_ni(sta, ni, NULL); +#endif + /* Update sta_state (ASSOC to AUTHORIZED). */ KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); KASSERT(lsta->state == IEEE80211_STA_ASSOC, ("%s: lsta %p state not " @@ -2464,6 +2596,10 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], #endif } +#ifdef LKPI_80211_HT + /* Stay with the iv_ampdu_rxmax,limit / iv_ampdu_density defaults until later. */ +#endif + ieee80211_ratectl_init(vap); /* Complete setup. */ @@ -3075,6 +3211,9 @@ lkpi_ic_set_channel(struct ieee80211com *ic) hw = LHW_TO_HW(lhw); cfg80211_chandef_create(&hw->conf.chandef, chan, +#ifdef LKPI_80211_HT + (ic->ic_htcaps & IEEE80211_HTC_HT) ? 0 : +#endif NL80211_CHAN_NO_HT); error = lkpi_80211_mo_config(hw, IEEE80211_CONF_CHANGE_CHANNEL); @@ -3363,6 +3502,13 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) info->control.flags |= IEEE80211_TX_CTRL_PORT_CTRL_PROTO; info->control.vif = vif; /* XXX-BZ info->control.rates */ +#ifdef __notyet__ +#ifdef LKPI_80211_HT + info->control.rts_cts_rate_idx= + info->control.use_rts= /* RTS */ + info->control.use_cts_prot= /* RTS/CTS*/ +#endif +#endif lsta = lkpi_find_lsta_by_ni(lvif, ni); if (lsta != NULL) { @@ -3469,6 +3615,291 @@ lkpi_ic_transmit(struct ieee80211com *ic, struct mbuf *m) return (lkpi_ic_raw_xmit(ni, m, NULL)); } +#ifdef LKPI_80211_HT +static int +lkpi_ic_recv_action(struct ieee80211_node *ni, const struct ieee80211_frame *wh, + const uint8_t *frm, const uint8_t *efrm) +{ + struct ieee80211com *ic; + struct lkpi_hw *lhw; + + ic = ni->ni_ic; + lhw = ic->ic_softc; + + IMPROVE_HT(); + + return (lhw->ic_recv_action(ni, wh, frm, efrm)); +} + +static int +lkpi_ic_send_action(struct ieee80211_node *ni, int category, int action, void *sa) +{ + struct ieee80211com *ic; + struct lkpi_hw *lhw; + + ic = ni->ni_ic; + lhw = ic->ic_softc; + + IMPROVE_HT(); + + return (lhw->ic_send_action(ni, category, action, sa)); +} + + +static int +lkpi_ic_ampdu_enable(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) +{ + struct ieee80211com *ic; + struct lkpi_hw *lhw; + + ic = ni->ni_ic; + lhw = ic->ic_softc; + + IMPROVE_HT(); + + return (lhw->ic_ampdu_enable(ni, tap)); +} + +static int +lkpi_ic_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, + int dialogtoken, int baparamset, int batimeout) +{ + struct ieee80211com *ic; + struct lkpi_hw *lhw; + + ic = ni->ni_ic; + lhw = ic->ic_softc; + + IMPROVE_HT(); + + return (lhw->ic_addba_request(ni, tap, dialogtoken, baparamset, batimeout)); +} + +static int +lkpi_ic_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, + int status, int baparamset, int batimeout) +{ + struct ieee80211com *ic; + struct lkpi_hw *lhw; + + ic = ni->ni_ic; + lhw = ic->ic_softc; + + IMPROVE_HT(); + + return (lhw->ic_addba_response(ni, tap, status, baparamset, batimeout)); +} + +static void +lkpi_ic_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) +{ + struct ieee80211com *ic; + struct lkpi_hw *lhw; + + ic = ni->ni_ic; + lhw = ic->ic_softc; + + IMPROVE_HT(); + + lhw->ic_addba_stop(ni, tap); +} + +static void +lkpi_ic_addba_response_timeout(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) +{ + struct ieee80211com *ic; + struct lkpi_hw *lhw; + + ic = ni->ni_ic; + lhw = ic->ic_softc; + + IMPROVE_HT(); + + lhw->ic_addba_response_timeout(ni, tap); +} + +static void +lkpi_ic_bar_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, + int status) +{ + struct ieee80211com *ic; + struct lkpi_hw *lhw; + + ic = ni->ni_ic; + lhw = ic->ic_softc; + + IMPROVE_HT(); + + lhw->ic_bar_response(ni, tap, status); +} + +static int +lkpi_ic_ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap, + int baparamset, int batimeout, int baseqctl) +{ + struct ieee80211com *ic; + struct lkpi_hw *lhw; + struct ieee80211_hw *hw; + struct ieee80211vap *vap; + struct lkpi_vif *lvif; + struct ieee80211_vif *vif; + struct lkpi_sta *lsta; + struct ieee80211_sta *sta; + struct ieee80211_ampdu_params params; + int error; + + ic = ni->ni_ic; + lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + vap = ni->ni_vap; + lvif = VAP_TO_LVIF(vap); + vif = LVIF_TO_VIF(lvif); + lsta = ni->ni_drv_data; + sta = LSTA_TO_STA(lsta); + + params.sta = sta; + params.action = IEEE80211_AMPDU_RX_START; + params.buf_size = _IEEE80211_MASKSHIFT(le16toh(baparamset), IEEE80211_BAPS_BUFSIZ); + if (params.buf_size == 0) + params.buf_size = IEEE80211_MAX_AMPDU_BUF_HT; + else + params.buf_size = min(params.buf_size, IEEE80211_MAX_AMPDU_BUF_HT); + if (params.buf_size > hw->max_rx_aggregation_subframes) + params.buf_size = hw->max_rx_aggregation_subframes; + params.timeout = le16toh(batimeout); + params.ssn = _IEEE80211_MASKSHIFT(le16toh(baseqctl), IEEE80211_BASEQ_START); + params.tid = _IEEE80211_MASKSHIFT(le16toh(baparamset), IEEE80211_BAPS_TID); + params.amsdu = false; + + IMPROVE_HT("Do we need to distinguish based on SUPPORTS_REORDERING_BUFFER?"); + + /* This may call kalloc. Make sure we can sleep. */ + error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); + if (error != 0) { + ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p rap %p\n", + __func__, error, ni, rap); + return (error); + } + IMPROVE_HT("net80211 is missing the error check on return and assumes success"); + + error = lhw->ic_ampdu_rx_start(ni, rap, baparamset, batimeout, baseqctl); + return (error); +} + +static void +lkpi_ic_ampdu_rx_stop(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap) +{ + struct ieee80211com *ic; + struct lkpi_hw *lhw; + struct ieee80211_hw *hw; + struct ieee80211vap *vap; + struct lkpi_vif *lvif; + struct ieee80211_vif *vif; + struct lkpi_sta *lsta; + struct ieee80211_sta *sta; + struct ieee80211_ampdu_params params; + int error; + uint8_t tid; + + ic = ni->ni_ic; + lhw = ic->ic_softc; + + /* + * We should not (cannot) call into mac80211 ops with AMPDU_RX_STOP if + * we did not START. Some drivers pass it down to firmware which will + * simply barf and net80211 calls ieee80211_ht_node_cleanup() from + * ieee80211_ht_node_init() amongst others which will iterate over all + * tid and call ic_ampdu_rx_stop() unconditionally. + * XXX net80211 should probably be more "gentle" in these cases and + * track some state itself. + */ + if ((rap->rxa_flags & IEEE80211_AGGR_RUNNING) == 0) + goto net80211_only; + + hw = LHW_TO_HW(lhw); + vap = ni->ni_vap; + lvif = VAP_TO_LVIF(vap); + vif = LVIF_TO_VIF(lvif); + lsta = ni->ni_drv_data; + sta = LSTA_TO_STA(lsta); + + IMPROVE_HT("This really should be passed from ht_recv_action_ba_delba."); + for (tid = 0; tid < WME_NUM_TID; tid++) { + if (&ni->ni_rx_ampdu[tid] == rap) + break; + } + + params.sta = sta; + params.action = IEEE80211_AMPDU_RX_STOP; + params.buf_size = 0; + params.timeout = 0; + params.ssn = 0; + params.tid = tid; + params.amsdu = false; + + error = lkpi_80211_mo_ampdu_action(hw, vif, ¶ms); + if (error != 0) + ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p rap %p\n", + __func__, error, ni, rap); + +net80211_only: + lhw->ic_ampdu_rx_stop(ni, rap); +} +#endif + +static void +lkpi_ic_getradiocaps_ht(struct ieee80211com *ic, struct ieee80211_hw *hw, + uint8_t *bands, int *chan_flags, enum nl80211_band band) +{ +#ifdef LKPI_80211_HT + struct ieee80211_sta_ht_cap *ht_cap; + + ht_cap = &hw->wiphy->bands[band]->ht_cap; + if (!ht_cap->ht_supported) + return; + + switch (band) { + case NL80211_BAND_2GHZ: + setbit(bands, IEEE80211_MODE_11NG); + break; + case NL80211_BAND_5GHZ: + setbit(bands, IEEE80211_MODE_11NA); + break; + default: + IMPROVE("Unsupported band %d", band); + return; + } + + ic->ic_htcaps = IEEE80211_HTC_HT; /* HT operation */ + + /* + * Rather than manually checking each flag and + * translating IEEE80211_HT_CAP_ to IEEE80211_HTCAP_, + * simply copy the 16bits. + */ + ic->ic_htcaps |= ht_cap->cap; + + /* Then deal with the other flags. */ + if (ieee80211_hw_check(hw, AMPDU_AGGREGATION)) + ic->ic_htcaps |= IEEE80211_HTC_AMPDU; +#ifdef __notyet__ + if (ieee80211_hw_check(hw, TX_AMSDU)) + ic->ic_htcaps |= IEEE80211_HTC_AMSDU; + if (ieee80211_hw_check(hw, SUPPORTS_AMSDU_IN_AMPDU)) + ic->ic_htcaps |= (IEEE80211_HTC_RX_AMSDU_AMPDU | + IEEE80211_HTC_TX_AMSDU_AMPDU); +#endif + + IMPROVE("PS, ampdu_*, ht_cap.mcs.tx_params, ..."); + ic->ic_htcaps |= IEEE80211_HTCAP_SMPS_OFF; + + /* Only add HT40 channels if supported. */ + if ((ic->ic_htcaps & IEEE80211_HTCAP_CHWIDTH40) != 0 && + chan_flags != NULL) + *chan_flags |= NET80211_CBW_FLAG_HT40; +#endif +} + static void lkpi_ic_getradiocaps(struct ieee80211com *ic, int maxchan, int *n, struct ieee80211_channel *c) @@ -3492,13 +3923,12 @@ lkpi_ic_getradiocaps(struct ieee80211com *ic, int maxchan, chan_flags = 0; setbit(bands, IEEE80211_MODE_11B); /* XXX-BZ unclear how to check for 11g. */ + + IMPROVE("the bitrates may have flags?"); setbit(bands, IEEE80211_MODE_11G); -#ifdef __notyet__ - if (hw->wiphy->bands[NL80211_BAND_2GHZ]->ht_cap.ht_supported) { - setbit(bands, IEEE80211_MODE_11NG); - chan_flags |= NET80211_CBW_FLAG_HT40; - } -#endif + + lkpi_ic_getradiocaps_ht(ic, hw, bands, &chan_flags, + NL80211_BAND_2GHZ); channels = hw->wiphy->bands[NL80211_BAND_2GHZ]->channels; for (i = 0; i < nchans && *n < maxchan; i++) { @@ -3548,11 +3978,11 @@ lkpi_ic_getradiocaps(struct ieee80211com *ic, int maxchan, memset(bands, 0, sizeof(bands)); chan_flags = 0; setbit(bands, IEEE80211_MODE_11A); -#ifdef __not_yet__ - if (hw->wiphy->bands[NL80211_BAND_5GHZ]->ht_cap.ht_supported) { - setbit(bands, IEEE80211_MODE_11NA); - chan_flags |= NET80211_CBW_FLAG_HT40; - } + + lkpi_ic_getradiocaps_ht(ic, hw, bands, &chan_flags, + NL80211_BAND_5GHZ); + +#ifdef LKPI_80211_VHT if (hw->wiphy->bands[NL80211_BAND_5GHZ]->vht_cap.vht_supported){ ic->ic_flags_ext |= IEEE80211_FEXT_VHT; @@ -3793,18 +4223,6 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) lhw->scan_flags |= LKPI_LHW_SCAN_HW; } -#ifdef __notyet__ - ic->ic_htcaps = IEEE80211_HTC_HT /* HT operation */ - | IEEE80211_HTC_AMPDU /* A-MPDU tx/rx */ - | IEEE80211_HTC_AMSDU /* A-MSDU tx/rx */ - | IEEE80211_HTCAP_MAXAMSDU_3839 - /* max A-MSDU length */ - | IEEE80211_HTCAP_SMPS_OFF; /* SM power save off */ - ic->ic_htcaps |= IEEE80211_HTCAP_SHORTGI20; - ic->ic_htcaps |= IEEE80211_HTCAP_CHWIDTH40 | IEEE80211_HTCAP_SHORTGI40; - ic->ic_htcaps |= IEEE80211_HTCAP_TXSTBC; -#endif - /* * The wiphy variables report bitmasks of avail antennas. * (*get_antenna) get the current bitmask sets which can be @@ -3863,6 +4281,33 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) lhw->ic_node_free = ic->ic_node_free; ic->ic_node_free = lkpi_ic_node_free; +#ifdef LKPI_80211_HT + lhw->ic_recv_action = ic->ic_recv_action; + ic->ic_recv_action = lkpi_ic_recv_action; + lhw->ic_send_action = ic->ic_send_action; + ic->ic_send_action = lkpi_ic_send_action; + + lhw->ic_ampdu_enable = ic->ic_ampdu_enable; + ic->ic_ampdu_enable = lkpi_ic_ampdu_enable; + + lhw->ic_addba_request = ic->ic_addba_request; + ic->ic_addba_request = lkpi_ic_addba_request; + lhw->ic_addba_response = ic->ic_addba_response; + ic->ic_addba_response = lkpi_ic_addba_response; + lhw->ic_addba_stop = ic->ic_addba_stop; + ic->ic_addba_stop = lkpi_ic_addba_stop; + lhw->ic_addba_response_timeout = ic->ic_addba_response_timeout; + ic->ic_addba_response_timeout = lkpi_ic_addba_response_timeout; + + lhw->ic_bar_response = ic->ic_bar_response; + ic->ic_bar_response = lkpi_ic_bar_response; + + lhw->ic_ampdu_rx_start = ic->ic_ampdu_rx_start; + ic->ic_ampdu_rx_start = lkpi_ic_ampdu_rx_start; + lhw->ic_ampdu_rx_stop = ic->ic_ampdu_rx_stop; + ic->ic_ampdu_rx_stop = lkpi_ic_ampdu_rx_stop; +#endif + lkpi_radiotap_attach(lhw); /* @@ -3894,6 +4339,9 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) continue; cfg80211_chandef_create(&hw->conf.chandef, &channels[i], +#ifdef LKPI_80211_HT + (ic->ic_htcaps & IEEE80211_HTC_HT) ? 0 : +#endif NL80211_CHAN_NO_HT); break; } @@ -3911,7 +4359,6 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) /* * The maximum supported bitrates on any band + size for * DSSS Parameter Set give our per-band IE size. - * XXX-BZ FIXME add HT VHT ... later * SSID is the responsibility of the driver and goes on the side. * The user specified bits coming from the vap go into the * "common ies" fields. @@ -3929,6 +4376,15 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) lhw->scan_ie_len += 2 + 1; } +#if defined(LKPI_80211_HT) + if ((ic->ic_htcaps & IEEE80211_HTC_HT) != 0) + lhw->scan_ie_len += sizeof(struct ieee80211_ie_htcap); +#endif +#if defined(LKPI_80211_VHT) + if ((ic->ic_flags_ext & IEEE80211_FEXT_VHT) != 0) + lhw->scan_ie_len += 2 + sizeof(struct ieee80211_vht_cap); +#endif + /* Reduce the max_scan_ie_len "left" by the amount we consume already. */ if (hw->wiphy->max_scan_ie_len > 0) { if (lhw->scan_ie_len > hw->wiphy->max_scan_ie_len) @@ -4328,8 +4784,9 @@ no_trace_beacons: * net80211 should take care of the other information (sync_tsf, * sync_dtim_count) as otherwise we need to parse the beacon. */ - } skip_device_ts: + ; + } if (vap != NULL && vap->iv_state > IEEE80211_S_INIT && ieee80211_radiotap_active_vap(vap)) { diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index 74dc3c9f9dee..ef1f841e4f22 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -62,11 +62,20 @@ #define D80211_TRACEX_DUMP (D80211_TRACE_TX_DUMP|D80211_TRACE_RX_DUMP) #define D80211_TRACE_STA 0x00010000 #define D80211_TRACE_MO 0x00100000 +#define D80211_TRACE_MODE 0x0f000000 +#define D80211_TRACE_MODE_HT 0x01000000 +#define D80211_TRACE_MODE_VHT 0x02000000 +#define D80211_TRACE_MODE_HE 0x04000000 +#define D80211_TRACE_MODE_EHT 0x08000000 #define IMPROVE_TXQ(...) \ if (linuxkpi_debug_80211 & D80211_IMPROVE_TXQ) \ printf("%s:%d: XXX LKPI80211 IMPROVE_TXQ\n", __func__, __LINE__) +#define IMPROVE_HT(...) \ + if (linuxkpi_debug_80211 & D80211_TRACE_MODE_HT) \ + printf("%s:%d: XXX LKPI80211 IMPROVE_HT\n", __func__, __LINE__) + struct lkpi_radiotap_tx_hdr { struct ieee80211_radiotap_header wt_ihdr; uint8_t wt_flags; @@ -190,6 +199,29 @@ struct lkpi_hw { /* name it mac80211_sc? */ void (*ic_node_cleanup)(struct ieee80211_node *); void (*ic_node_free)(struct ieee80211_node *); + /* HT and later functions. */ + int (*ic_recv_action)(struct ieee80211_node *, + const struct ieee80211_frame *, + const uint8_t *, const uint8_t *); + int (*ic_send_action)(struct ieee80211_node *, + int, int, void *); + int (*ic_ampdu_enable)(struct ieee80211_node *, + struct ieee80211_tx_ampdu *); + int (*ic_addba_request)(struct ieee80211_node *, + struct ieee80211_tx_ampdu *, int, int, int); + int (*ic_addba_response)(struct ieee80211_node *, + struct ieee80211_tx_ampdu *, int, int, int); + void (*ic_addba_stop)(struct ieee80211_node *, + struct ieee80211_tx_ampdu *); + void (*ic_addba_response_timeout)(struct ieee80211_node *, + struct ieee80211_tx_ampdu *); + void (*ic_bar_response)(struct ieee80211_node *, + struct ieee80211_tx_ampdu *, int); + int (*ic_ampdu_rx_start)(struct ieee80211_node *, + struct ieee80211_rx_ampdu *, int, int, int); + void (*ic_ampdu_rx_stop)(struct ieee80211_node *, + struct ieee80211_rx_ampdu *); + #define LKPI_MAC80211_DRV_STARTED 0x00000001 uint32_t sc_flags; #define LKPI_LHW_SCAN_RUNNING 0x00000001 @@ -312,5 +344,8 @@ void lkpi_80211_mo_sta_pre_rcu_remove(struct ieee80211_hw *, int lkpi_80211_mo_set_key(struct ieee80211_hw *, enum set_key_cmd, struct ieee80211_vif *, struct ieee80211_sta *, struct ieee80211_key_conf *); +int lkpi_80211_mo_ampdu_action(struct ieee80211_hw *, struct ieee80211_vif *, + struct ieee80211_ampdu_params *); + #endif /* _LKPI_SRC_LINUX_80211_H */ diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c index 8f75b1bdf8b1..06bf1a58fef1 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c +++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c @@ -696,3 +696,25 @@ lkpi_80211_mo_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, out: return (error); } + +int +lkpi_80211_mo_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, + struct ieee80211_ampdu_params *params) +{ + struct lkpi_hw *lhw; + int error; + + lhw = HW_TO_LHW(hw); + if (lhw->ops->ampdu_action == NULL) { + error = EOPNOTSUPP; + goto out; + } + + LKPI_80211_TRACE_MO("hw %p vif %p params %p { %p, %d, %u, %u, %u, %u, %d }", + hw, vif, params, params->sta, params->action, params->buf_size, + params->timeout, params->ssn, params->tid, params->amsdu); + error = lhw->ops->ampdu_action(hw, vif, params); + +out: + return (error); +} From nobody Mon Feb 19 08:07:45 2024 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 4TdZsG1LQgz5B2pH; Mon, 19 Feb 2024 08:07: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 4TdZsF6GXfz4KHc; Mon, 19 Feb 2024 08:07:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7MrIM17flnfbSg84KsL8UzeUtK+Mp92o5FoKmQLwuYk=; b=PB79kRJjvet5UyUBAqDBwhptvIRIzicIkl1XN1fS6ha6boGYpY/6lK5Bss9CldSmlnOnZw pul3lsABz5KSKfmt4GMjGyQpNtOY9+LlbmBWNvJKRFtlQVMsp5bywIekrP0kV25jouHeIb a1rndEr96bPNhRQwc8LXjZv8J/bIl3Y7XYB9WSRDw7URNi2BdG5XYY9Q2hW2M593WszWjX iQF2byMaxC0arnuKY8VnoHfNKeRGUA1i9CqO207bZOtjqWOP6m3P4haMMn8VXRvZ0MOrfL PToZ7YKUurSW8KZVQ+ZxVqYCoY8v8XhGl6dESq/Pg6nbSCB/kM7bRpizFPl+xA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7MrIM17flnfbSg84KsL8UzeUtK+Mp92o5FoKmQLwuYk=; b=eJ6Jx//9YlhZvl1CzCu/qlCy8mHex9BgZzmmqg7Pp1fdtOGAdRAJjSgE8nqrYCuJcHSF1Q Z90m0PtawsOpo870zKZHIYexwbizC+uCUw5xWRBIGkw37joTIpoibZz1J6+IiL1mytJSFh YC5L1sWqZpzfH7K1tZT2685EWrtRhzep9pnonRwT5tqTC4IdsyZxytj8eItEBXGybaHWkg OkRPy1seLHeG8+TwIvZJAqWP+DqafBWSnGGDen8IvEi64BrmrCMF+orhMBJfGaxi5/isIW xEd8+i3w0m23kcNgDtVu425L7ZQ4Cb0Hpb1jECvFCqKWgQuJNCp75+vJfXBWHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330065; a=rsa-sha256; cv=none; b=wsPoVBV5tlzGMtHa6a1WeP1QDuQD0owlBySLoTS2VPuL8wg08OhDkm/hv862fTIEePXwCN Hus9PlAue3ZZ3319aLhd/go1KwEYHamA0Di9Cg6bcQ/KpXyoMUGINcNaGKjxQeJ8oI/N89 atIKXOf/VnXMtNVzEVtpCec7dEGnIzT25qyz/ZOrZPnYWMvSGSJIjMdiob99rfdLFbk4Wu 9CUWE1z1vvZI3UiIETvIBMz4KpgGdctTY0YhBulShvkxXsk2WM8JJXmug4ELFLQt1RbE1T bnoestyvSgq8b/2qtZm/Ldy45HQBmlgOevjQFjNhENWdoUf+M4iwbuxJLwJQog== 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 4TdZsF55kSzRKm; Mon, 19 Feb 2024 08:07: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 41J87ja7015674; Mon, 19 Feb 2024 08:07:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87jpX015671; Mon, 19 Feb 2024 08:07:45 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:45 GMT Message-Id: <202402190807.41J87jpX015671@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 97186b5cf5aa - stable/13 - wpa: ctrl_iface set sendbuf size 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 97186b5cf5aa1d97f1a4e8e1b811315a39fb163d Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=97186b5cf5aa1d97f1a4e8e1b811315a39fb163d commit 97186b5cf5aa1d97f1a4e8e1b811315a39fb163d Author: Bjoern A. Zeeb AuthorDate: 2023-11-12 20:33:41 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:01:59 +0000 wpa: ctrl_iface set sendbuf size In order to avoid running into the default net.local.dgram.maxdgram of 2K currently when calling sendto(2) try to set the sndbuf size to the maximum ctrl message size. While on 14 and 15 this does not actually raise the limit anymore (and be7c095ac99ad29fd72b780c7d58949a38656c66 raised it for syslogd and this), FreeBSD 13 still requires this change and it will work as expected there. In addition we always ensure a large enough send buffer this way independent of kernel defaults. The problem occured, e.g., when the scan_list result had enough BSSIDs so the text output would exceed 2048 bytes. Sponsored by: The FreeBSD Foundation PR: 274990 Reviewed by: cy, adrian (with previous comment) Differential Revision: https://reviews.freebsd.org/D42558 (cherry picked from commit 1edc20b76953d9ef571b0bcf89b206b98ed13d9b) --- contrib/wpa/wpa_supplicant/ctrl_iface_unix.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c b/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c index 639573dae75e..deeed2b11833 100644 --- a/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c +++ b/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c @@ -506,6 +506,10 @@ static int wpas_ctrl_iface_open_sock(struct wpa_supplicant *wpa_s, struct group *grp; char *endp; int flags; +#if defined(__FreeBSD__) + int optval, rc; + socklen_t optlen; +#endif buf = os_strdup(wpa_s->conf->ctrl_interface); if (buf == NULL) @@ -679,6 +683,22 @@ havesock: } } +#if defined(__FreeBSD__) + /* Ensure we can send a full length message atomically. */ + optval = 0; + optlen = sizeof(optval); + if (getsockopt(priv->sock, SOL_SOCKET, SO_SNDBUF, &optval, &optlen) == -1) { + wpa_printf(MSG_INFO, "failed to get sndbuf for sock=%d: %s", + priv->sock, strerror(errno)); + } else if (optval < CTRL_IFACE_MAX_LEN) { + optval = CTRL_IFACE_MAX_LEN; + if (setsockopt(priv->sock, SOL_SOCKET, SO_SNDBUF, &optval, + sizeof(optval)) == -1) + wpa_printf(MSG_ERROR, "failed to set sndbuf for " + "sock=%d: %s", priv->sock, strerror(errno)); + } +#endif + eloop_register_read_sock(priv->sock, wpa_supplicant_ctrl_iface_receive, wpa_s, priv); wpa_msg_register_cb(wpa_supplicant_ctrl_iface_msg_cb); From nobody Mon Feb 19 08:07:46 2024 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 4TdZsH193Kz5B302; Mon, 19 Feb 2024 08:07: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 4TdZsG6pFtz4KG4; Mon, 19 Feb 2024 08:07:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330067; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H9MC1TIzJq9pOrensah1RoxpLk11FW6SWA0sdufjrLo=; b=WQfQtqyeBoiBdO1r+Pqp/Xj999oz+0h47vNwURLfdulJ9PMe859nxgTv20/OideIQuzoct S/GVEy8w36tBY4H0J6L78HAFZGyF3A4it001Kc52DOYVXF+huaQpYBozNVgkUzJ6JQw2oe WVpXM9aasOz9wg+Iw1S1munFd6amRqFgf1cDE2I5jSPWCt5z4ByG9lOIFL9GZAW+yPRl/i lLNLN0BUaBJHV4OP9qZWGPQifL03mnwuSs8vFDCChQfzwsT+0mlxLFfhoIZQtsbXkFN2zK iv+nE8f/4n4qKF+Ox1/NU/oTqFIAVJS4FBVnZY53BEvM8Am8s6Ot83uyAlfvLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330067; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H9MC1TIzJq9pOrensah1RoxpLk11FW6SWA0sdufjrLo=; b=e3YECvUPvrt41bFrO2ubc6D4b88HZjehxI3Pzf8/OVjPQKrABucZ2EhSXNr6PtGfd1M5qX BKcho/6oS+XgHYsRm4LBRpK5Fo7y2c7jkh73rpUyaiwf57Ywk2X9FBm6yu+yjU9RraU6g+ ecqTxln595zMVuGktWeFT9hpZkpDGHNlSLZVNblYCRadsWJYdo7W7q14eQrdvCVwvRACMM r0UuBdoFqwOYpcW+jb9IKIHxuZV2pgymWd4DD0c2aalirBBem88c9YXHQErXR+aDT8Emqe 4s5ohDJ4U4St5sG24FWBTf0vQD2kBIbXc5BYBbiceGpaMcAZULM7H2XK7Tja7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330067; a=rsa-sha256; cv=none; b=CMvfUuCZE6Otd+eNe7n5/uVAuJgZVxgHXrYSvs7ajGR7Bim/Hnu24UR1V96bIVdfLfJgwQ kStkyb5jjKjdT1pC5hJnu5b+MLZ/z3ix+GS7xhjkpWSp982EimrHZz2y/3CIt57lXeeUDG JWkiu87TyUAksOZjL5ZxiV2KG2X86woB2mV//OVbwe+xkVvmjPBTnnN2QYQ342do79DW9B 70H3kvRvNpYYZGas5exhvR+AELH1xKBVWzUbGSl4VnJUgMnX0b0dLVix9kfMnE9ZHxJcKG YR9sRI7SiBqbiG9t0i585TXq4a1QcTv1Qv5rp4XUeOh7gYodcRe6DKA0zrj89Q== 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 4TdZsG5vgVzR83; Mon, 19 Feb 2024 08:07: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 41J87klj015716; Mon, 19 Feb 2024 08:07:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87kco015713; Mon, 19 Feb 2024 08:07:46 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:46 GMT Message-Id: <202402190807.41J87kco015713@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 0f032804b6ec - stable/13 - bwn: remove unused ic_headroom 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0f032804b6ec70c8f8ee4fe1ed83a3356946b5e8 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0f032804b6ec70c8f8ee4fe1ed83a3356946b5e8 commit 0f032804b6ec70c8f8ee4fe1ed83a3356946b5e8 Author: Frank Hilgendorf AuthorDate: 2023-12-13 23:48:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:01:59 +0000 bwn: remove unused ic_headroom Unlike bwi(4), bwn(4) does not rely on ic_headroom (despite having it set) but splits the bwn_txhdr (first) segment into its own transaction. Remove ic_headroom to avoid net80211 troubles with not enough space in the mbuf around ieee80211_mbuf_adjust(). PR: 275616 (cherry picked from commit 59dba901f227420647e4856f03cb782a3375c220) --- sys/dev/bwn/if_bwn.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/bwn/if_bwn.c b/sys/dev/bwn/if_bwn.c index e104f359ee42..b90dc2dbeab7 100644 --- a/sys/dev/bwn/if_bwn.c +++ b/sys/dev/bwn/if_bwn.c @@ -808,8 +808,6 @@ bwn_attach_post(struct bwn_softc *sc) /* call MI attach routine. */ ieee80211_ifattach(ic); - ic->ic_headroom = sizeof(struct bwn_txhdr); - /* override default methods */ ic->ic_raw_xmit = bwn_raw_xmit; ic->ic_updateslot = bwn_updateslot; From nobody Mon Feb 19 08:07:47 2024 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 4TdZsJ4Blgz5B2s0; Mon, 19 Feb 2024 08:07: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 4TdZsJ0ws2z4K4x; Mon, 19 Feb 2024 08:07:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NuyHHmnvfAAJUaPUhrCTDrsKSj+9zVzd0BNjYqFRDgU=; b=kZe+w8zuQvaVtfqyWbgZgEd6k/0Tpfz5zEMp/bcPUcKkTQz3lDpzk2wlAqMzblKc8zVlKI YhlbFmzFIGJp/ry1uo53sRuV2ocYYq/RBOK7ZEhePEaJXb6K/2g6AelIvonl64qo59AYoo eq7GbMy17SG7C+6KexV+lCckNYc22ZF//NCt+F5Gf/0z4dlnYskltKm7bE5nlFOpar4o+M 7cTPwPCYfEZVatvI8kLVSHgMwEmrEcCl9/93SYPH+vOFrv2UuOt3ASveQeDrTp/PWAmKty yiP5DJZhOBaAj233OABTnktCgKqORi9aalhK1h98MEr1D4vjiz+1OchwVJSVlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NuyHHmnvfAAJUaPUhrCTDrsKSj+9zVzd0BNjYqFRDgU=; b=HXeWodGk2GFRV+4Owf5zOUDzn+s2GUlaXoukl3AdKMp60A505eBH+EIRzGO9j+QHHu0w/Q Uosra8JIlejYYMz+HDDupXtsC+cp4ttTZblH2cfsq78KiQ9GUIkc4I9nRc3C/qiFQ+3hIb cpkX8sUe5hdXu+fah375wqoU55jgd/cLy/bV466prjUy6l8a01EgsTvbB+tVZpBc3xqqpM WsGOUpGE00VRSyh6KI8MR1vixrQURmVKFXJCy8O7dirJlh+ejJatzrT0gfS+KSqUwYyUR4 0y8VRzMhOCb0ICk46NLmGXII3QcoPCaemBmL67qI3ZHMw/+ytxv3Bobw84jHMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330068; a=rsa-sha256; cv=none; b=RQrIXq9bLarSaMmAgwv17KIyFBGjL7nstJh79HchpMzjS6n65rgct+AQsnnXjhUpbNXzaP PAE3mDsdjmCGhIEHw0+XsROO4Xai1NWvb4LTTtSPYKpq60WVfOIfc8b9Y1KdfPnCoqsJRl foQFfszyX7/mQ2TRIv0iDQJ+nB+unFdASAc4bdvYNHPMOu0ZzDzityz3BntUCpJ0zghBcq UnjoXPOl5XjVvuhFbtbGMuFZz/3XXo2qiZbtpe2TvoDdZ6thYHi/NthEmeC1tNWj3oQqEI C2WHcX5P9tMMu8e5o+dVM8xz/7XXOUEsD1yzCOoLeC6h/dXLRThnj8d2O5NpoQ== 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 4TdZsJ02FSzR84; Mon, 19 Feb 2024 08:07: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 41J87lfX015768; Mon, 19 Feb 2024 08:07:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87lht015765; Mon, 19 Feb 2024 08:07:47 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:47 GMT Message-Id: <202402190807.41J87lht015765@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3df959638baa - stable/13 - LinuxKPI: 802.11: more TXQ implementation and locking 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3df959638baa60c1c88e9ac66289502f99ad8418 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3df959638baa60c1c88e9ac66289502f99ad8418 commit 3df959638baa60c1c88e9ac66289502f99ad8418 Author: Bjoern A. Zeeb AuthorDate: 2023-12-12 01:59:17 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:00 +0000 LinuxKPI: 802.11: more TXQ implementation and locking Implement ieee80211_handle_wake_tx_queue() and ieee80211_tx_dequeue_ni() while looking at the code. They are needed by various wireless drivers. Introduce an ltxq lock and protect the skbq by that. This prevents panics due to a race between a driver upcall and the net80211 tx downcall. While the former should be rcu protected we cannot rely on that. It remains questionable if we need to protect further fields there (with a different lock?). Also introduce a txq_mtx on the lhw which needs to be further deployed but we need to come up with a good strategy to not end up with 7 different locks. Sponsored by: The FreeBSD Foundation PR: 274178, 275710 Tested by: cc (cherry picked from commit eac3646fcdd445297cade756630335e23e92ea13) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 27 +++++---- sys/compat/linuxkpi/common/src/linux_80211.c | 67 +++++++++++++++++++++-- sys/compat/linuxkpi/common/src/linux_80211.h | 29 +++++++++- 3 files changed, 107 insertions(+), 16 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index fa36bd84ac6e..c4d001b3a7e8 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1117,6 +1117,8 @@ void linuxkpi_ieee80211_txq_schedule_start(struct ieee80211_hw *, uint8_t); struct ieee80211_txq *linuxkpi_ieee80211_next_txq(struct ieee80211_hw *, uint8_t); void linuxkpi_ieee80211_schedule_txq(struct ieee80211_hw *, struct ieee80211_txq *, bool); +void linuxkpi_ieee80211_handle_wake_tx_queue(struct ieee80211_hw *, + struct ieee80211_txq *); /* -------------------------------------------------------------------------- */ @@ -1681,7 +1683,7 @@ static inline void ieee80211_return_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq, bool withoutpkts) { - linuxkpi_ieee80211_schedule_txq(hw, txq, true); + linuxkpi_ieee80211_schedule_txq(hw, txq, withoutpkts); } static inline void @@ -1706,7 +1708,7 @@ static inline void ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { - TODO(); + linuxkpi_ieee80211_handle_wake_tx_queue(hw, txq); } /* -------------------------------------------------------------------------- */ @@ -2197,13 +2199,25 @@ ieee80211_tkip_add_iv(u8 *crypto_hdr, struct ieee80211_key_conf *keyconf, TODO(); } -static __inline struct sk_buff * +static inline struct sk_buff * ieee80211_tx_dequeue(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { return (linuxkpi_ieee80211_tx_dequeue(hw, txq)); } +static inline struct sk_buff * +ieee80211_tx_dequeue_ni(struct ieee80211_hw *hw, struct ieee80211_txq *txq) +{ + struct sk_buff *skb; + + local_bh_disable(); + skb = linuxkpi_ieee80211_tx_dequeue(hw, txq); + local_bh_enable(); + + return (skb); +} + static __inline void ieee80211_update_mu_groups(struct ieee80211_vif *vif, u_int _i, uint8_t *ms, uint8_t *up) @@ -2456,13 +2470,6 @@ ieee80211_stop_rx_ba_session_offl(struct ieee80211_vif *vif, uint8_t *addr, TODO(); } -static __inline struct sk_buff * -ieee80211_tx_dequeue_ni(struct ieee80211_hw *hw, struct ieee80211_txq *txq) -{ - TODO(); - return (NULL); -} - static __inline void ieee80211_tx_rate_update(struct ieee80211_hw *hw, struct ieee80211_sta *sta, struct ieee80211_tx_info *info) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 5a60380d15aa..b71deedb12b8 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -330,6 +330,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], ltxq->txq.sta = sta; TAILQ_ELEM_INIT(ltxq, txq_entry); skb_queue_head_init(<xq->skbq); + LKPI_80211_LTXQ_LOCK_INIT(ltxq); sta->txq[tid] = <xq->txq; } @@ -381,8 +382,13 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], return (lsta); cleanup: - for (; tid >= 0; tid--) + for (; tid >= 0; tid--) { + struct lkpi_txq *ltxq; + + ltxq = TXQ_TO_LTXQ(sta->txq[tid]); + LKPI_80211_LTXQ_LOCK_DESTROY(ltxq); free(sta->txq[tid], M_LKPI80211); + } free(lsta, M_LKPI80211); return (NULL); } @@ -976,6 +982,7 @@ lkpi_wake_tx_queues(struct ieee80211_hw *hw, struct ieee80211_sta *sta, { struct lkpi_txq *ltxq; int tid; + bool ltxq_empty; /* Wake up all queues to know they are allocated in the driver. */ for (tid = 0; tid < nitems(sta->txq); tid++) { @@ -994,7 +1001,10 @@ lkpi_wake_tx_queues(struct ieee80211_hw *hw, struct ieee80211_sta *sta, if (dequeue_seen && !ltxq->seen_dequeue) continue; - if (no_emptyq && skb_queue_empty(<xq->skbq)) + LKPI_80211_LTXQ_LOCK(ltxq); + ltxq_empty = skb_queue_empty(<xq->skbq); + LKPI_80211_LTXQ_UNLOCK(ltxq); + if (no_emptyq && ltxq_empty) continue; lkpi_80211_mo_wake_tx_queue(hw, sta->txq[tid]); @@ -3541,6 +3551,7 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) KASSERT(ltxq != NULL, ("%s: lsta %p sta %p m %p skb %p " "ltxq %p != NULL\n", __func__, lsta, sta, m, skb, ltxq)); + LKPI_80211_LTXQ_LOCK(ltxq); skb_queue_tail(<xq->skbq, skb); #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_TX) @@ -3553,6 +3564,7 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) skb_queue_len(<xq->skbq), ltxq->txq.ac, ltxq->txq.tid, ac, skb->priority, skb->qmap); #endif + LKPI_80211_LTXQ_UNLOCK(ltxq); lkpi_80211_mo_wake_tx_queue(hw, <xq->txq); return; } @@ -4075,6 +4087,7 @@ linuxkpi_ieee80211_alloc_hw(size_t priv_len, const struct ieee80211_ops *ops) LKPI_80211_LHW_LOCK_INIT(lhw); LKPI_80211_LHW_SCAN_LOCK_INIT(lhw); + LKPI_80211_LHW_TXQ_LOCK_INIT(lhw); sx_init_flags(&lhw->lvif_sx, "lhw-lvif", SX_RECURSE | SX_DUPOK); TAILQ_INIT(&lhw->lvif_head); for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { @@ -4113,9 +4126,10 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) lhw->ic = NULL; /* Cleanup more of lhw here or in wiphy_free()? */ - sx_destroy(&lhw->lvif_sx); - LKPI_80211_LHW_LOCK_DESTROY(lhw); + LKPI_80211_LHW_TXQ_LOCK_DESTROY(lhw); LKPI_80211_LHW_SCAN_LOCK_DESTROY(lhw); + LKPI_80211_LHW_LOCK_DESTROY(lhw); + sx_destroy(&lhw->lvif_sx); IMPROVE(); } @@ -5021,7 +5035,11 @@ linuxkpi_ieee80211_tx_dequeue(struct ieee80211_hw *hw, goto stopped; } + IMPROVE("hw(TX_FRAG_LIST)"); + + LKPI_80211_LTXQ_LOCK(ltxq); skb = skb_dequeue(<xq->skbq); + LKPI_80211_LTXQ_UNLOCK(ltxq); stopped: return (skb); @@ -5038,10 +5056,12 @@ linuxkpi_ieee80211_txq_get_depth(struct ieee80211_txq *txq, ltxq = TXQ_TO_LTXQ(txq); fc = bc = 0; + LKPI_80211_LTXQ_LOCK(ltxq); skb_queue_walk(<xq->skbq, skb) { fc++; bc += skb->len; } + LKPI_80211_LTXQ_UNLOCK(ltxq); if (frame_cnt) *frame_cnt = fc; if (byte_cnt) @@ -5594,13 +5614,17 @@ void linuxkpi_ieee80211_schedule_txq(struct ieee80211_hw *hw, { struct lkpi_hw *lhw; struct lkpi_txq *ltxq; + bool ltxq_empty; ltxq = TXQ_TO_LTXQ(txq); IMPROVE_TXQ("LOCKING"); /* Only schedule if work to do or asked to anyway. */ - if (!withoutpkts && skb_queue_empty(<xq->skbq)) + LKPI_80211_LTXQ_LOCK(ltxq); + ltxq_empty = skb_queue_empty(<xq->skbq); + LKPI_80211_LTXQ_UNLOCK(ltxq); + if (!withoutpkts && ltxq_empty) goto out; /* Make sure we do not double-schedule. */ @@ -5613,6 +5637,39 @@ out: return; } +void +linuxkpi_ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw, + struct ieee80211_txq *txq) +{ + struct lkpi_hw *lhw; + struct ieee80211_txq *ntxq; + struct ieee80211_tx_control control; + struct sk_buff *skb; + + lhw = HW_TO_LHW(hw); + + LKPI_80211_LHW_TXQ_LOCK(lhw); + ieee80211_txq_schedule_start(hw, txq->ac); + do { + ntxq = ieee80211_next_txq(hw, txq->ac); + if (ntxq == NULL) + break; + + memset(&control, 0, sizeof(control)); + control.sta = ntxq->sta; + do { + skb = linuxkpi_ieee80211_tx_dequeue(hw, ntxq); + if (skb == NULL) + break; + lkpi_80211_mo_tx(hw, &control, skb); + } while(1); + + ieee80211_return_txq(hw, ntxq, false); + } while (1); + ieee80211_txq_schedule_end(hw, txq->ac); + LKPI_80211_LHW_TXQ_UNLOCK(lhw); +} + /* -------------------------------------------------------------------------- */ struct lkpi_cfg80211_bss { diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index ef1f841e4f22..c9ac19321ab3 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -109,6 +109,7 @@ struct lkpi_radiotap_rx_hdr { struct lkpi_txq { TAILQ_ENTRY(lkpi_txq) txq_entry; + struct mtx ltxq_mtx; bool seen_dequeue; bool stopped; uint32_t txq_generation; @@ -184,6 +185,7 @@ struct lkpi_hw { /* name it mac80211_sc? */ struct sx sx; + struct mtx txq_mtx; uint32_t txq_generation[IEEE80211_NUM_ACS]; TAILQ_HEAD(, lkpi_txq) scheduled_txqs[IEEE80211_NUM_ACS]; @@ -279,13 +281,26 @@ struct lkpi_wiphy { mtx_destroy(&(_lhw)->scan_mtx); #define LKPI_80211_LHW_SCAN_LOCK(_lhw) \ mtx_lock(&(_lhw)->scan_mtx) -#define LKPI_80211_LHW_SCAN_UNLOCK(_lhw) \ +#define LKPI_80211_LHW_SCAN_UNLOCK(_lhw) \ mtx_unlock(&(_lhw)->scan_mtx) #define LKPI_80211_LHW_SCAN_LOCK_ASSERT(_lhw) \ mtx_assert(&(_lhw)->scan_mtx, MA_OWNED) #define LKPI_80211_LHW_SCAN_UNLOCK_ASSERT(_lhw) \ mtx_assert(&(_lhw)->scan_mtx, MA_NOTOWNED) +#define LKPI_80211_LHW_TXQ_LOCK_INIT(_lhw) \ + mtx_init(&(_lhw)->txq_mtx, "lhw-txq", NULL, MTX_DEF | MTX_RECURSE); +#define LKPI_80211_LHW_TXQ_LOCK_DESTROY(_lhw) \ + mtx_destroy(&(_lhw)->txq_mtx); +#define LKPI_80211_LHW_TXQ_LOCK(_lhw) \ + mtx_lock(&(_lhw)->txq_mtx) +#define LKPI_80211_LHW_TXQ_UNLOCK(_lhw) \ + mtx_unlock(&(_lhw)->txq_mtx) +#define LKPI_80211_LHW_TXQ_LOCK_ASSERT(_lhw) \ + mtx_assert(&(_lhw)->txq_mtx, MA_OWNED) +#define LKPI_80211_LHW_TXQ_UNLOCK_ASSERT(_lhw) \ + mtx_assert(&(_lhw)->txq_mtx, MA_NOTOWNED) + #define LKPI_80211_LHW_LVIF_LOCK(_lhw) sx_xlock(&(_lhw)->lvif_sx) #define LKPI_80211_LHW_LVIF_UNLOCK(_lhw) sx_xunlock(&(_lhw)->lvif_sx) @@ -295,6 +310,18 @@ struct lkpi_wiphy { #define LKPI_80211_LSTA_LOCK(_lsta) mtx_lock(&(_lsta)->txq_mtx) #define LKPI_80211_LSTA_UNLOCK(_lsta) mtx_unlock(&(_lsta)->txq_mtx) +#define LKPI_80211_LTXQ_LOCK_INIT(_ltxq) \ + mtx_init(&(_ltxq)->ltxq_mtx, "ltxq", NULL, MTX_DEF); +#define LKPI_80211_LTXQ_LOCK_DESTROY(_ltxq) \ + mtx_destroy(&(_ltxq)->ltxq_mtx); +#define LKPI_80211_LTXQ_LOCK(_ltxq) \ + mtx_lock(&(_ltxq)->ltxq_mtx) +#define LKPI_80211_LTXQ_UNLOCK(_ltxq) \ + mtx_unlock(&(_ltxq)->ltxq_mtx) +#define LKPI_80211_LTXQ_LOCK_ASSERT(_ltxq) \ + mtx_assert(&(_ltxq)->ltxq_mtx, MA_OWNED) +#define LKPI_80211_LTXQ_UNLOCK_ASSERT(_ltxq) \ + mtx_assert(&(_ltxq)->ltxq_mtx, MA_NOTOWNED) int lkpi_80211_mo_start(struct ieee80211_hw *); void lkpi_80211_mo_stop(struct ieee80211_hw *); From nobody Mon Feb 19 08:07:49 2024 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 4TdZsK4c4jz5B2mh; Mon, 19 Feb 2024 08:07: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 4TdZsK27HGz4KDF; Mon, 19 Feb 2024 08:07:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5plwleapRWprJnJY/HoajrzYwgbIXeQtQTKbYewmC2s=; b=ZZAK+4SKRUpkH5rah0PCM1iQMYJ+3YrB3bPmYFWhkH130uQOwWyhXahPUW+8kGhdGdyDWB 6iPJtDbtBh3ut7sYTXN02SF78lUE+jhJcyIHel82oMdSJhAUgwj07OZi2qqZlAz3foMRk1 yvub4qS4L9vHHoZDc0AWssJMp+wn2FKY6jE+eBsezShlTh50cvxwSKY4220vAI3jfAlQOs PpigCzgzMkIdc+PJPD4xhLudxPOp1EBuWOY/iD7zD8mAEr6hwQ+s5LdIYuEZC3AQbfqtqf u6jBfAaCgBKkG2vtbvBF4z1F61Rn6c/vgHf30h1fFgaNhcYRK9DfgJOlGIsxkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5plwleapRWprJnJY/HoajrzYwgbIXeQtQTKbYewmC2s=; b=S0fSKKz91OgCstrgiZhBU1iqMVEzS1j5J706rWJjqC7MKVEgEePhVnOGVnGp6i9sg/Gske pMqzDz3Y2RXOxFigx1lLhZILF+9mWYBT1R+2sSQG4lbr0HYFyoS+GZ3o9vD+tluEwpEyBb yFxpipfITO7hIZbJHg5FqBLrQJRWsYWG8r0vv4z9QcChVgf687dt73pS/ggK/igtqC1xwt t1v5td+ukMpzeCKDd/7TEDjYIktVIPHd7oVrILd2IMFCGltD4Iv4wMg83IVYKsSx6aPYpe ZnePVg715/MnTdBL2zxtVMtNQC+hFD3MtzBGMuU8z0umkCj+X4QGBtURWv5GpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330069; a=rsa-sha256; cv=none; b=GL+IjuC2xwhyxFdRnwWWPXt4Is0Q5rewEY0UiDmY6aTSEhszIHklCtlXJYUSsSY3laIjCC Vks8aqv03tIjsQKJG0ANqjGOwIhwkETx4XvLou/5UBsA5xMcSyJ6ruYnc/NN+Ywo2N80NT JNoqZ6qKwe1gbwebctIxehxIXG9c0f0A/Swv5iFP9QAchBoK7NuR3mqwvSonivX83RIWDG IZu0rwcEBB9mBGpCwqrIuf7b6/Fd/YnXIicVtjbvrCHePQSPMCiSBK9BElEWNw2R8Ly4ZC qbBACKjwN6V+7dRI5ryAhCFL9fVT/oUOZoE5ajgpEAu7dUfkdr+z5GVmOJImCg== 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 4TdZsK1F5yzRW1; Mon, 19 Feb 2024 08:07: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 41J87nsv015819; Mon, 19 Feb 2024 08:07:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87nqK015816; Mon, 19 Feb 2024 08:07:49 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:49 GMT Message-Id: <202402190807.41J87nqK015816@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a2764047702d - stable/13 - net80211: improve logging about state transitions lost 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a2764047702db519aca9e1b3cf6b475e5a723c65 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a2764047702db519aca9e1b3cf6b475e5a723c65 commit a2764047702db519aca9e1b3cf6b475e5a723c65 Author: Bjoern A. Zeeb AuthorDate: 2023-11-12 23:51:14 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:00 +0000 net80211: improve logging about state transitions lost It is possible that we call ieee80211_new_state_locked() again before a previous task finished to completion (not run yet or unlocked in between) since 5efea30f039c4 (and follow-up). In either case we would overwrite the new state and argument in the vap. While most drivers somehow deal with that (or not), LinuxKPI 802.11 compat code has KASSERTs to keep net80211, LinuxKPI and driver/firmware state in sync and they may trigger due to a missing transition or more likely a changed ni/lsta. Enhance the wlandebug +state logging for these cases so they are easier to debug. While here remove the unconditional logging to the message buffer; it has been here for a good decade but not helped to actually identify and sort the problem. Sponsored by: The FreeBSD Foundation Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D42560 (cherry picked from commit 72bb33a36b62fa30f69f01d3f6ae372be2c95b59) --- sys/net80211/ieee80211_proto.c | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index f6d144169c48..cf467c08462c 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -2510,6 +2510,13 @@ ieee80211_newstate_cb(void *xvap, int npending) nstate = vap->iv_nstate; arg = vap->iv_nstate_arg; + IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, + "%s:%d: running state update %s -> %s (%d)\n", + __func__, __LINE__, + ieee80211_state_name[vap->iv_state], + ieee80211_state_name[vap->iv_nstate], + npending); + if (vap->iv_flags_ext & IEEE80211_FEXT_REINIT) { /* * We have been requested to drop back to the INIT before @@ -2677,29 +2684,30 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, * until this is completed. */ IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, - "%s: %s -> %s (%s) transition discarded\n", - __func__, + "%s:%d: %s -> %s (%s) transition discarded\n", + __func__, __LINE__, ieee80211_state_name[vap->iv_state], ieee80211_state_name[nstate], ieee80211_state_name[vap->iv_nstate]); return -1; } else if (vap->iv_state != vap->iv_nstate) { -#if 0 /* Warn if the previous state hasn't completed. */ IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, - "%s: pending %s -> %s transition lost\n", __func__, + "%s:%d: pending %s -> %s (now to %s) transition lost\n", + __func__, __LINE__, ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate]); -#else - /* XXX temporarily enable to identify issues */ - if_printf(vap->iv_ifp, - "%s: pending %s -> %s transition lost\n", - __func__, ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate]); -#endif + ieee80211_state_name[vap->iv_nstate], + ieee80211_state_name[nstate]); } } + IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, + "%s:%d: starting state update %s -> %s (%s)\n", + __func__, __LINE__, + ieee80211_state_name[vap->iv_state], + ieee80211_state_name[vap->iv_nstate], + ieee80211_state_name[nstate]); + nrunning = nscanning = 0; /* XXX can track this state instead of calculating */ TAILQ_FOREACH(vp, &ic->ic_vaps, iv_next) { From nobody Mon Feb 19 08:07:50 2024 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 4TdZsL4lQVz5B2s5; Mon, 19 Feb 2024 08:07: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 4TdZsL3Tczz4K80; Mon, 19 Feb 2024 08:07:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wof61PzbTtoyrZ84qMYmRSMOugP82pTgO0Mbh2wPJvg=; b=F8LFRbxOG4mrzL88Ywzq817XynN4RO5BSAFg3f5FF3Ks1zJPcdCIlFR5YSaTrVNbiWFMq+ MKC/j2bm4tjLXCnUZmPspWfUb0ncrO7yw+ysOPKygerxP1Pq2DKNc7FBmM4Z5FIjoyn82l COAR71ekfsq8NkbfBe7RWFWqvBo7sxeN6nw68KnEkjnN7mw6+empa8mr/iqS5ozKdGwx4p ko8yAnAaQkG2tcMx4MVdVoEpJvwsRXMVOTWd22k5yEIi+baIqluCBzvLUz+7Npuc5+e7XN 3p3Ng0cajV73DrPI95lR4jQIUOEjbOh8XiwtJ2qi/oLyP9x9RFBvKtylSjt6IA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wof61PzbTtoyrZ84qMYmRSMOugP82pTgO0Mbh2wPJvg=; b=abOcKCffUjIME+iRvkKzjgSEBcSwBkqIE5x1Yk9yfo+W81iOSdtVjmYdjK4FAII/nYShXa Ed+6a2vDD73i0Bwnho4et4EmY7BnNAyhcbRJB5Q1EVdnWFbqkWToUPsDz4B4A9MpdZrb2G Z+Qn44/VyE4TOkbIxSyUU558zMWSbaPaQvvWoR+RrGNomGNZ8VnbyQodrU7ZnYqFfODQm3 dSKIscIR3LA7m8ujcyg6gA0tnLNTpx5OxDra00lUV4KTt23f3dMvgWrPGHfSvUmSS4pA0Q CtxXZjMPWZP8gdPAEV3/ritdi5oPRlWlL5A+KbrPSNDIwxgXqzwzochM/3c2YQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330070; a=rsa-sha256; cv=none; b=MrIY2RPfL/goHTB082Eo4N72Di5lBl6tLHYhVH2E533SvD69MJZpSPlH14tB48QJujzyOP 86VQ96fCqVq1iMlxrjUHxXithqsx/wUTDZROf2eIPVOIZcuB/txzGf6c0bSjJt97PcDb09 dT7Zkbi+pUTn3wwTnUE7b0cU25jz4ZbRVD3SIU43/cvx6uantruhOPXGdehoiO7SYHPqEf o8cZML7UGFQaTOfQEM5sheWnk41onWElFg1hSoRRDTUYtnTQ9wjrx9moR32T8dkvAGUyvc mozLUYSnqfNLN5k0eF5T1wKPvg6Yc8xxUDB6xsUSNAifeUTRYGFC9fT39QwEmg== 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 4TdZsL2ZtCzRGf; Mon, 19 Feb 2024 08:07: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 41J87ofn015873; Mon, 19 Feb 2024 08:07:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87oJp015870; Mon, 19 Feb 2024 08:07:50 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:50 GMT Message-Id: <202402190807.41J87oJp015870@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 9d5aef293d90 - stable/13 - net80211: adjust more VHT structures/fields 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9d5aef293d90de29adffed908ce391d799b1dae4 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9d5aef293d90de29adffed908ce391d799b1dae4 commit 9d5aef293d90de29adffed908ce391d799b1dae4 Author: Bjoern A. Zeeb AuthorDate: 2023-12-02 20:40:51 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:00 +0000 net80211: adjust more VHT structures/fields Replace ieee80211_ie_vhtcap with ieee80211_vht_cap and ieee80211_ie_vht_operation with ieee80211_vht_operation. The "ie" version has the two bytes type/length at the beginning which we did not actually use as such (the one place doing did just as unused extra work). Using the non-"ie" versions allows us to re-use them on shared code. Using an enum helps us to not accidentally get unsuppored or unhandled values tough we cannot use it in the struct as we need to ensure the field width. ieee80211_vht_operation is guarded by _KERNEL/WANT_NET80211. While the header is supposed to be exported to user land historically, software such as wpa bring their own structure definitions. For in-tree usage it is only ifconfig which really cares (at least for now). Sponsored by: The FreeBSD Foundation Reviewed by: adrian (earlier), cc Differential Revision: https://reviews.freebsd.org/D42901 (cherry picked from commit e85eb4c8d7bd8051c351a6fc6982a8b3bcfdbb2d) --- sbin/ifconfig/ifieee80211.c | 32 ++++++++++++++++++++++++-------- sys/net80211/ieee80211.h | 38 +++++++++++++++++--------------------- sys/net80211/ieee80211_hostap.c | 4 ++-- sys/net80211/ieee80211_input.c | 4 ++-- sys/net80211/ieee80211_output.c | 16 ++++++++-------- sys/net80211/ieee80211_vht.c | 23 ++++++----------------- sys/net80211/ieee80211_vht.h | 4 ++-- 7 files changed, 61 insertions(+), 60 deletions(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index bf54e7b6de70..0271fded95ba 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -70,6 +70,7 @@ #include #include +#define WANT_NET80211 1 #include #include #include @@ -2780,10 +2781,18 @@ printvhtcap(const char *tag, const u_int8_t *ie, size_t ielen, int maxlen) { printf("%s", tag); if (verbose) { - const struct ieee80211_ie_vhtcap *vhtcap = - (const struct ieee80211_ie_vhtcap *) ie; - uint32_t vhtcap_info = LE_READ_4(&vhtcap->vht_cap_info); + const struct ieee80211_vht_cap *vhtcap; + uint32_t vhtcap_info; + /* Check that the the right size. */ + if (ie[1] != sizeof(*vhtcap)) { + printf(""); + return; + } + /* Skip Element ID and Length. */ + vhtcap = (const struct ieee80211_vht_cap *)(ie + 2); + + vhtcap_info = LE_READ_4(&vhtcap->vht_cap_info); printf("supp_mcs.rx_mcs_map)); @@ -2803,13 +2812,20 @@ printvhtinfo(const char *tag, const u_int8_t *ie, size_t ielen, int maxlen) { printf("%s", tag); if (verbose) { - const struct ieee80211_ie_vht_operation *vhtinfo = - (const struct ieee80211_ie_vht_operation *) ie; + const struct ieee80211_vht_operation *vhtinfo; + + /* Check that the the right size. */ + if (ie[1] != sizeof(*vhtinfo)) { + printf(""); + return; + } + /* Skip Element ID and Length. */ + vhtinfo = (const struct ieee80211_vht_operation *)(ie + 2); - printf("", + printf("", vhtinfo->chan_width, - vhtinfo->center_freq_seg1_idx, - vhtinfo->center_freq_seg2_idx, + vhtinfo->center_freq_seq0_idx, + vhtinfo->center_freq_seq1_idx, LE_READ_2(&vhtinfo->basic_mcs_set)); } } diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index cd69f72f5c51..e6533705811e 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -866,29 +866,25 @@ struct ieee80211_vht_cap { struct ieee80211_vht_mcs_info supp_mcs; } __packed; -/* VHT capabilities element: 802.11ac-2013 8.4.2.160 */ -struct ieee80211_ie_vhtcap { - uint8_t ie; - uint8_t len; - uint32_t vht_cap_info; - struct ieee80211_vht_mcs_info supp_mcs; -} __packed; - -/* VHT operation mode subfields - 802.11ac-2013 Table 8.183x */ -#define IEEE80211_VHT_CHANWIDTH_USE_HT 0 /* Use HT IE for chw */ -#define IEEE80211_VHT_CHANWIDTH_80MHZ 1 /* 80MHz */ -#define IEEE80211_VHT_CHANWIDTH_160MHZ 2 /* 160MHz */ -#define IEEE80211_VHT_CHANWIDTH_80P80MHZ 3 /* 80+80MHz */ +/* 802.11ac-2013, Table 8-183x-VHT Operation Information subfields */ +enum ieee80211_vht_chanwidth { + IEEE80211_VHT_CHANWIDTH_USE_HT = 0, /* 20 MHz or 40 MHz */ + IEEE80211_VHT_CHANWIDTH_80MHZ = 1, /* 80MHz */ + IEEE80211_VHT_CHANWIDTH_160MHZ = 2, /* 160MHz */ + IEEE80211_VHT_CHANWIDTH_80P80MHZ = 3, /* 80+80MHz */ + /* 4..255 reserved. */ +}; -/* VHT operation IE - 802.11ac-2013 8.4.2.161 */ -struct ieee80211_ie_vht_operation { - uint8_t ie; - uint8_t len; - uint8_t chan_width; - uint8_t center_freq_seg1_idx; - uint8_t center_freq_seg2_idx; - uint16_t basic_mcs_set; +/* The name conflicts with the same structure in wpa. Only ifconfig needs this. */ +#if defined(_KERNEL) || defined(WANT_NET80211) +/* 802.11ac-2013 8.4.2.161 VHT Operation element */ +struct ieee80211_vht_operation { + uint8_t chan_width; /* enum ieee80211_vht_chanwidth */ + uint8_t center_freq_seq0_idx; /* 20/40/80/160 - VHT chan1 */ + uint8_t center_freq_seq1_idx; /* 80+80 - VHT chan2 */ + uint16_t basic_mcs_set; /* Basic VHT-MCS and NSS Set */ } __packed; +#endif /* 802.11ac VHT Capabilities */ #define IEEE80211_VHTCAP_MAX_MPDU_LENGTH_3895 0x00000000 diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index d80d658317ed..2f6317d9d8de 100644 --- a/sys/net80211/ieee80211_hostap.c +++ b/sys/net80211/ieee80211_hostap.c @@ -2124,12 +2124,12 @@ hostap_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, /* Validate VHT IEs */ if (vhtcap != NULL) { IEEE80211_VERIFY_LENGTH(vhtcap[1], - sizeof(struct ieee80211_ie_vhtcap) - 2, + sizeof(struct ieee80211_vht_cap), return); } if (vhtinfo != NULL) { IEEE80211_VERIFY_LENGTH(vhtinfo[1], - sizeof(struct ieee80211_ie_vht_operation) - 2, + sizeof(struct ieee80211_vht_operation), return); } diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index 492a3038c971..a1db4a50c2ce 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -769,12 +769,12 @@ ieee80211_parse_beacon(struct ieee80211_node *ni, struct mbuf *m, /* Process VHT IEs */ if (scan->vhtcap != NULL) { IEEE80211_VERIFY_LENGTH(scan->vhtcap[1], - sizeof(struct ieee80211_ie_vhtcap) - 2, + sizeof(struct ieee80211_vht_cap), scan->vhtcap = NULL); } if (scan->vhtopmode != NULL) { IEEE80211_VERIFY_LENGTH(scan->vhtopmode[1], - sizeof(struct ieee80211_ie_vht_operation) - 2, + sizeof(struct ieee80211_vht_operation), scan->vhtopmode = NULL); } diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index 288f0c7da2c8..2819114651d5 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -2455,7 +2455,7 @@ ieee80211_probereq_ie_len(struct ieee80211vap *vap, struct ieee80211com *ic) sizeof(struct ieee80211_ie_htcap) : 0) #ifdef notyet + sizeof(struct ieee80211_ie_htinfo) /* XXX not needed? */ - + sizeof(struct ieee80211_ie_vhtcap) + + 2 + sizeof(struct ieee80211_vht_cap) #endif + ((vap->iv_flags & IEEE80211_F_WPA1 && vap->iv_wpa_ie != NULL) ? vap->iv_wpa_ie[1] : 0) @@ -2820,7 +2820,7 @@ ieee80211_send_mgmt(struct ieee80211_node *ni, int type, int arg) + 2 + 26 + sizeof(struct ieee80211_wme_info) + sizeof(struct ieee80211_ie_htcap) - + sizeof(struct ieee80211_ie_vhtcap) + + 2 + sizeof(struct ieee80211_vht_cap) + 4 + sizeof(struct ieee80211_ie_htcap) #ifdef IEEE80211_SUPPORT_SUPERG + sizeof(struct ieee80211_ath_ie) @@ -2953,8 +2953,8 @@ ieee80211_send_mgmt(struct ieee80211_node *ni, int type, int arg) + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE) + sizeof(struct ieee80211_ie_htcap) + 4 + sizeof(struct ieee80211_ie_htinfo) + 4 - + sizeof(struct ieee80211_ie_vhtcap) - + sizeof(struct ieee80211_ie_vht_operation) + + 2 + sizeof(struct ieee80211_vht_cap) + + 2 + sizeof(struct ieee80211_vht_operation) + sizeof(struct ieee80211_wme_param) #ifdef IEEE80211_SUPPORT_SUPERG + sizeof(struct ieee80211_ath_ie) @@ -3112,8 +3112,8 @@ ieee80211_alloc_proberesp(struct ieee80211_node *bss, int legacy) + sizeof(struct ieee80211_wme_param) + 4 + sizeof(struct ieee80211_ie_htcap) + 4 + sizeof(struct ieee80211_ie_htinfo) - + sizeof(struct ieee80211_ie_vhtcap) - + sizeof(struct ieee80211_ie_vht_operation) + + 2 + sizeof(struct ieee80211_vht_cap) + + 2 + sizeof(struct ieee80211_vht_operation) #ifdef IEEE80211_SUPPORT_SUPERG + sizeof(struct ieee80211_ath_ie) #endif @@ -3727,8 +3727,8 @@ ieee80211_beacon_alloc(struct ieee80211_node *ni) /* XXX conditional? */ + 4+2*sizeof(struct ieee80211_ie_htcap)/* HT caps */ + 4+2*sizeof(struct ieee80211_ie_htinfo)/* HT info */ - + sizeof(struct ieee80211_ie_vhtcap)/* VHT caps */ - + sizeof(struct ieee80211_ie_vht_operation)/* VHT info */ + + 2 + sizeof(struct ieee80211_vht_cap)/* VHT caps */ + + 2 + sizeof(struct ieee80211_vht_operation)/* VHT info */ + (vap->iv_caps & IEEE80211_C_WME ? /* WME */ sizeof(struct ieee80211_wme_param) : 0) #ifdef IEEE80211_SUPPORT_SUPERG diff --git a/sys/net80211/ieee80211_vht.c b/sys/net80211/ieee80211_vht.c index 1561255be101..77a36a395d5c 100644 --- a/sys/net80211/ieee80211_vht.c +++ b/sys/net80211/ieee80211_vht.c @@ -342,7 +342,7 @@ ieee80211_vht_node_leave(struct ieee80211_node *ni) */ void ieee80211_vht_get_vhtcap_ie(struct ieee80211_node *ni, - struct ieee80211_ie_vhtcap *vhtcap, int opmode) + struct ieee80211_vht_cap *vhtcap, int opmode) { struct ieee80211vap *vap = ni->ni_vap; // struct ieee80211com *ic = vap->iv_ic; @@ -350,9 +350,6 @@ ieee80211_vht_get_vhtcap_ie(struct ieee80211_node *ni, uint32_t new_vhtcap; int i; - vhtcap->ie = IEEE80211_ELEMID_VHT_CAP; - vhtcap->len = sizeof(struct ieee80211_ie_vhtcap) - 2; - /* * Capabilities - it depends on whether we are a station * or not. @@ -680,19 +677,12 @@ ieee80211_vht_get_vhtcap_ie(struct ieee80211_node *ni, uint8_t * ieee80211_add_vhtcap(uint8_t *frm, struct ieee80211_node *ni) { - struct ieee80211_ie_vhtcap vhtcap; - int opmode; - - opmode = 0; - if (ni->ni_vap->iv_opmode == IEEE80211_M_STA) - opmode = 1; - - ieee80211_vht_get_vhtcap_ie(ni, &vhtcap, opmode); + struct ieee80211_vht_cap vhtcap; - memset(frm, '\0', sizeof(struct ieee80211_ie_vhtcap)); + ieee80211_vht_get_vhtcap_ie(ni, &vhtcap, 1); frm[0] = IEEE80211_ELEMID_VHT_CAP; - frm[1] = sizeof(struct ieee80211_ie_vhtcap) - 2; + frm[1] = sizeof(vhtcap); frm += 2; /* 32-bit VHT capability */ @@ -775,10 +765,9 @@ ieee80211_vht_get_chwidth_ie(struct ieee80211_channel *c) uint8_t * ieee80211_add_vhtinfo(uint8_t *frm, struct ieee80211_node *ni) { - memset(frm, '\0', sizeof(struct ieee80211_ie_vht_operation)); frm[0] = IEEE80211_ELEMID_VHT_OPMODE; - frm[1] = sizeof(struct ieee80211_ie_vht_operation) - 2; + frm[1] = sizeof(struct ieee80211_vht_operation); frm += 2; /* 8-bit chanwidth */ @@ -886,7 +875,7 @@ ieee80211_vht_adjust_channel(struct ieee80211com *ic, */ void ieee80211_vht_get_vhtinfo_ie(struct ieee80211_node *ni, - struct ieee80211_ie_vht_operation *vhtop, int opmode) + struct ieee80211_vht_operation *vhtop, int opmode) { printf("%s: called; TODO!\n", __func__); } diff --git a/sys/net80211/ieee80211_vht.h b/sys/net80211/ieee80211_vht.h index 756c2e367485..f2d1706ea0f2 100644 --- a/sys/net80211/ieee80211_vht.h +++ b/sys/net80211/ieee80211_vht.h @@ -61,8 +61,8 @@ struct ieee80211_channel * struct ieee80211_channel *, int); void ieee80211_vht_get_vhtcap_ie(struct ieee80211_node *ni, - struct ieee80211_ie_vhtcap *, int); + struct ieee80211_vht_cap *, int); void ieee80211_vht_get_vhtinfo_ie(struct ieee80211_node *ni, - struct ieee80211_ie_vht_operation *, int); + struct ieee80211_vht_operation *, int); #endif /* _NET80211_IEEE80211_VHT_H_ */ From nobody Mon Feb 19 08:07:51 2024 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 4TdZsN1h6kz5B307; Mon, 19 Feb 2024 08:07: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 4TdZsM4WxWz4KMH; Mon, 19 Feb 2024 08:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YTrewU6YoIjBtwLXPAUSRLhpppAIoxm5hLOkASn6fco=; b=Lvm48jaVxNK8v1nn3BBlRZY618dZLtxYlTdi+lxpKaWGs2vnQJ5ic3eXjr03iKM/sroLok JP5PO/y6kOGepODBMRvpbrdQ58txcMfzNG32IRsvNNE5FeY0Hg4wAD3Frk+7kop5D1ObXX +JW75SCz/8qG4yYmZK/t5r0NPehyfErklKvlgZN80IOFrAhuBAEOjfvtMbfBRMdZs55sWG HHe9wDXfivs7EX+Bey4SiVT+S/mXNE3A3pgbUIQhf8JRqRnSQlzNw6NlHL33GZ1+e7p/ZT v1rj3kAU9FIktGZyfuMN5M4NTXIiaNZ8XiPcEtzsYA3JNmiCfTlPrxfAhAvu4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YTrewU6YoIjBtwLXPAUSRLhpppAIoxm5hLOkASn6fco=; b=GaatdkqNbEBvpI3QzfA65xPyru2mRyawjSm/rGGXvOWMOxOLNKrEgjrfMsF2vmV2Vx1fbm wyR3LczTBreIJgmzmmPXuH04lo7LtzgTfKEBbPT803vfBstzF/ghDu3L6Ymp9297a7svhv G7uOHEWzL/MYE650vQ5QQGCjYXOwQ8Q6Uj685L5SZbxaA+6rM/XMaoe9BJuRqQZ+LVFHFU pWSBv+m0jyp3yxXuDkQsj5bIw2vIfD3xOLj7ZI+IE7sKfvRO24j1KY9jdO+M5/9zEOV9e+ iYKWCiIOU2lMXltZGt/XWIyeOepCqXqqZeXHWEthl8Y9Ysam96GD1SxyLTcQYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330071; a=rsa-sha256; cv=none; b=xXEG4N4W0bIf8fRgNOGdEOCwX5XzmwXF68RjWFkyR1XDNBFjmSEX1nNw1TZlRo6yUFR/3z sRJYf0u/HomJu7xt/vByeBfKiFQ+th8bjNlMWXDhdOcwQ3uFeHtXQ8L6DK+3E24605IKH0 xlEM9HDLj1MnO5kSUTZ2kgxib93TZGqVaU41MqImg85ES9lHj/3ae/IqZjz+oVF6cqs9ov C3nQJVgTqlSAroa7XkAKOMCyB7qBQQF6foc6Ji5mQVpKCrVaavd7t1i1P/EsUYeU+43CYE yvo5mmcLrUw61NVz3syVLPaElPwWmlxPOxU1ODZkCsAK28XSDumnDaNVK49+fA== 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 4TdZsM3dS6zRGg; Mon, 19 Feb 2024 08:07: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 41J87pqA015927; Mon, 19 Feb 2024 08:07:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87pVB015924; Mon, 19 Feb 2024 08:07:51 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:51 GMT Message-Id: <202402190807.41J87pVB015924@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 1cf1f094680f - stable/13 - LinuxKPI: 802.11: fix field order in ieee80211_key_conf 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1cf1f094680fe3bfd9836800f83ed0b79e180340 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1cf1f094680fe3bfd9836800f83ed0b79e180340 commit 1cf1f094680fe3bfd9836800f83ed0b79e180340 Author: Bjoern A. Zeeb AuthorDate: 2024-01-28 00:51:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:00 +0000 LinuxKPI: 802.11: fix field order in ieee80211_key_conf When adding the new field link_id to struct ieee80211_key_conf, it was erroneously placed at the end of the struct; the zero-length (variable sized) array for the key always needs to stay last. Resort fields and add hopefully helpful comment to avoid the problem in the future. Fixes: adff403fe7a87 Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43635 (cherry picked from commit 828ce22f079df77b3bf52c4cf296959ea66bdc11) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index c4d001b3a7e8..293b6868cd50 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -510,9 +510,9 @@ struct ieee80211_key_conf { uint8_t hw_key_idx; /* Set by drv. */ uint8_t keyidx; uint16_t flags; - uint8_t keylen; - uint8_t key[0]; int8_t link_id; /* signed! */ + uint8_t keylen; + uint8_t key[0]; /* Must stay last! */ }; struct ieee80211_key_seq { From nobody Mon Feb 19 08:07:53 2024 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 4TdZsQ0m4zz5B30B; Mon, 19 Feb 2024 08: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 4TdZsP6fWFz4KXW; Mon, 19 Feb 2024 08: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=1708330073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d3BVNCpieAXLztGUMeSzFsvM9Xh+qsD3NReqI4hxlLw=; b=feRCjf/A/H+jhc+znL7ddllLWp3rNcL5Mgma3Eu8/IFW9+d+CzERGYoldl48ts/2cq5Dhu 2OzByeeZrelxrFEIEo95aTmRPTWVz23S5C78ntTYSiY1tTiDtp0vWynwo0zzNKd2oVyGor mgTyhQUyxD6G0GgmP55EzM7gva5ySzbC4fWNVaWPQvdlCjCiyoF/0PUCFhvbpy4TggT4Bf btIaqvH6Seyky758bUUzCIJmOF+7pWL4pzXzxst2fsVOtPcRi8/wVquezjsjJm/TdyIMmb z6pEYIxpzOFds8v3wostywG4+x7MsXHIzz8IbwUfbPDPC+EMFrniFLhoWW0OOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d3BVNCpieAXLztGUMeSzFsvM9Xh+qsD3NReqI4hxlLw=; b=PBlDjVl5fCit5ziFX5EpFodZsiY6Mq49add9d8p3n3YJu1dl+GkGAk1jJ1ulGYoCJ4ZiXd Mk6JMKJe7zadJbYn3a5u1Mx34/WWD0nTQ+u2QfyENjTUq70IxX8M5DeOtn/KymCCV6HnMt 7obmh58dLplg/Z3sDwCyKkHP8N/a3PBEfxmQ5DHfVEABLMt1kCAa9LPzObotd5vwX6FRhu fTJvDGiIZEyA2wnnJeWhONz6ZVxsWjHRHXSd0x2/Dx80+ood/3yrbqQmZRXHPDslG+SUfM carB76LeMbb7pEtYjeGbS9f8sAlL4jHEFTjFI9+xOkvXDErJa5wFwIfgKIqKNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330073; a=rsa-sha256; cv=none; b=aZXb6D47xm0WTriD1Ifs0RfC7yok5BEUTkFgz7y8qnGTimtu7+b3O7UEzJrwU7UmTVQIsX xu+Vjb0uTKvcIBPpS4jkCtIrko9JeoOUtF0KTdogP0Nb2y7jGtZ+ZwmBSh1oxscjUHatGE zFD/MxoReKs8tiMLBvD4HaVH/rWr0JoDOR+2p4O1TGPh9x2zcDDhQ+RKr/tbftqtD4oEPo l1EZyuFn22xxLoehsi9tLR/pI/p7TIRjXe61zCbPZjGoIkQglke3Rtla7R8t+NFB0QimTe /u+XSLWc7/xO2uwJn1JT5ZpZMDZN8QlpdKeafo2R615F/8R1PMoomA9ul2gabw== 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 4TdZsP5jC6zRDm; Mon, 19 Feb 2024 08: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 41J87rWR016026; Mon, 19 Feb 2024 08: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 41J87rdx016023; Mon, 19 Feb 2024 08:07:53 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:53 GMT Message-Id: <202402190807.41J87rdx016023@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: bbf3fc5b00b8 - stable/13 - iwlwifi: adjust to make d3.c compile 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bbf3fc5b00b8fdacbb3b941dc953c3253a7b4f31 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bbf3fc5b00b8fdacbb3b941dc953c3253a7b4f31 commit bbf3fc5b00b8fdacbb3b941dc953c3253a7b4f31 Author: Bjoern A. Zeeb AuthorDate: 2024-01-29 14:23:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:00 +0000 iwlwifi: adjust to make d3.c compile struct iwl_mvm_wep_key_cmd ends in a variable sized array but later is included in another struct followed by the actual struct iwl_mvm_wep_key in d3.c. Make the array[0] instead of [] to avoid the warning about it being a GNU-extension. Also include string.h explicitly for memset_after(). Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43647 (cherry picked from commit e1d31d0685f0b430f385023b7de49f47be6c7de0) --- sys/contrib/dev/iwlwifi/fw/api/sta.h | 4 ++++ sys/contrib/dev/iwlwifi/mvm/d3.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/sys/contrib/dev/iwlwifi/fw/api/sta.h b/sys/contrib/dev/iwlwifi/fw/api/sta.h index d62fed543276..18f9470db301 100644 --- a/sys/contrib/dev/iwlwifi/fw/api/sta.h +++ b/sys/contrib/dev/iwlwifi/fw/api/sta.h @@ -477,7 +477,11 @@ struct iwl_mvm_wep_key_cmd { u8 decryption_type; u8 flags; u8 reserved; +#if defined(__linux__) struct iwl_mvm_wep_key wep_key[]; +#elif defined(__FreeBSD__) + struct iwl_mvm_wep_key wep_key[0]; +#endif } __packed; /* SEC_CURR_WEP_KEY_CMD_API_S_VER_2 */ /** diff --git a/sys/contrib/dev/iwlwifi/mvm/d3.c b/sys/contrib/dev/iwlwifi/mvm/d3.c index f6488b4bbe68..17d74a771d13 100644 --- a/sys/contrib/dev/iwlwifi/mvm/d3.c +++ b/sys/contrib/dev/iwlwifi/mvm/d3.c @@ -7,6 +7,9 @@ #include #include #include +#if defined(__FreeBSD__) +#include +#endif #include #include #include From nobody Mon Feb 19 08:07:54 2024 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 4TdZsR3Mkcz5B2ml; Mon, 19 Feb 2024 08: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 4TdZsR0d2Zz4Kgg; Mon, 19 Feb 2024 08: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=1708330075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nAdW4SITYbNCrUH/x4l9sLfDCM0xOOiZq24OUXOImBw=; b=dD9l6xKGRdjYWax2nHls/lbFXg61gseRJn70Yy67y3O6ClQy7xCazn6ZGft15mAUeyVtJe kT2ACfgqFcUeJSKeZ97JPJXeKNPF1w6iGHtqXiEGEgLXupsd0TE8x1I9uBqoD+8+DN+Kj8 m0RNxcaW5Crc/T9etzbtHnv9m2XCqxhzBDbT5uTmkoepbWCuKvjMSsKspeSq7Ek8CZiGGX dj5SnIqC67z7wJnqFxmcZU6bv2VY9N+wRMOAoouY8Fd21ztnZAzcjtLHSYnRNENeUpPLy2 loyEBCTDv5n92i1KCsNKI7UJA2TCGqG17UofY6EI6+8FKSr0IQgHGQe8qOCUHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nAdW4SITYbNCrUH/x4l9sLfDCM0xOOiZq24OUXOImBw=; b=gbdmyZYc3CiGXJPj+/Z2fe2X5Ub4dKYH4CozWeXdWTr/PDzcgxqPcH0dzgMUYivAuPa2ps qQll4TI6UCUqOQMBmhBYOfQmA6BfouB8sTmx/9epufXUEDcjemIk45zBHyBvpnLMQBNVyx nG1mYLaHOfczIaLcK9LIxB6Dt4YZ88WMpfuZ9URw+zDHa/dj8Qn+aEt4wJlaxC9Fwx6yfS GlKNKXuu0QUI+45OB/tR417gpcdcd4OUM9BMYoQ9aofqbDQ8DbL0c8rl9FvPUHbtI6svnA Sp7kTCz4goxGkyMln1mKq57otiKy4193xFVjhwDyO3vlKsSjAKwpVhWl6iCu8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330075; a=rsa-sha256; cv=none; b=gb3t5DIbyzDzPsHUrUskfLnAYWJGLShncNIOiv/d1KMZMhDJimPZnd8VOVKnM6RFGgFrgY gb7TcOtmHlAuGnwSihpa6Vgnc65JoA6AvNUUs2CoXcri4+ZyAm9gHV8LkhYs5xv0VL8FnO /MhyoKhyy8U7xTbIF3DMcDP7VOKxVjKrDYdJQh0Tu154B4sw2A58c2QBVQqlQHbdbC9L2G 4q6DMHGJbx9RisS/W5DHXS3Ni9Vs0sxiUWJ5t+PZ158uoIwu3L9YQb2nmd2PvUSgS/9d+I wPY3LSS5cwo2Ywr993p94AYKSsfYW88vI0DhccRTk1wimWLrs0oyWVqGWbbCLw== 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 4TdZsQ6pqXzRGh; Mon, 19 Feb 2024 08: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 41J87scv016086; Mon, 19 Feb 2024 08: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 41J87ssU016083; Mon, 19 Feb 2024 08:07:54 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:54 GMT Message-Id: <202402190807.41J87ssU016083@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3da00e4c110f - stable/13 - iwlwifi: add the d3 (PM) bits to the Makefile (disabled) 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3da00e4c110fcf8505eb4764eef884bbac806191 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3da00e4c110fcf8505eb4764eef884bbac806191 commit 3da00e4c110fcf8505eb4764eef884bbac806191 Author: Bjoern A. Zeeb AuthorDate: 2024-01-29 12:51:16 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:01 +0000 iwlwifi: add the d3 (PM) bits to the Makefile (disabled) Add the logic to conditionally enable PM for iwlwifi. This should help suspend/resume in the future. For now leave it disabled until other preconditional problems are sorted. Sponsored by: The FreeBSD Foundation (2023) Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43647 (cherry picked from commit 8f7c32a41a6a6d88e36ce2f588489274193c2c9a) --- sys/modules/iwlwifi/Makefile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/modules/iwlwifi/Makefile b/sys/modules/iwlwifi/Makefile index 679490fdf774..256e08282ad7 100644 --- a/sys/modules/iwlwifi/Makefile +++ b/sys/modules/iwlwifi/Makefile @@ -3,6 +3,7 @@ DEVIWLWIFIDIR= ${SRCTOP}/sys/contrib/dev/iwlwifi .PATH: ${DEVIWLWIFIDIR} +WITH_CONFIG_PM= 0 WITH_DEBUGFS= 0 KMOD= if_iwlwifi @@ -36,6 +37,11 @@ SRCS+= fw/debugfs.c mvm/debugfs.c mvm/debugfs-vif.c CFLAGS+= -DCONFIG_IWLWIFI_DEBUGFS=${WITH_DEBUGFS} CFLAGS+= -DCONFIG_MAC80211_DEBUGFS=${WITH_DEBUGFS} .endif +.if defined(WITH_CONFIG_PM) && ${WITH_CONFIG_PM} > 0 +SRCS+= mvm/d3.c +CFLAGS+= -DCONFIG_PM=${WITH_CONFIG_PM} +CFLAGS+= -DCONFIG_PM_SLEEP=${WITH_CONFIG_PM} +.endif SRCS+= iwl-devtrace.c @@ -61,8 +67,6 @@ CFLAGS+= -DCONFIG_IWLWIFI_DEBUG=1 CFLAGS+= -DCONFIG_IWLWIFI_DEVICE_TRACING=1 #CFLAGS+= -DCONFIG_LOCKDEP=1 #CFLAGS+= -DCONFIG_NL80211_TESTMODE=1 -#CFLAGS+= -DCONFIG_PM=1 -#CFLAGS+= -DCONFIG_PM_SLEEP=1 #CFLAGS+= -DCONFIG_THERMAL=1 #CFLAGS+= -DCONFIG_EFI=1 From nobody Mon Feb 19 08:07:56 2024 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 4TdZsS39Yyz5B2kQ; Mon, 19 Feb 2024 08:07: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 4TdZsS1hD6z4KWB; Mon, 19 Feb 2024 08: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=1708330076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wRTw54cTTi5s0+KIFthVbf4rQWuYTd8f/8eBePPT1nE=; b=KmNfniUNfgSL5x2Ejw8vk9DWgsrz6XsN63eazkJwUyfWvFh/OKFyrU42YbS2NdShEIeHqp cWAfEcCbPLWeHuj6DGxpvjb1SQ+9ALqMMYj0Rga872ZOP6SL/oZ0nMjyfJwo67ze0Z2gWD Y6RkReaiwsqx2exloYoNvcNLVPc5FXWzCU+qHrhqMMESaZFikFPvzg1KTkLgqZumfPnc6p jZVYD5D7DqqX0AWsQSig08IEEllzOFaj/GGT6wACcos+WSXwKXOltFaSQ6TZQ9NBAtLL5P j4NGcB4XgND8gISjAssm+5WfvHT2qWOP9xF/ZdoKxrJX9iKesZzZsXQ2svMwsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wRTw54cTTi5s0+KIFthVbf4rQWuYTd8f/8eBePPT1nE=; b=HZ/Jztxz2IFn88iSVCBXEMrX0ZouZxxlx5L3LGA6HLB5xBSDSH2kPPHGbKvp4uvbqeu4kI 5v30ujtHe1crw4wGSq5bnwwbmrOByINz4ZRJmykUTb16sD9OBuiOErE2bL0W8XWmDC7L3y TOEk9BezfFPmu/80IpPse1+LIyhMmSfnT/tAhjrDAdo5VWGpDQp+gc7R3MniulOYseiFkp Wd9a85WDCGAJPrHKvRhnSlrJRGCPWVx2yepMIWmUQmPSSIQWWJ54YApNr0EsBG53NfnYx2 h/Ja+XIb/vdBBBoQOriNGJGt9bRebpqav6FC74Q+Rwprr7PQUfQzQjhgFa/iBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330076; a=rsa-sha256; cv=none; b=wgREU7ogtKwfEMEfOvg6mHTdHmVvK9jV6S7WBNyYZFKpXtazgUfUQ6wQkJ03bkul1Ji2Xf 6cPCS+/Q3FrZxiVsV5gYBw3zLdhUbtLqQSFCjPTXfJTn2ry9nw27HrCKMoWj6jnA0+h+Id XiMnmJp/89ainSAQXBMFDMXnWqnz5S9XVJygQOsm60dDYOchlWp8K2Y88VvOXH/rVCPUwt c89QZPIvLY5UPDqg/mLRY2W60IJ3TicFaqfJLZG/SMppnje6s1bojZ0wJ8by1ws/l3V51r cuHaI4PssJHZcpAgB+bRaBydCOPuYMaRQq5ieYyqMg+nKxMS8Mwlj4+T2DDRlA== 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 4TdZsS0m5zzRTh; Mon, 19 Feb 2024 08: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 41J87u8P016141; Mon, 19 Feb 2024 08: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 41J87uWF016138; Mon, 19 Feb 2024 08:07:56 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:56 GMT Message-Id: <202402190807.41J87uWF016138@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 755a04671dd4 - stable/13 - net80211: fix a NULL deref in ieee80211_sta_join1() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 755a04671dd47390f6d49695a6ac9c2d31c9935c Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=755a04671dd47390f6d49695a6ac9c2d31c9935c commit 755a04671dd47390f6d49695a6ac9c2d31c9935c Author: Bjoern A. Zeeb AuthorDate: 2024-01-16 18:53:06 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:01 +0000 net80211: fix a NULL deref in ieee80211_sta_join1() When ieee80211_sta_join1() gets an obss without ni_nt trying to lock that will cause a NULL pointer deref. Check for the table to be valid and deal with the obss node accordingly. This can happen if sta_newstate() calls ieee80211_reset_bss() for nstate == INIT and ostate != INIT. ieee80211_reset_bss() itself calls ieee80211_node_table_reset() which calls node_reclaim() which ends up in ieee80211_del_node_nt() which does remove the node from the table and sets ni_table to NULL. That node (former iv_bss) can then be returned as obss in the (*iv_update_bss)() call in join1(). Reviewed by: adrian, cc Differential Revision: https://reviews.freebsd.org/D43469 (cherry picked from commit 8a5a3e3d0436a2de9dc5c2c10bd9a471b6338233) --- sys/net80211/ieee80211_node.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 75795342f4b4..090c8c50c600 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -867,11 +867,14 @@ ieee80211_sta_join1(struct ieee80211_node *selbs) struct ieee80211_node_table *nt = obss->ni_table; copy_bss(selbs, obss); - ieee80211_node_decref(obss); /* iv_bss reference */ - - IEEE80211_NODE_LOCK(nt); - node_reclaim(nt, obss); /* station table reference */ - IEEE80211_NODE_UNLOCK(nt); + if (nt != NULL) { + ieee80211_node_decref(obss); /* iv_bss reference */ + IEEE80211_NODE_LOCK(nt); + node_reclaim(nt, obss); /* station table reference */ + IEEE80211_NODE_UNLOCK(nt); + } else { + ieee80211_free_node(obss); /* iv_bss reference */ + } obss = NULL; /* NB: guard against later use */ } From nobody Mon Feb 19 08:07:57 2024 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 4TdZsT4J9Dz5B30C; Mon, 19 Feb 2024 08: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 4TdZsT2jF5z4KhD; Mon, 19 Feb 2024 08:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YgrBXB6aGw/VV63/FLrWiPRSi3p58jGXU9ni93k+Z8M=; b=Ef6LB4wWDza2jJ/EREPX5fEV+SH7svtKUJZ40tmKWJ2VS4DDEiEpsp4YLa/2K8jwdt4gA/ CkbvndXG8TbxnN4h36q/ix1CTRnArEMmXoCn+0EkYNe9hB1d2sNRFcD+iV1CBQ1Mkpza+/ VEaUlNTg1Y6zcqkGeDBCGZS5RINdu+mqWUo0tv49Dp5YFiFauIJpsm3TNE3s+TJXgfv+vq QJfPfT1M80PTUL21TF1So5PObS1MiFIEDmZkdBHPu7WNMAx6z0shSIswIEU1XbheNz5epA IDZ/TZ+g/lMMqL/KK4DyD02K9lr2NStPMue+rorlp7SbC4/fBmVq/8QWO7yd5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YgrBXB6aGw/VV63/FLrWiPRSi3p58jGXU9ni93k+Z8M=; b=jZoPHS/9MewcLa3xloR5WNhz2RVymZHgmcpANI1JMwCIWC8yOltvWlHuMQ4Vx9/jPmgXXZ vA9cKL5mZ7FOH2m2HH9xH8/e1C5jJ58/Xfcad7Pvvf/5lzabZIlGnDdwzLJtl0kjsNavh0 RZdoQd571WraSQHLGkc4Px3qw1nfLc7GiisULPBbMe+LZ1GMs8jvQyERqxAkaVCNLVRSPC Qri+F+e+B6AYY/YakHhnLL42WJfVqhbxQjOH5/c24NPdXQ6YJr2HanBQthzylyrK4gNs9v AafPHE0KxTKAio5LqPeUsh6I7enuOoZe3ZwXcgjphbbS0Ztda7RTffm1d2Sz1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330077; a=rsa-sha256; cv=none; b=U/TmAE6fYEfqfqdC+C0tsd5v89GMCGji9Jd6gQNvxO6Pz15Zp03CoUyu5s8ZEkVeF3oHMy sqjWQSOUteE173auKEO/rrX/DeXYD6AasAXRJlrrdkwFmer833aqwzwvdh5HRtfNg4Ns2v exxzOzV1Vsb7k7ygd0ZuTBV25kzmDmGhJSIwgk0mp76zB3YAdhX1aZE7PXcbVaCwdLRRTo KJpGRQH+ltgXVWiUL9T/B2qMgEu9NylK9pp+Dox6aUKBCZ4NOCp62UQWAToXhoKhPUlaNp U8/aS9IuwGGNdq33oSvxcohF+7w1MoySs3WPBNuTnsUlTrpkKnpuSnDWeelLUw== 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 4TdZsT1qL0zRGj; Mon, 19 Feb 2024 08: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 41J87vTK016195; Mon, 19 Feb 2024 08: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 41J87vLs016192; Mon, 19 Feb 2024 08:07:57 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:57 GMT Message-Id: <202402190807.41J87vLs016192@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: f8ec03794357 - stable/13 - net80211: make sure calls to (*iv_update_bss)() are locked 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f8ec0379435745d800ec149f9289401c792e61bb Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f8ec0379435745d800ec149f9289401c792e61bb commit f8ec0379435745d800ec149f9289401c792e61bb Author: Bjoern A. Zeeb AuthorDate: 2024-01-19 14:52:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:01 +0000 net80211: make sure calls to (*iv_update_bss)() are locked It turned out thare various calls into (*iv_update_bss)(), that is direct changes to vap->iv_bss in the old days, happened without synchronisation. Use locking assertions to document the requirement or status quo at some callers given ic locking will eventually have to be dealt with. Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43512 (cherry picked from commit 49619f73151aeaca4cef5adf631253da04a46e19) --- sys/net80211/ieee80211_node.c | 15 +++++++++++++++ sys/net80211/ieee80211_proto.c | 2 ++ 2 files changed, 17 insertions(+) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 090c8c50c600..37bbe07ef430 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -171,6 +171,10 @@ ieee80211_node_vattach(struct ieee80211vap *vap) void ieee80211_node_latevattach(struct ieee80211vap *vap) { + + /* XXX should ieee80211_vap_attach(), our only caller hold the lock? */ + IEEE80211_UNLOCK_ASSERT(vap->iv_ic); + if (vap->iv_opmode == IEEE80211_M_HOSTAP) { /* XXX should we allow max aid to be zero? */ if (vap->iv_max_aid < IEEE80211_AID_MIN) { @@ -191,7 +195,9 @@ ieee80211_node_latevattach(struct ieee80211vap *vap) } } + IEEE80211_LOCK(vap->iv_ic); ieee80211_reset_bss(vap); + IEEE80211_UNLOCK(vap->iv_ic); vap->iv_auth = ieee80211_authenticator_get(vap->iv_bss->ni_authmode); } @@ -201,11 +207,16 @@ ieee80211_node_vdetach(struct ieee80211vap *vap) { struct ieee80211com *ic = vap->iv_ic; + /* XXX should ieee80211_vap_detach(), our only caller hold the lock? */ + IEEE80211_UNLOCK_ASSERT(vap->iv_ic); + ieee80211_node_table_reset(&ic->ic_sta, vap); + IEEE80211_LOCK(ic); if (vap->iv_bss != NULL) { ieee80211_free_node(vap->iv_bss); vap->iv_update_bss(vap, NULL); } + IEEE80211_UNLOCK(ic); if (vap->iv_aid_bitmap != NULL) { IEEE80211_FREE(vap->iv_aid_bitmap, M_80211_NODE); vap->iv_aid_bitmap = NULL; @@ -455,6 +466,8 @@ ieee80211_reset_bss(struct ieee80211vap *vap) struct ieee80211com *ic = vap->iv_ic; struct ieee80211_node *ni, *obss; + IEEE80211_LOCK_ASSERT(ic); + ieee80211_node_table_reset(&ic->ic_sta, vap); /* XXX multi-bss: wrong */ ieee80211_vap_reset_erp(vap); @@ -854,7 +867,9 @@ ieee80211_sta_join1(struct ieee80211_node *selbs) /* * Committed to selbs, setup state. */ + IEEE80211_LOCK(ic); /* XXX may recurse here, check callers. */ obss = vap->iv_update_bss(vap, selbs); /* NB: caller assumed to bump refcnt */ + IEEE80211_UNLOCK(ic); /* * Check if old+new node have the same address in which * case we can reassociate when operating in sta mode. diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index cf467c08462c..5ed9f2e3f50e 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -830,6 +830,8 @@ vap_update_bss(struct ieee80211vap *vap, struct ieee80211_node *ni) { struct ieee80211_node *obss; + IEEE80211_LOCK_ASSERT(vap->iv_ic); + obss = vap->iv_bss; vap->iv_bss = ni; From nobody Mon Feb 19 08:07:58 2024 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 4TdZsV4nhBz5B30G; Mon, 19 Feb 2024 08: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 4TdZsV3VGrz4KQf; Mon, 19 Feb 2024 08: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=1708330078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=psf47EmRH+caLnIg4lZ6Qamlf46bbumqvwn3RHFlU6I=; b=PChzDH7ycp+ngrB67gxeydhC0R6szXNqo0zU3KUQmDJgNyWDZOZe/VuwogrjMvqz85n4VO svJcWEbpjJN11zZ5fyUXz09hn6QXIURaIze+MAP89BqpPtrj0mtUhrBhS2xM8K8JwVpWeK 3/En6Dflh9Ra/wBThrXa7ILxZYChT/YWkYcTkVIGb7ZTwtLtpRbOeS+sQDxNuODpiNHMs5 oUH7BvG+ZoVk1KfgmfioWYF1v62i9BRn3D8Fm6qh4kesPsxk4GXyIlvti3VtKQCIXcnJCP KqMzxJ4NU7kMAlaojAKjIzKzcfK3k+/UavuIeYLYEFgBK5JEn6Lgdj+/HSgcxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=psf47EmRH+caLnIg4lZ6Qamlf46bbumqvwn3RHFlU6I=; b=Gqnpf+b3dkj+UOuJ7I+UsXGToyyDa6FAE99rhjsdApMV9jT1JiMcsjPmorSaX/ZdBK6xF/ zzPckAYdtM98Pjj7LrxtFvhTs0GA6ZfMGIUYqP420U4RvN3J2FOAKauu4dsQgfH+rxk+9x InpRI5hEidpJUQUGd2XfNrHqOJWLpZaOUgAhBPp106sYaYywKkilOjMdl79oQTzQzfAFss ilhPYklKdui+xYIAfCw3oz40z0KJBArc/YP/IRaL7WNjhoE7mZ61Plz+WfMML2am0VU70q LBy/GrNpsuSF3A5JqUZjrI7k2hhXHNILm+KPsIZrIHR2AyWD4JEvRKvueWkCdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330078; a=rsa-sha256; cv=none; b=cvioQmult/jIXpNsrL1uiP3e63tldrlEn3tXPnlgiQlD2qZbJdC53cfpoA6W5oinDxBJQD V3qlnuDZ9PyHVAgvHl9rQKGUU7SVQOa/IQbS/utBXeeOk8OukUCwEFxbXIsGoQA5jizV8X eKVpNIQE7N7U02oGSGRNIxGsg9vyOG3bIyi4Vb52yt+9gQP3EIBQNqcMufHb62jpfOB4Gs sC1yy98XfRU/ez1A/H4uP7KNTs0IY6Qay35ft259UnVQmoMsbESSGR9ZFCBQIgl19+vs40 NGDsIbFLB4P+wCDkqp8p5FfVQWUPVbTHcE5FST50IP6BrEEaTZV4fmxGetNVYA== 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 4TdZsV2bLJzRDn; Mon, 19 Feb 2024 08:07: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 41J87wuu016242; Mon, 19 Feb 2024 08:07:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41J87wDr016239; Mon, 19 Feb 2024 08:07:58 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:58 GMT Message-Id: <202402190807.41J87wDr016239@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 5427cefd1d03 - stable/13 - net80211: fix checks for (*iv_preamble_update)/(*iv_ht_protmode_update) 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5427cefd1d03e428a0148a6f65a39c280fa38374 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5427cefd1d03e428a0148a6f65a39c280fa38374 commit 5427cefd1d03e428a0148a6f65a39c280fa38374 Author: Bjoern A. Zeeb AuthorDate: 2024-01-29 20:59:05 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:01 +0000 net80211: fix checks for (*iv_preamble_update)/(*iv_ht_protmode_update) Both vap_update_preamble() and vap_update_ht_protmode() also check for (*iv_erp_protmode_update)() rather than (*iv_preamble_update)() or (*iv_ht_protmode_update)() before calling the later. Use the appropriate NULL-function-pointer checks before calling it. All seem unused currently so no functional changes expected. Fixes: f1481c8d3b58e Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43655 (cherry picked from commit 48d689d6cabe41f9c04e75b774ef5b3e45b94469) --- sys/net80211/ieee80211_proto.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index 5ed9f2e3f50e..d00b7de0ab31 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -1051,7 +1051,7 @@ vap_update_preamble(void *arg, int npending) IEEE80211_UNLOCK(ic); /* Driver notification */ - if (vap->iv_erp_protmode_update != NULL) + if (vap->iv_preamble_update != NULL) vap->iv_preamble_update(vap); } @@ -1191,7 +1191,7 @@ vap_update_ht_protmode(void *arg, int npending) ic->ic_curhtprotmode); /* Driver update */ - if (vap->iv_erp_protmode_update != NULL) + if (vap->iv_ht_protmode_update != NULL) vap->iv_ht_protmode_update(vap); } From nobody Mon Feb 19 08:07:59 2024 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 4TdZsW6nHRz5B2mw; Mon, 19 Feb 2024 08: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 4TdZsW52wFz4Kht; Mon, 19 Feb 2024 08: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=1708330079; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KmF2KKboWh+LOxjgovQWM3oSfqwNERvNWALltSjNzH4=; b=IoejcRClhW4OK577feWi+scR84kDL82r8XGaO52iBn2A/zwx5fSTkTxIoNWW33Zmh9LU6r RS/O92A8jyV5OkRLTnI8MT+gRmSDyQEGE4Ma94kyN0q5wXW4hlzdSAePuOxErqJbSmRwG0 XS4DBorqRweLDtRpNcJqWaYgefKHYcs+HhapViZDtiLkqQSUJcEWF1ioQR8wWvb94X5bs2 sHyq9x7bzTzraNev3/ck8WlerDYKPalaeMTg2Gw+pEQbDC0omTRymkIbok2AkqRn7rgKyl ZMv0x4iD8cYo+K/17Y98l2YjrXQEjiAONxyAbsrtheb1QnyTXw8bEiSgYTx3bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330079; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KmF2KKboWh+LOxjgovQWM3oSfqwNERvNWALltSjNzH4=; b=kLiUhyzJEp7gOa+2BWNu7VCARqoJY5UYhDuuXx2OiYAW5sGUlpJfnIdLMOhtzfbk5dRuDV onx3jUdnOP8Vndr1WoFdq1XJUKidpxl1nzFub62rhq9Eo/LMatYep6MQ5ZvW8TLG58AsoW NnEDml4hfq/WjEPSpytLTNTsbROFEjQr+Lzxql1oeufbxKLHoamOdtX8B+Yo43yX0hXAi0 abYAUTUAGnjdR3aEMyn74eeDa8Eo/COlAQjhi0KLsjVnY8OYwkQW9/b3upAPTm6nc7cHv4 MCkdRSz9A6D5h6uPVzMO8bGTZ5nDPrOnVNGRQD0f3uDrP0V8o+gVosYNYVCe8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330079; a=rsa-sha256; cv=none; b=tQsyp+gY+knL2QGOg9JuLTKwq3RXtoGA7Aiv8Z1XLldDwbTMBouI6NCuKsxn0OcOUuinSc 4rbgAx3TGU/31Ix3i4hBxROaH3nY+GQY6NOaQ1ly2vEAV9GMf8vDpttOYYKcyH2YRfZ202 8R35kcXsxyXjouft7j84JOEveq7TxHC+zsjrAdvclZz+YnGDElCAesdmxcXZ3grsawXIEm FULq5/XN2OD+ExibAXqh1+i88nJXDsPWg1cK45z6KF4MplBEpHtQglUZB5A6ZQKOp7qw9H B4/6p51kswCs0gjfaS6I8o8KF6hN8y+jaNy+SNxUBiKg6cnGkkiZV+q2VPSOVA== 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 4TdZsW3t97zRW2; Mon, 19 Feb 2024 08: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 41J87x07016291; Mon, 19 Feb 2024 08: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 41J87xD0016288; Mon, 19 Feb 2024 08:07:59 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:07:59 GMT Message-Id: <202402190807.41J87xD0016288@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 7e5dc3c1fdc0 - stable/13 - LinuxKPI: 802.11: correct HT protection fields 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7e5dc3c1fdc0d6bffa1dac23c5618fccf3bab15c Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7e5dc3c1fdc0d6bffa1dac23c5618fccf3bab15c commit 7e5dc3c1fdc0d6bffa1dac23c5618fccf3bab15c Author: Bjoern A. Zeeb AuthorDate: 2024-01-29 22:35:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:01 +0000 LinuxKPI: 802.11: correct HT protection fields It seems during the initial buildup of the file, the defines were either mixed or not flagged as "FIXME". Define the values through to the net80211 definitions and also annotate them by at least some standards reference. Fixes: 6b4cac814e32f Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43658 (cherry picked from commit 53eb2c63c9628f7f19d88d759e1932c10c9f08af) --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 09487a318811..2000e7480ff8 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -197,11 +197,12 @@ enum ieee80211_min_mpdu_start_spacing { #define IEEE80211_PPE_THRES_RU_INDEX_BITMASK_MASK 8 /* TODO FIXME ax? */ #define IEEE80211_HE_PPE_THRES_INFO_HEADER_SIZE 16 /* TODO FIXME ax? */ -#define IEEE80211_HT_OP_MODE_PROTECTION 0x03 /* MASK */ -#define IEEE80211_HT_OP_MODE_PROTECTION_NONE 0x00 -#define IEEE80211_HT_OP_MODE_PROTECTION_20MHZ 0x01 -#define IEEE80211_HT_OP_MODE_PROTECTION_NONHT_MIXED 0x02 -#define IEEE80211_HT_OP_MODE_PROTECTION_NONMEMBER 0x03 +/* 802.11-2012, Table 8-130-HT Operation element fields and subfields, HT Protection */ +#define IEEE80211_HT_OP_MODE_PROTECTION IEEE80211_HTINFO_OPMODE /* Mask. */ +#define IEEE80211_HT_OP_MODE_PROTECTION_NONE IEEE80211_HTINFO_OPMODE_PURE /* No protection */ +#define IEEE80211_HT_OP_MODE_PROTECTION_NONMEMBER IEEE80211_HTINFO_OPMODE_PROTOPT /* Nonmember protection */ +#define IEEE80211_HT_OP_MODE_PROTECTION_20MHZ IEEE80211_HTINFO_OPMODE_HT20PR /* 20 MHz protection */ +#define IEEE80211_HT_OP_MODE_PROTECTION_NONHT_MIXED IEEE80211_HTINFO_OPMODE_MIXED /* Non-HT mixed */ /* 9.6.13.1, Table 9-342 TDLS Action field values. */ From nobody Mon Feb 19 08:08:00 2024 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 4TdZsY0XJFz5B2vR; Mon, 19 Feb 2024 08: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 4TdZsX5r1tz4KYk; Mon, 19 Feb 2024 08: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=1708330080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jh2lmKBRNKfQlGQovI3OGUk5/XDyFxrvGv14+SJsZhY=; b=Tc2+a3H2iVny0+l0TV9F47DbWf9QCTnrV3YMkV3legWlPaak1ExadynAQ09Wd9N5D6vcjn 8l6SKhF1uGScHhcCyLPnwLIEdMlQrYlOI+qAu6pQi6y4UW790Ew5B6JpxI0gURR6G1MtF5 m8b08JDPxbGrmFgH5aBroE0Pt0YUPO/9OJfQC0yp2mJj+ildQB9LyXceoWUEqFAjgwAdUc 4Wba2wti7j1Wd6kw1Pxf1isvS3cWG4knQMIpMvuMorhevdR9SKKeK/FUtrX9M9g8Xw2pQn u+mcLBNAi6NwpC5mIcF+Ggd+jt/95hJELIEpMoo6W4HyfXNhn5J9ziJ91+yZnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jh2lmKBRNKfQlGQovI3OGUk5/XDyFxrvGv14+SJsZhY=; b=KYN8k4Bf8MqNvKG74GcFCg2Ay6WQRrH3Rh4c6T67oW23NugaMuis1/ojoc77Xuss9QqWd+ CjbENwWg6hl/tmM9fVjwGybD0FyMAldoKx0i/5eBqvdp5vBrVtDVPma0MOj58IW0hMupUe WWOyhyJgONgzRIMs4HAYXGZtCbU4xeu/kAwuyyeOaS+VKj/rorkKeqluwfgjHsl1kU958q soyXPO0yM02o5KF8ALNurrjxyzj//fchPKnHvM3TrvtpSMjD5KwADF2GoWV+c2kx5LxKF0 emFT8Z4hGogwzw/1gtYXe2TQyQTcxnxW22OHahz8fSNEzFemY2t93UvEVgqf9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330080; a=rsa-sha256; cv=none; b=e2rgQx65+pUhNAgzWO876Wt9vRYTLfqwvW2KXuGZwodV5qsCnMTjn+iBxI9yJH2XpCh0f5 A/eta3fO4DnhwMR+6iu8TFM+46arIOWAZ1QkDidA9osUK9mTLVEotqGoriHsDOt+WlJTEW gBCevoGeqwM0+SIlhiNE5xBfQe8jVqhDNEHddokXinoEiO2luDr/bdXOOQuAIv0WbiBi+d PewWscstxjBhHt9C7C/Em2bTmyuspDO+9jGlyrB0EpyYPD02262xC7gDP+3UsMxvqhOgED o3Cxn60heUc4OeUuy6O+Dgjjsc68Ry5T77gBxY+S1FRbVFClX114mVt59Nyuiw== 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 4TdZsX4xcfzRW3; Mon, 19 Feb 2024 08: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 41J880qD016340; Mon, 19 Feb 2024 08: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 41J880lL016337; Mon, 19 Feb 2024 08:08:00 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:08:00 GMT Message-Id: <202402190808.41J880lL016337@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 6a56d8553b55 - stable/13 - iwlwifi: improve error message 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6a56d8553b557c61fc770ff6b1f202b2ac6180c6 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6a56d8553b557c61fc770ff6b1f202b2ac6180c6 commit 6a56d8553b557c61fc770ff6b1f202b2ac6180c6 Author: Bjoern A. Zeeb AuthorDate: 2024-02-12 16:09:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:01 +0000 iwlwifi: improve error message In case we cannot identify the firmware monitor buf_location, print the type (usually 0 = invalid) so we have an idea at least of what was set (or not). (cherry picked from commit df9d7d1e0eb6004c5f5fde78bcc7c28cc27950fb) --- sys/contrib/dev/iwlwifi/pcie/ctxt-info-gen3.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/contrib/dev/iwlwifi/pcie/ctxt-info-gen3.c b/sys/contrib/dev/iwlwifi/pcie/ctxt-info-gen3.c index fa4a14546860..5919346a059f 100644 --- a/sys/contrib/dev/iwlwifi/pcie/ctxt-info-gen3.c +++ b/sys/contrib/dev/iwlwifi/pcie/ctxt-info-gen3.c @@ -68,7 +68,11 @@ iwl_pcie_ctxt_info_dbg_enable(struct iwl_trans *trans, } break; default: +#if defined(__linux__) IWL_ERR(trans, "WRT: Invalid buffer destination\n"); +#elif defined(__FreeBSD__) + IWL_ERR(trans, "WRT: Invalid buffer destination: %d\n", le32_to_cpu(fw_mon_cfg->buf_location)); +#endif } out: if (dbg_flags) From nobody Mon Feb 19 08:08:02 2024 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 4TdZsb1xv6z5B2sQ; Mon, 19 Feb 2024 08: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 4TdZsb0Kgwz4KnH; Mon, 19 Feb 2024 08: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=1708330083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KCSQLThYFO4YaPBjuowUZyeANP3C0/Oa4OX9iepEnFw=; b=I9T8kpE0WvXiIqoU544NsVIZxaf6yR0OQv3t9FAhjCcx/8XXBxg/eWAenUFns9tLDKc+/7 i/2nu4UrwzWfc0PTWCCkGDr5QrQ1PP9BqA67M+XULlYkCGZWTL+p+J+uDS0om630TRhKEq nw+lVoGJjvGYyuSNjHikUZY7b+Y2sVGX+ZiIsIqwHnni3JsuZDz9nL1Ea6gQBFEbd7fTJ2 QjUamEp+myUXHd2mF+JKwPa/fbimzlCjgLIZdVNdEXg3mWCuEOR5PLCykBuimwmV5TGI4F Zqw50g8PLlHpSX5LRC5XHPEg3PZcBVfeB2BE7AroDmJRmRbPk/85XEr5x9/M5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KCSQLThYFO4YaPBjuowUZyeANP3C0/Oa4OX9iepEnFw=; b=pMav8NRIFnWthbhT03oHh70cYUYDqSv9ZKtXYoVhuYppD4FlHpXAaQ/B3aLkRUMKbFlFaE eulMrsaH8vwqH3+SOQWMLbnYRnSeFnMZC41d62tT/3yqLbo5+8tj988Tvx/ziBF1qCj+Zf PmxkJOliLdgnnPeNAGkBVwwqeTINCkUGLKSFV0lCCknC8hXyxG8H+6Dm2qlzWhsCuxIIBK qBFrUVgRaHSM81isPHyXXXIchYoVDhIARGFdBPDlc4HboULoJlBJtLTC8wnnCi5AgoBWbt O2w7Wuuxe2MP34Sc3r8Uq6ipEJdiP9lTkuSNSuYkhj2e31krmEtM4NOcpl/4IA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330083; a=rsa-sha256; cv=none; b=PvVZFPnCX59hzixWO79a5Oay1LpCqmm1vAU8BGAaZG47GsT1h59xLD+BobRa3CGq/OZqbG FgiHCC6vO21rfwSSbJgxGPy/XqVvqUQWsJE31cRcy6Z6U7jvdZ7fdVe/Ucp8oMf6nOvxU7 HA/0iWkwVK/tzip/qyc2ZbJSzqMnS5bRX1+gwKzN8iUR88jVZmUJS0oiPHUv/9oh034vTN 2jTRsgg+rW02fSYAe2+cUb0tEKdJQuv6fnWQyFLB2EmpcZprkaNCuY4XuqW/t2+TOwDIVw AH8VRVbDZ/NX7dgREGgsVokOPaxY/LGVWePSDY771GSxT1Whzjb4OOHKJ39A5g== 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 4TdZsZ6WRrzR85; Mon, 19 Feb 2024 08: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 41J882W7016449; Mon, 19 Feb 2024 08: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 41J882fa016446; Mon, 19 Feb 2024 08:08:02 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:08:02 GMT Message-Id: <202402190808.41J882fa016446@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 184ccc414686 - stable/13 - LinuxKPI: 802.11: band-aid for invalid state changes after (*iv_update_bss) 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 184ccc414686ea32c64f063c081c7cc1adeae7c3 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=184ccc414686ea32c64f063c081c7cc1adeae7c3 commit 184ccc414686ea32c64f063c081c7cc1adeae7c3 Author: Bjoern A. Zeeb AuthorDate: 2024-02-03 16:33:56 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:02 +0000 LinuxKPI: 802.11: band-aid for invalid state changes after (*iv_update_bss) With firmware based solutions we cannot just jump from an active session to a new iv_bss node without tearing down state for the old and bringing up the new node. This likely used to work on softmac based cards/drivers where one could essentially set the state and fire at will. We track (*iv_update_bss) calls from net80211 and set a local flag that we are out of synch and do not allow any further operations up the state machine until we hit INIT or SCAN. That means someone will take the state down, clean up firmware state and then we can join again and build up state. Apparently this problem has been "known" for a while as native iwm(4) and others have similar workarounds (though less strict) and can be equally pestered into bad states. For LinuxKPI all the KASSERTs just massively brought this problem out. The solution will be some rewrites in net80211. Until then, try to keep us more stable at least and not die on second join1() calls triggered by service netif start wlan0 and similar. PR: 271979, 271988, 275255, 263613, 274003 Sponsored by: The FreeBSD Foundation (2023, partial) Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43725 (cherry picked from commit 2ac8a2189ac6707f48f77ef2e36baf696a0d2f40) --- sys/compat/linuxkpi/common/src/linux_80211.c | 309 +++++++++++++++++++-------- sys/compat/linuxkpi/common/src/linux_80211.h | 2 + 2 files changed, 216 insertions(+), 95 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index b71deedb12b8..b1c3b5c32ded 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -611,6 +611,7 @@ lkpi_find_lkpi80211_chan(struct lkpi_hw *lhw, return (NULL); } +#if 0 static struct linuxkpi_ieee80211_channel * lkpi_get_lkpi80211_chan(struct ieee80211com *ic, struct ieee80211_node *ni) { @@ -635,6 +636,7 @@ lkpi_get_lkpi80211_chan(struct ieee80211com *ic, struct ieee80211_node *ni) return (chan); } +#endif struct linuxkpi_ieee80211_channel * linuxkpi_ieee80211_get_channel(struct wiphy *wiphy, uint32_t freq) @@ -1040,19 +1042,37 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int uint32_t changed; int error; - chan = lkpi_get_lkpi80211_chan(vap->iv_ic, vap->iv_bss); + /* + * In here we use vap->iv_bss until lvif->lvif_bss is set. + * For all later (STATE >= AUTH) functions we need to use the lvif + * cache which will be tracked even through (*iv_update_bss)(). + */ + + if (vap->iv_bss == NULL) { + ic_printf(vap->iv_ic, "%s: no iv_bss for vap %p\n", __func__, vap); + return (EINVAL); + } + ni = ieee80211_ref_node(vap->iv_bss); + if (ni->ni_chan == NULL || ni->ni_chan == IEEE80211_CHAN_ANYC) { + ic_printf(vap->iv_ic, "%s: no channel set for iv_bss ni %p " + "on vap %p\n", __func__, ni, vap); + ieee80211_free_node(ni); + return (EINVAL); + } + + lhw = vap->iv_ic->ic_softc; + chan = lkpi_find_lkpi80211_chan(lhw, ni->ni_chan); if (chan == NULL) { - ic_printf(vap->iv_ic, "%s: failed to get channel\n", __func__); + ic_printf(vap->iv_ic, "%s: failed to get LKPI channel from " + "iv_bss ni %p on vap %p\n", __func__, ni, vap); + ieee80211_free_node(ni); return (ESRCH); } - lhw = vap->iv_ic->ic_softc; hw = LHW_TO_HW(lhw); lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - ni = ieee80211_ref_node(vap->iv_bss); - IEEE80211_UNLOCK(vap->iv_ic); LKPI_80211_LHW_LOCK(lhw); @@ -1077,6 +1097,8 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int conf->def.center_freq1 = chan->center_freq; conf->def.center_freq2 = 0; IMPROVE("Check vht_cap from band not just chan?"); + KASSERT(ni->ni_chan != NULL && ni->ni_chan != IEEE80211_CHAN_ANYC, + ("%s:%d: ni %p ni_chan %p\n", __func__, __LINE__, ni, ni->ni_chan)); #ifdef LKPI_80211_HT if (IEEE80211_IS_CHAN_HT(ni->ni_chan)) { if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) { @@ -1187,6 +1209,8 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int * workflow so live with this. It is a compat layer after all. */ if (ni->ni_drv_data == NULL) { + ic_printf(vap->iv_ic, "%s:%d: lkpi_lsta_alloc to be called: " + "ni %p lsta %p\n", __func__, __LINE__, ni, ni->ni_drv_data); lsta = lkpi_lsta_alloc(vap, ni->ni_macaddr, hw, ni); if (lsta == NULL) { error = ENOMEM; @@ -1199,8 +1223,22 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int lsta = ni->ni_drv_data; } - /* Insert the [l]sta into the list of known stations. */ LKPI_80211_LVIF_LOCK(lvif); + /* XXX-BZ KASSERT later? */ + /* XXX-BZ this should have caught the upper lkpi_lsta_alloc() too! */ + if (lvif->lvif_bss_synched || lvif->lvif_bss != NULL) + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d, ni %p lsta %p\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched, ni, lsta); + + /* Reference the ni for this cache of lsta. */ + ieee80211_ref_node(vap->iv_bss); + lvif->lvif_bss = lsta; + lvif->lvif_bss_synched = true; + + /* Insert the [l]sta into the list of known stations. */ TAILQ_INSERT_TAIL(&lvif->lsta_head, lsta, lsta_entry); LKPI_80211_LVIF_UNLOCK(lvif); @@ -1272,9 +1310,23 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - /* Keep ni around. */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; + LKPI_80211_LVIF_LOCK(lvif); +#ifdef LINUXKPI_DEBUG_80211 + /* XXX-BZ KASSERT later; state going down so no action. */ + if (lvif->lvif_bss == NULL) + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " + "lvif %p vap %p\n", __func__, + lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); + ni = lsta->ni; /* Reference held for lvif_bss. */ sta = LSTA_TO_STA(lsta); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); @@ -1324,6 +1376,13 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int lkpi_lsta_dump(lsta, ni, __func__, __LINE__); + LKPI_80211_LVIF_LOCK(lvif); + /* Remove ni reference for this cache of lsta. */ + lvif->lvif_bss = NULL; + lvif->lvif_bss_synched = false; + LKPI_80211_LVIF_UNLOCK(lvif); + ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ + lkpi_lsta_remove(lsta, lvif); /* conf_tx */ @@ -1347,8 +1406,6 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -1370,7 +1427,6 @@ lkpi_sta_auth_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, in struct ieee80211_hw *hw; struct lkpi_vif *lvif; struct ieee80211_vif *vif; - struct ieee80211_node *ni; struct lkpi_sta *lsta; struct ieee80211_prep_tx_info prep_tx_info; int error; @@ -1382,15 +1438,30 @@ lkpi_sta_auth_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, in IEEE80211_UNLOCK(vap->iv_ic); LKPI_80211_LHW_LOCK(lhw); - ni = NULL; + + LKPI_80211_LVIF_LOCK(lvif); + /* XXX-BZ KASSERT later? */ + if (!lvif->lvif_bss_synched || lvif->lvif_bss == NULL) { +#ifdef LINUXKPI_DEBUG_80211 + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + error = ENOTRECOVERABLE; + LKPI_80211_LVIF_UNLOCK(lvif); + goto out; + } + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + + KASSERT(lsta != NULL, ("%s: lsta %p\n", __func__, lsta)); /* Finish auth. */ IMPROVE("event callback"); /* Update sta_state (NONE to AUTH). */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; - KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); KASSERT(lsta->state == IEEE80211_STA_NONE, ("%s: lsta %p state not " "NONE: %#x\n", __func__, lsta, lsta->state)); error = lkpi_80211_mo_sta_state(hw, vif, lsta, IEEE80211_STA_AUTH); @@ -1434,8 +1505,6 @@ lkpi_sta_auth_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, in out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -1447,20 +1516,37 @@ lkpi_sta_a_to_a(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) struct ieee80211_hw *hw; struct lkpi_vif *lvif; struct ieee80211_vif *vif; - struct ieee80211_node *ni; struct lkpi_sta *lsta; struct ieee80211_prep_tx_info prep_tx_info; + int error; lhw = vap->iv_ic->ic_softc; hw = LHW_TO_HW(lhw); lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - ni = ieee80211_ref_node(vap->iv_bss); - IEEE80211_UNLOCK(vap->iv_ic); LKPI_80211_LHW_LOCK(lhw); - lsta = ni->ni_drv_data; + + LKPI_80211_LVIF_LOCK(lvif); + /* XXX-BZ KASSERT later? */ + if (!lvif->lvif_bss_synched || lvif->lvif_bss == NULL) { +#ifdef LINUXKPI_DEBUG_80211 + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + LKPI_80211_LVIF_UNLOCK(lvif); + error = ENOTRECOVERABLE; + goto out; + } + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + + KASSERT(lsta != NULL, ("%s: lsta %p! lvif %p vap %p\n", __func__, + lsta, lvif, vap)); IMPROVE("event callback?"); @@ -1482,12 +1568,12 @@ lkpi_sta_a_to_a(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) lsta->in_mgd = true; } + error = 0; +out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); - if (ni != NULL) - ieee80211_free_node(ni); - return (0); + return (error); } static int @@ -1509,16 +1595,30 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - /* Keep ni around. */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; + IEEE80211_UNLOCK(vap->iv_ic); + LKPI_80211_LHW_LOCK(lhw); + + LKPI_80211_LVIF_LOCK(lvif); +#ifdef LINUXKPI_DEBUG_80211 + /* XXX-BZ KASSERT later; state going down so no action. */ + if (lvif->lvif_bss == NULL) + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " + "lvif %p vap %p\n", __func__, + lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); + + ni = lsta->ni; /* Reference held for lvif_bss. */ sta = LSTA_TO_STA(lsta); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); - IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); - /* flush, drop. */ lkpi_80211_mo_flush(hw, vif, nitems(sta->txq), true); @@ -1614,6 +1714,13 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i bss_changed |= BSS_CHANGED_BSSID; lkpi_80211_mo_bss_info_changed(hw, vif, &vif->bss_conf, bss_changed); + LKPI_80211_LVIF_LOCK(lvif); + /* Remove ni reference for this cache of lsta. */ + lvif->lvif_bss = NULL; + lvif->lvif_bss_synched = false; + LKPI_80211_LVIF_UNLOCK(lvif); + ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ + lkpi_lsta_remove(lsta, lvif); /* conf_tx */ @@ -1639,8 +1746,6 @@ out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); outni: - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -1698,16 +1803,34 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int IEEE80211_UNLOCK(vap->iv_ic); LKPI_80211_LHW_LOCK(lhw); - ni = NULL; + + LKPI_80211_LVIF_LOCK(lvif); + /* XXX-BZ KASSERT later? */ + if (!lvif->lvif_bss_synched || lvif->lvif_bss == NULL) { +#ifdef LINUXKPI_DEBUG_80211 + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + LKPI_80211_LVIF_UNLOCK(lvif); + error = ENOTRECOVERABLE; + goto out; + } + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " + "lvif %p vap %p\n", __func__, + lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); + + ni = lsta->ni; /* Reference held for lvif_bss. */ IMPROVE("ponder some of this moved to ic_newassoc, scan_assoc_success, " "and to lesser extend ieee80211_notify_node_join"); /* Finish assoc. */ /* Update sta_state (AUTH to ASSOC) and set aid. */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; - KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); KASSERT(lsta->state == IEEE80211_STA_AUTH, ("%s: lsta %p state not " "AUTH: %#x\n", __func__, lsta, lsta->state)); sta = LSTA_TO_STA(lsta); @@ -1820,8 +1943,6 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -1857,9 +1978,23 @@ lkpi_sta_run_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - /* Keep ni around. */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; + LKPI_80211_LVIF_LOCK(lvif); +#ifdef LINUXKPI_DEBUG_80211 + /* XXX-BZ KASSERT later; state going down so no action. */ + if (lvif->lvif_bss == NULL) + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " + "lvif %p vap %p\n", __func__, + lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); + + ni = lsta->ni; /* Reference held for lvif_bss. */ sta = LSTA_TO_STA(lsta); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); @@ -1955,8 +2090,6 @@ out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); outni: - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -1979,16 +2112,30 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - /* Keep ni around. */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; + IEEE80211_UNLOCK(vap->iv_ic); + LKPI_80211_LHW_LOCK(lhw); + + LKPI_80211_LVIF_LOCK(lvif); +#ifdef LINUXKPI_DEBUG_80211 + /* XXX-BZ KASSERT later; state going down so no action. */ + if (lvif->lvif_bss == NULL) + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " + "lvif %p vap %p\n", __func__, + lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); + + ni = lsta->ni; /* Reference held for lvif_bss. */ sta = LSTA_TO_STA(lsta); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); - IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); - /* flush, drop. */ lkpi_80211_mo_flush(hw, vif, nitems(sta->txq), true); @@ -2108,6 +2255,13 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int bss_changed |= BSS_CHANGED_BSSID; lkpi_80211_mo_bss_info_changed(hw, vif, &vif->bss_conf, bss_changed); + LKPI_80211_LVIF_LOCK(lvif); + /* Remove ni reference for this cache of lsta. */ + lvif->lvif_bss = NULL; + lvif->lvif_bss_synched = false; + LKPI_80211_LVIF_UNLOCK(lvif); + ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ + lkpi_lsta_remove(lsta, lvif); /* conf_tx */ @@ -2133,8 +2287,6 @@ out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); outni: - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -2307,53 +2459,18 @@ static struct ieee80211_node * lkpi_iv_update_bss(struct ieee80211vap *vap, struct ieee80211_node *ni) { struct lkpi_vif *lvif; - struct ieee80211_node *obss; - struct lkpi_sta *lsta; - struct ieee80211_sta *sta; - - obss = vap->iv_bss; - -#ifdef LINUXKPI_DEBUG_80211 - if (linuxkpi_debug_80211 & D80211_TRACE) - ic_printf(vap->iv_ic, "%s: obss %p ni_drv_data %p " - "ni %p ni_drv_data %p\n", __func__, - obss, (obss != NULL) ? obss->ni_drv_data : NULL, - ni, (ni != NULL) ? ni->ni_drv_data : NULL); -#endif + struct ieee80211_node *rni; - /* Nothing to copy from. Just return. */ - if (obss == NULL || obss->ni_drv_data == NULL) - goto out; - - /* Nothing to copy to. Just return. */ - IMPROVE("clearing the obss might still be needed?"); - if (ni == NULL) - goto out; + IEEE80211_LOCK_ASSERT(vap->iv_ic); - /* Nothing changed? panic? */ - if (obss == ni) - goto out; + lvif = VAP_TO_LVIF(vap); - lsta = obss->ni_drv_data; - obss->ni_drv_data = ni->ni_drv_data; - ni->ni_drv_data = lsta; - if (lsta != NULL) { - lsta->ni = ni; - sta = LSTA_TO_STA(lsta); - IEEE80211_ADDR_COPY(sta->addr, lsta->ni->ni_macaddr); - IEEE80211_ADDR_COPY(sta->deflink.addr, sta->addr); - } - lsta = obss->ni_drv_data; - if (lsta != NULL) { - lsta->ni = obss; - sta = LSTA_TO_STA(lsta); - IEEE80211_ADDR_COPY(sta->addr, lsta->ni->ni_macaddr); - IEEE80211_ADDR_COPY(sta->deflink.addr, sta->addr); - } + LKPI_80211_LVIF_LOCK(lvif); + lvif->lvif_bss_synched = false; + LKPI_80211_LVIF_UNLOCK(lvif); -out: - lvif = VAP_TO_LVIF(vap); - return (lvif->iv_update_bss(vap, ni)); + rni = lvif->iv_update_bss(vap, ni); + return (rni); } #ifdef LKPI_80211_WME @@ -2474,6 +2591,8 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], lvif = malloc(len, M_80211_VAP, M_WAITOK | M_ZERO); mtx_init(&lvif->mtx, "lvif", NULL, MTX_DEF); TAILQ_INIT(&lvif->lsta_head); + lvif->lvif_bss = NULL; + lvif->lvif_bss_synched = false; vap = LVIF_TO_VAP(lvif); vif = LVIF_TO_VIF(lvif); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index c9ac19321ab3..4aeca414973c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -156,6 +156,8 @@ struct lkpi_vif { struct ieee80211_node * (*iv_update_bss)(struct ieee80211vap *, struct ieee80211_node *); TAILQ_HEAD(, lkpi_sta) lsta_head; + struct lkpi_sta *lvif_bss; + bool lvif_bss_synched; bool added_to_drv; /* Driver knows; i.e. we called add_interface(). */ bool hw_queue_stopped[IEEE80211_NUM_ACS]; From nobody Mon Feb 19 08:08:01 2024 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 4TdZsZ0qGKz5B2vS; Mon, 19 Feb 2024 08:08: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 4TdZsZ05JWz4KtD; Mon, 19 Feb 2024 08: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=1708330082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3jZ7mO6CLvxzYF21fgVVyzvt8GYG31jfQr4WNkuljV4=; b=aFEz15szom+8yy5quJpDClK7Ll/jnL+vZcEhE0h9cxj3CxvLAYm9UEoSsHV4s4+ISe0Msd x0RD7vbHjJ3x2s4KN/63gyMuN/Hhy06Df/i8sAEnONWCWUz4FUeqO8EOU0eeCxo5Yp1mcW 53mt/plSiDMyR3bKD+jAPDuBCj5t0+AdoRj1aWu1ZoCLA84022r50eXADRRpD6xttMK9ao jaalj7kURjn67PgngFu1lLNE+MdIwwuujHtNX92LweIkEo3YmOnl1E7QBjYGZoplIeOQyW 92/9MGqaAjJQta4Oy5FHznAE94EP/2UPtOMbVIVQRcKsLyaMxz9Aa35zyRAtfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3jZ7mO6CLvxzYF21fgVVyzvt8GYG31jfQr4WNkuljV4=; b=ZB+d2QgjvOs85GzXT1NHJmxHYNbgb+f+jAmYKUWXVBAI8QM3pW5Jb9Nka6dfrxFFlkTQS8 MlyeTwCqU5pBAbVA2ra1siNB+o4UakdSZa3NJpLrsZqhLfVdJztW/JSS1DCnprGRI9WPkJ FHJD0HgvKR+AaaMett/BsiIbN7HzFYpyJZ9C4VKw6V5q2mwI6PMWYoOm3wmrD4lIYE0qS9 vvCPplPj603cSGI/WV2thRGjlllaeOANo7TZv4WGj6dEKDm4LPkus69y/oyKgjVH3pPU42 gfPA5EzPmp8n/dNnde7dhlXamoBmyaXLZm3yh4ATBt3Jujw2I9GjYEZPNRHlWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330082; a=rsa-sha256; cv=none; b=dUHaNfR2UQ7DjWWaCX46HcOmptZxKNz+Kyy2pxJ0AItChHxt3bxscJoknurft+FGU2M9gv F3znLgb7IkTGi39PhPzYd1R7dpRnyNsFXdJqRW50L8/DpJ/328zH5dev9VPN6a42ko9I/3 5Bjnfxth04h/Hpxkd5W8bFrTDFJObUVKsBpai/5wNbHSw7JdmQ+7PryB/tzoP9GbUXoC5z ZXUDxgp2s0dQzbGz04y3uU6bNzdmldTlhOji3NXL27MBol74xuOrAMiWuO0XJVILKvSkeb xef4+hWZbmtBcQV+g/QuWuLaZuIgJfOWANl2L23FYIw0AxcM6O6Ohe5hGhcK8A== 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 4TdZsY6JXPzR5L; Mon, 19 Feb 2024 08: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 41J8814C016391; Mon, 19 Feb 2024 08: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 41J881YO016388; Mon, 19 Feb 2024 08:08:01 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:08:01 GMT Message-Id: <202402190808.41J881YO016388@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a7e1fc7f620d - stable/13 - net80211: deal with lost state transitions 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a7e1fc7f620d3341549c1380f550aaafbdb45622 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a7e1fc7f620d3341549c1380f550aaafbdb45622 commit a7e1fc7f620d3341549c1380f550aaafbdb45622 Author: Bjoern A. Zeeb AuthorDate: 2024-01-10 10:14:16 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:01 +0000 net80211: deal with lost state transitions Since 5efea30f039c4 we can possibly lose a state transition which can cause trouble further down the road. The reproducer from 643d6dce6c1e can trigger these for example. Drivers for firmware based wireless cards have worked around some of this (and other) problems in the past. Add an array of tasks rather than a single one as we would simply get npending > 1 and lose order with other tasks. Try to keep state changes updated as queued in case we end up with more than one at a time. While this is not ideal either (call it a hack) it will sort the problem for now. We will queue in ieee80211_new_state_locked() and do checks there and dequeue in ieee80211_newstate_cb(). If we still overrun the (currently) 8 slots we will drop the state change rather than overwrite the last one. When dequeing we will update iv_nstate and keep it around for historic reasons for the moment. The longer term we should make the callers of ieee80211_new_state[_locked]() actually use the returned errors and act appropriately but that will touch a lot more places and drivers (possibly incl. changed behaviour for ioctls). rtwn(4) and rum(4) should probably be revisted and net80211 internals removed (for rum(4) at least the current logic still seems prone to races). PR: 271979, 271988, 275255, 263613, 274003 Sponsored by: The FreeBSD Foundation (in 2023) Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43389 (cherry picked from commit 713db49d06deee90dd358b2e4b9ca05368a5eaf6) Given this changes the internal structure of 'struct ieee80211vap', which gets allocated by the drivers, and we do not have enough spares, all wireless drivers need to be recompiled. Given we are forced to do the update, we leave fields in the middle of the struct and add more spares at the same time. __FreeBSD_version gets updated to 1303501 to be able to detect this change. (cherry picked from commit a890a3a5ddf33acb0a4000885945b89156799b07) --- UPDATING | 6 ++ sys/dev/rtwn/if_rtwn.c | 4 +- sys/dev/usb/wlan/if_rum.c | 4 +- sys/net80211/ieee80211.c | 4 +- sys/net80211/ieee80211_ddb.c | 15 ++++- sys/net80211/ieee80211_proto.c | 124 ++++++++++++++++++++++++++++++++++------- sys/net80211/ieee80211_var.h | 18 +++--- sys/sys/param.h | 2 +- 8 files changed, 143 insertions(+), 34 deletions(-) diff --git a/UPDATING b/UPDATING index 8e7fa2999475..974b0dbd30c2 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,12 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20240218: + MFC of 713db49d06de changed 'struct ieee80211vap' internals in net80211. + Given we do not have enough spares and the struct is allocated by + drivers, all wireless drivers have to be recompiled. + __FreeBSD_version is updated to 1303501 to track this change. + 20240207: sendmail 8.18.1 has been imported and merged. This version enforces stricter RFC compliance by default, especially with respect to line diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c index baf427b4aafc..4334d5700e51 100644 --- a/sys/dev/rtwn/if_rtwn.c +++ b/sys/dev/rtwn/if_rtwn.c @@ -614,10 +614,12 @@ rtwn_vap_delete(struct ieee80211vap *vap) struct ieee80211com *ic = vap->iv_ic; struct rtwn_softc *sc = ic->ic_softc; struct rtwn_vap *uvp = RTWN_VAP(vap); + int i; /* Put vap into INIT state + stop device if needed. */ ieee80211_stop(vap); - ieee80211_draintask(ic, &vap->iv_nstate_task); + for (i = 0; i < NET80211_IV_NSTATE_NUM; i++) + ieee80211_draintask(ic, &vap->iv_nstate_task[i]); ieee80211_draintask(ic, &ic->ic_parent_task); RTWN_LOCK(sc); diff --git a/sys/dev/usb/wlan/if_rum.c b/sys/dev/usb/wlan/if_rum.c index d4efc37a783f..364f02393d8d 100644 --- a/sys/dev/usb/wlan/if_rum.c +++ b/sys/dev/usb/wlan/if_rum.c @@ -719,10 +719,12 @@ rum_vap_delete(struct ieee80211vap *vap) struct rum_vap *rvp = RUM_VAP(vap); struct ieee80211com *ic = vap->iv_ic; struct rum_softc *sc = ic->ic_softc; + int i; /* Put vap into INIT state. */ ieee80211_new_state(vap, IEEE80211_S_INIT, -1); - ieee80211_draintask(ic, &vap->iv_nstate_task); + for (i = 0; i < NET80211_IV_NSTATE_NUM; i++) + ieee80211_draintask(ic, &vap->iv_nstate_task[i]); RUM_LOCK(sc); /* Cancel any unfinished Tx. */ diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c index 2bc85b7ac04a..a3de9fd91797 100644 --- a/sys/net80211/ieee80211.c +++ b/sys/net80211/ieee80211.c @@ -729,6 +729,7 @@ ieee80211_vap_detach(struct ieee80211vap *vap) { struct ieee80211com *ic = vap->iv_ic; struct ifnet *ifp = vap->iv_ifp; + int i; CURVNET_SET(ifp->if_vnet); @@ -743,7 +744,8 @@ ieee80211_vap_detach(struct ieee80211vap *vap) /* * Flush any deferred vap tasks. */ - ieee80211_draintask(ic, &vap->iv_nstate_task); + for (i = 0; i < NET80211_IV_NSTATE_NUM; i++) + ieee80211_draintask(ic, &vap->iv_nstate_task[i]); ieee80211_draintask(ic, &vap->iv_swbmiss_task); ieee80211_draintask(ic, &vap->iv_wme_task); ieee80211_draintask(ic, &ic->ic_parent_task); diff --git a/sys/net80211/ieee80211_ddb.c b/sys/net80211/ieee80211_ddb.c index 29de6d10fcc3..f028c4273ee3 100644 --- a/sys/net80211/ieee80211_ddb.c +++ b/sys/net80211/ieee80211_ddb.c @@ -470,8 +470,9 @@ _db_show_vap(const struct ieee80211vap *vap, int showmesh, int showprocs) if (vap->iv_opmode == IEEE80211_M_MBSS) db_printf("(%p)", vap->iv_mesh); #endif - db_printf(" state %s", ieee80211_state_name[vap->iv_state]); - db_printf(" ifp %p(%s)", vap->iv_ifp, vap->iv_ifp->if_xname); + db_printf(" state %#x %s", vap->iv_state, + ieee80211_state_name[vap->iv_state]); + db_printf(" ifp %p(%s)", vap->iv_ifp, if_name(vap->iv_ifp)); db_printf("\n"); db_printf("\tic %p", vap->iv_ic); @@ -482,6 +483,16 @@ _db_show_vap(const struct ieee80211vap *vap, int showmesh, int showprocs) struct sysctllog *iv_sysctl; /* dynamic sysctl context */ #endif db_printf("\n"); + + db_printf("\tiv_nstate %#x %s iv_nstate_b %d iv_nstate_n %d\n", + vap->iv_nstate, ieee80211_state_name[vap->iv_nstate], /* historic */ + vap->iv_nstate_b, vap->iv_nstate_n); + for (i = 0; i < NET80211_IV_NSTATE_NUM; i++) { + db_printf("\t [%d] iv_nstates %#x %s _task %p _args %d\n", i, + vap->iv_nstates[i], ieee80211_state_name[vap->iv_nstates[i]], + &vap->iv_nstate_task[i], vap->iv_nstate_args[i]); + } + db_printf("\tdebug=%b\n", vap->iv_debug, IEEE80211_MSG_BITS); db_printf("\tflags=%b\n", vap->iv_flags, IEEE80211_F_BITS); diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index d00b7de0ab31..208ff783ad76 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -340,7 +340,8 @@ ieee80211_proto_vattach(struct ieee80211vap *vap) vap->iv_bmiss_max = IEEE80211_BMISS_MAX; callout_init_mtx(&vap->iv_swbmiss, IEEE80211_LOCK_OBJ(ic), 0); callout_init(&vap->iv_mgtsend, 1); - TASK_INIT(&vap->iv_nstate_task, 0, ieee80211_newstate_cb, vap); + for (i = 0; i < NET80211_IV_NSTATE_NUM; i++) + TASK_INIT(&vap->iv_nstate_task[i], 0, ieee80211_newstate_cb, vap); TASK_INIT(&vap->iv_swbmiss_task, 0, beacon_swmiss, vap); TASK_INIT(&vap->iv_wme_task, 0, vap_update_wme, vap); TASK_INIT(&vap->iv_slot_task, 0, vap_update_slot, vap); @@ -2497,6 +2498,51 @@ wakeupwaiting(struct ieee80211vap *vap0) } } +static int +_ieee80211_newstate_get_next_empty_slot(struct ieee80211vap *vap) +{ + int nstate_num; + + IEEE80211_LOCK_ASSERT(vap->iv_ic); + + if (vap->iv_nstate_n >= NET80211_IV_NSTATE_NUM) + return (-1); + + nstate_num = vap->iv_nstate_b + vap->iv_nstate_n; + nstate_num %= NET80211_IV_NSTATE_NUM; + vap->iv_nstate_n++; + + return (nstate_num); +} + +static int +_ieee80211_newstate_get_next_pending_slot(struct ieee80211vap *vap) +{ + int nstate_num; + + IEEE80211_LOCK_ASSERT(vap->iv_ic); + + KASSERT(vap->iv_nstate_n > 0, ("%s: vap %p iv_nstate_n %d\n", + __func__, vap, vap->iv_nstate_n)); + + nstate_num = vap->iv_nstate_b; + vap->iv_nstate_b++; + if (vap->iv_nstate_b >= NET80211_IV_NSTATE_NUM) + vap->iv_nstate_b = 0; + vap->iv_nstate_n--; + + return (nstate_num); +} + +static int +_ieee80211_newstate_get_npending(struct ieee80211vap *vap) +{ + + IEEE80211_LOCK_ASSERT(vap->iv_ic); + + return (vap->iv_nstate_n); +} + /* * Handle post state change work common to all operating modes. */ @@ -2506,17 +2552,25 @@ ieee80211_newstate_cb(void *xvap, int npending) struct ieee80211vap *vap = xvap; struct ieee80211com *ic = vap->iv_ic; enum ieee80211_state nstate, ostate; - int arg, rc; + int arg, rc, nstate_num; + KASSERT(npending == 1, ("%s: vap %p with npending %d != 1\n", + __func__, vap, npending)); IEEE80211_LOCK(ic); - nstate = vap->iv_nstate; - arg = vap->iv_nstate_arg; + nstate_num = _ieee80211_newstate_get_next_pending_slot(vap); + + /* + * Update the historic fields for now as they are used in some + * drivers and reduce code changes for now. + */ + vap->iv_nstate = nstate = vap->iv_nstates[nstate_num]; + arg = vap->iv_nstate_args[nstate_num]; IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, "%s:%d: running state update %s -> %s (%d)\n", __func__, __LINE__, ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate], + ieee80211_state_name[nstate], npending); if (vap->iv_flags_ext & IEEE80211_FEXT_REINIT) { @@ -2527,9 +2581,10 @@ ieee80211_newstate_cb(void *xvap, int npending) /* Deny any state changes while we are here. */ vap->iv_nstate = IEEE80211_S_INIT; IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, - "%s: %s -> %s arg %d\n", __func__, + "%s: %s -> %s arg %d -> %s arg %d\n", __func__, ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate], arg); + ieee80211_state_name[vap->iv_nstate], 0, + ieee80211_state_name[nstate], arg); vap->iv_newstate(vap, vap->iv_nstate, 0); IEEE80211_LOCK_ASSERT(ic); vap->iv_flags_ext &= ~(IEEE80211_FEXT_REINIT | @@ -2670,7 +2725,7 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, struct ieee80211com *ic = vap->iv_ic; struct ieee80211vap *vp; enum ieee80211_state ostate; - int nrunning, nscanning; + int nrunning, nscanning, nstate_num; IEEE80211_LOCK_ASSERT(ic); @@ -2692,14 +2747,6 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, ieee80211_state_name[nstate], ieee80211_state_name[vap->iv_nstate]); return -1; - } else if (vap->iv_state != vap->iv_nstate) { - /* Warn if the previous state hasn't completed. */ - IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, - "%s:%d: pending %s -> %s (now to %s) transition lost\n", - __func__, __LINE__, - ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate], - ieee80211_state_name[nstate]); } } @@ -2722,7 +2769,16 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, nscanning++; } } - ostate = vap->iv_state; + /* + * Look ahead for the "old state" at that point when the last queued + * state transition is run. + */ + if (vap->iv_nstate_n == 0) { + ostate = vap->iv_state; + } else { + nstate_num = (vap->iv_nstate_b + vap->iv_nstate_n - 1) % NET80211_IV_NSTATE_NUM; + ostate = vap->iv_nstates[nstate_num]; + } IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, "%s: %s -> %s (arg %d) (nrunning %d nscanning %d)\n", __func__, ieee80211_state_name[ostate], ieee80211_state_name[nstate], arg, @@ -2816,11 +2872,37 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, default: break; } - /* defer the state change to a thread */ - vap->iv_nstate = nstate; - vap->iv_nstate_arg = arg; + /* + * Defer the state change to a thread. + * We support up-to NET80211_IV_NSTATE_NUM pending state changes + * using a separate task for each. Otherwise, if we enqueue + * more than one state change they will be folded together, + * npedning will be > 1 and we may run then out of sequence with + * other events. + * This is kind-of a hack after 10 years but we know how to provoke + * these cases now (and seen them in the wild). + */ + nstate_num = _ieee80211_newstate_get_next_empty_slot(vap); + if (nstate_num == -1) { + /* + * This is really bad and we should just go kaboom. + * Instead drop it. No one checks the return code anyway. + */ + ic_printf(ic, "%s:%d: pending %s -> %s (now to %s) " + "transition lost. %d/%d pending state changes:\n", + __func__, __LINE__, + ieee80211_state_name[vap->iv_state], + ieee80211_state_name[vap->iv_nstate], + ieee80211_state_name[nstate], + _ieee80211_newstate_get_npending(vap), + NET80211_IV_NSTATE_NUM); + + return (EAGAIN); + } + vap->iv_nstates[nstate_num] = nstate; + vap->iv_nstate_args[nstate_num] = arg; vap->iv_flags_ext |= IEEE80211_FEXT_STATEWAIT; - ieee80211_runtask(ic, &vap->iv_nstate_task); + ieee80211_runtask(ic, &vap->iv_nstate_task[nstate_num]); return EINPROGRESS; } diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h index 868f1886069c..aa99ccefd248 100644 --- a/sys/net80211/ieee80211_var.h +++ b/sys/net80211/ieee80211_var.h @@ -410,9 +410,16 @@ struct ieee80211vap { uint32_t iv_com_state; /* com usage / detached flag */ enum ieee80211_opmode iv_opmode; /* operation mode */ enum ieee80211_state iv_state; /* state machine state */ - enum ieee80211_state iv_nstate; /* pending state */ - int iv_nstate_arg; /* pending state arg */ - struct task iv_nstate_task; /* deferred state processing */ + + /* Deferred state processing. */ + enum ieee80211_state iv_nstate; /* next pending state (historic) */ +#define NET80211_IV_NSTATE_NUM 8 + int iv_nstate_b; /* First filled slot. */ + int iv_nstate_n; /* # of filled slots. */ + enum ieee80211_state iv_nstates[NET80211_IV_NSTATE_NUM]; /* queued pending state(s) */ + int iv_nstate_args[NET80211_IV_NSTATE_NUM]; /* queued pending state(s) arg */ + struct task iv_nstate_task[NET80211_IV_NSTATE_NUM]; + struct task iv_swbmiss_task;/* deferred iv_bmiss call */ struct callout iv_mgtsend; /* mgmt frame response timer */ /* inactivity timer settings */ @@ -604,10 +611,7 @@ struct ieee80211vap { struct ieee80211_node * (*iv_update_bss)(struct ieee80211vap *, struct ieee80211_node *); -#ifdef __ILP32__ - uint32_t iv_spare0; -#endif - uint64_t iv_spare[5]; + uint64_t iv_spare[36]; }; MALLOC_DECLARE(M_80211_VAP); diff --git a/sys/sys/param.h b/sys/sys/param.h index be58e408b5ad..77088d010ea6 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -59,7 +59,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1303500 /* Master, propagated to newvers */ +#define __FreeBSD_version 1303501 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Mon Feb 19 08:08:03 2024 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 4TdZsc1lkpz5B2vY; Mon, 19 Feb 2024 08: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 4TdZsc0sl0z4KtY; Mon, 19 Feb 2024 08: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=1708330084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oa8xxx+zJxA7gNk7e9Qz+8M4iKR367csCLdYOqPr7J4=; b=eeDpSMhtcw4EhHAMZKc6P5C2uWAt/NZ0Lo0rNyW/a4jt49tJ+tdTrC08KP6kpVtPyUNAVT rym40+dpioZDFMmacxlT/UHbv0JY0vp/gVC31SA/zQzvJwCrcYUD6vGyrKtLDIS1Y46AFy G7+2w4Twh4CZAqqCpvhp1vwYFqvMpIVpj1hb2JLUHXgA+ncy5EREpbzXRJ1cFTRqsBSln6 3Yf/pjIIAefYg38viH8RVMgZuzk23ckP8YJSD+S+RaoNZSgQ8UOZN4vS5uKGaDOjSBKqGD W3kHpjjFFPdUXvJeUQhQspf9NnuyT0IR/bFYVoWDq9oik3WN1Ma5SBdBK/L8pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oa8xxx+zJxA7gNk7e9Qz+8M4iKR367csCLdYOqPr7J4=; b=VplPcWMLRxJcl1nydRMtA7+p5kQmeeamNBQXryJDLYchEhustZcTc3DUA4+IXzR6QQu7ND xncSaG2k4ubDR8S2aWx5qVnv6CBS1svLgWOz44yZ0MKgm1ThLJKRNvFhjYhtMx+yXv7sio e/t3FKlRRvyXdNDGLc+900yADj/X6QGPs9/cx2z/TfNx+3G0XJ3X+5+wbrpqJYOCxSHWFP XJpr4UaV8VAKn8UfHPP5KFYt+KW3S0lMElnU03XHH4fNsqUJf5ZPthkR5BkGxmM4voceG7 Fm2F3+T7rrF7108zF+FaVANcRkLpP6IvWbt05zc+6D2CgzVdZNnASj2b2yEbdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330084; a=rsa-sha256; cv=none; b=nb/D95tqDcPWihutGqHxSoOHihRhefrUmZ2bGpS+KUlxtSdpITT3ldTqt6Mzo+nCz9neyd ASh5arjg0BolfInjGV0PUb52c3VmE5rUXhs/Azo5l1P/+TNykPkq6bgnlGBZxjDRMI1AUa kmcDcMVizcbhfPIdOtW9znnjydtJmdfg8ZpkV/65JPOjRSERC/8q10VkMQVniCa+zeEGsl +5ckqvT6ryEdGYn2wJsUA+1CRC1/A+QjNIMA6yW0rOKt11Os8FzD1DDdJ8MlyGrv/QefLh oYv/q32FyBMFpqFRd1DPuDtBpqHeQlFl9K9jTdMLGjb3OPR0qI8HQE2VFnGgYw== 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 4TdZsb747zzRGk; Mon, 19 Feb 2024 08: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 41J8830h016510; Mon, 19 Feb 2024 08: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 41J883Xw016507; Mon, 19 Feb 2024 08:08:03 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:08:03 GMT Message-Id: <202402190808.41J883Xw016507@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 223edc1a3c2f - stable/13 - LinuxKPI: 802.11: update the ni/lsta reference cycle 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 223edc1a3c2fc86dbc7fa0ecd00f26a85d7c7b43 Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=223edc1a3c2fc86dbc7fa0ecd00f26a85d7c7b43 commit 223edc1a3c2fc86dbc7fa0ecd00f26a85d7c7b43 Author: Bjoern A. Zeeb AuthorDate: 2024-02-05 14:51:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:02 +0000 LinuxKPI: 802.11: update the ni/lsta reference cycle Update the ni/lsta reference cycle, add extra checks and assertions. This is to accomodate problems we were seeing based on net80211 behaviour (join1() and (*iv_update_bss)() as well as state changes for new iv_bss nodes during an active session). This should hopefully help to stabilise behaviour until the underlying problems gets properly addressed (for this and all other device drivers). PR: 272607, 273985, 274003 Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43753 (cherry picked from commit 0936c648ad0ee5152dc19f261e77fe9c1833fe05) --- sys/compat/linuxkpi/common/src/linux_80211.c | 209 +++++++++++++++++---------- sys/compat/linuxkpi/common/src/linux_80211.h | 1 + 2 files changed, 130 insertions(+), 80 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index b1c3b5c32ded..35eef4cf0640 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -247,25 +247,14 @@ lkpi_lsta_dump(struct lkpi_sta *lsta, struct ieee80211_node *ni, static void lkpi_lsta_remove(struct lkpi_sta *lsta, struct lkpi_vif *lvif) { - struct ieee80211_node *ni; - - IMPROVE("XXX-BZ remove tqe_prev check once ni-sta-state-sync is fixed"); - ni = lsta->ni; LKPI_80211_LVIF_LOCK(lvif); - if (lsta->lsta_entry.tqe_prev != NULL) - TAILQ_REMOVE(&lvif->lsta_head, lsta, lsta_entry); + KASSERT(lsta->lsta_entry.tqe_prev != NULL, + ("%s: lsta %p lsta_entry.tqe_prev %p ni %p\n", __func__, + lsta, lsta->lsta_entry.tqe_prev, lsta->ni)); + TAILQ_REMOVE(&lvif->lsta_head, lsta, lsta_entry); LKPI_80211_LVIF_UNLOCK(lvif); - - lsta->ni = NULL; - ni->ni_drv_data = NULL; - if (ni != NULL) - ieee80211_free_node(ni); - - IMPROVE("more from lkpi_ic_node_free() should happen here."); - - free(lsta, M_LKPI80211); } static struct lkpi_sta * @@ -287,13 +276,16 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], lsta->added_to_drv = false; lsta->state = IEEE80211_STA_NOTEXIST; -#if 0 /* - * This needs to be done in node_init() as ieee80211_alloc_node() - * will initialise the refcount after us. + * Link the ni to the lsta here without taking a reference. + * For one we would have to take the reference in node_init() + * as ieee80211_alloc_node() will initialise the refcount after us. + * For the other a ni and an lsta are 1:1 mapped and always together + * from [ic_]node_alloc() to [ic_]node_free() so we are essentally + * using the ni references for the lsta as well despite it being + * two separate allocations. */ - lsta->ni = ieee80211_ref_node(ni); -#endif + lsta->ni = ni; /* The back-pointer "drv_data" to net80211_node let's us get lsta. */ ni->ni_drv_data = lsta; @@ -378,6 +370,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], mtx_init(&lsta->txq_mtx, "lsta_txq", NULL, MTX_DEF); TASK_INIT(&lsta->txq_task, 0, lkpi_80211_txq_task, lsta); mbufq_init(&lsta->txq, IFQ_MAXLEN); + lsta->txq_ready = true; return (lsta); @@ -393,6 +386,54 @@ cleanup: return (NULL); } +static void +lkpi_lsta_free(struct lkpi_sta *lsta, struct ieee80211_node *ni) +{ + struct mbuf *m; + + if (lsta->added_to_drv) + panic("%s: Trying to free an lsta still known to firmware: " + "lsta %p ni %p added_to_drv %d\n", + __func__, lsta, ni, lsta->added_to_drv); + + /* XXX-BZ free resources, ... */ + IMPROVE(); + + /* XXX locking */ + lsta->txq_ready = false; + + /* Drain taskq, won't be restarted until added_to_drv is set again. */ + while (taskqueue_cancel(taskqueue_thread, &lsta->txq_task, NULL) != 0) + taskqueue_drain(taskqueue_thread, &lsta->txq_task); + + /* Flush mbufq (make sure to release ni refs!). */ + m = mbufq_dequeue(&lsta->txq); + while (m != NULL) { + struct ieee80211_node *nim; + + nim = (struct ieee80211_node *)m->m_pkthdr.rcvif; + if (nim != NULL) + ieee80211_free_node(nim); + m_freem(m); + m = mbufq_dequeue(&lsta->txq); + } + KASSERT(mbufq_empty(&lsta->txq), ("%s: lsta %p has txq len %d != 0\n", + __func__, lsta, mbufq_len(&lsta->txq))); + + /* Drain sta->txq[] */ + mtx_destroy(&lsta->txq_mtx); + + /* Remove lsta from vif; that is done by the state machine. Should assert it? */ + + IMPROVE("Make sure everything is cleaned up."); + + /* Free lsta. */ + lsta->ni = NULL; + ni->ni_drv_data = NULL; + free(lsta, M_LKPI80211); +} + + static enum nl80211_band lkpi_net80211_chan_to_nl80211_band(struct ieee80211_channel *c) { @@ -1052,11 +1093,17 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int ic_printf(vap->iv_ic, "%s: no iv_bss for vap %p\n", __func__, vap); return (EINVAL); } + /* + * Keep the ni alive locally. In theory (and practice) iv_bss can change + * once we unlock here. This is due to net80211 allowing state changes + * and new join1() despite having an active node as well as due to + * the fact that the iv_bss can be swapped under the hood in (*iv_update_bss). + */ ni = ieee80211_ref_node(vap->iv_bss); if (ni->ni_chan == NULL || ni->ni_chan == IEEE80211_CHAN_ANYC) { ic_printf(vap->iv_ic, "%s: no channel set for iv_bss ni %p " "on vap %p\n", __func__, ni, vap); - ieee80211_free_node(ni); + ieee80211_free_node(ni); /* Error handling for the local ni. */ return (EINVAL); } @@ -1065,7 +1112,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int if (chan == NULL) { ic_printf(vap->iv_ic, "%s: failed to get LKPI channel from " "iv_bss ni %p on vap %p\n", __func__, ni, vap); - ieee80211_free_node(ni); + ieee80211_free_node(ni); /* Error handling for the local ni. */ return (ESRCH); } @@ -1073,6 +1120,18 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); + LKPI_80211_LVIF_LOCK(lvif); + /* XXX-BZ KASSERT later? */ + if (lvif->lvif_bss_synched || lvif->lvif_bss != NULL) { + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); + return (EBUSY); + } + LKPI_80211_LVIF_UNLOCK(lvif); + IEEE80211_UNLOCK(vap->iv_ic); LKPI_80211_LHW_LOCK(lhw); @@ -1200,32 +1259,17 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int lkpi_80211_mo_bss_info_changed(hw, vif, &vif->bss_conf, bss_changed); /* - * This is a bandaid for now. If we went through (*iv_update_bss)() - * and then removed the lsta we end up here without a lsta and have - * to manually allocate and link it in as lkpi_ic_node_alloc()/init() - * would normally do. - * XXX-BZ I do not like this but currently we have no good way of - * intercepting the bss swap and state changes and packets going out - * workflow so live with this. It is a compat layer after all. + * Given ni and lsta are 1:1 from alloc to free we can assert that + * ni always has lsta data attach despite net80211 node swapping + * under the hoods. */ - if (ni->ni_drv_data == NULL) { - ic_printf(vap->iv_ic, "%s:%d: lkpi_lsta_alloc to be called: " - "ni %p lsta %p\n", __func__, __LINE__, ni, ni->ni_drv_data); - lsta = lkpi_lsta_alloc(vap, ni->ni_macaddr, hw, ni); - if (lsta == NULL) { - error = ENOMEM; - ic_printf(vap->iv_ic, "%s:%d: lkpi_lsta_alloc " - "failed: %d\n", __func__, __LINE__, error); - goto out; - } - lsta->ni = ieee80211_ref_node(ni); - } else { - lsta = ni->ni_drv_data; - } + KASSERT(ni->ni_drv_data != NULL, ("%s: ni %p ni_drv_data %p\n", + __func__, ni, ni->ni_drv_data)); + lsta = ni->ni_drv_data; LKPI_80211_LVIF_LOCK(lvif); - /* XXX-BZ KASSERT later? */ - /* XXX-BZ this should have caught the upper lkpi_lsta_alloc() too! */ + /* Re-check given (*iv_update_bss) could have happened. */ + /* XXX-BZ KASSERT later? or deal as error? */ if (lvif->lvif_bss_synched || lvif->lvif_bss != NULL) ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " "lvif_bss->ni %p synched %d, ni %p lsta %p\n", __func__, __LINE__, @@ -1233,8 +1277,13 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, lvif->lvif_bss_synched, ni, lsta); - /* Reference the ni for this cache of lsta. */ - ieee80211_ref_node(vap->iv_bss); + /* + * Reference the ni for this cache of lsta/ni on lvif->lvif_bss + * essentially out lsta version of the iv_bss. + * Do NOT use iv_bss here anymore as that may have diverged from our + * function local ni already and would lead to inconsistencies. + */ + ieee80211_ref_node(ni); lvif->lvif_bss = lsta; lvif->lvif_bss_synched = true; @@ -1287,6 +1336,10 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); + /* + * Release the reference that keop the ni stable locally + * during the work of this function. + */ if (ni != NULL) ieee80211_free_node(ni); return (error); @@ -1381,9 +1434,13 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif->lvif_bss = NULL; lvif->lvif_bss_synched = false; LKPI_80211_LVIF_UNLOCK(lvif); - ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ - lkpi_lsta_remove(lsta, lvif); + /* + * The very last release the reference on the ni for the ni/lsta on + * lvif->lvif_bss. Upon return from this both ni and lsta are invalid + * and potentially freed. + */ + ieee80211_free_node(ni); /* conf_tx */ @@ -1719,9 +1776,13 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i lvif->lvif_bss = NULL; lvif->lvif_bss_synched = false; LKPI_80211_LVIF_UNLOCK(lvif); - ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ - lkpi_lsta_remove(lsta, lvif); + /* + * The very last release the reference on the ni for the ni/lsta on + * lvif->lvif_bss. Upon return from this both ni and lsta are invalid + * and potentially freed. + */ + ieee80211_free_node(ni); /* conf_tx */ @@ -2260,9 +2321,13 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif->lvif_bss = NULL; lvif->lvif_bss_synched = false; LKPI_80211_LVIF_UNLOCK(lvif); - ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ - lkpi_lsta_remove(lsta, lvif); + /* + * The very last release the reference on the ni for the ni/lsta on + * lvif->lvif_bss. Upon return from this both ni and lsta are invalid + * and potentially freed. + */ + ieee80211_free_node(ni); /* conf_tx */ @@ -3409,7 +3474,6 @@ lkpi_ic_node_init(struct ieee80211_node *ni) { struct ieee80211com *ic; struct lkpi_hw *lhw; - struct lkpi_sta *lsta; int error; ic = ni->ni_ic; @@ -3421,11 +3485,6 @@ lkpi_ic_node_init(struct ieee80211_node *ni) return (error); } - lsta = ni->ni_drv_data; - - /* Now take the reference before linking it to the table. */ - lsta->ni = ieee80211_ref_node(ni); - /* XXX-BZ Sync other state over. */ IMPROVE(); @@ -3458,30 +3517,15 @@ lkpi_ic_node_free(struct ieee80211_node *ni) ic = ni->ni_ic; lhw = ic->ic_softc; lsta = ni->ni_drv_data; - if (lsta == NULL) - goto out; - /* XXX-BZ free resources, ... */ - IMPROVE(); + /* KASSERT lsta is not NULL here. Print ni/ni__refcnt. */ - /* Flush mbufq (make sure to release ni refs!). */ -#ifdef __notyet__ - KASSERT(mbufq_empty(&lsta->txq), ("%s: lsta %p has txq len %d != 0\n", - __func__, lsta, mbufq_len(&lsta->txq))); -#endif - /* Drain taskq. */ - - /* Drain sta->txq[] */ - mtx_destroy(&lsta->txq_mtx); - - /* Remove lsta if added_to_drv. */ - - /* Remove lsta from vif */ - /* Remove ref from lsta node... */ - /* Free lsta. */ - lkpi_lsta_remove(lsta, VAP_TO_LVIF(ni->ni_vap)); + /* + * Pass in the original ni just in case of error we could check that + * it is the same as lsta->ni. + */ + lkpi_lsta_free(lsta, ni); -out: if (lhw->ic_node_free != NULL) lhw->ic_node_free(ni); } @@ -3493,6 +3537,11 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, struct lkpi_sta *lsta; lsta = ni->ni_drv_data; + /* XXX locking */ + if (!lsta->txq_ready) { + m_free(m); + return (ENETDOWN); + } /* Queue the packet and enqueue the task to handle it. */ LKPI_80211_LSTA_LOCK(lsta); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index 4aeca414973c..b36b27168566 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -134,6 +134,7 @@ struct lkpi_sta { struct ieee80211_key_conf *kc; enum ieee80211_sta_state state; + bool txq_ready; /* Can we run the taskq? */ bool added_to_drv; /* Driver knows; i.e. we called ...(). */ bool in_mgd; /* XXX-BZ should this be per-vif? */ From nobody Mon Feb 19 08:08:05 2024 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 4TdZsd3Sd6z5B37d; Mon, 19 Feb 2024 08: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 4TdZsd2Bydz4Kny; Mon, 19 Feb 2024 08:08:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qfGPc/vDioQa0kwXW5XCDA7hDbGFC61F2fqqOJEPRNY=; b=rLOfniv0wxWsVQ8XEja/CmNymjBU/b2DrvKqcJnr9nz8ytTK+IpB/n/iitAyxCEQIHl4aw 7i3r/v0GaTXIOGVPa87invUWup7wFYI/CF3i2X6EuK/cwDHKvGNVbBHaIh7TIsM7W4J82I g+6jQY8JVrKxD8gmu43DElSp5TJeh0bZ9EQ/ibgel4SynKq+tGpMvMVhS0HDD1eE8BXjyj ojvXeb8TLHDC/UNlwtAcZWu8xZm0b7JkTN4f9Oan7r9PX5OQAeH6J4N4t1fbIAkyFMZKKW fBP4JeKGlfVOA4lEcIoJ1pKH/HrSdUagkyn2BJPCIcE8XWR+ptvnHqNlRRxAfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708330085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qfGPc/vDioQa0kwXW5XCDA7hDbGFC61F2fqqOJEPRNY=; b=Sn0k8sR8g9adHMHYmqj/6cvHsq6g3ZGaVpwmgsL/LUFAjveNRvFGlrdl5fNPmXStLRGj+L 8IjDKNpVK76WdJWmIHvtKPmstrt/65+0MXoQ+nsWosnYo0sZYPeX0MUwnTWFWybswrDyES Ez+vEd++PZzjUOlePDj1JA8NxsIfMez/qCXFW0Y6IwA3/jrC5qKR+1boztMCR/p3SbU7Hu wqhCrMjKHEtP4F6aDXBNBNU+L6/va6Rh5JAdv64H8PAiYe5+kMFexqtJN5ZKkpp2RJNCN2 +uD5YXAnrc8LAjTyN0zddnQnIVavU0KWNxLpaZ5+dZ65A5FnhTwYXqnm9WeHTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708330085; a=rsa-sha256; cv=none; b=vuGGb0c80wIRycimFwrPXChnY/hbH46Ea8+51qhtrp6DGzFBGjmJY1Uz0fbj4oohzLJ6Yw 3Vhse8dTY3xcP42f3/5onm9thEO/XnV3pjjWZsw9410VrJTqyOCdFE1+S5SGWsSKWXe5bG VpPp3v+UpIdSH/1UkqPQBG8Mj1FDGmIT8JBda+OR+4ySHBpJQ7civEnMaWs1P7QptB/pY4 Np32nbgBq4FwLx5uWefD8TPzMb9jezEItck4sgkqcIYPReE4e5enwpV1/x1aZ4hNqF8pVl 1Ibr7QhdMaeA4JYkzdf1aINX9+y4YbBDENgZwCNLYLDiiuXQuNeYYXwU8M8fDQ== 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 4TdZsd1FVkzRGl; Mon, 19 Feb 2024 08: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 41J885uc016561; Mon, 19 Feb 2024 08: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 41J885fh016558; Mon, 19 Feb 2024 08:08:05 GMT (envelope-from git) Date: Mon, 19 Feb 2024 08:08:05 GMT Message-Id: <202402190808.41J885fh016558@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 763b10806cd4 - stable/13 - LinuxKPI: 802.11: lsta txq locking cleanup 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 763b10806cd4ebdcbd2b6753d4f50ec088dc57fb Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=763b10806cd4ebdcbd2b6753d4f50ec088dc57fb commit 763b10806cd4ebdcbd2b6753d4f50ec088dc57fb Author: Bjoern A. Zeeb AuthorDate: 2024-02-14 21:56:48 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 08:02:02 +0000 LinuxKPI: 802.11: lsta txq locking cleanup Rename the LSTA lock to LSTA_TXQ lock as that is really what it is and put down the full set of macros. Replace the init and destroy with the macro invocation rather than direct code. Put locking around the txq_ready unset and check. Move the taskq_enqueue call under lock to be sure we do not call it anymore after txq_ready got unset. Leave a comment related to the node reference which is passed into the TX path on the recvif mbuf pointer. Fixes: 0936c648ad0ee PR: 274382 (possibly) Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D43909 (cherry picked from commit fa4e4257943650c0b5f58c01bb0bdfadea61dfb2) --- sys/compat/linuxkpi/common/src/linux_80211.c | 31 ++++++++++++++++++---------- sys/compat/linuxkpi/common/src/linux_80211.h | 14 +++++++++++-- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 35eef4cf0640..876ff3693bd0 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -367,7 +367,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], } /* Deferred TX path. */ - mtx_init(&lsta->txq_mtx, "lsta_txq", NULL, MTX_DEF); + LKPI_80211_LSTA_TXQ_LOCK_INIT(lsta); TASK_INIT(&lsta->txq_task, 0, lkpi_80211_txq_task, lsta); mbufq_init(&lsta->txq, IFQ_MAXLEN); lsta->txq_ready = true; @@ -399,8 +399,11 @@ lkpi_lsta_free(struct lkpi_sta *lsta, struct ieee80211_node *ni) /* XXX-BZ free resources, ... */ IMPROVE(); - /* XXX locking */ + /* Drain sta->txq[] */ + + LKPI_80211_LSTA_TXQ_LOCK(lsta); lsta->txq_ready = false; + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); /* Drain taskq, won't be restarted until added_to_drv is set again. */ while (taskqueue_cancel(taskqueue_thread, &lsta->txq_task, NULL) != 0) @@ -419,9 +422,7 @@ lkpi_lsta_free(struct lkpi_sta *lsta, struct ieee80211_node *ni) } KASSERT(mbufq_empty(&lsta->txq), ("%s: lsta %p has txq len %d != 0\n", __func__, lsta, mbufq_len(&lsta->txq))); - - /* Drain sta->txq[] */ - mtx_destroy(&lsta->txq_mtx); + LKPI_80211_LSTA_TXQ_LOCK_DESTROY(lsta); /* Remove lsta from vif; that is done by the state machine. Should assert it? */ @@ -3537,16 +3538,21 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, struct lkpi_sta *lsta; lsta = ni->ni_drv_data; - /* XXX locking */ + LKPI_80211_LSTA_TXQ_LOCK(lsta); if (!lsta->txq_ready) { + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); + /* + * Free the mbuf (do NOT release ni ref for the m_pkthdr.rcvif! + * ieee80211_raw_output() does that in case of error). + */ m_free(m); return (ENETDOWN); } /* Queue the packet and enqueue the task to handle it. */ - LKPI_80211_LSTA_LOCK(lsta); mbufq_enqueue(&lsta->txq, m); - LKPI_80211_LSTA_UNLOCK(lsta); + taskqueue_enqueue(taskqueue_thread, &lsta->txq_task); + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_TX) @@ -3555,7 +3561,6 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, mbufq_len(&lsta->txq)); #endif - taskqueue_enqueue(taskqueue_thread, &lsta->txq_task); return (0); } @@ -3770,9 +3775,13 @@ lkpi_80211_txq_task(void *ctx, int pending) mbufq_init(&mq, IFQ_MAXLEN); - LKPI_80211_LSTA_LOCK(lsta); + LKPI_80211_LSTA_TXQ_LOCK(lsta); + /* + * Do not re-check lsta->txq_ready here; we may have a pending + * disassoc frame still. + */ mbufq_concat(&mq, &lsta->txq); - LKPI_80211_LSTA_UNLOCK(lsta); + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); m = mbufq_dequeue(&mq); while (m != NULL) { diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index b36b27168566..d25614de56dc 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -310,8 +310,18 @@ struct lkpi_wiphy { #define LKPI_80211_LVIF_LOCK(_lvif) mtx_lock(&(_lvif)->mtx) #define LKPI_80211_LVIF_UNLOCK(_lvif) mtx_unlock(&(_lvif)->mtx) -#define LKPI_80211_LSTA_LOCK(_lsta) mtx_lock(&(_lsta)->txq_mtx) -#define LKPI_80211_LSTA_UNLOCK(_lsta) mtx_unlock(&(_lsta)->txq_mtx) +#define LKPI_80211_LSTA_TXQ_LOCK_INIT(_lsta) \ + mtx_init(&(_lsta)->txq_mtx, "lsta-txq", NULL, MTX_DEF); +#define LKPI_80211_LSTA_TXQ_LOCK_DESTROY(_lsta) \ + mtx_destroy(&(_lsta)->txq_mtx); +#define LKPI_80211_LSTA_TXQ_LOCK(_lsta) \ + mtx_lock(&(_lsta)->txq_mtx) +#define LKPI_80211_LSTA_TXQ_UNLOCK(_lsta) \ + mtx_unlock(&(_lsta)->txq_mtx) +#define LKPI_80211_LSTA_TXQ_LOCK_ASSERT(_lsta) \ + mtx_assert(&(_lsta)->txq_mtx, MA_OWNED) +#define LKPI_80211_LSTA_TXQ_UNLOCK_ASSERT(_lsta) \ + mtx_assert(&(_lsta)->txq_mtx, MA_NOTOWNED) #define LKPI_80211_LTXQ_LOCK_INIT(_ltxq) \ mtx_init(&(_ltxq)->ltxq_mtx, "ltxq", NULL, MTX_DEF); From nobody Mon Feb 19 09:52:03 2024 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 4Tdd9b391Zz5BJgR; Mon, 19 Feb 2024 09: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 4Tdd9b2jhMz4fJd; Mon, 19 Feb 2024 09: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=1708336323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hUxTB3XdwnfMPOCEq60g8GjIhJRusQahKiKkJjkIowI=; b=Dqz2++ovQImlMlwM/iZqaypL/H4blPTA3SC2cHoFUIAId00RSzfYhr2pdDJw8caCQR9fQx 9JzjZV/0mqBa5En7FyojEwFyABJt4BDKJ4yHZGYN9Ta3hASiSOhsScvoLj+SMs/GTPfqCR V80KPEeHHpzgvmoCkUam7ZwUo68+VDuKWA/6COJz6w0omi+WQHRUCGiDCQdO14ocWaXVmq BBrNpLxRxxihM4Hzlo7vwEK1LW6KZZ8BVCMXGMVScshYc9FuxQvjurFnrzqlDZtGuUIv3F VTxizY239pBNn3xN/lj4LNzUpziUub6f+ZqzERxm9lfhMI6Go7BtHIEHvL+nzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708336323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hUxTB3XdwnfMPOCEq60g8GjIhJRusQahKiKkJjkIowI=; b=oHiNYxz+WFpxDG6o5lFKp0P2oR1WhMlVnDun2aJvEOsCZGavb61vj34z6HiG1Mj+0U9FyR EKGYvu6xPFuvlkLyQWju6My1YfaXVx8SydxpO21JEj1x/+98M2Q9y92xucMkWO6meRbbRS xVNOpx05fXQjklkgZNrjvk4mtuZFO5vgKn5Ryj7i/nC+GEN/iYrzdjVFZj6OKuGfACtTgU xOqu4TbSOnrx8X43TjI8E6LPPvHvRu7FugNEn+Fu7OugPEEWzPKAxoO8MEo7syhPcpYC2E yEzqEVefHasO9eD4545XLYYvYpE8cAQR6/ibnbYpVt07Bgk64oX2Cf+CQhifQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708336323; a=rsa-sha256; cv=none; b=edBTqBflW2gNvnDrlx8vX0+ijhOIJJ1VnGC3q263tHglNoVFx6xjmnSHNTVXhI9L0EMFjq sZ3u/FCBO+DoQRd0k4og9aT75adMy6hjQUGR/Biu3Ovtzwk+MLWrh9uSPESJR75rjZjP24 eT69tm5ww/IPdzdwPUhNd73smNauLNvP2MNbl4tCI+nyGXkVn38S0uJnmZlIKPQIb/JoLc pxpQ4enEJq9ugicdivdlEV81779Kc/CSZZGiT+b7DTOMKdyoEtMcJ45en30PiMbrfu3I5C synsYmlGJ/G8zOLcp/pxBVl3dvcwzXxKeUTAT9E0Vb+ixUECcdCYP4OL6HGpBQ== 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 4Tdd9b1mZZzV84; Mon, 19 Feb 2024 09: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 41J9q3sd095491; Mon, 19 Feb 2024 09: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 41J9q3jp095488; Mon, 19 Feb 2024 09:52:03 GMT (envelope-from git) Date: Mon, 19 Feb 2024 09:52:03 GMT Message-Id: <202402190952.41J9q3jp095488@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andriy Gapon Subject: git: 75316a59b39e - releng/13.3 - rdmsr_safe/wrmsr_safe: handle pcb_onfault nesting 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: avg X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 75316a59b39ee83ed8b0e98597abb7baeea6a788 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by avg: URL: https://cgit.FreeBSD.org/src/commit/?id=75316a59b39ee83ed8b0e98597abb7baeea6a788 commit 75316a59b39ee83ed8b0e98597abb7baeea6a788 Author: Andriy Gapon AuthorDate: 2024-01-30 06:45:01 +0000 Commit: Andriy Gapon CommitDate: 2024-02-19 09:51:07 +0000 rdmsr_safe/wrmsr_safe: handle pcb_onfault nesting rdmsr_safe and wrmsr_safe can be called while pcb_onfault is already set, so the functions are modified to preserve the handler rather than resetting it before returning. One case where that happens is when AMD microcode update routine is executed on a stack where copyin / copyout was already active. Here is a sample panic message from a crash caused by resetting the handler: <118>Updating CPU Microcode... Fatal trap 12: page fault while in kernel mode cpuid = 3; apic id = 03 fault virtual address = 0x11ed0de6000 fault code = supervisor write data, page not present instruction pointer = 0x20:0xffffffff80c2df03 stack pointer = 0x28:0xfffffe01ce4a4c70 frame pointer = 0x28:0xfffffe01ce4a4c70 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 117 (logger) trap number = 12 panic: page fault cpuid = 3 time = 1681462027 KDB: stack backtrace: db_trace_self_wrapper() at 0xffffffff80615deb = db_trace_self_wrapper+0x2b/frame 0xfffffe01ce4a4830 kdb_backtrace() at 0xffffffff80943c77 = kdb_backtrace+0x37/frame 0xfffffe01ce4a48e0 vpanic() at 0xffffffff808f5fe5 = vpanic+0x185/frame 0xfffffe01ce4a4940 panic() at 0xffffffff808f5da3 = panic+0x43/frame 0xfffffe01ce4a49a0 trap_fatal() at 0xffffffff80c31849 = trap_fatal+0x379/frame 0xfffffe01ce4a4a00 trap_pfault() at 0xffffffff80c318b5 = trap_pfault+0x65/frame 0xfffffe01ce4a4a60 trap() at 0xffffffff80c30f5f = trap+0x29f/frame 0xfffffe01ce4a4b80 trap_check() at 0xffffffff80c31c29 = trap_check+0x29/frame 0xfffffe01ce4a4ba0 calltrap() at 0xffffffff80c07fd8 = calltrap+0x8/frame 0xfffffe01ce4a4ba0 --- trap 0xc, rip = 0xffffffff80c2df03, rsp = 0xfffffe01ce4a4c70, rbp = 0xfffffe01ce4a4c70 --- copyout_nosmap_std() at 0xffffffff80c2df03 = copyout_nosmap_std+0x63/frame 0xfffffe01ce4a4c70 uiomove_faultflag() at 0xffffffff8095f0d5 = uiomove_faultflag+0xe5/frame 0xfffffe01ce4a4cb0 uiomove() at 0xffffffff8095efeb = uiomove+0xb/frame 0xfffffe01ce4a4cc0 pipe_read() at 0xffffffff80968860 = pipe_read+0x230/frame 0xfffffe01ce4a4d30 dofileread() at 0xffffffff809653cb = dofileread+0x8b/frame 0xfffffe01ce4a4d80 sys_read() at 0xffffffff80964fa0 = sys_read+0xc0/frame 0xfffffe01ce4a4df0 amd64_syscall() at 0xffffffff80c3221a = amd64_syscall+0x18a/frame 0xfffffe01ce4a4f30 fast_syscall_common() at 0xffffffff80c088eb = fast_syscall_common+0xf8/frame 0xfffffe01ce4a4f30 --- syscall (3, FreeBSD ELF64, read), rip = 0x11ece41cfaa, rsp = 0x11ecbec4908, rbp = 0x11ecbec4920 --- Uptime: 41s And another one: Fatal trap 12: page fault while in kernel mode cpuid = 4; apic id = 04 fault virtual address = 0x800a22000 fault code = supervisor write data, page not present instruction pointer = 0x20:0xffffffff80b2c7ca stack pointer = 0x28:0xfffffe01c55b5480 frame pointer = 0x28:0xfffffe01c55b5480 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 68418 (pfctl) trap number = 12 panic: page fault cpuid = 4 time = 1625184463 KDB: stack backtrace: db_trace_self_wrapper() at 0xffffffff805c1e8b = db_trace_self_wrapper+0x2b/frame 0xfffffe01c55b5040 kdb_backtrace() at 0xffffffff808874b7 = kdb_backtrace+0x37/frame 0xfffffe01c55b50f0 vpanic() at 0xffffffff808449d8 = vpanic+0x188/frame 0xfffffe01c55b5150 panic() at 0xffffffff808445f3 = panic+0x43/frame 0xfffffe01c55b51b0 trap_fatal() at 0xffffffff80b300a5 = trap_fatal+0x375/frame 0xfffffe01c55b5210 trap_pfault() at 0xffffffff80b30180 = trap_pfault+0x80/frame 0xfffffe01c55b5280 trap() at 0xffffffff80b2f729 = trap+0x289/frame 0xfffffe01c55b5390 trap_check() at 0xffffffff80b304d9 = trap_check+0x29/frame 0xfffffe01c55b53b0 calltrap() at 0xffffffff80b0bb28 = calltrap+0x8/frame 0xfffffe01c55b53b0 --- trap 0xc, rip = 0xffffffff80b2c7ca, rsp = 0xfffffe01c55b5480, rbp = 0xfffffe01c55b5480 --- copyout_nosmap_std() at 0xffffffff80b2c7ca = copyout_nosmap_std+0x15a/frame 0xfffffe01c55b5480 pfioctl() at 0xffffffff85539358 = pfioctl+0x4d28/frame 0xfffffe01c55b5940 devfs_ioctl() at 0xffffffff807176cf = devfs_ioctl+0xcf/frame 0xfffffe01c55b59a0 VOP_IOCTL_APV() at 0xffffffff80bb26e2 = VOP_IOCTL_APV+0x92/frame 0xfffffe01c55b59c0 VOP_IOCTL() at 0xffffffff80928014 = VOP_IOCTL+0x34/frame 0xfffffe01c55b5a10 vn_ioctl() at 0xffffffff80923330 = vn_ioctl+0xc0/frame 0xfffffe01c55b5b00 devfs_ioctl_f() at 0xffffffff80717bbe = devfs_ioctl_f+0x1e/frame 0xfffffe01c55b5b20 fo_ioctl() at 0xffffffff808abc6b = fo_ioctl+0xb/frame 0xfffffe01c55b5b30 kern_ioctl() at 0xffffffff808abc01 = kern_ioctl+0x1d1/frame 0xfffffe01c55b5b80 sys_ioctl() at 0xffffffff808ab982 = sys_ioctl+0x132/frame 0xfffffe01c55b5c50 syscallenter() at 0xffffffff80b30cc9 = syscallenter+0x159/frame 0xfffffe01c55b5ca0 amd64_syscall() at 0xffffffff80b309a5 = amd64_syscall+0x15/frame 0xfffffe01c55b5d30 fast_syscall_common() at 0xffffffff80b0c44e = fast_syscall_common+0xf8/frame 0xfffffe01c55b5d30 PR: 276426 Reviewed by: kib, markj Approved by: re (cperciva) (cherry picked from commit 486b265a8fb6b2aad37f2819fa04feacf8184d53) --- sys/amd64/amd64/support.S | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S index 936065a78879..dd269138c23f 100644 --- a/sys/amd64/amd64/support.S +++ b/sys/amd64/amd64/support.S @@ -1533,6 +1533,7 @@ ENTRY(rdmsr_safe) /* int rdmsr_safe(u_int msr, uint64_t *data) */ PUSH_FRAME_POINTER movq PCPU(CURPCB),%r8 + movq PCB_ONFAULT(%r8),%r9 movq $msr_onfault,PCB_ONFAULT(%r8) movl %edi,%ecx rdmsr /* Read MSR pointed by %ecx. Returns @@ -1541,8 +1542,8 @@ ENTRY(rdmsr_safe) movl %eax,%eax /* zero-extend %eax -> %rax */ orq %rdx,%rax movq %rax,(%rsi) - xorq %rax,%rax - movq %rax,PCB_ONFAULT(%r8) + movq %r9,PCB_ONFAULT(%r8) + xorl %eax,%eax POP_FRAME_POINTER ret @@ -1554,6 +1555,7 @@ ENTRY(wrmsr_safe) /* int wrmsr_safe(u_int msr, uint64_t data) */ PUSH_FRAME_POINTER movq PCPU(CURPCB),%r8 + movq PCB_ONFAULT(%r8),%r9 movq $msr_onfault,PCB_ONFAULT(%r8) movl %edi,%ecx movl %esi,%eax @@ -1561,8 +1563,8 @@ ENTRY(wrmsr_safe) movl %esi,%edx wrmsr /* Write MSR pointed by %ecx. Accepts hi byte in edx, lo in %eax. */ - xorq %rax,%rax - movq %rax,PCB_ONFAULT(%r8) + movq %r9,PCB_ONFAULT(%r8) + xorl %eax,%eax POP_FRAME_POINTER ret @@ -1571,7 +1573,7 @@ ENTRY(wrmsr_safe) */ ALIGN_TEXT msr_onfault: - movq $0,PCB_ONFAULT(%r8) + movq %r9,PCB_ONFAULT(%r8) movl $EFAULT,%eax POP_FRAME_POINTER ret From nobody Mon Feb 19 10:09:02 2024 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 4TddYB4tKtz5BLVs; Mon, 19 Feb 2024 10:09: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 4TddYB31rmz4hf1; Mon, 19 Feb 2024 10:09:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708337342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8jVmV0wRGX/ULl+4Gu6t81AFpqd67D6AoONukSYV1Uc=; b=EHzrHSWySb85nl2N+sptEmItESzCSX7Dsn0G2otrLHG/kDroibFvi9ZJEY3j+5Ul92RQCR 3jq5+t1o2gQaKIHu11uuqgtrk3vcwAf4An18xDtUbiZK2/OL/Y7Xc1stW/eNSeJCaFt1rd cvfZ0U7dZxF3cPju6bGKhTdETnIwGaefMnIg5+QvH8JANHyQDmrL6jYKL8aYOtSzvvfUjH cunz3w1TNMdcmczmJAXuxSmpm63yZB2G7pMFh8JJyhSm6vH+fyzY3yQTEz/pfx27LxuRVz HhFnh2JkAo0gm6bHW2lGTe2HK2GHX5NcY3X/GPsmzIWZW6uBwkckB16HDR9nrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708337342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8jVmV0wRGX/ULl+4Gu6t81AFpqd67D6AoONukSYV1Uc=; b=rJKPKk/FOlxj/fshfnGag7gDcBwQWgMYMWx8PYSXVJRWAuLiGxd79wmF/KPevdaDEr61S/ IvQgorZPermJDMkk/XiWSJjYw947toWCUm5AFa1euIFW6adjEs8VZgp5i02k73N8Oy9PMy Gx91A53rBo6yPd4YxU/CMmHVGRAJkc27hAIXFMYyxdMxMSwR8z2tkClLHi0/OT69UPwdkO nhgebQFTg16TEUy0fOkPET2GMTUhPScL/1ltOmp+LAbvhO/L+c6eCMXmAZt1a74i9gngkH 3cKMUHC8gOFbBHr6RgnK2X0fhblfJxCg30ud5Vu0X5yUvQPTjHlHvydL7+IP1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708337342; a=rsa-sha256; cv=none; b=o5f7dGqoWdMJb/pnWzd7EQ8xlJ+Irk6QFDJASQf/ApkHw0SdpGTGyuu18nRfjYtv3pL/zZ aZmpHHr00cLj6YlpSzWOJ9B/AAWvdJZt1+tXnhdOJrFEJ/j2wpJDfCv6kLnfzXIhAblzL5 vjzRR09afa6mI3MwAz+7BzC7x0cpLiH9h9YortFRr6Hk69N+8l5f8XIiicBVIbrJ2GhCpj RhFvKISfN2f0KCdM4gNzd/JvAPx6ccI46EtqWB/qbwcpCvmezh2fcPZMse5Rtq74Ra9hyD B0g3ffA9Ctcqc8Cb5DS7wWTpFrA5Q9cd9eYNHhX9BE80pu5Kxo7cgAViH5QWBg== 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 4TddYB25xkzV95; Mon, 19 Feb 2024 10:09: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 41JA92XR018708; Mon, 19 Feb 2024 10:09:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JA925j018706; Mon, 19 Feb 2024 10:09:02 GMT (envelope-from git) Date: Mon, 19 Feb 2024 10:09:02 GMT Message-Id: <202402191009.41JA925j018706@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andriy Gapon Subject: git: c01af41c3c8f - main - ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs 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: avg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664 Auto-Submitted: auto-generated The branch main has been updated by avg: URL: https://cgit.FreeBSD.org/src/commit/?id=c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664 commit c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664 Author: Andriy Gapon AuthorDate: 2024-02-19 10:08:12 +0000 Commit: Andriy Gapon CommitDate: 2024-02-19 10:08:12 +0000 ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs NCQ TRIM for Samsung 860/870 SSDs results in data corruption on systems with some SATA controllers. This can be easily reproduced using ZFS which uses TRIM and is able to detect block content changes. Linux bug report for this issue: https://bugzilla.kernel.org/show_bug.cgi?id=201693 Since at present we can not limit a quirk based on the contorller / SIM, apply the quirk in all cases. Reviewed by: imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D43961 --- sys/cam/ata/ata_da.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c index f5d3aeca9329..d4a591943307 100644 --- a/sys/cam/ata/ata_da.c +++ b/sys/cam/ata/ata_da.c @@ -727,6 +727,22 @@ static struct ada_quirk_entry ada_quirk_table[] = { T_DIRECT, SIP_MEDIA_FIXED, "*", "Samsung SSD 850*", "*" }, /*quirks*/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN }, + { + /* + * Samsung 860 SSDs + * 4k optimised, NCQ TRIM broken (normal TRIM fine) + */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "Samsung SSD 860*", "*" }, + /*quirks*/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN + }, + { + /* + * Samsung 870 SSDs + * 4k optimised, NCQ TRIM broken (normal TRIM fine) + */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "Samsung SSD 870*", "*" }, + /*quirks*/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN + }, { /* * Samsung SM863 Series SSDs (MZ7KM*) From nobody Mon Feb 19 10:27:35 2024 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 4Tddyc1MZZz5BNvN; Mon, 19 Feb 2024 10:27: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 4Tddyc0RQkz4kW7; Mon, 19 Feb 2024 10:27:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708338456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bkmo+vPpuO421DgvS68IQxxmW1yLqfFhmmIK9Fd9pdY=; b=froziOJArgthv9KRuToIg/AonvG9JvbBsgbPHHCPkbC1JGaNDdukLi+GTw2oslF3+Dt6e9 10CllK3v03/RbXre0cOA74e324Log8IfDXNp1VclPb4ik5Ws/wYVmnsAP2yPVTIdfnhECO 4QdAekn7eTn9LTjvA9Sntwwo+EOakHajiT7PLcvje8M/tYadQYtMOMdfoiPzeol3B6FMPG CxcJpkghpqQTI+cBCP3szoj+jvd+TzN7eZvfwJQuL7WSkLmrJUnhZGXAm5sh1QD2NOukG/ cZl4iZKg0GIPBBEJmw+ke2bc5lUrefs74h4RL9E5MCkpjRwo4tUqZtvAM2AMMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708338456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bkmo+vPpuO421DgvS68IQxxmW1yLqfFhmmIK9Fd9pdY=; b=Tlp4BT3iRWawTQNf0da3q6FsDWnyQB/56ZOAv9clzvL061vnG1yQwmEqGTcdPo9VAH780k TNALjcVAxJeXHrn3RqotEM2KBxcT7ZS0TaVNoFUJC9nbFoufF4+MCuX6Itsi0IQ5jqPKRs pn2F++hBBmWelKI7pRHkD4y0k2VoxAc96pmWh/Ygk7NKFW2RmBFV1TmsbfIci4VsoF81Is /2pGei7OGqhkv8Dczg9bvtKQw6G59hOrFYzCuCk8eo5uVjGRnnOXZ3VAmy8/CWLLq58EsM +7fRqArPEXTjiq6LXArJM6jMNvaZPbtmmm9UWaTBEmknyKfKS9WfVi9B9/BG5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708338456; a=rsa-sha256; cv=none; b=oqxmYuYEj0pzSyNklgz98UQp4WrNmzYCc1Kf+WLYiGQ3fZmmcfoXZjYoy5JZEj8Ns14rlG u/mcFccWGu8G/ZrDvusRYWJrvIDR3KS8LL7g9kmDaNNV5Rwe2YTBrubeMsxCRnsk1W/yBf quMt/Ap4fl+qKM1qF0TSHgaujCHgsTr4HbD/hTO03ZwHpDWufCPrjpkJiBwHYQ3vFlkvqR uP6wndMtyO9vTifPgUxSSX7VV2kQvrw68VS1ruxJbv7FNs8P1sLCLJveJZ9IgTFcOQrC6H Ubd891Hhnz2D4BCi/ULGP4HQCQvC/CmF8fDVzRhU0mXW2VgiO/qo9geHYudyfA== 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 4Tddyb6bl9zWwH; Mon, 19 Feb 2024 10:27: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 41JARZ5W052312; Mon, 19 Feb 2024 10:27:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JARZST052309; Mon, 19 Feb 2024 10:27:35 GMT (envelope-from git) Date: Mon, 19 Feb 2024 10:27:35 GMT Message-Id: <202402191027.41JARZST052309@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andriy Gapon Subject: git: b7dce5b8e988 - main - scsi_da: add 4K quirks for Samsung SSD 860 and 870 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: avg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b7dce5b8e988f47784c55aa096541deda7b1aaeb Auto-Submitted: auto-generated The branch main has been updated by avg: URL: https://cgit.FreeBSD.org/src/commit/?id=b7dce5b8e988f47784c55aa096541deda7b1aaeb commit b7dce5b8e988f47784c55aa096541deda7b1aaeb Author: Andriy Gapon AuthorDate: 2024-02-19 10:16:47 +0000 Commit: Andriy Gapon CommitDate: 2024-02-19 10:16:47 +0000 scsi_da: add 4K quirks for Samsung SSD 860 and 870 Although the actual flash page size is either 8K or 16K for those devices (according to different sources of various reliability), they seem to be optimized for the "industry-standard" emulated 4K block size. To do: consolidate very similar Samsung SSD entries for 830 - 870 models. MFC after: 2 weeks --- sys/cam/scsi/scsi_da.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c index d578e4ccb712..9b3d706d6168 100644 --- a/sys/cam/scsi/scsi_da.c +++ b/sys/cam/scsi/scsi_da.c @@ -1395,6 +1395,22 @@ static struct da_quirk_entry da_quirk_table[] = { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "Samsung SSD 850*", "*" }, /*quirks*/DA_Q_4K }, + { + /* + * Samsung 860 SSDs + * 4k optimised & trim only works in 4k requests + 4k aligned + */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "Samsung SSD 860*", "*" }, + /*quirks*/DA_Q_4K + }, + { + /* + * Samsung 870 SSDs + * 4k optimised & trim only works in 4k requests + 4k aligned + */ + { T_DIRECT, SIP_MEDIA_FIXED, "ATA", "Samsung SSD 870*", "*" }, + /*quirks*/DA_Q_4K + }, { /* * Samsung 843T Series SSDs (MZ7WD*) From nobody Mon Feb 19 10:44:44 2024 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 4TdfLN5j9Rz5BQqw; Mon, 19 Feb 2024 10:44: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 4TdfLN4zBXz4lpc; Mon, 19 Feb 2024 10:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708339484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y8dJh06/2cfJxCRZWC2AzvfvRzMEFfTBPxcp8wiKguM=; b=L+pkHUfc3VDUeAew5PEN3GJYhDy/dH5jcMp2KgB0qWlYRfxbo58acdBnexbCNAPxIw3O7g TJKtBqDznJPl6EhU63xZG3EU5msmIQyBEMXfAbK9aJlrQsjJjdLzI4oaUInDRpo1Em7uN4 X3HIRB0QuG4bq15SxUAXlZrSKUxHEaEXhFMoyfdXjU2xIeWC4NVo856oaQ5O629L+s+AT3 eKEJvmqMdS0klnCUyZd/7hbsPvKoJeHga67Kge9YoXl0+a3sVT/QaVfDWnUuZAtufJ2EFz FrbwpiXE5gVa5ae8CTdvU/S2cLSn78rbOCfSjgjC+L01nRkUFUTJ8d3w+P10Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708339484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y8dJh06/2cfJxCRZWC2AzvfvRzMEFfTBPxcp8wiKguM=; b=balIZuj6XoS5GBpqR/uxkdoc6T0rA7QvZ6b8kj0pnm+UuOxDADAcILTMz0vXt22oVNJtUz u49lk/E5hL6GmOYLo+v1lcVqlOdoCImac+DgVoLQLjZnGdW75XM7PnIAyH2g0r3WMvKDlQ fQXHFP99fTSzt5TaJceH5lifP6E/Ux4pRtZMglJH46PyEYb60Uyjdpy8Y7b9Xhg6mSRIcv 8ldVwBeyPHVocli6t4WQ2cg2akkx+lcJ99oG0F5W2i5fttPH3IxCNJ01bMItZMeWoxG5G+ tBxlGmVe8G+J3nIx466goevocxKkswx45j9zLhhRXAnRFNeSY2+h8d7OPaFRZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708339484; a=rsa-sha256; cv=none; b=to0kFA1ZmGJ0QU5EY/qH4PBd6YOTz0XFQc5UAU2SfwVKyMDME9OLOpYIWiZl6Sj2z9K9Lo tByxQXcgq43EPDwvf4HzJ0oGq+89icm8LMp1lNt9UTWCa8bovS28YAh8MEHPIyBBcBwqep fIgdGVLUon15syZ9+/BmOXZSweXBMeqnfvWasG+ShD7lZ1QBn08HinCR4Fix0YH8firi+M 3hwaM07I1TrZa3FYa6OX5B82FMhqsoSeG9AoneyNkUECwZp1x1ADEJgG/+qFv8Z8hyUZQL ZH/TXhHec9ymLvFbnCl3zJpkuEo2pd8jj9Zbfi6ipXfhWKm0fUw6//s8Eh++UA== 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 4TdfLN41kHzXR8; Mon, 19 Feb 2024 10:44: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 41JAii7w085538; Mon, 19 Feb 2024 10:44:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JAiiAD085535; Mon, 19 Feb 2024 10:44:44 GMT (envelope-from git) Date: Mon, 19 Feb 2024 10:44:44 GMT Message-Id: <202402191044.41JAiiAD085535@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andriy Gapon Subject: git: 8f374fa528d7 - main - ugen: fix USB_IFACE_DRIVER_ACTIVE after detaching a driver 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: avg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8f374fa528d7643919bca1b4153dde03996305fe Auto-Submitted: auto-generated The branch main has been updated by avg: URL: https://cgit.FreeBSD.org/src/commit/?id=8f374fa528d7643919bca1b4153dde03996305fe commit 8f374fa528d7643919bca1b4153dde03996305fe Author: Andriy Gapon AuthorDate: 2024-02-19 10:44:00 +0000 Commit: Andriy Gapon CommitDate: 2024-02-19 10:44:00 +0000 ugen: fix USB_IFACE_DRIVER_ACTIVE after detaching a driver Previosuly, USB_IFACE_DRIVER_ACTIVE would report that the driver is active even after it detached. That's because a device(9) still remains. So, add device_is_alive(9) check for more accurate reporting. Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43960 --- sys/dev/usb/usb_generic.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/dev/usb/usb_generic.c b/sys/dev/usb/usb_generic.c index d8bc3a828282..c0af27d77e5d 100644 --- a/sys/dev/usb/usb_generic.c +++ b/sys/dev/usb/usb_generic.c @@ -2377,12 +2377,10 @@ ugen_ioctl_post(struct usb_fifo *f, u_long cmd, void *addr, int fflags) break; case USB_IFACE_DRIVER_ACTIVE: - n = *u.pint & 0xFF; - iface = usbd_get_iface(f->udev, n); - - if (iface && iface->subdev) + if (iface != NULL && iface->subdev != NULL && + device_is_alive(iface->subdev)) error = 0; else error = ENXIO; From nobody Mon Feb 19 10:44:39 2024 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 4TdfLd2c17z5BQqx for ; Mon, 19 Feb 2024 10:44:57 +0000 (UTC) (envelope-from bT.kezu4kmf30=xf8rqfv5wp4z=yx3ehig6mm@em790814.fubar.geek.nz) Received: from e2i197.smtp2go.com (e2i197.smtp2go.com [103.2.140.197]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4TdfLb0345z4m3v for ; Mon, 19 Feb 2024 10:44:53 +0000 (UTC) (envelope-from bT.kezu4kmf30=xf8rqfv5wp4z=yx3ehig6mm@em790814.fubar.geek.nz) Authentication-Results: mx1.freebsd.org; dkim=none ("invalid DKIM record") header.d=smtpservice.net header.s=mgy720.a1-4.dyn header.b=tyTFX5KI; dkim=pass header.d=fubar.geek.nz header.s=s790814 header.b=cNvPNGw8; spf=pass (mx1.freebsd.org: domain of "bT.kezu4kmf30=xf8rqfv5wp4z=yx3ehig6mm@em790814.fubar.geek.nz" designates 103.2.140.197 as permitted sender) smtp.mailfrom="bT.kezu4kmf30=xf8rqfv5wp4z=yx3ehig6mm@em790814.fubar.geek.nz"; dmarc=pass (policy=none) header.from=fubar.geek.nz DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpservice.net; s=mgy720.a1-4.dyn; x=1708340393; h=Feedback-ID: X-Smtpcorp-Track:To:Message-Id:Date:From:Subject:Reply-To:Sender: List-Unsubscribe; bh=HT2KVKgzwjoqf4qj0uuhH3h7UlqtC7zCEbV0Mz6T8Z4=; b=tyTFX5KI 1cztisoVgib/YRnMvgdUIZ8IlmdEesNFyj2Em6224M8TUuy5cMQBuadJqA7WGGZKRVO1p6wzNVTcE sq+4SdPXvAM1Ixk/pNTjyCYbxlDusAedByRDIWC6UPGSg096kdi7KqCmTkIxVdSWreSsrLzDW8CYu P1dAIoRQsV8ByVfoPJKUqa4v7AVPVFzxGAHczU9mEYGVwbArCW7vUu6b0VO6VP9tuFa+pFkYt4jcW IevrFQk1iYjMVZYaimHRsgHSvJodJXhV4vs298X0rZhGTi9JYvtGRjZqZv8cCkn2J25IcdUTb8aQx MgkiGsPYcEabvdFII5FLQnCtQA==; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fubar.geek.nz; i=@fubar.geek.nz; q=dns/txt; s=s790814; t=1708339493; h=from : subject : to : message-id : date; bh=HT2KVKgzwjoqf4qj0uuhH3h7UlqtC7zCEbV0Mz6T8Z4=; b=cNvPNGw8mpk23+A13b1aB4T5RLNjtHaMotLXP5XcwAZGXHmsPa4ioR+v6wDnnJGNPnlE+ 23o1WqaoxX3jyBa4kqVW74EnxdN1USKVcQv3+mrNJg2EslrNd6gKqBdaCjN9aFU+8JIB6cY boxcjJDohTx9VV4nBEif5rA6NB55uXzNHyKvMhUJjNaHtfIFeWNxnmv6alTrV7JEPsTSvwB nuA4KhMbycrh1ZcwOU0b5Z+5YDdQgB0kJXfjskX8MEuHuABLfw+NSPlhMWcQ2uUW7Rpr7h1 NeLobO7TuQSumwOiWMr5W1ZzMqqZBi9356BH/G26LJjZj8UkfU4Cj2s202XQ== Received: from [10.139.162.187] (helo=SmtpCorp) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94.2-S2G) (envelope-from ) id 1rc18k-Y8PLYt-T0; Mon, 19 Feb 2024 10:44:50 +0000 Received: from [10.99.243.232] (helo=morbo.fubar.geek.nz) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.96.1-S2G) (envelope-from ) id 1rc18k-4XlQf7-2E; Mon, 19 Feb 2024 10:44:50 +0000 Received: from smtpclient.apple (92.40.184.195.threembb.co.uk [92.40.184.195]) by morbo.fubar.geek.nz (Postfix) with ESMTPSA id 304233962E; Mon, 19 Feb 2024 10:44:50 +0000 (UTC) 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.100.2.1.4\)) Subject: Re: git: 5bda26333a8e - main - gpiobus: Use bus_generic_rman_* From: Andrew Turner In-Reply-To: <202402142252.41EMqcLK086071@gitrepo.freebsd.org> Date: Mon, 19 Feb 2024 10:44:39 +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: References: <202402142252.41EMqcLK086071@gitrepo.freebsd.org> To: John Baldwin X-Mailer: Apple Mail (2.3774.100.2.1.4) X-Smtpcorp-Track: 1rc18k4b_Qf72E.0AEM3yj8V934s Feedback-ID: 790814m:790814amQcrys:790814sCmxiK80xC X-Report-Abuse: Please forward a copy of this message, including all headers, to X-Rspamd-Queue-Id: 4TdfLb0345z4m3v X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.88 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.978]; DMARC_POLICY_ALLOW(-0.50)[fubar.geek.nz,none]; MV_CASE(0.50)[]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; FORGED_SENDER(0.30)[andrew@fubar.geek.nz,bT.kezu4kmf30=xf8rqfv5wp4z=yx3ehig6mm@em790814.fubar.geek.nz]; R_SPF_ALLOW(-0.20)[+ip4:103.2.140.0/22]; R_DKIM_ALLOW(-0.20)[fubar.geek.nz:s=s790814]; RCVD_IN_DNSWL_MED(-0.20)[103.2.140.197:from]; MIME_GOOD(-0.10)[text/plain]; DKIM_TRACE(0.00)[smtpservice.net:~,fubar.geek.nz:+]; RCVD_COUNT_THREE(0.00)[3]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_PERMFAIL(0.00)[smtpservice.net:s=mgy720.a1-4.dyn]; MIME_TRACE(0.00)[0:+]; FROM_HAS_DN(0.00)[]; RCVD_TLS_ALL(0.00)[]; DKIM_MIXED(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org]; RCPT_COUNT_THREE(0.00)[4]; FROM_NEQ_ENVFROM(0.00)[andrew@fubar.geek.nz,bT.kezu4kmf30=xf8rqfv5wp4z=yx3ehig6mm@em790814.fubar.geek.nz]; ASN(0.00)[asn:23352, ipnet:103.2.140.0/22, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[] > On 14 Feb 2024, at 22:52, John Baldwin wrote: >=20 > The branch main has been updated by jhb: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D5bda26333a8ebf34190e3a9124895e6a= 18e58e93 >=20 > commit 5bda26333a8ebf34190e3a9124895e6a18e58e93 > Author: John Baldwin > AuthorDate: 2024-02-14 22:07:32 +0000 > Commit: John Baldwin > CommitDate: 2024-02-14 22:07:32 +0000 >=20 > gpiobus: Use bus_generic_rman_* >=20 > Reviewed by: imp > Differential Revision: https://reviews.freebsd.org/D43887 > --- > sys/dev/gpio/gpiobus.c | 57 = +++++++++++++++++--------------------------------- > 1 file changed, 19 insertions(+), 38 deletions(-) >=20 > diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c > index 99d3114d51da..6d739597b759 100644 > --- a/sys/dev/gpio/gpiobus.c > +++ b/sys/dev/gpio/gpiobus.c > @@ -809,20 +809,29 @@ gpiobus_write_ivar(device_t dev, device_t child, = int which, uintptr_t value) > return (0); > } >=20 > +static struct rman * > +gpiobus_get_rman(device_t bus, int type, u_int flags) This is unused now. It looks like it=E2=80=99s missing = "DEVMETHOD(bus_get_rman, gpiobus_get_rman)=E2=80=9D. Andrew From nobody Mon Feb 19 10:47:37 2024 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 4TdfPx4MVQz5BRHM for ; Mon, 19 Feb 2024 10:47:49 +0000 (UTC) (envelope-from cglogic@protonmail.com) Received: from mail-4325.protonmail.ch (mail-4325.protonmail.ch [185.70.43.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 "protonmail.com", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TdfPx2Gt2z4mY3; Mon, 19 Feb 2024 10:47:48 +0000 (UTC) (envelope-from cglogic@protonmail.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1708339666; x=1708598866; bh=ZyHJ1pfTi2eLBFL05V1Uo09EGrAJjQZtVytjPAgHq+E=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=uDdzWsKoc/vDaXC8pd1gMt+E9WGn4X/eezJPLqVIpa724mAxyC2w84al3GAjWbR9C If38EZrAujfxuQV8uVvbPuslx5L2qlqTtR+fl1RUcOchSfjZp7RG4dZc5VjWP92e2k js80BYKLwi34j+qx3YXkbwgoyn5q/MwAWMtoaH2n3/sm+ICPiKsZV5vS2qNewF8b4R Ub0OR813w3tn4xdNhKP/fHg1tLHwUIMZW1TD8glfbNZTKAZsitJJk9BS5gB14Ot4tg PvXjU3t17qV6tfRm6EII3JQYLLYLy7Umr5PWpV8DrabRp5kR9HVgxR5+eDpmUvj6P8 N8lOh50yajRyQ== Date: Mon, 19 Feb 2024 10:47:37 +0000 To: Andriy Gapon From: cglogic Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: c01af41c3c8f - main - ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs Message-ID: In-Reply-To: <202402191009.41JA925j018706@gitrepo.freebsd.org> References: <202402191009.41JA925j018706@gitrepo.freebsd.org> Feedback-ID: 25313618:user:proton 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: quoted-printable X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4TdfPx2Gt2z4mY3 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:62371, ipnet:185.70.43.0/24, country:CH] Hello Andriy, I use ZFS with autotrim enabled on Samsung 860 PRO connected to Intel AHCI = SATA controller for 9 years without any issue. Can I disable this quirk locally or have I revert the patch to continue use= NCQ TRIM with this SSD? Thank you. On Monday, February 19th, 2024 at 12:09 PM, Andriy Gapon = wrote: > The branch main has been updated by avg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc01af41c3c8fdd570764ff9b6b= fbad6ac9ca1664 > > commit c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664 > Author: Andriy Gapon avg@FreeBSD.org > > AuthorDate: 2024-02-19 10:08:12 +0000 > Commit: Andriy Gapon avg@FreeBSD.org > > CommitDate: 2024-02-19 10:08:12 +0000 > > ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs > > NCQ TRIM for Samsung 860/870 SSDs results in data corruption on systems > with some SATA controllers. > > This can be easily reproduced using ZFS which uses TRIM and is able to > detect block content changes. > > Linux bug report for this issue: > https://bugzilla.kernel.org/show_bug.cgi?id=3D201693 > > Since at present we can not limit a quirk based on the contorller / SIM, > apply the quirk in all cases. > > Reviewed by: imp > MFC after: 2 weeks > Differential Revision: https://reviews.freebsd.org/D43961 > --- > sys/cam/ata/ata_da.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c > index f5d3aeca9329..d4a591943307 100644 > --- a/sys/cam/ata/ata_da.c > +++ b/sys/cam/ata/ata_da.c > @@ -727,6 +727,22 @@ static struct ada_quirk_entry ada_quirk_table[] =3D > { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 850", "" }, > /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > }, > + { > + / > + * Samsung 860 SSDs > + * 4k optimised, NCQ TRIM broken (normal TRIM fine) > + / > + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 860*", "" }, > + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > + }, > + { > + / > + * Samsung 870 SSDs > + * 4k optimised, NCQ TRIM broken (normal TRIM fine) > + / > + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 870*", "" }, > + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > + }, > { > / > * Samsung SM863 Series SSDs (MZ7KM*) From nobody Mon Feb 19 11:03:08 2024 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 4Tdflh2brgz5BTN0; Mon, 19 Feb 2024 11:03:12 +0000 (UTC) (envelope-from avg@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 4Tdflh22tQz4nh7; Mon, 19 Feb 2024 11:03:12 +0000 (UTC) (envelope-from avg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708340592; 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; bh=05OLxZiBA2GIrDdjeDfDQXQdjwe6Q3NlBOqyMX0sFhk=; b=x79pMYeoIT4B0m+iU0s1MUKgaGG2G31RC39L7cHLxDNdfsVdjnuHxopSa7UODS8cCXggac TcJ1y4lB8mW8cmyLuwYUO6RuqupJWMMFmOftftkofvitZaOWFMxFrc8rQqyooC3aURdq3o bwiiX/z0nOf5Vy4Qq2Usg57nNDWvDIHStOcfdW1xbG6G6E7Gx00xnj2DIaaUMILxZLL/Ng NXm0sKnQkem3BvEjDS4tAA58q4QwmVlwXlXeNpHPxsFEOHCk+lKGAnnb3wcQeZuWXE47b1 13+lmMvG2iRuQu8epKqGq1F9fxmuefYoWVDulKen49f/pClmXY3FpUdoxFWO4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708340592; 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; bh=05OLxZiBA2GIrDdjeDfDQXQdjwe6Q3NlBOqyMX0sFhk=; b=ExagxBaJUMdg5vrfS9PdhCmy05Vnfb8Vl3HI1uEDWpsQTa85u62/2K6BL/nExdwj365oaQ IbEkQPYpkL80xWdWpGtM2rjw7sm724SjjZrLLuHuyrEcDY+nb/zqVlPlJE6xksQjLp/ZJG 7vUDYdMcPwfmzj/S67ocqT2UnuD3hJtrcbXBH9pfxHk4Y0b2/u99P2auNmuVk+5Ktc4lzz d+PapfkqLWzPP3g7Ljq/rcpLVjFEyJpI/lXHHQwapM6yN/ftlyXpOEW9BKaOt0FqhJBOmi +7qhvmFeGzhb9gz4TCdVXeEZlM4okJQbokycKve3lZgDRXez7zzhOkzQuHhAlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708340592; a=rsa-sha256; cv=none; b=DLyLw2xwzWiDS9vvVb0pLdDoR7x2pC8MOKr17NlQjZ7+TcJUT9GhJIZhbInSGvANp/Wu2R FftU+8aKiO6LuKzSd+6NO+KklYw0sn1RYrAc0nMaYyGggQOYyUkhw8u/jpxsVcLBQ036sH FwBoskufAGYitIJz7RxxtLplVs0prRHF1F7GZkYfPj0sT/1mIq1LGJZJHwlHJMYnVOAA5Y UyAHDzVzS9/ag2WcB/dJ8wsuTziQnTj/UrABRshYlcl1UvDasfIdAG/x8LKcxHkEt+3Ojp UcI+M6/BdWV3vYW2NoEXzMADP+hMeooI/BijkK/SGwpYUPrK+N0Yq/X7gOqpbw== Received: from [192.168.0.88] (unknown [93.188.39.137]) (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: avg/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Tdflg43zlzhjd; Mon, 19 Feb 2024 11:03:11 +0000 (UTC) (envelope-from avg@FreeBSD.org) Message-ID: Date: Mon, 19 Feb 2024 13:03:08 +0200 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 From: Andriy Gapon Subject: Re: git: c01af41c3c8f - main - ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs Content-Language: en-US To: cglogic Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 19/02/2024 12:47, cglogic wrote: > Hello Andriy, > > I use ZFS with autotrim enabled on Samsung 860 PRO connected to Intel AHCI SATA controller for 9 years without any issue. I think that it was released in 2018? > Can I disable this quirk locally or have I revert the patch to continue use NCQ TRIM with this SSD? I don't think that there is a way to disable the quirk, so you'll have to revert. Note that ATA TRIM is still enabled, it's only NCQ TRIM that got disabled. > On Monday, February 19th, 2024 at 12:09 PM, Andriy Gapon wrote: > >> The branch main has been updated by avg: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664 >> >> commit c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664 >> Author: Andriy Gapon avg@FreeBSD.org >> >> AuthorDate: 2024-02-19 10:08:12 +0000 >> Commit: Andriy Gapon avg@FreeBSD.org >> >> CommitDate: 2024-02-19 10:08:12 +0000 >> >> ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs >> >> NCQ TRIM for Samsung 860/870 SSDs results in data corruption on systems >> with some SATA controllers. >> >> This can be easily reproduced using ZFS which uses TRIM and is able to >> detect block content changes. >> >> Linux bug report for this issue: >> https://bugzilla.kernel.org/show_bug.cgi?id=201693 >> >> Since at present we can not limit a quirk based on the contorller / SIM, >> apply the quirk in all cases. >> >> Reviewed by: imp >> MFC after: 2 weeks >> Differential Revision: https://reviews.freebsd.org/D43961 >> --- >> sys/cam/ata/ata_da.c | 16 ++++++++++++++++ >> 1 file changed, 16 insertions(+) >> >> diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c >> index f5d3aeca9329..d4a591943307 100644 >> --- a/sys/cam/ata/ata_da.c >> +++ b/sys/cam/ata/ata_da.c >> @@ -727,6 +727,22 @@ static struct ada_quirk_entry ada_quirk_table[] = >> { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 850", "" }, >> /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN >> }, >> + { >> + / >> + * Samsung 860 SSDs >> + * 4k optimised, NCQ TRIM broken (normal TRIM fine) >> + / >> + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 860*", "" }, >> + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN >> + }, >> + { >> + / >> + * Samsung 870 SSDs >> + * 4k optimised, NCQ TRIM broken (normal TRIM fine) >> + / >> + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 870*", "" }, >> + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN >> + }, >> { >> / >> * Samsung SM863 Series SSDs (MZ7KM*) -- Andriy Gapon From nobody Mon Feb 19 11:03:19 2024 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 4Tdflq3R1sz5BT7J; Mon, 19 Feb 2024 11:03: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 4Tdflq2dYcz4pPY; Mon, 19 Feb 2024 11:03:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708340599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4TS8XwSp3NZYU2uSThi9y86hfrLY40Y3kVwxwrL+pDs=; b=Jl5eoTMKfkYoK8doRAjYP4foQsFxycZZPEDaIZcxzkGPtLunKg3P4wQNzFk2ihCwX/Yfdg jEzzGl2pM3x9M2pLdRh0ayeVOGNyGc69AWPIqrvnGOSZJAIKBO6bUCTyYuAhfgk4tqVGIY KldP+L+OFW10rKTOID1+yfvCA+efs98NWY/dlXs66aNrSvTs6iNGxausE40Q5AubzWS53a dUFUBL5bFxqfKhCWlox+7OpQ2uyvn4/CzA2Qq68aSMpyCalS3xOkX7YokYyUyeARAtkOff wEUqHXBejko7/spfqW2wTbK6jJvgCiKlW0wIyEz3I1U8yXIhrOnqUF3PlLyliA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708340599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4TS8XwSp3NZYU2uSThi9y86hfrLY40Y3kVwxwrL+pDs=; b=gQfZ+3TizMb0nqpFGHEUqhBImIGiDHi41kt7avAn0cZj88QFscmyDg1drm5j8wJLfiGSao RPhAGpDumys4b/wT/qKWr2tKCxcjd84IDGsjftlnYUoU5bp1cR4JbMiit+3/xD6mZrMg3J cosF37fV1SRdqbvnB8Qf1mJTp+eV8lNbhWVoDQaXwFWmkfPJUL7Kk0NCg7yvtfHZu5gI1r 41JUnz3BD4bURS2JPmIdmQfL348HtPQ59y3hWKdBwGtdqj5424sJwOSxqMXuqB5ityNim6 AmNgE0HhVc45F0xeE/UUyFGCEa7Vx0vk4cHGVuac/6jPpDFd/uSpSEK6GyQ4YA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708340599; a=rsa-sha256; cv=none; b=BVqCND7B4w6QWu3DYrPO5tMobBX0jTisTxUYg3AYq5BbC5L7aq8iMY++1ltLLNM+Qor9i4 RvWjzaN4Uy7G9NFXLHwp0oPCBLngyIXd+paeHHbmlD+QoqsF3puMkUwOPaZ5leVu0Owj8x kv9GFDZXa5mCvd8qH4R2HRMvPkdRwHAbTh7GD4ztZEUETDit884Qcof1wh+FJJpRUh+X6z X7DQMtl7pmO3qm+28iKwO66BGWseIBOiylF0Njyr2/ccKZnVA00VayKEXPtrYD6rRb15Av 2hkCyIAbwadNHvM77Uet3VT4JgUnHNy9j3dsbo+n7gzjuR/pC3vzkbH8qIWXoQ== 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 4Tdflq1jshzXVV; Mon, 19 Feb 2024 11:03: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 41JB3JBB019776; Mon, 19 Feb 2024 11:03:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JB3JBl019773; Mon, 19 Feb 2024 11:03:19 GMT (envelope-from git) Date: Mon, 19 Feb 2024 11:03:19 GMT Message-Id: <202402191103.41JB3JBl019773@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: f24c816daa00 - main - iov.h: 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: f24c816daa00852f4a1d37649d00905a0d67f1b3 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=f24c816daa00852f4a1d37649d00905a0d67f1b3 commit f24c816daa00852f4a1d37649d00905a0d67f1b3 Author: Gordon Bergling AuthorDate: 2024-02-19 11:02:57 +0000 Commit: Gordon Bergling CommitDate: 2024-02-19 11:02:57 +0000 iov.h: Fix a typo in a source code comment - s/subystem/subsystem/ MFC after: 3 days --- sys/sys/iov.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/iov.h b/sys/sys/iov.h index cc9074489559..0171fc5a98cf 100644 --- a/sys/sys/iov.h +++ b/sys/sys/iov.h @@ -209,7 +209,7 @@ struct pci_iov_schema * (PF or individual VF). * Note: We will refer to the section of the configuration schema that * specifies the parameters for this subsystem and device - * configuration as the device/subystem schema. + * configuration as the device/subsystem schema. * 2) The subsystem node must contain only keys that correspond to parameters * that are specified in the device/subsystem schema. * 3) Every parameter specified as required in the device/subsystem schema is From nobody Mon Feb 19 11:08:20 2024 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 4Tdfsd0Y14z5BTpt; Mon, 19 Feb 2024 11:08: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 4Tdfsc71cRz4ppF; Mon, 19 Feb 2024 11:08:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708340901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zZfqkp7Z3ZO8eeU9xoerR5FzrTq99Dp+JTH6dzoj7xI=; b=n8lE6+NAp++DKN63lIoYxqRZFJfPiayQGLIVjtZ6NWvxF5T2s2QfNluwIIroRHc4ab12PR RVXjpVCS4dNNwqSArvbcxmu/5wIfMPs1ev9kwgMRAdKJLoPJkpLAONweW9wOANcXYy6uwi G//niA+tUlKEASsmxxgIxCgcKO0lDZXvU7TBmc67eucuFwMwL/RdVBTaT1ttljk5J7IcX9 hQa3EhImAgy/9toBWZztnT50CuA3zJ243lGwhQMo1PpKJDdi1j+ZwfVZ2dAK8DQ31GG3+Z 03LwkPgjWBE5Zwrawaa7ULWwkndqO938zIoakDfRjWSG+nKHfXRiB6dF0J4smA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708340901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zZfqkp7Z3ZO8eeU9xoerR5FzrTq99Dp+JTH6dzoj7xI=; b=D4lTasI9xSTQOzx9BojhebVQytBREVFfx2ZnR5vTQXXTi3uT/8FRcnvRe5up352hBpTee6 zz6t0qj3lDBvvOLXA+B8w9Wk6mHqcG6aetXfHkAwRn7K3M/wG5lmXaAefOwFx0N3/zJ6ob KdS4CW36L5UBaI/yQiUlWJZGMVsYchJa22a/lbJiGeFUivsdPHUfB5YU0KOg1oRoihRRyD u0GoLwYvRD3rnkcDm6F6iPG9UlE1rKHO8AnzNjRndGraq0lhMpgpSKVUu9Uf8EFEl9mvfP Pj4qryA8rZV2WUX9xu0oBbpfspnDpWSuW5znhJzaQsh+d7rt6AysahmKALiNHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708340901; a=rsa-sha256; cv=none; b=SFb/fJb+7Ip8d2/T8beowvGNWW7QVqyBzOQcnqlaCtqXN3Gzodg0H+8MiJ9pY4JCyVt7C/ Ue5VVR1cLo6R8zDe+fUUs0Jd7IaBnpKcyqzKF0ir7gwbV0AmArISlX+Jx0KWapgdPaS7w9 0/J0nnfl+Okzcwlralecm+rh32arHK6kP0C8jM0vzmOd0em+zztsTYcmEkg2zKMfUxDdHb XA+yDgdRkxKRjpvFUCGsgpFfdDyR7vgYBJOOCkJEUbLOAb0m9baapf/Pj/iQIT68iOwgVf wOedVQidD2eynFTnvFz35bruUJtnIaUIuESF2Cs9su22jtxW2+QWDXkZjML7WA== 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 4Tdfsc64mpzY66; Mon, 19 Feb 2024 11:08: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 41JB8KHj020618; Mon, 19 Feb 2024 11:08:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JB8Kib020615; Mon, 19 Feb 2024 11:08:20 GMT (envelope-from git) Date: Mon, 19 Feb 2024 11:08:20 GMT Message-Id: <202402191108.41JB8Kib020615@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: 94fc800f5bf2 - main - net80211: Fix two typos in kernel messages 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: 94fc800f5bf20f573bef0d407c2f61ebcdc15bae Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=94fc800f5bf20f573bef0d407c2f61ebcdc15bae commit 94fc800f5bf20f573bef0d407c2f61ebcdc15bae Author: Gordon Bergling AuthorDate: 2024-02-19 11:08:07 +0000 Commit: Gordon Bergling CommitDate: 2024-02-19 11:08:07 +0000 net80211: Fix two typos in kernel messages - s/defered/deferred/ MFC after: 5 days --- sys/net80211/ieee80211_hostap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index 67c45bd38935..82d8f8b2907b 100644 --- a/sys/net80211/ieee80211_hostap.c +++ b/sys/net80211/ieee80211_hostap.c @@ -974,7 +974,7 @@ hostap_auth_open(struct ieee80211_node *ni, struct ieee80211_frame *wh, */ IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_AUTH | IEEE80211_MSG_ACL, ni->ni_macaddr, - "%s", "station authentication defered (radius acl)"); + "%s", "station authentication deferred (radius acl)"); ieee80211_notify_node_auth(ni); } else { IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_AUTH, seq + 1); @@ -1124,7 +1124,7 @@ hostap_auth_shared(struct ieee80211_node *ni, struct ieee80211_frame *wh, IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_AUTH | IEEE80211_MSG_ACL, ni->ni_macaddr, - "%s", "station authentication defered (radius acl)"); + "%s", "station authentication deferred (radius acl)"); ieee80211_notify_node_auth(ni); return; } From nobody Mon Feb 19 11:29:28 2024 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 4TdgLL0jT1z5BWrx for ; Mon, 19 Feb 2024 11:29:46 +0000 (UTC) (envelope-from cglogic@protonmail.com) Received: from mail-40138.protonmail.ch (mail-40138.protonmail.ch [185.70.40.138]) (using TLSv1.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 "protonmail.com", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TdgLK5cB5z4rXv; Mon, 19 Feb 2024 11:29:45 +0000 (UTC) (envelope-from cglogic@protonmail.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1708342183; x=1708601383; bh=3GOD66GUPPafzimTGaHIIJc0n5kxMUfoVKYlw7WWbkI=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=s1LDpEo/5KGQX1sdpKAyV13eRU4FTPBCQywIqvb+ouceDnY+y0xUiCXNSdtaQi6Ff 8fby8kXyRyyf072RiqI7C6v9dgXAtqpMB0iFmEGZjY+y6EPKiSt9AGG6nxRwy4jAAI EENGLniziHGCTfBxFjnx/7v/98hLHSJMD6+9yKpjE4t0eC6LkToB6ftSCCcpUmunkH WzxNorI7AE/AzMdh2BbDMJ7vbf5DuD5vbpsy7XN5/Dgok9fTsFyxZ/Fy9uzNDrnhlZ p3fS43L2OttmjZiQJgTRlczwCv+qIpJOIMcMy04wsdTHnICM5FNNIIu1WUicf2gJp8 +lROLNaaiJv7w== Date: Mon, 19 Feb 2024 11:29:28 +0000 To: Andriy Gapon From: cglogic Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: c01af41c3c8f - main - ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs Message-ID: In-Reply-To: References: Feedback-ID: 25313618:user:proton 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: quoted-printable X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4TdgLK5cB5z4rXv 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:62371, ipnet:185.70.40.0/24, country:CH] On Monday, February 19th, 2024 at 1:03 PM, Andriy Gapon w= rote: > On 19/02/2024 12:47, cglogic wrote: >=20 > > Hello Andriy, > >=20 > > I use ZFS with autotrim enabled on Samsung 860 PRO connected to Intel A= HCI SATA controller for 9 years without any issue. >=20 >=20 > I think that it was released in 2018? You are right, it's 9 years old computer, SSD was added later. >=20 > > Can I disable this quirk locally or have I revert the patch to continue= use NCQ TRIM with this SSD? >=20 >=20 > I don't think that there is a way to disable the quirk, so you'll have to= revert. > Note that ATA TRIM is still enabled, it's only NCQ TRIM that got disabled= . >From my understanding ATA TRIM is non-queued TRIM as opposed to NCQ TRIM. With only ATA TRIM enabled, drive will have increased latency when large am= ount of files deleted. However I'm not sure how ZFS handles TRIMs, maybe it groups several TRIMs a= nd then sends when drive is idle. Another question is how this affects TRIM enabled swap partition. In general, if I'm correct here, disabling NCQ TRIM should not be an issue = for desktop usage, except for large git repository updates, etc. >=20 > > On Monday, February 19th, 2024 at 12:09 PM, Andriy Gapon avg@FreeBSD.or= g wrote: > >=20 > > > The branch main has been updated by avg: > > >=20 > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc01af41c3c8fdd570764ff= 9b6bfbad6ac9ca1664 > > >=20 > > > commit c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664 > > > Author: Andriy Gapon avg@FreeBSD.org > > >=20 > > > AuthorDate: 2024-02-19 10:08:12 +0000 > > > Commit: Andriy Gapon avg@FreeBSD.org > > >=20 > > > CommitDate: 2024-02-19 10:08:12 +0000 > > >=20 > > > ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs > > >=20 > > > NCQ TRIM for Samsung 860/870 SSDs results in data corruption on syste= ms > > > with some SATA controllers. > > >=20 > > > This can be easily reproduced using ZFS which uses TRIM and is able t= o > > > detect block content changes. > > >=20 > > > Linux bug report for this issue: > > > https://bugzilla.kernel.org/show_bug.cgi?id=3D201693 > > >=20 > > > Since at present we can not limit a quirk based on the contorller / S= IM, > > > apply the quirk in all cases. > > >=20 > > > Reviewed by: imp > > > MFC after: 2 weeks > > > Differential Revision: https://reviews.freebsd.org/D43961 > > > --- > > > sys/cam/ata/ata_da.c | 16 ++++++++++++++++ > > > 1 file changed, 16 insertions(+) > > >=20 > > > diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c > > > index f5d3aeca9329..d4a591943307 100644 > > > --- a/sys/cam/ata/ata_da.c > > > +++ b/sys/cam/ata/ata_da.c > > > @@ -727,6 +727,22 @@ static struct ada_quirk_entry ada_quirk_table[] = =3D > > > { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 850", "" }, > > > /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > > > }, > > > + { > > > + / > > > + * Samsung 860 SSDs > > > + * 4k optimised, NCQ TRIM broken (normal TRIM fine) > > > + / > > > + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 860*", "" }, > > > + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > > > + }, > > > + { > > > + / > > > + * Samsung 870 SSDs > > > + * 4k optimised, NCQ TRIM broken (normal TRIM fine) > > > + / > > > + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 870*", "" }, > > > + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > > > + }, > > > { > > > / > > > * Samsung SM863 Series SSDs (MZ7KM*) >=20 >=20 > -- > Andriy Gapon From nobody Mon Feb 19 15:18:48 2024 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 4TdmQk1BqFz5BytM for ; Mon, 19 Feb 2024 15:18:54 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) (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 4TdmQj3gKRz4HXk for ; Mon, 19 Feb 2024 15:18:53 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-51181d8f52fso5727624e87.3 for ; Mon, 19 Feb 2024 07:18:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1708355931; x=1708960731; 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=ywsswnEXsq0zSd4Remvb5qKzn/MeXXvMxtYKC19c+QM=; b=QYht2iZ27tVh0kLWCxTZEcHiFFWj2FiznSUuxr2TLwmj860WgY3ZoAICPgsBrrd0J8 c2BcC8gTel72BsMj6vGhmStlK1ZmN8g8Sy7jSdAjJXgLNm/UV2Nu84LCjxXnNvd0Ne2c R4ox0b2JaVGDLQPfu8KXl/6iMINgE1qcPDrgJE8dZ46l2wrBcv4Xm3zLcmLJ7vooyOve TfVNQ/WfOn8GL6G6Kv6KaeNp5qWaC1GeqI5YE+kP2L3xdL/zEXpNO+nW9guxVpM0Ixky 1YkvpEh1vrAXs4eYKotqgVU6LCEsRGVSMJfqcqOCmYsF7umdNHiFer/WLm9xOHFj2Ha6 NMIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708355931; x=1708960731; 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=ywsswnEXsq0zSd4Remvb5qKzn/MeXXvMxtYKC19c+QM=; b=RMHU+sar/IbOqJff1LYO8m1uO4VlfJBx0M423RcZwWh+QkY2ZDCHmDZDH0xsc9vco4 Grw16KaliCY0uPTLAuulWhKvF0xg2b+i3KAhtDJgRG1rIlaDNdDUZyWiRX7Ad5Iif4K9 rSkMNPJvEzeVxfkvi9N2WOtvcCUzRio9VYwDwlA1euTEsLMeQShGIvK9+lKoiPmiadZH GgPqn83GE5pkzxP3bm0HU2gRT/52rkMpi+QGmIbVy1yP+2fpKDwHl/OMl6vvVacktOmj vm7gywZ4VtODZHuGe4osGHeMyOOaRsC4U0iQtjLhXq9pT9BAPhT75oREssyZnUHsTJxT tl8w== X-Forwarded-Encrypted: i=1; AJvYcCX1cSQeDpvuZlgEQX0oC5BLC5pDvxFUkOF4CJpa1ZMmnxNFnFUj3XkZrErto/zkI5s2P86gy8YDp964jT/DL6eJDEewyZjlKyFm/DtTfvY/ X-Gm-Message-State: AOJu0YzUHMcBsQcCQPxul/YSqWRG0sDEnoLmGfk40NHkKZ9sFe7Mw8mC cRM+oT6bjpdEKU8pYofG3k1gB6YnkYLsXH9uaZsHMCDi89Oltzq+m58d0rd30az2xvYSN7PhM+Y X2t9y2wM1QeHeo8tcljB53s4VcTIbhK70jEqDaQ== X-Google-Smtp-Source: AGHT+IEZWX/okq2QAfWYujcH/Wg8q3+gNdH1d4Iup1LIQzidb0ChpIZTmARv9DyZeo6Mee0+fkldkIjblf5jXxS/npk= X-Received: by 2002:a05:6512:4026:b0:512:a009:6e21 with SMTP id br38-20020a056512402600b00512a0096e21mr5134562lfb.31.1708355930798; Mon, 19 Feb 2024 07:18: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: In-Reply-To: From: Warner Losh Date: Mon, 19 Feb 2024 08:18:48 -0700 Message-ID: Subject: Re: git: c01af41c3c8f - main - ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs To: cglogic Cc: Andriy Gapon , src-committers , "" , "" Content-Type: multipart/alternative; boundary="00000000000067d1ca0611bd9cb8" X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4TdmQj3gKRz4HXk 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] --00000000000067d1ca0611bd9cb8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Feb 19, 2024, 4:29=E2=80=AFAM cglogic wrot= e: > On Monday, February 19th, 2024 at 1:03 PM, Andriy Gapon > wrote: > > > On 19/02/2024 12:47, cglogic wrote: > > > > > Hello Andriy, > > > > > > I use ZFS with autotrim enabled on Samsung 860 PRO connected to Intel > AHCI SATA controller for 9 years without any issue. > > > > > > I think that it was released in 2018? > > You are right, it's 9 years old computer, SSD was added later. > > > > > > Can I disable this quirk locally or have I revert the patch to > continue use NCQ TRIM with this SSD? > > > > > > I don't think that there is a way to disable the quirk, so you'll have > to revert. > > Note that ATA TRIM is still enabled, it's only NCQ TRIM that got > disabled. > > From my understanding ATA TRIM is non-queued TRIM as opposed to NCQ TRIM. > With only ATA TRIM enabled, drive will have increased latency when large > amount of files deleted. > > However I'm not sure how ZFS handles TRIMs, maybe it groups several TRIMs > and then sends when drive is idle. > Another question is how this affects TRIM enabled swap partition. > > In general, if I'm correct here, disabling NCQ TRIM should not be an issu= e > for desktop usage, except for large git repository updates, etc. > In general, it won't matter a ton. Unless you are seeing stalls because of read/write I/O waiting behind trims that have to go to the drive one at a time, the effects are in the noise. If you are seeing that, though, the effects can be quite helpful in terms of latency... assuming the drive is cooperative. The benefits of it vary a lot from drive to drive as well. Some early drives still serialize the trims, so the latency benefit is not so great. Some enterprise drives do trims instantly and keep some internal state that is helped a lot by them. But if NCQ trims are unstable, we likely should err on the side of disabling. The errors that Andriy was seeing typically are cable or controller issues. In his case, it was a controller issue (apparently, and surprisingly, paired with a specific type of drive). Linux has a specific workaround for the pair, which is unusual. But there's two issues at play. The first issue is that these drives should have NCQ Trim turned off, according to Linux's commit log. This may be firmware revision based or may just be some people are luckier with newer firmware (it's hard to say from the mixed reports, but they read more like luck than version for the sampling I did). So Andriy's change is good. The second issue, and one I was confused on earlier, is that Linux goes a step further and disables NCQ entirely for these old controllers for 860 and 870 drives. This isn't too surprising. We have a workaround for PMP for these controllers already.... One can disable NCQ entirely by setting the tags to 0... Given the specificity of the problem, and the age of the controllers, I'm inclined to not implement the Linux workaround for this specific pair. Warner > > > > On Monday, February 19th, 2024 at 12:09 PM, Andriy Gapon > avg@FreeBSD.org wrote: > > > > > > > The branch main has been updated by avg: > > > > > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3Dc01af41c3c8fdd570764ff9b6bfbad6= ac9ca1664 > > > > > > > > commit c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664 > > > > Author: Andriy Gapon avg@FreeBSD.org > > > > > > > > AuthorDate: 2024-02-19 10:08:12 +0000 > > > > Commit: Andriy Gapon avg@FreeBSD.org > > > > > > > > CommitDate: 2024-02-19 10:08:12 +0000 > > > > > > > > ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs > > > > > > > > NCQ TRIM for Samsung 860/870 SSDs results in data corruption on > systems > > > > with some SATA controllers. > > > > > > > > This can be easily reproduced using ZFS which uses TRIM and is able > to > > > > detect block content changes. > > > > > > > > Linux bug report for this issue: > > > > https://bugzilla.kernel.org/show_bug.cgi?id=3D201693 > > > > > > > > Since at present we can not limit a quirk based on the contorller / > SIM, > > > > apply the quirk in all cases. > > > > > > > > Reviewed by: imp > > > > MFC after: 2 weeks > > > > Differential Revision: https://reviews.freebsd.org/D43961 > > > > --- > > > > sys/cam/ata/ata_da.c | 16 ++++++++++++++++ > > > > 1 file changed, 16 insertions(+) > > > > > > > > diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c > > > > index f5d3aeca9329..d4a591943307 100644 > > > > --- a/sys/cam/ata/ata_da.c > > > > +++ b/sys/cam/ata/ata_da.c > > > > @@ -727,6 +727,22 @@ static struct ada_quirk_entry ada_quirk_table[= ] > =3D > > > > { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 850", "" }, > > > > /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > > > > }, > > > > + { > > > > + / > > > > + * Samsung 860 SSDs > > > > + * 4k optimised, NCQ TRIM broken (normal TRIM fine) > > > > + / > > > > + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 860*", "" }, > > > > + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > > > > + }, > > > > + { > > > > + / > > > > + * Samsung 870 SSDs > > > > + * 4k optimised, NCQ TRIM broken (normal TRIM fine) > > > > + / > > > > + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 870*", "" }, > > > > + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > > > > + }, > > > > { > > > > / > > > > * Samsung SM863 Series SSDs (MZ7KM*) > > > > > > -- > > Andriy Gapon > --00000000000067d1ca0611bd9cb8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Mon, Feb 19, 2024, 4:29=E2=80=AFAM= cglogic <cg= logic@protonmail.com> wrote:
On Monday, February 19th, 2024 at 1:03 PM, Andriy Gapon <avg@FreeBSD.or= g> wrote:

> On 19/02/2024 12:47, cglogic wrote:
>
> > Hello Andriy,
> >
> > I use ZFS with autotrim enabled on Samsung 860 PRO connected to I= ntel AHCI SATA controller for 9 years without any issue.
>
>
> I think that it was released in 2018?

You are right, it's 9 years old computer, SSD was added later.

>
> > Can I disable this quirk locally or have I revert the patch to co= ntinue use NCQ TRIM with this SSD?
>
>
> I don't think that there is a way to disable the quirk, so you'= ;ll have to revert.
> Note that ATA TRIM is still enabled, it's only NCQ TRIM that got d= isabled.

>From my understanding ATA TRIM is non-queued TRIM as opposed to NCQ TRIM. With only ATA TRIM enabled, drive will have increased latency when large am= ount of files deleted.

However I'm not sure how ZFS handles TRIMs, maybe it groups several TRI= Ms and then sends when drive is idle.
Another question is how this affects TRIM enabled swap partition.

In general, if I'm correct here, disabling NCQ TRIM should not be an is= sue for desktop usage, except for large git repository updates, etc.

In general, it won't = matter a ton. Unless you are seeing stalls because of read/write I/O waitin= g behind trims that have to go to the drive one at a time, the effects are = in the noise. If you are seeing that, though, the effects can be quite help= ful in terms of latency... assuming the drive is cooperative. The benefits = of it vary a lot from drive to drive as well. Some early drives still seria= lize the trims, so the latency benefit is not so great. Some enterprise dri= ves do trims instantly and keep some internal state that is helped a lot by= them. But if NCQ trims are unstable, we likely should err on the side of d= isabling.

The errors that Andriy = was seeing typically are cable or controller issues. In his case, it was a = controller issue (apparently, and surprisingly, paired with a specific type= of drive). Linux has a specific workaround for the pair, which is unusual.= But there's two issues at play.

The first= issue is that these drives should have NCQ Trim turned off, according to L= inux's commit log. This may be firmware revision based or may just be s= ome people are luckier with newer firmware (it's hard to say from the m= ixed reports, but they read more like luck than version for the sampling I = did). So Andriy's change is good. The second issue, and one I was confu= sed on earlier, is that Linux goes a step further and disables NCQ entirely= for these old controllers for 860 and 870 drives. This isn't too surpr= ising. We have a workaround for PMP for these controllers already.... One c= an disable NCQ entirely by setting the tags to 0... Given the specificity o= f the problem, and the age of the controllers, I'm inclined to not impl= ement the Linux workaround for this specific pair.

=
Warner

>
> > On Monday, February 19th, 2024 at 12:09 PM, Andriy Gapon avg@Free= BSD.org wrote:
> >
> > > The branch main has been updated by avg:
> > >
> > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc01af41c3c8fdd570764= ff9b6bfbad6ac9ca1664
> > >
> > > commit c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664
> > > Author: Andriy Gapon avg@FreeBSD.org
> > >
> > > AuthorDate: 2024-02-19 10:08:12 +0000
> > > Commit: Andriy Gapon avg@FreeBSD.org
> > >
> > > CommitDate: 2024-02-19 10:08:12 +0000
> > >
> > > ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SS= Ds
> > >
> > > NCQ TRIM for Samsung 860/870 SSDs results in data corruption= on systems
> > > with some SATA controllers.
> > >
> > > This can be easily reproduced using ZFS which uses TRIM and = is able to
> > > detect block content changes.
> > >
> > > Linux bug report for this issue:
> > > https://bugzilla.kerne= l.org/show_bug.cgi?id=3D201693
> > >
> > > Since at present we can not limit a quirk based on the conto= rller / SIM,
> > > apply the quirk in all cases.
> > >
> > > Reviewed by: imp
> > > MFC after: 2 weeks
> > > Differential Revision: https://reviews.f= reebsd.org/D43961
> > > ---
> > > sys/cam/ata/ata_da.c | 16 ++++++++++++++++
> > > 1 file changed, 16 insertions(+)
> > >
> > > diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c
> > > index f5d3aeca9329..d4a591943307 100644
> > > --- a/sys/cam/ata/ata_da.c
> > > +++ b/sys/cam/ata/ata_da.c
> > > @@ -727,6 +727,22 @@ static struct ada_quirk_entry ada_quirk= _table[] =3D
> > > { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD= 850", "" },
> > > /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN
> > > },
> > > + {
> > > + /
> > > + * Samsung 860 SSDs
> > > + * 4k optimised, NCQ TRIM broken (normal TRIM fine)
> > > + /
> > > + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung S= SD 860*", "" },
> > > + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN
> > > + },
> > > + {
> > > + /
> > > + * Samsung 870 SSDs
> > > + * 4k optimised, NCQ TRIM broken (normal TRIM fine)
> > > + /
> > > + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung S= SD 870*", "" },
> > > + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN
> > > + },
> > > {
> > > /
> > > * Samsung SM863 Series SSDs (MZ7KM*)
>
>
> --
> Andriy Gapon
--00000000000067d1ca0611bd9cb8-- From nobody Mon Feb 19 15:57:14 2024 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 4TdnGy2byBz5C3dh; Mon, 19 Feb 2024 15:57: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 4TdnGy24y9z4MYp; Mon, 19 Feb 2024 15:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708358234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VA21FzKxFCk/aJf6p4ECUjnbSOm11oM9tQjvnZpt7Uo=; b=yHqJUpKRD+BVEVr3/Ny9USCRppss+LBpmvg4OU95yBmUdm/ezKe5vo1p1+HzruiZ//D0EI wUqIVLVZxiQxpT+es6x4xEMkNFuiR+eFiUIzKwz4+48qrNEM/SgtTRkX5QA0B0wt5ESmf4 TpB7WWbuD5tshJvf8o4uXrMPM84v/hG/ryPthAwldSKkN9Ug6qNy1DPTwAbGvxEegzRSaZ eIHpwCRWQL5tQ3559Y/dUS5m0PYC95ga22ZzNlY/MVNEc59PTo2sFDElxcpXJwIOQo4Q64 ZsmF4SpiyNIwYk3Az8yGrwH8bs6rr8BrqU1TACAOcFi9JI8SkPEHw2plzGNNpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708358234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VA21FzKxFCk/aJf6p4ECUjnbSOm11oM9tQjvnZpt7Uo=; b=pft2mxi9Mgq+w1RgxFb5j1whU6kes1+eHqYfpG4D8pmmrtvuBCrw/qrdWLcSiJTnPKhgOU Xr6DGB8rH1HhM/KF8+8lXBUXFC7n2PPrCvHL/UChZgLAdLz1bcZeVNKl5RlZRftx8MsGcj vjOnrHgiQa1u+zh75p4qNMKCaYfSwSimyPHOGMBjRaqveI8THWE5LyqYAzRh+IBz5atrod DiZtaQafi5Ktya8Uw5rMWDscFK1YZlAEyBNrFSeLLeJY1XVRMM5NDUPT3eMGnCr4sx4GZr iArZ8em0jKUlv9m1mHsnchzde9VfK/YqSsEemhMrEf8kWD46RFk8Mqz/mn1eRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708358234; a=rsa-sha256; cv=none; b=tr1ucjm0DgwcTP6PAi9D8uJ+GN7qqlPNjSZB8KpRXZlhIwtfYKit4ShNXPGf0enzuq+eXf kiDOCBJT81bbpZhicx6q3Vt3aLGWUTETNyNg4ZjK4YgHen6NQjW2wGFtOYvDLxv9diMUPQ NsSXSGc6dxUMZB1cTB0HTFML7tr9qu8V9XIQ0MEH/pNm6ODWbDPQ46h2O3W9M+fkiLo9FQ M8hp9k9Vukv43C5IJV2nBG8EbKu/ebW+vh+yFrdqxotqQwP9SxouIzY08HykR0nIeqXQJl +6ctCoyAqtogACNGaO46VIk8q0P6SjRIBueQGA/yK64SJVj1yjclVZ6C3Nh3Rg== 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 4TdnGy17vQzgh8; Mon, 19 Feb 2024 15:57: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 41JFvE9N008451; Mon, 19 Feb 2024 15:57:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JFvEVu008448; Mon, 19 Feb 2024 15:57:14 GMT (envelope-from git) Date: Mon, 19 Feb 2024 15:57:14 GMT Message-Id: <202402191557.41JFvEVu008448@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: 849599e28a87 - main - committers-src: Add bnovkov@ with markj@ and jhb@ as mentors 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: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 849599e28a8708b137be2c8ed2c7ca114d0caf1e Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=849599e28a8708b137be2c8ed2c7ca114d0caf1e commit 849599e28a8708b137be2c8ed2c7ca114d0caf1e Author: Bojan Novković AuthorDate: 2024-02-19 15:55:31 +0000 Commit: Bojan Novković CommitDate: 2024-02-19 15:55:31 +0000 committers-src: Add bnovkov@ with markj@ and jhb@ as mentors Add mentorship information for bnovkov@. Approved by: markj (mentor) Differential Revision: https://reviews.freebsd.org/D43963 --- share/misc/committers-src.dot | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot index 6201c0c69894..d9fd06cd6597 100644 --- a/share/misc/committers-src.dot +++ b/share/misc/committers-src.dot @@ -131,6 +131,7 @@ bdrewery [label="Bryan Drewery\nbdrewery@FreeBSD.org\n2013/12/14"] benl [label="Ben Laurie\nbenl@FreeBSD.org\n2011/05/18"] benno [label="Benno Rice\nbenno@FreeBSD.org\n2000/11/02"] bms [label="Bruce M Simpson\nbms@FreeBSD.org\n2003/08/06"] +bnovkov [label="Bojan Novkovic\nbnovkov@FreeBSD.org\n2024/02/13"] br [label="Ruslan Bukin\nbr@FreeBSD.org\n2013/09/02"] brian [label="Brian Somers\nbrian@FreeBSD.org\n1996/12/16"] brooks [label="Brooks Davis\nbrooks@FreeBSD.org\n2001/06/21"] @@ -636,6 +637,7 @@ jfv -> erj jhb -> arr jhb -> avg +jhb -> bnovkov jhb -> jch jhb -> jeff jhb -> kbyanc @@ -750,6 +752,7 @@ marcel -> marius marcel -> nwhitehorn marcel -> sjg +markj -> bnovkov markj -> cem markj -> christos markj -> dougm From nobody Mon Feb 19 16:06:12 2024 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 4TdnTs15xHz5C4dG for ; Mon, 19 Feb 2024 16:06:41 +0000 (UTC) (envelope-from cglogic@protonmail.com) Received: from mail-4318.protonmail.ch (mail-4318.protonmail.ch [185.70.43.18]) (using TLSv1.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 "protonmail.com", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TdnTr4zdpz4N5c for ; Mon, 19 Feb 2024 16:06:40 +0000 (UTC) (envelope-from cglogic@protonmail.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1708358791; x=1708617991; bh=c+n0Lfhlit3DriGeZsNdDwtT47mGBnL5RuUgsQke3Is=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=PtULJrPepI2jdEr1Ee6smDMRvU1YS/G/nnqn9mFcgI/UAtK0IuppzlJgYM5QOiKHC 6jL9H9rvOGZnmjVhV/5vLrNlnYeuAzsugSX86OoJ38b34kA/ndN6zIryEHZJF8p+Tb HIsrXB6ZQcvXDkArgVlWMZvo7X0GHae4xrllxJh22UYdaWV5LwJNTfT36MEe11f99P A9e/UZEjoH5/GOJQAlmnAd7Vu0+kKszYvc/KkBCK/FR39KnnWt9DviVyz5EirkpIJc oM7+Mhp+PeQFgZ8rngdTBRW/KizHx4ZN1jGqj4rKXKejJPMk7tvKLkDbH0NNMYrdQN ef9uAxbBPjtSg== Date: Mon, 19 Feb 2024 16:06:12 +0000 To: Warner Losh From: cglogic Cc: Andriy Gapon , src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: c01af41c3c8f - main - ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs Message-ID: In-Reply-To: References: Feedback-ID: 25313618:user:proton 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="b1_mkkyEVwy7Drn1aJ6XvL9VSap6ONAxAQ7RuVaO0HPR9Y" X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4TdnTr4zdpz4N5c 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:62371, ipnet:185.70.43.0/24, country:CH] This is a multi-part message in MIME format. --b1_mkkyEVwy7Drn1aJ6XvL9VSap6ONAxAQ7RuVaO0HPR9Y Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGVsbG8gV2FybmVyLAoKVGhhbmsgeW91IGZvciBkZXRhaWxlZCBleHBsYW5hdGlvbi4gTG9va3Mg bGlrZSBpdCBoYXMgbm8gc2Vuc2UgZm9yIG1lIHRvIHdvcnJ5IGFib3V0IGRpc2FibGluZyBOQ1Eg VFJJTSBvbiB0aGF0IG9sZCBQQy4KCkhvd2V2ZXIgaXQgd291bGQgYmUgZ3JlYXQgdG8gaGF2ZSBw b3NzaWJpbGl0eSB0byBhcHBseSBzdWNoIGhhcmR3YXJlIGJ1ZyB3b3JrYXJvdW5kcyBmb3IgYWZm ZWN0ZWQgY29udHJvbGxlci9kcml2ZSBwYWlycyBvbmx5LgpPciwgYXQgbGVhc3QsIGhhdmUgcG9z c2liaWxpdHkgdG8gZGlzYWJsZSBzdWNoIHF1aXJrcyBvbiBwZXIgZHJpdmUgYmFzaXMgdmlhIHN5 c2N0bC4gSSBkaWRuJ3QgZmluZCBzdWNoIGEgcG9zc2liaWxpdHkuCgpPbiBNb25kYXksIEZlYnJ1 YXJ5IDE5dGgsIDIwMjQgYXQgNToxOCBQTSwgV2FybmVyIExvc2ggPGltcEBic2RpbXAuY29tPiB3 cm90ZToKCj4gT24gTW9uLCBGZWIgMTksIDIwMjQsIDQ6MjnigK9BTSBjZ2xvZ2ljIDxjZ2xvZ2lj QHByb3Rvbm1haWwuY29tPiB3cm90ZToKPgo+PiBPbiBNb25kYXksIEZlYnJ1YXJ5IDE5dGgsIDIw MjQgYXQgMTowMyBQTSwgQW5kcml5IEdhcG9uIDxhdmdARnJlZUJTRC5vcmc+IHdyb3RlOgo+Pgo+ Pj4gT24gMTkvMDIvMjAyNCAxMjo0NywgY2dsb2dpYyB3cm90ZToKPj4+Cj4+PiA+IEhlbGxvIEFu ZHJpeSwKPj4+ID4KPj4+ID4gSSB1c2UgWkZTIHdpdGggYXV0b3RyaW0gZW5hYmxlZCBvbiBTYW1z dW5nIDg2MCBQUk8gY29ubmVjdGVkIHRvIEludGVsIEFIQ0kgU0FUQSBjb250cm9sbGVyIGZvciA5 IHllYXJzIHdpdGhvdXQgYW55IGlzc3VlLgo+Pj4KPj4+Cj4+PiBJIHRoaW5rIHRoYXQgaXQgd2Fz IHJlbGVhc2VkIGluIDIwMTg/Cj4+Cj4+IFlvdSBhcmUgcmlnaHQsIGl0J3MgOSB5ZWFycyBvbGQg Y29tcHV0ZXIsIFNTRCB3YXMgYWRkZWQgbGF0ZXIuCj4+Cj4+Pgo+Pj4gPiBDYW4gSSBkaXNhYmxl IHRoaXMgcXVpcmsgbG9jYWxseSBvciBoYXZlIEkgcmV2ZXJ0IHRoZSBwYXRjaCB0byBjb250aW51 ZSB1c2UgTkNRIFRSSU0gd2l0aCB0aGlzIFNTRD8KPj4+Cj4+Pgo+Pj4gSSBkb24ndCB0aGluayB0 aGF0IHRoZXJlIGlzIGEgd2F5IHRvIGRpc2FibGUgdGhlIHF1aXJrLCBzbyB5b3UnbGwgaGF2ZSB0 byByZXZlcnQuCj4+PiBOb3RlIHRoYXQgQVRBIFRSSU0gaXMgc3RpbGwgZW5hYmxlZCwgaXQncyBv bmx5IE5DUSBUUklNIHRoYXQgZ290IGRpc2FibGVkLgo+Pgo+PiBGcm9tIG15IHVuZGVyc3RhbmRp bmcgQVRBIFRSSU0gaXMgbm9uLXF1ZXVlZCBUUklNIGFzIG9wcG9zZWQgdG8gTkNRIFRSSU0uCj4+ IFdpdGggb25seSBBVEEgVFJJTSBlbmFibGVkLCBkcml2ZSB3aWxsIGhhdmUgaW5jcmVhc2VkIGxh dGVuY3kgd2hlbiBsYXJnZSBhbW91bnQgb2YgZmlsZXMgZGVsZXRlZC4KPj4KPj4gSG93ZXZlciBJ J20gbm90IHN1cmUgaG93IFpGUyBoYW5kbGVzIFRSSU1zLCBtYXliZSBpdCBncm91cHMgc2V2ZXJh bCBUUklNcyBhbmQgdGhlbiBzZW5kcyB3aGVuIGRyaXZlIGlzIGlkbGUuCj4+IEFub3RoZXIgcXVl c3Rpb24gaXMgaG93IHRoaXMgYWZmZWN0cyBUUklNIGVuYWJsZWQgc3dhcCBwYXJ0aXRpb24uCj4+ Cj4+IEluIGdlbmVyYWwsIGlmIEknbSBjb3JyZWN0IGhlcmUsIGRpc2FibGluZyBOQ1EgVFJJTSBz aG91bGQgbm90IGJlIGFuIGlzc3VlIGZvciBkZXNrdG9wIHVzYWdlLCBleGNlcHQgZm9yIGxhcmdl IGdpdCByZXBvc2l0b3J5IHVwZGF0ZXMsIGV0Yy4KPgo+IEluIGdlbmVyYWwsIGl0IHdvbid0IG1h dHRlciBhIHRvbi4gVW5sZXNzIHlvdSBhcmUgc2VlaW5nIHN0YWxscyBiZWNhdXNlIG9mIHJlYWQv d3JpdGUgSS9PIHdhaXRpbmcgYmVoaW5kIHRyaW1zIHRoYXQgaGF2ZSB0byBnbyB0byB0aGUgZHJp dmUgb25lIGF0IGEgdGltZSwgdGhlIGVmZmVjdHMgYXJlIGluIHRoZSBub2lzZS4gSWYgeW91IGFy ZSBzZWVpbmcgdGhhdCwgdGhvdWdoLCB0aGUgZWZmZWN0cyBjYW4gYmUgcXVpdGUgaGVscGZ1bCBp biB0ZXJtcyBvZiBsYXRlbmN5Li4uIGFzc3VtaW5nIHRoZSBkcml2ZSBpcyBjb29wZXJhdGl2ZS4g VGhlIGJlbmVmaXRzIG9mIGl0IHZhcnkgYSBsb3QgZnJvbSBkcml2ZSB0byBkcml2ZSBhcyB3ZWxs LiBTb21lIGVhcmx5IGRyaXZlcyBzdGlsbCBzZXJpYWxpemUgdGhlIHRyaW1zLCBzbyB0aGUgbGF0 ZW5jeSBiZW5lZml0IGlzIG5vdCBzbyBncmVhdC4gU29tZSBlbnRlcnByaXNlIGRyaXZlcyBkbyB0 cmltcyBpbnN0YW50bHkgYW5kIGtlZXAgc29tZSBpbnRlcm5hbCBzdGF0ZSB0aGF0IGlzIGhlbHBl ZCBhIGxvdCBieSB0aGVtLiBCdXQgaWYgTkNRIHRyaW1zIGFyZSB1bnN0YWJsZSwgd2UgbGlrZWx5 IHNob3VsZCBlcnIgb24gdGhlIHNpZGUgb2YgZGlzYWJsaW5nLgo+Cj4gVGhlIGVycm9ycyB0aGF0 IEFuZHJpeSB3YXMgc2VlaW5nIHR5cGljYWxseSBhcmUgY2FibGUgb3IgY29udHJvbGxlciBpc3N1 ZXMuIEluIGhpcyBjYXNlLCBpdCB3YXMgYSBjb250cm9sbGVyIGlzc3VlIChhcHBhcmVudGx5LCBh bmQgc3VycHJpc2luZ2x5LCBwYWlyZWQgd2l0aCBhIHNwZWNpZmljIHR5cGUgb2YgZHJpdmUpLiBM aW51eCBoYXMgYSBzcGVjaWZpYyB3b3JrYXJvdW5kIGZvciB0aGUgcGFpciwgd2hpY2ggaXMgdW51 c3VhbC4gQnV0IHRoZXJlJ3MgdHdvIGlzc3VlcyBhdCBwbGF5Lgo+Cj4gVGhlIGZpcnN0IGlzc3Vl IGlzIHRoYXQgdGhlc2UgZHJpdmVzIHNob3VsZCBoYXZlIE5DUSBUcmltIHR1cm5lZCBvZmYsIGFj Y29yZGluZyB0byBMaW51eCdzIGNvbW1pdCBsb2cuIFRoaXMgbWF5IGJlIGZpcm13YXJlIHJldmlz aW9uIGJhc2VkIG9yIG1heSBqdXN0IGJlIHNvbWUgcGVvcGxlIGFyZSBsdWNraWVyIHdpdGggbmV3 ZXIgZmlybXdhcmUgKGl0J3MgaGFyZCB0byBzYXkgZnJvbSB0aGUgbWl4ZWQgcmVwb3J0cywgYnV0 IHRoZXkgcmVhZCBtb3JlIGxpa2UgbHVjayB0aGFuIHZlcnNpb24gZm9yIHRoZSBzYW1wbGluZyBJ IGRpZCkuIFNvIEFuZHJpeSdzIGNoYW5nZSBpcyBnb29kLiBUaGUgc2Vjb25kIGlzc3VlLCBhbmQg b25lIEkgd2FzIGNvbmZ1c2VkIG9uIGVhcmxpZXIsIGlzIHRoYXQgTGludXggZ29lcyBhIHN0ZXAg ZnVydGhlciBhbmQgZGlzYWJsZXMgTkNRIGVudGlyZWx5IGZvciB0aGVzZSBvbGQgY29udHJvbGxl cnMgZm9yIDg2MCBhbmQgODcwIGRyaXZlcy4gVGhpcyBpc24ndCB0b28gc3VycHJpc2luZy4gV2Ug aGF2ZSBhIHdvcmthcm91bmQgZm9yIFBNUCBmb3IgdGhlc2UgY29udHJvbGxlcnMgYWxyZWFkeS4u Li4gT25lIGNhbiBkaXNhYmxlIE5DUSBlbnRpcmVseSBieSBzZXR0aW5nIHRoZSB0YWdzIHRvIDAu Li4gR2l2ZW4gdGhlIHNwZWNpZmljaXR5IG9mIHRoZSBwcm9ibGVtLCBhbmQgdGhlIGFnZSBvZiB0 aGUgY29udHJvbGxlcnMsIEknbSBpbmNsaW5lZCB0byBub3QgaW1wbGVtZW50IHRoZSBMaW51eCB3 b3JrYXJvdW5kIGZvciB0aGlzIHNwZWNpZmljIHBhaXIuCj4KPiBXYXJuZXIKPgo+Pj4KPj4+ID4g T24gTW9uZGF5LCBGZWJydWFyeSAxOXRoLCAyMDI0IGF0IDEyOjA5IFBNLCBBbmRyaXkgR2Fwb24g YXZnQEZyZWVCU0Qub3JnIHdyb3RlOgo+Pj4gPgo+Pj4gPiA+IFRoZSBicmFuY2ggbWFpbiBoYXMg YmVlbiB1cGRhdGVkIGJ5IGF2ZzoKPj4+ID4gPgo+Pj4gPiA+IFVSTDogaHR0cHM6Ly9jZ2l0LkZy ZWVCU0Qub3JnL3NyYy9jb21taXQvP2lkPWMwMWFmNDFjM2M4ZmRkNTcwNzY0ZmY5YjZiZmJhZDZh YzljYTE2NjQKPj4+ID4gPgo+Pj4gPiA+IGNvbW1pdCBjMDFhZjQxYzNjOGZkZDU3MDc2NGZmOWI2 YmZiYWQ2YWM5Y2ExNjY0Cj4+PiA+ID4gQXV0aG9yOiBBbmRyaXkgR2Fwb24gYXZnQEZyZWVCU0Qu b3JnCj4+PiA+ID4KPj4+ID4gPiBBdXRob3JEYXRlOiAyMDI0LTAyLTE5IDEwOjA4OjEyICswMDAw Cj4+PiA+ID4gQ29tbWl0OiBBbmRyaXkgR2Fwb24gYXZnQEZyZWVCU0Qub3JnCj4+PiA+ID4KPj4+ ID4gPiBDb21taXREYXRlOiAyMDI0LTAyLTE5IDEwOjA4OjEyICswMDAwCj4+PiA+ID4KPj4+ID4g PiBhdGFfZGE6IGFkZCBxdWlyayB0byBkaXNhYmxlIE5DUSBUUklNIGZvciBTYW1zdW5nIDg2MC84 NzAgU1NEcwo+Pj4gPiA+Cj4+PiA+ID4gTkNRIFRSSU0gZm9yIFNhbXN1bmcgODYwLzg3MCBTU0Rz IHJlc3VsdHMgaW4gZGF0YSBjb3JydXB0aW9uIG9uIHN5c3RlbXMKPj4+ID4gPiB3aXRoIHNvbWUg U0FUQSBjb250cm9sbGVycy4KPj4+ID4gPgo+Pj4gPiA+IFRoaXMgY2FuIGJlIGVhc2lseSByZXBy b2R1Y2VkIHVzaW5nIFpGUyB3aGljaCB1c2VzIFRSSU0gYW5kIGlzIGFibGUgdG8KPj4+ID4gPiBk ZXRlY3QgYmxvY2sgY29udGVudCBjaGFuZ2VzLgo+Pj4gPiA+Cj4+PiA+ID4gTGludXggYnVnIHJl cG9ydCBmb3IgdGhpcyBpc3N1ZToKPj4+ID4gPiBodHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcv c2hvd19idWcuY2dpP2lkPTIwMTY5Mwo+Pj4gPiA+Cj4+PiA+ID4gU2luY2UgYXQgcHJlc2VudCB3 ZSBjYW4gbm90IGxpbWl0IGEgcXVpcmsgYmFzZWQgb24gdGhlIGNvbnRvcmxsZXIgLyBTSU0sCj4+ PiA+ID4gYXBwbHkgdGhlIHF1aXJrIGluIGFsbCBjYXNlcy4KPj4+ID4gPgo+Pj4gPiA+IFJldmll d2VkIGJ5OiBpbXAKPj4+ID4gPiBNRkMgYWZ0ZXI6IDIgd2Vla3MKPj4+ID4gPiBEaWZmZXJlbnRp YWwgUmV2aXNpb246IGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9ENDM5NjEKPj4+ID4gPiAt LS0KPj4+ID4gPiBzeXMvY2FtL2F0YS9hdGFfZGEuYyB8IDE2ICsrKysrKysrKysrKysrKysKPj4+ ID4gPiAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKQo+Pj4gPiA+Cj4+PiA+ID4gZGlm ZiAtLWdpdCBhL3N5cy9jYW0vYXRhL2F0YV9kYS5jIGIvc3lzL2NhbS9hdGEvYXRhX2RhLmMKPj4+ ID4gPiBpbmRleCBmNWQzYWVjYTkzMjkuLmQ0YTU5MTk0MzMwNyAxMDA2NDQKPj4+ID4gPiAtLS0g YS9zeXMvY2FtL2F0YS9hdGFfZGEuYwo+Pj4gPiA+ICsrKyBiL3N5cy9jYW0vYXRhL2F0YV9kYS5j Cj4+PiA+ID4gQEAgLTcyNyw2ICs3MjcsMjIgQEAgc3RhdGljIHN0cnVjdCBhZGFfcXVpcmtfZW50 cnkgYWRhX3F1aXJrX3RhYmxlW10gPQo+Pj4gPiA+IHsgVF9ESVJFQ1QsIFNJUF9NRURJQV9GSVhF RCwgIiIsICJTYW1zdW5nIFNTRCA4NTAiLCAiIiB9LAo+Pj4gPiA+IC9xdWlya3MvQURBX1FfNEsg fCBBREFfUV9OQ1FfVFJJTV9CUk9LRU4KPj4+ID4gPiB9LAo+Pj4gPiA+ICsgewo+Pj4gPiA+ICsg Lwo+Pj4gPiA+ICsgKiBTYW1zdW5nIDg2MCBTU0RzCj4+PiA+ID4gKyAqIDRrIG9wdGltaXNlZCwg TkNRIFRSSU0gYnJva2VuIChub3JtYWwgVFJJTSBmaW5lKQo+Pj4gPiA+ICsgLwo+Pj4gPiA+ICsg eyBUX0RJUkVDVCwgU0lQX01FRElBX0ZJWEVELCAiIiwgIlNhbXN1bmcgU1NEIDg2MCoiLCAiIiB9 LAo+Pj4gPiA+ICsgL3F1aXJrcy9BREFfUV80SyB8IEFEQV9RX05DUV9UUklNX0JST0tFTgo+Pj4g PiA+ICsgfSwKPj4+ID4gPiArIHsKPj4+ID4gPiArIC8KPj4+ID4gPiArICogU2Ftc3VuZyA4NzAg U1NEcwo+Pj4gPiA+ICsgKiA0ayBvcHRpbWlzZWQsIE5DUSBUUklNIGJyb2tlbiAobm9ybWFsIFRS SU0gZmluZSkKPj4+ID4gPiArIC8KPj4+ID4gPiArIHsgVF9ESVJFQ1QsIFNJUF9NRURJQV9GSVhF RCwgIiIsICJTYW1zdW5nIFNTRCA4NzAqIiwgIiIgfSwKPj4+ID4gPiArIC9xdWlya3MvQURBX1Ff NEsgfCBBREFfUV9OQ1FfVFJJTV9CUk9LRU4KPj4+ID4gPiArIH0sCj4+PiA+ID4gewo+Pj4gPiA+ IC8KPj4+ID4gPiAqIFNhbXN1bmcgU004NjMgU2VyaWVzIFNTRHMgKE1aN0tNKikKPj4+Cj4+Pgo+ Pj4gLS0KPj4+IEFuZHJpeSBHYXBvbg== --b1_mkkyEVwy7Drn1aJ6XvL9VSap6ONAxAQ7RuVaO0HPR9Y Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij5IZWxsbyBXYXJuZXIsPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5UaGFuayB5b3UgZm9y IGRldGFpbGVkIGV4cGxhbmF0aW9uLiBMb29rcyBsaWtlIGl0IGhhcyBubyBzZW5zZSBmb3IgbWUg dG8gd29ycnkgYWJvdXQgZGlzYWJsaW5nIE5DUSBUUklNIG9uIHRoYXQgb2xkIFBDLjwvZGl2Pjxk aXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4 OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiAxNHB4OyI+SG93ZXZlciBpdCB3b3VsZCBiZSBncmVhdCB0byBoYXZlIHBvc3Np YmlsaXR5IHRvIGFwcGx5IHN1Y2ggaGFyZHdhcmUgYnVnIHdvcmthcm91bmRzIGZvciBhZmZlY3Rl ZCBjb250cm9sbGVyL2RyaXZlIHBhaXJzIG9ubHkuPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1p bHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5PciwgYXQgbGVhc3QsIGhh dmUgcG9zc2liaWxpdHkgdG8gZGlzYWJsZSBzdWNoIHF1aXJrcyBvbiBwZXIgZHJpdmUgYmFzaXMg dmlhIHN5c2N0bC4mbmJzcDs8c3Bhbj5JIGRpZG4ndCBmaW5kIHN1Y2ggYSBwb3NzaWJpbGl0eS48 L3NwYW4+PGJyPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25h dHVyZV9ibG9jayIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1z aXplOiAxNHB4OyI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9InByb3Rvbm1h aWxfcXVvdGUiPg0KICAgICAgICBPbiBNb25kYXksIEZlYnJ1YXJ5IDE5dGgsIDIwMjQgYXQgNTox OCBQTSwgV2FybmVyIExvc2ggJmx0O2ltcEBic2RpbXAuY29tJmd0OyB3cm90ZTo8YnI+DQogICAg ICAgIDxibG9ja3F1b3RlIGNsYXNzPSJwcm90b25tYWlsX3F1b3RlIiB0eXBlPSJjaXRlIj4NCiAg ICAgICAgICAgIDxkaXYgZGlyPSJsdHIiPjxkaXYgZGlyPSJhdXRvIj48ZGl2Pjxicj48YnI+PGRp diBjbGFzcz0iZ21haWxfcXVvdGUiPjxkaXYgY2xhc3M9ImdtYWlsX2F0dHIiIGRpcj0ibHRyIj5P biBNb24sIEZlYiAxOSwgMjAyNCwgNDoyOeKAr0FNIGNnbG9naWMgJmx0OzxhIHRhcmdldD0iX2Js YW5rIiBocmVmPSJtYWlsdG86Y2dsb2dpY0Bwcm90b25tYWlsLmNvbSIgcmVsPSJub3JlZmVycmVy IG5vZm9sbG93IG5vb3BlbmVyIj5jZ2xvZ2ljQHByb3Rvbm1haWwuY29tPC9hPiZndDsgd3JvdGU6 PGJyPjwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVm dDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4IiBjbGFzcz0iZ21haWxfcXVvdGUiPk9u IE1vbmRheSwgRmVicnVhcnkgMTl0aCwgMjAyNCBhdCAxOjAzIFBNLCBBbmRyaXkgR2Fwb24gJmx0 O2F2Z0BGcmVlQlNELm9yZyZndDsgd3JvdGU6PGJyPg0KPGJyPg0KJmd0OyBPbiAxOS8wMi8yMDI0 IDEyOjQ3LCBjZ2xvZ2ljIHdyb3RlOjxicj4NCiZndDsgPGJyPg0KJmd0OyAmZ3Q7IEhlbGxvIEFu ZHJpeSw8YnI+DQomZ3Q7ICZndDsgPGJyPg0KJmd0OyAmZ3Q7IEkgdXNlIFpGUyB3aXRoIGF1dG90 cmltIGVuYWJsZWQgb24gU2Ftc3VuZyA4NjAgUFJPIGNvbm5lY3RlZCB0byBJbnRlbCBBSENJIFNB VEEgY29udHJvbGxlciBmb3IgOSB5ZWFycyB3aXRob3V0IGFueSBpc3N1ZS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgPGJyPg0KJmd0OyBJIHRoaW5rIHRoYXQgaXQgd2FzIHJlbGVhc2VkIGluIDIwMTg/ PGJyPg0KPGJyPg0KWW91IGFyZSByaWdodCwgaXQncyA5IHllYXJzIG9sZCBjb21wdXRlciwgU1NE IHdhcyBhZGRlZCBsYXRlci48YnI+DQo8YnI+DQomZ3Q7IDxicj4NCiZndDsgJmd0OyBDYW4gSSBk aXNhYmxlIHRoaXMgcXVpcmsgbG9jYWxseSBvciBoYXZlIEkgcmV2ZXJ0IHRoZSBwYXRjaCB0byBj b250aW51ZSB1c2UgTkNRIFRSSU0gd2l0aCB0aGlzIFNTRD88YnI+DQomZ3Q7IDxicj4NCiZndDsg PGJyPg0KJmd0OyBJIGRvbid0IHRoaW5rIHRoYXQgdGhlcmUgaXMgYSB3YXkgdG8gZGlzYWJsZSB0 aGUgcXVpcmssIHNvIHlvdSdsbCBoYXZlIHRvIHJldmVydC48YnI+DQomZ3Q7IE5vdGUgdGhhdCBB VEEgVFJJTSBpcyBzdGlsbCBlbmFibGVkLCBpdCdzIG9ubHkgTkNRIFRSSU0gdGhhdCBnb3QgZGlz YWJsZWQuPGJyPg0KPGJyPg0KRnJvbSBteSB1bmRlcnN0YW5kaW5nIEFUQSBUUklNIGlzIG5vbi1x dWV1ZWQgVFJJTSBhcyBvcHBvc2VkIHRvIE5DUSBUUklNLjxicj4NCldpdGggb25seSBBVEEgVFJJ TSBlbmFibGVkLCBkcml2ZSB3aWxsIGhhdmUgaW5jcmVhc2VkIGxhdGVuY3kgd2hlbiBsYXJnZSBh bW91bnQgb2YgZmlsZXMgZGVsZXRlZC48YnI+DQo8YnI+DQpIb3dldmVyIEknbSBub3Qgc3VyZSBo b3cgWkZTIGhhbmRsZXMgVFJJTXMsIG1heWJlIGl0IGdyb3VwcyBzZXZlcmFsIFRSSU1zIGFuZCB0 aGVuIHNlbmRzIHdoZW4gZHJpdmUgaXMgaWRsZS48YnI+DQpBbm90aGVyIHF1ZXN0aW9uIGlzIGhv dyB0aGlzIGFmZmVjdHMgVFJJTSBlbmFibGVkIHN3YXAgcGFydGl0aW9uLjxicj4NCjxicj4NCklu IGdlbmVyYWwsIGlmIEknbSBjb3JyZWN0IGhlcmUsIGRpc2FibGluZyBOQ1EgVFJJTSBzaG91bGQg bm90IGJlIGFuIGlzc3VlIGZvciBkZXNrdG9wIHVzYWdlLCBleGNlcHQgZm9yIGxhcmdlIGdpdCBy ZXBvc2l0b3J5IHVwZGF0ZXMsIGV0Yy48YnI+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjxkaXYg ZGlyPSJhdXRvIj48YnI+PC9kaXY+SW4gZ2VuZXJhbCwgaXQgd29uJ3QgbWF0dGVyIGEgdG9uLiBV bmxlc3MgeW91IGFyZSBzZWVpbmcgc3RhbGxzIGJlY2F1c2Ugb2YgcmVhZC93cml0ZSBJL08gd2Fp dGluZyBiZWhpbmQgdHJpbXMgdGhhdCBoYXZlIHRvIGdvIHRvIHRoZSBkcml2ZSBvbmUgYXQgYSB0 aW1lLCB0aGUgZWZmZWN0cyBhcmUgaW4gdGhlIG5vaXNlLiBJZiB5b3UgYXJlIHNlZWluZyB0aGF0 LCB0aG91Z2gsIHRoZSBlZmZlY3RzIGNhbiBiZSBxdWl0ZSBoZWxwZnVsIGluIHRlcm1zIG9mIGxh dGVuY3kuLi4gYXNzdW1pbmcgdGhlIGRyaXZlIGlzIGNvb3BlcmF0aXZlLiBUaGUgYmVuZWZpdHMg b2YgaXQgdmFyeSBhIGxvdCBmcm9tIGRyaXZlIHRvIGRyaXZlIGFzIHdlbGwuIFNvbWUgZWFybHkg ZHJpdmVzIHN0aWxsIHNlcmlhbGl6ZSB0aGUgdHJpbXMsIHNvIHRoZSBsYXRlbmN5IGJlbmVmaXQg aXMgbm90IHNvIGdyZWF0LiBTb21lIGVudGVycHJpc2UgZHJpdmVzIGRvIHRyaW1zIGluc3RhbnRs eSBhbmQga2VlcCBzb21lIGludGVybmFsIHN0YXRlIHRoYXQgaXMgaGVscGVkIGEgbG90IGJ5IHRo ZW0uIEJ1dCBpZiBOQ1EgdHJpbXMgYXJlIHVuc3RhYmxlLCB3ZSBsaWtlbHkgc2hvdWxkIGVyciBv biB0aGUgc2lkZSBvZiBkaXNhYmxpbmcuPGJyPjwvZGl2PjxkaXYgZGlyPSJhdXRvIj48YnI+PC9k aXY+PGRpdj5UaGUgZXJyb3JzIHRoYXQgQW5kcml5IHdhcyBzZWVpbmcgdHlwaWNhbGx5IGFyZSBj YWJsZSBvciBjb250cm9sbGVyIGlzc3Vlcy4gSW4gaGlzIGNhc2UsIGl0IHdhcyBhIGNvbnRyb2xs ZXIgaXNzdWUgKGFwcGFyZW50bHksIGFuZCBzdXJwcmlzaW5nbHksIHBhaXJlZCB3aXRoIGEgc3Bl Y2lmaWMgdHlwZSBvZiBkcml2ZSkuIExpbnV4IGhhcyBhIHNwZWNpZmljIHdvcmthcm91bmQgZm9y IHRoZSBwYWlyLCB3aGljaCBpcyB1bnVzdWFsLiBCdXQgdGhlcmUncyB0d28gaXNzdWVzIGF0IHBs YXkuPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhlIGZpcnN0IGlzc3VlIGlzIHRoYXQg dGhlc2UgZHJpdmVzIHNob3VsZCBoYXZlIE5DUSBUcmltIHR1cm5lZCBvZmYsIGFjY29yZGluZyB0 byBMaW51eCdzIGNvbW1pdCBsb2cuIFRoaXMgbWF5IGJlIGZpcm13YXJlIHJldmlzaW9uIGJhc2Vk IG9yIG1heSBqdXN0IGJlIHNvbWUgcGVvcGxlIGFyZSBsdWNraWVyIHdpdGggbmV3ZXIgZmlybXdh cmUgKGl0J3MgaGFyZCB0byBzYXkgZnJvbSB0aGUgbWl4ZWQgcmVwb3J0cywgYnV0IHRoZXkgcmVh ZCBtb3JlIGxpa2UgbHVjayB0aGFuIHZlcnNpb24gZm9yIHRoZSBzYW1wbGluZyBJIGRpZCkuIFNv IEFuZHJpeSdzIGNoYW5nZSBpcyBnb29kLiBUaGUgc2Vjb25kIGlzc3VlLCBhbmQgb25lIEkgd2Fz IGNvbmZ1c2VkIG9uIGVhcmxpZXIsIGlzIHRoYXQgTGludXggZ29lcyBhIHN0ZXAgZnVydGhlciBh bmQgZGlzYWJsZXMgTkNRIGVudGlyZWx5IGZvciB0aGVzZSBvbGQgY29udHJvbGxlcnMgZm9yIDg2 MCBhbmQgODcwIGRyaXZlcy4gVGhpcyBpc24ndCB0b28gc3VycHJpc2luZy4gV2UgaGF2ZSBhIHdv cmthcm91bmQgZm9yIFBNUCBmb3IgdGhlc2UgY29udHJvbGxlcnMgYWxyZWFkeS4uLi4gT25lIGNh biBkaXNhYmxlIE5DUSBlbnRpcmVseSBieSBzZXR0aW5nIHRoZSB0YWdzIHRvIDAuLi4gR2l2ZW4g dGhlIHNwZWNpZmljaXR5IG9mIHRoZSBwcm9ibGVtLCBhbmQgdGhlIGFnZSBvZiB0aGUgY29udHJv bGxlcnMsIEknbSBpbmNsaW5lZCB0byBub3QgaW1wbGVtZW50IHRoZSBMaW51eCB3b3JrYXJvdW5k IGZvciB0aGlzIHNwZWNpZmljIHBhaXIuPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGRp dj5XYXJuZXI8YnI+PC9kaXY+PGRpdiBkaXI9ImF1dG8iPjxicj48L2Rpdj48ZGl2IGRpcj0iYXV0 byI+PGRpdiBkaXI9ImF1dG8iPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48YmxvY2txdW90ZSBz dHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGlu Zy1sZWZ0OjFleCIgY2xhc3M9ImdtYWlsX3F1b3RlIj4NCiZndDsgPGJyPg0KJmd0OyAmZ3Q7IE9u IE1vbmRheSwgRmVicnVhcnkgMTl0aCwgMjAyNCBhdCAxMjowOSBQTSwgQW5kcml5IEdhcG9uIGF2 Z0BGcmVlQlNELm9yZyB3cm90ZTo8YnI+DQomZ3Q7ICZndDsgPGJyPg0KJmd0OyAmZ3Q7ICZndDsg VGhlIGJyYW5jaCBtYWluIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYXZnOjxicj4NCiZndDsgJmd0OyAm Z3Q7IDxicj4NCiZndDsgJmd0OyAmZ3Q7IFVSTDogPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9y ZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciIgaHJlZj0iaHR0cHM6Ly9jZ2l0LkZyZWVCU0Qub3Jn L3NyYy9jb21taXQvP2lkPWMwMWFmNDFjM2M4ZmRkNTcwNzY0ZmY5YjZiZmJhZDZhYzljYTE2NjQi Pmh0dHBzOi8vY2dpdC5GcmVlQlNELm9yZy9zcmMvY29tbWl0Lz9pZD1jMDFhZjQxYzNjOGZkZDU3 MDc2NGZmOWI2YmZiYWQ2YWM5Y2ExNjY0PC9hPjxicj4NCiZndDsgJmd0OyAmZ3Q7IDxicj4NCiZn dDsgJmd0OyAmZ3Q7IGNvbW1pdCBjMDFhZjQxYzNjOGZkZDU3MDc2NGZmOWI2YmZiYWQ2YWM5Y2Ex NjY0PGJyPg0KJmd0OyAmZ3Q7ICZndDsgQXV0aG9yOiBBbmRyaXkgR2Fwb24gYXZnQEZyZWVCU0Qu b3JnPGJyPg0KJmd0OyAmZ3Q7ICZndDsgPGJyPg0KJmd0OyAmZ3Q7ICZndDsgQXV0aG9yRGF0ZTog MjAyNC0wMi0xOSAxMDowODoxMiArMDAwMDxicj4NCiZndDsgJmd0OyAmZ3Q7IENvbW1pdDogQW5k cml5IEdhcG9uIGF2Z0BGcmVlQlNELm9yZzxicj4NCiZndDsgJmd0OyAmZ3Q7IDxicj4NCiZndDsg Jmd0OyAmZ3Q7IENvbW1pdERhdGU6IDIwMjQtMDItMTkgMTA6MDg6MTIgKzAwMDA8YnI+DQomZ3Q7 ICZndDsgJmd0OyA8YnI+DQomZ3Q7ICZndDsgJmd0OyBhdGFfZGE6IGFkZCBxdWlyayB0byBkaXNh YmxlIE5DUSBUUklNIGZvciBTYW1zdW5nIDg2MC84NzAgU1NEczxicj4NCiZndDsgJmd0OyAmZ3Q7 IDxicj4NCiZndDsgJmd0OyAmZ3Q7IE5DUSBUUklNIGZvciBTYW1zdW5nIDg2MC84NzAgU1NEcyBy ZXN1bHRzIGluIGRhdGEgY29ycnVwdGlvbiBvbiBzeXN0ZW1zPGJyPg0KJmd0OyAmZ3Q7ICZndDsg d2l0aCBzb21lIFNBVEEgY29udHJvbGxlcnMuPGJyPg0KJmd0OyAmZ3Q7ICZndDsgPGJyPg0KJmd0 OyAmZ3Q7ICZndDsgVGhpcyBjYW4gYmUgZWFzaWx5IHJlcHJvZHVjZWQgdXNpbmcgWkZTIHdoaWNo IHVzZXMgVFJJTSBhbmQgaXMgYWJsZSB0bzxicj4NCiZndDsgJmd0OyAmZ3Q7IGRldGVjdCBibG9j ayBjb250ZW50IGNoYW5nZXMuPGJyPg0KJmd0OyAmZ3Q7ICZndDsgPGJyPg0KJmd0OyAmZ3Q7ICZn dDsgTGludXggYnVnIHJlcG9ydCBmb3IgdGhpcyBpc3N1ZTo8YnI+DQomZ3Q7ICZndDsgJmd0OyA8 YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIiBocmVm PSJodHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTY5MyI+aHR0 cHM6Ly9idWd6aWxsYS5rZXJuZWwub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE2OTM8L2E+PGJyPg0K Jmd0OyAmZ3Q7ICZndDsgPGJyPg0KJmd0OyAmZ3Q7ICZndDsgU2luY2UgYXQgcHJlc2VudCB3ZSBj YW4gbm90IGxpbWl0IGEgcXVpcmsgYmFzZWQgb24gdGhlIGNvbnRvcmxsZXIgLyBTSU0sPGJyPg0K Jmd0OyAmZ3Q7ICZndDsgYXBwbHkgdGhlIHF1aXJrIGluIGFsbCBjYXNlcy48YnI+DQomZ3Q7ICZn dDsgJmd0OyA8YnI+DQomZ3Q7ICZndDsgJmd0OyBSZXZpZXdlZCBieTogaW1wPGJyPg0KJmd0OyAm Z3Q7ICZndDsgTUZDIGFmdGVyOiAyIHdlZWtzPGJyPg0KJmd0OyAmZ3Q7ICZndDsgRGlmZmVyZW50 aWFsIFJldmlzaW9uOiA8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93 IG5vb3BlbmVyIiBocmVmPSJodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDQzOTYxIj5odHRw czovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDQzOTYxPC9hPjxicj4NCiZndDsgJmd0OyAmZ3Q7IC0t LTxicj4NCiZndDsgJmd0OyAmZ3Q7IHN5cy9jYW0vYXRhL2F0YV9kYS5jIHwgMTYgKysrKysrKysr KysrKysrKzxicj4NCiZndDsgJmd0OyAmZ3Q7IDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25z KCspPGJyPg0KJmd0OyAmZ3Q7ICZndDsgPGJyPg0KJmd0OyAmZ3Q7ICZndDsgZGlmZiAtLWdpdCBh L3N5cy9jYW0vYXRhL2F0YV9kYS5jIGIvc3lzL2NhbS9hdGEvYXRhX2RhLmM8YnI+DQomZ3Q7ICZn dDsgJmd0OyBpbmRleCBmNWQzYWVjYTkzMjkuLmQ0YTU5MTk0MzMwNyAxMDA2NDQ8YnI+DQomZ3Q7 ICZndDsgJmd0OyAtLS0gYS9zeXMvY2FtL2F0YS9hdGFfZGEuYzxicj4NCiZndDsgJmd0OyAmZ3Q7 ICsrKyBiL3N5cy9jYW0vYXRhL2F0YV9kYS5jPGJyPg0KJmd0OyAmZ3Q7ICZndDsgQEAgLTcyNyw2 ICs3MjcsMjIgQEAgc3RhdGljIHN0cnVjdCBhZGFfcXVpcmtfZW50cnkgYWRhX3F1aXJrX3RhYmxl W10gPTxicj4NCiZndDsgJmd0OyAmZ3Q7IHsgVF9ESVJFQ1QsIFNJUF9NRURJQV9GSVhFRCwgIiIs ICJTYW1zdW5nIFNTRCA4NTAiLCAiIiB9LDxicj4NCiZndDsgJmd0OyAmZ3Q7IC9xdWlya3MvQURB X1FfNEsgfCBBREFfUV9OQ1FfVFJJTV9CUk9LRU48YnI+DQomZ3Q7ICZndDsgJmd0OyB9LDxicj4N CiZndDsgJmd0OyAmZ3Q7ICsgezxicj4NCiZndDsgJmd0OyAmZ3Q7ICsgLzxicj4NCiZndDsgJmd0 OyAmZ3Q7ICsgKiBTYW1zdW5nIDg2MCBTU0RzPGJyPg0KJmd0OyAmZ3Q7ICZndDsgKyAqIDRrIG9w dGltaXNlZCwgTkNRIFRSSU0gYnJva2VuIChub3JtYWwgVFJJTSBmaW5lKTxicj4NCiZndDsgJmd0 OyAmZ3Q7ICsgLzxicj4NCiZndDsgJmd0OyAmZ3Q7ICsgeyBUX0RJUkVDVCwgU0lQX01FRElBX0ZJ WEVELCAiIiwgIlNhbXN1bmcgU1NEIDg2MCoiLCAiIiB9LDxicj4NCiZndDsgJmd0OyAmZ3Q7ICsg L3F1aXJrcy9BREFfUV80SyB8IEFEQV9RX05DUV9UUklNX0JST0tFTjxicj4NCiZndDsgJmd0OyAm Z3Q7ICsgfSw8YnI+DQomZ3Q7ICZndDsgJmd0OyArIHs8YnI+DQomZ3Q7ICZndDsgJmd0OyArIC88 YnI+DQomZ3Q7ICZndDsgJmd0OyArICogU2Ftc3VuZyA4NzAgU1NEczxicj4NCiZndDsgJmd0OyAm Z3Q7ICsgKiA0ayBvcHRpbWlzZWQsIE5DUSBUUklNIGJyb2tlbiAobm9ybWFsIFRSSU0gZmluZSk8 YnI+DQomZ3Q7ICZndDsgJmd0OyArIC88YnI+DQomZ3Q7ICZndDsgJmd0OyArIHsgVF9ESVJFQ1Qs IFNJUF9NRURJQV9GSVhFRCwgIiIsICJTYW1zdW5nIFNTRCA4NzAqIiwgIiIgfSw8YnI+DQomZ3Q7 ICZndDsgJmd0OyArIC9xdWlya3MvQURBX1FfNEsgfCBBREFfUV9OQ1FfVFJJTV9CUk9LRU48YnI+ DQomZ3Q7ICZndDsgJmd0OyArIH0sPGJyPg0KJmd0OyAmZ3Q7ICZndDsgezxicj4NCiZndDsgJmd0 OyAmZ3Q7IC88YnI+DQomZ3Q7ICZndDsgJmd0OyAqIFNhbXN1bmcgU004NjMgU2VyaWVzIFNTRHMg KE1aN0tNKik8YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0OyAtLTxicj4NCiZndDsgQW5k cml5IEdhcG9uPGJyPg0KPC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2Pg0KPC9kaXY+PC9k aXY+DQoNCiAgICAgICAgPC9ibG9ja3F1b3RlPjxicj4NCiAgICA8L2Rpdj4= --b1_mkkyEVwy7Drn1aJ6XvL9VSap6ONAxAQ7RuVaO0HPR9Y-- From nobody Mon Feb 19 16:10:15 2024 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 4TdnZ00WFyz5C56g; Mon, 19 Feb 2024 16:10: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 4TdnYz5CQQz4NpD; Mon, 19 Feb 2024 16:10:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gpKggiyUeUNCD9VvJLceoF4xxdXh+VLHVMi9wOGOQlg=; b=tCizqoPyrkzspq6qMs1HfRTK5QOJvkuIyNUYlzPI4/BqeEX1qqCROGVtO2TyK+ENGWqi5H 5MxstD58pvMq6oEXHE5n2YLcokDN45aXnxk6Mvk0j4cgV67kJdDMdz0Sh0/wg5Gh0G0nlV etHsYZma+8sEa4mNJo3Ny/2YOF1sgVn2XvWZeTG2uJZEmLg3MFBEbjkEh/NKUzjAvKf+fR rJn6BR2qGL3lcKYzOBVU8VyhNhMfCOPJ74ambSx4Rd0yfM6FPUaaio0fx6+sHgHA2cAwFd U1dCkt9Ki9hGSwPp8KNegaRnPTj71MzYuwnnfzNdIgZa+gf74FxMFn/GcF2G+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gpKggiyUeUNCD9VvJLceoF4xxdXh+VLHVMi9wOGOQlg=; b=Tz49G2D6mPZOipaGDuWn8SSPlOoC+IS9pRwGEbOeud/xCBPmABYhUkYWEQtJuicrdiLHbd 7cONp7bmmjZs0IQVM+iaor/8LGoCvxnjAOA8TK0PbmDa40SflUIWRwhzkDZ532FoJ9EVd8 UgnM67gCVC3+Iv0cstRaPsUDUYPsdP+0vZzBTJ2+p23lPj1W2P1h+Vr09LDD1wM1A8wyFy UWhbgAi8VVkSV9UgZROrXKlV3g6VvDW+Se6SZcrfxxkrZ+ZwXe72Vr3waWkY0zjTH9ojv0 VAcAXflEO/XCbOEY1bcABDmW+udqYtifg/dWDiRKyDXyfT6WtNPkCjdPxeJnTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359015; a=rsa-sha256; cv=none; b=jqjSmpTiEm6bf6PNwKN0I9CTW5ULRUfm+EQLz6Hf9n76LE1kENIm/F1b+SzoOfcJIJAHhg 1/tStg+4xjGU5jGtnUSMJFTdTjIKMqDO4KCubnhXHHhKttJAwd7F0Kvd/NlY6AeR8UIY2r hbpo8ruF6X6a41vkbiX2yhU/TlApwOGkZ9U/ErA2G2ItoSJJ35Se9bcZLdQhH6g91AkUBp WDIItnGgJ/urGDbrsRj7496Y8OAyRrDknVd/n00IKGQ5OcsEH2MRoMx7IiMcssgjZZk30Q eA/3EOAgN2RZ/xiGRKJJyWpm2RkpYq9dugbt810Zt2qRMwx8Zkv8EK5v1y38bw== 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 4TdnYz4J2yzghj; Mon, 19 Feb 2024 16:10:15 +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 41JGAF8L034233; Mon, 19 Feb 2024 16:10:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGAFtg034225; Mon, 19 Feb 2024 16:10:15 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:15 GMT Message-Id: <202402191610.41JGAFtg034225@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 7d781b891eed - releng/13.3 - iwlwififw: add firmware for the Bz/B200 chipset 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 7d781b891eeda938630ef26b29690c56b05e3983 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7d781b891eeda938630ef26b29690c56b05e3983 commit 7d781b891eeda938630ef26b29690c56b05e3983 Author: Bjoern A. Zeeb AuthorDate: 2023-11-29 21:33:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:06:26 +0000 iwlwififw: add firmware for the Bz/B200 chipset The iwlwifi driver already supports the chipset as "Bz TBD" (also in 14.0). Add the firmware for it. Successfully tested for 0x8086/0x272b/0x8086/0x00f4 on arm64 thanks to donated hardware [1]. Firmware was obtained from linux-firmware at 9552083a783e5e48b90de674d4e3bf23bb855ab0 . Sponsored by: The FreeBSD Foundation Sponsored by: Martin Hoehne / minipci.biz (B200 card) [1] Approved by: re (cperciva) (cherry picked from commit b647615ede46af66cd0c8bd5a321d4a2cccdabe0) (cherry picked from commit d1d5dbcf2539d708d36cd4239ea428914a63321d) --- .../dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode | Bin 0 -> 1799504 bytes sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm | Bin 0 -> 226668 bytes sys/modules/iwlwififw/Makefile | 3 +++ sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-fw/Makefile | 5 +++++ .../iwlwififw/iwlwifi-gl-c0-fm-c0-pnvm/Makefile | 7 +++++++ 5 files changed, 15 insertions(+) diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode b/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode new file mode 100644 index 000000000000..a1444bab2622 Binary files /dev/null and b/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0-83.ucode differ diff --git a/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm b/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm new file mode 100644 index 000000000000..3cdb0b522b22 Binary files /dev/null and b/sys/contrib/dev/iwlwififw/iwlwifi-gl-c0-fm-c0.pnvm differ diff --git a/sys/modules/iwlwififw/Makefile b/sys/modules/iwlwififw/Makefile index aa3873880b19..756fb2f73af7 100644 --- a/sys/modules/iwlwififw/Makefile +++ b/sys/modules/iwlwififw/Makefile @@ -16,6 +16,8 @@ SUBDIR= \ iwlwifi-QuZ-a0-hr-b0-fw \ iwlwifi-QuZ-a0-jf-b0-fw \ iwlwifi-cc-a0-fw \ + iwlwifi-gl-c0-fm-c0-fw \ + iwlwifi-gl-c0-fm-c0-pnvm \ iwlwifi-so-a0-gf-a0-fw \ iwlwifi-so-a0-gf4-a0-fw \ iwlwifi-so-a0-hr-b0-fw \ @@ -25,4 +27,5 @@ SUBDIR= \ iwlwifi-so-a0-gf4-a0-pnvm \ iwlwifi-ty-a0-gf-a0-pnvm + .include diff --git a/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-fw/Makefile b/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-fw/Makefile new file mode 100644 index 000000000000..4a078a28c3b2 --- /dev/null +++ b/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-fw/Makefile @@ -0,0 +1,5 @@ + +FWVERSION= 83 +NAME= gl-c0-fm-c0 + +.include diff --git a/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-pnvm/Makefile b/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-pnvm/Makefile new file mode 100644 index 000000000000..8b1f4692271b --- /dev/null +++ b/sys/modules/iwlwififw/iwlwifi-gl-c0-fm-c0-pnvm/Makefile @@ -0,0 +1,7 @@ + +FWVERSION= 83 +NAME= gl-c0-fm-c0 +EXT= pnvm +_NAME= iwlwifi-${NAME}.${EXT} + +.include From nobody Mon Feb 19 16:10:16 2024 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 4TdnZ12SLmz5C58T; Mon, 19 Feb 2024 16:10: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 4TdnZ05wcMz4P0S; Mon, 19 Feb 2024 16:10:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yXBFS7IMy6mYXhC73a+KqLwUW271CbmwVP3SyY39ILE=; b=mCUv3OmW9/jh5l+6EloJ9LLDVucp0ZLG0HfisCfZsY5UwNDaqWRQx5ncBiMAVm0P3GlYOD xWQ6x+Tl03lLKwAEuRe3EssIn+K6FHUcQAbVsNf0qpWpv1T/ItKDoBgme5GxbA6vZxhzJK 6ZleeaifZcsiOoR0rR2yeKVXDkRlmR1pCxQhjEQ3Gl9ONXkNVr6596pEJk3qa89CAmoowS eEMWXRlxxGFSSppOpKyqUt4Au+ZRUQgy6WhQsZK9zqZdhNjY63r99ZTv6/e1o8sJC8Lkss gwSrlSHps7OTRe/51lUT2Hd2DIQL8jX/Xbea5+tSwId3gl5vIGREXqwMDySPZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yXBFS7IMy6mYXhC73a+KqLwUW271CbmwVP3SyY39ILE=; b=r3rLe4tx3HXqH77THkR01v5NaLav261Q+f/RzgArqhPFhaKSUEzQENHgBtZYT61wR677qg bd0FgXMPugHX0kw4YXGtnTZL4DdiZOlEP2pUTVDGir6yAi6Ww3hJz6Jrd37VDk54xS9Sba gscPV5GvvFl16WEeCW10zp7GiJp31orBcxqkloD9DjwrFnK3KW/PbMtIwixNJOSXnXC3j2 rOXq4QCPlV28cXueAhKqex4Zz0Jh6+lcC1yr+jbSJ7V1lLyBVY6CtWd8YTSLwCtRrDzMt4 wkdVBEJjJ3CT4kUD5g/HaQmki/uqBUcZZbPyTDgHJbm6UEbPQ+fZL+jLMN0sBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359016; a=rsa-sha256; cv=none; b=qaZVRp1cvl0+qHR/BsVxqT+rg7EGWAirUW2OaYKRQsr3oD1Wo+0qjZRANmHO3aeF7kne3O q6h7XotbBOirhjAF8d2529+a04fA7p/SHZMJjhyEQ6eISG2Axa51CM5IkUiSiJ3RBsJJWQ MmT6cTg/JIE17n/ysQ2VXQFaf28K0BqH8FgKexZvymNlhdf2YQLG4+72FrE+65Stxf5xe1 ro1ZofUGVInhQaljR3wxI9FWj6jE2ZWqG4mF8MsENwWbBU5wQ9Tx2FW/krqlR2Tpek3Hn3 klYR/0k7grglgr3vbRXDITnalCSdJis8EoUOQdy8s8jYqaqUxyFNN445CltZhg== 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 4TdnZ04zZVzhS0; Mon, 19 Feb 2024 16:10: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 41JGAGK5034901; Mon, 19 Feb 2024 16:10:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGAGhk034893; Mon, 19 Feb 2024 16:10:16 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:16 GMT Message-Id: <202402191610.41JGAGhk034893@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 4a646242c37f - releng/13.3 - wpa: ctrl_iface set sendbuf size 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 4a646242c37f59d18cadb0ef0bb92860846d2db8 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4a646242c37f59d18cadb0ef0bb92860846d2db8 commit 4a646242c37f59d18cadb0ef0bb92860846d2db8 Author: Bjoern A. Zeeb AuthorDate: 2023-11-12 20:33:41 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:06:34 +0000 wpa: ctrl_iface set sendbuf size In order to avoid running into the default net.local.dgram.maxdgram of 2K currently when calling sendto(2) try to set the sndbuf size to the maximum ctrl message size. While on 14 and 15 this does not actually raise the limit anymore (and be7c095ac99ad29fd72b780c7d58949a38656c66 raised it for syslogd and this), FreeBSD 13 still requires this change and it will work as expected there. In addition we always ensure a large enough send buffer this way independent of kernel defaults. The problem occured, e.g., when the scan_list result had enough BSSIDs so the text output would exceed 2048 bytes. Approved by: re (cperciva) Sponsored by: The FreeBSD Foundation PR: 274990 Reviewed by: cy, adrian (with previous comment) Differential Revision: https://reviews.freebsd.org/D42558 (cherry picked from commit 1edc20b76953d9ef571b0bcf89b206b98ed13d9b) (cherry picked from commit 97186b5cf5aa1d97f1a4e8e1b811315a39fb163d) --- contrib/wpa/wpa_supplicant/ctrl_iface_unix.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c b/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c index 639573dae75e..deeed2b11833 100644 --- a/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c +++ b/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c @@ -506,6 +506,10 @@ static int wpas_ctrl_iface_open_sock(struct wpa_supplicant *wpa_s, struct group *grp; char *endp; int flags; +#if defined(__FreeBSD__) + int optval, rc; + socklen_t optlen; +#endif buf = os_strdup(wpa_s->conf->ctrl_interface); if (buf == NULL) @@ -679,6 +683,22 @@ havesock: } } +#if defined(__FreeBSD__) + /* Ensure we can send a full length message atomically. */ + optval = 0; + optlen = sizeof(optval); + if (getsockopt(priv->sock, SOL_SOCKET, SO_SNDBUF, &optval, &optlen) == -1) { + wpa_printf(MSG_INFO, "failed to get sndbuf for sock=%d: %s", + priv->sock, strerror(errno)); + } else if (optval < CTRL_IFACE_MAX_LEN) { + optval = CTRL_IFACE_MAX_LEN; + if (setsockopt(priv->sock, SOL_SOCKET, SO_SNDBUF, &optval, + sizeof(optval)) == -1) + wpa_printf(MSG_ERROR, "failed to set sndbuf for " + "sock=%d: %s", priv->sock, strerror(errno)); + } +#endif + eloop_register_read_sock(priv->sock, wpa_supplicant_ctrl_iface_receive, wpa_s, priv); wpa_msg_register_cb(wpa_supplicant_ctrl_iface_msg_cb); From nobody Mon Feb 19 16:10:17 2024 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 4TdnZ21t4dz5C58V; Mon, 19 Feb 2024 16:10: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 4TdnZ16cjWz4Nrc; Mon, 19 Feb 2024 16:10:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cmqXDiBVWyrEFnJp4rQVxZ9FLyuspSk/tjPoiMYb1aw=; b=f3jR1IgI3hhX63MV4Jm82uDuUkqw2PGV/t1smM6r0H2G4BibmB2cyCgytamnzaC2Hf/Gz4 ToFLwgH0gqUI4FFiZBAE6V9F+ikR/PjT71/kirlLr5NBICpgtEVUp+S9gFUUFgCIu6q5vw Tos5KrysPMCf8/ZZuhtHTz9lv0NnDHl2DJcyzqi6RF18wMFEiiTinFT/sLB9IGKR1O+I2q 3oxFdpJ49cDmvoJYtk3T4lzSQKNzaH2FEjYTNkMYYj0EXddebfgZi1M2WPGU7yvbs8X04s bo4oAybaHYW0qssAns9FZp/X3dPcgRNjAJ3beLcbV0DJdvc/CE3oNBG72ASlUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cmqXDiBVWyrEFnJp4rQVxZ9FLyuspSk/tjPoiMYb1aw=; b=sj3ogJBGfINBPoBbt8G/P2Ck9QCpEx/L+Jg9EWuYRBMo/h1Ymm1/N1rtr+XGN5elDZBIq0 g+lvqqUPKIPo6bXjlB6t6x4q0FhEq9qF8OKXjs3Ia6a4jxRZDq1B2oHkIJOEG4dP6ojLiS u3QBMqTczlG9InQM+0SnDwpoKVqc6VCsgV/oCYCcTS4C6q9xUqLF+ZDdUYjHvfaq2nbRwj ExoKx0oz+yvXEF/SgrMywANwrov/aq9Sl5cJmRMUDRsUQSELKCbruYZ7H7RUKnFQ8WINIr m6H8Jdd64AVFFlqtc08qZz1KJm/sijmjd0xT4bfRPOhFYjKdZH4Xis+8GNLyjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359017; a=rsa-sha256; cv=none; b=wRJ30p0s0kCOD/cbTWRrjCgOY2kyhI8jdsyUo6Je6OrYypJAvc5u5g0c4DbSpOPtb/4yDG Gwy3n8YQJECrWxc75GgjVjijLWNlOfaCXGeT5qLxs5S4D2wmxk1VUaG4v92WQ+zm8NuLaX lfNzqEClyoYawNdZbimXdAkM8/bcOXnSo1sULcsaSBEmVyI2jFngMSm1zeCfnzI/YVx0Lb Yzq5vZ+viXAo8hr5YMfN8+xRN2WudniPdOCW27CtPjedHuCDBSsPt5QYuHZ71fj+Gfwb3g FL8tEfgfqdVoVt6fUUKQbPYjL9OINYmgfDUGQCdNbgkGzJ+mq2ePM7Y4NzXp8g== 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 4TdnZ15k2Rzgdy; Mon, 19 Feb 2024 16:10: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 41JGAHeM035524; Mon, 19 Feb 2024 16:10:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGAHc4035511; Mon, 19 Feb 2024 16:10:17 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:17 GMT Message-Id: <202402191610.41JGAHc4035511@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 804a4c1c7b8f - releng/13.3 - LinuxKPI: 802.11: more TXQ implementation and locking 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 804a4c1c7b8fe00a6924fa5e4ae27a487bdc2337 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=804a4c1c7b8fe00a6924fa5e4ae27a487bdc2337 commit 804a4c1c7b8fe00a6924fa5e4ae27a487bdc2337 Author: Bjoern A. Zeeb AuthorDate: 2023-12-12 01:59:17 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:06:43 +0000 LinuxKPI: 802.11: more TXQ implementation and locking Implement ieee80211_handle_wake_tx_queue() and ieee80211_tx_dequeue_ni() while looking at the code. They are needed by various wireless drivers. Introduce an ltxq lock and protect the skbq by that. This prevents panics due to a race between a driver upcall and the net80211 tx downcall. While the former should be rcu protected we cannot rely on that. It remains questionable if we need to protect further fields there (with a different lock?). Also introduce a txq_mtx on the lhw which needs to be further deployed but we need to come up with a good strategy to not end up with 7 different locks. Approved by: re (cperciva) Sponsored by: The FreeBSD Foundation PR: 274178, 275710 Tested by: cc (cherry picked from commit eac3646fcdd445297cade756630335e23e92ea13) (cherry picked from commit 3df959638baa60c1c88e9ac66289502f99ad8418) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 27 +++++---- sys/compat/linuxkpi/common/src/linux_80211.c | 67 +++++++++++++++++++++-- sys/compat/linuxkpi/common/src/linux_80211.h | 29 +++++++++- 3 files changed, 107 insertions(+), 16 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 7e6fb1bce16e..fee29d3b1a1d 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1114,6 +1114,8 @@ void linuxkpi_ieee80211_txq_schedule_start(struct ieee80211_hw *, uint8_t); struct ieee80211_txq *linuxkpi_ieee80211_next_txq(struct ieee80211_hw *, uint8_t); void linuxkpi_ieee80211_schedule_txq(struct ieee80211_hw *, struct ieee80211_txq *, bool); +void linuxkpi_ieee80211_handle_wake_tx_queue(struct ieee80211_hw *, + struct ieee80211_txq *); /* -------------------------------------------------------------------------- */ @@ -1678,7 +1680,7 @@ static inline void ieee80211_return_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq, bool withoutpkts) { - linuxkpi_ieee80211_schedule_txq(hw, txq, true); + linuxkpi_ieee80211_schedule_txq(hw, txq, withoutpkts); } static inline void @@ -1703,7 +1705,7 @@ static inline void ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { - TODO(); + linuxkpi_ieee80211_handle_wake_tx_queue(hw, txq); } /* -------------------------------------------------------------------------- */ @@ -2194,13 +2196,25 @@ ieee80211_tkip_add_iv(u8 *crypto_hdr, struct ieee80211_key_conf *keyconf, TODO(); } -static __inline struct sk_buff * +static inline struct sk_buff * ieee80211_tx_dequeue(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { return (linuxkpi_ieee80211_tx_dequeue(hw, txq)); } +static inline struct sk_buff * +ieee80211_tx_dequeue_ni(struct ieee80211_hw *hw, struct ieee80211_txq *txq) +{ + struct sk_buff *skb; + + local_bh_disable(); + skb = linuxkpi_ieee80211_tx_dequeue(hw, txq); + local_bh_enable(); + + return (skb); +} + static __inline void ieee80211_update_mu_groups(struct ieee80211_vif *vif, u_int _i, uint8_t *ms, uint8_t *up) @@ -2453,13 +2467,6 @@ ieee80211_stop_rx_ba_session_offl(struct ieee80211_vif *vif, uint8_t *addr, TODO(); } -static __inline struct sk_buff * -ieee80211_tx_dequeue_ni(struct ieee80211_hw *hw, struct ieee80211_txq *txq) -{ - TODO(); - return (NULL); -} - static __inline void ieee80211_tx_rate_update(struct ieee80211_hw *hw, struct ieee80211_sta *sta, struct ieee80211_tx_info *info) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 340503307c97..3988c5260f66 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -249,6 +249,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], ltxq->txq.sta = sta; TAILQ_ELEM_INIT(ltxq, txq_entry); skb_queue_head_init(<xq->skbq); + LKPI_80211_LTXQ_LOCK_INIT(ltxq); sta->txq[tid] = <xq->txq; } @@ -286,8 +287,13 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], return (lsta); cleanup: - for (; tid >= 0; tid--) + for (; tid >= 0; tid--) { + struct lkpi_txq *ltxq; + + ltxq = TXQ_TO_LTXQ(sta->txq[tid]); + LKPI_80211_LTXQ_LOCK_DESTROY(ltxq); free(sta->txq[tid], M_LKPI80211); + } free(lsta, M_LKPI80211); return (NULL); } @@ -881,6 +887,7 @@ lkpi_wake_tx_queues(struct ieee80211_hw *hw, struct ieee80211_sta *sta, { struct lkpi_txq *ltxq; int tid; + bool ltxq_empty; /* Wake up all queues to know they are allocated in the driver. */ for (tid = 0; tid < nitems(sta->txq); tid++) { @@ -899,7 +906,10 @@ lkpi_wake_tx_queues(struct ieee80211_hw *hw, struct ieee80211_sta *sta, if (dequeue_seen && !ltxq->seen_dequeue) continue; - if (no_emptyq && skb_queue_empty(<xq->skbq)) + LKPI_80211_LTXQ_LOCK(ltxq); + ltxq_empty = skb_queue_empty(<xq->skbq); + LKPI_80211_LTXQ_UNLOCK(ltxq); + if (no_emptyq && ltxq_empty) continue; lkpi_80211_mo_wake_tx_queue(hw, sta->txq[tid]); @@ -3395,6 +3405,7 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) KASSERT(ltxq != NULL, ("%s: lsta %p sta %p m %p skb %p " "ltxq %p != NULL\n", __func__, lsta, sta, m, skb, ltxq)); + LKPI_80211_LTXQ_LOCK(ltxq); skb_queue_tail(<xq->skbq, skb); #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_TX) @@ -3407,6 +3418,7 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) skb_queue_len(<xq->skbq), ltxq->txq.ac, ltxq->txq.tid, ac, skb->priority, skb->qmap); #endif + LKPI_80211_LTXQ_UNLOCK(ltxq); lkpi_80211_mo_wake_tx_queue(hw, <xq->txq); return; } @@ -3645,6 +3657,7 @@ linuxkpi_ieee80211_alloc_hw(size_t priv_len, const struct ieee80211_ops *ops) LKPI_80211_LHW_LOCK_INIT(lhw); LKPI_80211_LHW_SCAN_LOCK_INIT(lhw); + LKPI_80211_LHW_TXQ_LOCK_INIT(lhw); sx_init_flags(&lhw->lvif_sx, "lhw-lvif", SX_RECURSE | SX_DUPOK); TAILQ_INIT(&lhw->lvif_head); for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) { @@ -3683,9 +3696,10 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) lhw->ic = NULL; /* Cleanup more of lhw here or in wiphy_free()? */ - sx_destroy(&lhw->lvif_sx); - LKPI_80211_LHW_LOCK_DESTROY(lhw); + LKPI_80211_LHW_TXQ_LOCK_DESTROY(lhw); LKPI_80211_LHW_SCAN_LOCK_DESTROY(lhw); + LKPI_80211_LHW_LOCK_DESTROY(lhw); + sx_destroy(&lhw->lvif_sx); IMPROVE(); } @@ -4564,7 +4578,11 @@ linuxkpi_ieee80211_tx_dequeue(struct ieee80211_hw *hw, goto stopped; } + IMPROVE("hw(TX_FRAG_LIST)"); + + LKPI_80211_LTXQ_LOCK(ltxq); skb = skb_dequeue(<xq->skbq); + LKPI_80211_LTXQ_UNLOCK(ltxq); stopped: return (skb); @@ -4581,10 +4599,12 @@ linuxkpi_ieee80211_txq_get_depth(struct ieee80211_txq *txq, ltxq = TXQ_TO_LTXQ(txq); fc = bc = 0; + LKPI_80211_LTXQ_LOCK(ltxq); skb_queue_walk(<xq->skbq, skb) { fc++; bc += skb->len; } + LKPI_80211_LTXQ_UNLOCK(ltxq); if (frame_cnt) *frame_cnt = fc; if (byte_cnt) @@ -5137,13 +5157,17 @@ void linuxkpi_ieee80211_schedule_txq(struct ieee80211_hw *hw, { struct lkpi_hw *lhw; struct lkpi_txq *ltxq; + bool ltxq_empty; ltxq = TXQ_TO_LTXQ(txq); IMPROVE_TXQ("LOCKING"); /* Only schedule if work to do or asked to anyway. */ - if (!withoutpkts && skb_queue_empty(<xq->skbq)) + LKPI_80211_LTXQ_LOCK(ltxq); + ltxq_empty = skb_queue_empty(<xq->skbq); + LKPI_80211_LTXQ_UNLOCK(ltxq); + if (!withoutpkts && ltxq_empty) goto out; /* Make sure we do not double-schedule. */ @@ -5156,6 +5180,39 @@ out: return; } +void +linuxkpi_ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw, + struct ieee80211_txq *txq) +{ + struct lkpi_hw *lhw; + struct ieee80211_txq *ntxq; + struct ieee80211_tx_control control; + struct sk_buff *skb; + + lhw = HW_TO_LHW(hw); + + LKPI_80211_LHW_TXQ_LOCK(lhw); + ieee80211_txq_schedule_start(hw, txq->ac); + do { + ntxq = ieee80211_next_txq(hw, txq->ac); + if (ntxq == NULL) + break; + + memset(&control, 0, sizeof(control)); + control.sta = ntxq->sta; + do { + skb = linuxkpi_ieee80211_tx_dequeue(hw, ntxq); + if (skb == NULL) + break; + lkpi_80211_mo_tx(hw, &control, skb); + } while(1); + + ieee80211_return_txq(hw, ntxq, false); + } while (1); + ieee80211_txq_schedule_end(hw, txq->ac); + LKPI_80211_LHW_TXQ_UNLOCK(lhw); +} + /* -------------------------------------------------------------------------- */ struct lkpi_cfg80211_bss { diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index 74dc3c9f9dee..9100d1c2e73e 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -100,6 +100,7 @@ struct lkpi_radiotap_rx_hdr { struct lkpi_txq { TAILQ_ENTRY(lkpi_txq) txq_entry; + struct mtx ltxq_mtx; bool seen_dequeue; bool stopped; uint32_t txq_generation; @@ -175,6 +176,7 @@ struct lkpi_hw { /* name it mac80211_sc? */ struct sx sx; + struct mtx txq_mtx; uint32_t txq_generation[IEEE80211_NUM_ACS]; TAILQ_HEAD(, lkpi_txq) scheduled_txqs[IEEE80211_NUM_ACS]; @@ -247,13 +249,26 @@ struct lkpi_wiphy { mtx_destroy(&(_lhw)->scan_mtx); #define LKPI_80211_LHW_SCAN_LOCK(_lhw) \ mtx_lock(&(_lhw)->scan_mtx) -#define LKPI_80211_LHW_SCAN_UNLOCK(_lhw) \ +#define LKPI_80211_LHW_SCAN_UNLOCK(_lhw) \ mtx_unlock(&(_lhw)->scan_mtx) #define LKPI_80211_LHW_SCAN_LOCK_ASSERT(_lhw) \ mtx_assert(&(_lhw)->scan_mtx, MA_OWNED) #define LKPI_80211_LHW_SCAN_UNLOCK_ASSERT(_lhw) \ mtx_assert(&(_lhw)->scan_mtx, MA_NOTOWNED) +#define LKPI_80211_LHW_TXQ_LOCK_INIT(_lhw) \ + mtx_init(&(_lhw)->txq_mtx, "lhw-txq", NULL, MTX_DEF | MTX_RECURSE); +#define LKPI_80211_LHW_TXQ_LOCK_DESTROY(_lhw) \ + mtx_destroy(&(_lhw)->txq_mtx); +#define LKPI_80211_LHW_TXQ_LOCK(_lhw) \ + mtx_lock(&(_lhw)->txq_mtx) +#define LKPI_80211_LHW_TXQ_UNLOCK(_lhw) \ + mtx_unlock(&(_lhw)->txq_mtx) +#define LKPI_80211_LHW_TXQ_LOCK_ASSERT(_lhw) \ + mtx_assert(&(_lhw)->txq_mtx, MA_OWNED) +#define LKPI_80211_LHW_TXQ_UNLOCK_ASSERT(_lhw) \ + mtx_assert(&(_lhw)->txq_mtx, MA_NOTOWNED) + #define LKPI_80211_LHW_LVIF_LOCK(_lhw) sx_xlock(&(_lhw)->lvif_sx) #define LKPI_80211_LHW_LVIF_UNLOCK(_lhw) sx_xunlock(&(_lhw)->lvif_sx) @@ -263,6 +278,18 @@ struct lkpi_wiphy { #define LKPI_80211_LSTA_LOCK(_lsta) mtx_lock(&(_lsta)->txq_mtx) #define LKPI_80211_LSTA_UNLOCK(_lsta) mtx_unlock(&(_lsta)->txq_mtx) +#define LKPI_80211_LTXQ_LOCK_INIT(_ltxq) \ + mtx_init(&(_ltxq)->ltxq_mtx, "ltxq", NULL, MTX_DEF); +#define LKPI_80211_LTXQ_LOCK_DESTROY(_ltxq) \ + mtx_destroy(&(_ltxq)->ltxq_mtx); +#define LKPI_80211_LTXQ_LOCK(_ltxq) \ + mtx_lock(&(_ltxq)->ltxq_mtx) +#define LKPI_80211_LTXQ_UNLOCK(_ltxq) \ + mtx_unlock(&(_ltxq)->ltxq_mtx) +#define LKPI_80211_LTXQ_LOCK_ASSERT(_ltxq) \ + mtx_assert(&(_ltxq)->ltxq_mtx, MA_OWNED) +#define LKPI_80211_LTXQ_UNLOCK_ASSERT(_ltxq) \ + mtx_assert(&(_ltxq)->ltxq_mtx, MA_NOTOWNED) int lkpi_80211_mo_start(struct ieee80211_hw *); void lkpi_80211_mo_stop(struct ieee80211_hw *); From nobody Mon Feb 19 16:10:18 2024 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 4TdnZ323ZMz5C4q8; Mon, 19 Feb 2024 16:10: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 4TdnZ30GQ3z4Ntd; Mon, 19 Feb 2024 16:10:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vqQlyR6tekwdTgn1i65MWepJUt1+zT9EQVOm4BHf1Pc=; b=gfiq9KbjZv2acS2tVJQjerDbLXnJ6sBJ3n10qavZK1hXGDFegwxkRbBujSO2f8Yc27kRWf 5gUxNBubr1VsIOT0Hh1g9652PFeV7sdPLBI5PYI3pCL00ZafMPo0Cvt9uUzq9xjvHtweVd lEq5k4MKGF680KaZotfLQiUdLn14oZsIDUFSD/7ibuh24A8SprvTaAml22m4D1zGf3xEDH dZGc84enkJN01f9cuCLbmL22vkdNnXash9oCFnzgdJo3nvgyDcJi8qN1Mr86jC8CpECPkh dYcSPNnr7hSR3NtKyIfhBkDvy4u0CoHwRe+IV6PjpeiSS0nPc2hOJ9lpEtcL3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vqQlyR6tekwdTgn1i65MWepJUt1+zT9EQVOm4BHf1Pc=; b=w79yQb3Q2gqH3I7zhwllhHdedJNq4W6BzjSMHczNXZGC1i+in4lF7fhBgGTyTBeneiJ13E R4c08nKP/OAwKrI+6DMzbwxcLe+ixAMkqLMAKmNhIcKkCxK5RobS1mcOb6PuYQH24wRFW+ Hg/kUNBEHibuZK+/D1G33ITFtVoicyPSU7dgd2st9Luc34QxlRgBPa8/ZQ2bSEHb2Dh95l yT8O2Xj7Qeq07y3CwFPPGoW1jegg8tD10Oq3V4/nSY+uuWdKOx+b22qCk9wfFzKTyVFvG+ F7UFFHqJfqdqBIIQ71E4wh4ctNG+4j68beyYGTnaINRu47cWHKEZfO1Gd2kUfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359019; a=rsa-sha256; cv=none; b=hoM7PzeA7ePuoBvyPW668NyaP6eD3rr2Q6vDIiQPJXmoini6EQDOY5sladobmyBDhC3JEr 5HoUKrTjsM2grPs2VVxxePcv/aoC76SQZWnEa/7wG++H/q/N798pOWfZskQOptj3D/9tlH nOTxr2EbAZNR/CRcbj6mrWZuyr6YFwqnMqGTvwVM3ycX8/fbDzGpYfhL8XLCQePJ2hV4y+ 49smQMmmSeUjpI/ynBLntjU6Nod360IPVAn80BA8MW5jgWRxOQRkokGPN8SN+jUhCPRymM r+t+B79Z2a4nxHpfyIhHXnPxbf2qwo6nyDimrW5d2MjmO9pDsBmKcBsQkmynQQ== 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 4TdnZ26TzSzhPf; Mon, 19 Feb 2024 16:10: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 41JGAIoJ035737; Mon, 19 Feb 2024 16:10:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGAIOA035734; Mon, 19 Feb 2024 16:10:18 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:18 GMT Message-Id: <202402191610.41JGAIOA035734@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: f93d06ac87f4 - releng/13.3 - net80211: improve logging about state transitions lost 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: f93d06ac87f4d5f496fe5669dc56b912e11c136e Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f93d06ac87f4d5f496fe5669dc56b912e11c136e commit f93d06ac87f4d5f496fe5669dc56b912e11c136e Author: Bjoern A. Zeeb AuthorDate: 2023-11-12 23:51:14 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:06:51 +0000 net80211: improve logging about state transitions lost It is possible that we call ieee80211_new_state_locked() again before a previous task finished to completion (not run yet or unlocked in between) since 5efea30f039c4 (and follow-up). In either case we would overwrite the new state and argument in the vap. While most drivers somehow deal with that (or not), LinuxKPI 802.11 compat code has KASSERTs to keep net80211, LinuxKPI and driver/firmware state in sync and they may trigger due to a missing transition or more likely a changed ni/lsta. Enhance the wlandebug +state logging for these cases so they are easier to debug. While here remove the unconditional logging to the message buffer; it has been here for a good decade but not helped to actually identify and sort the problem. Approved by: re (cperciva) Sponsored by: The FreeBSD Foundation Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D42560 (cherry picked from commit 72bb33a36b62fa30f69f01d3f6ae372be2c95b59) (cherry picked from commit a2764047702db519aca9e1b3cf6b475e5a723c65) --- sys/net80211/ieee80211_proto.c | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index f6d144169c48..cf467c08462c 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -2510,6 +2510,13 @@ ieee80211_newstate_cb(void *xvap, int npending) nstate = vap->iv_nstate; arg = vap->iv_nstate_arg; + IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, + "%s:%d: running state update %s -> %s (%d)\n", + __func__, __LINE__, + ieee80211_state_name[vap->iv_state], + ieee80211_state_name[vap->iv_nstate], + npending); + if (vap->iv_flags_ext & IEEE80211_FEXT_REINIT) { /* * We have been requested to drop back to the INIT before @@ -2677,29 +2684,30 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, * until this is completed. */ IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, - "%s: %s -> %s (%s) transition discarded\n", - __func__, + "%s:%d: %s -> %s (%s) transition discarded\n", + __func__, __LINE__, ieee80211_state_name[vap->iv_state], ieee80211_state_name[nstate], ieee80211_state_name[vap->iv_nstate]); return -1; } else if (vap->iv_state != vap->iv_nstate) { -#if 0 /* Warn if the previous state hasn't completed. */ IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, - "%s: pending %s -> %s transition lost\n", __func__, + "%s:%d: pending %s -> %s (now to %s) transition lost\n", + __func__, __LINE__, ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate]); -#else - /* XXX temporarily enable to identify issues */ - if_printf(vap->iv_ifp, - "%s: pending %s -> %s transition lost\n", - __func__, ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate]); -#endif + ieee80211_state_name[vap->iv_nstate], + ieee80211_state_name[nstate]); } } + IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, + "%s:%d: starting state update %s -> %s (%s)\n", + __func__, __LINE__, + ieee80211_state_name[vap->iv_state], + ieee80211_state_name[vap->iv_nstate], + ieee80211_state_name[nstate]); + nrunning = nscanning = 0; /* XXX can track this state instead of calculating */ TAILQ_FOREACH(vp, &ic->ic_vaps, iv_next) { From nobody Mon Feb 19 16:10:19 2024 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 4TdnZ44WWDz5C5Dm; Mon, 19 Feb 2024 16:10: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 4TdnZ40td1z4Nx5; Mon, 19 Feb 2024 16:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OJWSwadkv3/Uxv5cquSWrNOcxU/e6lAnmtlUh/MrDY0=; b=BnSaitBIkcchsAq2WkRUyOQ59blBAUl8L8JS7NSB+WVXvQdea9TJfer8ab7IKoKbucp4d2 d9VCBV/w7oQ6iGASopSJ7zqncujQznXyzoiy+TaYONtY5CVUqDMpOiIOwgY24sAr+Ltzlt PvMVX7trKRg2zkppGZ7TkGa23Tf0sffG8MifQU9ctJuZwxNUb4P3RhxTGU3A4A2CeD8cQY zo1YLBRijn3cK0QXDAN+S0mSp0FDA3OhbLvNW6XEvSCCNeyiVS9EpZNvqYo2olg4Z+YktH i94S+y11qiBV/d3642dksfGHvMYRz9SVEiSoI5Nh8TJVIFxwc8NwXkRh0USFIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OJWSwadkv3/Uxv5cquSWrNOcxU/e6lAnmtlUh/MrDY0=; b=Dd9bfKxxj8VBv5RV7CyOUC5jZxu1ETq2ofzNUY4Pga6gLZOsy3I0xVBtvp1b0muvU6eklw /E2nUeHzERN6Zy4oAvHzHpJL3R29PhHFOAG4HU45Rsn6bq8h7twbDcbnGyEVUEZy3nZ8ef 598TEXh/TSLk2BFBg3JI/KYiTVtlYz+k4AeZHbNGg1N5Altr1mnPurTXeaC98Bqiw0+7ve J5S03W8u7fCSHxQz/JAQcmHtyXXP7B111WP2Pe4qMFMI5SRIefpl60IX/0l9bkXMOuxkyo G9t0EWyRLhhzVOSU2cs3Wsp5nFKE5OzOpPF5ss3t5sXw+182TxYkHxTzKfbKpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359020; a=rsa-sha256; cv=none; b=MqEKBSdBQYxdBTXAxOtjsk6f0XjCpzdIy7eUiTAEk74gXspcj6eQZS4za+SKZW8TgWX8To JlUR8jnSVk9vD13funGwKlhlpkt4FwmZfVylAG5foZouNkz89bSj5PvUt2mn7BO/YzlAlK wq8pp4XZvGoY+XHTiV4rR7uEBy9k+hEQCgKLwGysI+1UK10sw0hYoD1AOxxpFUUzFp+JEG 757SrboVC5mGpF8Jz5Q7HDWSyvEmqMr1buDIHnoR6uw2f+lefJfIw5q5GSlPBp2R6G8K05 QbTybrdrtiiJTtwqs1qyxMKhx2onknNwtneZE1JBkTqcKEiQoBVceTdCWvfBlQ== 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 4TdnZ4008czh9v; Mon, 19 Feb 2024 16:10: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 41JGAJxI035791; Mon, 19 Feb 2024 16:10:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGAJjN035788; Mon, 19 Feb 2024 16:10:19 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:19 GMT Message-Id: <202402191610.41JGAJjN035788@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 5463d4cd99f3 - releng/13.3 - LinuxKPI: 802.11: fix field order in ieee80211_key_conf 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 5463d4cd99f339f7ed40a70679f48eb31f2b819e Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5463d4cd99f339f7ed40a70679f48eb31f2b819e commit 5463d4cd99f339f7ed40a70679f48eb31f2b819e Author: Bjoern A. Zeeb AuthorDate: 2024-01-28 00:51:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:06:59 +0000 LinuxKPI: 802.11: fix field order in ieee80211_key_conf When adding the new field link_id to struct ieee80211_key_conf, it was erroneously placed at the end of the struct; the zero-length (variable sized) array for the key always needs to stay last. Resort fields and add hopefully helpful comment to avoid the problem in the future. Approved by: re (cperciva) Fixes: adff403fe7a87 Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43635 (cherry picked from commit 828ce22f079df77b3bf52c4cf296959ea66bdc11) (cherry picked from commit 1cf1f094680fe3bfd9836800f83ed0b79e180340) --- sys/compat/linuxkpi/common/include/net/mac80211.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index fee29d3b1a1d..f6d807263cef 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -507,9 +507,9 @@ struct ieee80211_key_conf { uint8_t hw_key_idx; /* Set by drv. */ uint8_t keyidx; uint16_t flags; - uint8_t keylen; - uint8_t key[0]; int8_t link_id; /* signed! */ + uint8_t keylen; + uint8_t key[0]; /* Must stay last! */ }; struct ieee80211_key_seq { From nobody Mon Feb 19 16:10:21 2024 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 4TdnZ53f21z5C54f; Mon, 19 Feb 2024 16:10: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 4TdnZ5298Pz4NpR; Mon, 19 Feb 2024 16:10:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gKLLpeD8uX6vgMbgSDNbxHLIDAEOifP18X6tKZIPvvM=; b=I9+uT37kxulQ28fuEI/11iNjc15WTbtBVLk+6qqS7neGNeFZGFgsC6SITOMryf2xXUbWuo zMj4ivwl6DOh7rCz/QDH0fodP6+nPSdu/PJ3rur2GhnvI2dPoxh5N3UG+LPhiB1XTp17h5 CQV+z7as2ROi9IwGeEZ+sgY+V/7xWC7aQqPa3gVK4HA5d2h9AaAnZkM0cuDvz4JRCq7ydQ 4WESKgf5aGBm3Y7Nxbc+Q/4FQr+GWtiqXoFQnUwTssOH8O4PnWXlZANeU9nFqeUJwEx/4c wn/f9b1efqO6G7YcDBHCjSGhzwmNNn6cgUPC2qcgDXG85HRUjak0SAp5g7tC7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gKLLpeD8uX6vgMbgSDNbxHLIDAEOifP18X6tKZIPvvM=; b=sg4kwVRVk2tZ1rAP4633K7DwAE+naO95cxHDvpinfPqH2asIvr3DHcv8A6gYXkDPt4519E Qi2sVY5iFNILvE75bJ+NnXrcH2AvMHVdKBlTQzag4lcMCHwRwmfeQNyUCRsqwagK5ODag2 HaYASqj0rKDUsSvNpFvjf5nnFfL0Hodmc6sWG8ItB9fmjPllVJFZyS48cLis0MPB3SlUEw lGDOlqgdt+LgaMVk0FETHWJyJ0qW/APcuY2Kmf1pBU2xBvnYVatLD6Za1wi5INLjKtSTYX WxkIg0ZLthOld1RyefdjIwuy3xqdrEraByTBvHGy3g6U4/W58N+m0PfuV2AyLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359021; a=rsa-sha256; cv=none; b=uVACcnltDOTO6uLdkYo2GBYuSGDGLMtjQXkJWp4f3l8a80SHG6LNGa47JPW+CWQUtWsXZa +Qurbn5p3Oq1chORJbiKWWu/tT2yZk/bKqb+WaUTSwwd1NNO2yH7yjcmlV7Oj7wgMrxVOs Y4kQ7guTspw3eay0jL66Ouc8ErfmhstP2GB7Gw0NlVYAVJNico2ixXL7ucaFMqm+c3TcFu 41EnizYYTgtG6dJRquGuTniI3yU0Tpw+hjZhjWRO3dijMpGwEyIvnkSX32ONma6Ed4a0jv gdO2xntUX7ODrTnt7oMq0AYaGWfNZndBXHENefKZ3ikBnjU2dRvUZj3dc6vMYA== 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 4TdnZ51GPNzh9w; Mon, 19 Feb 2024 16:10: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 41JGALxk035842; Mon, 19 Feb 2024 16:10:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGALVN035839; Mon, 19 Feb 2024 16:10:21 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:21 GMT Message-Id: <202402191610.41JGALVN035839@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: f7c8d5448446 - releng/13.3 - net80211: fix a NULL deref in ieee80211_sta_join1() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: f7c8d5448446a470baaca560f91c884e5ceeecc7 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f7c8d5448446a470baaca560f91c884e5ceeecc7 commit f7c8d5448446a470baaca560f91c884e5ceeecc7 Author: Bjoern A. Zeeb AuthorDate: 2024-01-16 18:53:06 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:07:06 +0000 net80211: fix a NULL deref in ieee80211_sta_join1() When ieee80211_sta_join1() gets an obss without ni_nt trying to lock that will cause a NULL pointer deref. Check for the table to be valid and deal with the obss node accordingly. This can happen if sta_newstate() calls ieee80211_reset_bss() for nstate == INIT and ostate != INIT. ieee80211_reset_bss() itself calls ieee80211_node_table_reset() which calls node_reclaim() which ends up in ieee80211_del_node_nt() which does remove the node from the table and sets ni_table to NULL. That node (former iv_bss) can then be returned as obss in the (*iv_update_bss)() call in join1(). Approved by: re (cperciva) Reviewed by: adrian, cc Differential Revision: https://reviews.freebsd.org/D43469 (cherry picked from commit 8a5a3e3d0436a2de9dc5c2c10bd9a471b6338233) (cherry picked from commit 755a04671dd47390f6d49695a6ac9c2d31c9935c) --- sys/net80211/ieee80211_node.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index a70edfa3acc4..0f0ecf37fe94 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -867,11 +867,14 @@ ieee80211_sta_join1(struct ieee80211_node *selbs) struct ieee80211_node_table *nt = obss->ni_table; copy_bss(selbs, obss); - ieee80211_node_decref(obss); /* iv_bss reference */ - - IEEE80211_NODE_LOCK(nt); - node_reclaim(nt, obss); /* station table reference */ - IEEE80211_NODE_UNLOCK(nt); + if (nt != NULL) { + ieee80211_node_decref(obss); /* iv_bss reference */ + IEEE80211_NODE_LOCK(nt); + node_reclaim(nt, obss); /* station table reference */ + IEEE80211_NODE_UNLOCK(nt); + } else { + ieee80211_free_node(obss); /* iv_bss reference */ + } obss = NULL; /* NB: guard against later use */ } From nobody Mon Feb 19 16:10:22 2024 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 4TdnZ64Ts9z5C4qF; Mon, 19 Feb 2024 16:10: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 4TdnZ62jkGz4Nv6; Mon, 19 Feb 2024 16:10:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CahYoabJMu+le2e5tw5Dqia2eU0sgt1YFTDrNam61bE=; b=lU3AmAdzpwM8/q0Q0wkZRKyxkz7fpVXKVbD7cCwlLPJzfMvtmyJEKfs7mMtlydfp2x9HWN VX2czwImSD9MtHiKOHg2X8Nkc3jGNXODiYBfZ1lRX6WnBS5GaigGVIrMlaejgmi6e63oxr FIcK/5eqna0aW4v8xpNdYsJP2yDoOe9FJyB4Zq2JUNKnsOvS9pgdlEjtCSZetRtnkMXulR VjBsPRPl8pkWJrZ2ONCON/go28oQkjBE0Nhpu6aQ9bzk1pjS1J+2r7Q17FXJvJuwN7Mhcv h1YzxmC7mj7HGtag/nh/KXIlLuXjMObJoNzWtjAwhXrq1/ObGtzJ0xSdczf74w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CahYoabJMu+le2e5tw5Dqia2eU0sgt1YFTDrNam61bE=; b=kX/7cE7Zf5bdW7x2+IDrXjEH07Qb+y39bXu/sAB2cDWpmtOWO5Nt9rveFhZqdBcyz2wjyE 7CbV2XYPFM1ur9B04U6eetZt/aopfThMBPQesmxfVZeqQj23IMp3IP8l0K9A3O/1dthT7J Xs2l0X40ccLdsYlhl26M+SxAbJDy41KoigU5L5NCnqQTU/z2/QcfC+5OXK7JBktgDwTyOo 1D0CzvvF71H5Z/I9LSf3kc4fCtnrFOoHlAQ7E/LSIrL7CL/9JT9SCYv0cHVqKEw2I66hKb t635nHQZHohNgU+NKptmYWOk8sXd/Ulyo8fGucfdVuNpnbfYYj8UXg7qLlpI4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359022; a=rsa-sha256; cv=none; b=mcurYT+CAJUmH31YEf43dXkkxryaHtRo81emAp+DA7nB+05lJ8xWdX2SaySUfz8LwgTwnd TTZGeICH12NhNLUN2owAElSnu1t48WW5G+vHigylrK29Zi0nHDbfdhuvcGHobyQLCdS1Ii kO7FExmIqONj0ivVEt3tMXgEBcHJB92c2g1bJvtM8y3aj8Stt+gZmNikj9rZ2kHu7qjEyp D7ffQfIMhuUvMXcRf858tlCTk8RDDUSKzOFElwJAffDE066qRoPtr3JwKJsI8K7rayne/k qmM/oJlA7OW/MnUKJHTES/ZQbP5adAKeXsp7Mhkiq62b/jXmjnwXrkJDyM1YYg== 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 4TdnZ61p38zh9x; Mon, 19 Feb 2024 16:10: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 41JGAMA1035900; Mon, 19 Feb 2024 16:10:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGAMvw035897; Mon, 19 Feb 2024 16:10:22 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:22 GMT Message-Id: <202402191610.41JGAMvw035897@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: eecf453c0e56 - releng/13.3 - net80211: make sure calls to (*iv_update_bss)() are locked 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: eecf453c0e56c179539756212977456c9561c71c Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=eecf453c0e56c179539756212977456c9561c71c commit eecf453c0e56c179539756212977456c9561c71c Author: Bjoern A. Zeeb AuthorDate: 2024-01-19 14:52:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:07:13 +0000 net80211: make sure calls to (*iv_update_bss)() are locked It turned out thare various calls into (*iv_update_bss)(), that is direct changes to vap->iv_bss in the old days, happened without synchronisation. Use locking assertions to document the requirement or status quo at some callers given ic locking will eventually have to be dealt with. Approved by: re (cperciva) Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43512 (cherry picked from commit 49619f73151aeaca4cef5adf631253da04a46e19) (cherry picked from commit f8ec0379435745d800ec149f9289401c792e61bb) --- sys/net80211/ieee80211_node.c | 15 +++++++++++++++ sys/net80211/ieee80211_proto.c | 2 ++ 2 files changed, 17 insertions(+) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 0f0ecf37fe94..c851d83d8d47 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -171,6 +171,10 @@ ieee80211_node_vattach(struct ieee80211vap *vap) void ieee80211_node_latevattach(struct ieee80211vap *vap) { + + /* XXX should ieee80211_vap_attach(), our only caller hold the lock? */ + IEEE80211_UNLOCK_ASSERT(vap->iv_ic); + if (vap->iv_opmode == IEEE80211_M_HOSTAP) { /* XXX should we allow max aid to be zero? */ if (vap->iv_max_aid < IEEE80211_AID_MIN) { @@ -191,7 +195,9 @@ ieee80211_node_latevattach(struct ieee80211vap *vap) } } + IEEE80211_LOCK(vap->iv_ic); ieee80211_reset_bss(vap); + IEEE80211_UNLOCK(vap->iv_ic); vap->iv_auth = ieee80211_authenticator_get(vap->iv_bss->ni_authmode); } @@ -201,11 +207,16 @@ ieee80211_node_vdetach(struct ieee80211vap *vap) { struct ieee80211com *ic = vap->iv_ic; + /* XXX should ieee80211_vap_detach(), our only caller hold the lock? */ + IEEE80211_UNLOCK_ASSERT(vap->iv_ic); + ieee80211_node_table_reset(&ic->ic_sta, vap); + IEEE80211_LOCK(ic); if (vap->iv_bss != NULL) { ieee80211_free_node(vap->iv_bss); vap->iv_update_bss(vap, NULL); } + IEEE80211_UNLOCK(ic); if (vap->iv_aid_bitmap != NULL) { IEEE80211_FREE(vap->iv_aid_bitmap, M_80211_NODE); vap->iv_aid_bitmap = NULL; @@ -455,6 +466,8 @@ ieee80211_reset_bss(struct ieee80211vap *vap) struct ieee80211com *ic = vap->iv_ic; struct ieee80211_node *ni, *obss; + IEEE80211_LOCK_ASSERT(ic); + ieee80211_node_table_reset(&ic->ic_sta, vap); /* XXX multi-bss: wrong */ ieee80211_vap_reset_erp(vap); @@ -854,7 +867,9 @@ ieee80211_sta_join1(struct ieee80211_node *selbs) /* * Committed to selbs, setup state. */ + IEEE80211_LOCK(ic); /* XXX may recurse here, check callers. */ obss = vap->iv_update_bss(vap, selbs); /* NB: caller assumed to bump refcnt */ + IEEE80211_UNLOCK(ic); /* * Check if old+new node have the same address in which * case we can reassociate when operating in sta mode. diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index cf467c08462c..5ed9f2e3f50e 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -830,6 +830,8 @@ vap_update_bss(struct ieee80211vap *vap, struct ieee80211_node *ni) { struct ieee80211_node *obss; + IEEE80211_LOCK_ASSERT(vap->iv_ic); + obss = vap->iv_bss; vap->iv_bss = ni; From nobody Mon Feb 19 16:10:23 2024 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 4TdnZ76LNXz5C5Kg; Mon, 19 Feb 2024 16:10: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 4TdnZ73P6Cz4Nxj; Mon, 19 Feb 2024 16:10:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iRGR0G+2xkTDARMnuW1w+A9sx7dv7dwlAK2oLoGCF7g=; b=JI4Bb5pCBByE2sxa/YWs3FR2m69jl9Z9fyeWVKytJXu3JNQDBbXN1tg5LcybwGfY52ukaP 5MADV1tWcjTyUlTmA4mX3JSt8PEVVpI/lqLHsi33gTy4NUYEDTWzZdEfDavKe7Wn+O8bLp WXPSfkDnxhBlW3baqRljF42hGQNQ/pXUZKLrZlvvcf17beDED/slSIsrK8bimmbE0O4X9q AEBqu4r3wqJtWUa1ynN6jY9uHe6GyXPQQA6xVifNyxD2hYZPYRH2pXLT0UgSgxkZ3PBP9C qJPd06iaeQCgnZnacDnPAlvfUi2w9iFhAhGg1JuudVrbi4AW9s+buPrvkDcuRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359023; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iRGR0G+2xkTDARMnuW1w+A9sx7dv7dwlAK2oLoGCF7g=; b=o2NCYpotF3yPtsp5B2Fd3DCfJ4wwVy6kdttQmqK47Z2xPt1oeWmBz0w+l0HPitLduYc9rf 1FakwYUZE6MQtBzxvvXqisXmzdBCZFilhfSsPSlIYff5GhOh4WO6zLfdAf/lqIPlyHpDut W6+gKV6cdFEJNU9tozWF+YbSEeyyOtsCE/kY8jP0SDPKZTn1/WlV80UQmeX1vuml5KtzQy uauUPq+xWWDVJct8o0dRVZaqaYfqnGiaRyzc6n61cI7QRVY3oPh1WHILu9eBPu8HPA0d+z 9cBaoC5Fq4sy0qXkfYxHQu/2prAH7xDvY7i1qtqtNDXgN2en39CJn61N5TmNNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359023; a=rsa-sha256; cv=none; b=rd4L+o/PUKciuD0VWvV3Mfwf1mbUn5plK7P1Li0chxnm7MIWPTj4Qy1NbgMxvqiCN18Wxg TXIAocIxy2cbKcs1b2hM7OCXeY6tghVq4F54Pg3Xv7n3PoIjGRV+XcEvkMSGb3CHyXsbMC TJAqlZS8Nyql3OR40QFaBqK9SDAGuyGNszZ45umhygjrvDUqxpxbONLu5lDj8apTWRPmQB hvd8tnuGagw7vDgCLz0jcOCMLou7OCDnKrBihdewB7bPvrs46nu5bgS5cUBcn/bNbOzfNI 62Jnn2BGNDISsZrMdtcAyn4C8A9eEDZGtHHHHpxz8guPDL3j7g8pcWh6KA1YuQ== 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 4TdnZ72SFyzh9y; Mon, 19 Feb 2024 16:10: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 41JGANMF035950; Mon, 19 Feb 2024 16:10:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGANWl035946; Mon, 19 Feb 2024 16:10:23 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:23 GMT Message-Id: <202402191610.41JGANWl035946@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 9b998db87c28 - releng/13.3 - net80211: deal with lost state transitions 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 9b998db87c28356fce21784c4f8bfb8737615e1f Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9b998db87c28356fce21784c4f8bfb8737615e1f commit 9b998db87c28356fce21784c4f8bfb8737615e1f Author: Bjoern A. Zeeb AuthorDate: 2024-01-10 10:14:16 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:07:20 +0000 net80211: deal with lost state transitions Since 5efea30f039c4 we can possibly lose a state transition which can cause trouble further down the road. The reproducer from 643d6dce6c1e can trigger these for example. Drivers for firmware based wireless cards have worked around some of this (and other) problems in the past. Add an array of tasks rather than a single one as we would simply get npending > 1 and lose order with other tasks. Try to keep state changes updated as queued in case we end up with more than one at a time. While this is not ideal either (call it a hack) it will sort the problem for now. We will queue in ieee80211_new_state_locked() and do checks there and dequeue in ieee80211_newstate_cb(). If we still overrun the (currently) 8 slots we will drop the state change rather than overwrite the last one. When dequeing we will update iv_nstate and keep it around for historic reasons for the moment. The longer term we should make the callers of ieee80211_new_state[_locked]() actually use the returned errors and act appropriately but that will touch a lot more places and drivers (possibly incl. changed behaviour for ioctls). rtwn(4) and rum(4) should probably be revisted and net80211 internals removed (for rum(4) at least the current logic still seems prone to races). PR: 271979, 271988, 275255, 263613, 274003 Sponsored by: The FreeBSD Foundation (in 2023) Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43389 (cherry picked from commit 713db49d06deee90dd358b2e4b9ca05368a5eaf6) Given this changes the internal structure of 'struct ieee80211vap', which gets allocated by the drivers, and we do not have enough spares, all wireless drivers need to be recompiled. Given we are forced to do the update, we leave fields in the middle of the struct and add more spares at the same time. __FreeBSD_version will get updated to 1303001 to be able to detect this change. Approved by: re (cperciva) (cherry picked from commit a890a3a5ddf33acb0a4000885945b89156799b07) (cherry picked from commit a7e1fc7f620d3341549c1380f550aaafbdb45622) --- sys/dev/rtwn/if_rtwn.c | 4 +- sys/dev/usb/wlan/if_rum.c | 4 +- sys/net80211/ieee80211.c | 4 +- sys/net80211/ieee80211_ddb.c | 15 ++++- sys/net80211/ieee80211_proto.c | 124 ++++++++++++++++++++++++++++++++++------- sys/net80211/ieee80211_var.h | 18 +++--- 6 files changed, 136 insertions(+), 33 deletions(-) diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c index baf427b4aafc..4334d5700e51 100644 --- a/sys/dev/rtwn/if_rtwn.c +++ b/sys/dev/rtwn/if_rtwn.c @@ -614,10 +614,12 @@ rtwn_vap_delete(struct ieee80211vap *vap) struct ieee80211com *ic = vap->iv_ic; struct rtwn_softc *sc = ic->ic_softc; struct rtwn_vap *uvp = RTWN_VAP(vap); + int i; /* Put vap into INIT state + stop device if needed. */ ieee80211_stop(vap); - ieee80211_draintask(ic, &vap->iv_nstate_task); + for (i = 0; i < NET80211_IV_NSTATE_NUM; i++) + ieee80211_draintask(ic, &vap->iv_nstate_task[i]); ieee80211_draintask(ic, &ic->ic_parent_task); RTWN_LOCK(sc); diff --git a/sys/dev/usb/wlan/if_rum.c b/sys/dev/usb/wlan/if_rum.c index d4efc37a783f..364f02393d8d 100644 --- a/sys/dev/usb/wlan/if_rum.c +++ b/sys/dev/usb/wlan/if_rum.c @@ -719,10 +719,12 @@ rum_vap_delete(struct ieee80211vap *vap) struct rum_vap *rvp = RUM_VAP(vap); struct ieee80211com *ic = vap->iv_ic; struct rum_softc *sc = ic->ic_softc; + int i; /* Put vap into INIT state. */ ieee80211_new_state(vap, IEEE80211_S_INIT, -1); - ieee80211_draintask(ic, &vap->iv_nstate_task); + for (i = 0; i < NET80211_IV_NSTATE_NUM; i++) + ieee80211_draintask(ic, &vap->iv_nstate_task[i]); RUM_LOCK(sc); /* Cancel any unfinished Tx. */ diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c index 2bc85b7ac04a..a3de9fd91797 100644 --- a/sys/net80211/ieee80211.c +++ b/sys/net80211/ieee80211.c @@ -729,6 +729,7 @@ ieee80211_vap_detach(struct ieee80211vap *vap) { struct ieee80211com *ic = vap->iv_ic; struct ifnet *ifp = vap->iv_ifp; + int i; CURVNET_SET(ifp->if_vnet); @@ -743,7 +744,8 @@ ieee80211_vap_detach(struct ieee80211vap *vap) /* * Flush any deferred vap tasks. */ - ieee80211_draintask(ic, &vap->iv_nstate_task); + for (i = 0; i < NET80211_IV_NSTATE_NUM; i++) + ieee80211_draintask(ic, &vap->iv_nstate_task[i]); ieee80211_draintask(ic, &vap->iv_swbmiss_task); ieee80211_draintask(ic, &vap->iv_wme_task); ieee80211_draintask(ic, &ic->ic_parent_task); diff --git a/sys/net80211/ieee80211_ddb.c b/sys/net80211/ieee80211_ddb.c index 29de6d10fcc3..f028c4273ee3 100644 --- a/sys/net80211/ieee80211_ddb.c +++ b/sys/net80211/ieee80211_ddb.c @@ -470,8 +470,9 @@ _db_show_vap(const struct ieee80211vap *vap, int showmesh, int showprocs) if (vap->iv_opmode == IEEE80211_M_MBSS) db_printf("(%p)", vap->iv_mesh); #endif - db_printf(" state %s", ieee80211_state_name[vap->iv_state]); - db_printf(" ifp %p(%s)", vap->iv_ifp, vap->iv_ifp->if_xname); + db_printf(" state %#x %s", vap->iv_state, + ieee80211_state_name[vap->iv_state]); + db_printf(" ifp %p(%s)", vap->iv_ifp, if_name(vap->iv_ifp)); db_printf("\n"); db_printf("\tic %p", vap->iv_ic); @@ -482,6 +483,16 @@ _db_show_vap(const struct ieee80211vap *vap, int showmesh, int showprocs) struct sysctllog *iv_sysctl; /* dynamic sysctl context */ #endif db_printf("\n"); + + db_printf("\tiv_nstate %#x %s iv_nstate_b %d iv_nstate_n %d\n", + vap->iv_nstate, ieee80211_state_name[vap->iv_nstate], /* historic */ + vap->iv_nstate_b, vap->iv_nstate_n); + for (i = 0; i < NET80211_IV_NSTATE_NUM; i++) { + db_printf("\t [%d] iv_nstates %#x %s _task %p _args %d\n", i, + vap->iv_nstates[i], ieee80211_state_name[vap->iv_nstates[i]], + &vap->iv_nstate_task[i], vap->iv_nstate_args[i]); + } + db_printf("\tdebug=%b\n", vap->iv_debug, IEEE80211_MSG_BITS); db_printf("\tflags=%b\n", vap->iv_flags, IEEE80211_F_BITS); diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index 5ed9f2e3f50e..bc097888a1d6 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -340,7 +340,8 @@ ieee80211_proto_vattach(struct ieee80211vap *vap) vap->iv_bmiss_max = IEEE80211_BMISS_MAX; callout_init_mtx(&vap->iv_swbmiss, IEEE80211_LOCK_OBJ(ic), 0); callout_init(&vap->iv_mgtsend, 1); - TASK_INIT(&vap->iv_nstate_task, 0, ieee80211_newstate_cb, vap); + for (i = 0; i < NET80211_IV_NSTATE_NUM; i++) + TASK_INIT(&vap->iv_nstate_task[i], 0, ieee80211_newstate_cb, vap); TASK_INIT(&vap->iv_swbmiss_task, 0, beacon_swmiss, vap); TASK_INIT(&vap->iv_wme_task, 0, vap_update_wme, vap); TASK_INIT(&vap->iv_slot_task, 0, vap_update_slot, vap); @@ -2497,6 +2498,51 @@ wakeupwaiting(struct ieee80211vap *vap0) } } +static int +_ieee80211_newstate_get_next_empty_slot(struct ieee80211vap *vap) +{ + int nstate_num; + + IEEE80211_LOCK_ASSERT(vap->iv_ic); + + if (vap->iv_nstate_n >= NET80211_IV_NSTATE_NUM) + return (-1); + + nstate_num = vap->iv_nstate_b + vap->iv_nstate_n; + nstate_num %= NET80211_IV_NSTATE_NUM; + vap->iv_nstate_n++; + + return (nstate_num); +} + +static int +_ieee80211_newstate_get_next_pending_slot(struct ieee80211vap *vap) +{ + int nstate_num; + + IEEE80211_LOCK_ASSERT(vap->iv_ic); + + KASSERT(vap->iv_nstate_n > 0, ("%s: vap %p iv_nstate_n %d\n", + __func__, vap, vap->iv_nstate_n)); + + nstate_num = vap->iv_nstate_b; + vap->iv_nstate_b++; + if (vap->iv_nstate_b >= NET80211_IV_NSTATE_NUM) + vap->iv_nstate_b = 0; + vap->iv_nstate_n--; + + return (nstate_num); +} + +static int +_ieee80211_newstate_get_npending(struct ieee80211vap *vap) +{ + + IEEE80211_LOCK_ASSERT(vap->iv_ic); + + return (vap->iv_nstate_n); +} + /* * Handle post state change work common to all operating modes. */ @@ -2506,17 +2552,25 @@ ieee80211_newstate_cb(void *xvap, int npending) struct ieee80211vap *vap = xvap; struct ieee80211com *ic = vap->iv_ic; enum ieee80211_state nstate, ostate; - int arg, rc; + int arg, rc, nstate_num; + KASSERT(npending == 1, ("%s: vap %p with npending %d != 1\n", + __func__, vap, npending)); IEEE80211_LOCK(ic); - nstate = vap->iv_nstate; - arg = vap->iv_nstate_arg; + nstate_num = _ieee80211_newstate_get_next_pending_slot(vap); + + /* + * Update the historic fields for now as they are used in some + * drivers and reduce code changes for now. + */ + vap->iv_nstate = nstate = vap->iv_nstates[nstate_num]; + arg = vap->iv_nstate_args[nstate_num]; IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, "%s:%d: running state update %s -> %s (%d)\n", __func__, __LINE__, ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate], + ieee80211_state_name[nstate], npending); if (vap->iv_flags_ext & IEEE80211_FEXT_REINIT) { @@ -2527,9 +2581,10 @@ ieee80211_newstate_cb(void *xvap, int npending) /* Deny any state changes while we are here. */ vap->iv_nstate = IEEE80211_S_INIT; IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, - "%s: %s -> %s arg %d\n", __func__, + "%s: %s -> %s arg %d -> %s arg %d\n", __func__, ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate], arg); + ieee80211_state_name[vap->iv_nstate], 0, + ieee80211_state_name[nstate], arg); vap->iv_newstate(vap, vap->iv_nstate, 0); IEEE80211_LOCK_ASSERT(ic); vap->iv_flags_ext &= ~(IEEE80211_FEXT_REINIT | @@ -2670,7 +2725,7 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, struct ieee80211com *ic = vap->iv_ic; struct ieee80211vap *vp; enum ieee80211_state ostate; - int nrunning, nscanning; + int nrunning, nscanning, nstate_num; IEEE80211_LOCK_ASSERT(ic); @@ -2692,14 +2747,6 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, ieee80211_state_name[nstate], ieee80211_state_name[vap->iv_nstate]); return -1; - } else if (vap->iv_state != vap->iv_nstate) { - /* Warn if the previous state hasn't completed. */ - IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, - "%s:%d: pending %s -> %s (now to %s) transition lost\n", - __func__, __LINE__, - ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate], - ieee80211_state_name[nstate]); } } @@ -2722,7 +2769,16 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, nscanning++; } } - ostate = vap->iv_state; + /* + * Look ahead for the "old state" at that point when the last queued + * state transition is run. + */ + if (vap->iv_nstate_n == 0) { + ostate = vap->iv_state; + } else { + nstate_num = (vap->iv_nstate_b + vap->iv_nstate_n - 1) % NET80211_IV_NSTATE_NUM; + ostate = vap->iv_nstates[nstate_num]; + } IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, "%s: %s -> %s (arg %d) (nrunning %d nscanning %d)\n", __func__, ieee80211_state_name[ostate], ieee80211_state_name[nstate], arg, @@ -2816,11 +2872,37 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, default: break; } - /* defer the state change to a thread */ - vap->iv_nstate = nstate; - vap->iv_nstate_arg = arg; + /* + * Defer the state change to a thread. + * We support up-to NET80211_IV_NSTATE_NUM pending state changes + * using a separate task for each. Otherwise, if we enqueue + * more than one state change they will be folded together, + * npedning will be > 1 and we may run then out of sequence with + * other events. + * This is kind-of a hack after 10 years but we know how to provoke + * these cases now (and seen them in the wild). + */ + nstate_num = _ieee80211_newstate_get_next_empty_slot(vap); + if (nstate_num == -1) { + /* + * This is really bad and we should just go kaboom. + * Instead drop it. No one checks the return code anyway. + */ + ic_printf(ic, "%s:%d: pending %s -> %s (now to %s) " + "transition lost. %d/%d pending state changes:\n", + __func__, __LINE__, + ieee80211_state_name[vap->iv_state], + ieee80211_state_name[vap->iv_nstate], + ieee80211_state_name[nstate], + _ieee80211_newstate_get_npending(vap), + NET80211_IV_NSTATE_NUM); + + return (EAGAIN); + } + vap->iv_nstates[nstate_num] = nstate; + vap->iv_nstate_args[nstate_num] = arg; vap->iv_flags_ext |= IEEE80211_FEXT_STATEWAIT; - ieee80211_runtask(ic, &vap->iv_nstate_task); + ieee80211_runtask(ic, &vap->iv_nstate_task[nstate_num]); return EINPROGRESS; } diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h index 868f1886069c..aa99ccefd248 100644 --- a/sys/net80211/ieee80211_var.h +++ b/sys/net80211/ieee80211_var.h @@ -410,9 +410,16 @@ struct ieee80211vap { uint32_t iv_com_state; /* com usage / detached flag */ enum ieee80211_opmode iv_opmode; /* operation mode */ enum ieee80211_state iv_state; /* state machine state */ - enum ieee80211_state iv_nstate; /* pending state */ - int iv_nstate_arg; /* pending state arg */ - struct task iv_nstate_task; /* deferred state processing */ + + /* Deferred state processing. */ + enum ieee80211_state iv_nstate; /* next pending state (historic) */ +#define NET80211_IV_NSTATE_NUM 8 + int iv_nstate_b; /* First filled slot. */ + int iv_nstate_n; /* # of filled slots. */ + enum ieee80211_state iv_nstates[NET80211_IV_NSTATE_NUM]; /* queued pending state(s) */ + int iv_nstate_args[NET80211_IV_NSTATE_NUM]; /* queued pending state(s) arg */ + struct task iv_nstate_task[NET80211_IV_NSTATE_NUM]; + struct task iv_swbmiss_task;/* deferred iv_bmiss call */ struct callout iv_mgtsend; /* mgmt frame response timer */ /* inactivity timer settings */ @@ -604,10 +611,7 @@ struct ieee80211vap { struct ieee80211_node * (*iv_update_bss)(struct ieee80211vap *, struct ieee80211_node *); -#ifdef __ILP32__ - uint32_t iv_spare0; -#endif - uint64_t iv_spare[5]; + uint64_t iv_spare[36]; }; MALLOC_DECLARE(M_80211_VAP); From nobody Mon Feb 19 16:10:24 2024 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 4TdnZ86R55z5C54h; Mon, 19 Feb 2024 16:10: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 4TdnZ845BJz4Nsf; Mon, 19 Feb 2024 16:10:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l7n2IcKObUbuij2zJ3GsGIomm13tjodZNeH55UGv7cY=; b=uCPsZ1SM4C+qmGMtonCOfDXrAG33KUVIrbgawF30e2iBs8vMF/VnH1yTcBj1A7DHWtHEKh +7LFQi29XQSGZSSNj4nj+0ADC0V90JYQf+1UG0BfpPheIbvGw25iSxvhOyGavSub7DTPnt EsFDex/LGtuLLIIZEzSahauPkWMEV+EXpTgoPDZrhrV2si0Zv1zrH9zZP+bun+Y/o4Qrdb D3SGv4qbCScxkCIjSEJx9RQUvlqEuwlQN1b/DlKIOhTTYEQns2XNMl0f9b+Vzikdd9KQGa mcqp8NFViVk8Z/tnmGHwgj7y5YEFBWr8Dn5kRm+d1hmpAGXAVbyE0QqhT5lOPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l7n2IcKObUbuij2zJ3GsGIomm13tjodZNeH55UGv7cY=; b=m/jQWWv4YVUGeTjkzHQDe0zGFZKPdkXL0HadbqykXL0Ml0M8DtECkTLbJu5ip0+Ham4Wj9 MNLa1jZNZctAImJDfoQlzs7zX6TfgYwyWqMOxEjrGuGSgWSP1pGRaYiE2jgHtXm6j9Q2sa rLJeuYnYQO/ukw0cA4UcQhlToz8DkTnHzKekQDOJBoF1B775cvnZ0KYssQwIYdoc/ULONu rcaupcJGk8Up6xRsa9Da3Vl1lkqtxiZXl0I2EJ5UO6dXsLPe1dzTazk2HFmKLgfdnSzjN8 4oNm5wjJKTiXKiXNLsyvwuyHvB9GVGAU1sOHv5yH+oNrbTEVQ5OWRIE0ZvpQxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359024; a=rsa-sha256; cv=none; b=ZKTsO/+Ibp/o418dpr0RMRjiAqjKdo+qUv43gpuZjeObOKk6OvZUypd2igtMiODc7EMLFb rrzLROt8dJA17GJR7RVFO9NMNnUoMOHXvYsnpEagzCahWzB2flDF31OE3qSfmPbFFCGfmB 3SDl2yC96VFHVZZd8uOCfL3bRdCSciXDaD7TTkMrABUS4FE2hiq5mkvaRxpK2L2qU10cTp cU82QK0qdIKQZm7qjrMcIy0QRAs0hxILwGLmJxc7kPlP+jWd2Mu4fyIWD/pFw8zFcB0S0a mazUnbeNPEzZMLGzy1qOESXAdkU48LZFqR3Ah6Vr15Q0KDDFDF5LR2TgZvsvnQ== 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 4TdnZ83BgRzghk; Mon, 19 Feb 2024 16:10:24 +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 41JGAOgS036005; Mon, 19 Feb 2024 16:10:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGAOlE036002; Mon, 19 Feb 2024 16:10:24 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:24 GMT Message-Id: <202402191610.41JGAOlE036002@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a75a3d7afcc8 - releng/13.3 - Bump __FreeBSD_version for net80211 'struct ieee80211vap' changes 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: a75a3d7afcc88dc0bc9b2797cce983056acadf10 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a75a3d7afcc88dc0bc9b2797cce983056acadf10 commit a75a3d7afcc88dc0bc9b2797cce983056acadf10 Author: Bjoern A. Zeeb AuthorDate: 2024-02-19 08:35:44 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:09:05 +0000 Bump __FreeBSD_version for net80211 'struct ieee80211vap' changes Change 9b998db87c28 changed 'struct ieee80211vap' internals in net80211. Given we do not have enough spares and the struct is allocated by drivers, all wireless drivers have to be recompiled. __FreeBSD_version is updated to 1303001 to track this change. Approved by: re (cperciva) --- UPDATING | 6 ++++++ sys/sys/param.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 8e7fa2999475..931c58a42ada 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,12 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20240218: + Change 9b998db87c28 changed 'struct ieee80211vap' internals in net80211. + Given we do not have enough spares and the struct is allocated by + drivers, all wireless drivers have to be recompiled. + __FreeBSD_version is updated to 1303001 to track this change. + 20240207: sendmail 8.18.1 has been imported and merged. This version enforces stricter RFC compliance by default, especially with respect to line diff --git a/sys/sys/param.h b/sys/sys/param.h index 21c9593c6635..c36485bd132a 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -59,7 +59,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1303000 /* Master, propagated to newvers */ +#define __FreeBSD_version 1303001 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Mon Feb 19 16:10:25 2024 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 4TdnZ95nwCz5C54l; Mon, 19 Feb 2024 16:10: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 4TdnZ953fkz4Nvt; Mon, 19 Feb 2024 16:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qlfl4ixlPvBxsusc1QeKfcLgHAz+oxKouDigM2nSyC0=; b=GvUcf7Hmm5N//TXuyEYLCoXknEGIcfikGzAOtkg6EZmcI5QlhGHIg0pO7x+CoMyMT3b38N 7cTAuWPockKNZivKCfdfpC4tGiG8FR8cwMWIOGKwaxSVTcpFtBHgQMmEe2RlF3vSrNj35j hxxXoSM5yr7wNsnwpS+xIq37rya9SRX+PnI9+OeexUHFVnL5Tkb2VjdIIKWl3V4pbOrpkm JWlgktoVXLT8kHkUkbvKtuAvw0ux2KmzXoF2sjeb00zUhj3YIntT0ZqExFL3FikUOo7m4D AuuZO7ZDEJF2ac1dDZBJGfzv3+n/tuPG6pHIVvGomJxEKKVRrojGKeAJ3wwZpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qlfl4ixlPvBxsusc1QeKfcLgHAz+oxKouDigM2nSyC0=; b=FJBUEl61kcJCN+XXoRvalL9vGsViTH0fJ5zblzvn7wx/GkN0Hlxezd4yRosjvCIp0mVyqi 1A2m0WcUucX1O3VKIodkkRvur9ergrtjDfV2cZa+QrzBs+ZZCumJcsXzuAJkuSLbL/AsNm Tv+Va3shtt1Hx33IzogbqpcN1R/AoaoKtDDvxboZkFyWNy87XOKJFjaIG2g3xoA+v00PYz 3JRkIH980wBXgXS2UEQyUTppkbQRP2FfedQzqfDHuYemkBOTT8deYcm7/c9i7+pdAV8DFG zuV8x85yzWnkQ/StnBxzLrnK33ijXPVXNPHEw5UiyS2ALW6yhqG6gikYI33T6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359025; a=rsa-sha256; cv=none; b=Kuwp0OWMZgobfTrp3YLV94r27JuWbQTAyVOcSO/wAonfe4REeGGbe5C2IrK5bIJRVyANDv FFY1oslRRmgg6zoQD65DcfsI1oonlYGk0Od15zJFJmDNfPhdmTThtBzVyelhtgdQWFAZbk zpYfcwB3URKRNmYWo+3qs6RxocPRdn2HwreKExpb8DjEg3dviAJWjva5DxtLqAZEmkQAdG aE7FMBBaxxNvQl26sxDxBKDlmEO92BtFClHwRU5zloI94FT2EQ93Jkuz8PKU16QzaF//21 ZOAfpR4wWHZf/C1N9aXtkilvIMJwWBlVNes8tn/myvXIAsjR8W+yfcRxHGiBiA== 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 4TdnZ949fvzhdK; Mon, 19 Feb 2024 16:10: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 41JGAPY1036067; Mon, 19 Feb 2024 16:10:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGAPMo036064; Mon, 19 Feb 2024 16:10:25 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:25 GMT Message-Id: <202402191610.41JGAPMo036064@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: d4b4efc6db6c - releng/13.3 - LinuxKPI: 802.11: band-aid for invalid state changes after (*iv_update_bss) 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: d4b4efc6db6c6c3a9abf2f187ba1ccc0e40028cf Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d4b4efc6db6c6c3a9abf2f187ba1ccc0e40028cf commit d4b4efc6db6c6c3a9abf2f187ba1ccc0e40028cf Author: Bjoern A. Zeeb AuthorDate: 2024-02-03 16:33:56 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:09:22 +0000 LinuxKPI: 802.11: band-aid for invalid state changes after (*iv_update_bss) With firmware based solutions we cannot just jump from an active session to a new iv_bss node without tearing down state for the old and bringing up the new node. This likely used to work on softmac based cards/drivers where one could essentially set the state and fire at will. We track (*iv_update_bss) calls from net80211 and set a local flag that we are out of synch and do not allow any further operations up the state machine until we hit INIT or SCAN. That means someone will take the state down, clean up firmware state and then we can join again and build up state. Apparently this problem has been "known" for a while as native iwm(4) and others have similar workarounds (though less strict) and can be equally pestered into bad states. For LinuxKPI all the KASSERTs just massively brought this problem out. The solution will be some rewrites in net80211. Until then, try to keep us more stable at least and not die on second join1() calls triggered by service netif start wlan0 and similar. Approved by: re (cperciva) PR: 271979, 271988, 275255, 263613, 274003 Sponsored by: The FreeBSD Foundation (2023, partial) Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43725 (cherry picked from commit 2ac8a2189ac6707f48f77ef2e36baf696a0d2f40) (cherry picked from commit 184ccc414686ea32c64f063c081c7cc1adeae7c3) --- sys/compat/linuxkpi/common/src/linux_80211.c | 309 +++++++++++++++++++-------- sys/compat/linuxkpi/common/src/linux_80211.h | 2 + 2 files changed, 216 insertions(+), 95 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 3988c5260f66..4b4c323e123e 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -516,6 +516,7 @@ lkpi_find_lkpi80211_chan(struct lkpi_hw *lhw, return (NULL); } +#if 0 static struct linuxkpi_ieee80211_channel * lkpi_get_lkpi80211_chan(struct ieee80211com *ic, struct ieee80211_node *ni) { @@ -540,6 +541,7 @@ lkpi_get_lkpi80211_chan(struct ieee80211com *ic, struct ieee80211_node *ni) return (chan); } +#endif struct linuxkpi_ieee80211_channel * linuxkpi_ieee80211_get_channel(struct wiphy *wiphy, uint32_t freq) @@ -945,19 +947,37 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int uint32_t changed; int error; - chan = lkpi_get_lkpi80211_chan(vap->iv_ic, vap->iv_bss); + /* + * In here we use vap->iv_bss until lvif->lvif_bss is set. + * For all later (STATE >= AUTH) functions we need to use the lvif + * cache which will be tracked even through (*iv_update_bss)(). + */ + + if (vap->iv_bss == NULL) { + ic_printf(vap->iv_ic, "%s: no iv_bss for vap %p\n", __func__, vap); + return (EINVAL); + } + ni = ieee80211_ref_node(vap->iv_bss); + if (ni->ni_chan == NULL || ni->ni_chan == IEEE80211_CHAN_ANYC) { + ic_printf(vap->iv_ic, "%s: no channel set for iv_bss ni %p " + "on vap %p\n", __func__, ni, vap); + ieee80211_free_node(ni); + return (EINVAL); + } + + lhw = vap->iv_ic->ic_softc; + chan = lkpi_find_lkpi80211_chan(lhw, ni->ni_chan); if (chan == NULL) { - ic_printf(vap->iv_ic, "%s: failed to get channel\n", __func__); + ic_printf(vap->iv_ic, "%s: failed to get LKPI channel from " + "iv_bss ni %p on vap %p\n", __func__, ni, vap); + ieee80211_free_node(ni); return (ESRCH); } - lhw = vap->iv_ic->ic_softc; hw = LHW_TO_HW(lhw); lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - ni = ieee80211_ref_node(vap->iv_bss); - IEEE80211_UNLOCK(vap->iv_ic); LKPI_80211_LHW_LOCK(lhw); @@ -981,6 +1001,8 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int conf->def.width = NL80211_CHAN_WIDTH_20_NOHT; conf->def.center_freq1 = chan->center_freq; conf->def.center_freq2 = 0; + KASSERT(ni->ni_chan != NULL && ni->ni_chan != IEEE80211_CHAN_ANYC, + ("%s:%d: ni %p ni_chan %p\n", __func__, __LINE__, ni, ni->ni_chan)); /* Responder ... */ conf->min_def.chan = chan; conf->min_def.width = NL80211_CHAN_WIDTH_20_NOHT; @@ -1060,6 +1082,8 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int * workflow so live with this. It is a compat layer after all. */ if (ni->ni_drv_data == NULL) { + ic_printf(vap->iv_ic, "%s:%d: lkpi_lsta_alloc to be called: " + "ni %p lsta %p\n", __func__, __LINE__, ni, ni->ni_drv_data); lsta = lkpi_lsta_alloc(vap, ni->ni_macaddr, hw, ni); if (lsta == NULL) { error = ENOMEM; @@ -1072,8 +1096,22 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int lsta = ni->ni_drv_data; } - /* Insert the [l]sta into the list of known stations. */ LKPI_80211_LVIF_LOCK(lvif); + /* XXX-BZ KASSERT later? */ + /* XXX-BZ this should have caught the upper lkpi_lsta_alloc() too! */ + if (lvif->lvif_bss_synched || lvif->lvif_bss != NULL) + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d, ni %p lsta %p\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched, ni, lsta); + + /* Reference the ni for this cache of lsta. */ + ieee80211_ref_node(vap->iv_bss); + lvif->lvif_bss = lsta; + lvif->lvif_bss_synched = true; + + /* Insert the [l]sta into the list of known stations. */ TAILQ_INSERT_TAIL(&lvif->lsta_head, lsta, lsta_entry); LKPI_80211_LVIF_UNLOCK(lvif); @@ -1145,9 +1183,23 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - /* Keep ni around. */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; + LKPI_80211_LVIF_LOCK(lvif); +#ifdef LINUXKPI_DEBUG_80211 + /* XXX-BZ KASSERT later; state going down so no action. */ + if (lvif->lvif_bss == NULL) + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " + "lvif %p vap %p\n", __func__, + lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); + ni = lsta->ni; /* Reference held for lvif_bss. */ sta = LSTA_TO_STA(lsta); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); @@ -1197,6 +1249,13 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int lkpi_lsta_dump(lsta, ni, __func__, __LINE__); + LKPI_80211_LVIF_LOCK(lvif); + /* Remove ni reference for this cache of lsta. */ + lvif->lvif_bss = NULL; + lvif->lvif_bss_synched = false; + LKPI_80211_LVIF_UNLOCK(lvif); + ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ + lkpi_lsta_remove(lsta, lvif); /* conf_tx */ @@ -1220,8 +1279,6 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -1243,7 +1300,6 @@ lkpi_sta_auth_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, in struct ieee80211_hw *hw; struct lkpi_vif *lvif; struct ieee80211_vif *vif; - struct ieee80211_node *ni; struct lkpi_sta *lsta; struct ieee80211_prep_tx_info prep_tx_info; int error; @@ -1255,15 +1311,30 @@ lkpi_sta_auth_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, in IEEE80211_UNLOCK(vap->iv_ic); LKPI_80211_LHW_LOCK(lhw); - ni = NULL; + + LKPI_80211_LVIF_LOCK(lvif); + /* XXX-BZ KASSERT later? */ + if (!lvif->lvif_bss_synched || lvif->lvif_bss == NULL) { +#ifdef LINUXKPI_DEBUG_80211 + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + error = ENOTRECOVERABLE; + LKPI_80211_LVIF_UNLOCK(lvif); + goto out; + } + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + + KASSERT(lsta != NULL, ("%s: lsta %p\n", __func__, lsta)); /* Finish auth. */ IMPROVE("event callback"); /* Update sta_state (NONE to AUTH). */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; - KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); KASSERT(lsta->state == IEEE80211_STA_NONE, ("%s: lsta %p state not " "NONE: %#x\n", __func__, lsta, lsta->state)); error = lkpi_80211_mo_sta_state(hw, vif, lsta, IEEE80211_STA_AUTH); @@ -1307,8 +1378,6 @@ lkpi_sta_auth_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, in out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -1320,20 +1389,37 @@ lkpi_sta_a_to_a(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) struct ieee80211_hw *hw; struct lkpi_vif *lvif; struct ieee80211_vif *vif; - struct ieee80211_node *ni; struct lkpi_sta *lsta; struct ieee80211_prep_tx_info prep_tx_info; + int error; lhw = vap->iv_ic->ic_softc; hw = LHW_TO_HW(lhw); lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - ni = ieee80211_ref_node(vap->iv_bss); - IEEE80211_UNLOCK(vap->iv_ic); LKPI_80211_LHW_LOCK(lhw); - lsta = ni->ni_drv_data; + + LKPI_80211_LVIF_LOCK(lvif); + /* XXX-BZ KASSERT later? */ + if (!lvif->lvif_bss_synched || lvif->lvif_bss == NULL) { +#ifdef LINUXKPI_DEBUG_80211 + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + LKPI_80211_LVIF_UNLOCK(lvif); + error = ENOTRECOVERABLE; + goto out; + } + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + + KASSERT(lsta != NULL, ("%s: lsta %p! lvif %p vap %p\n", __func__, + lsta, lvif, vap)); IMPROVE("event callback?"); @@ -1355,12 +1441,12 @@ lkpi_sta_a_to_a(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) lsta->in_mgd = true; } + error = 0; +out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); - if (ni != NULL) - ieee80211_free_node(ni); - return (0); + return (error); } static int @@ -1382,16 +1468,30 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - /* Keep ni around. */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; + IEEE80211_UNLOCK(vap->iv_ic); + LKPI_80211_LHW_LOCK(lhw); + + LKPI_80211_LVIF_LOCK(lvif); +#ifdef LINUXKPI_DEBUG_80211 + /* XXX-BZ KASSERT later; state going down so no action. */ + if (lvif->lvif_bss == NULL) + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " + "lvif %p vap %p\n", __func__, + lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); + + ni = lsta->ni; /* Reference held for lvif_bss. */ sta = LSTA_TO_STA(lsta); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); - IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); - /* flush, drop. */ lkpi_80211_mo_flush(hw, vif, nitems(sta->txq), true); @@ -1487,6 +1587,13 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i bss_changed |= BSS_CHANGED_BSSID; lkpi_80211_mo_bss_info_changed(hw, vif, &vif->bss_conf, bss_changed); + LKPI_80211_LVIF_LOCK(lvif); + /* Remove ni reference for this cache of lsta. */ + lvif->lvif_bss = NULL; + lvif->lvif_bss_synched = false; + LKPI_80211_LVIF_UNLOCK(lvif); + ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ + lkpi_lsta_remove(lsta, lvif); /* conf_tx */ @@ -1512,8 +1619,6 @@ out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); outni: - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -1571,16 +1676,34 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int IEEE80211_UNLOCK(vap->iv_ic); LKPI_80211_LHW_LOCK(lhw); - ni = NULL; + + LKPI_80211_LVIF_LOCK(lvif); + /* XXX-BZ KASSERT later? */ + if (!lvif->lvif_bss_synched || lvif->lvif_bss == NULL) { +#ifdef LINUXKPI_DEBUG_80211 + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + LKPI_80211_LVIF_UNLOCK(lvif); + error = ENOTRECOVERABLE; + goto out; + } + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " + "lvif %p vap %p\n", __func__, + lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); + + ni = lsta->ni; /* Reference held for lvif_bss. */ IMPROVE("ponder some of this moved to ic_newassoc, scan_assoc_success, " "and to lesser extend ieee80211_notify_node_join"); /* Finish assoc. */ /* Update sta_state (AUTH to ASSOC) and set aid. */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; - KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); KASSERT(lsta->state == IEEE80211_STA_AUTH, ("%s: lsta %p state not " "AUTH: %#x\n", __func__, lsta, lsta->state)); sta = LSTA_TO_STA(lsta); @@ -1688,8 +1811,6 @@ lkpi_sta_assoc_to_run(struct ieee80211vap *vap, enum ieee80211_state nstate, int out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -1725,9 +1846,23 @@ lkpi_sta_run_to_assoc(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - /* Keep ni around. */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; + LKPI_80211_LVIF_LOCK(lvif); +#ifdef LINUXKPI_DEBUG_80211 + /* XXX-BZ KASSERT later; state going down so no action. */ + if (lvif->lvif_bss == NULL) + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " + "lvif %p vap %p\n", __func__, + lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); + + ni = lsta->ni; /* Reference held for lvif_bss. */ sta = LSTA_TO_STA(lsta); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); @@ -1823,8 +1958,6 @@ out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); outni: - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -1847,16 +1980,30 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); - /* Keep ni around. */ - ni = ieee80211_ref_node(vap->iv_bss); - lsta = ni->ni_drv_data; + IEEE80211_UNLOCK(vap->iv_ic); + LKPI_80211_LHW_LOCK(lhw); + + LKPI_80211_LVIF_LOCK(lvif); +#ifdef LINUXKPI_DEBUG_80211 + /* XXX-BZ KASSERT later; state going down so no action. */ + if (lvif->lvif_bss == NULL) + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); +#endif + lsta = lvif->lvif_bss; + LKPI_80211_LVIF_UNLOCK(lvif); + KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " + "lvif %p vap %p\n", __func__, + lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); + + ni = lsta->ni; /* Reference held for lvif_bss. */ sta = LSTA_TO_STA(lsta); lkpi_lsta_dump(lsta, ni, __func__, __LINE__); - IEEE80211_UNLOCK(vap->iv_ic); - LKPI_80211_LHW_LOCK(lhw); - /* flush, drop. */ lkpi_80211_mo_flush(hw, vif, nitems(sta->txq), true); @@ -1976,6 +2123,13 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int bss_changed |= BSS_CHANGED_BSSID; lkpi_80211_mo_bss_info_changed(hw, vif, &vif->bss_conf, bss_changed); + LKPI_80211_LVIF_LOCK(lvif); + /* Remove ni reference for this cache of lsta. */ + lvif->lvif_bss = NULL; + lvif->lvif_bss_synched = false; + LKPI_80211_LVIF_UNLOCK(lvif); + ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ + lkpi_lsta_remove(lsta, lvif); /* conf_tx */ @@ -2001,8 +2155,6 @@ out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); outni: - if (ni != NULL) - ieee80211_free_node(ni); return (error); } @@ -2175,53 +2327,18 @@ static struct ieee80211_node * lkpi_iv_update_bss(struct ieee80211vap *vap, struct ieee80211_node *ni) { struct lkpi_vif *lvif; - struct ieee80211_node *obss; - struct lkpi_sta *lsta; - struct ieee80211_sta *sta; - - obss = vap->iv_bss; - -#ifdef LINUXKPI_DEBUG_80211 - if (linuxkpi_debug_80211 & D80211_TRACE) - ic_printf(vap->iv_ic, "%s: obss %p ni_drv_data %p " - "ni %p ni_drv_data %p\n", __func__, - obss, (obss != NULL) ? obss->ni_drv_data : NULL, - ni, (ni != NULL) ? ni->ni_drv_data : NULL); -#endif + struct ieee80211_node *rni; - /* Nothing to copy from. Just return. */ - if (obss == NULL || obss->ni_drv_data == NULL) - goto out; - - /* Nothing to copy to. Just return. */ - IMPROVE("clearing the obss might still be needed?"); - if (ni == NULL) - goto out; + IEEE80211_LOCK_ASSERT(vap->iv_ic); - /* Nothing changed? panic? */ - if (obss == ni) - goto out; + lvif = VAP_TO_LVIF(vap); - lsta = obss->ni_drv_data; - obss->ni_drv_data = ni->ni_drv_data; - ni->ni_drv_data = lsta; - if (lsta != NULL) { - lsta->ni = ni; - sta = LSTA_TO_STA(lsta); - IEEE80211_ADDR_COPY(sta->addr, lsta->ni->ni_macaddr); - IEEE80211_ADDR_COPY(sta->deflink.addr, sta->addr); - } - lsta = obss->ni_drv_data; - if (lsta != NULL) { - lsta->ni = obss; - sta = LSTA_TO_STA(lsta); - IEEE80211_ADDR_COPY(sta->addr, lsta->ni->ni_macaddr); - IEEE80211_ADDR_COPY(sta->deflink.addr, sta->addr); - } + LKPI_80211_LVIF_LOCK(lvif); + lvif->lvif_bss_synched = false; + LKPI_80211_LVIF_UNLOCK(lvif); -out: - lvif = VAP_TO_LVIF(vap); - return (lvif->iv_update_bss(vap, ni)); + rni = lvif->iv_update_bss(vap, ni); + return (rni); } #ifdef LKPI_80211_WME @@ -2342,6 +2459,8 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], lvif = malloc(len, M_80211_VAP, M_WAITOK | M_ZERO); mtx_init(&lvif->mtx, "lvif", NULL, MTX_DEF); TAILQ_INIT(&lvif->lsta_head); + lvif->lvif_bss = NULL; + lvif->lvif_bss_synched = false; vap = LVIF_TO_VAP(lvif); vif = LVIF_TO_VIF(lvif); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index 9100d1c2e73e..ae4b8379e88c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -147,6 +147,8 @@ struct lkpi_vif { struct ieee80211_node * (*iv_update_bss)(struct ieee80211vap *, struct ieee80211_node *); TAILQ_HEAD(, lkpi_sta) lsta_head; + struct lkpi_sta *lvif_bss; + bool lvif_bss_synched; bool added_to_drv; /* Driver knows; i.e. we called add_interface(). */ bool hw_queue_stopped[IEEE80211_NUM_ACS]; From nobody Mon Feb 19 16:10:26 2024 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 4TdnZB75Q8z5C5Kl; Mon, 19 Feb 2024 16:10: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 4TdnZB6GyKz4P1p; Mon, 19 Feb 2024 16:10:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V8xDyq7MX2kQ4UdhsZxpxPEpvBjocIlZWCfJzNjagsI=; b=pTpx1rmhYLUOAMKz9CCBsDTS3hT5sJ1LqQqzrFzsVvCCjz+70+NPJOspyPK3C0ZO6yRky+ zsJ1uLxAwSLaojN2S6Y60bCdGO99Km+M7MJ8+Y6aLbvMCIx8A/I9BHlK7Uqq0lxRmtoj48 UbnCg1zRGcXM/qV1veT7PjkPZyuLaJ+5OTkUe7fd63P1TVMUKbZw2LWQlfhrZDLL3sD/c9 8YFSq53rad/P7xWwgGt+CXjdyvqL43dUXDaQGDTBnrI0n8gsB6LgDIwEPiOYZbR5vvH/MB mnwUx7AaiMqOvRIgc9UqvE/Hcim7gSPlCx69URmbihGEj/dl2D6gmr5lIapX2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V8xDyq7MX2kQ4UdhsZxpxPEpvBjocIlZWCfJzNjagsI=; b=f8J/Ake6IpgVFEkjL6HRVdnRbSUPMb8g8B3rNUrVIUivV3d6y5a6jlnLUknB+jsTZQWvS7 PMKMVdwpEACQnisZfzuO/aucKQg67ynRkQ/c6yJL3bHbkrc4w/DHXyNfaZbYOcP7jX3CUH UGI/dTzGZ9sy/Hafd9rtO8LERWY9LFGFDqGwfF/sbJyPPYvvdZfh2h8v0KR3e+hjD1GwZy DT5sObAiT1Nr8GblNy9GZwrLJluUx3O/MahKuWBwcadBWdl1PKeXXZFZX8GcPrtEPU4blK sveXflBJUWqE4sXVmSVIdSfuzOhzsufHLiscIXTuGhLlbsMGHSgdvu1w6JoSXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359026; a=rsa-sha256; cv=none; b=yrAVgfd1okVL5r0ol2CCSN/txio0JKFQf3ppAKFwi2w0teQYseXSgHt4W+nxfx3YkRIlkY 64L/9pHVJCMLRu0y2iMnT4yk+TdN9lxUIcqZ5U4hf6Ma64gfsKTPcu3W06xiovMs73ORt7 jJvFIN+DFzyDxUDyvyMaPTpWiSZq8bEuAWkTEgCyXmKCER7NvNIxFDBB36l4M2UMeBP0It CPsy1ScW2PflpDyxdd6WBVAjMdjF1Q3MXI1YvProtMV6Qb02aB3Y5XTkN6uPEB/aHmMRkQ w7Z5CyDP7QzwhCnsAcJ9PdqM4/77BjgdaN3anbZwgFKsyPiFMB7htsZvQ623rg== 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 4TdnZB5N9Szghl; Mon, 19 Feb 2024 16:10: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 41JGAQdZ036121; Mon, 19 Feb 2024 16:10:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGAQ8O036118; Mon, 19 Feb 2024 16:10:26 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:26 GMT Message-Id: <202402191610.41JGAQ8O036118@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 9b2da4bc5a68 - releng/13.3 - LinuxKPI: 802.11: update the ni/lsta reference cycle 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 9b2da4bc5a68294bc1dcfdd0d0ccadf747bafd67 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9b2da4bc5a68294bc1dcfdd0d0ccadf747bafd67 commit 9b2da4bc5a68294bc1dcfdd0d0ccadf747bafd67 Author: Bjoern A. Zeeb AuthorDate: 2024-02-05 14:51:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:09:22 +0000 LinuxKPI: 802.11: update the ni/lsta reference cycle Update the ni/lsta reference cycle, add extra checks and assertions. This is to accomodate problems we were seeing based on net80211 behaviour (join1() and (*iv_update_bss)() as well as state changes for new iv_bss nodes during an active session). This should hopefully help to stabilise behaviour until the underlying problems gets properly addressed (for this and all other device drivers). Approved by: re (cperciva) PR: 272607, 273985, 274003 Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43753 (cherry picked from commit 0936c648ad0ee5152dc19f261e77fe9c1833fe05) (cherry picked from commit 223edc1a3c2fc86dbc7fa0ecd00f26a85d7c7b43) --- sys/compat/linuxkpi/common/src/linux_80211.c | 209 +++++++++++++++++---------- sys/compat/linuxkpi/common/src/linux_80211.h | 1 + 2 files changed, 130 insertions(+), 80 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 4b4c323e123e..d6431e7fc1d5 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -168,25 +168,14 @@ lkpi_lsta_dump(struct lkpi_sta *lsta, struct ieee80211_node *ni, static void lkpi_lsta_remove(struct lkpi_sta *lsta, struct lkpi_vif *lvif) { - struct ieee80211_node *ni; - - IMPROVE("XXX-BZ remove tqe_prev check once ni-sta-state-sync is fixed"); - ni = lsta->ni; LKPI_80211_LVIF_LOCK(lvif); - if (lsta->lsta_entry.tqe_prev != NULL) - TAILQ_REMOVE(&lvif->lsta_head, lsta, lsta_entry); + KASSERT(lsta->lsta_entry.tqe_prev != NULL, + ("%s: lsta %p lsta_entry.tqe_prev %p ni %p\n", __func__, + lsta, lsta->lsta_entry.tqe_prev, lsta->ni)); + TAILQ_REMOVE(&lvif->lsta_head, lsta, lsta_entry); LKPI_80211_LVIF_UNLOCK(lvif); - - lsta->ni = NULL; - ni->ni_drv_data = NULL; - if (ni != NULL) - ieee80211_free_node(ni); - - IMPROVE("more from lkpi_ic_node_free() should happen here."); - - free(lsta, M_LKPI80211); } static struct lkpi_sta * @@ -206,13 +195,16 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], lsta->added_to_drv = false; lsta->state = IEEE80211_STA_NOTEXIST; -#if 0 /* - * This needs to be done in node_init() as ieee80211_alloc_node() - * will initialise the refcount after us. + * Link the ni to the lsta here without taking a reference. + * For one we would have to take the reference in node_init() + * as ieee80211_alloc_node() will initialise the refcount after us. + * For the other a ni and an lsta are 1:1 mapped and always together + * from [ic_]node_alloc() to [ic_]node_free() so we are essentally + * using the ni references for the lsta as well despite it being + * two separate allocations. */ - lsta->ni = ieee80211_ref_node(ni); -#endif + lsta->ni = ni; /* The back-pointer "drv_data" to net80211_node let's us get lsta. */ ni->ni_drv_data = lsta; @@ -283,6 +275,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], mtx_init(&lsta->txq_mtx, "lsta_txq", NULL, MTX_DEF); TASK_INIT(&lsta->txq_task, 0, lkpi_80211_txq_task, lsta); mbufq_init(&lsta->txq, IFQ_MAXLEN); + lsta->txq_ready = true; return (lsta); @@ -298,6 +291,54 @@ cleanup: return (NULL); } +static void +lkpi_lsta_free(struct lkpi_sta *lsta, struct ieee80211_node *ni) +{ + struct mbuf *m; + + if (lsta->added_to_drv) + panic("%s: Trying to free an lsta still known to firmware: " + "lsta %p ni %p added_to_drv %d\n", + __func__, lsta, ni, lsta->added_to_drv); + + /* XXX-BZ free resources, ... */ + IMPROVE(); + + /* XXX locking */ + lsta->txq_ready = false; + + /* Drain taskq, won't be restarted until added_to_drv is set again. */ + while (taskqueue_cancel(taskqueue_thread, &lsta->txq_task, NULL) != 0) + taskqueue_drain(taskqueue_thread, &lsta->txq_task); + + /* Flush mbufq (make sure to release ni refs!). */ + m = mbufq_dequeue(&lsta->txq); + while (m != NULL) { + struct ieee80211_node *nim; + + nim = (struct ieee80211_node *)m->m_pkthdr.rcvif; + if (nim != NULL) + ieee80211_free_node(nim); + m_freem(m); + m = mbufq_dequeue(&lsta->txq); + } + KASSERT(mbufq_empty(&lsta->txq), ("%s: lsta %p has txq len %d != 0\n", + __func__, lsta, mbufq_len(&lsta->txq))); + + /* Drain sta->txq[] */ + mtx_destroy(&lsta->txq_mtx); + + /* Remove lsta from vif; that is done by the state machine. Should assert it? */ + + IMPROVE("Make sure everything is cleaned up."); + + /* Free lsta. */ + lsta->ni = NULL; + ni->ni_drv_data = NULL; + free(lsta, M_LKPI80211); +} + + static enum nl80211_band lkpi_net80211_chan_to_nl80211_band(struct ieee80211_channel *c) { @@ -957,11 +998,17 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int ic_printf(vap->iv_ic, "%s: no iv_bss for vap %p\n", __func__, vap); return (EINVAL); } + /* + * Keep the ni alive locally. In theory (and practice) iv_bss can change + * once we unlock here. This is due to net80211 allowing state changes + * and new join1() despite having an active node as well as due to + * the fact that the iv_bss can be swapped under the hood in (*iv_update_bss). + */ ni = ieee80211_ref_node(vap->iv_bss); if (ni->ni_chan == NULL || ni->ni_chan == IEEE80211_CHAN_ANYC) { ic_printf(vap->iv_ic, "%s: no channel set for iv_bss ni %p " "on vap %p\n", __func__, ni, vap); - ieee80211_free_node(ni); + ieee80211_free_node(ni); /* Error handling for the local ni. */ return (EINVAL); } @@ -970,7 +1017,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int if (chan == NULL) { ic_printf(vap->iv_ic, "%s: failed to get LKPI channel from " "iv_bss ni %p on vap %p\n", __func__, ni, vap); - ieee80211_free_node(ni); + ieee80211_free_node(ni); /* Error handling for the local ni. */ return (ESRCH); } @@ -978,6 +1025,18 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); + LKPI_80211_LVIF_LOCK(lvif); + /* XXX-BZ KASSERT later? */ + if (lvif->lvif_bss_synched || lvif->lvif_bss != NULL) { + ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " + "lvif_bss->ni %p synched %d\n", __func__, __LINE__, + lvif, vap, vap->iv_bss, lvif->lvif_bss, + (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, + lvif->lvif_bss_synched); + return (EBUSY); + } + LKPI_80211_LVIF_UNLOCK(lvif); + IEEE80211_UNLOCK(vap->iv_ic); LKPI_80211_LHW_LOCK(lhw); @@ -1073,32 +1132,17 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int lkpi_80211_mo_bss_info_changed(hw, vif, &vif->bss_conf, bss_changed); /* - * This is a bandaid for now. If we went through (*iv_update_bss)() - * and then removed the lsta we end up here without a lsta and have - * to manually allocate and link it in as lkpi_ic_node_alloc()/init() - * would normally do. - * XXX-BZ I do not like this but currently we have no good way of - * intercepting the bss swap and state changes and packets going out - * workflow so live with this. It is a compat layer after all. + * Given ni and lsta are 1:1 from alloc to free we can assert that + * ni always has lsta data attach despite net80211 node swapping + * under the hoods. */ - if (ni->ni_drv_data == NULL) { - ic_printf(vap->iv_ic, "%s:%d: lkpi_lsta_alloc to be called: " - "ni %p lsta %p\n", __func__, __LINE__, ni, ni->ni_drv_data); - lsta = lkpi_lsta_alloc(vap, ni->ni_macaddr, hw, ni); - if (lsta == NULL) { - error = ENOMEM; - ic_printf(vap->iv_ic, "%s:%d: lkpi_lsta_alloc " - "failed: %d\n", __func__, __LINE__, error); - goto out; - } - lsta->ni = ieee80211_ref_node(ni); - } else { - lsta = ni->ni_drv_data; - } + KASSERT(ni->ni_drv_data != NULL, ("%s: ni %p ni_drv_data %p\n", + __func__, ni, ni->ni_drv_data)); + lsta = ni->ni_drv_data; LKPI_80211_LVIF_LOCK(lvif); - /* XXX-BZ KASSERT later? */ - /* XXX-BZ this should have caught the upper lkpi_lsta_alloc() too! */ + /* Re-check given (*iv_update_bss) could have happened. */ + /* XXX-BZ KASSERT later? or deal as error? */ if (lvif->lvif_bss_synched || lvif->lvif_bss != NULL) ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p lvif_bss %p " "lvif_bss->ni %p synched %d, ni %p lsta %p\n", __func__, __LINE__, @@ -1106,8 +1150,13 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, lvif->lvif_bss_synched, ni, lsta); - /* Reference the ni for this cache of lsta. */ - ieee80211_ref_node(vap->iv_bss); + /* + * Reference the ni for this cache of lsta/ni on lvif->lvif_bss + * essentially out lsta version of the iv_bss. + * Do NOT use iv_bss here anymore as that may have diverged from our + * function local ni already and would lead to inconsistencies. + */ + ieee80211_ref_node(ni); lvif->lvif_bss = lsta; lvif->lvif_bss_synched = true; @@ -1160,6 +1209,10 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int out: LKPI_80211_LHW_UNLOCK(lhw); IEEE80211_LOCK(vap->iv_ic); + /* + * Release the reference that keop the ni stable locally + * during the work of this function. + */ if (ni != NULL) ieee80211_free_node(ni); return (error); @@ -1254,9 +1307,13 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif->lvif_bss = NULL; lvif->lvif_bss_synched = false; LKPI_80211_LVIF_UNLOCK(lvif); - ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ - lkpi_lsta_remove(lsta, lvif); + /* + * The very last release the reference on the ni for the ni/lsta on + * lvif->lvif_bss. Upon return from this both ni and lsta are invalid + * and potentially freed. + */ + ieee80211_free_node(ni); /* conf_tx */ @@ -1592,9 +1649,13 @@ _lkpi_sta_assoc_to_down(struct ieee80211vap *vap, enum ieee80211_state nstate, i lvif->lvif_bss = NULL; lvif->lvif_bss_synched = false; LKPI_80211_LVIF_UNLOCK(lvif); - ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ - lkpi_lsta_remove(lsta, lvif); + /* + * The very last release the reference on the ni for the ni/lsta on + * lvif->lvif_bss. Upon return from this both ni and lsta are invalid + * and potentially freed. + */ + ieee80211_free_node(ni); /* conf_tx */ @@ -2128,9 +2189,13 @@ lkpi_sta_run_to_init(struct ieee80211vap *vap, enum ieee80211_state nstate, int lvif->lvif_bss = NULL; lvif->lvif_bss_synched = false; LKPI_80211_LVIF_UNLOCK(lvif); - ieee80211_free_node(ni); /* was lvif->lvif_bss->ni */ - lkpi_lsta_remove(lsta, lvif); + /* + * The very last release the reference on the ni for the ni/lsta on + * lvif->lvif_bss. Upon return from this both ni and lsta are invalid + * and potentially freed. + */ + ieee80211_free_node(ni); /* conf_tx */ @@ -3270,7 +3335,6 @@ lkpi_ic_node_init(struct ieee80211_node *ni) { struct ieee80211com *ic; struct lkpi_hw *lhw; - struct lkpi_sta *lsta; int error; ic = ni->ni_ic; @@ -3282,11 +3346,6 @@ lkpi_ic_node_init(struct ieee80211_node *ni) return (error); } - lsta = ni->ni_drv_data; - - /* Now take the reference before linking it to the table. */ - lsta->ni = ieee80211_ref_node(ni); - /* XXX-BZ Sync other state over. */ IMPROVE(); @@ -3319,30 +3378,15 @@ lkpi_ic_node_free(struct ieee80211_node *ni) ic = ni->ni_ic; lhw = ic->ic_softc; lsta = ni->ni_drv_data; - if (lsta == NULL) - goto out; - /* XXX-BZ free resources, ... */ - IMPROVE(); + /* KASSERT lsta is not NULL here. Print ni/ni__refcnt. */ - /* Flush mbufq (make sure to release ni refs!). */ -#ifdef __notyet__ - KASSERT(mbufq_empty(&lsta->txq), ("%s: lsta %p has txq len %d != 0\n", - __func__, lsta, mbufq_len(&lsta->txq))); -#endif - /* Drain taskq. */ - - /* Drain sta->txq[] */ - mtx_destroy(&lsta->txq_mtx); - - /* Remove lsta if added_to_drv. */ - - /* Remove lsta from vif */ - /* Remove ref from lsta node... */ - /* Free lsta. */ - lkpi_lsta_remove(lsta, VAP_TO_LVIF(ni->ni_vap)); + /* + * Pass in the original ni just in case of error we could check that + * it is the same as lsta->ni. + */ + lkpi_lsta_free(lsta, ni); -out: if (lhw->ic_node_free != NULL) lhw->ic_node_free(ni); } @@ -3354,6 +3398,11 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, struct lkpi_sta *lsta; lsta = ni->ni_drv_data; + /* XXX locking */ + if (!lsta->txq_ready) { + m_free(m); + return (ENETDOWN); + } /* Queue the packet and enqueue the task to handle it. */ LKPI_80211_LSTA_LOCK(lsta); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index ae4b8379e88c..d9cb1a538f91 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -125,6 +125,7 @@ struct lkpi_sta { struct ieee80211_key_conf *kc; enum ieee80211_sta_state state; + bool txq_ready; /* Can we run the taskq? */ bool added_to_drv; /* Driver knows; i.e. we called ...(). */ bool in_mgd; /* XXX-BZ should this be per-vif? */ From nobody Mon Feb 19 16:10:27 2024 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 4TdnZD2FcJz5C4qT; Mon, 19 Feb 2024 16:10: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 4TdnZD0P5Fz4P87; Mon, 19 Feb 2024 16:10:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DpZOYSWGDtWVtRqt0wVA0Yldh1L8HgKKU64brOWPLCc=; b=qyU375uRS4aMCBux2Fcu80e6QOSZ6bqs4pjHvhUz+w7+fxw3rgj4bMagNu+QkJFZtju3en ztRNCNQx3O/WJUvMheDYOvlsF1QgU5zhSJBNokh/ahpkjoshFNUooW3dVMGi5gqTHbIpcM OPtpjHsGHR1xw6K2Jr414Sb5j4aPDHO6eqKGMfjch9KnUEocNhdd0t5ih79pPqM9XJmj05 uSjTRSVkP9oLBisDo+0oJn41Bluvq1rHfq9qQQBK1t418vE4y2CvPaauiaDJBpx+cbH87Y ZBoILkzG3ksoR4axA4Zp5JHUzk/jlD9l3iZGBA5H/RPX7COSnC6Oe/NpboxOGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708359028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DpZOYSWGDtWVtRqt0wVA0Yldh1L8HgKKU64brOWPLCc=; b=jLkQSM8yrGl+CO1kbQf0sT4B8+kGQQ4BbE4Kv5eCyMyE7UNPNwNR/DCHXPJOidG49kqcPV FAhd6RPLyN+bebJK7ZV+/lZuF7o2T1Pd/LOKJzn3BEwM3iIbvsazta0inu1C6T/GjYe1Om aSwFIKMJLH15IuXWtGJKjgrMzNMcaoLXmnPJFCJSV/r2LeRX061HJUUh/Nb+Qo/r3jh5oV HmHQH8DFe0+JfMlgJLc4iv7QWRju/Oe13oWnbaIEM/jASz2n5YO8jT1Ab1WFLJK8YNAOwb ZnquPhCD//ulOp+kK55wIUCyeKI7RQyQlsoRKDZ7WLfcAgnSACxmQW/elQ0h1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708359028; a=rsa-sha256; cv=none; b=IIaEQfCgv6nq4nY/9f47VAFgQS7XyAFIXOpikhKKU+ui2fGIUnLvTxXA2b9E61YtWJSMUN Jz8aMMMD61n5vBAQcBhz2W/TrVtRuDr9GGsyFGZH6H8S+WXLuYAQ7tXbw1FziCFOd38i45 vnKRymTA7+fLhxeZButCCaxjAb10+XiveD/1qh3SOXzRGWr6FDUEeRphgrxGYL48EKjlIW +p/YtFsgQIBY6WopWYCQBtDQgwrxIuLCWgXD+k0KZoXTUwtnIn/YQXFDzquufPktmRmKpN hJBs+Kn3/cWfgwYXB8K/2bCK/YutsxgYEG/P6Tz+uimKcN6DY04hj9Hjc/ql9g== 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 4TdnZC6bw0zghm; Mon, 19 Feb 2024 16:10: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 41JGARwC036170; Mon, 19 Feb 2024 16:10:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGAROx036167; Mon, 19 Feb 2024 16:10:27 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:10:27 GMT Message-Id: <202402191610.41JGAROx036167@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 401dbf9cfc0c - releng/13.3 - LinuxKPI: 802.11: lsta txq locking cleanup 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 401dbf9cfc0cfb2a02355d41bf73e146bd3dfb74 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=401dbf9cfc0cfb2a02355d41bf73e146bd3dfb74 commit 401dbf9cfc0cfb2a02355d41bf73e146bd3dfb74 Author: Bjoern A. Zeeb AuthorDate: 2024-02-14 21:56:48 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-19 16:09:22 +0000 LinuxKPI: 802.11: lsta txq locking cleanup Rename the LSTA lock to LSTA_TXQ lock as that is really what it is and put down the full set of macros. Replace the init and destroy with the macro invocation rather than direct code. Put locking around the txq_ready unset and check. Move the taskq_enqueue call under lock to be sure we do not call it anymore after txq_ready got unset. Leave a comment related to the node reference which is passed into the TX path on the recvif mbuf pointer. Approved by: re (cperciva) Fixes: 0936c648ad0ee PR: 274382 (possibly) Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D43909 (cherry picked from commit fa4e4257943650c0b5f58c01bb0bdfadea61dfb2) (cherry picked from commit 763b10806cd4ebdcbd2b6753d4f50ec088dc57fb) --- sys/compat/linuxkpi/common/src/linux_80211.c | 31 ++++++++++++++++++---------- sys/compat/linuxkpi/common/src/linux_80211.h | 14 +++++++++++-- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index d6431e7fc1d5..adddb0fc3500 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -272,7 +272,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], } /* Deferred TX path. */ - mtx_init(&lsta->txq_mtx, "lsta_txq", NULL, MTX_DEF); + LKPI_80211_LSTA_TXQ_LOCK_INIT(lsta); TASK_INIT(&lsta->txq_task, 0, lkpi_80211_txq_task, lsta); mbufq_init(&lsta->txq, IFQ_MAXLEN); lsta->txq_ready = true; @@ -304,8 +304,11 @@ lkpi_lsta_free(struct lkpi_sta *lsta, struct ieee80211_node *ni) /* XXX-BZ free resources, ... */ IMPROVE(); - /* XXX locking */ + /* Drain sta->txq[] */ + + LKPI_80211_LSTA_TXQ_LOCK(lsta); lsta->txq_ready = false; + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); /* Drain taskq, won't be restarted until added_to_drv is set again. */ while (taskqueue_cancel(taskqueue_thread, &lsta->txq_task, NULL) != 0) @@ -324,9 +327,7 @@ lkpi_lsta_free(struct lkpi_sta *lsta, struct ieee80211_node *ni) } KASSERT(mbufq_empty(&lsta->txq), ("%s: lsta %p has txq len %d != 0\n", __func__, lsta, mbufq_len(&lsta->txq))); - - /* Drain sta->txq[] */ - mtx_destroy(&lsta->txq_mtx); + LKPI_80211_LSTA_TXQ_LOCK_DESTROY(lsta); /* Remove lsta from vif; that is done by the state machine. Should assert it? */ @@ -3398,16 +3399,21 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, struct lkpi_sta *lsta; lsta = ni->ni_drv_data; - /* XXX locking */ + LKPI_80211_LSTA_TXQ_LOCK(lsta); if (!lsta->txq_ready) { + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); + /* + * Free the mbuf (do NOT release ni ref for the m_pkthdr.rcvif! + * ieee80211_raw_output() does that in case of error). + */ m_free(m); return (ENETDOWN); } /* Queue the packet and enqueue the task to handle it. */ - LKPI_80211_LSTA_LOCK(lsta); mbufq_enqueue(&lsta->txq, m); - LKPI_80211_LSTA_UNLOCK(lsta); + taskqueue_enqueue(taskqueue_thread, &lsta->txq_task); + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_TX) @@ -3416,7 +3422,6 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, mbufq_len(&lsta->txq)); #endif - taskqueue_enqueue(taskqueue_thread, &lsta->txq_task); return (0); } @@ -3624,9 +3629,13 @@ lkpi_80211_txq_task(void *ctx, int pending) mbufq_init(&mq, IFQ_MAXLEN); - LKPI_80211_LSTA_LOCK(lsta); + LKPI_80211_LSTA_TXQ_LOCK(lsta); + /* + * Do not re-check lsta->txq_ready here; we may have a pending + * disassoc frame still. + */ mbufq_concat(&mq, &lsta->txq); - LKPI_80211_LSTA_UNLOCK(lsta); + LKPI_80211_LSTA_TXQ_UNLOCK(lsta); m = mbufq_dequeue(&mq); while (m != NULL) { diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index d9cb1a538f91..7a1d5877b874 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -278,8 +278,18 @@ struct lkpi_wiphy { #define LKPI_80211_LVIF_LOCK(_lvif) mtx_lock(&(_lvif)->mtx) #define LKPI_80211_LVIF_UNLOCK(_lvif) mtx_unlock(&(_lvif)->mtx) -#define LKPI_80211_LSTA_LOCK(_lsta) mtx_lock(&(_lsta)->txq_mtx) -#define LKPI_80211_LSTA_UNLOCK(_lsta) mtx_unlock(&(_lsta)->txq_mtx) +#define LKPI_80211_LSTA_TXQ_LOCK_INIT(_lsta) \ + mtx_init(&(_lsta)->txq_mtx, "lsta-txq", NULL, MTX_DEF); +#define LKPI_80211_LSTA_TXQ_LOCK_DESTROY(_lsta) \ + mtx_destroy(&(_lsta)->txq_mtx); +#define LKPI_80211_LSTA_TXQ_LOCK(_lsta) \ + mtx_lock(&(_lsta)->txq_mtx) +#define LKPI_80211_LSTA_TXQ_UNLOCK(_lsta) \ + mtx_unlock(&(_lsta)->txq_mtx) +#define LKPI_80211_LSTA_TXQ_LOCK_ASSERT(_lsta) \ + mtx_assert(&(_lsta)->txq_mtx, MA_OWNED) +#define LKPI_80211_LSTA_TXQ_UNLOCK_ASSERT(_lsta) \ + mtx_assert(&(_lsta)->txq_mtx, MA_NOTOWNED) #define LKPI_80211_LTXQ_LOCK_INIT(_ltxq) \ mtx_init(&(_ltxq)->ltxq_mtx, "ltxq", NULL, MTX_DEF); From nobody Mon Feb 19 16:40:02 2024 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 4TdpDQ0JV1z5C8f7; Mon, 19 Feb 2024 16:40:06 +0000 (UTC) (envelope-from avg@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 4TdpDP6t0fz4Y29; Mon, 19 Feb 2024 16:40:05 +0000 (UTC) (envelope-from avg@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708360806; 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:autocrypt:autocrypt; bh=1Cd9c8QPUFolDt8bBq/pC/nTjHuCDTXp+o5blNU7/rk=; b=U+jBF0VxomLcI75uG7/045AQwSJWsmBmFo2rN4k9wG4GN+y9ufENX5q2KoApCrEOHeaYpW xPR2l5iCZC0B15fyHTdgM7yEh2mZL3AcivHgmv8UcxqLCY9tlRrETGUc4iZkGlXwUAdPeU nR9mHCNcjESimstdhZgwIsf3tIaQtwIEwRcjqP8z9qu+dUxbofqBayOri7WeWMMD088whD vkAbe8fDGgA4L9PehwHLwH1JCtmtRwKy68Ej3PYZZqg4BACT3u4vOeHiAhlLBw0V5fhu4j SzxI/vivjd7b/hCSP+k/y5IZ11HtXbK6+aiHKT8ZDW7bV+2khUvCNwVJ+xBneA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708360806; 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:autocrypt:autocrypt; bh=1Cd9c8QPUFolDt8bBq/pC/nTjHuCDTXp+o5blNU7/rk=; b=smdbHr0+sloJw/bxbnY1szZQrILQPYajVh7aX/DDm0HMjNUW0Ya44Gl4SJrExjpkBGIuhc QtGb6D4R0tDru29KtBGUPUKoWAt+Wge6CbGwffJo0a1DALeXAqlSvKeKTYLzygBTUsAlIy b+VuJRwOqnS4Np4V2m26CeTU9Rjre2hwAukuYNsDyDFkRz9nbB4nqzM8zpHdeV/klVy8A6 VGroe31GE30i3UAMSsVRq6LWnoxntlO1HDKRTRQCzvolcccuSgzZsLi88UNR37j2LC/FK7 EaJ51qTrxpBS28Wl6meUGJBwHlULtTRYxy0TCnpis5j073DLKjhbFzhKsBOuDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708360806; a=rsa-sha256; cv=none; b=cM6vpHkUgZEb6T13s4HUZ9DXXVQ68lWIwtY4y6WqdNAfxuAuF3Psicft63MX3RGiHcPaVB IX38RiJF0LF4MaV6Y4+IGM/eDAkPiNSczLr9K0I1AMbFtECrk7BRW9hNCnOWs+j5sz7v2R N8YjyYiIkrcmtikEmgVe+H/sQikNz2VCuTEav23rsioJkVCol7S/nyTAjVTv8049IlLA6J fB7JRDYw02q/xQb3/4ohAgXZr0dYGC1OE3zw19cDgvJrRitDnFmZ6EAJC8jDfZKKbEGqcR 2Eey67WE0NxfZKhHCkynoZGutAkWiR+3BH6e3zQUS4tSvq5cS+WO0WE+lGDJbA== Received: from [192.168.0.88] (unknown [93.188.39.137]) (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: avg/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4TdpDP0tq3z13Kw; Mon, 19 Feb 2024 16:40:04 +0000 (UTC) (envelope-from avg@freebsd.org) Message-ID: <6a73f7bf-dbe9-416b-a6d0-dded14285574@freebsd.org> Date: Mon, 19 Feb 2024 18:40:02 +0200 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 From: Andriy Gapon Subject: Re: git: c01af41c3c8f - main - ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs Content-Language: en-US To: cglogic , Warner Losh Cc: src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Autocrypt: addr=avg@freebsd.org; keydata= xjMEX1iFDhYJKwYBBAHaRw8BAQdAiu8JG/oLFkVkOAJqJc7Dx5KI/Q6C3SBI20EQm+DXnAvN HkFuZHJpeSBHYXBvbiA8YXZnQEZyZWVCU0Qub3JnPsKWBBMWCAA+FiEEyCHHZM09l0OE3Ir/ 1A1+Gq8+L1EFAl9YhQ4CGwMFCQeEzgAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ1A1+ Gq8+L1Fc0wD/ZjmhHfbCJywZU3aOxXIPjcz73FYEGMvqMCCLAWyLbSABALFL+1ZNrjV3BGjq 889cOYFuboA/Yn3eWezS+tfqYBsGzjgEX1iFDhIKKwYBBAGXVQEFAQEHQL6B20Xi600TrkpG P9fWjl7JtHNxqrHKhX6Kg7kgb4ILAwEIB8J+BBgWCAAmFiEEyCHHZM09l0OE3Ir/1A1+Gq8+ L1EFAl9YhQ4CGwwFCQeEzgAACgkQ1A1+Gq8+L1F3cgEAktp4h+IJUJxL1vn6zMOt//znni/J TanKfQuA8wGXcGkBAKpZJhqMkg+pKk7MGvJhgJ6nCpTZ+rMK6vZVZLUWc3QF Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 19/02/2024 18:06, cglogic wrote: > Hello Warner, > > Thank you for detailed explanation. Looks like it has no sense for me to worry > about disabling NCQ TRIM on that old PC. > > However it would be great to have possibility to apply such hardware bug > workarounds for affected controller/drive pairs only. > Or, at least, have possibility to disable such quirks on per drive basis via > sysctl. I didn't find such a possibility. Yeah, we do not have a way to control ata_da (and scsi_da) quirks via configuration. It would be nice to have it, indeed. Also, perhaps what ADA_Q_NCQ_TRIM_BROKEN could do is prefer a different delete method by default. That way, NCQ_DSM_TRIM option would not disappear completely and it would be possible to set with kern.cam.ada.N.delete_method sysctl. > On Monday, February 19th, 2024 at 5:18 PM, Warner Losh wrote: >> >> >> On Mon, Feb 19, 2024, 4:29 AM cglogic > > wrote: >> >> On Monday, February 19th, 2024 at 1:03 PM, Andriy Gapon >> wrote: >> >> > On 19/02/2024 12:47, cglogic wrote: >> > >> > > Hello Andriy, >> > > >> > > I use ZFS with autotrim enabled on Samsung 860 PRO connected to Intel >> AHCI SATA controller for 9 years without any issue. >> > >> > >> > I think that it was released in 2018? >> >> You are right, it's 9 years old computer, SSD was added later. >> >> > >> > > Can I disable this quirk locally or have I revert the patch to >> continue use NCQ TRIM with this SSD? >> > >> > >> > I don't think that there is a way to disable the quirk, so you'll have >> to revert. >> > Note that ATA TRIM is still enabled, it's only NCQ TRIM that got disabled. >> >> From my understanding ATA TRIM is non-queued TRIM as opposed to NCQ TRIM. >> With only ATA TRIM enabled, drive will have increased latency when large >> amount of files deleted. >> >> However I'm not sure how ZFS handles TRIMs, maybe it groups several TRIMs >> and then sends when drive is idle. >> Another question is how this affects TRIM enabled swap partition. >> >> In general, if I'm correct here, disabling NCQ TRIM should not be an issue >> for desktop usage, except for large git repository updates, etc. >> >> >> In general, it won't matter a ton. Unless you are seeing stalls because of >> read/write I/O waiting behind trims that have to go to the drive one at a >> time, the effects are in the noise. If you are seeing that, though, the >> effects can be quite helpful in terms of latency... assuming the drive is >> cooperative. The benefits of it vary a lot from drive to drive as well. Some >> early drives still serialize the trims, so the latency benefit is not so >> great. Some enterprise drives do trims instantly and keep some internal state >> that is helped a lot by them. But if NCQ trims are unstable, we likely should >> err on the side of disabling. >> >> The errors that Andriy was seeing typically are cable or controller issues. In >> his case, it was a controller issue (apparently, and surprisingly, paired with >> a specific type of drive). Linux has a specific workaround for the pair, which >> is unusual. But there's two issues at play. >> >> The first issue is that these drives should have NCQ Trim turned off, >> according to Linux's commit log. This may be firmware revision based or may >> just be some people are luckier with newer firmware (it's hard to say from the >> mixed reports, but they read more like luck than version for the sampling I >> did). So Andriy's change is good. The second issue, and one I was confused on >> earlier, is that Linux goes a step further and disables NCQ entirely for these >> old controllers for 860 and 870 drives. This isn't too surprising. We have a >> workaround for PMP for these controllers already.... One can disable NCQ >> entirely by setting the tags to 0... Given the specificity of the problem, and >> the age of the controllers, I'm inclined to not implement the Linux workaround >> for this specific pair. -- Andriy Gapon From nobody Mon Feb 19 16:42:12 2024 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 4TdpGs2Dl2z5C8Yj; Mon, 19 Feb 2024 16:42: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 4TdpGs1Lc3z4YSk; Mon, 19 Feb 2024 16:42:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708360933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oEsysHNBXcbJajlufUFuWN835qolhbvFeRT3gA1mL4c=; b=MIYErKN1Ez/9ozUjzlaxMsPp5q7EHY6ASFWLMi4hbweXshvNHeZFgjZ9oYKufchDFQRXC9 aHKrKRroH8mm49TaG2/tgk6eT65sqVZhwRknN0C85hU1kVdxKCLx5SLbfFXEvn8iBN6OJR Z+58dJl5dfFlT9tjXYM+ngV/qgxLFzBDsiJlFBUcT9GPqTWFIVZkMwi6sLwOAVHbDHe/D2 TCNV3Np52GKQwCLN7Pe7HKhv8zEVf6jjAMhUHImZ1TeTsBJ75D36hLPzppr1p6Wlazo8yG mcDqGcdzzI0zTeTk8/WVPH3r7SO1NQd+TfXay4HIzAQNgJJucdr5TCuSjoP92g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708360933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oEsysHNBXcbJajlufUFuWN835qolhbvFeRT3gA1mL4c=; b=Gu4coI8NAcIZi6eZMJd15g8GIyIYEtnQOElHN/rpMTjT90CJqDNPHufI6ViZEvHDYQp5nR vXg2W5EqV024dM0lQsrqmPCPsGQikrRHa4eSevFLGMDI/Z6nAWCKaW1+NZknjhL9XKgmXY zQGOwAuRS89VNmwYoewRmg/Mjut7QD5e5D1vbMiBDFeoclbVUUW0eSVqsAws/ywyj6aL+f S4a927QsBgvq7tXQB/AISi89t5Be/NS/OWfGq22b89Ljj3OFuguWNYjjadLGUTW0rMMeJD qfnYkRrrz2iAhHdl8vhXBhxbt6y/wQOs+8V756IYWudqf4X1iO6eVcVE6F6Urg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708360933; a=rsa-sha256; cv=none; b=ZYLpYvfXu6v7jXrCwT1lBbgviT9+6fCssWRkwDutZAeJoVKyeE4ZJve5e+of8hMBCXfgir d5G+METWXlFhevv9DGam7gVGjAgkYOQaPeS4EZr/fZ2pxVfmsmii3W1P87CCuHXUOVm55K yRV0XA0R6CC7V7TSvm6PRGXRW5JrwABPVX9d65+03Bqr1QfsYd+YtbV565CBakqFj+b2uR n8DRlD4zDVqQBbIWvIZviQxmD+QPoPNKi06+DNTroccP1X96kPOpCGghM9t3Jaz6S8VeDV tmx8ucWv6KW6+8BUE+tYYtVVdYb3ZCa6UQYg6b7pmo2YlBFEzliiCzwSoLOHAQ== 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 4TdpGs0QgZzjGX; Mon, 19 Feb 2024 16:42: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 41JGgCme093159; Mon, 19 Feb 2024 16:42:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGgCta093156; Mon, 19 Feb 2024 16:42:12 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:42:12 GMT Message-Id: <202402191642.41JGgCta093156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 6a3c02bc5289 - main - sched: sched_switch(): Factorize sleepqueue 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a3c02bc52892eb09c3b766562b8ddb452c393a9 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=6a3c02bc52892eb09c3b766562b8ddb452c393a9 commit 6a3c02bc52892eb09c3b766562b8ddb452c393a9 Author: Olivier Certner AuthorDate: 2024-01-16 09:42:11 +0000 Commit: Olivier Certner CommitDate: 2024-02-19 16:37:19 +0000 sched: sched_switch(): Factorize sleepqueue flags Avoid duplicating common flags for the preempted and non-preempted cases, making it clear that they are the same without resorting to formatting. No functional change. Approved by: markj (mentor) MFC after: 3 days Sponsored by: The FreeBSD Foundation --- sys/kern/sched_4bsd.c | 5 ++--- sys/kern/sched_ule.c | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index efcd9b7cb250..f0fffeb08e2d 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -1041,9 +1041,8 @@ sched_switch(struct thread *td, int flags) } else { if (TD_IS_RUNNING(td)) { /* Put us back on the run queue. */ - sched_add(td, preempted ? - SRQ_HOLDTD|SRQ_OURSELF|SRQ_YIELDING|SRQ_PREEMPTED : - SRQ_HOLDTD|SRQ_OURSELF|SRQ_YIELDING); + sched_add(td, SRQ_HOLDTD | SRQ_OURSELF | SRQ_YIELDING | + (preempted ? SRQ_PREEMPTED : 0)); } } diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index ebd7139fa612..c0d085fcf906 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -2227,9 +2227,8 @@ sched_switch(struct thread *td, int flags) TD_SET_CAN_RUN(td); } else if (TD_IS_RUNNING(td)) { MPASS(mtx == TDQ_LOCKPTR(tdq)); - srqflag = preempted ? - SRQ_OURSELF|SRQ_YIELDING|SRQ_PREEMPTED : - SRQ_OURSELF|SRQ_YIELDING; + srqflag = SRQ_OURSELF | SRQ_YIELDING | + (preempted ? SRQ_PREEMPTED : 0); #ifdef SMP if (THREAD_CAN_MIGRATE(td) && (!THREAD_CAN_SCHED(td, ts->ts_cpu) || pickcpu)) From nobody Mon Feb 19 16:42:14 2024 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 4TdpGt304gz5C8bk; Mon, 19 Feb 2024 16:42: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 4TdpGt2LYLz4Yhx; Mon, 19 Feb 2024 16:42:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708360934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ib8/HTtv8VBUDspPkF4AcKo+qnKrPkE+jMtxYMemg68=; b=THPYF6JUdOq/NZZHDdqDiuttQ4pvEnZJmC7QU/fjJ2M7zi6eJ9llK4/XpVCe8LmjLFl3JD rd9NCtDyy5wjxnMapkODsCAUGI4WSXg+0MSfLCvRHsdMOrCTkqBZgfJSDKeLYSHBDL/tqI 9Oai/+VBbfyWbcLr4X/RbinA53sRk8pmMeu6L0Q1VmxBGDpKtu1AaMP1DubUu+1pbRW8ig rpOJFop9FfmV3PWSjERGvlRpO9YdMfr/xBwATSDIBpUQ4GUte8T3pqGEf+j/LTI3U2OXg0 yNuiF98KQFrrHx+lTDKXRM/EcVTqxhrX4Vaf1utwLhaDSjXEaTkoEYKtyag5Uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708360934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ib8/HTtv8VBUDspPkF4AcKo+qnKrPkE+jMtxYMemg68=; b=g0Z7g9LJWayEmhSWhvfaQY2EAKUsJQ+yPx86qQ3mF0E8UFB24W+4vBkpihTBRG8ANqKYo7 N4FDH5ZVBl2PbowlBJ8ZFfNlNIBxCxW0TKOr2II7JtA3Z4bwGhtDMHw/x9qZewK6cGUlAd u0udaovh0bkoniRTyG1ZQc9nHyTzmJxBzILRf0xxyRttGbYrQdZoKXzj2c8rooeO8U6wnj 5+GkTyQlWxEBbIUWb2aIEjDbQEDgl/+Wm3MYlH0gtu4U8VyE+bPrjRdIZT7MYvnZhA0w/S VH/I+6+I2jzyXm/Z14ZO+244QfjrMsZ3iR34UWf9VbxAacWhDc7kHlHTehptkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708360934; a=rsa-sha256; cv=none; b=s9cHuDjzkKumoYGwyurFGucPvY4o94qqe2w5kdYK3LrSsxq5u6FsW+YFEXRya0yLfBeru1 RGy4V6oIGkHS/jtm2Zt7tpvu4M10s8Su/Z9u+ss+/C1ToYsttoNUq/XYEkfJzU6t8OPw0i di7myzQ2OGqfrT6sq7piWlkEp/2m3UIqjrk0QgUm8zQxigwJjeFq1zexx+RuNs89EwI/R0 pmL3mIhM6UaAaxa0Ka1z4/GqCJEtn50uy9Dn+JDu4cAmbXEb8RX3+vy3UqCYDzdOPQ7ZJM 0F/Ka801ALP09YjyHNBBfz81FI5oB8MJjdByJb8uDQPMWmt+Y0RYCIKwa6HH/Q== 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 4TdpGt1PdczjD5; Mon, 19 Feb 2024 16:42: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 41JGgEGT093204; Mon, 19 Feb 2024 16:42:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGgE4u093201; Mon, 19 Feb 2024 16:42:14 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:42:14 GMT Message-Id: <202402191642.41JGgE4u093201@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: bcaa0b4c2bab - main - umtxvar.h: Add missing 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bcaa0b4c2bab2866d5ee11c9eb8900a70bdb21e1 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=bcaa0b4c2bab2866d5ee11c9eb8900a70bdb21e1 commit bcaa0b4c2bab2866d5ee11c9eb8900a70bdb21e1 Author: Olivier Certner AuthorDate: 2024-02-08 20:11:17 +0000 Commit: Olivier Certner CommitDate: 2024-02-19 16:41:34 +0000 umtxvar.h: Add missing include Necessary to have the definition of 'struct timespec'. No functional change. Approved by: markj (mentor) MFC after: 3 days Sponsored by: The FreeBSD Foundation --- sys/sys/umtxvar.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/sys/umtxvar.h b/sys/sys/umtxvar.h index 216c7a3e2cd1..647ee2a4650c 100644 --- a/sys/sys/umtxvar.h +++ b/sys/sys/umtxvar.h @@ -32,6 +32,8 @@ #ifdef _KERNEL +#include + /* * The umtx_key structure is used by both the Linux futex code and the * umtx implementation to map userland addresses to unique keys. From nobody Mon Feb 19 16:44:47 2024 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 4TdpKr1P1rz5C8xj; Mon, 19 Feb 2024 16:44: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 4TdpKq2TJMz4Ztr; Mon, 19 Feb 2024 16:44:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f6jcuBSrXhVFPatcLj0jsDyc5otFH82Zl/tXZ0olgng=; b=IlnoWYHn8V13KLQuN3JcHNvx9Cfo6KrdHMl/+j5iukLaiSMAqFDLrRqnkGd3mjBzUygbzU X9h7ux/iu1h7lp5qfngXQ6RfNyeF4bjncLEzudVpoNE8UYtYXmbjSO/KevRDHFUTzgRJyu Y6dym8g4wTwZCJRW4FeUlNPCVtKPWNmgmiQ1M9X2/PWwPgcRufhtunN/0RWCSMtCNC/X4s GnGaVBKH4eYgSXYUMqLlxEDlvNc05MV2OUJWJ/GQaLibWQiw/aH/aQqwiqh9DCHTVYTIFT LggSJMFYedPyQ6wJaellykYAg2QS1mWIGQqiiuhc8H3/CzmTjdj4ReILFZTXjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f6jcuBSrXhVFPatcLj0jsDyc5otFH82Zl/tXZ0olgng=; b=maYFRVT2GQUMCRmxH8PXqTdAEZTYWOK+Zt2DaiHQpphkFMhL9Cgsu2LerCyyoMXyOlrGBX 5zUPAOmjquQo9jEz+Jf+oLnDDVmOaQ2rrelqP1A3q3LpF2104IwwNH7w5VQN/HxJNRo3Jq ate0KSmO+Wg1i95jfHfkxegQ/VzGDL7Gf+eX90klPJPyVf/k1XV/yIkX2t6JUMbUS41T4+ z4+JSjHaDQQczUMBDOYwBsi0tc5DBQgiu9u3qOAgC/yaOdFwAWw6ZlV7ReFqtEPJ9rSPtM yqAWUxMzlF5gi8YnSK3z07OrUJ1SJ644B1kr41/BKUnh2H7eDa60d7OnBrlgPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361087; a=rsa-sha256; cv=none; b=l7Zpj1BFNEe2WNkmbUNk4kU66sMSfseJjH3FZj8NL69sn7/lgIJQRADVlhsAesDEhlSzie y3+BHFIsd9lrgUjFS9/9IcJZcDFG+ma07QCE+aCvkVeynzgDEECc81CjgsohSKtOcRmLpF a68/niQK3w0n5b4aovRy0rZXHmjdAeffADiJ+KFyn9HGqIF0JRrTeu4Wpf/YQZOFUBzN1q 23zzqz2VewF5hBBACShamNEs0nfLL3W3JxHQuIH9qedX/0Ev5PZTiH8rxSLqXhblOJxdrn /ugZDWYYaMr8uk+gvPNUmPnLrbi1D7hkZ14cnXHhbc/GjAGIqe2j77RRKbriZQ== 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 4TdpKq1YPwzjDJ; Mon, 19 Feb 2024 16:44: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 41JGiloU093865; Mon, 19 Feb 2024 16:44:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGil2o093862; Mon, 19 Feb 2024 16:44:47 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:47 GMT Message-Id: <202402191644.41JGil2o093862@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 371bcfc8a245 - stable/13 - arm64: Fix the TCR_TBI0 macro to use UL 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 371bcfc8a2450fbf0dd741dd0f25a5dccbc4b984 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=371bcfc8a2450fbf0dd741dd0f25a5dccbc4b984 commit 371bcfc8a2450fbf0dd741dd0f25a5dccbc4b984 Author: Andrew Turner AuthorDate: 2023-09-08 13:27:15 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:38:03 +0000 arm64: Fix the TCR_TBI0 macro to use UL This needs to be 1UL to ensure the type is large enough for the shift. Sponsored by: Arm Ltd (cherry picked from commit aea540538991dd9e8cf21c6ca06e09f706bf2d18) --- sys/arm64/include/armreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 314330021495..be070a451691 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2086,7 +2086,7 @@ #define TCR_TBI1_SHIFT 38 #define TCR_TBI1 (1UL << TCR_TBI1_SHIFT) #define TCR_TBI0_SHIFT 37 -#define TCR_TBI0 (1U << TCR_TBI0_SHIFT) +#define TCR_TBI0 (1UL << TCR_TBI0_SHIFT) #define TCR_ASID_SHIFT 36 #define TCR_ASID_WIDTH 1 #define TCR_ASID_16 (1UL << TCR_ASID_SHIFT) From nobody Mon Feb 19 16:44:45 2024 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 4TdpKr0kYnz5C984; Mon, 19 Feb 2024 16:44: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 4TdpKp1XNdz4Zr8; Mon, 19 Feb 2024 16:44:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=InXX6hKhjhEGHZpBZgrVSpSNjBiHNdGZI2IGSs/RZN8=; b=vSHDuQSooR1mK7bbemayOkOlHzI/QLY5FTf2vctEYtaBgVRfNq9F1BFfwZT/ybp1Ghj3LK NGhnDgleCn0de1bPLNkkCmSxre6l17aI/CSXmcZ7gH+Q/WHH+lLM0GAQNmEdDS0k9z2k8b lldmaoED7wKB7JiQVeoi7n2+rDXHNt4paXfS7ZOrdhFP62E5tvhuAbvPShFSnQiD0DH8wo k5KWEpS6myf+10L/Ph6L7x11hp/o+b1fIMBJDoqMzGeivJWT8a9acIWBwmw0Beuj1u7t4F Ffcn872dTcpJKG3BPAFVPdrbAH/S4LEaDhhocVtXYcWul6wg4FvxmSCAHRJPYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=InXX6hKhjhEGHZpBZgrVSpSNjBiHNdGZI2IGSs/RZN8=; b=J91VMdmXk/HVpDamtmO6Qjawk4P1GAv99+tkthqpV8td26lYSsEd6TJEf3pMVJfsNrpvtO al/J0haFPiUydCbqlpw2VwpPJ/NdiXrRKCdoAacQkwKyWmDQ0ignI3LILtAObpRA6tkBoL jNEoB6ge90wrA2kS36yfDksRgwPYOpooCMVtpey39+fz/IsnzF739myJYJMvYX2MdbQsRM 0aBQA6QwsK+Nssrl86A1+Nk3lNRGDeAsH3TF7EMxN0JGV80guAotk56XqMHI/GZkGhVIoA QFrldgWprhuhz0B1hPNPUovP9L8fkyP2VRBmi9tGQO4KoFzV/Fr+9ksYRBuqlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361086; a=rsa-sha256; cv=none; b=FI0C5s7LA+CRVu+8HJnr9oDIObnTt5ltCyDOogKTy6jCTdsiYUe9GD0XL9FreQohu1/Is5 JB8OJU12MgtVaSx1YE1kpBMS7NOTAzaTvKiTW4YqdzgJuJhzbaeO7t8GxyysvzHgnT4t83 VgZ77tNOxdDZKGj9AZKAwoHoz/bA6zjiaf7f3Vbsmq4dgDz+ErDkxnXfTGCAsP+p3hOmai 8YdBVuz7d2QaEUhpfUoy5TwIuR7Yx9xhx3d2qaOuDOpItcWpKFzbP/3BbEpXRGaSq1HGcG xexJFhTcXnH3K1+XXLcUQC2NsSuCPH/q4mXfS7rkgfIrbnc2rdm6CsgEpdp2RQ== 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 4TdpKp0chQzjDH; Mon, 19 Feb 2024 16:44: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 41JGijH0093812; Mon, 19 Feb 2024 16:44:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGijB8093809; Mon, 19 Feb 2024 16:44:45 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:45 GMT Message-Id: <202402191644.41JGijB8093809@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 9fbac657f11b - stable/13 - arm64: Enable FEAT_E0PD when supported 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 9fbac657f11b868186ea4ad52af203d9c94ebb51 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9fbac657f11b868186ea4ad52af203d9c94ebb51 commit 9fbac657f11b868186ea4ad52af203d9c94ebb51 Author: Andrew Turner AuthorDate: 2023-09-06 11:07:41 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:37:44 +0000 arm64: Enable FEAT_E0PD when supported FEAT_E0PD adds two fields to the tcr_el1 special register that, when set, cause userspace access to either the top or bottom half of the address spaces without a page walk. This can be used to stop userspace probing the kernel address space as the CPU will raise an exception in the same time if the probed address is in the TLB or not. Reviewed by: kevans Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41760 (cherry picked from commit 9e2cafe4fb901214903484998adf51a6cc5e4ebb) --- sys/arm64/arm64/identcpu.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 200841782f03..cb7850c2aa2a 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2090,6 +2090,31 @@ cpu_features_sysinit(void *dummy __unused) /* Log features before APs are released and start printing to the dmesg. */ SYSINIT(cpu_features, SI_SUB_SMP - 1, SI_ORDER_ANY, cpu_features_sysinit, NULL); +static void +tcr_set_e0pd1(void *arg __unused) +{ + uint64_t tcr; + + tcr = READ_SPECIALREG(tcr_el1); + tcr |= TCR_E0PD1; + WRITE_SPECIALREG(tcr_el1, tcr); + isb(); +} + +/* Enable support for more recent architecture features */ +static void +cpu_feat_support(void *arg __unused) +{ + /* + * If FEAT_E0PD is supported use it to cause faults without a page + * table walk if userspace tries to access kernel memory. + */ + if (ID_AA64MMFR2_E0PD_VAL(kern_cpu_desc.id_aa64mmfr2) != + ID_AA64MMFR2_E0PD_NONE) + smp_rendezvous(NULL, tcr_set_e0pd1, NULL, NULL); +} +SYSINIT(cpu_feat_support, SI_SUB_SMP, SI_ORDER_ANY, cpu_feat_support, NULL); + #ifdef COMPAT_FREEBSD32 static u_long parse_cpu_features_hwcap32(void) From nobody Mon Feb 19 16:44:44 2024 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 4TdpKr0cC4z5C9Bb; Mon, 19 Feb 2024 16:44: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 4TdpKn2wMPz4Zyk; Mon, 19 Feb 2024 16:44:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dXW6cqVwPInlhfj1JDByKBWfP3sMLDGIBUBU9l/rx+8=; b=aQ126EILQoUFAB/Y2/qX6XFmBjGEFEDIXKgyQE9d+72PdyYDfnQ6/VTMo9B+qVhqK3jaYo YB3eV04kQmxmacUIYztFcNaZCUPa1z+Mm1i3ToiME6UDaZ7bcJw//9rsxVy2D0t6GVly+4 /+lF8h9fMY9jzhQhA7aXn+f4TABqK/IqZB9WYohrfyk5/2NhdoiXL/ZOQUU0o+60UYg9Ur 1iiDkob4wdFRXbbv3wQ1mHHrCril8aWqMjfT8VHBNBXucww92xm28AiUMyMAuUvnM0mYE+ y6HE8tIhcEv81HlXgErXj96940SYvXKTtvpU2mlSFflWJHtqa6zarIejq1N+ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dXW6cqVwPInlhfj1JDByKBWfP3sMLDGIBUBU9l/rx+8=; b=g6bIcNFQHqT1vOCtPIisEcRfvGpg1XtVdsscelefEAWWLenfDvhppgjR3sUW5TJPVhwDdJ 7+S7fq19xb462crBdf0zsVr5SYxVf43yUBy431ptIlILA+XgmZAKs/5GDBWNVx5FbwIXga 24hxV+rk/G+By9yw9vcgfQn3zVXsiT92DFaZtB9zVlIlKiBrfXsIFaXyhaLSpuedu1BVS+ qtOVXgdPAYKXAWd/1uvFyBncX5JSAqgj3D60VJPBUBEZYc53FD3q1NxJAHpF7qNrKHQJFP r8rH5wRsFjUrHck0ow7DiLsebBPsWX9uFvULPYCaFqNWe9D+IsUnpQwDXgJcJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361085; a=rsa-sha256; cv=none; b=XTgHnQlMUri4Ghascdqc04WDhvpg+xEjhaaFl4PFXuMDYEpVUUNbTRg0SBMrv/7CXuqTNx iaGXLok7o8uaMgE2i2WxIKxJO9EYJ8bxuaj2YNQbs/vmlbfOtot7vXrjICZxdmErd02MHm mbe2rxiJkXZs8kUHMktACTtK11uqExTP5RTKrUcemOtqrevDCQOKln1aTfYpZlIoXS80bx n/uUHLBPdQAIyyfP4V5vyQZjBtw8U6BcwOrUzv0y9AqQN4zP85QrzuRiEbmwVb7JkD/lgD eTDDol/bwEvTsd3tt1Pe9MRhtEu6d5qApEn6utW2OoiHZiIxIUFkkhow9CvZtQ== 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 4TdpKm709KzjDG; Mon, 19 Feb 2024 16:44: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 41JGiis8093769; Mon, 19 Feb 2024 16:44:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGiipr093766; Mon, 19 Feb 2024 16:44:44 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:44 GMT Message-Id: <202402191644.41JGiipr093766@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: d73a0b6014f2 - stable/13 - arm64: Fix the TCR_EPD0 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d73a0b6014f2048f1e885f9d93dd7016cf5fbda2 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d73a0b6014f2048f1e885f9d93dd7016cf5fbda2 commit d73a0b6014f2048f1e885f9d93dd7016cf5fbda2 Author: Andrew Turner AuthorDate: 2023-09-06 17:32:15 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:37:15 +0000 arm64: Fix the TCR_EPD0 definition Sponsored by: Arm Ltd (cherry picked from commit 8f26d01f53316c055cc1116eb56ff438da50d831) --- sys/arm64/include/armreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 2f2cdf08585a..314330021495 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2126,7 +2126,7 @@ #define TCR_IRGN0_SHIFT 8 #define TCR_IRGN0_WBWA (1UL << TCR_IRGN0_SHIFT) #define TCR_EPD0_SHIFT 7 -#define TCR_EPD0 (1UL << TCR_EPD1_SHIFT) +#define TCR_EPD0 (1UL << TCR_EPD0_SHIFT) /* Bit 6 is reserved */ #define TCR_T0SZ_SHIFT 0 #define TCR_T0SZ_MASK 0x3f From nobody Mon Feb 19 16:44:48 2024 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 4TdpKs6mtsz5C8v8; Mon, 19 Feb 2024 16:44: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 4TdpKr3Z2pz4Zyv; Mon, 19 Feb 2024 16:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0DpbtCbyxGGqgPCDH/yuBi5zTSXR+OHWLnAzMzJtBqc=; b=ZZcndlylw6+MgznPaBfmpnm6TDZCkFfEWO6FSQgowiIjB4iooW6WUVKwSn2KPlufvVQiuC y77wnzY/XV8/PBd7p2CchYQSno9g59fw7UzCb1d29M483UGF64pr6K4MEUZIOetXCCcpdP aKftFLIdys2zE9yx7pfdR1+gX+aqQ6d2Fh7NZ2FVAbY3vo6qNBjJ58On8kezyGyoJmyBn3 As21gE71yCg36xIqGD1V85HqFlSTccgEIjF6+Wt43s0BV3HUJD3xtmIrknBXE17wzSNrQc cYVBiIDqABwwQPOSBYlrJBj5TaWfVHu3v/1TyG9FYbVgHRlLHrscf6KUEP4GcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0DpbtCbyxGGqgPCDH/yuBi5zTSXR+OHWLnAzMzJtBqc=; b=TbY6UfgWiqt6XMcbWZpzOP2c/XefrHxc5Dx7k+ovOW/G8qiQ0y24AmamVfa2Iy43m+UVtt qbiYeMMy2yqRxITrDvvgar8hyFzb0puSKP+SGZMkfdTDieA22U6IHs8Lej6DIjTFe9TFcf fzSwnnfe3p3MAAKEHjq7V1FFaXNdgtir4zrbp8cZvYsyQ4atuvXIjFdyF0+RTDzHAUlZu9 4MdJJvgjOetkclRhax2PpJYRQYIhCipf+fP1q5m1WLBpufDMAcOjWCFVIwb0w6pKq1tvnI QSeG+T8ZPPlZ77+nGrmZ4TNmP1MGBnvzBfnbIsrpLCGjUa26EOh2kNI+cY6WCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361088; a=rsa-sha256; cv=none; b=UrosdR+K7EUM3YDG00J5AHvAb0aKGx0w5X7Wz1sCwbEgW85E5a+KJmZ0HjLemBbUYd9cTC tIjatRk7xeGCMSlwaReJWIzpLjA3EdoTP3JdIVM3HkpZRAMyHLgMnLdW0wmdA/fb/9Y4QK iTBzKzsteD6ywPVUg3zNTnu9NLm+TO/Bd9qsugPeEjQ3PtWEP6b7frDBwJVbupl3OAeC7W cnhOnxAZl+J9Airkt184kPCR82P2KNJgRGCr1ppO9r4bD3Jio8eiHlFASB2lSXbWejGOIC KdNeGR5OBh/uWPW/n+UFB2MmKmpJiTPu8utOCEDDXIJVYG260Zxu5xc140X1Kw== 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 4TdpKr2Z33zjSL; Mon, 19 Feb 2024 16:44: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 41JGimXh093917; Mon, 19 Feb 2024 16:44:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGim8f093914; Mon, 19 Feb 2024 16:44:48 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:48 GMT Message-Id: <202402191644.41JGim8f093914@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: db5176875809 - stable/13 - arm64: Add TCR register masks 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/stable/13 X-Git-Reftype: branch X-Git-Commit: db51768758097c64d5a99b5efd210f57ea22c122 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=db51768758097c64d5a99b5efd210f57ea22c122 commit db51768758097c64d5a99b5efd210f57ea22c122 Author: Andrew Turner AuthorDate: 2023-09-08 13:29:19 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:38:31 +0000 arm64: Add TCR register masks These will be used by bhyve to implement page table walking. Sponsored by: Arm Ltd (cherry picked from commit a35e47369f88e8c2e14b7371a1a5e1152680551f) --- sys/arm64/include/armreg.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index be070a451691..e2395951f524 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2100,6 +2100,7 @@ #define TCR_IPS_44BIT (4UL << TCR_IPS_SHIFT) #define TCR_IPS_48BIT (5UL << TCR_IPS_SHIFT) #define TCR_TG1_SHIFT 30 +#define TCR_TG1_MASK (3UL << TCR_TG1_SHIFT) #define TCR_TG1_16K (1UL << TCR_TG1_SHIFT) #define TCR_TG1_4K (2UL << TCR_TG1_SHIFT) #define TCR_TG1_64K (3UL << TCR_TG1_SHIFT) @@ -2114,8 +2115,10 @@ #define TCR_A1_SHIFT 22 #define TCR_A1 (0x1UL << TCR_A1_SHIFT) #define TCR_T1SZ_SHIFT 16 +#define TCR_T1SZ_MASK (0x3fUL << TCR_T1SZ_SHIFT) #define TCR_T1SZ(x) ((x) << TCR_T1SZ_SHIFT) #define TCR_TG0_SHIFT 14 +#define TCR_TG0_MASK (3UL << TCR_TG0_SHIFT) #define TCR_TG0_4K (0UL << TCR_TG0_SHIFT) #define TCR_TG0_64K (1UL << TCR_TG0_SHIFT) #define TCR_TG0_16K (2UL << TCR_TG0_SHIFT) @@ -2129,7 +2132,7 @@ #define TCR_EPD0 (1UL << TCR_EPD0_SHIFT) /* Bit 6 is reserved */ #define TCR_T0SZ_SHIFT 0 -#define TCR_T0SZ_MASK 0x3f +#define TCR_T0SZ_MASK (0x3fUL << TCR_T0SZ_SHIFT) #define TCR_T0SZ(x) ((x) << TCR_T0SZ_SHIFT) #define TCR_TxSZ(x) (TCR_T1SZ(x) | TCR_T0SZ(x)) From nobody Mon Feb 19 16:44:49 2024 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 4TdpKt0xMcz5C93L; Mon, 19 Feb 2024 16:44: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 4TdpKs5G0Fz4Zx4; Mon, 19 Feb 2024 16:44:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2/8MAqvQW1t/omdaJWfx5CLBjYjk36rg0+INcS8NZi8=; b=hYxOerbIdF3u+aFTUdl/NQ2u/U1ZGom2u4MxwiR3h6uulFzJyFnQAULLpAwzQi9GeubvTx 6yo95sa5Qlc1D8uGS5hR6whRtrH5lvAZ+wELDGdwg0tqARMwlYkW3x9xSHf6aWVPoS7HLn 5LvSi8iXZEZjxQnbvo+n4k2OFlOsbdM0JuSols5B9v8q7dRaQJyjrarv95s6W2gt4NbX3j bqWn2mK+r714mO+kiavWyZVPBQBxczQrCYsyAUQ2SBo2/QExhdLhiM/U+f9bv0j0qrsTHL Go5OhmtZrEVY0m5li/k8IBgO6oEtSZQoBNs6Rk4D1Td7uLk+de0UuSBvBZK4ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2/8MAqvQW1t/omdaJWfx5CLBjYjk36rg0+INcS8NZi8=; b=ibIB24sHqRtJ/g/19xt9Gj8e9A1sPG0noDxe4Hstn82ZQzXa85j7XHoPiV2J17+MaAzUcR nqqWAqZ5y34gvJ0EIXhSLvq4LUaWnGMOKrmBYMkxuIe1dLQIE7iZFIB+SUxjdJb+5k5Quu l5U/GJkkli8GOs737Y8u5pa9hTPVzfkmt+RSUYO/s+byb82SQaq9oOvdHXzeksxoK/T3qW NF4P4b9l2LCmi7bZOZ9qh0k08fwI2RFlzPM1co+HDSsC+ow/Srp4UU/uXh7rRgcvE9LHlw BiBT2x6aZJV78Lwa9M06HIwaHQe/ByZ3H5qRr3L5frEHhlr1KmO0FRB8QmX1pA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361089; a=rsa-sha256; cv=none; b=k450vfqXYbB8oaDNrt9Qy/akUFQkTRqXKVxSORxjBm/VF2PWNXrKvV890npEoh7vbumKHN cJLd3wvb9lrGSbNe5PyGwHTaVJKZgv/uAHrxp8yDuvZNTBMPmdOkWUwpdhWey7uCjvUEe2 u3iHz5GlyqQQZWvVVbubLXrZQ+GRTpAz79s6Bd1AUiswUglseNyY1zdNgYjCa0POxEO88l Yq5DX5dRz0rCZhXwhimnbM+3mBPoL1w8b3cX9LFsoiwg5J4cW2Qfb69aUYci87+MXywx8J 9BPPu6iSMAXm9ZzpX5T7DMI32yzWmQHQq/p63LrVFt1o7S2vh88FCfWqODiPzw== 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 4TdpKs3X52zj6f; Mon, 19 Feb 2024 16:44: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 41JGinFC093953; Mon, 19 Feb 2024 16:44:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGinsp093950; Mon, 19 Feb 2024 16:44:49 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:49 GMT Message-Id: <202402191644.41JGinsp093950@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 3c89290626a7 - stable/13 - arm64: Export HWCAP_CPUID 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 3c89290626a7ed6db87774535bd07783c3c64e28 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=3c89290626a7ed6db87774535bd07783c3c64e28 commit 3c89290626a7ed6db87774535bd07783c3c64e28 Author: Andrew Turner AuthorDate: 2023-09-22 16:20:17 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:39:24 +0000 arm64: Export HWCAP_CPUID We have export the CPUID registers since 2018 but never set the HWCAP_CPUID flag to tell userspace it could use them. Fix this by setting it. Sponsored by: Arm Ltd (cherry picked from commit d61f9bfb0e5c119c97a559f187b1e9c73077307b) --- sys/arm64/arm64/identcpu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index cb7850c2aa2a..ebd1abb67dcb 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2041,6 +2041,8 @@ identify_cpu_sysinit(void *dummy __unused) /* Find the values to export to userspace as AT_HWCAP and AT_HWCAP2 */ parse_cpu_features(); + /* We export the CPUID registers */ + elf_hwcap |= HWCAP_CPUID; #ifdef COMPAT_FREEBSD32 /* Set the default caps and any that need to check multiple fields */ From nobody Mon Feb 19 16:44:50 2024 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 4TdpKv0Cslz5C93T; Mon, 19 Feb 2024 16:44: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 4TdpKt5j2zz4b79; Mon, 19 Feb 2024 16:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=etUdzcF0KYBf/KENeizcBzZx5lR9MW/hvC3MBVWDYrQ=; b=sgEi+u555LjWaHk+AdS3/JfEQtAKdcXa9/9m0JRuiaCRCiNTD4Gz/zl/8Jx5JRVWW34nB2 Ju6JwFbMs4bQY0XKmSYxOWOUYAuKpAQx8ggWYGXAa+6NI8IMo2eTH9eltL4juDDlaGRSbN eHYvwEcCqGwc9SoYVOWZoTkE/8bO0sIWYtt5IuAwElnDED1EEDLFAVTajUWFVMNFarpmak hJJZ9aFLjZ4AdB6FxFniw8BbNFil7/+sAWXkPtVGy2WmQuD/x51vMJ8/X8Y7CI08e0OC1+ KEZjWM0e732Jcavqr2Tj9DWnSk34E6mWNXGdRP2panQiRNBHyrg2GyoB4aQFaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=etUdzcF0KYBf/KENeizcBzZx5lR9MW/hvC3MBVWDYrQ=; b=PwS8DoTP0KhAMURkjOe8jt66jQJ5aWbaijhG0AoxRBnc+Z9vV/+vG8MRumeCv9Dk0GcQYV K/wkuTsOi8S2YlTP6YEQCfGSxloWXPK543Zcxuctl/smPLj7LPCHv65QZ72s8g7tBb0tWc GmHDQzQAyvj0szDRY9XyTsA158fdyrbJRg1415exQQ2qqA5zwGnbmFQseo8kkrlHsGKmK6 7OuRksrLdtROEdVYANfZ7CIQBaorgw2wvcDnyvLq8whbGhh5oWdKYdJxaR4QyEJgMahkTn j5HzfHRqHg4pObHKhKQTOZp7ZRzbfMHF6dF60HoArwgZAWg0H1d5y0hok1PWMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361090; a=rsa-sha256; cv=none; b=eeCspeEjUjvh+M5QUMIHU3ol0/vdmuECSq4uCSF9AyLVIR9KS+i8AMWIoSBtqHiK8YHEzz c9XL8Q0PV7vibKoSOn9RNAUi3TRKd3L/1V65JSu2DtFadnXh0vmclH2PfKNsdbDZY5M86H W99KR02LY+Z/l4qG2ZHoYEHNBmMahLUl5WnuM8aHjfXWxfz66DM80DtlqgDM6WScRJCJxl zd2Ddb+fGeOl/uFSCFYoNfHzJXp3cVg6To9JxF/r60dA9cf+J/MQCX8y3VFoFDsnUayTqG hqjN2atCGrr52lZG+V37NACCztnng81mFdKECNP/A+G5X16TH3a9TB2pvnKvyQ== 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 4TdpKt4WZ2zjSM; Mon, 19 Feb 2024 16:44: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 41JGioJo093989; Mon, 19 Feb 2024 16:44:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGioRd093986; Mon, 19 Feb 2024 16:44:50 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:50 GMT Message-Id: <202402191644.41JGioRd093986@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: ed304b0be0df - stable/13 - Add BTI exceptions 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/stable/13 X-Git-Reftype: branch X-Git-Commit: ed304b0be0df1e89e50f8463f0a46989b66acc1f Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ed304b0be0df1e89e50f8463f0a46989b66acc1f commit ed304b0be0df1e89e50f8463f0a46989b66acc1f Author: Andrew Turner AuthorDate: 2023-04-05 12:28:46 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:39:49 +0000 Add BTI exceptions We could hit these when executing code marked as using BTI but jumps to a non-branch target instruction. Sponsored by: Arm Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39450 (cherry picked from commit 450f731b7f2351d475b43bbc6234eea28adfd2b0) --- sys/arm64/arm64/locore.S | 2 +- sys/arm64/arm64/trap.c | 11 +++++++++++ sys/arm64/include/armreg.h | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index 4712f8591b8b..d48984e39a59 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -737,7 +737,7 @@ sctlr_set: .quad (SCTLR_LSMAOE | SCTLR_nTLSMD | SCTLR_UCI | SCTLR_SPAN | \ SCTLR_nTWE | SCTLR_nTWI | SCTLR_UCT | SCTLR_DZE | \ SCTLR_I | SCTLR_SED | SCTLR_SA0 | SCTLR_SA | SCTLR_C | \ - SCTLR_M | SCTLR_CP15BEN) + SCTLR_M | SCTLR_CP15BEN | SCTLR_BT1 | SCTLR_BT0) sctlr_clear: /* Bits to clear */ .quad (SCTLR_EE | SCTLR_E0E | SCTLR_IESB | SCTLR_WXN | SCTLR_UMA | \ diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index d62ebba3debd..d6f847d6b88c 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -526,6 +526,12 @@ do_el1h_sync(struct thread *td, struct trapframe *frame) panic("Undefined instruction: %08x", *(uint32_t *)frame->tf_elr); break; + case EXCP_BTI: + far = READ_SPECIALREG(far_el1); + print_registers(frame); + print_gp_register("far", far); + panic("Branch Target exception"); + break; default: print_registers(frame); print_gp_register("far", READ_SPECIALREG(far_el1)); @@ -660,6 +666,11 @@ do_el0_sync(struct thread *td, struct trapframe *frame, uint64_t far) (void *)frame->tf_elr, exception); userret(td, frame); break; + case EXCP_BTI: + call_trapsignal(td, SIGILL, ILL_ILLOPC, (void *)frame->tf_elr, + exception); + userret(td, frame); + break; default: call_trapsignal(td, SIGBUS, BUS_OBJERR, (void *)frame->tf_elr, exception); diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index e2395951f524..098c55361913 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -411,6 +411,7 @@ #define EXCP_UNKNOWN 0x00 /* Unkwn exception */ #define EXCP_TRAP_WFI_WFE 0x01 /* Trapped WFI or WFE */ #define EXCP_FP_SIMD 0x07 /* VFP/SIMD trap */ +#define EXCP_BTI 0x0d /* Branch Target Exception */ #define EXCP_ILL_STATE 0x0e /* Illegal execution state */ #define EXCP_SVC32 0x11 /* SVC trap for AArch32 */ #define EXCP_SVC64 0x15 /* SVC trap for AArch64 */ From nobody Mon Feb 19 16:44:51 2024 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 4TdpKw02Zkz5C91k; Mon, 19 Feb 2024 16:44: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 4TdpKv6Cc0z4b4x; Mon, 19 Feb 2024 16:44:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ivnWxvwL4M1k7yDyzcj69f2RzFa5GxfsQibdQ/3l23k=; b=refq4YOrZ4K5S5SWQ35S5EfxtR+NRm/Z4ykHQyXZi7zULTkK15B4SeTGWXyF/m6ccZORdf M2yECY3jfqcgWqcjFjijGnUOBweotoLRc26DtXnsXXoQNYuz390WTEEGXwYnWwOHvSPRB6 p3XpbLafxj4WhITlG7Ml9xXM2YOsgy6JANVjnFJcjeYMvgh6X9cWGFuPVq6Np3rPIbs7fG dDFx6QNcWfHhEsIzUSC8pQIfvFUWFXWmrbmpDfuzI+NR2rC3BgcDtnhRF2M+HShGpYMxZ7 uNeCfaY7TkWDdSzYrmJ8LZjeBmqE8MXQAU6Vng8g6mfxYES4QXrULhuoJ24jRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ivnWxvwL4M1k7yDyzcj69f2RzFa5GxfsQibdQ/3l23k=; b=BqHwUJlXCkKRPH950kTcEcFkfhnOgjfIy0C2IbXlCDHY2xJK5poHrdLTjnRvcPj7GfUtQF UcNhRPSGztn0aEUyYkFYyMp+u/AgfDi+qZTbW7y+u3/VD8Kt5Hygx1g9qy2zDKTV0rNuk3 FnVUqeDBJpt1EzTR3trj9VqMJD7ycgMiRcueE86lxj2XjP0jL2FsKt1TLW8Dw8iH7ylO5g c6lyYqKnxm74AtHG1V1s4g6kQXDW/0gQk/0Us0kanIFnZdzfgxiZ9Dg+N/eQoSW1QvL/L/ xQKz5X1A6XDhQTDlACNtfUxfxKSDJTwl7ZauYytLTLycZDuVoH8zvC9/0jxkgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361091; a=rsa-sha256; cv=none; b=C06czp7j2vwLY1L4O2zpoQHhCVUIWo4H0Xewa19N10fDKrjtZbejukf9qsZ9xP8jKat8O4 pEBbCfxIu76oKZcEHTYuYj82tKgeZ71mJ3ZkICsOXdjEN69obPYhYy0DsLCl/Tf0TYUk/u yllHt7lsF27jpN4QYeREqFX1weE9/UiKqVoc+Soe47rh6U+2GEQqwF89zjsZk/hLcQGllk szKK23/F2cFvAMpge05KdAHq18C1xKd/zQZkuQ2VqTsiqVszQfh1TV8Bsjrhlu6FhL9gfD aVYaXqXLRIX3pXz9igseQFVTaMb8kGxCcdQzmDOjOF0tuom9CWyDSbeyT19aCQ== 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 4TdpKv5F1Mzj9Q; Mon, 19 Feb 2024 16:44: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 41JGipoV094041; Mon, 19 Feb 2024 16:44:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGipn3094038; Mon, 19 Feb 2024 16:44:51 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:51 GMT Message-Id: <202402191644.41JGipn3094038@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 2bcdaf2b58ba - stable/13 - arm64: Add BTI landing pads to assembly functions 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 2bcdaf2b58badd91686af190825d994cddfcdc38 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=2bcdaf2b58badd91686af190825d994cddfcdc38 commit 2bcdaf2b58badd91686af190825d994cddfcdc38 Author: Andrew Turner AuthorDate: 2023-10-03 08:52:02 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:40:03 +0000 arm64: Add BTI landing pads to assembly functions When we enable BTI iboth the first instruction in a function that could be called indirectly, and a branch within a function need a valid landing pad instruction. There are three options for these instructions: 1. A breakpoint instruction 2. A pointer authentication PACIASP/PACIBSP 3. A BTI instruction Option 1 will raise a breakpoint exception so isn't useable in either cases. Option 2 could be used in some function entry cases, but needs to be paired with an authentication instruction, and is normally only used in non-leaf functions we can't use it in this case. This leaves option 3. There are four variants of the instruction, the C variant is used on function entry and the J variant is for jumping within a function. There is also a JC that works with both and one with no target that works with neither. Reviewed by: markj Sponsored by: Arm Ltd Sponsored by: The FreeBSD Foundation (earlier version) Differential Revision: https://reviews.freebsd.org/D42078 (cherry picked from commit e340882d3e49a98aa39b13041a2bf714c30dccdf) --- sys/arm64/arm64/locore.S | 4 ++++ sys/arm64/include/asm.h | 30 +++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index d48984e39a59..58f0ad8d85aa 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -99,6 +99,8 @@ ENTRY(_start) br x15 virtdone: + BTI_J + /* Set up the stack */ adrp x25, initstack_end add x25, x25, :lo12:initstack_end @@ -199,6 +201,8 @@ ENTRY(mpentry) br x15 mp_virtdone: + BTI_J + /* Start using the AP boot stack */ ldr x4, =bootstack ldr x4, [x4] diff --git a/sys/arm64/include/asm.h b/sys/arm64/include/asm.h index 783e8ee82c66..cfbcd2623e69 100644 --- a/sys/arm64/include/asm.h +++ b/sys/arm64/include/asm.h @@ -44,7 +44,7 @@ #define LENTRY(sym) \ .text; .align 2; .type sym,#function; sym: \ - .cfi_startproc; DTRACE_NOP + .cfi_startproc; BTI_C; DTRACE_NOP #define ENTRY(sym) \ .globl sym; LENTRY(sym) #define EENTRY(sym) \ @@ -110,4 +110,32 @@ dsb sy; \ isb +/* + * When a CPU that implements FEAT_BTI uses a BR/BLR instruction (or the + * pointer authentication variants, e.g. BLRAA) and the target location + * has the GP attribute in its page table, then the target of the BR/BLR + * needs to be a valid BTI landing pad. + * + * BTI_C should be used at the start of a function and is used in the + * ENTRY macro. It can be replaced by PACIASP or PACIBSP, however these + * also need an appropriate authenticate instruction before returning. + * + * BTI_J should be used as the target instruction when branching with a + * BR instruction within a function. + * + * When using a BR to branch to a new function, e.g. a tail call, then + * the target register should be x16 or x17 so it is compatible with + * the BRI_C instruction. + * + * As these instructions are in the hint space they are a NOP when + * the CPU doesn't implement FEAT_BTI so are safe to use. + */ +#ifdef __ARM_FEATURE_BTI_DEFAULT +#define BTI_C hint #34 +#define BTI_J hint #36 +#else +#define BTI_C +#define BTI_J +#endif + #endif /* _MACHINE_ASM_H_ */ From nobody Mon Feb 19 16:44:52 2024 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 4TdpKx2gMfz5C95s; Mon, 19 Feb 2024 16:44: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 4TdpKx0DHqz4b7D; Mon, 19 Feb 2024 16:44:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jEOe5C+G6blV6Zf/bQXe/yHWU9pBNbMKU+e+0W0d2A4=; b=EY6hLrYZ1xvAoOcuGjFf/pWL5ifSluUrdLEWqqW+1+9LElWYb6G8FcbSeI+l42/bymtHQl JIteXyXg2mkwbfDhSuU/ioiIaDy6lUkzmyS/rPwrpVaHcy4PGcbzfFohuMaQuX6zeV/RKg iQqgJoBq99tRKh9fPBfsRSHZXTR2O5X5qo26MLTGl4QTKCRVEj8Gxitcd7TIHe3QG5xI/u xwNL9bgX6r+qkYmzdMhq5BM23aJDxluJLH0Js1W2LPWcP/tBNm+QijRSMk1AjGj6qQObrq /y6iULApOzLRyzLrnNOk8ahp9ntJUrgBaiXLN833AXRa8rQzju9gO27/v3I0hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jEOe5C+G6blV6Zf/bQXe/yHWU9pBNbMKU+e+0W0d2A4=; b=JYKfTVNd5keNXWPb9sHzYk++9yhvMyiHiqT8CwG/L8YLkackIAyawwmG0/sxYsC/qB6/mD YDgfPm9SmzwTN2rzUXRfiDl2c5HSFZMzIr7IW9TaVhae9VDJBUPSjTryEh/fchzf18ahe2 uvEvv6WUy4OIa6XZzR8/meicaZMGtALU+0UNCzbJkFD/VclWPBU9e0LfeqmXq4IS3wQ8f4 Had4mmDC5idVbhurlISkqWR1KlbOWZ+AnaOIVIjfYc4/rK4IXK6eCREawigUtcNNj05C7t vkvOu+8Op6x3Um2Kc1Rzqd+QkBtjryC+CRhdfXlH4o6WhhzUCFRUXi42JeAzJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361093; a=rsa-sha256; cv=none; b=R3yjWfwJEZCDbG9wMOPQLFTOYICn2+LwGdm8y+D4PRN4F0AeZA2peyqqD+e8kIIiccAmo+ ZZgmA8YcDa3tHYvVUhYAaCdWzldHuzt8fXTBaEqpW/r3u+C5mTND59NQMyKHEK9IvG/v4M fqV3F1qrscdBqv61EOfYipJybqrUPnSkzm7aTRQ5CwmfRWbXCsX+xsKdVwRl89Vxe7wk+C GMFg3EhmZyrwfqgFkCcMxmZYLSylb4jcoY+ERC4Vu7eRa7aA5uPuDNy0yBDPEC3go4y9a0 +muyTyiyMFTOMPzkLmAJ/1CWsdSzNlN9mk1nW4SYE5w4/FWyhbMiEo5RKrcIjg== 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 4TdpKw6QJYzjVS; Mon, 19 Feb 2024 16:44: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 41JGiq8W094096; Mon, 19 Feb 2024 16:44:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGiqwu094092; Mon, 19 Feb 2024 16:44:52 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:52 GMT Message-Id: <202402191644.41JGiqwu094092@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: f323ecb4e075 - stable/13 - arm64: Raise a SIGBUS on a user external abort 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/stable/13 X-Git-Reftype: branch X-Git-Commit: f323ecb4e075f48f23d94f91b2b4b99074c21ebf Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f323ecb4e075f48f23d94f91b2b4b99074c21ebf commit f323ecb4e075f48f23d94f91b2b4b99074c21ebf Author: Andrew Turner AuthorDate: 2023-09-29 13:55:48 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:40:25 +0000 arm64: Raise a SIGBUS on a user external abort When userspace triggers an external abort allow it to handle the abort by raising a SIGBUS. Reviewed by: markj, kib Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42018 (cherry picked from commit a69450102ff1fe1466077a021a16bb265274d3a2) --- sys/arm64/arm64/trap.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index d6f847d6b88c..74122cd508ab 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -223,19 +223,25 @@ static void external_abort(struct thread *td, struct trapframe *frame, uint64_t esr, uint64_t far, int lower) { + if (lower) { + call_trapsignal(td, SIGBUS, BUS_OBJERR, (void *)far, + ESR_ELx_EXCEPTION(frame->tf_esr)); + userret(td, frame); + return; + } /* * Try to handle synchronous external aborts caused by * bus_space_peek() and/or bus_space_poke() functions. */ - if (!lower && test_bs_fault((void *)frame->tf_elr)) { + if (test_bs_fault((void *)frame->tf_elr)) { frame->tf_elr = (uint64_t)generic_bs_fault; return; } print_registers(frame); print_gp_register("far", far); - panic("Unhandled EL%d external data abort", lower ? 0: 1); + panic("Unhandled external data abort"); } static void From nobody Mon Feb 19 16:44:53 2024 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 4TdpKy4QBxz5C8yB; Mon, 19 Feb 2024 16:44: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 4TdpKy1DQVz4b7J; Mon, 19 Feb 2024 16:44:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=di6dBBQT+nn4394MkE0zFBwPdH3ZOKTcN/iXk6Vqj+I=; b=esO8b4WtBkpUYJuGJ+QuypftJDC6Us2ADcYONegG0MxosDVSxR2vfzX2FW8ZFmK/AY+nM3 RtCQkriX+x3GL6HSS0iRdzt/HqeTe9Rp2/mwuKQmbdV2KxxGNCHC3EUJvpKz1mg440Bj5z XqfI/W5jaIvj4fLfSeFf4IncsYYLrOzAh1HPaIGJvOe6WMoizltPrD5ZzXANEYg2qfn3Ae fgvspteUjz9yFB35qZq5JXOuWR9pdK6zVLbY5a+LhpaQ1eJB60lA269Ubw1UxZ83Oeu/IO CvczNuEaOg4KpZmLx2eVRzxXLc2HfYz+rYf3wS8h42tT3PeGIr3fPWrBRpjfOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=di6dBBQT+nn4394MkE0zFBwPdH3ZOKTcN/iXk6Vqj+I=; b=g0BOsDWjhtpvQ58g1H1L7fiC//zq2GfuUE9gB71Vy8hzUxrXTMOoo7EvjU0Kb9wQzEewwW AssorAS0V7d+2i0cuKMUBgpPgefg6pkSua2FmlGhlZMLDB3223aRPtue7R3zoCipEVcBhM oPAkiWDB9wGHwQOHCRaLqygnfZYqUcXJ27JM5irc2rXgGMDV3zXwe3/R7PzNRMukUVXh0r 3dZ7H+9JCZEp+sUmHz5G89KO8yaegiA7MbdlL/MsxsESBFD8spBpeywmXd4vn3XFs00Xwb i1f2kBFbpgjOEerOuJw4nXjqeLTx2IX7EDzM+jxBTWNgCV91yoFdL7AOt2zQoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361094; a=rsa-sha256; cv=none; b=UVReMVDGk0wv3GZyFZ2o05/Rxrch1A4WeZto+PToRI50dsn4uE5B5c663yXvq0F7c3QHnn TY3y1vGTq/jmhMk4bCElxjkkHziSGtYVFW02CKqkSLBd7ChC1UQONdjPihnwzsURcrUkS4 btrUoZS+QMOhYhUZ3rycD4WjBjP3WFCPF56PGsZaqH/uWlk5apO3vtB2sgUXKWu+yVEexo 9z1HWVnVJBxBhG+4a42qZzKIEX1UbhIiMcVuCTN5EB1qoXSSVCNsJ7Pfx0aQYh2k3wtKBs SE94jdkWfPaMptZMapmLvfDcajPwHLdoggoEb1Pg/+LMkjRjvqYURMUVlk7/gA== 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 4TdpKy0KNnzjSN; Mon, 19 Feb 2024 16:44: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 41JGireS094147; Mon, 19 Feb 2024 16:44:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGirll094144; Mon, 19 Feb 2024 16:44:53 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:53 GMT Message-Id: <202402191644.41JGirll094144@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 892cc8813aff - stable/13 - sys/sys: Check for __ASSEMBLER__ in elf_common.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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 892cc8813aff01429614a27192061d013e8f52c4 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=892cc8813aff01429614a27192061d013e8f52c4 commit 892cc8813aff01429614a27192061d013e8f52c4 Author: Andrew Turner AuthorDate: 2023-10-12 09:45:43 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:40:43 +0000 sys/sys: Check for __ASSEMBLER__ in elf_common.h When preprocessing assembly files with clang or gcc the __ASSEMBLER__ macro is defined. Check for this as an alternative to LOCORE in elf_common.h so it can be included by .S files. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42224 (cherry picked from commit f39010b1393d471f1c59195acde5d95cdb66847c) --- sys/sys/elf_common.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h index 2bb7e458314c..4af241bb085c 100644 --- a/sys/sys/elf_common.h +++ b/sys/sys/elf_common.h @@ -44,7 +44,7 @@ * not include the padding. */ -#ifndef LOCORE +#if !defined(LOCORE) && !defined(__ASSEMBLER__) typedef struct { u_int32_t n_namesz; /* Length of name. */ u_int32_t n_descsz; /* Length of descriptor. */ @@ -112,7 +112,7 @@ typedef Elf_Note Elf_Nhdr; * The header for GNU-style hash sections. */ -#ifndef LOCORE +#if !defined(LOCORE) && !defined(__ASSEMBLER__) typedef struct { u_int32_t gh_nbuckets; /* Number of hash buckets. */ u_int32_t gh_symndx; /* First visible symbol in .dynsym. */ From nobody Mon Feb 19 16:44:55 2024 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 4TdpL00TDgz5C95x; Mon, 19 Feb 2024 16:44: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 4TdpKz3xXtz4ZxW; Mon, 19 Feb 2024 16:44:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DGbZ/E1jTG6rCybmJVbMJm2mngo4etPlvPWKnUR+LH0=; b=kkQqsyMODE3Hcm/cba0e2hLGnKWVLO+P7lIVLskzZ53AL7IB9bzVrGITczE6eKDiGTOkf6 ODI0okmJX5C6czuO1obLzAKH7t34MbG5mrU7eaIIj99DOK2zKSnJFmLfj54mFOH2UkN+Zm 53+pgF6X0wGudRcx2tn+DsXVIaYEQvZcmvRgZfMrhcrQt1T1OT/shqVqkz2dS1c/xqNwT7 adPjRGejV/oyLXKMiSG1YSyufC9GqWCQ4NjYBa3bqFy01T+3e+d2A2ESTQmoHQEbumV8lB 68JkWcy9Y7fcz8V29BOrpvEPEIK11ifYAEJEO5gbjBe4DuxyqiZDaPjcEPWq+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DGbZ/E1jTG6rCybmJVbMJm2mngo4etPlvPWKnUR+LH0=; b=qISsETQuO9nx/oiXtBl6w/ktSnTPZkx8qOQMGeQks4Twue/AYupzGtsPexMBXhidnHCehD UdU5PCZ3laIAROOabZXz3QOTkxn97J3XG/vXpXYKTF4kqFZH+1msokdTiorCl5P3zKzy05 Ww3DGCsI1IbG8XCO8pF6jMXH3SJTg8a8ErVu8OjdU2iGB2L8U6XiB0x05mogbcUWotwZl5 RDJC4xieFp2ENqCXQtVafet8uIvUMOVHHg05uhc+uELBb1FyoYkcpm2kZWXuBkq+zTG38K /K5s72aOemok3NNuZ6dtYJZxzyVdvsvQRQjAZniYw6OG/FRGiFBO/JGAuhHYbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361095; a=rsa-sha256; cv=none; b=h/fL4ROpSYiG/3rAK7cynxb04w2VLKlgH5G2aWaGuyGgqXVPx5wD8LJydqZH2lYrb1oqyu UOk6r/ZBTK6ZOMlqYuPQcaz3yZg8FFjuuecqjUd1C+EDZk1kzvwbbJunJCYto+Fm8AP4h+ JKo2fQwUCQK4AE2DoXXg3X4ww+HRn/RoQ197afCGn8Bf9AjfcesDR1AJtpub7dsuhqALfr XvFTPzuUpvAKychoZqXZqF2328O5CZ8u2n7/m1XPpFZOrV3uK+JQWv6XeAZ+laGqOK+iHY tEzF4xY2pO8KuocAdZWUUX5DbK+kcyFdW0WRoGrZn3/AJBZiRjb0LKeHSEOPFg== 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 4TdpKz1LflzjDK; Mon, 19 Feb 2024 16:44: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 41JGitpt094207; Mon, 19 Feb 2024 16:44:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGitH7094204; Mon, 19 Feb 2024 16:44:55 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:55 GMT Message-Id: <202402191644.41JGitH7094204@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 29e38839272e - stable/13 - arm64: Support creating a BTI & PAC 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 29e38839272e9aa43dfc8c548385eb27452cb6b1 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=29e38839272e9aa43dfc8c548385eb27452cb6b1 commit 29e38839272e9aa43dfc8c548385eb27452cb6b1 Author: Andrew Turner AuthorDate: 2023-10-10 13:00:59 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:40:53 +0000 arm64: Support creating a BTI & PAC note To detect when an object file is build with the Branch Target Identification (BTI) and Pointer Authentication Code (PAC) extensions there is an elf note the compiler will insert. It will only do so from a high level language, e.g. C or C++. To get the not in assembly add the GNU_PROPERTY_AARCH64_FEATURE_1_NOTE macro that can be used to create it, and the GNU_PROPERTY_AARCH64_FEATURE_1_VAL macro to insert the correct value based on which combination of BTI and PAC are enabled. Reviewed by: markj (earlier version), emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42225 (cherry picked from commit 82597d2102a02c4e9e9355717c32867d34b77ef0) --- sys/arm64/include/asm.h | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/sys/arm64/include/asm.h b/sys/arm64/include/asm.h index cfbcd2623e69..955fb51af030 100644 --- a/sys/arm64/include/asm.h +++ b/sys/arm64/include/asm.h @@ -138,4 +138,56 @@ #define BTI_J #endif +/* + * GNU_PROPERTY_AARCH64_FEATURE_1_NOTE can be used to insert a note that + * the current assembly file is built with Pointer Authentication (PAC) or + * Branch Target Identification support (BTI). As the linker requires all + * object files in an executable or library to have the GNU property + * note to emit it in the created elf file we need to add a note to all + * assembly files that support BTI so the kernel and dynamic linker can + * mark memory used by the file as guarded. + * + * The GNU_PROPERTY_AARCH64_FEATURE_1_VAL macro encodes the combination + * of PAC and BTI that have been enabled. It can be used as follows: + * GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL); + * + * To use this you need to include for + * GNU_PROPERTY_AARCH64_FEATURE_1_* + */ +#if defined(__ARM_FEATURE_BTI_DEFAULT) +#if defined(__ARM_FEATURE_PAC_DEFAULT) +/* BTI, PAC */ +#define GNU_PROPERTY_AARCH64_FEATURE_1_VAL \ + (GNU_PROPERTY_AARCH64_FEATURE_1_BTI | GNU_PROPERTY_AARCH64_FEATURE_1_PAC) +#else +/* BTI, no PAC */ +#define GNU_PROPERTY_AARCH64_FEATURE_1_VAL \ + (GNU_PROPERTY_AARCH64_FEATURE_1_BTI) +#endif +#elif defined(__ARM_FEATURE_PAC_DEFAULT) +/* No BTI, PAC */ +#define GNU_PROPERTY_AARCH64_FEATURE_1_VAL \ + (GNU_PROPERTY_AARCH64_FEATURE_1_PAC) +#else +/* No BTI, no PAC */ +#define GNU_PROPERTY_AARCH64_FEATURE_1_VAL 0 +#endif + +#if defined(__ARM_FEATURE_BTI_DEFAULT) || defined(__ARM_FEATURE_PAC_DEFAULT) +#define GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(x) \ + .section .note.gnu.property, "a"; \ + .balign 8; \ + .4byte 0x4; /* sizeof(vendor) */ \ + .4byte 0x10; /* sizeof(note data) */ \ + .4byte (NT_GNU_PROPERTY_TYPE_0); \ + .asciz "GNU"; /* vendor */ \ + /* note data: */ \ + .4byte (GNU_PROPERTY_AARCH64_FEATURE_1_AND); \ + .4byte 0x4; /* sizeof(property) */ \ + .4byte (x); /* property */ \ + .4byte 0 +#else +#define GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(x) +#endif + #endif /* _MACHINE_ASM_H_ */ From nobody Mon Feb 19 16:44:56 2024 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 4TdpL04x5sz5C98h; Mon, 19 Feb 2024 16:44: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 4TdpL02z1Tz4b0d; Mon, 19 Feb 2024 16:44:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ekQx/pMppzPPbfaymKiqnH+9xfroaMCxWzp9zdd1MK8=; b=LxftpL+98sZa7dn44p1WDD7QMdqagddTLm0MlHOJA07y2h3XjGwzru3oUOo2+bEpu7mwRJ +1s7MwwiG+Z9l4Pb0VFWVVNhDEOdtRJSLD2Gfl2Pqsvmi+rHXAocZMfMtNMT4CopxdqZyC zWHnJDu1SeQOQi0pdB/O1kJC6XHmj8ooyiz+c6EOmbtvGRayGayrYbEiSqYRKBggVnY7Gu /7v+ucqCD17kKTIS8BfuXLEY/s244zyl6A+gsbg/N5CulDLY7nwZSYWHHKADDD8G66gGXF +tIshze0Im5cJ/3RUod2mw3tviQgaBFGo9okgNXGKG7lnz/awNbYZguBYGE4rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ekQx/pMppzPPbfaymKiqnH+9xfroaMCxWzp9zdd1MK8=; b=ToQN82F4W0o8X6Nkt6AOfYCN0vsXoHxfqcm50wfpDS9mq9UfTL/eZwyFHjphvcSXYIc6/d Ed+mqRPhicHGgddthKcJeIb5JYcNEEwQJ9Ejw+UN+46LmHhF0RZMJZPXjEbahJ7TjvSj6M DazeS1DoD9I003WQrcHn8zlag5smZ5sqLLAgnSYeKvgGTBT14u+A6pLmrJhYUNwJhxOM77 4Dqbn0W4vqy4r1SmzOdHV+Ihlk0EsL4+Sn3NtSoLDquAjLYAPxgD+hn/L3YKtvZNtPoGBn q7ZUt4SiLlrTTzd4cGnHWAtqTkdrEi4KJrv18E+MXfTC6Dnqc1nTh3rF63b/pw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361096; a=rsa-sha256; cv=none; b=RgnTSJQLxBX3aD/EYTza7LzSYkr4ilAPFYCiuCWSsIijsu1Sp8nF+LgKRVv/qzWi7nzYTG jazUQqPmfnxOJSvYHsr2R3FDHCwGPlbBPklIHJ1euQnE4jFmIt4GdWeJgpk4YjXWjX0cik vMfYC4tdLEjfwLOSXD3VvQVvfWTZxCPByH1AfRGaWmWioqjipSv8O/0erGPqDJf+AIMRST OJkCKWb5FzOqK7MqI2Emgh0czxxEqcYRCuABY13JjsuAU3pB5it6GWX+YJsLsdvpIpIDkx 8Vf0FJLoyj6jA8bjxVX/WGhIzmOp0JmbBa0V1ixmuLEQ77lquasfA9dGvN1I4g== 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 4TdpL022FgzjGp; Mon, 19 Feb 2024 16:44: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 41JGiuDJ094258; Mon, 19 Feb 2024 16:44:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGiusL094255; Mon, 19 Feb 2024 16:44:56 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:56 GMT Message-Id: <202402191644.41JGiusL094255@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 729a561cefc3 - stable/13 - arm64: Add PAC instruction macros 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 729a561cefc3890e99c2b721eab6f97849c25a1c Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=729a561cefc3890e99c2b721eab6f97849c25a1c commit 729a561cefc3890e99c2b721eab6f97849c25a1c Author: Andrew Turner AuthorDate: 2023-10-12 09:48:38 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:41:08 +0000 arm64: Add PAC instruction macros To support Pointer Authentication (PAC) in assembly files add a pair of macros that sign the link register. When used before storing to the stack it will allow hardware to detect if it has changed before using it in the return instruction. Reviewed by: markj, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42226 (cherry picked from commit 2b39a6f68c3839454cd255b91978202cd995182a) --- sys/arm64/include/asm.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sys/arm64/include/asm.h b/sys/arm64/include/asm.h index 955fb51af030..a5ee5b1ef5b7 100644 --- a/sys/arm64/include/asm.h +++ b/sys/arm64/include/asm.h @@ -138,6 +138,28 @@ #define BTI_J #endif +/* + * To help protect against ROP attacks we can use Pointer Authentication + * to sign the return address before pushing it to the stack. + * + * PAC_LR_SIGN can be used at the start of a function to sign the link + * register with the stack pointer as the modifier. As this is in the hint + * space it is safe to use on CPUs that don't implement pointer + * authentication. It can be used in place of the BTI_C instruction above as + * a valid BTI landing pad instruction. + * + * PAC_LR_AUTH is used to authenticate the link register using the stack + * pointer as the modifier. It should be used in any function that uses + * PAC_LR_SIGN. The stack pointer must be identical in each case. + */ +#ifdef __ARM_FEATURE_PAC_DEFAULT +#define PAC_LR_SIGN hint #25 /* paciasp */ +#define PAC_LR_AUTH hint #29 /* autiasp */ +#else +#define PAC_LR_SIGN +#define PAC_LR_AUTH +#endif + /* * GNU_PROPERTY_AARCH64_FEATURE_1_NOTE can be used to insert a note that * the current assembly file is built with Pointer Authentication (PAC) or From nobody Mon Feb 19 16:44:56 2024 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 4TdpL10tnpz5C9Dq; Mon, 19 Feb 2024 16:44: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 4TdpL06Gw7z4Zvg; Mon, 19 Feb 2024 16:44:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bjjk1K2hQG3kVAny0VNoL7z8/NHocajcK/YvBVHKU3c=; b=dtmzC9A9InQaSvPbVPODy01Y7glply+rgBj23oa4WSem/BPXPP1+wqH5OEm50+JzrR/3EM CYhBemAlrQv/x6Z1mWz5uiedz2PIQj7bBPzwoqYE5XgTmTPVo6y+Yic46rNXwfQPFSFhl3 S3kKzM0ckcti94K3CYebFw1G4QT0ihWUX9MEgnOPowH8aiGN7w7koi3cXMiJ9Wpc0rDunw uMpajKZOUPk7oG6AUgiAFTHbLDBRZ7y14iPTV/JHaFzlOWq1U/J5oKAL3yTV2wSRmH+KlS ERBu/Ryo0MslWv2V/A7uYXdto4YV/h1KKl/l5uLFxLjSF2rK6rKh9155JRQGXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bjjk1K2hQG3kVAny0VNoL7z8/NHocajcK/YvBVHKU3c=; b=OQRXfHmdZJVs2flv9P0xVo8sXGYy4nX9UFsjKrRRVRz1jY49SEoU8zSD4+L524Q2zfIoG8 CLJ5VTHC4z6LcVEmukAwbIrIo69XaDSpBOpQQiz8b25T3CvsD0xFySEIk9QNbhutzrz2WW 2xCaN2RobL6PbKtmzF9gxioPQKzVbzOF1ehMmdyfApIixb5DWrvJeXhe16TNXvBzoxLkeP Y810x23OFEVzHECXz1Sg9X2+ycuOgcjFVPYNlqlGA4P0RutZwiMr0Co18mMbU9o+pr63wd CxDeO54dvIJjovn1KxHaxWTDYAuBTe7dlEpHKP7VIVU4UNUGfJ9lWppUDSM0/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361096; a=rsa-sha256; cv=none; b=PeYcN3zHklEh1034A/WiQSqyrX0anxj/Kh6EkYLWlaMxzU3gZb13Adm4W3ir+F0GuI3pmp V+BHTbqK9iMTAz8mbWkTNgxSTFBGM6b0vbumfvFwzUk4NYZDlgbndlZ4gDcm1DH+dbJN+j tOsa3t79It9iFdNjkMQAbPe2MOndMSKRigzc39QNdMoC/1LJ8lVvSa4SLjsJBZ/aGD1he4 Mr0uOjLx854N0z9TbQNqr1PO1C8i3HbHfVgyUoBkxwBlF5v9fqOBdw2v/VEBDPLNfAgXJa LksKu9P9MSgX4j30jDpTsfyKuEFlvYMDOeaNJLq/gqtz6c3QFwIdTxxhu6b40w== 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 4TdpL05P5bzjDL; Mon, 19 Feb 2024 16:44: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 41JGiukT094479; Mon, 19 Feb 2024 16:44:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGiuQi094476; Mon, 19 Feb 2024 16:44:56 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:56 GMT Message-Id: <202402191644.41JGiuQi094476@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: bcedcc2aad22 - stable/14 - arm64: Fix the TCR_EPD0 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bcedcc2aad22d7a8fd5a650f6197ff53bcbc1a55 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=bcedcc2aad22d7a8fd5a650f6197ff53bcbc1a55 commit bcedcc2aad22d7a8fd5a650f6197ff53bcbc1a55 Author: Andrew Turner AuthorDate: 2023-09-06 17:32:15 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:07:40 +0000 arm64: Fix the TCR_EPD0 definition Sponsored by: Arm Ltd (cherry picked from commit 8f26d01f53316c055cc1116eb56ff438da50d831) --- sys/arm64/include/armreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 5892a9b08502..034504727b39 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2167,7 +2167,7 @@ #define TCR_IRGN0_SHIFT 8 #define TCR_IRGN0_WBWA (1UL << TCR_IRGN0_SHIFT) #define TCR_EPD0_SHIFT 7 -#define TCR_EPD0 (1UL << TCR_EPD1_SHIFT) +#define TCR_EPD0 (1UL << TCR_EPD0_SHIFT) /* Bit 6 is reserved */ #define TCR_T0SZ_SHIFT 0 #define TCR_T0SZ_MASK 0x3f From nobody Mon Feb 19 16:44:57 2024 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 4TdpL14wRBz5C8yH; Mon, 19 Feb 2024 16:44: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 4TdpL13T9dz4b7w; Mon, 19 Feb 2024 16:44:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8V2Ily8qjqbe+9EUy+2QyGdOVkVmXI99wlsHLbHtbMc=; b=BhtFdkC6JsSrv19/qTFnAje5n1tViwE8WSY8uMxOguVy4UjGdSEFvKDABc54AEybMc4OcQ lewWafYBMo+tludzjNAYiqo3fCdDHhIbyp/+chyyWp4rNCrSqWAO9Yz3DW+kr2hshNPuZo bhxZycpCJNa0l+Mnc8/1KWWunAdCdB6H3gjz2Fp7Ngt2FAs1wHmdkMvnBn97JEmv2Jv8fN Kjz9yiav+822+CPRpFr6g0yq/H5J83oeuJcppb39uqRwhD5sj1Ov882zmb1UOhZzEsxzL6 RooeITYPOQP9ByvqVMQdDw1mVD5zTy5W40x8NiO0uZi8BItct3rm/G69TBlkpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8V2Ily8qjqbe+9EUy+2QyGdOVkVmXI99wlsHLbHtbMc=; b=Jw/ZcQV7qMLAfplLKL2EX9LHUoV9vwSwfcxaRq+oHWEhq8m4Tkx9jklqJ/xc/TO+nXmSYg 3nvXsir6+iXlplKAjJROjZLRKpe/BCJZayqiRuG/AB9tPMbhKzlsGC5rEsGu1+2sgkGrAX vE+XmmsPRMaslgkoLqegDUqFYo9ETPHXi5ynK3QjpJVRNx1NUpT6INHILTssXEDbUR+haG OU/ONCnjFYu5z4UYRah9jmHGxtI50TVk3/kfvo571qGpUoQKTGrHscLZyLPrekCquMV2gT 5WJEd+fZ44Xu2BjqCVMdKLdGnrZslXT1o3+cwFtJoYcMr0uyKQKVQeK8XxT9oQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361097; a=rsa-sha256; cv=none; b=rAvLlVudGlr6WMXOfi9qb6pQNn0NpNK3Ac1AmbBQjSWQI4T/ciWLMRW5BKMdrMXg/QE5h9 Id07dRAsw5/jdtdn8/jVi7wfxBgb0xARmjmZIo8k7tx2pcj+A6NjesMPYrtpb+3+y8kFZH QSq8pECoSxChsgGsNQR+hWAnkswZf2mTmGN3XpHoRmIymqBIjOKz5Pmh6wZzGyLQs7kncK IWD/Cp3d44ImMBI26jrTU7avqIBCXDknefCkal4jO3+VIrw85mIxYPAKnnZDnv344ZWTEK 3VkZY+qVvIZiwwVZw3iOffiJrzFfweHb/7MXMIj2C/OOO5f3/k/NQYtjKM6G6Q== 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 4TdpL12ZQlzj6g; Mon, 19 Feb 2024 16:44: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 41JGivkc094521; Mon, 19 Feb 2024 16:44:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGiv4W094518; Mon, 19 Feb 2024 16:44:57 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:57 GMT Message-Id: <202402191644.41JGiv4W094518@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 8eda23d822eb - stable/13 - arm64: Add a missing MRS_HWCAP_END 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 8eda23d822eb63ed35b76478530bfa286eb06686 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=8eda23d822eb63ed35b76478530bfa286eb06686 commit 8eda23d822eb63ed35b76478530bfa286eb06686 Author: Andrew Turner AuthorDate: 2023-10-25 12:32:04 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:41:24 +0000 arm64: Add a missing MRS_HWCAP_END Add a missing end marker to stop the arm64 CPU ID code reading past the end of an array. Sponsored by: Arm Ltd (cherry picked from commit 1e05cf5f97dee6d7139aa64f14264fb4c2333455) --- sys/arm64/arm64/identcpu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index ebd1abb67dcb..60c40c84f965 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1617,6 +1617,7 @@ static const struct mrs_field_value mvfr0_fpdp[] = { static const struct mrs_field_hwcap mvfr0_fpdp_caps[] = { MRS_HWCAP(&elf32_hwcap, HWCAP32_VFP, MVFR0_FPDP_VFP_v2), MRS_HWCAP(&elf32_hwcap, HWCAP32_VFPv3, MVFR0_FPDP_VFP_v3_v4), + MRS_HWCAP_END }; static const struct mrs_field_value mvfr0_fpsp[] = { From nobody Mon Feb 19 16:44:57 2024 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 4TdpL21n9Lz5C8vn; Mon, 19 Feb 2024 16:44: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 4TdpL16swlz4bGS; Mon, 19 Feb 2024 16:44:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8EGtVDLuZDypdZL5SKf7o8705877Rn3jOz+QwOLQQ6o=; b=HaNmVbs/2MdYUlqBw4/EbViDSWQmftGn0JXxcgP4ePV4I+nV4L0/SmqVAFLjlocn7y30dO mPplRNddKmhMVpkm6Cps9nulBaS4SU4eQyZhBEL/l+/1SSt6pODFswAQpUHYnhySuJZZsE sAW7pinci+MggcSPHHOLPe5bbMhsM52cpAc6Zn2e84uGG08Co+gyfV16pCouBGoAWhnVpV j7VigH7yLjACLFjOIgkod6epLB4lNycNg9M5HdVDmh1saPWdIW9CxJ2DHvmc8QA3j/5oYv VpjPeUEzWHEF6p1FnX8+wnWgaFjJzKED+nbSTofWTl1V8mxYzkCGlRCJF+xITg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8EGtVDLuZDypdZL5SKf7o8705877Rn3jOz+QwOLQQ6o=; b=bjbHSM64Oyo+RFjnngiUIs4VjauAeDW+i4PFJjdk9q6TxHOFhH21UInTxGtJ3Y/p7Ioqdt eEr5z/Y4cdBXZD8KxFlIW83vQD80fXwOHYsOhqF9hUa8n0KuW/1jo/E5lCKdXukzd91n/f IbmYJRahCeKc1O4x2T6pj1zrH5/elgyaYxD8VPjMfuRZcPIqLUAFzjeSacBS/Zo3lN5zH8 +GzCUZYD4DOm+WrN1hljIR7qzskki4ezXzwIK3E68V9AcxCfH4qp9sxjQJSLCo1+5+xVdw p2gKgtDEcdBgxIb9kA8Q2SNfR/6Dk4iUBa/lA0gxOiclZWjsKyve8vZmHkQ1Gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361098; a=rsa-sha256; cv=none; b=HCBhKkeQRUzcbwRg95Y1k6oOuYDUR0vBSMy3BO5d/ogY7iY1AJZenQM+Mqejhom+S2pPcz GreuU64x4s/ZBVoAuXKdwjqCjQROONSDsx/TuWikUX0rlJWEGkU9m+urJD4cv/acK+zz5x 5CtRlTxITmWGtBta4LmxkkxBDUEvW18eA/oaplWOeat3ox+Fphd1PwLCezc9laHUhQeJ0H A+sQHG2eEGh3bPtgT7Y2ZCfGWhglMHDcNi7+TcVCH40IpK4PHD6TNqrA80grSv5JiW1y2O bMaxFif3RUx4dJzBIsQdBFCghFZj9PBDUZQA1dORt/D6GS4nJqxq5/HYxadc7w== 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 4TdpL15zNdzjfX; Mon, 19 Feb 2024 16:44: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 41JGivNA094563; Mon, 19 Feb 2024 16:44:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGivA4094560; Mon, 19 Feb 2024 16:44:57 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:57 GMT Message-Id: <202402191644.41JGivA4094560@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 628fd849f55e - stable/14 - arm64: Enable FEAT_E0PD when supported 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 628fd849f55e9804331caf63584573dea7a36547 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=628fd849f55e9804331caf63584573dea7a36547 commit 628fd849f55e9804331caf63584573dea7a36547 Author: Andrew Turner AuthorDate: 2023-09-06 11:07:41 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:07:56 +0000 arm64: Enable FEAT_E0PD when supported FEAT_E0PD adds two fields to the tcr_el1 special register that, when set, cause userspace access to either the top or bottom half of the address spaces without a page walk. This can be used to stop userspace probing the kernel address space as the CPU will raise an exception in the same time if the probed address is in the TLB or not. Reviewed by: kevans Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41760 (cherry picked from commit 9e2cafe4fb901214903484998adf51a6cc5e4ebb) --- sys/arm64/arm64/identcpu.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 698a98e3da1d..1e9ff32754f0 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2259,6 +2259,31 @@ cpu_features_sysinit(void *dummy __unused) /* Log features before APs are released and start printing to the dmesg. */ SYSINIT(cpu_features, SI_SUB_SMP - 1, SI_ORDER_ANY, cpu_features_sysinit, NULL); +static void +tcr_set_e0pd1(void *arg __unused) +{ + uint64_t tcr; + + tcr = READ_SPECIALREG(tcr_el1); + tcr |= TCR_E0PD1; + WRITE_SPECIALREG(tcr_el1, tcr); + isb(); +} + +/* Enable support for more recent architecture features */ +static void +cpu_feat_support(void *arg __unused) +{ + /* + * If FEAT_E0PD is supported use it to cause faults without a page + * table walk if userspace tries to access kernel memory. + */ + if (ID_AA64MMFR2_E0PD_VAL(kern_cpu_desc.id_aa64mmfr2) != + ID_AA64MMFR2_E0PD_NONE) + smp_rendezvous(NULL, tcr_set_e0pd1, NULL, NULL); +} +SYSINIT(cpu_feat_support, SI_SUB_SMP, SI_ORDER_ANY, cpu_feat_support, NULL); + #ifdef COMPAT_FREEBSD32 static u_long parse_cpu_features_hwcap32(void) From nobody Mon Feb 19 16:44:58 2024 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 4TdpL30cDKz5C9MS; Mon, 19 Feb 2024 16:44: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 4TdpL24TMYz4b3H; Mon, 19 Feb 2024 16:44:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vTPLiAnY0CC7HgqyZN49/aQd+1DaEXRgS+/SkOkxdxM=; b=sgtR4M8o3IrhGcphSZoG8/O6DjWJVAnuB/Jui0ECVbKWBheYFQJk+coqs21pAMsa76fbeJ nI6yUkOo516nsovEYgYQsgY08or1kacJ1w5tByfJAxnjKAycRswbCK/h/4NUx3Yccw2Ok1 RFwqAP9DdqkJYwNGtLLwlO0+4XwaYVa67rr0+Kjn0lL7DVh/NNKGbCzG0jhVp6j/iXhJKf FTGgYiQ2v+XG+CXvd5j6HeqjZ+5KHQTjPX2qkQydaeCKngkHqjfc83UjRejY2qNIYoFMYF gwrBRNxmWI+8oOP4aCPZ4FL2LF85h2r5LzVXlxdAj+EFVNYRsIuxwMVJ7/R5Pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vTPLiAnY0CC7HgqyZN49/aQd+1DaEXRgS+/SkOkxdxM=; b=IAZKRUuY4O4nLnTNAMpRxkcymXBtZRySI9TWIVJZ1MCYAF5YS52qeUjw8731DnFlEiGlV8 zLFWdvoOsV8v0MgSLcC+Irmpt9ELX8GT0xoJoqT5svbXqPVPAbJy069n6ps3tDV5NaI2V1 wRtlEIpV9j4OmLnD4vU0KUBGqM5y0RvvN4T15bcReBhx20A9cNaH4/g4CtVDaLKWZPXlV9 6tYhsV9mEwHQvUJHe4A9dSCbW+/bhA9nGvzRWl6i98uP2vNtwEs/3OvqK43570yDtW+iOD yE0PnRj463CiT+45srkqT5PFbRzy3OaOWAzLiQKi48kmlyM0IV5wbQn2sFMAZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361098; a=rsa-sha256; cv=none; b=S32pRYTYHS2XNPOytuJhjUzkGqACU5Bi9v/Sy5J+SOqO8QDkn29jd4no6vNWVfmMdmm5e/ OpB5NacFohExy6dAxISGBgbP1Y7hj3Q9MWsurkxeVZHtXinKEiaBWclH706RmncDyqOJoy IDfnmLkgWh9ukyskcE47zHqS7Te0yTHnP8zKibpebk/jLuCNAmpHUvziSAMi21Nu3nNsFJ FTyicZkdHUojQNNUvLm5O7oVL/WNeNXyI6/ylodo6gJM1k/EkKpS/WljAiaRtOyV6RLCp6 lLpAaUdG+VNJNtd/Aivsu4TnSqn+Q5ECP83Yh7gfUdYSIPzl7leV8WD5MKJFJw== 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 4TdpL23bFszjQ8; Mon, 19 Feb 2024 16:44: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 41JGiwEd094615; Mon, 19 Feb 2024 16:44:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGiwBc094612; Mon, 19 Feb 2024 16:44:58 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:58 GMT Message-Id: <202402191644.41JGiwBc094612@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 72b242ac15af - stable/13 - arm64: Use the Linux sigframe to restore registers 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 72b242ac15af15bea2c6989bb911d2dd6ab11651 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=72b242ac15af15bea2c6989bb911d2dd6ab11651 commit 72b242ac15af15bea2c6989bb911d2dd6ab11651 Author: Andrew Turner AuthorDate: 2023-10-25 09:50:11 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:41:40 +0000 arm64: Use the Linux sigframe to restore registers When returning from a Linux signal use the Linux sigframe to find the register values to restore. Remove the FreeBSD ucontext from the stack as it's now unneeded. Reviewed by: dchagin, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42360 (cherry picked from commit 070a4ff82a34652d533f9315ae9ad0aa8f1fdeb2) --- sys/arm64/linux/linux_sigframe.h | 1 - sys/arm64/linux/linux_sysvec.c | 96 ++++++++++++++++++++++++++++++++++++---- 2 files changed, 88 insertions(+), 9 deletions(-) diff --git a/sys/arm64/linux/linux_sigframe.h b/sys/arm64/linux/linux_sigframe.h index e903fea295dc..2a004f4db74d 100644 --- a/sys/arm64/linux/linux_sigframe.h +++ b/sys/arm64/linux/linux_sigframe.h @@ -76,7 +76,6 @@ struct l_sigframe { /* frame_record */ uint64_t fp; uint64_t lr; - ucontext_t uc; }; #define LINUX_MINSIGSTKSZ roundup(sizeof(struct l_sigframe), 16) diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index 4ceee760d80b..c6f9a934fc1d 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -205,28 +205,109 @@ linux_exec_setregs(struct thread *td, struct image_params *imgp, bzero(&pcb->pcb_dbg_regs, sizeof(pcb->pcb_dbg_regs)); } +static bool +linux_parse_sigreturn_ctx(struct thread *td, struct l_sigcontext *sc) +{ + struct l_fpsimd_context *fpsimd; + struct _l_aarch64_ctx *ctx; + int offset; + + offset = 0; + while (1) { + /* The offset must be 16 byte aligned */ + if ((offset & 15) != 0) + return (false); + + /* Check for buffer overflow of the ctx */ + if ((offset + sizeof(*ctx)) > + sizeof(sc->__reserved)) + return (false); + + ctx = (struct _l_aarch64_ctx *)&sc->__reserved[offset]; + + /* Check for buffer overflow of the data */ + if ((offset + ctx->size) > sizeof(sc->__reserved)) + return (false); + + switch(ctx->magic) { + case 0: + if (ctx->size != 0) + return (false); + return (true); + case L_ESR_MAGIC: + /* Ignore */ + break; +#ifdef VFP + case L_FPSIMD_MAGIC: + fpsimd = (struct l_fpsimd_context *)ctx; + + /* + * Discard any vfp state for the current thread, we + * are about to override it. + */ + critical_enter(); + vfp_discard(td); + critical_exit(); + + td->td_pcb->pcb_fpustate.vfp_fpcr = fpsimd->fpcr; + td->td_pcb->pcb_fpustate.vfp_fpsr = fpsimd->fpsr; + memcpy(td->td_pcb->pcb_fpustate.vfp_regs, + fpsimd->vregs, sizeof(fpsimd->vregs)); + + break; +#endif + default: + return (false); + } + + offset += ctx->size; + } + +} + int linux_rt_sigreturn(struct thread *td, struct linux_rt_sigreturn_args *args) { + struct l_rt_sigframe *sf; struct l_sigframe *frame; - ucontext_t uc; struct trapframe *tf; + sigset_t bmask; int error; + sf = malloc(sizeof(*sf), M_LINUX, M_WAITOK | M_ZERO); + tf = td->td_frame; frame = (struct l_sigframe *)tf->tf_sp; + error = copyin((void *)&frame->sf, sf, sizeof(*sf)); + if (error != 0) { + free(sf, M_LINUX); + return (error); + } - if (copyin((void *)&frame->uc, &uc, sizeof(uc))) - return (EFAULT); + memcpy(tf->tf_x, sf->sf_uc.uc_sc.regs, sizeof(tf->tf_x)); + tf->tf_lr = sf->sf_uc.uc_sc.regs[30]; + tf->tf_sp = sf->sf_uc.uc_sc.sp; + tf->tf_elr = sf->sf_uc.uc_sc.pc; - error = set_mcontext(td, &uc.uc_mcontext); - if (error != 0) - return (error); + if ((sf->sf_uc.uc_sc.pstate & PSR_M_MASK) != PSR_M_EL0t || + (sf->sf_uc.uc_sc.pstate & PSR_AARCH32) != 0 || + (sf->sf_uc.uc_sc.pstate & PSR_DAIF) != + (td->td_frame->tf_spsr & PSR_DAIF)) + goto einval; + tf->tf_spsr = sf->sf_uc.uc_sc.pstate; + + if (!linux_parse_sigreturn_ctx(td, &sf->sf_uc.uc_sc)) + goto einval; /* Restore signal mask. */ - kern_sigprocmask(td, SIG_SETMASK, &uc.uc_sigmask, NULL, 0); + linux_to_bsd_sigset(&sf->sf_uc.uc_sigmask, &bmask); + kern_sigprocmask(td, SIG_SETMASK, &bmask, NULL, 0); + free(sf, M_LINUX); return (EJUSTRETURN); +einval: + free(sf, M_LINUX); + return (EINVAL); } static void @@ -328,7 +409,6 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) } memcpy(&frame->sf.sf_uc.uc_stack, &uc_stack, sizeof(uc_stack)); - memcpy(&frame->uc, &uc, sizeof(uc)); /* Copy the sigframe out to the user's stack. */ if (copyout(frame, fp, sizeof(*fp)) != 0) { From nobody Mon Feb 19 16:44:58 2024 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 4TdpL32kQJz5C9MT; Mon, 19 Feb 2024 16:44: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 4TdpL30fhwz4b3R; Mon, 19 Feb 2024 16:44:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GdfSLUejTRsaMsFva3YVEE6etnNpOdndTygx4KryYZw=; b=VM+iBFwtSa+ImDovAW01aYdMV+jThbD56JEEIwByfYr++7TNPSLeD6uiQ//2sKtRs7vnsK lPJc3su5Ra0dRa6sXMtWZVvk5uNOViM+4/NBYVwiaJJxRfHjFxGu17hNu9ee2HTuUua6Vx W4GO3dCp/FB91Nbq3BDtpV3TVF7dNDQVuGuieLL65cu6E5N8IVg93cixzKAE4l6lVo7a1N nl8rLT0KSB3Br7tCu6F921SvuseNF4TzAwO1Hy++YGk0NZ0WXjeyRZxfGYE5d7ivZXqKt4 /p53n9hbvU4ZqyXIMxxxwZBZbqGXGQQ5M9iR348ePLTRTErxXiLR+9K+vrtsjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GdfSLUejTRsaMsFva3YVEE6etnNpOdndTygx4KryYZw=; b=eb6bPtzjj3TN+pru6XalsTLEe5xLncbJsURTuV6VSHcXn2+g3sMuzOTyDOeR0ZQkhrLanU tSq/sMUVwJZFEx/whEGHP0UBTK87kASiL+W0/oJzRecPZvsvWhDSQ4+P9nljVfnxRGA7M2 Q7CwGSqWLSzFuL3U0uB+ybyGsQVi2YzpZnIqEWu3w2oPxavGPM4tuIDrKGhvDLRK9aRg5W 2BMozLcZfUJHTClst3U/tX4z0LMNF7ALCciAd8hICg6+ELyN8fdxOQaAjJfeYBrv0+sQtJ ha2A42PiNljUXjnf5x+r/08XnAYWnVDxlZrr1A4MQxIxg5cnF6y4JnphKwchhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361099; a=rsa-sha256; cv=none; b=OjvKC/Lj3NSPd/9xXQ28qsTYhJj7Vnmqt6AtUGlyTsaUleEwuxPBbTJtwxXc0Gc81G04VC c2ITCMeeS1p8wNwgkmG3Q9Ix6QEyGmBvXuTsrqD2WVC8229SjZ1KPhEI9Ze3k2ekXUuQT7 5j4gvQYM+vgaQAmEsEYOd+Y7uKr96K65p9DV7xzHgEM6whnAJDaNujqN6lJXhR15CUT5cz Gwh0ylVMnQY0chqEl8YNolcAFwEtWh8MVzVPlQEt4dRbGmgl82ih5XQEHAPeInFO2+UDry HJl1D03Sjy7NBsXkSkPIhNgnXpD4gkx7RQIN/ib//YqCjjYE5bKW9ZGCy9hVbg== 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 4TdpL26t4kzjDM; Mon, 19 Feb 2024 16:44: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 41JGiwmb094672; Mon, 19 Feb 2024 16:44:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGiwad094669; Mon, 19 Feb 2024 16:44:58 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:58 GMT Message-Id: <202402191644.41JGiwad094669@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 7a64b05196bb - stable/14 - arm64: Fix the TCR_TBI0 macro to use UL 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 7a64b05196bb713fb8ad48ebcbd251d0baae036e Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=7a64b05196bb713fb8ad48ebcbd251d0baae036e commit 7a64b05196bb713fb8ad48ebcbd251d0baae036e Author: Andrew Turner AuthorDate: 2023-09-08 13:27:15 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:08:12 +0000 arm64: Fix the TCR_TBI0 macro to use UL This needs to be 1UL to ensure the type is large enough for the shift. Sponsored by: Arm Ltd (cherry picked from commit aea540538991dd9e8cf21c6ca06e09f706bf2d18) --- sys/arm64/include/armreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 034504727b39..3ae2f24c2a56 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2127,7 +2127,7 @@ #define TCR_TBI1_SHIFT 38 #define TCR_TBI1 (1UL << TCR_TBI1_SHIFT) #define TCR_TBI0_SHIFT 37 -#define TCR_TBI0 (1U << TCR_TBI0_SHIFT) +#define TCR_TBI0 (1UL << TCR_TBI0_SHIFT) #define TCR_ASID_SHIFT 36 #define TCR_ASID_WIDTH 1 #define TCR_ASID_16 (1UL << TCR_ASID_SHIFT) From nobody Mon Feb 19 16:44:59 2024 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 4TdpL41G8rz5C93x; Mon, 19 Feb 2024 16:45: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 4TdpL35WRRz4bKB; Mon, 19 Feb 2024 16:44:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hvm1cX/vqcIpYmPShKQCQ93CwLXVZAkbgfOJ/bsJr7A=; b=fIxk3AkvQVwFBw1yqNqYMMjKsmMrkSVhnWbLK6HXNC1AT5IHZP2Gs8oSAMR9G4iCgQfnxq OIpd7uuenVO36EIU84/xdH2WcyQDd7boL61g+1q9RhqIbkvVpX0utuoDK2FFk3bu2wGHpB 6a3i1wNVveGA6xu/hINy6sYxBWwZU+QbmI2XF+0gTe+MoVef8+vzieyhG41Od/kvawv+e3 0DsaN8sJfrFiHreCgTxwNOyS3RHH/2A3IINhpU6GxGw2LN1btf7RkBC0LRKFyvOrETf8dJ 3MQQgk9uGN0GSQ3hx3Q91r8QH7NQ1qV7Ss8mEc0KcavcBjVXDMbkDVockAHlBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hvm1cX/vqcIpYmPShKQCQ93CwLXVZAkbgfOJ/bsJr7A=; b=FNhQRnyVL9Neeq3xS+MndCAfCEYS3EMVJa10WPaDOJ069v6VtiGKSL2mmwTlu1/w6U/SrH pD10obyHjDMus0vcI5OS9rdd+Z1kqcmXRZJXgg9VNVthOT/Xd3TWigiNFO6kd4HAD+yXP7 qNh5YzNLk785yXsCHp+WLx6OsRz5wIDI8qMdVmZicH7UYe47xNTE4lfDqcYCNzU3noEdMJ tXDMQQxRUx4HstpvMGuGF0vwW8Fyh8xBq7dV2gXLo6ZsQsd4wSsoQwSK+MHtfavoykyGaa bSk0RbQYmXpUXrw9eSjfAzry8NMakYK7x3qbBtk9k1E9okp8XC6BE0u9PCl/lA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361099; a=rsa-sha256; cv=none; b=StpKNWZNJe4jftsN63shlU/PH0AFzoMH1bY5C/d+Db9S0oQB99Ew7xxpfYYkCfx2Mkm7ZN EBVVwZR44XGAstnHnOGJBHulhG9IucGH4WhcCZrpXNW5gtLVKZTyqwcvL9VdyeHX3v4ig7 dGdwHMjWAYZUrYtBXZznoEgf8DNfbxJwPWH0Ll89Lb2ivQzf6/tkoUxMfENZR4emBQftoz 2o9iYiFkggJI/S7+kTh629HFMt1MlOfnKJC+jbFru+ugG/kgqVg/nDY6QXvZ6uGuAw7ysr UAXHUdzONBAq4ofV3WDVhxRd8Rarbje3vJqiV0bVj4GC8smOTzZYJ6EfUYHx2Q== 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 4TdpL34bwRzjGq; Mon, 19 Feb 2024 16:44: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 41JGixdo094726; Mon, 19 Feb 2024 16:44:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGixSf094723; Mon, 19 Feb 2024 16:44:59 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:44:59 GMT Message-Id: <202402191644.41JGixSf094723@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: adb7f221a25e - stable/13 - arm64: Add a BTI landing pad to .mcount 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/stable/13 X-Git-Reftype: branch X-Git-Commit: adb7f221a25e466371e6b098dc6dd72b8f28f2c1 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=adb7f221a25e466371e6b098dc6dd72b8f28f2c1 commit adb7f221a25e466371e6b098dc6dd72b8f28f2c1 Author: Andrew Turner AuthorDate: 2023-10-16 14:34:19 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:41:50 +0000 arm64: Add a BTI landing pad to .mcount The .mcount function needs a BTI branch target. As we can't rely on asm.h being included use the hint version of a "bti c" instruction. This is a nop when BTI is not supported or not used. Reviewed by: markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42230 (cherry picked from commit 0590ed0967e025e1d155da9e06509f3fe9686feb) --- sys/arm64/include/profile.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/arm64/include/profile.h b/sys/arm64/include/profile.h index 972d4ba42607..db119973f820 100644 --- a/sys/arm64/include/profile.h +++ b/sys/arm64/include/profile.h @@ -93,6 +93,8 @@ static void _mcount " .globl .mcount \n" \ " .mcount: \n" \ " .cfi_startproc \n" \ + /* Allow this to work with BTI, see BTI_C in asm.h */ \ +" hint #34 \n" \ /* Load the caller return address as frompc */ \ " ldr x0, [x29, #8] \n" \ /* Use our return address as selfpc */ \ From nobody Mon Feb 19 16:45:00 2024 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 4TdpL44hDSz5C9Cc; Mon, 19 Feb 2024 16:45: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 4TdpL41g4jz4bGw; Mon, 19 Feb 2024 16:45:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fE9fE968x5brVpZWFVmfF8gYq1IVxJVvgirmw7WUjww=; b=yebP7B53bpR6Vwnzh+8k2EvYxoT6dMTdAbQ84a5IJbpp+AkeqbcdiBU1twxWi2hH9JEFgL YHs0qpLVLfyhdLqIeJq7XE7P+F3RRPwJdRCFdeY77USE1gq2IjtEqNgFGQHm9CtZF/19uZ 8MiO21UuG9qYvNbgWLefvOVxwn9HYvWsnVlez7UljQB+JMCnpmSFBT9FydFiEfW1e8r3Dn ya10icX19Tw6eJFwsmimZ32Y7hDs03B/JRxBuiI0FkpL7f0C+TDCDjeKMf2VUT5d9hC0S5 +JyqW6UdQU8lGZyxf97GDdu+yP+dJt6YEaxOEW5ls3cIcRmcYhGonxVQqC6R7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fE9fE968x5brVpZWFVmfF8gYq1IVxJVvgirmw7WUjww=; b=PYBTxJFM2XtJxqd6ipwlhqnppfadUSby5bkz6ZzndIm+0kGhMwY2+J6B4t8cH73WaD32mk vhFJVx3ehfYaMgdEHb2F3ZguSfw25p7DzKNSqBqjgKw+kS2sjgmJL65NhmdlEXivzwZKfW IANQpVoKmDuYELqHYXOkAJNUPq2NqcGjsLEw3tG6PWpccliXlzBXPiLwgBTDm07cIG8ZpO AVmlczsRMRBBwwr2XhWiljCRC8aNOSDCKsniXZjIL1MdURzlelIIhpglgR55LdyQcDw20E ebhul4XJvvCrocKZ8pX2KIYygDyQenSUkMPmVy0FZVmYXnBKdaNnAxuBHw2pkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361100; a=rsa-sha256; cv=none; b=xkNh8bZMgtMngZEPKSzxlVwwVonDc0EyjiipHMZdmo1nQX9hHmykzbnXVBpqmgSDYatxTV 6mTpvXa+u5R/RC5ywhfNukNzuJ81cE6WOSCPbBPt/n/g5xF3QYYDVsGzPGMiPTaWKYcj03 om1hhRyedCBngytYPAs/ZW0xdTyAalN6XBlaf069l6QTalcKZCrD/qf+kKGPty95PCcQhS 6+HR9+Cxofn1PauzonWW+3/YPeqzRnchV5+e8xWgkEq/odXLRnzMJnf1UpgLAof9CIqRES 6dUFivNh8t0qRDhSjsbjrX+F3nl2idIUes75ZdVbyEH5NJClssFtooez/Gz4yg== 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 4TdpL40lzRzjGr; Mon, 19 Feb 2024 16:45: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 41JGj0N1094780; Mon, 19 Feb 2024 16:45:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj02s094775; Mon, 19 Feb 2024 16:45:00 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:00 GMT Message-Id: <202402191645.41JGj02s094775@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 94f23ae15a80 - stable/14 - arm64: Add TCR register masks 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 94f23ae15a804a18ef719152d81bbe965feb3fed Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=94f23ae15a804a18ef719152d81bbe965feb3fed commit 94f23ae15a804a18ef719152d81bbe965feb3fed Author: Andrew Turner AuthorDate: 2023-09-08 13:29:19 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:08:27 +0000 arm64: Add TCR register masks These will be used by bhyve to implement page table walking. Sponsored by: Arm Ltd (cherry picked from commit a35e47369f88e8c2e14b7371a1a5e1152680551f) --- sys/arm64/include/armreg.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 3ae2f24c2a56..8251a687a5d1 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2141,6 +2141,7 @@ #define TCR_IPS_44BIT (4UL << TCR_IPS_SHIFT) #define TCR_IPS_48BIT (5UL << TCR_IPS_SHIFT) #define TCR_TG1_SHIFT 30 +#define TCR_TG1_MASK (3UL << TCR_TG1_SHIFT) #define TCR_TG1_16K (1UL << TCR_TG1_SHIFT) #define TCR_TG1_4K (2UL << TCR_TG1_SHIFT) #define TCR_TG1_64K (3UL << TCR_TG1_SHIFT) @@ -2155,8 +2156,10 @@ #define TCR_A1_SHIFT 22 #define TCR_A1 (0x1UL << TCR_A1_SHIFT) #define TCR_T1SZ_SHIFT 16 +#define TCR_T1SZ_MASK (0x3fUL << TCR_T1SZ_SHIFT) #define TCR_T1SZ(x) ((x) << TCR_T1SZ_SHIFT) #define TCR_TG0_SHIFT 14 +#define TCR_TG0_MASK (3UL << TCR_TG0_SHIFT) #define TCR_TG0_4K (0UL << TCR_TG0_SHIFT) #define TCR_TG0_64K (1UL << TCR_TG0_SHIFT) #define TCR_TG0_16K (2UL << TCR_TG0_SHIFT) @@ -2170,7 +2173,7 @@ #define TCR_EPD0 (1UL << TCR_EPD0_SHIFT) /* Bit 6 is reserved */ #define TCR_T0SZ_SHIFT 0 -#define TCR_T0SZ_MASK 0x3f +#define TCR_T0SZ_MASK (0x3fUL << TCR_T0SZ_SHIFT) #define TCR_T0SZ(x) ((x) << TCR_T0SZ_SHIFT) #define TCR_TxSZ(x) (TCR_T1SZ(x) | TCR_T0SZ(x)) From nobody Mon Feb 19 16:45:00 2024 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 4TdpL507hbz5C9F6; Mon, 19 Feb 2024 16:45: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 4TdpL46WqJz4b41; Mon, 19 Feb 2024 16:45:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xr7qUvAxM7QKJXUKfYQp/j9T6s8FyKtDLsPGH6nAAm8=; b=IazDMQEJJKr0kuP3ENfqPk32/UtpD0a89tcjA85K6bb3ba4whbIsDeH+lX/Vha8FTyNzdp Ksw8Jm3j3YG5YQEbotct2ooey+zz+YDMt3PVpMoeTM9MURIGW8q4lxVT7ARFCWl4brRBFs a5SUUhf6g27GAEsBUEIdYXLRc6D3LB7SFd95EBGO0YosFE5APJ4dFKyvr5Ru9Vjlae3tkP f/0Tj2BRATov7QflT1OFlff+M2wT3j4yShN6uoge33UQrUiur3k4oOQC/RRcnzoMZPXaz/ qzuh8KtdGE+Jm44jJJX+8WPU2Uq3pF94GcpGHCy+TxphN4RS1t93Wb6nMLukBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xr7qUvAxM7QKJXUKfYQp/j9T6s8FyKtDLsPGH6nAAm8=; b=EQmh5pfdNzsJdClO6sB/YA3YFdn6OvK3lj11tJBfb/yPia/NDFmrt+9VNxyZ08Ysbz3Jav 97XidgIv10I8RcZOLZfPc88AIFpmsR+ZaaQ1zKbNuruOUEQlDOdECYMwbwa7Z2mlMc+d5c oE7ddtVSqCQ+GSHTnUZZ4+rqxC4J4kZe8WHpESOJ4cW5Ul/P4GiZDjspJo9GhHXymmuL+m 36GVafSX4Zwj0/tjtZtMgcunjgHS9/oWkYTuEQ9xdTLo+uuuMa3pks4LvBksPexa15fFIw eeFbX5/X+Jtp9Ua0VXXU0bGjqruGdsy4RzWrDVUQl5wLp9uqQ8w1472wpX90Yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361100; a=rsa-sha256; cv=none; b=nCyasNEjHmDe+5wsm0/A541mRactxKStgvpvcK/AFyMVe2ssX8lIwzldOCdIxXVQXafjSd L5gbtocJUjIRKYAKEuL8peCEZWC6vxF860fbeLe3dpOXl19OEFHiiuhE3e1MydpsjjhoFb Kq/jvYhr2VQyWPNgq61DpWPP1cqU+pvfolTuaPAqiUSiWOjzu07foaIX8BBks/fFTKj+bq x9bYsGG2IGOfQUwpBLB5GhyVcgiNzzLSPvJjyCF2FZ68yfiI2KZcaY2MthS21bJDZ2Yy75 6ShKYbLQdL08V/sLzCcAqDhWh6i5pPXrrUJM25qLLauFmX79I3biP/j/Uk3R4w== 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 4TdpL45c2YzjSP; Mon, 19 Feb 2024 16:45: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 41JGj019094832; Mon, 19 Feb 2024 16:45:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj0Pg094829; Mon, 19 Feb 2024 16:45:00 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:00 GMT Message-Id: <202402191645.41JGj0Pg094829@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: a2061845faf0 - stable/13 - imgact_elf: Move GNU_ABI_VENDOR to a common header 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/stable/13 X-Git-Reftype: branch X-Git-Commit: a2061845faf0711fd2437b7123acaa27d338cb3e Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a2061845faf0711fd2437b7123acaa27d338cb3e commit a2061845faf0711fd2437b7123acaa27d338cb3e Author: Andrew Turner AuthorDate: 2023-11-01 15:05:58 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:43:42 +0000 imgact_elf: Move GNU_ABI_VENDOR to a common header Move the definition of GNU_ABI_VENDOR to a common location so it can be used in multiple files. Reviewed by: emaste, kib, imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42442 (cherry picked from commit 9d2612fc2a7e54719058c68b62ea035b029c954f) --- sys/kern/imgact_elf.c | 1 - sys/sys/imgact_elf.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index cae1889bc4c5..b27129a555c4 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -240,7 +240,6 @@ __elfN(freebsd_trans_osrel)(const Elf_Note *note, int32_t *osrel) return (true); } -static const char GNU_ABI_VENDOR[] = "GNU"; static int GNU_KFREEBSD_ABI_DESC = 3; Elf_Brandnote __elfN(kfreebsd_brandnote) = { diff --git a/sys/sys/imgact_elf.h b/sys/sys/imgact_elf.h index 349161a66c48..b0cb6f9fcce7 100644 --- a/sys/sys/imgact_elf.h +++ b/sys/sys/imgact_elf.h @@ -101,6 +101,7 @@ __ElfType(Brandinfo); #define MAX_BRANDS 8 #define FREEBSD_ABI_VENDOR "FreeBSD" +#define GNU_ABI_VENDOR "GNU" typedef void (*outfunc_t)(void *, struct sbuf *, size_t *); From nobody Mon Feb 19 16:45:01 2024 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 4TdpL56NHwz5C995; Mon, 19 Feb 2024 16:45: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 4TdpL52c0vz4bHB; Mon, 19 Feb 2024 16:45:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=41DyVDRVWmibXXmHxWtxCj7ndKCswhyR0AOpeoj+Mpw=; b=l6Q5/yHMMCy+Gyw9+oACirNZ5XRGdJcVElkwtYnludR7a3b163IUijNQQrFdVjPsxQ1sJq 5QBfH8Arx3gKmX9jFgWB2VIZmYHpS1O3XYZpkC2P4HuWFFzP/oscZqj8NL/LAumyPlW3Cv OiQtSKxMJaeY9XuiRwqjnzDG4crTVqT/RE+tOySPdCjERz1opJ8FC9Ptp653RdUhEuwz2T CPhmeGQvUXLrjx8xeG9pkYIjhnoozl/wMGHt1vS/taD5eTtLqP5i4GB4Lh6h0FwJbrtGp+ ZZz5uQo+FFt9LzfRYGOtWZIYZ0Nzrj6hKk4TREDecs3QGQ83BQtw0Ql+/285Jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=41DyVDRVWmibXXmHxWtxCj7ndKCswhyR0AOpeoj+Mpw=; b=GvVpH3BnmQGTi/lSF5+1NmVRPHvaemcqpr4r786ca42v5fe46KmZu93EPHkh7CfUJ21S1c 4GTefelfQe3FJAczcvncp4Q4DOZvKl/RlgX4J+91sBYjmehIEDg/h2K+nc3UbYDcmP0klH f04JYzJCVmrzStK4Bo36164SYa+axCB4rQEGRNUElFsmKUTMcLDUgPcivGjE+CeB71Fo1a HuO0Kja0tXt5dvNBc/+lPy3EnY4ISmRLNN/rq+hvF5Drfhohagraf8aQb7RxIFuj4lmp+n am2eqzwW2R9sdF13004PRKYsM7abUn/4Zc12XTROCkRbp0QnJGUCfuZYXoYMBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361101; a=rsa-sha256; cv=none; b=UQmOze8ZbUbNZHR/xqwf/D19/vi/ptuIV/N0cR78s3fPcvZAyOTGQDmNnaTajAErHCHVlR v2uF2dHkmK/ha5AgXm1/cwrb/SghUjBySWir6VVwaXgW6H6m44PlD2oe9RYDa5rBJOA0df 6V3KvsMM5cKyilGK8mA7CkVjuj5c6+fPHR6ymztsxkXxWt92I0gvs9NXezlsllgBzUyG9g I333gtqy1tww6tCDnddixtdI2AkQAOZimwKtW+oY1Pb6SEoy33xEYkHMEZ48IXuBDBJ/Jt l0jK6hGiJSXSil67zw2bFaiU8k81hS/Y8ME6SklXuyJyCepCazjvgNIS+yEh3Q== 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 4TdpL51kBVzjVT; Mon, 19 Feb 2024 16:45: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 41JGj1SV094868; Mon, 19 Feb 2024 16:45:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj1WO094865; Mon, 19 Feb 2024 16:45:01 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:01 GMT Message-Id: <202402191645.41JGj1WO094865@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 15ef78831eb0 - stable/14 - arm64: Export HWCAP_CPUID 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 15ef78831eb01a0e42317f7b6f03a227fae89e9d Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=15ef78831eb01a0e42317f7b6f03a227fae89e9d commit 15ef78831eb01a0e42317f7b6f03a227fae89e9d Author: Andrew Turner AuthorDate: 2023-09-22 16:20:17 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:08:35 +0000 arm64: Export HWCAP_CPUID We have export the CPUID registers since 2018 but never set the HWCAP_CPUID flag to tell userspace it could use them. Fix this by setting it. Sponsored by: Arm Ltd (cherry picked from commit d61f9bfb0e5c119c97a559f187b1e9c73077307b) --- sys/arm64/arm64/identcpu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 1e9ff32754f0..4202cbe7878f 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2203,6 +2203,8 @@ identify_cpu_sysinit(void *dummy __unused) /* Find the values to export to userspace as AT_HWCAP and AT_HWCAP2 */ parse_cpu_features(); + /* We export the CPUID registers */ + elf_hwcap |= HWCAP_CPUID; #ifdef COMPAT_FREEBSD32 /* Set the default caps and any that need to check multiple fields */ From nobody Mon Feb 19 16:45:02 2024 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 4TdpL70Flnz5C9Mk; Mon, 19 Feb 2024 16:45: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 4TdpL63ZRwz4bKp; Mon, 19 Feb 2024 16:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AeFqNIJND9OxWaD7TtAbvNws2RCRphvahP0xkwRHFdg=; b=tInWsyDCDkRwur+DFY9w2U+t21Hx+t3RCErs3dbAYpUMvUmTBGgXDVqc7MPTM51Z8/XjiK 4ZuzWFEaR77qKQwzKzg0bfAVqtqV8K0e9cqygN4nBPY3ZhRzY4j+6xcneSel+LZQXrzxMe KFvL9N+2kic+cYtyoG/oH2AR0KpCw0MzjOmFIBVItdFCjQZN+VCXaxsijtUm9qb/cm2G9N FioZ73dw+8Tg5pPUpAw7XA8Fo/NtxLKS5j1HvFolWzLvArbQ2Wz3mLwU4eY+osOHzb6cjQ pXT5fvwK1Gj8FN+kC+3UnbgD9bC34Vaj4BrAUSMVQWRAV5nX1qbWqzwFZxDrug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AeFqNIJND9OxWaD7TtAbvNws2RCRphvahP0xkwRHFdg=; b=dWWu5rYrcvFw5NURBlm3DjwXEsZcRZNP/Eorg9rlg/jbeF0yYz9Ys0ixSj6RtvzXEVnA0Y zTwT4EFyv3JFUAWI+QB+uJKRjZmQESza0Xzkefhzu/QLkGrzVnCfJpRjHuh2Cc16AO6/8n DZpF2U8Sr91TXIAM9uJTE8nFZCRB5VRttuD5kldDXqZYsVk8V6kyCxi/f0fv3Ar1momtzq YyvcycmPvj8k/GAzW2KnTEkykQEEquy52T95MC9OuX+w8//SrVsutMtWAoFMGnHYFTeDVT 5P881Abnvz3vQea6kY5tCYczuRJw1dxsCon6+BJN0NrGMB7tCiX9qvSxW6Wapg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361102; a=rsa-sha256; cv=none; b=uiimR48PnmuyCqr08+UnzBynPWLFMkfTuCo/fIWr3IJm9c+JIWxOhSvK4b5NgFk/TCgt14 Xr7eUfocBrmObHohu0GCV8gUUw1JdbAI2D/Sat1HSMg8zPbM5JdCk3KbQff1FpGNMS7o7q HmCJIwOX7H6K5hBVAntuvF7tny3U/+43HsrC4M8lOlb5B5EIJnVxrhGVNqbSsZShaw5kXj a8jbEBmyTLULkbkodiYEEIziVfKyea/CskrsYl7IA1NQjWp7+sA9rkR1WIjOYkwtyDpa2z kMZS8H69bYlmq9VPrBQ6QVIHNBL/MgCC6jr2aRWBgegqpxWrR+COBCyctO/ueA== 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 4TdpL62hXSzjVW; Mon, 19 Feb 2024 16:45: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 41JGj2N4094960; Mon, 19 Feb 2024 16:45:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj2lV094957; Mon, 19 Feb 2024 16:45:02 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:02 GMT Message-Id: <202402191645.41JGj2lV094957@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 3e3e2ce55be3 - stable/14 - Add BTI exceptions 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 3e3e2ce55be3c8c9d1f2f83523a403332e747e16 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=3e3e2ce55be3c8c9d1f2f83523a403332e747e16 commit 3e3e2ce55be3c8c9d1f2f83523a403332e747e16 Author: Andrew Turner AuthorDate: 2023-04-05 12:28:46 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:08:50 +0000 Add BTI exceptions We could hit these when executing code marked as using BTI but jumps to a non-branch target instruction. Sponsored by: Arm Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39450 (cherry picked from commit 450f731b7f2351d475b43bbc6234eea28adfd2b0) --- sys/arm64/arm64/locore.S | 2 +- sys/arm64/arm64/trap.c | 10 ++++++++++ sys/arm64/include/armreg.h | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index ac925f13f069..0c3a512cf671 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -879,7 +879,7 @@ sctlr_set: .quad (SCTLR_LSMAOE | SCTLR_nTLSMD | SCTLR_UCI | SCTLR_SPAN | \ SCTLR_nTWE | SCTLR_nTWI | SCTLR_UCT | SCTLR_DZE | \ SCTLR_I | SCTLR_SED | SCTLR_SA0 | SCTLR_SA | SCTLR_C | \ - SCTLR_M | SCTLR_CP15BEN) + SCTLR_M | SCTLR_CP15BEN | SCTLR_BT1 | SCTLR_BT0) sctlr_clear: /* Bits to clear */ .quad (SCTLR_EE | SCTLR_E0E | SCTLR_IESB | SCTLR_WXN | SCTLR_UMA | \ diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 12f43e01630a..2dda8cfc4c20 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -559,6 +559,11 @@ do_el1h_sync(struct thread *td, struct trapframe *frame) panic("Undefined instruction: %08x", *(uint32_t *)frame->tf_elr); break; + case EXCP_BTI: + print_registers(frame); + print_gp_register("far", far); + panic("Branch Target exception"); + break; default: print_registers(frame); print_gp_register("far", far); @@ -699,6 +704,11 @@ do_el0_sync(struct thread *td, struct trapframe *frame) (void *)frame->tf_elr, exception); userret(td, frame); break; + case EXCP_BTI: + call_trapsignal(td, SIGILL, ILL_ILLOPC, (void *)frame->tf_elr, + exception); + userret(td, frame); + break; default: call_trapsignal(td, SIGBUS, BUS_OBJERR, (void *)frame->tf_elr, exception); diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 8251a687a5d1..953c9af220b9 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -408,6 +408,7 @@ #define EXCP_UNKNOWN 0x00 /* Unkwn exception */ #define EXCP_TRAP_WFI_WFE 0x01 /* Trapped WFI or WFE */ #define EXCP_FP_SIMD 0x07 /* VFP/SIMD trap */ +#define EXCP_BTI 0x0d /* Branch Target Exception */ #define EXCP_ILL_STATE 0x0e /* Illegal execution state */ #define EXCP_SVC32 0x11 /* SVC trap for AArch32 */ #define EXCP_SVC64 0x15 /* SVC trap for AArch64 */ From nobody Mon Feb 19 16:45:01 2024 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 4TdpL6116Fz5C9KB; Mon, 19 Feb 2024 16:45: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 4TdpL603m2z4b6f; Mon, 19 Feb 2024 16:45:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qwYIr8JEg++5GcfHw52ZNoalxR2QxAAL3WCmlNWUqrg=; b=s9uidh9VA/gSMYtmlEbtMbm45CAMPXCZi/zW5bylWNYDl9RH+UVOHijd35Ox4XMweJc2Z6 WyEIs3OyjM5T9hqkNI0Z+zuQG//cpigH7S7yMGH/UlA8deE2+SNLZ3C424cPZ/TcA8+YjY 3bty1uWyHelZ6SYkRFwg2SO4JtSMrIxOVV0CQ4gAvsaGqNbf1Cm43AbzLh6uZoJ4jimGHd Jr88Ghv4fZM/oBemkt5mwRhdomAGuVCpBCE9YuJe9SVtFdz3PR8EKdwQwcVPL+lxNd62uo qmhE1Yf9bIZ3JPT5dpy9b6HXs9QlEPs38NoCIRqzazCSIYJZMh72+HBeQFmWTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qwYIr8JEg++5GcfHw52ZNoalxR2QxAAL3WCmlNWUqrg=; b=SE5btQ6oq+5fUcVktCV888GowmtTLZY1kEV6gqPdH30nffg5SfF3Aat4lg1oZOAMa2Boc9 nK9IXLs1sd+05W/kXcYN4nY2JoOkUCxRaS48kD4IKiEaMPVmhR3tPNuVh3NFF1R77MOk/q 7DuDx4YI1Q8p1NjDPyiLn1gXkzubS7badhtSoXo8TOYW+ITttOmhmFiS2Lm4bygUlFpf35 HJr44YB7g/l3mi3LiyIxatC6w9H0pHsCOIvtM9cxKbpjm2+u0DEbI6m9XwIkzYL7buA7LW tsWw7xtbVp6shoTrk9sm2JA/UnKah0i+NOFg4jaS/C3Je8rEReMYKrl7kfUEgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361102; a=rsa-sha256; cv=none; b=jMWkpHmiDYp/1dBlGcA6ubVB+9p6pE6viNrbnyFCZQ+WcHl2WTcZavzVAPEWnNTeAaZm6A NLyKFzNC07UF2WVSkwhDDhMkNxtGDUad5F1LCepoFhy1aHfZdNKK6l4QBnPmXDDHV9BLY4 EkoYP0C3sYiVVv+wiCPzem6QOKJFHZhNyk1MyOLJdpfEuHhrdGiJglqlfQ/URMj8kyvFZA jQC7F5BOoqLi6+mpDiA0Iuk9biDhwP9HxZ0Rph+pCQpawbo3DYuQsvqQcE6w16gg9O+XF7 zwperk1HCB5yvPxe4++IF3G9e7HZuuZXPX9m9izKKvc1CgEotV11z336iuKg0w== 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 4TdpL56FXXzjVV; Mon, 19 Feb 2024 16:45: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 41JGj1L6094924; Mon, 19 Feb 2024 16:45:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj1fI094921; Mon, 19 Feb 2024 16:45:01 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:01 GMT Message-Id: <202402191645.41JGj1fI094921@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 9aa63df3dbe5 - stable/13 - arm64: Expand HWCAP2 to be 64 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9aa63df3dbe5a043d699043087ac8c01c5f28305 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9aa63df3dbe5a043d699043087ac8c01c5f28305 commit 9aa63df3dbe5a043d699043087ac8c01c5f28305 Author: Andrew Turner AuthorDate: 2023-10-27 10:24:55 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:43:55 +0000 arm64: Expand HWCAP2 to be 64 bit There are more than 32 arm64 HWCAP2 values. Expand the macros to include leading zeros and mark them as unsigned long. Reviewed by: manu, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42378 (cherry picked from commit 0f0938800989dbf84a56c370db0b9379ee730a39) --- sys/arm64/include/elf.h | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/sys/arm64/include/elf.h b/sys/arm64/include/elf.h index 752c9e83ca19..81cee5700ed5 100644 --- a/sys/arm64/include/elf.h +++ b/sys/arm64/include/elf.h @@ -129,24 +129,24 @@ __ElfType(Auxinfo); #define HWCAP_PACG 0x80000000 /* HWCAP2 */ -#define HWCAP2_DCPODP 0x00000001 -#define HWCAP2_SVE2 0x00000002 -#define HWCAP2_SVEAES 0x00000004 -#define HWCAP2_SVEPMULL 0x00000008 -#define HWCAP2_SVEBITPERM 0x00000010 -#define HWCAP2_SVESHA3 0x00000020 -#define HWCAP2_SVESM4 0x00000040 -#define HWCAP2_FLAGM2 0x00000080 -#define HWCAP2_FRINT 0x00000100 -#define HWCAP2_SVEI8MM 0x00000200 -#define HWCAP2_SVEF32MM 0x00000400 -#define HWCAP2_SVEF64MM 0x00000800 -#define HWCAP2_SVEBF16 0x00001000 -#define HWCAP2_I8MM 0x00002000 -#define HWCAP2_BF16 0x00004000 -#define HWCAP2_DGH 0x00008000 -#define HWCAP2_RNG 0x00010000 -#define HWCAP2_BTI 0x00020000 +#define HWCAP2_DCPODP 0x0000000000000001ul +#define HWCAP2_SVE2 0x0000000000000002ul +#define HWCAP2_SVEAES 0x0000000000000004ul +#define HWCAP2_SVEPMULL 0x0000000000000008ul +#define HWCAP2_SVEBITPERM 0x0000000000000010ul +#define HWCAP2_SVESHA3 0x0000000000000020ul +#define HWCAP2_SVESM4 0x0000000000000040ul +#define HWCAP2_FLAGM2 0x0000000000000080ul +#define HWCAP2_FRINT 0x0000000000000100ul +#define HWCAP2_SVEI8MM 0x0000000000000200ul +#define HWCAP2_SVEF32MM 0x0000000000000400ul +#define HWCAP2_SVEF64MM 0x0000000000000800ul +#define HWCAP2_SVEBF16 0x0000000000001000ul +#define HWCAP2_I8MM 0x0000000000002000ul +#define HWCAP2_BF16 0x0000000000004000ul +#define HWCAP2_DGH 0x0000000000008000ul +#define HWCAP2_RNG 0x0000000000010000ul +#define HWCAP2_BTI 0x0000000000020000ul #ifdef COMPAT_FREEBSD32 /* ARM HWCAP */ From nobody Mon Feb 19 16:45:02 2024 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 4TdpL768F7z5C9KG; Mon, 19 Feb 2024 16:45: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 4TdpL73TzNz4bF3; Mon, 19 Feb 2024 16:45:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GdU6Ui06fkC6vMiorFu8pX8cRpVrzArFOmJGqHp0wnI=; b=Ns5vaOd14sdxACTAxPUVrXEVjiaOcLC383thAx3b1j8SFOY3m1VKrFbaqHxAaGm5V1w/Lk mUIjUFxgfJCvxwm868FxyT8xpO0nZ108vx+TA/PzzrFYwZFgGgBbSDBkaOvL118aV/K5j7 e6I7xINQrz99TrtpP4sbob+LYfeAkU+Q+nYOudPOX1h8vbn5yAaczL6JQJ+UkjEkrU3gcA jvgPpnOGLp01rrUApagU++fLp5DMYo1gcwhAW2VUAAKlY+ymod+fB0y+pOJ9C58WWyRhyk G4jdiOEgTcoWXvHujzE1Du4QmYM8Xzgx9Y28NZPQEZVGky365a4cKOVZobLX9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GdU6Ui06fkC6vMiorFu8pX8cRpVrzArFOmJGqHp0wnI=; b=pQRV7LLw/6A6++zoFzEa23tzIkvaVlwGVXbmr+uP0dmBHIons1ISyp5cZwDv/wTIr5lxZr vCV7qwcA89N+bKgl3hPQB8xDHVde1CNb0L8wNPABNgTxHTeobk3g4/sC4M6naufB//kPPA Wx6sipRr95jTt4Rv6t+ZN6BKJ6vvgzohSAMhV1YfWstwovk5nIf+wRMy97pEXpiGSu+5sU JX1K0By3/U4aAeiv0k9f8oM33mKeUKFk4Xgv3onZbTwkusUq3wZs75re2lNZ5sgWc8q69N NAL8dbMXBmOF5x7wpTllCJTwcOsrOU3ww3Uyi3uZ3VmChG0QKZp3T5n8399f+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361103; a=rsa-sha256; cv=none; b=UOgS+2PRs7CfnZ3ekIBanxVRwEOwJLvlEQefmDH52nL5eSdAhaCAvSOkzLH9xaUK4Qp5To pHX4GaTkl3efob9nHvxVQK4RH7RDUDULTmD/9w8MV2cyUjB+YfIsB8ZBEcTnFRWejxCT4F SmtSDZaK0MbXKHYonSiiuSo/3qILAPCWmhH8LKPgD48msamfey9AVbZbl+NkO6pfbgB/Ck fYWyFEwnxat7x4Or5ixJHsgHUsZcXsSd/apmii8Ucs+lIbEl/wIemsiDRvVZyUB+k6PgBl cnwdfwbfZ2RGeGzMP3tNYF7z3rfbirhzmLbwVFUUfyzXUEk6z9qwzueSpJpSeQ== 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 4TdpL702gbzjGs; Mon, 19 Feb 2024 16:45: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 41JGj2t9095002; Mon, 19 Feb 2024 16:45:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj2fO094999; Mon, 19 Feb 2024 16:45:02 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:02 GMT Message-Id: <202402191645.41JGj2fO094999@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 975086258ce7 - stable/13 - arm64: Add more HWCAP2 values 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 975086258ce7b6fc6cf68d3941f0083d4bb1c575 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=975086258ce7b6fc6cf68d3941f0083d4bb1c575 commit 975086258ce7b6fc6cf68d3941f0083d4bb1c575 Author: Andrew Turner AuthorDate: 2023-10-27 10:42:08 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:44:03 +0000 arm64: Add more HWCAP2 values Update the HWCAP2 values to align with Linux v6.6-rc7 Reviewed by: manu, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42379 (cherry picked from commit 2ee649c1dd5c41e93f02fdca8bba9279371e4efd) --- sys/arm64/include/elf.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/sys/arm64/include/elf.h b/sys/arm64/include/elf.h index 81cee5700ed5..5a2ba1f95856 100644 --- a/sys/arm64/include/elf.h +++ b/sys/arm64/include/elf.h @@ -147,6 +147,33 @@ __ElfType(Auxinfo); #define HWCAP2_DGH 0x0000000000008000ul #define HWCAP2_RNG 0x0000000000010000ul #define HWCAP2_BTI 0x0000000000020000ul +#define HWCAP2_MTE 0x0000000000040000ul +#define HWCAP2_ECV 0x0000000000080000ul +#define HWCAP2_AFP 0x0000000000100000ul +#define HWCAP2_RPRES 0x0000000000200000ul +#define HWCAP2_MTE3 0x0000000000400000ul +#define HWCAP2_SME 0x0000000000800000ul +#define HWCAP2_SME_I16I64 0x0000000001000000ul +#define HWCAP2_SME_F64F64 0x0000000002000000ul +#define HWCAP2_SME_I8I32 0x0000000004000000ul +#define HWCAP2_SME_F16F32 0x0000000008000000ul +#define HWCAP2_SME_B16F32 0x0000000010000000ul +#define HWCAP2_SME_F32F32 0x0000000020000000ul +#define HWCAP2_SME_FA64 0x0000000040000000ul +#define HWCAP2_WFXT 0x0000000080000000ul +#define HWCAP2_EBF16 0x0000000100000000ul +#define HWCAP2_SVE_EBF16 0x0000000200000000ul +#define HWCAP2_CSSC 0x0000000400000000ul +#define HWCAP2_RPRFM 0x0000000800000000ul +#define HWCAP2_SVE2P1 0x0000001000000000ul +#define HWCAP2_SME2 0x0000002000000000ul +#define HWCAP2_SME2P1 0x0000004000000000ul +#define HWCAP2_SME_I16I32 0x0000008000000000ul +#define HWCAP2_SME_BI32I32 0x0000010000000000ul +#define HWCAP2_SME_B16B16 0x0000020000000000ul +#define HWCAP2_SME_F16F16 0x0000040000000000ul +#define HWCAP2_MOPS 0x0000080000000000ul +#define HWCAP2_HBC 0x0000100000000000ul #ifdef COMPAT_FREEBSD32 /* ARM HWCAP */ From nobody Mon Feb 19 16:45:04 2024 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 4TdpL85g5Bz5C9KH; Mon, 19 Feb 2024 16:45: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 4TdpL81wtXz4bVx; Mon, 19 Feb 2024 16:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=msJOQ2clXagAzcQmuP9w/c4Z3LbZntdtlXEMdeQW5N8=; b=EAJAGQZs7BUCD3sYhdIOn793u/iY65gFAzd2AEEblaFd8RFLvxIHlAuetAzHEzMpTKDcOE bET0UTh9LUS0572ApeHeWMQZZ2GoqW4MRHZemlmsdWu6KnXgO+nwqQ/mxhRbBFXuZt2Sll BX0yZQziA2Yo5MO+Kqubc1Gap/w5Msqe0wzTwG8EAWsoq5MWsJis0iGMaYeOJCv1wHQHgY pisaLZSsszAdvaP/V2485yMttIM9WSeVp8NY/UnNYc2P0ZjY/TUrenxeu3uj21J0C4kQrY +JbwT3R7FDwJx2mk3gCqPAmBwHKIjUG5WeW4dZ1q67nygZfStTGyrSWeFAoMDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=msJOQ2clXagAzcQmuP9w/c4Z3LbZntdtlXEMdeQW5N8=; b=U/w5ytBY0wJroYNnaLg+D1mFrMNVSOF6e934s8U9jNvUDQyXjbEoms6Qep4MrPGgVQ5x0D bFtr8WJSUJC+bzqcyMgO40SwKvisr5a9kqZzRhtw8C9eI/eWcW1Ca1w0e6M3kdEgfBXJwY j0ibLz/HAu1wu8LllKhKp4LbcNWo0GQiFAWqzQCzqelwXOYIlok//bmfTV5Fq5puHDBn+M BsNoDzUIT5LrQJ1dfS8ShnzrpqWY2IZU8FGY4dkcneWZdxcNGIypxP51MWWDivuMkL3OJK qbqTXT7PQSO3mHypqal9zMzGtzLU16EQ2t6L4goNsVmDb3fGzYRi8U2KGLHkkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361104; a=rsa-sha256; cv=none; b=bMcz5ybAdqaD3jw0lXV8rtY4SqySXMekxv4fVXj0hKf0SgsyWE0rHylE7dtptVFHe25ebB gu7iz0YAqAoIcD80XObdce4Iv9YMFJjM1Mw2QzXQytYO2L7HzZE+3+X4LpF7PpSjdqGJ1O M+ZdZwczxxr0SnmgannSD9dL6HIKEHC1YEFTHn1/ciHow7zdONoJDNa44Du+wKqwtLzYXV IUOk4LE8VVlH3Ll9fiyiMgCLhlA9KVcG7h7LtLxXg9+wRfpC+GvPsZc9M5GnUUiEVSNJd9 sXJkxpaLTmYG1wiIJiS/irSJPbhKL0+NHwekQ7AMGGnXNzfW8vxkKt/aVk+A1Q== 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 4TdpL812vDzjfY; Mon, 19 Feb 2024 16:45: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 41JGj4dD095101; Mon, 19 Feb 2024 16:45:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj4wl095098; Mon, 19 Feb 2024 16:45:04 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:04 GMT Message-Id: <202402191645.41JGj4wl095098@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: b9b148609abd - stable/13 - arm64: Check if PSCI before calling SMCCC 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/stable/13 X-Git-Reftype: branch X-Git-Commit: b9b148609abde98b6cf4470f0486ec65137c7282 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b9b148609abde98b6cf4470f0486ec65137c7282 commit b9b148609abde98b6cf4470f0486ec65137c7282 Author: Andrew Turner AuthorDate: 2023-10-30 14:33:08 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:44:19 +0000 arm64: Check if PSCI before calling SMCCC As SMCCC depends on PSCI check if the latter is present before calling the former. This fixes an issue where we may call into SMCCC when there is no PSCI in the system causing a smccc_version assert to fail. Reported by: stevek Reviewed by: emaste, imp, stevek Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42404 (cherry picked from commit 5a8417c78f9d51bf1103353bee348eaac83e86e5) --- sys/arm64/arm64/cpu_errata.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/arm64/arm64/cpu_errata.c b/sys/arm64/arm64/cpu_errata.c index fee22240bb0e..a03303d83044 100644 --- a/sys/arm64/arm64/cpu_errata.c +++ b/sys/arm64/arm64/cpu_errata.c @@ -40,6 +40,7 @@ #include +#include #include typedef void (cpu_quirk_install)(void); @@ -117,6 +118,9 @@ static struct cpu_quirks cpu_quirks[] = { static void install_psci_bp_hardening(void) { + /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */ + if (!psci_present) + return; if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_1) != SMCCC_RET_SUCCESS) return; @@ -140,6 +144,10 @@ install_ssbd_workaround(void) } } + /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */ + if (!psci_present) + return; + /* Enable the workaround on this CPU if it's enabled in the firmware */ if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_2) != SMCCC_RET_SUCCESS) return; From nobody Mon Feb 19 16:45:03 2024 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 4TdpL80T1Nz5C99G; Mon, 19 Feb 2024 16:45: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 4TdpL74Fnyz4b9F; Mon, 19 Feb 2024 16:45:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVrlEeEse5GzFjLNFdBUJv/88SWm3FEatc6ecHy/Ys4=; b=MuWE+x4GzRofQYBe2/v1hjOBIG2bnFMukMirSXeYpCrNLxAYNE1sBj0ruSJEJB/VJkkn48 3v1cYq3EkmjmZK5QpS46lnMuW82fy74kTAIHAG/QIKpm0eij7PyEZFB1hJB/iGIaP4m9M1 SKZOW9URMe49Oz4/if0FZpJzQZSnVEkFJ95uGzaBDP7Jadxlqc9W7Von1K31UB4mQR3bwg PxqWQAytIybc7Hod7H3N6WYrVNQOo/jmF3msJziMk8kXQ8enuHzJW4Ag/BN23KM6R0pIor H9Fvu2u4iyAkN5CKIfJSaWpbp6bXHsvZNW+t+lqltpMYgZjmORlt2OcaI8Q1xA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVrlEeEse5GzFjLNFdBUJv/88SWm3FEatc6ecHy/Ys4=; b=fkBjqM8zJz2Zq4/htU0gul/ARHxUfYiO0hAiuUrqSNIR2lImCUnInrxXz1QsW9NBmuDgxI /TpJEp4uv3yFvIHhpO1Nq1dEZvcgLuVkgJPdWeRG9OJpK0TfF5w5iipFwAdmjlqZnSw9Cq b9FDW9kisGoJAnUbJDCOomdUNXaewowua6uz3SzwLhVDYFgTsvac+/kJGrydiMl8fMB/O8 7VZ3Rhd5JuWhvoSvG8aXi1Qa24TG5gvPzf75VqT+Z0II7piR1DOWZGj7PmPBskuDyWL6wE H9UHOy4wFPevDzsetXONHrBPtxwsm9d8ahz98I9W29Ivx+eaYzCORFjS3NiCPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361103; a=rsa-sha256; cv=none; b=WCr5VyAnRk93oiPHcMhsR9gZwBAAjn42xgLWzWlvjsH7J0PPW13SqTvxECo7chmZhdDa4P sws47W/ZqSplgkgZH/O4yW3u3TJOsTKQJZlwX6hLxKA296i6GUvtT9XbImlLWIVLA8b4rV gasQ0+HLlM02OvjQsPwieMInKLcQnf5m5kd69UZ+X5lgolDk0PSDpdw5CLBhrzhR7r/Put xCqBTbHFBYvByLTHJAyAgWAZKBJWlSxYeGLsqzikjG+yX5moJIy1thUo0eE/7ViU5yBRA6 3cbh7B8gxtbxfjHJNIxQ7RCYiU3xpcdt/djGZKDWLOqMIYX5CSKpSH6aNet1Kg== 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 4TdpL73GCmzjVX; Mon, 19 Feb 2024 16:45: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 41JGj3Tb095053; Mon, 19 Feb 2024 16:45:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj34E095050; Mon, 19 Feb 2024 16:45:03 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:03 GMT Message-Id: <202402191645.41JGj34E095050@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 45ffdd4ea582 - stable/14 - arm64: Add BTI landing pads to assembly functions 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 45ffdd4ea5825c5bee19ed9b2d00457cfff2d84e Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=45ffdd4ea5825c5bee19ed9b2d00457cfff2d84e commit 45ffdd4ea5825c5bee19ed9b2d00457cfff2d84e Author: Andrew Turner AuthorDate: 2023-10-03 08:52:02 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:09:50 +0000 arm64: Add BTI landing pads to assembly functions When we enable BTI iboth the first instruction in a function that could be called indirectly, and a branch within a function need a valid landing pad instruction. There are three options for these instructions: 1. A breakpoint instruction 2. A pointer authentication PACIASP/PACIBSP 3. A BTI instruction Option 1 will raise a breakpoint exception so isn't useable in either cases. Option 2 could be used in some function entry cases, but needs to be paired with an authentication instruction, and is normally only used in non-leaf functions we can't use it in this case. This leaves option 3. There are four variants of the instruction, the C variant is used on function entry and the J variant is for jumping within a function. There is also a JC that works with both and one with no target that works with neither. Reviewed by: markj Sponsored by: Arm Ltd Sponsored by: The FreeBSD Foundation (earlier version) Differential Revision: https://reviews.freebsd.org/D42078 (cherry picked from commit e340882d3e49a98aa39b13041a2bf714c30dccdf) --- sys/arm64/arm64/locore.S | 4 ++++ sys/arm64/include/asm.h | 30 +++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index 0c3a512cf671..ea5ce8e15ed2 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -112,6 +112,8 @@ ENTRY(_start) br x15 virtdone: + BTI_J + /* Set up the stack */ adrp x25, initstack_end add x25, x25, :lo12:initstack_end @@ -230,6 +232,8 @@ ENTRY(mpentry) br x15 mp_virtdone: + BTI_J + /* Start using the AP boot stack */ ldr x4, =bootstack ldr x4, [x4] diff --git a/sys/arm64/include/asm.h b/sys/arm64/include/asm.h index 5c1f874366fd..6ebfca6eaf0c 100644 --- a/sys/arm64/include/asm.h +++ b/sys/arm64/include/asm.h @@ -48,7 +48,7 @@ #define LENTRY(sym) \ .text; .align 2; .type sym,#function; sym: \ - .cfi_startproc; DTRACE_NOP + .cfi_startproc; BTI_C; DTRACE_NOP #define ENTRY(sym) \ .globl sym; LENTRY(sym) #define EENTRY(sym) \ @@ -114,6 +114,34 @@ dsb sy; \ isb +/* + * When a CPU that implements FEAT_BTI uses a BR/BLR instruction (or the + * pointer authentication variants, e.g. BLRAA) and the target location + * has the GP attribute in its page table, then the target of the BR/BLR + * needs to be a valid BTI landing pad. + * + * BTI_C should be used at the start of a function and is used in the + * ENTRY macro. It can be replaced by PACIASP or PACIBSP, however these + * also need an appropriate authenticate instruction before returning. + * + * BTI_J should be used as the target instruction when branching with a + * BR instruction within a function. + * + * When using a BR to branch to a new function, e.g. a tail call, then + * the target register should be x16 or x17 so it is compatible with + * the BRI_C instruction. + * + * As these instructions are in the hint space they are a NOP when + * the CPU doesn't implement FEAT_BTI so are safe to use. + */ +#ifdef __ARM_FEATURE_BTI_DEFAULT +#define BTI_C hint #34 +#define BTI_J hint #36 +#else +#define BTI_C +#define BTI_J +#endif + #endif /* _MACHINE_ASM_H_ */ #endif /* !__arm__ */ From nobody Mon Feb 19 16:45:04 2024 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 4TdpL864RCz5C9HG; Mon, 19 Feb 2024 16:45: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 4TdpL856zJz4bLP; Mon, 19 Feb 2024 16:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qJr4k4Ob5dboNAHBtoWwbG93sLGJgC4BlhU7cnP+ol0=; b=vXRrMPZqCPad7uiZhOp3yScRUocddEeTLKqah3C1rp48nZYsEHnNyPRYUqwJxBgJUbHoJH 0vsO0fe0C4hFiFF4Wz/oW5//DPr3EnB5PhqR84yfdm11cQrljXZKhvBcbLdOCCEz2bqf3i yAiAqMOXS8xYgx7/6ef20LDrHlNifbH68tb1klPm8LJvnWk64kVzDkcVAcntWfSrxgkfQx 7jHjcl9sCVgeLI+KOSqdVnh/5/gEYcjy6TeUS8KDQcHaJM8LsCXAKSfKq7YIlDVcvaNbkD 0vcuLsy/D4B8CsamuZqyjbTgdEaMzSrazAocL5xZ7VIODcE1U+WnAtPeImtWQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qJr4k4Ob5dboNAHBtoWwbG93sLGJgC4BlhU7cnP+ol0=; b=qdeGbLztRwIea/LcDmkODZ/8dCmsVr3dE5bbK+nkuSoJIxbszEZhVeBqohvrvStGPjz6gl t9fE1XnXGrxsBHz6pxYerjovMDRET4+niZ55OAwzYlqRBnp3E4KTV1Xag9JI9Bem85cmUb MzzcTE77U1zDjdPN2Z9wVf778tPvjkEQaMhqfVNOaxPEmLayyE92AkNUIaB3ebzCloBlfi IRQXECwHhAzeCg0Q+B9K6pfHsDoh0j/Zz4WYBKOd7OPxAx13TnSEGYIA+k6rbj92nMYQP8 HWI4pHbUF516X7OpHyt5XkNByabNwom45NViSbi1WzhcQDf+PGQrZYuJ7QMe/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361104; a=rsa-sha256; cv=none; b=Ro6Ot5Lftf0jinTVgKLenIYe7qJ5MUNrGGeEDjghzIVNO2eflbph8qQduE06W8vVUBa/HE fMtCt55vLzKBZf2Tkc0Tp/J0BOIdFnY4uuz/986b2oJBwYSl9uHYzciC8dlambyqLTr/R/ jGr8O3z86eWVrb0N9iJHEMzlDZ9mYpFBupkseyYwoaNGMDoXX9Tiw4f7M8n2qfEWpifbby 85RJGVVQzsKo/yukxLI8H5pTtaBRZZ+3k+jOwPDk/EDZF1rmnFYe1C2ljBzO0lTiXSNkcq CCvrg99OA6fjFyjR3wwRVaFlTHLxM0518207sy7Ef+8NA7qZpdyu2yywoau21A== 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 4TdpL84DxJzjVY; Mon, 19 Feb 2024 16:45: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 41JGj4Rj095156; Mon, 19 Feb 2024 16:45:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj4GQ095153; Mon, 19 Feb 2024 16:45:04 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:04 GMT Message-Id: <202402191645.41JGj4GQ095153@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 729576a3d540 - stable/14 - pci: Set the domain in the pci_generic driver 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 729576a3d540d914136c7faaa134ea25ae9c6636 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=729576a3d540d914136c7faaa134ea25ae9c6636 commit 729576a3d540d914136c7faaa134ea25ae9c6636 Author: Andrew Turner AuthorDate: 2023-10-13 10:08:21 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:10:27 +0000 pci: Set the domain in the pci_generic driver Tell bus_dma(9) which NUMA domain the PCI driver is closest to so it can allocate memory from there when possible. Reviewed by: markj, jhb Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42186 (cherry picked from commit 7098f3c7569c21ecdfc990772e96a416f1a94eee) --- sys/dev/pci/pci_host_generic.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c index cef83069c371..90361a7258ed 100644 --- a/sys/dev/pci/pci_host_generic.c +++ b/sys/dev/pci/pci_host_generic.c @@ -83,7 +83,7 @@ pci_host_generic_core_attach(device_t dev) uint64_t phys_base; uint64_t pci_base; uint64_t size; - int error; + int domain, error; int rid, tuple; sc = device_get_softc(dev); @@ -104,6 +104,13 @@ pci_host_generic_core_attach(device_t dev) if (error != 0) return (error); + /* + * Attempt to set the domain. If it's missing, or we are unable to + * set it then memory allocations may be placed in the wrong domain. + */ + if (bus_get_domain(dev, &domain) == 0) + (void)bus_dma_tag_set_domain(sc->dmat, domain); + if ((sc->quirks & PCIE_CUSTOM_CONFIG_SPACE_QUIRK) == 0) { rid = 0; sc->res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, From nobody Mon Feb 19 16:45:05 2024 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 4TdpL94b4kz5C99M; Mon, 19 Feb 2024 16:45: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 4TdpL92zjLz4bLd; Mon, 19 Feb 2024 16:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=urvVrChkNndZ7EMKGIy6WLj6+tpt4KLgH9zIPCkRI28=; b=Qtp4a8z8b89hqXybDxo2nU9xgtikXWd3ftxBgNM3Jj+HEmHG1/GtPTIvTCQQ+vRqB+qmJk wJyKq7L/7K8Gzl2YpPs0nfMmvDEsaxE22Bno7qiDcyE+VPHpoDeR3+x7pTFqSi+UU7LSr5 XAv1l5H4YJczjpnkoz18p95BDanT+o2m3t0o8q//YemU951GVzsVpfZ34YFIqCWl6DPDPp 131k+akizXw5koocLkeKxEViU5v5iHqfeEymiU6d1a9Nv44ijVZfuhaOlzJSlZRAmUWPWF 8FiGPr9rPP8zVj+b7FynJAc7eEL43KJtNJY9Dc6ePKfP1hVi9M4R7ZSsiDtTvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=urvVrChkNndZ7EMKGIy6WLj6+tpt4KLgH9zIPCkRI28=; b=Mp6uCyxc/pOaNA0zlQanzLN+5GR7Zn5nTLGkLGlYfF34xul2QhsF2p3AKiFX8AdhdvYu1D GmeMm706bS+dEm4qBA+RjbWwEIoKDxJVILyTKFYyH06KNUbUZI1Am0ZFsRUW5w0eHEJ6b2 mqGy/TNFbKpUUW2iL9A1GWZ0+8HMaNvID6FYig8+3CZcJVZKrY38C9A+NKFJuic7WwtWyv VUYFaEwm0yLXDzaUhlFfkfzUu9Ta5G+9/RB1CxYSJst1NTAwaCTGNDXrWTkPDitdeW3r7F itJByg7+oUbRYVqb+e8ItDTDE95SjFthhI/sCGgqrw+H4sS21vDT6SIKRNCQUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361105; a=rsa-sha256; cv=none; b=s1P7Kt5xQH0I3u97xYhcgia8d4M1gF9AVlFJZOrdFoqV77pK3rc77hB27jO8fVY4pKb5FJ AqlekCtGAuCm+XUWK8H/XXxKifLoNux/yoCscglqAV3jAMAm4FGp5WvohxWDJufNxB0qi0 dy7VMIBYHWEPraJPmP3sSBsGhWMgVwu67AgFdGZtS1fMAvozDh6zJme23c/3xtSxrBnOv7 ZIbvuJRths1XK+BEd2csxLC81vIILFeFqWr7+mn37cxpCBJwy7Lm/jToPabI4iNBoAu4u1 PXBcygKtg5VuT1OIUPsy2T/MWOiqhyFpCmZWB9DdxBnMwEGGUho6OhEp6CdaWw== 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 4TdpL924cGzjfZ; Mon, 19 Feb 2024 16:45: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 41JGj5IV095215; Mon, 19 Feb 2024 16:45:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj5va095212; Mon, 19 Feb 2024 16:45:05 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:05 GMT Message-Id: <202402191645.41JGj5va095212@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: ab63af3ab3fd - stable/13 - arm64: Use adrp + :lo12: to load globals from 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ab63af3ab3fdaee5dd934fa1d5eda981c28e2a87 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ab63af3ab3fdaee5dd934fa1d5eda981c28e2a87 commit ab63af3ab3fdaee5dd934fa1d5eda981c28e2a87 Author: Andrew Turner AuthorDate: 2023-11-11 09:27:30 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:44:31 +0000 arm64: Use adrp + :lo12: to load globals from asm When loading a global variable we can use a pseudo-instruction similar to "ldr, xn, =global" to load the address of the symbol. As this is unlikely to be supported by a mov instruction a pc-relative load is used, with the absolute address written at the end of the function so it will be loaded. This load can be partially replaced with an adrp instruction. This generates the address, aligned to a 4k boundary, using a pc-relative addition. Because the address is 4k-aligned we then update reading the global variable using a load with the offset of the load the low 12-bits of the global. Arm64 assemblers have :lo12: to support this, e.g. "ldr xn, [xn, :lo12:global]". The only remaining users of "ldr, xn, =global" that I can find are executed from the physical address space the kernel was loaded in and need an address in the kernels virtual address space. Because of this they can't use adrp. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42565 (cherry picked from commit 7eb26be9c8080686f64fdc0a28e5ae7839bbc82d) --- sys/arm64/arm64/cpufunc_asm.S | 7 ++++--- sys/arm64/arm64/locore.S | 4 ++-- sys/arm64/arm64/support.S | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/arm64/arm64/cpufunc_asm.S b/sys/arm64/arm64/cpufunc_asm.S index 2b2ca6836530..8163e6c3d0d0 100644 --- a/sys/arm64/arm64/cpufunc_asm.S +++ b/sys/arm64/arm64/cpufunc_asm.S @@ -52,11 +52,12 @@ */ .macro cache_handle_range dcop = 0, ic = 0, icop = 0 .if \ic == 0 - ldr x3, =dcache_line_size /* Load the D cache line size */ + adrp x3, dcache_line_size /* Load the D cache line size */ + ldr x3, [x3, :lo12:dcache_line_size] .else - ldr x3, =idcache_line_size /* Load the I & D cache line size */ + adrp x3, idcache_line_size /* Load the I & D cache line size */ + ldr x3, [x3, :lo12:idcache_line_size] .endif - ldr x3, [x3] sub x4, x3, #1 /* Get the address mask */ and x2, x0, x4 /* Get the low bits of the address */ add x1, x1, x2 /* Add these to the size */ diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index 58f0ad8d85aa..7d93d1de30c0 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -204,8 +204,8 @@ mp_virtdone: BTI_J /* Start using the AP boot stack */ - ldr x4, =bootstack - ldr x4, [x4] + adrp x4, bootstack + ldr x4, [x4, :lo12:bootstack] mov sp, x4 #if defined(PERTHREAD_SSP) diff --git a/sys/arm64/arm64/support.S b/sys/arm64/arm64/support.S index 805867fd5d17..a2d422c31fea 100644 --- a/sys/arm64/arm64/support.S +++ b/sys/arm64/arm64/support.S @@ -284,8 +284,8 @@ END(pagezero_simple) ENTRY(pagezero_cache) add x1, x0, #PAGE_SIZE - ldr x2, =dczva_line_size - ldr x2, [x2] + adrp x2, dczva_line_size + ldr x2, [x2, :lo12:dczva_line_size] 1: dc zva, x0 From nobody Mon Feb 19 16:45:05 2024 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 4TdpLB0tGkz5C96d; Mon, 19 Feb 2024 16:45: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 4TdpL969Jxz4bC1; Mon, 19 Feb 2024 16:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+440LqA/lSYaFmYx7ImjwAUhTo2ztGToOMACniNOHp0=; b=S5Td5VwIot9SZUqgF9KoIX080YOcpAME071tV9t+ksTlgK2T6QsSe9cqVqY6PnodC0a76x QXIEI/3dSp0QfNuNVOajuIyd7uTJYuG3uX/QiYBaSEejg1mpdHgC+v0IvbvbZ5XfynVNRj IvPKukISqECwHSktoxyuMpumjjVR+5IqWHahoFKNSI+ddvzz506FLbItNbJlkFyYbzBdBa Wi3bsB/7aXLGpKG+pzbw1hTbVKl7BH5ATfmZB/HjN5DOhng+TIXfYKzffG77Md8nugb4B8 nzU/qzClsSE8DirPMhSAEbmzKMWMUP+pLoxQ5SZXaROSaJlafxu4BUjyahX1uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+440LqA/lSYaFmYx7ImjwAUhTo2ztGToOMACniNOHp0=; b=HgH1N1UCEH9RKgOvojcGCfB4R20vMGdUJe0ecO43pHsc1C+u9hmvvoolqY2PYH6x/TwfSX h/o1eBGAJCOw4UCz16SU8N8zInCAflm94jVT8kMBOlLYux15O0hcGnKp8wBNTaD9gBljZm W2Xl4AvpigDtiI8hiB0o2er6q7yTEU8Yi/8TZP0trv6T8aU76Rp2VrztnDqq5J9cUsQ2zd KOpu7YeNfBI7XM5WQMwDyRw1B1s3nR1gZEUfm4Su4abyQdO579EVAwWXvTGTLe7Yb9K1R6 pMysJQ+CTmPwZM4xTpT2gf8hKlGDVkJDRk3zPze1RbOqvzgwGcoQvQKx5BYfhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361105; a=rsa-sha256; cv=none; b=fPBptAMMuLe6oV/1H+lp0BK0f3AhlMZYYKLniYgD9TLG5wlPrjINQIYHN08RKqcrE/glUd bCSdHwIi1LSZNK+ndEHFoFOS6DfbmjwX0H7pFY5QsPaUY2hp/j28FYsAH8pbMbSxvKyR3f iMAdFbMnuIyXWVs/zs5ptlNBs76tpXv692Qn2uU/346RczVRB86RemYNVN9Hh3uAwmheQQ DnXNjimMgCOA3mR0MtkGF8X7rrcv5MrQqWM2a1zVUMLF1zPCnL5QM3lJctoGa3TfDt9P67 pw8r9d674Qqmb/ql1HqO40AH5+dYj9GIrS4Duz4/C1RO5zqEqZrUdJ7EL15uTg== 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 4TdpL95GWVzjDN; Mon, 19 Feb 2024 16:45: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 41JGj5jf095269; Mon, 19 Feb 2024 16:45:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj5xe095266; Mon, 19 Feb 2024 16:45:05 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:05 GMT Message-Id: <202402191645.41JGj5xe095266@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 890008575a43 - stable/14 - arm64: Raise a SIGBUS on a user external abort 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 890008575a436c050a679e1d9e43d05489ee42ac Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=890008575a436c050a679e1d9e43d05489ee42ac commit 890008575a436c050a679e1d9e43d05489ee42ac Author: Andrew Turner AuthorDate: 2023-09-29 13:55:48 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:10:39 +0000 arm64: Raise a SIGBUS on a user external abort When userspace triggers an external abort allow it to handle the abort by raising a SIGBUS. Reviewed by: markj, kib Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42018 (cherry picked from commit a69450102ff1fe1466077a021a16bb265274d3a2) --- sys/arm64/arm64/trap.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 2dda8cfc4c20..6534fd2283a1 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -225,19 +225,25 @@ static void external_abort(struct thread *td, struct trapframe *frame, uint64_t esr, uint64_t far, int lower) { + if (lower) { + call_trapsignal(td, SIGBUS, BUS_OBJERR, (void *)far, + ESR_ELx_EXCEPTION(frame->tf_esr)); + userret(td, frame); + return; + } /* * Try to handle synchronous external aborts caused by * bus_space_peek() and/or bus_space_poke() functions. */ - if (!lower && test_bs_fault((void *)frame->tf_elr)) { + if (test_bs_fault((void *)frame->tf_elr)) { frame->tf_elr = (uint64_t)generic_bs_fault; return; } print_registers(frame); print_gp_register("far", far); - panic("Unhandled EL%d external data abort", lower ? 0: 1); + panic("Unhandled external data abort"); } /* From nobody Mon Feb 19 16:45:06 2024 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 4TdpLB5x96z5C9HM; Mon, 19 Feb 2024 16:45: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 4TdpLB3zpDz4bWW; Mon, 19 Feb 2024 16:45:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LQND/Na/sNXpBKW9N0M875gb+xwmfx6/8ldt85n9rxg=; b=DWQEq4KVw8ZJN4L4z4ROnDYb5JggQKrp4gE98bd2jp1U0y6rtGkqH/9ge/JtpyaonGcm/t UFIJ9cA5Ektrc5edyG5ianm4TWMLhQ6xt+YUiQlVH+pHW56uWmg3B8aHwPp7V+cGr4YOze BnFkKemzLS8XjcGGFQmTs3kP4rUa5AuJwUXEgaXIjQOncnKYksHujHroDXm8kYVVXcf3eB Z9oxXYdcEtuCld/zz+3cdBQK3VHq5q2FQryv82J/sPlAtDQMc15mqG26Qjmmbb5ulh1qnr dpvUZ5AGif93Z4Pw3kls/KNmqApM3djDCnjDvhZFTHBh1NDuf/fx05aV+WSdKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LQND/Na/sNXpBKW9N0M875gb+xwmfx6/8ldt85n9rxg=; b=dsT1YZ+UXltNNzbsPtloojtehFDPJ8fT4+kCvA7qudHx4a+jfplio6BQMt0AP5+KOZNmgx 2dQYbFT15Mu+Jj7LXWLuCMjuznECJ4SC3SbgRPMBny6i5QDbuvOJH30+2YyDrvkc5JV3fn yxMu3bhf5lBQMo3dNUPqtvUOMi1pTQr+ZcH8Zm7YmZ9WtOOwndS52vnZ9BIliaCDbHSkVn W+d/OgnpE1MrwEU2KId4LqlHi//m+XbdW5bjJznUJ9OXe1eDcZhPt3SeTMfcXAG1HZUx7l V4KcNZBT9Kyrmla98bhkvgiamsA8928tSFGn1EFEiYwwRqAJNOK+0Qx/yv+dMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361106; a=rsa-sha256; cv=none; b=XsRE3gQDCuvyGNrY2bh1IwZ7cUoMmdHNHLDqIGxwsVLTd2kYojNNDMEi87zm7InuivXcic U6meFTrtjNHZhMI5qwNkHrbC3DFVEUH+cAFlqAgTjoRjOnjlAWJrqJmv7u7STVxmIFwyEi bqUwK1FY0HAFhAzpVMRrIW+wv6uMOOL1npuN/DAGg3UYnGUurKCxz5cYHxxs5XcYaiE2+W pI5Ap0fWbYEfhHaoKcCVDNZwI6NcnZwqykFovvTqpmLovGhDt79RqbHCKvoxdGJbBJ7DqI HnQPPTQwJ05HxPJFPAeX218FNpvvBh4hFV20ZgQRIHQluruZ+V1xQyGGZqNvtA== 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 4TdpLB35mPzjfb; Mon, 19 Feb 2024 16:45: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 41JGj6Dk095320; Mon, 19 Feb 2024 16:45:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj6Ld095317; Mon, 19 Feb 2024 16:45:06 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:06 GMT Message-Id: <202402191645.41JGj6Ld095317@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: de4ca58e2c2a - stable/13 - 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/stable/13 X-Git-Reftype: branch X-Git-Commit: de4ca58e2c2ab260e0842bd6c233201a5caf55f2 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=de4ca58e2c2ab260e0842bd6c233201a5caf55f2 commit de4ca58e2c2ab260e0842bd6c233201a5caf55f2 Author: Andrew Turner AuthorDate: 2023-11-14 15:01:58 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:44:42 +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 (cherry picked from commit 25d0310ed881e86cec9ab5cf37dd8471e88ad554) --- 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 Mon Feb 19 16:45:07 2024 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 4TdpLD2RJzz5C9FZ; Mon, 19 Feb 2024 16:45: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 4TdpLC4zX1z4bTV; Mon, 19 Feb 2024 16:45:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3cpftWmdCRlj0V8pac1uNMPY4BwHJoLrTW2nlkJif7Q=; b=dQtClKFakLRKe+rjr0m4tTA3Sp3WZzkOk4ur7E2HHCd4IOhAcl5C3iBlW35L5SBEmslJj3 ClPGEJjAHAxcX3vDEuUAL1iH8Zia7XG+5nWvqSDB4DKfwOdfzZjqf5Dofr7PSPX40jTYZK Jc7XncZHonzloWC3Ryo6cHHfybjQGzaR6S0N4vRXc0glQXL+e4Ln8dMO9Cidv1sSgeL+Zm AYzUiypbl6d+1z2Ec5NpiAoEr0Ysytc+iD5X8Z6WL2uxfO6HBzA5+vrXo8ayunARnSEqDQ +cEsDKR+akpTKbbUlCk4I1gziheWCKzEPlutpJI/zXepoicrCtnZJm5UXGvm0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3cpftWmdCRlj0V8pac1uNMPY4BwHJoLrTW2nlkJif7Q=; b=JahVCowYjgx8Hc3UzlDs0oYn3zYvkVLOl8EPTmeEBUgJjfZasEA9z3Ov0a++eGH990ISUG 8cRHt6m+JaqMSsW22516CH3+1iv4GQvioF/p0NQowkHf2W5WQjLZRKhS6G1a+PI1WdBu8X NEtfWjWmw5qHMFFM4QWw2INvzKpChLxHOKXzGHGeTTwOGEq+1wPY2EC98Xgmr6SBEwblhQ Xv0J8EUGnfBDChbPKEUqhLXORqwJqcAs2F6JdShLOFH+c3gzCNGSQK3oYJ7IFiGKwvwWqs 9R10Hy4YWSYjEBbTP5F4KzpFoWX3Kq620x3arGzP3mdf03N3OtkNoFetA5PfzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361107; a=rsa-sha256; cv=none; b=CHbUtCe5DzFWs7pJo4Czpb5JC9r1n+j3c9pf7cIMps+BcE+NDw9aUj+c6wgm3PnD6rb5gv nt30sOFeDVO55onRXZodfjg9Ec9p5P5d2Znxkc6/WUCzAk5IfXBpFr/p3OYuBwL8Ksfs2p iytTIg5DpRpOyw4zeDvvlpZS5E6+phLEe8OwR4fzSO4XbDBykzmo8s81km9aT3C+36KOIU eErBIJ6l0jKv1DJH5bmLprnF5w2VX3eZKH1UZ/r5cl+R97mu3dpIVWix/d4VhYfvsYSA8B HKGsXeQDErPRTryPeagvts8GYnktxjr+nYjDyZa4/vL4tkoqXCBOY/HOgMs71g== 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 4TdpLC45Vwzj9R; Mon, 19 Feb 2024 16:45: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 41JGj7m2095407; Mon, 19 Feb 2024 16:45:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj7bF095404; Mon, 19 Feb 2024 16:45:07 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:07 GMT Message-Id: <202402191645.41JGj7bF095404@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 2ea922e9e38f - stable/13 - dev/uart: Support 8-byte register access 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 2ea922e9e38f1a8e633617901492fb221305ad5a Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=2ea922e9e38f1a8e633617901492fb221305ad5a commit 2ea922e9e38f1a8e633617901492fb221305ad5a Author: Andrew Turner AuthorDate: 2024-01-09 13:29:47 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 12:45:51 +0000 dev/uart: Support 8-byte register access While we only support 4-byte registers in the uart code the physical access may be to an 8-byte register. Support this as an option on non-i386. On i386 we lack the needed 8-byte bus_space functions. ACPI has an option for 8-byte register io width, and FDT can be given any size. Support these sizes, even if we don't expect to see hardware with an 8-byte io width. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43374 (cherry picked from commit a9fc9d6d15f006feb6d7ddb036e020d5f9d19fce) --- sys/dev/uart/uart.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/dev/uart/uart.h b/sys/dev/uart/uart.h index 8e31cd49fd52..31d58d829579 100644 --- a/sys/dev/uart/uart.h +++ b/sys/dev/uart/uart.h @@ -54,6 +54,11 @@ uart_getreg(struct uart_bas *bas, int reg) uint32_t ret; switch (uart_regiowidth(bas)) { +#if !defined(__i386__) + case 8: + ret = bus_space_read_8(bas->bst, bas->bsh, uart_regofs(bas, reg)); + break; +#endif case 4: ret = bus_space_read_4(bas->bst, bas->bsh, uart_regofs(bas, reg)); break; @@ -69,10 +74,15 @@ uart_getreg(struct uart_bas *bas, int reg) } static inline void -uart_setreg(struct uart_bas *bas, int reg, int value) +uart_setreg(struct uart_bas *bas, int reg, uint32_t value) { switch (uart_regiowidth(bas)) { +#if !defined(__i386__) + case 8: + bus_space_write_8(bas->bst, bas->bsh, uart_regofs(bas, reg), value); + break; +#endif case 4: bus_space_write_4(bas->bst, bas->bsh, uart_regofs(bas, reg), value); break; From nobody Mon Feb 19 16:45:07 2024 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 4TdpLD2XXfz5C9QB; Mon, 19 Feb 2024 16:45: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 4TdpLD12MYz4bJY; Mon, 19 Feb 2024 16:45:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WQ5QxqGRdXTBfvDtJHKePHt1fhZ8kX6MwdAil5gP6t8=; b=J4iYiUY1qDUTs5aIYX+R41AW8Mz3dtaqutMt70L0fsc+mE3/StUvVrc0RcNmLoOGiTTjnz lVFe9SnzNzjZwCQaHBrnCUnE3iGYlkRzIIYWwa6SOMvNj8Eq6haVqNB1JJAZ57qfQve+tt 6Bt4HeASDhWr4iQs5jdbTjXNN4M4uJovm62I6PnkEkHASkHaTHCkBGuT33vks16+FQPP4a ZtI1zPEFJoCM5PJg1hWJQrJvL5/TCpAtGBAS5hHohd2avRZ3MFRnOK5urrE82cbUwOUrQF OIyqRtQDSesP5uQEVIZLZFNTW2VTERYorTsB+odIfkKzNndAFaks6H9ApP+PBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WQ5QxqGRdXTBfvDtJHKePHt1fhZ8kX6MwdAil5gP6t8=; b=SeNomvOByDca+n0AffeRnw731xtFmOJyKkZqMXKqxsHosdtKgrMeLviIb856NlerM3KKAY to9TzGTEoo9TZ7MpucLrtK6/2V3j2GcRP0Oi+xodjfY9e95ycVTJ+QGIQuiuoEdZY4hnnV mAFd7K4+9j4pwLCazYqtLky4Tkfq2jnC9Q/3gdoaFk5ODzvQdsREm89shtIB897riPye5A Mc54djWJUwu4S7tUx/qkVVM51BoNn0fHFLmr8aeom26O4dNXP7JMRtY6vwZPv5qrpBUFGj 2Ke9wClDbOawQkOjdzPcyKDDbJ8WA3ZumPX6RbsN7xEzq0/bx/dMjEeinyJ75A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361108; a=rsa-sha256; cv=none; b=vCMWP/q8gCllaglxO6Sy2WuN3sk1gRD3ovPWY1FOQzst1FuXv7o0ks7x4Ot7bKV4csJ2nZ ToFuSOgyj5MBvBzyTY2JqRh+0d9dR8mCkFYgs4OL4WfvXOSU1bWmJT/Ltz6K3E3oOE/Xzv ha7wvBIcln70x9hPxm1WoOeowmUhBaBPjaxTXkVe4n1emYPRJtYT713oah9AprrV8Q7a2L qNML3W0wOXWVBgj4K7JbwJkGJLujtY4ByUUEpOaCgiPvFG+nYhv4OzDtcBY249zcnlT8Qm whMBapV/x6gVt1D5qlNbJfN2CT69XQMAutQD7liLhgp/ZMTWrIGOQz9+wg2EJA== 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 4TdpLD08F0zjVZ; Mon, 19 Feb 2024 16:45: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 41JGj7rl095452; Mon, 19 Feb 2024 16:45:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj7ah095449; Mon, 19 Feb 2024 16:45:07 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:07 GMT Message-Id: <202402191645.41JGj7ah095449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 55e2bfab4485 - stable/14 - tools/build: Support building with glibc 2.38 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 55e2bfab448589d29cbd09bd97643a46a9735064 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=55e2bfab448589d29cbd09bd97643a46a9735064 commit 55e2bfab448589d29cbd09bd97643a46a9735064 Author: Andrew Turner AuthorDate: 2023-10-20 15:45:06 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:11:00 +0000 tools/build: Support building with glibc 2.38 Ubuntu 23.10 uses glibc 2.38. This adds strlcpy and strlcmp so we need to remove them from the cross build environment. Reviewed by: jrtc27 (earlier version), arichardson Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42303 (cherry picked from commit ceefd491c7f0490515fadca2f3740cb24e3f449e) --- tools/build/Makefile | 10 ++++++++-- tools/build/cross-build/include/linux/string.h | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/build/Makefile b/tools/build/Makefile index 92f7d396825c..aff664f2a68b 100644 --- a/tools/build/Makefile +++ b/tools/build/Makefile @@ -194,9 +194,15 @@ SRCS+= strtonum.c merge.c heapsort.c reallocf.c SRCS+= rpmatch.c .if ${.MAKE.OS} == "Linux" -# On Linux, glibc does not provide strlcpy,strlcat or strmode. +# On Linux, glibc does not provide strmode. It only provides strlcpy +# and strlcat from glibc 2.38. .PATH: ${LIBC_SRCTOP}/string -SRCS+= strlcpy.c strlcat.c strmode.c +SRCS+= strmode.c +# Assume if strlcpy exists so does strlcat +_WITH_EXPLICIT_STRLCPY!= cat ${HOST_INCLUDE_ROOT}/strings.h ${HOST_INCLUDE_ROOT}/string.h | grep -c strlcpy || true +.if ${_WITH_EXPLICIT_STRLCPY} == 0 +SRCS+= strlcpy.c strlcat.c +.endif # On Linux, glibc provides ffs* but not fls* SRCS+= fls.c flsl.c flsll.c # Compile the fgetln/fgetwln/closefrom fallback code from libbsd: diff --git a/tools/build/cross-build/include/linux/string.h b/tools/build/cross-build/include/linux/string.h index 87347df1e9bf..8fac9e0fe083 100644 --- a/tools/build/cross-build/include/linux/string.h +++ b/tools/build/cross-build/include/linux/string.h @@ -47,8 +47,11 @@ #include __BEGIN_DECLS +#if !defined(__GLIBC__) || \ + (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 38) || !defined(_GNU_SOURCE))) size_t strlcpy(char *dst, const char *src, size_t siz); size_t strlcat(char *dst, const char *src, size_t siz); +#endif char *strnstr(const char *str, const char *find, size_t str_len); void strmode(mode_t mode, char *str); From nobody Mon Feb 19 16:45:06 2024 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 4TdpLC383mz5C99P; Mon, 19 Feb 2024 16:45: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 4TdpLB6vwqz4bFg; Mon, 19 Feb 2024 16:45:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gAj1TevMJJFaqO4SMtJaicBw6EbJiJ9naWXzfrSFwzw=; b=Mn4/ciYAUI7HfOxwt5ucbIU+OfepciyX1ji1D7J2hzz6aSd2+vsHUvSMNIyIkxF78TG2HC 8v5nWi6lpL2i7jnZaEm+HjEOwIKMj7Mf19eRlSgaE0lYmUYRU+F6DBkWKCHzHIXFVZS2Km lAaHHCV2X5nxpaCsJ+xSNWHx0xLLFCxUWnE6cPthFQnyYzLgb9c99dTcaSkLwdWtHgxhrc f9KojjMFnEvZB6rLgC7soVJjtfpv/8pvAqn3hofe5J1OSDZkG1Cl3RK4GvBiUTvpFe+McW sefj4f1iDotCwcLobtzqg95XpV2MR3p3l2IxeDjI9WTAF3hL+p0svNJwZVon+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gAj1TevMJJFaqO4SMtJaicBw6EbJiJ9naWXzfrSFwzw=; b=n6JzqeR5cv5SSnZaku9yrm6rKF3pmGfaxY1e+U2hydbElLc2nrSo1A8/S/yLE9I1fIiYT6 UWGQpsrw04B8rZuipRDvcdHitKxO8rDGcVw6nbR8wW5zYpacqE+eVMhQ9KsOnlr684w3P0 W//LhqOD0czxUq55K4zoebe29IxFdVaBovASYmiQHqnmZNxGyKAjGQWDkbtxInGWfTfeYj 8PIdTpHBeJT71aUmmmkrL9g2jQtZ3UiSUnYc603563EAbqr7lEtLT92PZyiE2892lsUQKB Hi8ccu1H5F45ZcEEwsnFXAteoF+BFlgpB17U/F9WsiCd/2LDMabDfBy31IXJ3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361107; a=rsa-sha256; cv=none; b=ATMlyNr0pYlS/Bje8jsEx8Rvs3vgbqcp4t7/UuMB602xg5yqfE6DDBPETGYv2O/dkQq7Am jFnaKGxPvURmoy9LMWCF6KU14dBxkQwg3Fd4imaipVmDjDPE2V4eN9UT0B0yaznYQ4DUDv E3sQTnFIk8O/wvuQt6dHWDMk9CMM1/emv4opzGhKJyCF4qxiiU3aunN5KAbqyU7XYm3xl2 2X30ekbEhassbpOsYwAGgUTgYUUCoqqA6VOl1+yKD0nUGgErh/nlSj501oItIXrXxiJboC IJZzgAU/H9nbFBQ2QauOMABor2m8JZMatuE5ssjAK+2g/+R2jylwH8+jCQ1eZQ== 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 4TdpLB61d9zjfc; Mon, 19 Feb 2024 16:45: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 41JGj6r3095365; Mon, 19 Feb 2024 16:45:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj6Sb095362; Mon, 19 Feb 2024 16:45:06 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:06 GMT Message-Id: <202402191645.41JGj6Sb095362@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 9792d605235a - stable/14 - sys/sys: Check for __ASSEMBLER__ in elf_common.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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9792d605235ab09113053f845d52aeeff24a58e7 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9792d605235ab09113053f845d52aeeff24a58e7 commit 9792d605235ab09113053f845d52aeeff24a58e7 Author: Andrew Turner AuthorDate: 2023-10-12 09:45:43 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:10:51 +0000 sys/sys: Check for __ASSEMBLER__ in elf_common.h When preprocessing assembly files with clang or gcc the __ASSEMBLER__ macro is defined. Check for this as an alternative to LOCORE in elf_common.h so it can be included by .S files. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42224 (cherry picked from commit f39010b1393d471f1c59195acde5d95cdb66847c) --- sys/sys/elf_common.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h index ce82734833cf..934f66fee953 100644 --- a/sys/sys/elf_common.h +++ b/sys/sys/elf_common.h @@ -44,7 +44,7 @@ * not include the padding. */ -#ifndef LOCORE +#if !defined(LOCORE) && !defined(__ASSEMBLER__) typedef struct { u_int32_t n_namesz; /* Length of name. */ u_int32_t n_descsz; /* Length of descriptor. */ @@ -112,7 +112,7 @@ typedef Elf_Note Elf_Nhdr; * The header for GNU-style hash sections. */ -#ifndef LOCORE +#if !defined(LOCORE) && !defined(__ASSEMBLER__) typedef struct { u_int32_t gh_nbuckets; /* Number of hash buckets. */ u_int32_t gh_symndx; /* First visible symbol in .dynsym. */ From nobody Mon Feb 19 16:45:09 2024 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 4TdpLF4wh2z5C9N4; Mon, 19 Feb 2024 16:45: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 4TdpLF1xCSz4bYm; Mon, 19 Feb 2024 16:45:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XyMF+vc1fz1Sx13vBr2CJlHO56PoRnkcfUBYO0T4dWE=; b=EPww4lSu/XKs7phSH3RrSd9ah3+//I6WbMoVyqvprivHve50iGWB2kQktsi3tcHvqXD9oS EWOYt94tX4dOrK0t+XCGfsgSOGFkXmZi/SMrBcECr+LcNkC+BsbJlod6qZbmRxvtK/DLIc IbvY3bmmGRM0p//MauKYaZ8HtdneZPDXp25yhRrwPDWE35tOkcjP0GFGu3E2XxZJvhlzUX sk0/rUHhKUjRYM1tjKHfIwQt6HWqkpR39PVp1R5wDxCaJ0PY9rOz893zhWY7iv/+FTRqFq QYRP+GcnP/ugFBp3VWXO4kv5m343w9AJSBYLnuHt/AlKlWWLRakdjLVOSa2Z9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XyMF+vc1fz1Sx13vBr2CJlHO56PoRnkcfUBYO0T4dWE=; b=RUKWREGPWLWI5DvYTRJSlVHlNMp/0X5FOQF9KZcRtRE2rWUFLl1ULslETYj9iYJbO27Qnp rJXHB9obbZfEt9sBAFzAX/Nkz2s4eX0XeVT7IpbqOgBOBKzW53Dj6/LOX7/1BaKjF5l7FN Eze2RUlmkOEggflqWuJTs8M3pJxDTNXoj8yE63CF51YjW3UmWz6z+Eb7mEDG+rPYatYCQl R/3SDdTljzaz4XSzLkGTbY+DyO7nHVmJHh9eQZN4fMJqPQ2b5vK91uJFVmLeaS/Vhauqre 4vHmw4BKm6r25FIQlmHkWJJItvAn/KMndk6GcygjaDDjO/cO1M5zm7nRG9p8WA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361109; a=rsa-sha256; cv=none; b=C+KCrOZ2mCCDPOtBlAMeFJVC6AB/0RD2m1NEWbHwSZtHKTUfdT9Lk1r/g029vE5DgA51Qm P9erdKyH0zNCYPPLG/HSn6zYLfmjAIqPMu1dcba6pLqC/AdYZYyiz0kVt17utYcstcJMt0 JRgjcIRlMX7W9VTDijAndwJg1fR2Iu2T63YE2bhiREv2mcC3Xi8uRLqVoRwLjnM7q1IOYR OZ6wdkic1GNWsyOvfphpdzm/s239FMZVeLPeGZ7dRzQIT7VByQm0Y45Je0n7jqidLQaWft 1yrTvgLQ4q6AMNMA93l1yc3MN48Oeykyq1w73hHuJH80GzAkl4F/2MQEXuvblg== 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 4TdpLF0yRvzjSQ; Mon, 19 Feb 2024 16:45: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 41JGj9A3095626; Mon, 19 Feb 2024 16:45:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGj9HW095623; Mon, 19 Feb 2024 16:45:09 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:09 GMT Message-Id: <202402191645.41JGj9HW095623@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 0d44915e06e5 - stable/14 - arm64: Support creating a BTI & PAC 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 0d44915e06e5ff94a3338249aaf23301fe542de5 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0d44915e06e5ff94a3338249aaf23301fe542de5 commit 0d44915e06e5ff94a3338249aaf23301fe542de5 Author: Andrew Turner AuthorDate: 2023-10-10 13:00:59 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:11:11 +0000 arm64: Support creating a BTI & PAC note To detect when an object file is build with the Branch Target Identification (BTI) and Pointer Authentication Code (PAC) extensions there is an elf note the compiler will insert. It will only do so from a high level language, e.g. C or C++. To get the not in assembly add the GNU_PROPERTY_AARCH64_FEATURE_1_NOTE macro that can be used to create it, and the GNU_PROPERTY_AARCH64_FEATURE_1_VAL macro to insert the correct value based on which combination of BTI and PAC are enabled. Reviewed by: markj (earlier version), emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42225 (cherry picked from commit 82597d2102a02c4e9e9355717c32867d34b77ef0) --- sys/arm64/include/asm.h | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/sys/arm64/include/asm.h b/sys/arm64/include/asm.h index 6ebfca6eaf0c..da3c3df5f647 100644 --- a/sys/arm64/include/asm.h +++ b/sys/arm64/include/asm.h @@ -142,6 +142,58 @@ #define BTI_J #endif +/* + * GNU_PROPERTY_AARCH64_FEATURE_1_NOTE can be used to insert a note that + * the current assembly file is built with Pointer Authentication (PAC) or + * Branch Target Identification support (BTI). As the linker requires all + * object files in an executable or library to have the GNU property + * note to emit it in the created elf file we need to add a note to all + * assembly files that support BTI so the kernel and dynamic linker can + * mark memory used by the file as guarded. + * + * The GNU_PROPERTY_AARCH64_FEATURE_1_VAL macro encodes the combination + * of PAC and BTI that have been enabled. It can be used as follows: + * GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL); + * + * To use this you need to include for + * GNU_PROPERTY_AARCH64_FEATURE_1_* + */ +#if defined(__ARM_FEATURE_BTI_DEFAULT) +#if defined(__ARM_FEATURE_PAC_DEFAULT) +/* BTI, PAC */ +#define GNU_PROPERTY_AARCH64_FEATURE_1_VAL \ + (GNU_PROPERTY_AARCH64_FEATURE_1_BTI | GNU_PROPERTY_AARCH64_FEATURE_1_PAC) +#else +/* BTI, no PAC */ +#define GNU_PROPERTY_AARCH64_FEATURE_1_VAL \ + (GNU_PROPERTY_AARCH64_FEATURE_1_BTI) +#endif +#elif defined(__ARM_FEATURE_PAC_DEFAULT) +/* No BTI, PAC */ +#define GNU_PROPERTY_AARCH64_FEATURE_1_VAL \ + (GNU_PROPERTY_AARCH64_FEATURE_1_PAC) +#else +/* No BTI, no PAC */ +#define GNU_PROPERTY_AARCH64_FEATURE_1_VAL 0 +#endif + +#if defined(__ARM_FEATURE_BTI_DEFAULT) || defined(__ARM_FEATURE_PAC_DEFAULT) +#define GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(x) \ + .section .note.gnu.property, "a"; \ + .balign 8; \ + .4byte 0x4; /* sizeof(vendor) */ \ + .4byte 0x10; /* sizeof(note data) */ \ + .4byte (NT_GNU_PROPERTY_TYPE_0); \ + .asciz "GNU"; /* vendor */ \ + /* note data: */ \ + .4byte (GNU_PROPERTY_AARCH64_FEATURE_1_AND); \ + .4byte 0x4; /* sizeof(property) */ \ + .4byte (x); /* property */ \ + .4byte 0 +#else +#define GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(x) +#endif + #endif /* _MACHINE_ASM_H_ */ #endif /* !__arm__ */ From nobody Mon Feb 19 16:45:10 2024 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 4TdpLG5Bn1z5C9QH; Mon, 19 Feb 2024 16:45: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 4TdpLG2rckz4bcC; Mon, 19 Feb 2024 16:45:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9u9Yz2elmPKHINsdAhN93lEZGkr1s1SORkXI5Ky68c8=; b=N+vG8G0Tr6Mkw9kdiyDpzk9bn3EKIu30RaAXjD+Y6QyU6x4loUHutl98CX+G0q8SCyL+Df ULVd69SPoiyHJuP+BnQ7SaxMOLv/ZcZKKvpsfWlCdXvpJLA3rosgi/w3pQDO5yySeMpQk9 iwXv3yGdD9PiBqJkFvr+mU/2ijWk73m/hjp6izwrumaGFOXSjQWhSR5UtTwIenHctPmNZ0 FQAtSO7nGywVsmXSV9fopwNtq/dKcnUx0oLKZvs5MNguKwiIN1x0NLRXJKCEj764Eoi/lP 8gWXw+Km8KBH2eWfl0jbrcQligEfELJOThQr5ElGFWyWpihMD1b1K5OzZOnlUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9u9Yz2elmPKHINsdAhN93lEZGkr1s1SORkXI5Ky68c8=; b=XkfYOknToah18Wv2+ZOsQAH91oenHBRFuSTOle2EKrTlkNgizSAN+ZZqyD+liUQF1aDjcZ aRhNKqRf0Mt2gvgSJXRvlFJcfu6IgMs9cj7LJ5dY1nA6sADTGNLDPgGpI8hcYw61Usxb/L x9KtuiE+MYBY8w5tel1vw0yAo0W1BvCnRrvSHbWUYGPXXcKA5GFOuu8bg4QfLBjipD90YM LMVYIRUjzrasiXqC81/84SjcU1gWioSY8oM3QG0NoT6aO5PVapmEXWNDpzcm53BRYVHNTs MHKd1gbg39oVDcIi196RyMiQqZEBHXOodxXPuYdCpXq3Ys2k0c+yGSRvAbNjwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361110; a=rsa-sha256; cv=none; b=qVfIxa2Q6hfRbRopB4FSJyDJ13UON5ZZtMtbCUAsKMM38rqrsOKqrHnVCBQi28lZNLyqt4 9rJS1XQovuhRxrfzFE8plwkb3bA5xvboDz8Laldq73GUD9xDxjKmsqKxm9ZXpISV5iuH7t dx4Idm8L3aVait42vTEk/Q4xXuFKh7feeV90H2evW3R3+V2F9AlZWPz1ClZAAfIFK3A7kV WVsTkFAxk/uIJdw3IY5jiv3wQ0BoV7BSzJ2fA8y7ALltgg5eWrdiiFn2l8ZFC5dOcchVP+ P0fwLl2Tc2OPx0Ji8nEdlv+WkFPTQLKrpzb+6cfMoKboJ7DRYS02BzzgEOUHZw== 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 4TdpLG1y5PzjDP; Mon, 19 Feb 2024 16:45: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 41JGjAOO095671; Mon, 19 Feb 2024 16:45:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjABd095668; Mon, 19 Feb 2024 16:45:10 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:10 GMT Message-Id: <202402191645.41JGjABd095668@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 977d1ded2991 - stable/14 - arm64: Add PAC instruction macros 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 977d1ded299177114c46f9f6d9a2001959f20996 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=977d1ded299177114c46f9f6d9a2001959f20996 commit 977d1ded299177114c46f9f6d9a2001959f20996 Author: Andrew Turner AuthorDate: 2023-10-12 09:48:38 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:11:21 +0000 arm64: Add PAC instruction macros To support Pointer Authentication (PAC) in assembly files add a pair of macros that sign the link register. When used before storing to the stack it will allow hardware to detect if it has changed before using it in the return instruction. Reviewed by: markj, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42226 (cherry picked from commit 2b39a6f68c3839454cd255b91978202cd995182a) --- sys/arm64/include/asm.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sys/arm64/include/asm.h b/sys/arm64/include/asm.h index da3c3df5f647..16be39b3eae4 100644 --- a/sys/arm64/include/asm.h +++ b/sys/arm64/include/asm.h @@ -142,6 +142,28 @@ #define BTI_J #endif +/* + * To help protect against ROP attacks we can use Pointer Authentication + * to sign the return address before pushing it to the stack. + * + * PAC_LR_SIGN can be used at the start of a function to sign the link + * register with the stack pointer as the modifier. As this is in the hint + * space it is safe to use on CPUs that don't implement pointer + * authentication. It can be used in place of the BTI_C instruction above as + * a valid BTI landing pad instruction. + * + * PAC_LR_AUTH is used to authenticate the link register using the stack + * pointer as the modifier. It should be used in any function that uses + * PAC_LR_SIGN. The stack pointer must be identical in each case. + */ +#ifdef __ARM_FEATURE_PAC_DEFAULT +#define PAC_LR_SIGN hint #25 /* paciasp */ +#define PAC_LR_AUTH hint #29 /* autiasp */ +#else +#define PAC_LR_SIGN +#define PAC_LR_AUTH +#endif + /* * GNU_PROPERTY_AARCH64_FEATURE_1_NOTE can be used to insert a note that * the current assembly file is built with Pointer Authentication (PAC) or From nobody Mon Feb 19 16:45:11 2024 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 4TdpLJ0kD8z5C9QK; Mon, 19 Feb 2024 16:45: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 4TdpLH45kVz4bZK; Mon, 19 Feb 2024 16:45:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xbnhotF42s6oWpBNTMY4VUiMZB2CB2r5H8S95zWTPuA=; b=KZwAr8K+ZvZa23fCNhgJYukatpZstkpD1NL9Nqxy0ZReq8q4zVHMfzu6yhw7reTN4Ey0YP 5ir8LTst7aqS7bw0NafCOIphQ83QSKkRXMa4hNdS1lI2Zo3QRdnSA0I1OsWzYFIsldirCA Lq43C10A9GdCLNnV5KT7EDwjTYjrTOVAOiLlUodXcDETW2ZbDxusXmGkIPmyO3nQk+R65X kTSniYpO9DYAahab47wJUeVq63xcw79xY5fNiOuknkOgtvX5xhtKiJrCw4cw/fFg958Zi8 d6JEcp8vZVin8xS7BmFcq9Sb88tLsJAYLDcOKTRPW38QXjRaytihkiGzY+4TCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xbnhotF42s6oWpBNTMY4VUiMZB2CB2r5H8S95zWTPuA=; b=hEBZpq2UkNvRhllX0oFg2dLbms77HK4wb+Yq8eIjAF9U33rUdeTaq4FrlfuDlvuI5bt9wU BIhrnGx84MxXuADplI6vi9XFva6Dbs5rDKZbaIF93xefPa7AvP1qGEWdMMam2lr8rDnFkj dGm3jgYK4RLSQTeO0eUi+bd2ROCp1Wc/ONeOW+oV8yrOZTgBXJUi4WtsMkgPCTfCLDFOYl f/oWQ/i/y8PPWQlZ/sJ3O2vmxmbLa53Xk767QW6njOblsfLfnULOI8xt1y1xzgFZOi1u4M 5+3AdPlZ1AI7aMW2BdnBeJdwQquHjrddFnLPSi/kkIPFQgFHEt3FBYyHYh3F0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361111; a=rsa-sha256; cv=none; b=vO1KfZIsvB6WnZosVkOge3OI+YYxinUWkEe4TS9uAKoZZMkqewyUHwA7bZW26udcihh0Cj GEIHqR4Ygv3lNhBpk3k2SlIItio3Ea6jfuGCX76YzigBCYpaE/8TLdsI7rthago0RqzV3U WeuZBwdumRvGqA+DWztBKhrbbFLtNdg4msUnr4T1oBo+L0EJ0Ws0wxCYJdVKIkaGH4tkN/ hxlJMRsLxfVrny9p/gEYg3aIClXIqP3uTsjPkVLRcURnuKVs9ebPJD0H73FdoLVdEaNFzj lCNC/jJTyHbSN6YiWQ7C7EMfDr0obvKmi8/ebOWbPbYdlt97d3d8lE5ziditzA== 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 4TdpLH2lbkzjQ9; Mon, 19 Feb 2024 16:45: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 41JGjBDM095719; Mon, 19 Feb 2024 16:45:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjBvF095716; Mon, 19 Feb 2024 16:45:11 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:11 GMT Message-Id: <202402191645.41JGjBvF095716@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: d723cf210ded - stable/14 - arm64: Fix long lines in vm_machdep.c 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/stable/14 X-Git-Reftype: branch X-Git-Commit: d723cf210dedd9f2c8ff4d7166dd19c2db240b1a Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d723cf210dedd9f2c8ff4d7166dd19c2db240b1a commit d723cf210dedd9f2c8ff4d7166dd19c2db240b1a Author: Andrew Turner AuthorDate: 2023-09-12 13:45:07 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:11:32 +0000 arm64: Fix long lines in vm_machdep.c Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41828 (cherry picked from commit 26ac295c050d0cdaf9cc5b7e2bd1038bfcbec08e) --- sys/arm64/arm64/vm_machdep.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/vm_machdep.c b/sys/arm64/arm64/vm_machdep.c index 66528b8487e0..40f5e7da8f8c 100644 --- a/sys/arm64/arm64/vm_machdep.c +++ b/sys/arm64/arm64/vm_machdep.c @@ -214,11 +214,13 @@ cpu_set_upcall(struct thread *td, void (*entry)(void *), void *arg, /* 32bits processes use r13 for sp */ if (td->td_frame->tf_spsr & PSR_M_32) { - tf->tf_x[13] = STACKALIGN((uintptr_t)stack->ss_sp + stack->ss_size); + tf->tf_x[13] = STACKALIGN((uintptr_t)stack->ss_sp + + stack->ss_size); if ((register_t)entry & 1) tf->tf_spsr |= PSR_T; } else - tf->tf_sp = STACKALIGN((uintptr_t)stack->ss_sp + stack->ss_size); + tf->tf_sp = STACKALIGN((uintptr_t)stack->ss_sp + + stack->ss_size); tf->tf_elr = (register_t)entry; tf->tf_x[0] = (register_t)arg; tf->tf_x[29] = 0; From nobody Mon Feb 19 16:45:13 2024 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 4TdpLL1ScHz5C9Kh; Mon, 19 Feb 2024 16:45: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 4TdpLK5Nj0z4bSH; Mon, 19 Feb 2024 16:45:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2nrNlCzb8cUeZ6fTdIFnnBzcscdH9vxq8eY2dW1t3eg=; b=nDtqgZDXuUpJ4Gwjrf9ATVxTDC3BUDqP6ahEXr6bXu1Hgr1wUwlV+Nt9mvifpv5s4iizCz yzi61v7GFWShlK+74+MXetDPVdLNhdFjoZF8h9OOiLXAn5cgD97gqRlL+hTjEBDAC7/cbS UhBeWrAJQiHpIAK2ceo7cLi6POISDBzn+gb7JIAY15TxvvvDtDSBdlOubgIR4eIT92cwAQ i1etb7ij5RrUlXVT2eMoK9K5NaZ8zeHXyq4LNr4CHIg6JWfV6MMSOpQ+84ZXMGYp5yTtxk VA789RcmM2UTKhGZbWpM7yDMhgY+DL7ZB4zhYo7ObDk/dA6JtzFolw074/M6dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2nrNlCzb8cUeZ6fTdIFnnBzcscdH9vxq8eY2dW1t3eg=; b=eoMXRfwD+5xB3MZO+M/sVpMkvGInSAbqYMAB9BthVU8LAzOBCdUqikSlbeVGu+Bfup4PIl PVoHjivm/j9gjvzAK/5SNI3aLTc4kM9z4A1X+JD/xNtUztUJ/Y9ztRZE+CEpFz1TbSha3O 9BMFql2GnO9pVF1t/WUg9oh7WyEfWs58+pXhP7dIRKD01BJRkgMAQAuDgbeWkV7rg/Rx+G m8/h1bMm+PB83CVzIDVDAcq0HGXRpN7zLJ8/aiKXdYhyuNohq62Vz+qh/a8ur+nFKOexXn SlaUN/4mlEYISWjv/5nOo6CzWh4jGLzITp+ivqG4UKysG5N1/xDXa2vl70NTRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361113; a=rsa-sha256; cv=none; b=X0soLNc2pKrsvRtXp72ilY/GMtxgyIYOtdrF23rxbwLH6QV4a2auvzj2+Rr+sJmRxRQwtk MqXeZSFYwzG5Z8JiJXNg0EnP9I1tgIHQ57YpejAR8u7prqK/ouxL9+3+vLVrZkB8FOmMx6 Z9kkejbTp2yzuK/Le3sLLHHNryuYmISgQYMyJvZrtzV4Sf0AAla2BxVEsNxwzICfomKz6D mKQnJF0CQKZna5505J7caQ81rnPTItxrQM+ndi0P2BqOi4pIqeQgTdoHMghM82H1j8sr2p Bwjm3qGeIw4QlAan+Zt0NDNMJJD9DMr920QM7+tla6r33hk6MeAKujDxantJwQ== 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 4TdpLK4VvdzjVb; Mon, 19 Feb 2024 16:45: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 41JGjDiF095810; Mon, 19 Feb 2024 16:45:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjDfH095807; Mon, 19 Feb 2024 16:45:13 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:13 GMT Message-Id: <202402191645.41JGjDfH095807@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 08569764e6c9 - stable/14 - arm64: Add a missing MRS_HWCAP_END 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 08569764e6c9272dd62ca2ad3ac109bd2fa93538 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=08569764e6c9272dd62ca2ad3ac109bd2fa93538 commit 08569764e6c9272dd62ca2ad3ac109bd2fa93538 Author: Andrew Turner AuthorDate: 2023-10-25 12:32:04 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:11:52 +0000 arm64: Add a missing MRS_HWCAP_END Add a missing end marker to stop the arm64 CPU ID code reading past the end of an array. Sponsored by: Arm Ltd (cherry picked from commit 1e05cf5f97dee6d7139aa64f14264fb4c2333455) --- sys/arm64/arm64/identcpu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 4202cbe7878f..a5c359547981 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1723,6 +1723,7 @@ static const struct mrs_field_value mvfr0_fpdp[] = { static const struct mrs_field_hwcap mvfr0_fpdp_caps[] = { MRS_HWCAP(&elf32_hwcap, HWCAP32_VFP, MVFR0_FPDP_VFP_v2), MRS_HWCAP(&elf32_hwcap, HWCAP32_VFPv3, MVFR0_FPDP_VFP_v3_v4), + MRS_HWCAP_END }; static const struct mrs_field_value mvfr0_fpsp[] = { From nobody Mon Feb 19 16:45:12 2024 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 4TdpLJ69MMz5C9NJ; Mon, 19 Feb 2024 16:45: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 4TdpLJ4Tsfz4bg5; Mon, 19 Feb 2024 16:45:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xYUy8hSI5FeRsEVWAvdL/oVpPTLwOxpMtv1W/RFsz4M=; b=u2I5zCjbyqJ9C88YWWxJrt/Ud9E66skeKYfu6CbtQQkG+A2OWXhT1YRVZKHFrrQAxiYTKR GCZOmc9EKXIha9vIAnq9I7j0led+73WFw68ybTMwF8v/qd6t9G+F+LHlZEpJv3ixx19WTR cmAfkEIalu2EQudRIbmSzKCkT6qkeNxNV7bllYjLeN5fz1L8fdBg/cmHCOGyE1JiOW2S4Z DYIsEJ2faKTRkQ6aCFCMrfY+0kn0E3Ke+swXr4B1mVtblYN2xvgPV9ql6TBJevewu/0yLk d+5f9XSc09+K6iqxLHzXbSwELw2yHufd+Pun9Lwy0/Iqgaj2rEUZ8nK5jl0bdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xYUy8hSI5FeRsEVWAvdL/oVpPTLwOxpMtv1W/RFsz4M=; b=DlxMe0IlyydGAlMAxNU3gXfk/GTLdm7UN0xTNoVKQKuFvufwn34IwEg6AzxIpSlAzZpyMa azK6jaamzF3nZj79Bsxjmuma1lBS4kA+rMtKmkKyuqgFlEgrIMu2s/fTW/0dji3W/mElHZ /HMQwM7ITIAwC6h2d8oQv1Lqkok8SDuQgFoCx0WDFsG3HghQr3BSonENbVqlRdaTgOsgF9 IV9+u/z1RLKcOyoVK2Esocg9PN69JjUo4WdYblsWJolBqIJy1ONqYeDFDYQ9heqjidqoI4 9lkw41pvLJD0V6vFA9UaBrJnQ5XJaGZXYMY1MaUfzkPbZWaahATUtJmP+VGiXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361112; a=rsa-sha256; cv=none; b=xoIcvZPvwrJHx1PAOkID5dxaitNi0SYTHN8it14VyQ1LTbYcC3gLN95mS9NTfE0JfkbT5Q +ng8Q8gV6LWSyq2ImkP52VTdnpFJ2Y1Ru8eobrTEhT2mPs4crmDS3ku7dxNaeqm6f/sVI9 n01ykmIOsfyq7hzvhe53D743cP1Z5XYXeHH/8yY4m/zhgNe8KQUbqV1ggbQJKRD1M54lJ9 L617VFYZMjGeCvg47xJl9ROaxdLYORdb8WaL77/93f4doKdyfKlV7wPkZfc4Ae8aWLMg8T iV/xewHPoGh+htN2os7ti0yxBbfnGPasqu8bz/jsUJVM6MOFZFPmx8uJEzFW7A== 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 4TdpLJ3XwJzjQB; Mon, 19 Feb 2024 16:45: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 41JGjCB8095768; Mon, 19 Feb 2024 16:45:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjCnU095765; Mon, 19 Feb 2024 16:45:12 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:12 GMT Message-Id: <202402191645.41JGjCnU095765@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 63b2b7cca22d - stable/14 - arm64: Teach bus_dma on arm64 about NUMA 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 63b2b7cca22d4c42ec546a0077481977e7b3dd24 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=63b2b7cca22d4c42ec546a0077481977e7b3dd24 commit 63b2b7cca22d4c42ec546a0077481977e7b3dd24 Author: Andrew Turner AuthorDate: 2023-10-12 16:01:01 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:11:45 +0000 arm64: Teach bus_dma on arm64 about NUMA When allocating memory we should try to allocate from the NUMA node closest to the device to reduce cross domain memory traffic. Teach the arm64 bus_dma code to do this. While here use mallocarray to guard against an unlikely integer overflow. Reviewed by: markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42187 (cherry picked from commit 271e669ed5e55c95075b0dafaa58fded5b7556d0) --- sys/arm64/arm64/busdma_bounce.c | 126 +++++++++++++++++++++++++-------------- sys/arm64/arm64/busdma_machdep.c | 13 +++- 2 files changed, 93 insertions(+), 46 deletions(-) diff --git a/sys/arm64/arm64/busdma_bounce.c b/sys/arm64/arm64/busdma_bounce.c index cfdfe62fecaf..c1028f35ba7f 100644 --- a/sys/arm64/arm64/busdma_bounce.c +++ b/sys/arm64/arm64/busdma_bounce.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -117,6 +118,7 @@ static void _bus_dmamap_count_phys(bus_dma_tag_t dmat, bus_dmamap_t map, static MALLOC_DEFINE(M_BUSDMA, "busdma", "busdma metadata"); #define dmat_alignment(dmat) ((dmat)->common.alignment) +#define dmat_domain(dmat) ((dmat)->common.domain) #define dmat_flags(dmat) ((dmat)->common.flags) #define dmat_lowaddr(dmat) ((dmat)->common.lowaddr) #define dmat_lockfunc(dmat) ((dmat)->common.lockfunc) @@ -124,6 +126,40 @@ static MALLOC_DEFINE(M_BUSDMA, "busdma", "busdma metadata"); #include "../../kern/subr_busdma_bounce.c" +static int +bounce_bus_dma_zone_setup(bus_dma_tag_t dmat) +{ + struct bounce_zone *bz; + bus_size_t maxsize; + int error; + + /* + * Round size up to a full page, and add one more page because + * there can always be one more boundary crossing than the + * number of pages in a transfer. + */ + maxsize = roundup2(dmat->common.maxsize, PAGE_SIZE) + PAGE_SIZE; + + /* Must bounce */ + if ((error = alloc_bounce_zone(dmat)) != 0) + return (error); + bz = dmat->bounce_zone; + + if (ptoa(bz->total_bpages) < maxsize) { + int pages; + + pages = atop(maxsize) + 1 - bz->total_bpages; + + /* Add pages to our bounce pool */ + if (alloc_bounce_pages(dmat, pages) < pages) + return (ENOMEM); + } + /* Performed initial allocation */ + dmat->bounce_flags |= BF_MIN_ALLOC_COMP; + + return (error); +} + /* * Return true if the DMA should bounce because the start or end does not fall * on a cacheline boundary (which would require a partial cacheline flush). @@ -257,34 +293,9 @@ bounce_bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, newtag->common.alignment > 1) newtag->bounce_flags |= BF_COULD_BOUNCE; - if ((flags & BUS_DMA_ALLOCNOW) != 0) { - struct bounce_zone *bz; - /* - * Round size up to a full page, and add one more page because - * there can always be one more boundary crossing than the - * number of pages in a transfer. - */ - maxsize = roundup2(maxsize, PAGE_SIZE) + PAGE_SIZE; - - /* Must bounce */ - if ((error = alloc_bounce_zone(newtag)) != 0) { - free(newtag, M_DEVBUF); - return (error); - } - bz = newtag->bounce_zone; - - if (ptoa(bz->total_bpages) < maxsize) { - int pages; - - pages = atop(maxsize) + 1 - bz->total_bpages; - - /* Add pages to our bounce pool */ - if (alloc_bounce_pages(newtag, pages) < pages) - error = ENOMEM; - } - /* Performed initial allocation */ - newtag->bounce_flags |= BF_MIN_ALLOC_COMP; - } else + if ((flags & BUS_DMA_ALLOCNOW) != 0) + error = bounce_bus_dma_zone_setup(newtag); + else error = 0; if (error != 0) @@ -339,6 +350,23 @@ out: return (error); } +/* + * Update the domain for the tag. We may need to reallocate the zone and + * bounce pages. + */ +static int +bounce_bus_dma_tag_set_domain(bus_dma_tag_t dmat) +{ + + KASSERT(dmat->map_count == 0, + ("bounce_bus_dma_tag_set_domain: Domain set after use.\n")); + if ((dmat->bounce_flags & BF_COULD_BOUNCE) == 0 || + dmat->bounce_zone == NULL) + return (0); + dmat->bounce_flags &= ~BF_MIN_ALLOC_COMP; + return (bounce_bus_dma_zone_setup(dmat)); +} + static bool bounce_bus_dma_id_mapped(bus_dma_tag_t dmat, vm_paddr_t buf, bus_size_t buflen) { @@ -356,7 +384,8 @@ alloc_dmamap(bus_dma_tag_t dmat, int flags) mapsize = sizeof(*map); mapsize += sizeof(struct sync_list) * dmat->common.nsegments; - map = malloc(mapsize, M_DEVBUF, flags | M_ZERO); + map = malloc_domainset(mapsize, M_DEVBUF, + DOMAINSET_PREF(dmat->common.domain), flags | M_ZERO); if (map == NULL) return (NULL); @@ -379,9 +408,9 @@ bounce_bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) error = 0; if (dmat->segments == NULL) { - dmat->segments = (bus_dma_segment_t *)malloc( - sizeof(bus_dma_segment_t) * dmat->common.nsegments, - M_DEVBUF, M_NOWAIT); + dmat->segments = mallocarray_domainset(dmat->common.nsegments, + sizeof(bus_dma_segment_t), M_DEVBUF, + DOMAINSET_PREF(dmat->common.domain), M_NOWAIT); if (dmat->segments == NULL) { CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, ENOMEM); @@ -490,9 +519,9 @@ bounce_bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, mflags = M_WAITOK; if (dmat->segments == NULL) { - dmat->segments = (bus_dma_segment_t *)malloc( - sizeof(bus_dma_segment_t) * dmat->common.nsegments, - M_DEVBUF, mflags); + dmat->segments = mallocarray_domainset(dmat->common.nsegments, + sizeof(bus_dma_segment_t), M_DEVBUF, + DOMAINSET_PREF(dmat->common.domain), mflags); if (dmat->segments == NULL) { CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->common.flags, ENOMEM); @@ -536,9 +565,10 @@ bounce_bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, /* * Allocate the buffer from the malloc(9) allocator if... - * - It's small enough to fit into a single power of two sized bucket. - * - The alignment is less than or equal to the maximum size + * - It's small enough to fit into a single page. + * - Its alignment requirement is also smaller than the page size. * - The low address requirement is fulfilled. + * - Default cache attributes are requested (WB). * else allocate non-contiguous pages if... * - The page count that could get allocated doesn't exceed * nsegments also when the maximum segment size is less @@ -555,23 +585,28 @@ bounce_bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, * * In the meantime warn the user if malloc gets it wrong. */ - if ((dmat->alloc_size <= PAGE_SIZE) && - (dmat->alloc_alignment <= dmat->alloc_size) && + if (dmat->alloc_size <= PAGE_SIZE && + dmat->alloc_alignment <= PAGE_SIZE && dmat->common.lowaddr >= ptoa((vm_paddr_t)Maxmem) && attr == VM_MEMATTR_DEFAULT) { - *vaddr = malloc(dmat->alloc_size, M_DEVBUF, mflags); + *vaddr = malloc_domainset_aligned(dmat->alloc_size, + dmat->alloc_alignment, M_DEVBUF, + DOMAINSET_PREF(dmat->common.domain), mflags); } else if (dmat->common.nsegments >= howmany(dmat->alloc_size, MIN(dmat->common.maxsegsz, PAGE_SIZE)) && dmat->alloc_alignment <= PAGE_SIZE && (dmat->common.boundary % PAGE_SIZE) == 0) { /* Page-based multi-segment allocations allowed */ - *vaddr = kmem_alloc_attr(dmat->alloc_size, mflags, - 0ul, dmat->common.lowaddr, attr); + *vaddr = kmem_alloc_attr_domainset( + DOMAINSET_PREF(dmat->common.domain), dmat->alloc_size, + mflags, 0ul, dmat->common.lowaddr, attr); dmat->bounce_flags |= BF_KMEM_ALLOC; } else { - *vaddr = kmem_alloc_contig(dmat->alloc_size, mflags, - 0ul, dmat->common.lowaddr, dmat->alloc_alignment != 0 ? - dmat->alloc_alignment : 1ul, dmat->common.boundary, attr); + *vaddr = kmem_alloc_contig_domainset( + DOMAINSET_PREF(dmat->common.domain), dmat->alloc_size, + mflags, 0ul, dmat->common.lowaddr, + dmat->alloc_alignment != 0 ? dmat->alloc_alignment : 1ul, + dmat->common.boundary, attr); dmat->bounce_flags |= BF_KMEM_ALLOC; } if (*vaddr == NULL) { @@ -1147,6 +1182,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, struct bus_dma_impl bus_dma_bounce_impl = { .tag_create = bounce_bus_dma_tag_create, .tag_destroy = bounce_bus_dma_tag_destroy, + .tag_set_domain = bounce_bus_dma_tag_set_domain, .id_mapped = bounce_bus_dma_id_mapped, .map_create = bounce_bus_dmamap_create, .map_destroy = bounce_bus_dmamap_destroy, diff --git a/sys/arm64/arm64/busdma_machdep.c b/sys/arm64/arm64/busdma_machdep.c index c1b710e3538d..d36b9ff18ee4 100644 --- a/sys/arm64/arm64/busdma_machdep.c +++ b/sys/arm64/arm64/busdma_machdep.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -142,8 +143,11 @@ common_bus_dma_tag_create(struct bus_dma_tag_common *parent, common->filterarg = parent->filterarg; common->parent = parent->parent; } + common->domain = parent->domain; atomic_add_int(&parent->ref_count, 1); } + common->domain = vm_phys_domain_match(common->domain, 0ul, + common->lowaddr); *dmat = common; return (0); } @@ -213,6 +217,13 @@ bus_dma_tag_destroy(bus_dma_tag_t dmat) int bus_dma_tag_set_domain(bus_dma_tag_t dmat, int domain) { + struct bus_dma_tag_common *tc; - return (0); + tc = (struct bus_dma_tag_common *)dmat; + domain = vm_phys_domain_match(domain, 0ul, tc->lowaddr); + /* Only call the callback if it changes. */ + if (domain == tc->domain) + return (0); + tc->domain = domain; + return (tc->impl->tag_set_domain(dmat)); } From nobody Mon Feb 19 16:45:14 2024 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 4TdpLM2Ltdz5C9Hn; Mon, 19 Feb 2024 16:45: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 4TdpLL6fn3z4bpB; Mon, 19 Feb 2024 16:45:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R2Ud5+5uK1JDA8CBwRZSDyEeML9tckeBaaMg308yZec=; b=Bek+safOkdAiZwUWFOddVxuRltu5gd2KiZ/IyemmnIQFaNmzElrPHPjudf2iIXNlPBznvC DVwOUkm+Bjp63dI9gZ2nMYLK3Mj4Gvr+sMVYEo2b4LCB9rfDJQzUSHAn+3SYD0bvXxw4UE UtEYXpDfSdGm80Q6zrsGPJaTdu4i5b8xXo2FSLu7h5vvzi5ed/kLFNdVWrIIak6EppBaEU a2OKZh9D9xiJgctVts5VNx69/E4Lrd+d62vFqVgqJic/28q2bdhYJqf6SyL0cCK2TqujPc 7Sbh342rBtzb5a1DFvKcuRBNsBeFW/TZNSYLiK8QiihPNlEgMJ0410oc904U0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R2Ud5+5uK1JDA8CBwRZSDyEeML9tckeBaaMg308yZec=; b=LI5OrQn3XjsIQJVB/yx7ftzeFByYEPlPgBH8N14dqTSy76eLByzFLvrTC7WOE9lZmW9Ymq dgP6OrRdlpKM3tviCGN6u7IDvrSiQS4xNnQAgtBj8XQwgaFa6CD76pdXWuKLLQdqvx+64z 8kub0bb9kaWdBciabZ385WK5muy6n7ztjFVsxboNIayDPHQGjFYJAEeKznSm2h4gZGcKXx 3nP6hXIT9QFoB2GIeJiI790DSf97gwQIFT2DuhHAohKmzfY+VwD7FF5XuIOBrJWQI7muD2 paLjog9xEH5/WfV9iuI7bAg5W69npClqqmb/n/pf71BqGG66R1TyByvUvPTWmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361114; a=rsa-sha256; cv=none; b=sB5ieaVU2ghlXavzsb9hZ97mrgrIz96BrpDFREsNrhMOzdYR1uav1/vcqD1DUvj+EezM3h eNguy10glLSPZt9htnHc5pcGTRHx24JBxPeBCtmFHuMYJCnIcE2nW9TBfiBwazchwQPTyM /9Nnt9lGEnG3a87cZ7gNdljKrELuAqrBXaIkDiRMTui2uwVWrFRfcHfby1M34rLiToucBg f5c1hEEtoXaePfS6RGRFUq7+zDR5y4P/m0AE1ClMWcH6NaIv5MPrjAij4r69QdRVUgZ46a CrA1xKtlF5BkUkp6gsy6GXgpjcO0F/UVjEls7zOSAajDGeyOv5lh0sEl3QXD8w== 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 4TdpLL5n7DzjGt; Mon, 19 Feb 2024 16:45: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 41JGjEnk095858; Mon, 19 Feb 2024 16:45:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjEXP095855; Mon, 19 Feb 2024 16:45:14 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:14 GMT Message-Id: <202402191645.41JGjEXP095855@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: eb1dae1c40f2 - stable/14 - csu: Teach csu about PAC and 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/stable/14 X-Git-Reftype: branch X-Git-Commit: eb1dae1c40f261f39f96db83d86b995985b5af7c Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=eb1dae1c40f261f39f96db83d86b995985b5af7c commit eb1dae1c40f261f39f96db83d86b995985b5af7c Author: Andrew Turner AuthorDate: 2023-10-12 10:03:37 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:12:08 +0000 csu: Teach csu about PAC and BTI Add the Branch Target Identification (BTI) note to libc assembly sources and Pointer Authentication Code (PAC) instructions to _init and _fini. _init and _fini may be called indirectly so need a BTI landing pad. As they are non-leaf functions use the appropriate PAC instruction that also guards against changing the link register. As all object files need the note for any binary using these object files we need to insert it in all asm files. Reviewed by: markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42227 (cherry picked from commit 522126fea72419fae344fbcb897b41588909308a) --- lib/csu/aarch64/crt1_s.S | 4 ++++ lib/csu/aarch64/crti.S | 5 +++++ lib/csu/aarch64/crtn.S | 6 ++++++ lib/csu/common/crtbrand.S | 5 +++++ lib/csu/common/feature_note.S | 5 +++++ lib/csu/common/ignore_init_note.S | 5 +++++ 6 files changed, 30 insertions(+) diff --git a/lib/csu/aarch64/crt1_s.S b/lib/csu/aarch64/crt1_s.S index 97b4bff35a0b..981cf4653efd 100644 --- a/lib/csu/aarch64/crt1_s.S +++ b/lib/csu/aarch64/crt1_s.S @@ -30,6 +30,8 @@ */ #include +#include + /* * The program entry point * void _start(char **ap, void (*cleanup)(void)) __dead2 @@ -62,3 +64,5 @@ eprol: END(_start) .section .note.GNU-stack,"",@progbits + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/csu/aarch64/crti.S b/lib/csu/aarch64/crti.S index 0a20f4c5e314..8bd2dfac1494 100644 --- a/lib/csu/aarch64/crti.S +++ b/lib/csu/aarch64/crti.S @@ -28,11 +28,14 @@ */ #include +#include + .section .init,"ax",@progbits .align 4 .globl _init .type _init,@function _init: + PAC_LR_SIGN stp x29, x30, [sp, #-16]! mov x29, sp @@ -41,6 +44,8 @@ _init: .globl _fini .type _fini,@function _fini: + PAC_LR_SIGN stp x29, x30, [sp, #-16]! mov x29, sp +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/csu/aarch64/crtn.S b/lib/csu/aarch64/crtn.S index 924aa36aa045..441411f0ab83 100644 --- a/lib/csu/aarch64/crtn.S +++ b/lib/csu/aarch64/crtn.S @@ -28,13 +28,19 @@ */ #include +#include + .section .init,"ax",@progbits ldp x29, x30, [sp], #16 + PAC_LR_AUTH ret .section .fini,"ax",@progbits ldp x29, x30, [sp], #16 + PAC_LR_AUTH ret .section .note.GNU-stack,"",%progbits + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/csu/common/crtbrand.S b/lib/csu/common/crtbrand.S index 0ed86bfba2b2..b59e2fd8056b 100644 --- a/lib/csu/common/crtbrand.S +++ b/lib/csu/common/crtbrand.S @@ -47,3 +47,8 @@ 4: .section .note.GNU-stack,"",%progbits + +#ifdef __aarch64__ +/* This is needed in all objects for BTI to be used in the linked elf file */ +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) +#endif diff --git a/lib/csu/common/feature_note.S b/lib/csu/common/feature_note.S index 343d2a9262e2..5c1d56d4cde1 100644 --- a/lib/csu/common/feature_note.S +++ b/lib/csu/common/feature_note.S @@ -40,3 +40,8 @@ 4: .section .note.GNU-stack,"",%progbits + +#ifdef __aarch64__ +/* This is needed in all objects for BTI to be used in the linked elf file */ +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) +#endif diff --git a/lib/csu/common/ignore_init_note.S b/lib/csu/common/ignore_init_note.S index fa37a8990538..57fb4e8f4d51 100644 --- a/lib/csu/common/ignore_init_note.S +++ b/lib/csu/common/ignore_init_note.S @@ -41,3 +41,8 @@ 4: .section .note.GNU-stack,"",%progbits + +#ifdef __aarch64__ +/* This is needed in all objects for BTI to be used in the linked elf file */ +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) +#endif From nobody Mon Feb 19 16:45:15 2024 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 4TdpLN2t4Sz5C9Hv; Mon, 19 Feb 2024 16:45: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 4TdpLN1007z4bpS; Mon, 19 Feb 2024 16:45:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JjPeGSQY2E/3tdjOmKBeWuUxaRQznVKvOc/UFJatiHM=; b=Wyic/liovu2Q+57w195/brh13B5RhArhSBvj5fr/yGKZoXymz59zb9Oj95GCdDLX8SdhK6 WavfnINdWS/PZsASfaOcJT8ADLe5l7sQEcRacbA4kBMtVB08Yjc1I5ToBjpHMnfPgrvuqO Ye+3LtqzZwfZxG1IM65OAbuUhIB3WCJn0tyCuJR+yd1qDcxnTmXeWCTBeSREj2iSg5xhl8 8xCoX+TUXuA9vWvfHAaRwJ6nrfDTurRfNYdRj6Gk+80g3EwsjNKyVa/lbe9A+ssXg3cBUU DVRyjG1jXtbHRTGE874KOIPMu+ln1WogHDvS87726ap4cw6zBvXmpLIMjWPYwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JjPeGSQY2E/3tdjOmKBeWuUxaRQznVKvOc/UFJatiHM=; b=OBorI2R9y5zAisymHbGlgewsQsDfdqM3y+nE4qpD4hvHJheuLrEumiGaTYjzP1vbkI1y/L qsA/nKfqb8aVeTlZk0y77KgFuU55+KDv+euqS8T4u+2qXPGD4TTt0tbJTMGqDHRPc3lcX4 IBKmyh1z0JrSWn0I1s9TbZ0h2vFM/IQKoMO67HarpHg8RMyeycigtKdy86ekIx3j0M8NTd JZuJZC8FVp2dqg56XZ1b8UAH/A2CDa6EX+vky7wBXdq2vEpHC+aaglnO4YhnFAJCYzl3rz 3vz6WpRTXELcYGXn2LMo/GagkCw5CywjhPpUlrpTYBv+iEwFKOA73cQsu1PTlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361116; a=rsa-sha256; cv=none; b=Tk2r48Hk/wUp+Ojb3Jxhv2sROqH+U+Fc1LepbllmWALozfRywDPwaJFRjxGF8H8bwAptJ6 BPUGjKqQm1W8JEkBhdduaZKhlNiI+axivju4DNOoMXYzqZCT72wWwzBYD6yi5Van52nxbC KAa6s/usY3UpkgXKWm5Fa9x35/GPTG/UE0MTsFkXSqfHW/lGcMw08l3ET2YtYLke3F/z1U CTK+i2GyJ2r88m9a6s4LN0CsvA6Zh0u0zYFBxAW2i54kpizfGo8E8WvXgD+/MRLKdj+mrv t0mbvB3qegAzkfdTTniVh+yR07zDjWJrJQ6Ss/OZUXZWmVfBuf2ZO5eP3UwGYw== 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 4TdpLM6pSKzj9S; Mon, 19 Feb 2024 16:45:15 +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 41JGjF5W095915; Mon, 19 Feb 2024 16:45:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjFKx095912; Mon, 19 Feb 2024 16:45:15 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:15 GMT Message-Id: <202402191645.41JGjFKx095912@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: d4163257401c - stable/14 - rtld: Teach rtld 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/stable/14 X-Git-Reftype: branch X-Git-Commit: d4163257401ce2fbf1023453992fbf15111beb48 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d4163257401ce2fbf1023453992fbf15111beb48 commit d4163257401ce2fbf1023453992fbf15111beb48 Author: Andrew Turner AuthorDate: 2023-10-12 16:29:46 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:12:18 +0000 rtld: Teach rtld about the BTI elf note Add the Branch Target Identification (BTI) note to libc assembly sources. As all obect files need the note for rtld to have it we need to insert it in all asm files. Reviewed by: markj, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42228 (cherry picked from commit 5270cc9757fb4e0c1303ec44c2602b75acf3806d) --- libexec/rtld-elf/aarch64/rtld_start.S | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libexec/rtld-elf/aarch64/rtld_start.S b/libexec/rtld-elf/aarch64/rtld_start.S index 7dc87213b5fb..8de3e021d567 100644 --- a/libexec/rtld-elf/aarch64/rtld_start.S +++ b/libexec/rtld-elf/aarch64/rtld_start.S @@ -28,6 +28,8 @@ */ #include +#include + ENTRY(.rtld_start) .cfi_undefined x30 mov x19, x0 /* Put ps_strings in a callee-saved register */ @@ -249,3 +251,5 @@ ENTRY(_rtld_tlsdesc_dynamic) .cfi_adjust_cfa_offset -2 * 16 ret END(_rtld_tlsdesc_dynamic) + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) From nobody Mon Feb 19 16:45:16 2024 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 4TdpLP3nXQz5C9Hx; Mon, 19 Feb 2024 16:45: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 4TdpLP1LH6z4bpq; Mon, 19 Feb 2024 16:45:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GLJMAlkvfIrWOaha7TuD9jKY+/Hk6rr+To1g5c6+xV4=; b=aeSp9s0zC4cSRqclaCEgNeyamfCd913prSlmDolTXJHmYbrJJ7uwKVvNdrbCP77mxepV4I xfXCpQdtAlDMmLjLDnyWWlEcAL4uYsUQ9ZakYFiWYKQ7ZF8r+KjcaBmWRJdK4lYX2mIVyn ebWo7FPhWReKuJhwy9eOyD/XR2IMYwa8VY6GvSh9dWjsv1q/nLt5pw1Qjy8LHoKGPOHT2a aoZvHA1YoVb9ly1gqJapQ3BCx4wwVXiQY47PV8vHHmiphVmCg7JQXJPUq2SX5CW9jpFHvc mevuHnRvaqzOlBorGDMf4R3yUTBKoh3OwuIUhpNjSMUDx2D3092hvRDmYHb3NA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GLJMAlkvfIrWOaha7TuD9jKY+/Hk6rr+To1g5c6+xV4=; b=vL2oIdoBPFBmOxyS9OaNA/kj+Ev4DIek4LXrglwU15ORCuTWMUvWgUw3slb6970eR8xO6C EZCL/tPhVEJ3XzNB7EKh1yIHcyI6ETlspKgl7cRfptjCM6bVXzcxBJgPLnzsdwG5m4Td9V z/Y0GEo2312lFvR3yqb8YubUCOCy91tiLGuA1y2M55+kyaGFop5s7cK8NZplKHG2L+zw66 J1iFhT+4fHI/vp32vnnvEnEEkN/0nfkhhf0+nfcBfUNdrIoJshEumbV/fZZ9JaZlJs6Nmm 2pv7mwOD3iEDZLjY5JFKPxYcprlPYNODurrfBcQOd2fr1zw67NKOA0NhZahg4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361117; a=rsa-sha256; cv=none; b=sPdLMylCSNDrakd+gaPmD3fjTN767WWgsLKE6GsFLhSw81dqc1WJziEjXH6Veqgj9/KqcQ bQCu11ex1req6CtmRcr1M71bRhEX6nwVWsK8/PMvbKDHjMdawtROymSvEKcF25ZWzyERnn 43oPPikYWWb3O51DxbX6jF14oLiDPeC4fhC16NBf04EcJoEVIZhPzYAEDlXZuGQqW0sRnz PeIuyQZFkPwd80Z0PoYEIlRX9kAYNTD2nrsa64DDmnSF0wM1qnDIHvn5VfmyfQAo7TBzwF XU9soSALwHz53s+S4PDrHITtxHpQ9uGtAiImBY0RwZsxYxGiWgBw+a029C4Qug== 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 4TdpLP0RrGzj9T; Mon, 19 Feb 2024 16:45: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 41JGjGAZ095968; Mon, 19 Feb 2024 16:45:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjG4v095965; Mon, 19 Feb 2024 16:45:16 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:16 GMT Message-Id: <202402191645.41JGjG4v095965@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: aace2b59a835 - stable/14 - arm64: Add a BTI landing pad to .mcount 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/stable/14 X-Git-Reftype: branch X-Git-Commit: aace2b59a835bb6b90a134e370e6af63792f4a12 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=aace2b59a835bb6b90a134e370e6af63792f4a12 commit aace2b59a835bb6b90a134e370e6af63792f4a12 Author: Andrew Turner AuthorDate: 2023-10-16 14:34:19 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:12:30 +0000 arm64: Add a BTI landing pad to .mcount The .mcount function needs a BTI branch target. As we can't rely on asm.h being included use the hint version of a "bti c" instruction. This is a nop when BTI is not supported or not used. Reviewed by: markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42230 (cherry picked from commit 0590ed0967e025e1d155da9e06509f3fe9686feb) --- sys/arm64/include/profile.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/arm64/include/profile.h b/sys/arm64/include/profile.h index 3e4a34669360..8a61ff995d83 100644 --- a/sys/arm64/include/profile.h +++ b/sys/arm64/include/profile.h @@ -68,6 +68,8 @@ static void _mcount " .globl .mcount \n" \ " .mcount: \n" \ " .cfi_startproc \n" \ + /* Allow this to work with BTI, see BTI_C in asm.h */ \ +" hint #34 \n" \ /* Load the caller return address as frompc */ \ " ldr x0, [x29, #8] \n" \ /* Use our return address as selfpc */ \ From nobody Mon Feb 19 16:45:18 2024 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 4TdpLQ4SK5z5C9WS; Mon, 19 Feb 2024 16:45: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 4TdpLQ297Kz4bh0; Mon, 19 Feb 2024 16:45:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gp3YYrn0UC6WZ0DofC1v8SsHExOQSyzHWpoCGdxE0gk=; b=NQ/3LmnH/q3HZw7p98BDvgMjzfIkqrkhkb2y9ptuuoxIy4J1G9bhlt6H6U0F7SakiGlLEH 41UjBVCes9hO5BqPOi00U7f8JjBIc6leZUGvkRTru4aaAva8gzuGzIG/W/RVwKcVw2pc5u tiLcwBJOAtTlPU8O99RgPRu7PGbP5T2Q44T5mDL8o8XnOUDTgOWfDsnzc1E3JwRE/k/nHz mn4MJ8jjGDJ24mOsVP939jjXCHkpCWVITio6HX9B62SWRbS5mFL7OB1hm1GV98/UCXicZb 2ICpPHLTnSXijbnx38MPlUweQlNk/De8Z1Apb49MHcCNT2MeRfBMfdha90yzYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gp3YYrn0UC6WZ0DofC1v8SsHExOQSyzHWpoCGdxE0gk=; b=cHOGKzOygp/c+6kmv6SuSToEets5fUXaaCV7aFzPizIJl7Z0k8blRC+lKMn1AuQynrr1Oo fqF/minJ7mfV8eI+BcQIrmBKzM/xF3VcSTja3b77Y2JMBfjZN1gVTNLujrrSY+N3ybWOIn PVKI2CpglD1G8whXk6ex32OIaKpxw3y+sMzQPS00I85jEid9sBa2cJUZ1/+Cp8Wg1bViyU HVkkMAvQiLJrNbqw2AlQhrpLaFDyScKiJJ+fgYoWoB52pjJhhOg+nGpuUheaqhW0Ya5N9Q BJHWB5r+APvubSjyYfwDmeTDWnjayslTB6ws97uUBZobx7cB3zucax4jqMtUng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361118; a=rsa-sha256; cv=none; b=RgibGeGwonHtvWa2HSB8EraYWVmlAhxZimA26mlxBnY4ATogVkLY8MSSwNVRpB1OC1usAZ W++NBSiXkK8fWRhNsYp6FOv//n03oFzfozdhhAF8m/q/dKmn4yE9vCDqQ7ijfS05eUK+DL 1UPMTT92sjiulLLABAVnH/l6HEpqAOrx6d61xNLJQh5187ARNgDFktyXdFyl83hSix34up M+VxEkhf23k4qr8Zt6NuNzwY0Z0n4pyEeui8iP4bPISYFNGjW58lY2SvUVZ5cW4/vDkXo5 NGEPdGXY5B67araTIIwyaGktBny8JwuK6yBSykcIM5by4NRKaM62m5tmut6ALQ== 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 4TdpLQ1H6yzjVc; Mon, 19 Feb 2024 16:45: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 41JGjIff096016; Mon, 19 Feb 2024 16:45:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjI8c096013; Mon, 19 Feb 2024 16:45:18 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:18 GMT Message-Id: <202402191645.41JGjI8c096013@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: c424b194192e - stable/14 - imgact_elf: Move GNU_ABI_VENDOR to a common header 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/stable/14 X-Git-Reftype: branch X-Git-Commit: c424b194192ee818662ac83e8420a9c35f046f0a Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c424b194192ee818662ac83e8420a9c35f046f0a commit c424b194192ee818662ac83e8420a9c35f046f0a Author: Andrew Turner AuthorDate: 2023-11-01 15:05:58 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:12:40 +0000 imgact_elf: Move GNU_ABI_VENDOR to a common header Move the definition of GNU_ABI_VENDOR to a common location so it can be used in multiple files. Reviewed by: emaste, kib, imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42442 (cherry picked from commit 9d2612fc2a7e54719058c68b62ea035b029c954f) --- sys/kern/imgact_elf.c | 1 - sys/sys/imgact_elf.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 85f0602fe584..0b22e113b3d7 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -246,7 +246,6 @@ __elfN(freebsd_trans_osrel)(const Elf_Note *note, int32_t *osrel) return (true); } -static const char GNU_ABI_VENDOR[] = "GNU"; static int GNU_KFREEBSD_ABI_DESC = 3; Elf_Brandnote __elfN(kfreebsd_brandnote) = { diff --git a/sys/sys/imgact_elf.h b/sys/sys/imgact_elf.h index f3d9be027079..7210fc2187a9 100644 --- a/sys/sys/imgact_elf.h +++ b/sys/sys/imgact_elf.h @@ -100,6 +100,7 @@ __ElfType(Brandinfo); #define MAX_BRANDS 8 #define FREEBSD_ABI_VENDOR "FreeBSD" +#define GNU_ABI_VENDOR "GNU" typedef void (*outfunc_t)(void *, struct sbuf *, size_t *); From nobody Mon Feb 19 16:45:19 2024 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 4TdpLR4hm6z5C9Kt; Mon, 19 Feb 2024 16:45: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 4TdpLR3VHdz4bvh; Mon, 19 Feb 2024 16:45:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f0duNByO1neTvF46FBxzF9TKfIhtsR/noE8O7QKAk2c=; b=r/JiYKHg5Ev52oh0G0M0zKgvU/fuIBU4uSGSwChSfLZYUKLvRbLXnPHR5ReMENkXI4a/RK bE+lFLBS0zq/DJmC3sFarUKj+j7zhp0nahsQeL1CZBZYQ0FIzrpxJPkbhEQE0R/JIlfAA1 zMTPi3DR1ZuVq7hYnmJm/C61HIURRd0FvLFk/1QHBNCNmZ9D+XqT7O7UxhQw3Khacrwi0F 9udo4BlruUbE80jktrSu0KqYkSs+u72IWggSqg3GtcufSy9hLVlXv1l5yPNGUq1swYmAyi Rwzlfp9bi7hk8nEJRSUf035N4AkU9dIyY+FrHIw/ZFCJbBisrmrgiuyMv4F9lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f0duNByO1neTvF46FBxzF9TKfIhtsR/noE8O7QKAk2c=; b=LoF+H4bpdb7+/6FSNhXZ3gawXSwqk+DxOi2a3mTmTDHLeTBaOOOLxiSmbn8cgHj4Na7FlM gcSE7GtPXXbEJptM6jcC+iOzpS2bB+aGJa3jq+iItJl7sVinlbr6sOBW+qYypYaKBEcFOB Ri2l84fyD+2B1TsgUtHqteKMrWMIfRq5z23kU3yrS7huKKEDhVJonzs8A3fXzOHBw73jI3 yvDBI49aiw8HpmxG0+vNgF95X9qnw/Cqffce0C/LTSexJH4VUO5WkzosFUA0WZC0Dm8MHb lz5G6Uo+Zc/blieaYILZjM/ne8YjHs7Njs8mjxJAvH6vCtrAnyBkiKURbjz+rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361119; a=rsa-sha256; cv=none; b=pSNsD3ARi0HPIbq/fruztZsJ2O4LdN9xRCtbIGzLvIaoZafVxQzukSiZsOg6doeRXiuWHR WZrFehL1n6QQaHDyWH0VEZvp4a1L4kZCbUIHOGv5qlUukCbJoY0nQ2NF88DvjvrEyHPTEx c9xbdBtZCgJ7HnFUcrVwGJfF+VEpdiEUc6OPIsi0BaZFhq1EzGCqsMXzMks/Dy7oeS1tp8 E+HZSGzoTZY9ymqF02npFrI/wk1biG5iUN4AA51tYOlL+3VwgTLMo4n5yNkmPNYRIh7GbD TF0Js6ATpiExBmlL/eOxIvBEUY7xkqpWO4XHbCxvQm11sp9dD/tlGJ3bo+WZzw== 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 4TdpLR2c77zj9V; Mon, 19 Feb 2024 16:45: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 41JGjJIp096054; Mon, 19 Feb 2024 16:45:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjJXt096051; Mon, 19 Feb 2024 16:45:19 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:19 GMT Message-Id: <202402191645.41JGjJXt096051@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 403c7ef8e853 - stable/14 - imgact_elf: Export __elfN(parse_notes) 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 403c7ef8e853544227fc18d41fed6a019d26cc52 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=403c7ef8e853544227fc18d41fed6a019d26cc52 commit 403c7ef8e853544227fc18d41fed6a019d26cc52 Author: Andrew Turner AuthorDate: 2023-11-01 15:18:12 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:12:51 +0000 imgact_elf: Export __elfN(parse_notes) This is useful to check if a note is present and contains an expected value, e.g. to read NT_GNU_PROPERTY_TYPE_0 on arm64 to see if we should enable BTI. Reviewed by: kib, markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42439 (cherry picked from commit a04633cef81e3b29da4eb214331bd472fc2e9238) --- sys/kern/imgact_elf.c | 2 +- sys/sys/imgact_elf.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 0b22e113b3d7..23ddf3ac717a 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -2704,7 +2704,7 @@ __elfN(note_procstat_auxv)(void *arg, struct sbuf *sb, size_t *sizep) } #define MAX_NOTES_LOOP 4096 -static bool +bool __elfN(parse_notes)(struct image_params *imgp, Elf_Note *checknote, const char *note_vendor, const Elf_Phdr *pnote, bool (*cb)(const Elf_Note *, void *, bool *), void *cb_arg) diff --git a/sys/sys/imgact_elf.h b/sys/sys/imgact_elf.h index 7210fc2187a9..51e149476a28 100644 --- a/sys/sys/imgact_elf.h +++ b/sys/sys/imgact_elf.h @@ -123,6 +123,9 @@ void __elfN(prepare_notes)(struct thread *, struct note_info_list *, void __elfN(size_segments)(struct thread *, struct sseg_closure *, int); size_t __elfN(register_note)(struct thread *, struct note_info_list *, int, outfunc_t, void *); +bool __elfN(parse_notes)(struct image_params *, Elf_Note *, const char *, + const Elf_Phdr *, bool (*)(const Elf_Note *, void *, bool *), + void *); /* Machine specific function to dump per-thread information. */ void __elfN(dump_thread)(struct thread *, void *, size_t *); From nobody Mon Feb 19 16:45:20 2024 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 4TdpLS6B7qz5C9NX; Mon, 19 Feb 2024 16:45: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 4TdpLS4S8Rz4bsw; Mon, 19 Feb 2024 16:45:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q12Bz8skvgnA8Q4FeHfh8KWbhnheHC62AIB0rS5+kvs=; b=r/XfqUXunG6ctqtjL3nqjzZRkDRCCdg3yHKqp/i//mdEJxEkN7A8f48Ae5FKSIzzzbaTsT +dp45erJmODndkh8TRRokTOZ8NtthUhAp7tr9THWT84RpHsdSdbuWPMadpPSw+KgkByTGS pSF03yKfyCgW3ANd2rEepxbYfjd3saBwmCQypoKeqOfhf18Vni3bzEC04cqowy91H4iO3M 7T+f3BDtHDf0EjRwf3v3M9LIvp1rKpd4PVpAyUC3lc8fHVW3ND1q/b7kdwtiOav2ikGRqE oMkWdL/IaAmTKqiuIt8sEIoLLZriF8Ytj+dpuGjQqYaKNltJAkyxFQalKiIbvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q12Bz8skvgnA8Q4FeHfh8KWbhnheHC62AIB0rS5+kvs=; b=SJbZkJBCAxW0oDVd5HvtR0Z2xTa50xSORFGI1rHDPNUrQd2sb3tED7vYevLcnDKcWwVlAo Sp5AE4XgXeJceeSk3TIzCPbNJond13jtkaFvP5CcnR/nnkMlM/L0D96fhrGf/6H8rlEOjo oS1mecBo7tL+1pLtZK74RfeHrIxnItnMGpBKTU8y9yI4n34WN6vYsKaPuhXbDVLax4Px99 S9mZgpkC4SGNfkiPchhnM/mo3+w3r6r/SmhEnbnHrG22eA2ml0/Diuv/4Ww/Z4bjbIQe8Q D8N/7FLXo0/uJ6NutLkSZd3hkeMK0Obl45eQbB39TAPcd3QGlnWc6vvxUkWhYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361120; a=rsa-sha256; cv=none; b=X/KP+hANZDlytfv2mzFySdFiO0eIatDV3X2Q9gFyIHzkqE9A3OC1evA1pzlt9s6+ZXMjPj 1sqyT4QS8kiG5ijfzJf0yES1EKadSFMC1lU1dEQh3d5QooxskQgpApIaOV2wef1QlVOoEk dPvW03qArb4sjcdoiTJQaPNPT7v1NW+mYiy5hxAmCoXWqBtpRlRyY/oy2GlOXEfjNorVBS p2HLB6xiwwFkLczNKsDb+1sFFWMXKSMviXmOPJYhnRoFjGXVSSc8rnxEsPrAWEUUth9wNY RsP/JfQcsFrk5G0Ww2piONBY0ADQKhKCgxmbKVs5aHAjgrodCczz/iID6Mcv+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 4TdpLS3Qp0zjSR; Mon, 19 Feb 2024 16:45: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 41JGjKv4096113; Mon, 19 Feb 2024 16:45:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjKxY096110; Mon, 19 Feb 2024 16:45:20 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:20 GMT Message-Id: <202402191645.41JGjKxY096110@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 829446911790 - stable/14 - arm64: Add an is64bit flag to user readable ID regs 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 829446911790ef33a1d81e6de4751af668afc843 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=829446911790ef33a1d81e6de4751af668afc843 commit 829446911790ef33a1d81e6de4751af668afc843 Author: Andrew Turner AuthorDate: 2023-10-25 10:47:30 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:13:16 +0000 arm64: Add an is64bit flag to user readable ID regs To tell if a register is for 32 or 64 bit userspace add a flag to the user reg struct. This will be used later to rework how the hwcaps are generated. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42370 (cherry picked from commit c2dc043c9757aad77bb1745e3b14dfa6b27e3fa4) --- sys/arm64/arm64/identcpu.c | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index a5c359547981..b1d963c07630 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1827,50 +1827,52 @@ struct mrs_user_reg { u_int reg; u_int CRm; u_int Op2; + bool is64bit; size_t offset; const struct mrs_field *fields; }; -#define USER_REG(name, field_name) \ +#define USER_REG(name, field_name, _is64bit) \ { \ .reg = name, \ .CRm = name##_CRm, \ .Op2 = name##_op2, \ .offset = __offsetof(struct cpu_desc, field_name), \ .fields = field_name##_fields, \ + .is64bit = _is64bit, \ } static const struct mrs_user_reg user_regs[] = { - USER_REG(ID_AA64AFR0_EL1, id_aa64afr0), - USER_REG(ID_AA64AFR1_EL1, id_aa64afr1), + USER_REG(ID_AA64AFR0_EL1, id_aa64afr0, true), + USER_REG(ID_AA64AFR1_EL1, id_aa64afr1, true), - USER_REG(ID_AA64DFR0_EL1, id_aa64dfr0), - USER_REG(ID_AA64DFR1_EL1, id_aa64dfr1), + USER_REG(ID_AA64DFR0_EL1, id_aa64dfr0, true), + USER_REG(ID_AA64DFR1_EL1, id_aa64dfr1, true), - USER_REG(ID_AA64ISAR0_EL1, id_aa64isar0), - USER_REG(ID_AA64ISAR1_EL1, id_aa64isar1), - USER_REG(ID_AA64ISAR2_EL1, id_aa64isar2), + USER_REG(ID_AA64ISAR0_EL1, id_aa64isar0, true), + USER_REG(ID_AA64ISAR1_EL1, id_aa64isar1, true), + USER_REG(ID_AA64ISAR2_EL1, id_aa64isar2, true), - USER_REG(ID_AA64MMFR0_EL1, id_aa64mmfr0), - USER_REG(ID_AA64MMFR1_EL1, id_aa64mmfr1), - USER_REG(ID_AA64MMFR2_EL1, id_aa64mmfr2), + USER_REG(ID_AA64MMFR0_EL1, id_aa64mmfr0, true), + USER_REG(ID_AA64MMFR1_EL1, id_aa64mmfr1, true), + USER_REG(ID_AA64MMFR2_EL1, id_aa64mmfr2, true), #ifdef NOTYET - USER_REG(ID_AA64MMFR3_EL1, id_aa64mmfr3), - USER_REG(ID_AA64MMFR4_EL1, id_aa64mmfr4), + USER_REG(ID_AA64MMFR3_EL1, id_aa64mmfr3, true), + USER_REG(ID_AA64MMFR4_EL1, id_aa64mmfr4, true), #endif - USER_REG(ID_AA64PFR0_EL1, id_aa64pfr0), - USER_REG(ID_AA64PFR1_EL1, id_aa64pfr1), + USER_REG(ID_AA64PFR0_EL1, id_aa64pfr0, true), + USER_REG(ID_AA64PFR1_EL1, id_aa64pfr1, true), #ifdef NOTYET - USER_REG(ID_AA64PFR2_EL1, id_aa64pfr2), + USER_REG(ID_AA64PFR2_EL1, id_aa64pfr2, true), #endif - USER_REG(ID_AA64ZFR0_EL1, id_aa64zfr0), + USER_REG(ID_AA64ZFR0_EL1, id_aa64zfr0, true), #ifdef COMPAT_FREEBSD32 - USER_REG(ID_ISAR5_EL1, id_isar5), + USER_REG(ID_ISAR5_EL1, id_isar5, false), - USER_REG(MVFR0_EL1, mvfr0), - USER_REG(MVFR1_EL1, mvfr1), + USER_REG(MVFR0_EL1, mvfr0, false), + USER_REG(MVFR1_EL1, mvfr1, false), #endif /* COMPAT_FREEBSD32 */ }; From nobody Mon Feb 19 16:45:21 2024 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 4TdpLT6PWqz5C9NZ; Mon, 19 Feb 2024 16:45: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 4TdpLT4tNKz4bwQ; Mon, 19 Feb 2024 16:45:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Au1uybg9boXTxunhkD/3II2PAVHQ3UvGCaGGI90g1Xc=; b=NPDmQG6Qc456iN1KdwmesCdltEPkQFY3uj92GaQlhHeyZRjCStzrDKc7eXvcBb7xV19ujO NSxdp/OZEt/Ecn1bi09bXlr3a6gI52AkT+nc3uq0XiSoeVVMHVrZDYpfXnGiwXFuIA/hVW wWhyGo/1z6msog9R5YfdvPKZktnT+d2EyjAoeJx8pv8RAMH+bsy3DJIjVAVhS2Ls2YwfUX PGUeRKS7r8SZXcchUcsuN7cuTnADtFsUW5jkOL6SXm7Y04H2vxgecbyM87MB3QYeX+bxvc j+NB+aeADX/FzlpXmMvpdXvxBONAXUYLIPuscSeBqGn6G3DEJgRC2kCHEHAi3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361121; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Au1uybg9boXTxunhkD/3II2PAVHQ3UvGCaGGI90g1Xc=; b=R2ADVtOCihfAx8V70Iez0s1YhxBQCCiEr321Xkckv8zDeCp87j8C330coz44nhlZB6Mw8d p7/8hG7E6bSEWCJCHef5V3wC1Ry/dq1u0b5idESpoSRUprwkkdCQh19kaYIYqT0FTtHgLS FXTrGLmBh3szbbSWhZmeI8sbEF1jykSPBTOjSm5CULzhwbM2kfObhdwcGZeWGBNakKXrG5 2thisYniq8pFM03thKq25+srIqh6MpcpFd467QWmONHm2yhzo032gNG0wsjSprLy/E6p7a rDgF9IqXZBHJHp4gqPl+uIKg49WxBZx/oRPlj3lRwUb3QS//pNBZoYoqZB3Yrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361121; a=rsa-sha256; cv=none; b=qrC4c+46jglENpxhZpplFqJ1bu0B4xoBJ40l8QJuiTFuPFq7u3KxIKpWUK9wfclLOm0fY9 QGWJCditzAfyVxp8Rmrpt885+0uiybuapBjh9wDD5ru1nYwHsAY5F0Ik6MxE457+lr/ASc adOWuny+ij9NDcYQou/HpZF4v0M5BJgeOABqojbeO1DBxKLXnECM0GeOQl33WdfUxLM+fk NUlngL867kGiiE/311lzUQ7LyW5iR2L7aM0qhrtkFHaITnLSLe+v2MjCCikoriASnM8Lfg e9IQSe0EGgrySbgClG/wMmnz8mHXl67daoRKMlZGwOgl9XgWU3XsTSG5tfZy4w== 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 4TdpLT3yDLzjDQ; Mon, 19 Feb 2024 16:45: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 41JGjLSJ096171; Mon, 19 Feb 2024 16:45:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjLcg096168; Mon, 19 Feb 2024 16:45:21 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:21 GMT Message-Id: <202402191645.41JGjLcg096168@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 148222e3a099 - stable/14 - arm64: Use a hwcap ID rather than pointer 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 148222e3a09965a7d8af72d00ee4584a0df16ca7 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=148222e3a09965a7d8af72d00ee4584a0df16ca7 commit 148222e3a09965a7d8af72d00ee4584a0df16ca7 Author: Andrew Turner AuthorDate: 2023-10-26 10:21:57 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:13:30 +0000 arm64: Use a hwcap ID rather than pointer To allow for a different Linux hwcap value store the hwcap ID rather than a pointer to elf{32,}_hwcap{2,}. This will be needed when creating a different view of the ID registers for FreeBSD and Linux. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42371 (cherry picked from commit c9e8b4b27966acf710f86d8c9f867f857f05f2c3) --- sys/arm64/arm64/identcpu.c | 133 +++++++++++++++++++++++++-------------------- 1 file changed, 74 insertions(+), 59 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index b1d963c07630..7acce7f5fc5b 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -317,19 +317,19 @@ struct mrs_field_value { #define MRS_FIELD_VALUE_END { .desc = NULL } struct mrs_field_hwcap { - u_long *hwcap; uint64_t min; u_long hwcap_val; + u_int hwcap_id; }; -#define MRS_HWCAP(_hwcap, _val, _min) \ +#define MRS_HWCAP(_hwcap_id, _val, _min) \ { \ - .hwcap = (_hwcap), \ + .hwcap_id = (_hwcap_id), \ .hwcap_val = (_val), \ .min = (_min), \ } -#define MRS_HWCAP_END { .hwcap = NULL } +#define MRS_HWCAP_END { .hwcap_id = 0 } struct mrs_field { const char *name; @@ -493,7 +493,7 @@ static const struct mrs_field_value id_aa64isar0_rndr[] = { }; static const struct mrs_field_hwcap id_aa64isar0_rndr_caps[] = { - MRS_HWCAP(&elf_hwcap2, HWCAP2_RNG, ID_AA64ISAR0_RNDR_IMPL), + MRS_HWCAP(2, HWCAP2_RNG, ID_AA64ISAR0_RNDR_IMPL), MRS_HWCAP_END }; @@ -512,8 +512,8 @@ static const struct mrs_field_value id_aa64isar0_ts[] = { }; static const struct mrs_field_hwcap id_aa64isar0_ts_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_FLAGM, ID_AA64ISAR0_TS_CondM_8_4), - MRS_HWCAP(&elf_hwcap2, HWCAP2_FLAGM2, ID_AA64ISAR0_TS_CondM_8_5), + MRS_HWCAP(1, HWCAP_FLAGM, ID_AA64ISAR0_TS_CondM_8_4), + MRS_HWCAP(2, HWCAP2_FLAGM2, ID_AA64ISAR0_TS_CondM_8_5), MRS_HWCAP_END }; @@ -523,7 +523,7 @@ static const struct mrs_field_value id_aa64isar0_fhm[] = { }; static const struct mrs_field_hwcap id_aa64isar0_fhm_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_ASIMDFHM, ID_AA64ISAR0_FHM_IMPL), + MRS_HWCAP(1, HWCAP_ASIMDFHM, ID_AA64ISAR0_FHM_IMPL), MRS_HWCAP_END }; @@ -533,7 +533,7 @@ static const struct mrs_field_value id_aa64isar0_dp[] = { }; static const struct mrs_field_hwcap id_aa64isar0_dp_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_ASIMDDP, ID_AA64ISAR0_DP_IMPL), + MRS_HWCAP(1, HWCAP_ASIMDDP, ID_AA64ISAR0_DP_IMPL), MRS_HWCAP_END }; @@ -543,7 +543,7 @@ static const struct mrs_field_value id_aa64isar0_sm4[] = { }; static const struct mrs_field_hwcap id_aa64isar0_sm4_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_SM4, ID_AA64ISAR0_SM4_IMPL), + MRS_HWCAP(1, HWCAP_SM4, ID_AA64ISAR0_SM4_IMPL), MRS_HWCAP_END }; @@ -553,7 +553,7 @@ static const struct mrs_field_value id_aa64isar0_sm3[] = { }; static const struct mrs_field_hwcap id_aa64isar0_sm3_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_SM3, ID_AA64ISAR0_SM3_IMPL), + MRS_HWCAP(1, HWCAP_SM3, ID_AA64ISAR0_SM3_IMPL), MRS_HWCAP_END }; @@ -563,7 +563,7 @@ static const struct mrs_field_value id_aa64isar0_sha3[] = { }; static const struct mrs_field_hwcap id_aa64isar0_sha3_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_SHA3, ID_AA64ISAR0_SHA3_IMPL), + MRS_HWCAP(1, HWCAP_SHA3, ID_AA64ISAR0_SHA3_IMPL), MRS_HWCAP_END }; @@ -573,7 +573,7 @@ static const struct mrs_field_value id_aa64isar0_rdm[] = { }; static const struct mrs_field_hwcap id_aa64isar0_rdm_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_ASIMDRDM, ID_AA64ISAR0_RDM_IMPL), + MRS_HWCAP(1, HWCAP_ASIMDRDM, ID_AA64ISAR0_RDM_IMPL), MRS_HWCAP_END }; @@ -588,7 +588,7 @@ static const struct mrs_field_value id_aa64isar0_atomic[] = { }; static const struct mrs_field_hwcap id_aa64isar0_atomic_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_ATOMICS, ID_AA64ISAR0_Atomic_IMPL), + MRS_HWCAP(1, HWCAP_ATOMICS, ID_AA64ISAR0_Atomic_IMPL), MRS_HWCAP_END }; @@ -598,7 +598,7 @@ static const struct mrs_field_value id_aa64isar0_crc32[] = { }; static const struct mrs_field_hwcap id_aa64isar0_crc32_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_CRC32, ID_AA64ISAR0_CRC32_BASE), + MRS_HWCAP(1, HWCAP_CRC32, ID_AA64ISAR0_CRC32_BASE), MRS_HWCAP_END }; @@ -609,8 +609,8 @@ static const struct mrs_field_value id_aa64isar0_sha2[] = { }; static const struct mrs_field_hwcap id_aa64isar0_sha2_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_SHA2, ID_AA64ISAR0_SHA2_BASE), - MRS_HWCAP(&elf_hwcap, HWCAP_SHA512, ID_AA64ISAR0_SHA2_512), + MRS_HWCAP(1, HWCAP_SHA2, ID_AA64ISAR0_SHA2_BASE), + MRS_HWCAP(1, HWCAP_SHA512, ID_AA64ISAR0_SHA2_512), MRS_HWCAP_END }; @@ -620,7 +620,7 @@ static const struct mrs_field_value id_aa64isar0_sha1[] = { }; static const struct mrs_field_hwcap id_aa64isar0_sha1_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_SHA1, ID_AA64ISAR0_SHA1_BASE), + MRS_HWCAP(1, HWCAP_SHA1, ID_AA64ISAR0_SHA1_BASE), MRS_HWCAP_END }; @@ -631,8 +631,8 @@ static const struct mrs_field_value id_aa64isar0_aes[] = { }; static const struct mrs_field_hwcap id_aa64isar0_aes_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_AES, ID_AA64ISAR0_AES_BASE), - MRS_HWCAP(&elf_hwcap, HWCAP_PMULL, ID_AA64ISAR0_AES_PMULL), + MRS_HWCAP(1, HWCAP_AES, ID_AA64ISAR0_AES_BASE), + MRS_HWCAP(1, HWCAP_PMULL, ID_AA64ISAR0_AES_PMULL), MRS_HWCAP_END }; @@ -688,7 +688,7 @@ static const struct mrs_field_value id_aa64isar1_i8mm[] = { }; static const struct mrs_field_hwcap id_aa64isar1_i8mm_caps[] = { - MRS_HWCAP(&elf_hwcap2, HWCAP2_I8MM, ID_AA64ISAR1_I8MM_IMPL), + MRS_HWCAP(2, HWCAP2_I8MM, ID_AA64ISAR1_I8MM_IMPL), MRS_HWCAP_END }; @@ -698,7 +698,7 @@ static const struct mrs_field_value id_aa64isar1_dgh[] = { }; static const struct mrs_field_hwcap id_aa64isar1_dgh_caps[] = { - MRS_HWCAP(&elf_hwcap2, HWCAP2_DGH, ID_AA64ISAR1_DGH_IMPL), + MRS_HWCAP(2, HWCAP2_DGH, ID_AA64ISAR1_DGH_IMPL), MRS_HWCAP_END }; @@ -709,7 +709,7 @@ static const struct mrs_field_value id_aa64isar1_bf16[] = { }; static const struct mrs_field_hwcap id_aa64isar1_bf16_caps[] = { - MRS_HWCAP(&elf_hwcap2, HWCAP2_BF16, ID_AA64ISAR1_BF16_IMPL), + MRS_HWCAP(2, HWCAP2_BF16, ID_AA64ISAR1_BF16_IMPL), MRS_HWCAP_END }; @@ -725,7 +725,7 @@ static const struct mrs_field_value id_aa64isar1_sb[] = { }; static const struct mrs_field_hwcap id_aa64isar1_sb_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_SB, ID_AA64ISAR1_SB_IMPL), + MRS_HWCAP(1, HWCAP_SB, ID_AA64ISAR1_SB_IMPL), MRS_HWCAP_END }; @@ -735,7 +735,7 @@ static const struct mrs_field_value id_aa64isar1_frintts[] = { }; static const struct mrs_field_hwcap id_aa64isar1_frintts_caps[] = { - MRS_HWCAP(&elf_hwcap2, HWCAP2_FRINT, ID_AA64ISAR1_FRINTTS_IMPL), + MRS_HWCAP(2, HWCAP2_FRINT, ID_AA64ISAR1_FRINTTS_IMPL), MRS_HWCAP_END }; @@ -745,7 +745,7 @@ static const struct mrs_field_value id_aa64isar1_gpi[] = { }; static const struct mrs_field_hwcap id_aa64isar1_gpi_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_PACG, ID_AA64ISAR1_GPI_IMPL), + MRS_HWCAP(1, HWCAP_PACG, ID_AA64ISAR1_GPI_IMPL), MRS_HWCAP_END }; @@ -755,7 +755,7 @@ static const struct mrs_field_value id_aa64isar1_gpa[] = { }; static const struct mrs_field_hwcap id_aa64isar1_gpa_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_PACG, ID_AA64ISAR1_GPA_IMPL), + MRS_HWCAP(1, HWCAP_PACG, ID_AA64ISAR1_GPA_IMPL), MRS_HWCAP_END }; @@ -767,8 +767,8 @@ static const struct mrs_field_value id_aa64isar1_lrcpc[] = { }; static const struct mrs_field_hwcap id_aa64isar1_lrcpc_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_LRCPC, ID_AA64ISAR1_LRCPC_RCPC_8_3), - MRS_HWCAP(&elf_hwcap, HWCAP_ILRCPC, ID_AA64ISAR1_LRCPC_RCPC_8_4), + MRS_HWCAP(1, HWCAP_LRCPC, ID_AA64ISAR1_LRCPC_RCPC_8_3), + MRS_HWCAP(1, HWCAP_ILRCPC, ID_AA64ISAR1_LRCPC_RCPC_8_4), MRS_HWCAP_END }; @@ -778,7 +778,7 @@ static const struct mrs_field_value id_aa64isar1_fcma[] = { }; static const struct mrs_field_hwcap id_aa64isar1_fcma_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_FCMA, ID_AA64ISAR1_FCMA_IMPL), + MRS_HWCAP(1, HWCAP_FCMA, ID_AA64ISAR1_FCMA_IMPL), MRS_HWCAP_END }; @@ -788,7 +788,7 @@ static const struct mrs_field_value id_aa64isar1_jscvt[] = { }; static const struct mrs_field_hwcap id_aa64isar1_jscvt_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_JSCVT, ID_AA64ISAR1_JSCVT_IMPL), + MRS_HWCAP(1, HWCAP_JSCVT, ID_AA64ISAR1_JSCVT_IMPL), MRS_HWCAP_END }; @@ -804,7 +804,7 @@ static const struct mrs_field_value id_aa64isar1_api[] = { }; static const struct mrs_field_hwcap id_aa64isar1_api_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_PACA, ID_AA64ISAR1_API_PAC), + MRS_HWCAP(1, HWCAP_PACA, ID_AA64ISAR1_API_PAC), MRS_HWCAP_END }; @@ -820,7 +820,7 @@ static const struct mrs_field_value id_aa64isar1_apa[] = { }; static const struct mrs_field_hwcap id_aa64isar1_apa_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_PACA, ID_AA64ISAR1_APA_PAC), + MRS_HWCAP(1, HWCAP_PACA, ID_AA64ISAR1_APA_PAC), MRS_HWCAP_END }; @@ -832,8 +832,8 @@ static const struct mrs_field_value id_aa64isar1_dpb[] = { }; static const struct mrs_field_hwcap id_aa64isar1_dpb_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_DCPOP, ID_AA64ISAR1_DPB_DCCVAP), - MRS_HWCAP(&elf_hwcap2, HWCAP2_DCPODP, ID_AA64ISAR1_DPB_DCCVADP), + MRS_HWCAP(1, HWCAP_DCPOP, ID_AA64ISAR1_DPB_DCCVAP), + MRS_HWCAP(2, HWCAP2_DCPODP, ID_AA64ISAR1_DPB_DCCVADP), MRS_HWCAP_END }; @@ -900,7 +900,7 @@ static const struct mrs_field_value id_aa64isar2_apa3[] = { }; static const struct mrs_field_hwcap id_aa64isar2_apa3_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_PACA, ID_AA64ISAR2_APA3_PAC), + MRS_HWCAP(1, HWCAP_PACA, ID_AA64ISAR2_APA3_PAC), MRS_HWCAP_END }; @@ -910,7 +910,7 @@ static const struct mrs_field_value id_aa64isar2_gpa3[] = { }; static const struct mrs_field_hwcap id_aa64isar2_gpa3_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_PACG, ID_AA64ISAR2_GPA3_IMPL), + MRS_HWCAP(1, HWCAP_PACG, ID_AA64ISAR2_GPA3_IMPL), MRS_HWCAP_END }; @@ -1201,7 +1201,7 @@ static const struct mrs_field_value id_aa64mmfr2_at[] = { }; static const struct mrs_field_hwcap id_aa64mmfr2_at_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_USCAT, ID_AA64MMFR2_AT_IMPL), + MRS_HWCAP(1, HWCAP_USCAT, ID_AA64MMFR2_AT_IMPL), MRS_HWCAP_END }; @@ -1336,7 +1336,7 @@ static const struct mrs_field_value id_aa64pfr0_dit[] = { }; static const struct mrs_field_hwcap id_aa64pfr0_dit_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_DIT, ID_AA64PFR0_DIT_PSTATE), + MRS_HWCAP(1, HWCAP_DIT, ID_AA64PFR0_DIT_PSTATE), MRS_HWCAP_END }; @@ -1365,7 +1365,7 @@ static const struct mrs_field_value id_aa64pfr0_sve[] = { #if 0 /* Enable when we add SVE support */ static const struct mrs_field_hwcap id_aa64pfr0_sve_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_SVE, ID_AA64PFR0_SVE_IMPL), + MRS_HWCAP(1, HWCAP_SVE, ID_AA64PFR0_SVE_IMPL), MRS_HWCAP_END }; #endif @@ -1392,8 +1392,8 @@ static const struct mrs_field_value id_aa64pfr0_advsimd[] = { }; static const struct mrs_field_hwcap id_aa64pfr0_advsimd_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_ASIMD, ID_AA64PFR0_AdvSIMD_IMPL), - MRS_HWCAP(&elf_hwcap, HWCAP_ASIMDHP, ID_AA64PFR0_AdvSIMD_HP), + MRS_HWCAP(1, HWCAP_ASIMD, ID_AA64PFR0_AdvSIMD_IMPL), + MRS_HWCAP(1, HWCAP_ASIMDHP, ID_AA64PFR0_AdvSIMD_HP), MRS_HWCAP_END }; @@ -1404,8 +1404,8 @@ static const struct mrs_field_value id_aa64pfr0_fp[] = { }; static const struct mrs_field_hwcap id_aa64pfr0_fp_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_FP, ID_AA64PFR0_FP_IMPL), - MRS_HWCAP(&elf_hwcap, HWCAP_FPHP, ID_AA64PFR0_FP_HP), + MRS_HWCAP(1, HWCAP_FP, ID_AA64PFR0_FP_IMPL), + MRS_HWCAP(1, HWCAP_FPHP, ID_AA64PFR0_FP_HP), MRS_HWCAP_END }; @@ -1510,7 +1510,7 @@ static const struct mrs_field_value id_aa64pfr1_ssbs[] = { }; static const struct mrs_field_hwcap id_aa64pfr1_ssbs_caps[] = { - MRS_HWCAP(&elf_hwcap, HWCAP_SSBS, ID_AA64PFR1_SSBS_PSTATE), + MRS_HWCAP(1, HWCAP_SSBS, ID_AA64PFR1_SSBS_PSTATE), MRS_HWCAP_END }; @@ -1523,7 +1523,7 @@ static const struct mrs_field_value id_aa64pfr1_bt[] = { #if 0 /* Enable when we add BTI support */ static const struct mrs_field_hwcap id_aa64pfr1_bt_caps[] = { - MRS_HWCAP(&elf_hwcap2, HWCAP2_BTI, ID_AA64PFR1_BT_IMPL), + MRS_HWCAP(2, HWCAP2_BTI, ID_AA64PFR1_BT_IMPL), MRS_HWCAP_END }; #endif @@ -1636,7 +1636,7 @@ static const struct mrs_field_value id_isar5_crc32[] = { }; static const struct mrs_field_hwcap id_isar5_crc32_caps[] = { - MRS_HWCAP(&elf32_hwcap2, HWCAP32_2_CRC32, ID_ISAR5_CRC32_IMPL), + MRS_HWCAP(2, HWCAP32_2_CRC32, ID_ISAR5_CRC32_IMPL), MRS_HWCAP_END }; @@ -1646,7 +1646,7 @@ static const struct mrs_field_value id_isar5_sha2[] = { }; static const struct mrs_field_hwcap id_isar5_sha2_caps[] = { - MRS_HWCAP(&elf32_hwcap2, HWCAP32_2_SHA2, ID_ISAR5_SHA2_IMPL), + MRS_HWCAP(2, HWCAP32_2_SHA2, ID_ISAR5_SHA2_IMPL), MRS_HWCAP_END }; @@ -1656,7 +1656,7 @@ static const struct mrs_field_value id_isar5_sha1[] = { }; static const struct mrs_field_hwcap id_isar5_sha1_caps[] = { - MRS_HWCAP(&elf32_hwcap2, HWCAP32_2_SHA1, ID_ISAR5_SHA1_IMPL), + MRS_HWCAP(2, HWCAP32_2_SHA1, ID_ISAR5_SHA1_IMPL), MRS_HWCAP_END }; @@ -1667,8 +1667,8 @@ static const struct mrs_field_value id_isar5_aes[] = { }; static const struct mrs_field_hwcap id_isar5_aes_caps[] = { - MRS_HWCAP(&elf32_hwcap2, HWCAP32_2_AES, ID_ISAR5_AES_BASE), - MRS_HWCAP(&elf32_hwcap2, HWCAP32_2_PMULL, ID_ISAR5_AES_VMULL), + MRS_HWCAP(2, HWCAP32_2_AES, ID_ISAR5_AES_BASE), + MRS_HWCAP(2, HWCAP32_2_PMULL, ID_ISAR5_AES_VMULL), MRS_HWCAP_END }; @@ -1721,8 +1721,8 @@ static const struct mrs_field_value mvfr0_fpdp[] = { }; static const struct mrs_field_hwcap mvfr0_fpdp_caps[] = { - MRS_HWCAP(&elf32_hwcap, HWCAP32_VFP, MVFR0_FPDP_VFP_v2), - MRS_HWCAP(&elf32_hwcap, HWCAP32_VFPv3, MVFR0_FPDP_VFP_v3_v4), + MRS_HWCAP(1, HWCAP32_VFP, MVFR0_FPDP_VFP_v2), + MRS_HWCAP(1, HWCAP32_VFPv3, MVFR0_FPDP_VFP_v3_v4), MRS_HWCAP_END }; @@ -1759,7 +1759,7 @@ static const struct mrs_field_value mvfr1_simdfmac[] = { }; static const struct mrs_field_hwcap mvfr1_simdfmac_caps[] = { - MRS_HWCAP(&elf32_hwcap, HWCAP32_VFPv4, MVFR1_SIMDFMAC_IMPL), + MRS_HWCAP(1, HWCAP32_VFPv4, MVFR1_SIMDFMAC_IMPL), MRS_HWCAP_END }; @@ -1794,7 +1794,7 @@ static const struct mrs_field_value mvfr1_simdls[] = { }; static const struct mrs_field_hwcap mvfr1_simdls_caps[] = { - MRS_HWCAP(&elf32_hwcap, HWCAP32_VFPv4, MVFR1_SIMDFMAC_IMPL), + MRS_HWCAP(1, HWCAP32_VFPv4, MVFR1_SIMDFMAC_IMPL), MRS_HWCAP_END }; @@ -2148,14 +2148,18 @@ int64_t idcache_line_size; /* The minimum cache line size */ * Find the values to export to userspace as AT_HWCAP and AT_HWCAP2. */ static void -parse_cpu_features(void) +parse_cpu_features(bool is64bit, u_long *hwcap, u_long *hwcap2) { const struct mrs_field_hwcap *hwcaps; const struct mrs_field *fields; uint64_t min, reg; + u_long *cur_hwcap; int i, j, k; for (i = 0; i < nitems(user_regs); i++) { + if (user_regs[i].is64bit != is64bit) + continue; + reg = CPU_DESC_FIELD(user_cpu_desc, i); fields = user_regs[i].fields; for (j = 0; fields[j].type != 0; j++) { @@ -2163,7 +2167,14 @@ parse_cpu_features(void) if (hwcaps == NULL) continue; - for (k = 0; hwcaps[k].hwcap != NULL; k++) { + for (k = 0; hwcaps[k].hwcap_id != 0; k++) { + KASSERT(hwcaps[k].hwcap_id == 1 || + hwcaps[k].hwcap_id == 2, + ("%s: Invalid HWCAP ID %d", __func__, + hwcaps[k].hwcap_id)); + + cur_hwcap = hwcaps[k].hwcap_id == 1 ? + hwcap : hwcap2; min = hwcaps[k].min; /* @@ -2172,7 +2183,7 @@ parse_cpu_features(void) */ if (mrs_field_cmp(reg, min, fields[j].shift, 4, fields[j].sign) >= 0) { - *hwcaps[k].hwcap |= hwcaps[k].hwcap_val; + *cur_hwcap |= hwcaps[k].hwcap_val; } } } @@ -2205,7 +2216,11 @@ identify_cpu_sysinit(void *dummy __unused) } /* Find the values to export to userspace as AT_HWCAP and AT_HWCAP2 */ - parse_cpu_features(); + parse_cpu_features(true, &elf_hwcap, &elf_hwcap2); +#ifdef COMPAT_FREEBSD32 + parse_cpu_features(false, &elf32_hwcap, &elf32_hwcap2); +#endif + /* We export the CPUID registers */ elf_hwcap |= HWCAP_CPUID; From nobody Mon Feb 19 16:45:22 2024 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 4TdpLW1FFDz5C9G4; Mon, 19 Feb 2024 16:45: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 4TdpLW0HBfz4bwj; Mon, 19 Feb 2024 16:45:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V7DTNlFUsapXa/cdRuedil4O8Frm677gS5+qn0ZiA5s=; b=xIAnIIwjypp8pzpL3oWZiYSbx8w7w4vDnxQqqDDXsHnwHTjN/6Ob5Oz2llqWJF5Yx/3Gkw VohAAFYp0C1Ae8YcaitPKkID79ZaiHUePzpwFl0HD0jYUI76x8y2J3Kym8FMo9ZsWbuCvL pIInMjviXK4tHkb3iKrouVp9pls8nr6prwGqvs2Av3FQQhY2t74O8vVqdsDaaPCEvuVeCl RsEUCGX+RXxGL6foXjPHsvdO4qAXARPVw7EMELjn3VIFeX5yJ2t0YeY7HIYga8Q7NQTGT/ GeCcXKmblyDTlTsz8awbqKSpuECG4YAfJ3viissRQDN3ZkWo6wHVUGNf2BtR0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V7DTNlFUsapXa/cdRuedil4O8Frm677gS5+qn0ZiA5s=; b=XF50DS2+3NSGa3FK7SawdyhvqbhfrkuNPB97yqOQVcOl2jYM1LkfBdzH/eX7rKYZS4RSno ixutaI6jivva3TI/s9XPedcpPQWu8DbgfuRKqjFcVa8WHRjLhdG1NBw47jXAd4E6ZJWv+j 9KwXVpnzaA+0ZAjFx2oWYFx5W0qVvckaZQHULizU8FCwNgfZHzdEWyZZllgA2AIu5l0Hvn 2xi6MxAKDagk4ABbRJ4q0YfopFk8ciPjlW7pWPPP+8p0eiGmZlGK1/nsjuMYQI1/Lp15pJ sWePp5AEWAg4KMX8FDVd64JSXgzquLZZMUCuDQyzJKHIcHdYFWypU6eWiAERkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361123; a=rsa-sha256; cv=none; b=GtscSMSb+hefpKwRyzdtpTJOYAh0GWjvgevqUAzlaC50Du+azffY1KalkJoh8cQRFJiJ1W BFAKY41hC2eUmooxoJAQzBhR/ty1VPAWZ1NKDZEKRPgN/VFaBABu/j56lL7/msGs4crYez SlurSVI0fi/jndyh93u6f0ERRJuxRF3D9v7d77JKzTKb84es9P5Ak625C/7Nc+ailjHBlu eJRdY3uhhtQkfe4hbaxyNPy5NWziAtPLHR6DjuGbnq95dPVbe7RImA3OT3/U1l7EEVmIyO +YeStIREM5E6FobHTzKBxkWpzuJSNDWRqXhMX9PwgZul4Zq4SQb3kMe0jvRKUw== 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 4TdpLV4ztFzjQC; Mon, 19 Feb 2024 16:45: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 41JGjMRs096227; Mon, 19 Feb 2024 16:45:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjMAN096224; Mon, 19 Feb 2024 16:45:22 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:22 GMT Message-Id: <202402191645.41JGjMAN096224@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 082bc380936e - stable/14 - arm64: Create a Linux view of the ID registers 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 082bc380936e68e0fa37b3daa4269dc34c0735a9 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=082bc380936e68e0fa37b3daa4269dc34c0735a9 commit 082bc380936e68e0fa37b3daa4269dc34c0735a9 Author: Andrew Turner AuthorDate: 2023-10-25 12:34:38 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:13:49 +0000 arm64: Create a Linux view of the ID registers When adding support for new hardware extensions we may not want to enable support for the FreeBSD and Linux ABIs at the same time. To support this split the Linux ID register and hwcaps so they can be configured separately. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42372 (cherry picked from commit e6dbc99d47ddb254d75822817592bb82b5ce4d97) --- sys/arm64/arm64/elf_machdep.c | 3 ++ sys/arm64/arm64/identcpu.c | 86 +++++++++++++++++++++++++++++++----------- sys/arm64/include/md_var.h | 2 + sys/arm64/linux/linux_sysvec.c | 4 +- 4 files changed, 70 insertions(+), 25 deletions(-) diff --git a/sys/arm64/arm64/elf_machdep.c b/sys/arm64/arm64/elf_machdep.c index dd053d4d7847..66377464111f 100644 --- a/sys/arm64/arm64/elf_machdep.c +++ b/sys/arm64/arm64/elf_machdep.c @@ -56,6 +56,9 @@ u_long __read_frequently elf_hwcap; u_long __read_frequently elf_hwcap2; +/* TODO: Move to a better location */ +u_long __read_frequently linux_elf_hwcap; +u_long __read_frequently linux_elf_hwcap2; struct arm64_addr_mask elf64_addr_mask; diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 7acce7f5fc5b..d02be636ad50 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -33,10 +33,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include @@ -162,6 +164,7 @@ static struct cpu_desc cpu_desc0; static struct cpu_desc *cpu_desc; static struct cpu_desc kern_cpu_desc; static struct cpu_desc user_cpu_desc; +static struct cpu_desc l_user_cpu_desc; static struct cpu_desc * get_cpu_desc(u_int cpu) @@ -275,10 +278,12 @@ const struct cpu_implementers cpu_implementers[] = { }; #define MRS_TYPE_MASK 0xf +#define MRS_TYPE_FBSD_SHIFT 0 +#define MRS_TYPE_LNX_SHIFT 8 #define MRS_INVALID 0 #define MRS_EXACT 1 #define MRS_EXACT_VAL(x) (MRS_EXACT | ((x) << 4)) -#define MRS_EXACT_FIELD(x) ((x) >> 4) +#define MRS_EXACT_FIELD(x) (((x) >> 4) & 0xf) #define MRS_LOWER 2 struct mrs_field_value { @@ -341,17 +346,23 @@ struct mrs_field { u_int shift; }; -#define MRS_FIELD_HWCAP(_register, _name, _sign, _type, _values, _hwcap) \ +#define MRS_FIELD_HWCAP_SPLIT(_register, _name, _sign, _fbsd_type, \ + _lnx_type, _values, _hwcap) \ { \ .name = #_name, \ .sign = (_sign), \ - .type = (_type), \ + .type = ((_fbsd_type) << MRS_TYPE_FBSD_SHIFT) | \ + ((_lnx_type) << MRS_TYPE_LNX_SHIFT), \ .shift = _register ## _ ## _name ## _SHIFT, \ .mask = _register ## _ ## _name ## _MASK, \ .values = (_values), \ .hwcaps = (_hwcap), \ } +#define MRS_FIELD_HWCAP(_register, _name, _sign, _type, _values, _hwcap) \ + MRS_FIELD_HWCAP_SPLIT(_register, _name, _sign, _type, _type, \ + _values, _hwcap) + #define MRS_FIELD(_register, _name, _sign, _type, _values) \ MRS_FIELD_HWCAP(_register, _name, _sign, _type, _values, NULL) @@ -1911,7 +1922,10 @@ user_mrs_handler(vm_offset_t va, uint32_t insn, struct trapframe *frame, for (i = 0; i < nitems(user_regs); i++) { if (user_regs[i].CRm == CRm && user_regs[i].Op2 == Op2) { - value = CPU_DESC_FIELD(user_cpu_desc, i); + if (SV_CURPROC_ABI() == SV_ABI_FREEBSD) + value = CPU_DESC_FIELD(user_cpu_desc, i); + else + value = CPU_DESC_FIELD(l_user_cpu_desc, i); break; } } @@ -2064,12 +2078,32 @@ get_kernel_reg_masked(u_int reg, uint64_t *valp, uint64_t mask) return (false); } +static uint64_t +update_special_reg_field(uint64_t user_reg, u_int type, uint64_t value, + u_int shift, bool sign) +{ + switch (type & MRS_TYPE_MASK) { + case MRS_EXACT: + user_reg &= ~(0xful << shift); + user_reg |= (uint64_t)MRS_EXACT_FIELD(type) << shift; + break; + case MRS_LOWER: + user_reg = update_lower_register(user_reg, value, shift, 4, + sign); + break; + default: + panic("Invalid field type: %d", type); + } + + return (user_reg); +} + void update_special_regs(u_int cpu) { struct cpu_desc *desc; const struct mrs_field *fields; - uint64_t user_reg, kern_reg, value; + uint64_t l_user_reg, user_reg, kern_reg, value; int i, j; if (cpu == 0) { @@ -2080,6 +2114,8 @@ update_special_regs(u_int cpu) ID_AA64PFR0_FP_NONE | ID_AA64PFR0_EL1_64 | ID_AA64PFR0_EL0_64; user_cpu_desc.id_aa64dfr0 = ID_AA64DFR0_DebugVer_8; + /* Create the Linux user visible cpu description */ + memcpy(&l_user_cpu_desc, &user_cpu_desc, sizeof(user_cpu_desc)); } desc = get_cpu_desc(cpu); @@ -2088,33 +2124,33 @@ update_special_regs(u_int cpu) if (cpu == 0) { kern_reg = value; user_reg = value; + l_user_reg = value; } else { kern_reg = CPU_DESC_FIELD(kern_cpu_desc, i); user_reg = CPU_DESC_FIELD(user_cpu_desc, i); + l_user_reg = CPU_DESC_FIELD(l_user_cpu_desc, i); } fields = user_regs[i].fields; for (j = 0; fields[j].type != 0; j++) { - switch (fields[j].type & MRS_TYPE_MASK) { - case MRS_EXACT: - user_reg &= ~(0xful << fields[j].shift); - user_reg |= - (uint64_t)MRS_EXACT_FIELD(fields[j].type) << - fields[j].shift; - break; - case MRS_LOWER: - user_reg = update_lower_register(user_reg, - value, fields[j].shift, 4, fields[j].sign); - break; - default: - panic("Invalid field type: %d", fields[j].type); - } + /* Update the FreeBSD userspace ID register view */ + user_reg = update_special_reg_field(user_reg, + fields[j].type >> MRS_TYPE_FBSD_SHIFT, value, + fields[j].shift, fields[j].sign); + + /* Update the Linux userspace ID register view */ + l_user_reg = update_special_reg_field(l_user_reg, + fields[j].type >> MRS_TYPE_LNX_SHIFT, value, + fields[j].shift, fields[j].sign); + + /* Update the kernel ID register view */ kern_reg = update_lower_register(kern_reg, value, fields[j].shift, 4, fields[j].sign); } CPU_DESC_FIELD(kern_cpu_desc, i) = kern_reg; CPU_DESC_FIELD(user_cpu_desc, i) = user_reg; + CPU_DESC_FIELD(l_user_cpu_desc, i) = l_user_reg; } } @@ -2148,7 +2184,8 @@ int64_t idcache_line_size; /* The minimum cache line size */ * Find the values to export to userspace as AT_HWCAP and AT_HWCAP2. */ static void -parse_cpu_features(bool is64bit, u_long *hwcap, u_long *hwcap2) +parse_cpu_features(bool is64bit, struct cpu_desc *cpu_desc, u_long *hwcap, + u_long *hwcap2) { const struct mrs_field_hwcap *hwcaps; const struct mrs_field *fields; @@ -2160,7 +2197,7 @@ parse_cpu_features(bool is64bit, u_long *hwcap, u_long *hwcap2) if (user_regs[i].is64bit != is64bit) continue; - reg = CPU_DESC_FIELD(user_cpu_desc, i); + reg = CPU_DESC_FIELD(*cpu_desc, i); fields = user_regs[i].fields; for (j = 0; fields[j].type != 0; j++) { hwcaps = fields[j].hwcaps; @@ -2216,13 +2253,16 @@ identify_cpu_sysinit(void *dummy __unused) } /* Find the values to export to userspace as AT_HWCAP and AT_HWCAP2 */ - parse_cpu_features(true, &elf_hwcap, &elf_hwcap2); + parse_cpu_features(true, &user_cpu_desc, &elf_hwcap, &elf_hwcap2); + parse_cpu_features(true, &l_user_cpu_desc, &linux_elf_hwcap, + &linux_elf_hwcap2); #ifdef COMPAT_FREEBSD32 - parse_cpu_features(false, &elf32_hwcap, &elf32_hwcap2); + parse_cpu_features(false, &user_cpu_desc, &elf32_hwcap, &elf32_hwcap2); #endif /* We export the CPUID registers */ elf_hwcap |= HWCAP_CPUID; + linux_elf_hwcap |= HWCAP_CPUID; #ifdef COMPAT_FREEBSD32 /* Set the default caps and any that need to check multiple fields */ diff --git a/sys/arm64/include/md_var.h b/sys/arm64/include/md_var.h index e0f707f3d881..f9aaaeba7306 100644 --- a/sys/arm64/include/md_var.h +++ b/sys/arm64/include/md_var.h @@ -37,6 +37,8 @@ extern char sigcode[]; extern int szsigcode; extern u_long elf_hwcap; extern u_long elf_hwcap2; +extern u_long linux_elf_hwcap; +extern u_long linux_elf_hwcap2; #ifdef COMPAT_FREEBSD32 extern u_long elf32_hwcap; extern u_long elf32_hwcap2; diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index 4b5544841313..185c4f3044b1 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -456,8 +456,8 @@ struct sysentvec elf_linux_sysvec = { .sv_schedtail = linux_schedtail, .sv_thread_detach = linux_thread_detach, .sv_trap = NULL, - .sv_hwcap = &elf_hwcap, - .sv_hwcap2 = &elf_hwcap2, + .sv_hwcap = &linux_elf_hwcap, + .sv_hwcap2 = &linux_elf_hwcap2, .sv_onexec = linux_on_exec_vmspace, .sv_onexit = linux_on_exit, .sv_ontdexit = linux_thread_dtor, From nobody Mon Feb 19 16:45:23 2024 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 4TdpLX484sz5C9Nc; Mon, 19 Feb 2024 16:45: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 4TdpLX0254z4bqw; Mon, 19 Feb 2024 16:45:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sEmKfUdomJDwcViqsQNIPMYKLBFvg/cq+mooQRS5YeA=; b=UckflE9fg8XqPDMnzummgmz0/asvHfHWZhgQOrc91W1FS3gOkKO2jPlwI+FQdWqQl63Jrb qq3sCWQwR04i/tlzkHXF7eoNdvV4GL6Ejdky+nQepjmQ1L/Vr3AJ8Igue8lq68PYXct/m2 Rd1gl6MDCKfc2TYjZn7Zy1q/i7jQyslqCRa+n2bRZ9wjBb2VD8omc6hCjJaqfPACZ7KgTk cz2BbC8qSIBHU+VE2BRbOlJrf0vlpXEqRIoWih9igeYsDp0GiHo0nRio1Qk9SD0S7TBmqM hxTcHw8zjbh1EjakzIc4kFZyoiQDwNVEgH5Em81dA15gev/GFq2O11leOdGgLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sEmKfUdomJDwcViqsQNIPMYKLBFvg/cq+mooQRS5YeA=; b=pDPWR1gedRs76lzM9PJdJkFdi7vgTAZdY4NDlXqDBzt60zyCgANlm87gpoMM/zc0W/UJjM 4xOQdN8Q9D1oWxO33b+Lcy0ZjFMEwogHP55Z4CLk9qdKazYP+LuJKksaRpXxipZ04pewXI J8gRWzY2F9Q89KH5T7fNB475UoqGI+CSw6NOEcV56Qw1Zk8xesRi6vW27lO5M9PSq7SO1v CzkK50GIvYMvIT5zNlqLMLVNvsZjQVuZUkCkF/mkytucJ7DXYTgi969ufMcUR2b7aHDNtK 25WNh2amHISJk+3lQNdcDD7z/nHQdWwd0fjT1Q6LZ+Ko0FE0+u241RZ8truzKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361124; a=rsa-sha256; cv=none; b=TP26PMegX1v+K22AM4wpdpuDhRwXHLlkZCblS140zIbfmRg1t3eZaR4s+xdkXBkcaOURpV PFxn8Vw2z5nd6jZT9iZIFcvnnN0XeGuHsnqcRr9d7Tr3MkTj35J14q1vwHAzw6WqYpuYpe IRfw2ixfRYooBLOKWwfJ0kff7taX8sJp+PeNd5IZ/373FavPiDyjuZqn8DXJatkflfkjit nVY13oCepH1JPpT9Jb2U77PxhM6EBsQstiO2aec9ueF97V/mGbl6f9/TDRxd5Vinmt3Fia HcvfwvsuoQsRG0zYRDkrFk7s5ugJn7GHzX3Sgw0OG6VI4JB4SWqA6Jon/uCc4A== 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 4TdpLW6F2VzjSS; Mon, 19 Feb 2024 16:45: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 41JGjNvZ096279; Mon, 19 Feb 2024 16:45:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjNYh096276; Mon, 19 Feb 2024 16:45:23 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:23 GMT Message-Id: <202402191645.41JGjNYh096276@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 0cdf69c10504 - stable/14 - arm64: Expand HWCAP2 to be 64 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0cdf69c105040c8883f5fe467e6ce49f7df7b84b Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0cdf69c105040c8883f5fe467e6ce49f7df7b84b commit 0cdf69c105040c8883f5fe467e6ce49f7df7b84b Author: Andrew Turner AuthorDate: 2023-10-27 10:24:55 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:13:56 +0000 arm64: Expand HWCAP2 to be 64 bit There are more than 32 arm64 HWCAP2 values. Expand the macros to include leading zeros and mark them as unsigned long. Reviewed by: manu, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42378 (cherry picked from commit 0f0938800989dbf84a56c370db0b9379ee730a39) --- sys/arm64/include/elf.h | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/sys/arm64/include/elf.h b/sys/arm64/include/elf.h index 5a7698f0324d..04449b20a194 100644 --- a/sys/arm64/include/elf.h +++ b/sys/arm64/include/elf.h @@ -133,24 +133,24 @@ __ElfType(Auxinfo); #define HWCAP_PACG 0x80000000 /* HWCAP2 */ -#define HWCAP2_DCPODP 0x00000001 -#define HWCAP2_SVE2 0x00000002 -#define HWCAP2_SVEAES 0x00000004 -#define HWCAP2_SVEPMULL 0x00000008 -#define HWCAP2_SVEBITPERM 0x00000010 -#define HWCAP2_SVESHA3 0x00000020 -#define HWCAP2_SVESM4 0x00000040 -#define HWCAP2_FLAGM2 0x00000080 -#define HWCAP2_FRINT 0x00000100 -#define HWCAP2_SVEI8MM 0x00000200 -#define HWCAP2_SVEF32MM 0x00000400 -#define HWCAP2_SVEF64MM 0x00000800 -#define HWCAP2_SVEBF16 0x00001000 -#define HWCAP2_I8MM 0x00002000 -#define HWCAP2_BF16 0x00004000 -#define HWCAP2_DGH 0x00008000 -#define HWCAP2_RNG 0x00010000 -#define HWCAP2_BTI 0x00020000 +#define HWCAP2_DCPODP 0x0000000000000001ul +#define HWCAP2_SVE2 0x0000000000000002ul +#define HWCAP2_SVEAES 0x0000000000000004ul +#define HWCAP2_SVEPMULL 0x0000000000000008ul +#define HWCAP2_SVEBITPERM 0x0000000000000010ul +#define HWCAP2_SVESHA3 0x0000000000000020ul +#define HWCAP2_SVESM4 0x0000000000000040ul +#define HWCAP2_FLAGM2 0x0000000000000080ul +#define HWCAP2_FRINT 0x0000000000000100ul +#define HWCAP2_SVEI8MM 0x0000000000000200ul +#define HWCAP2_SVEF32MM 0x0000000000000400ul +#define HWCAP2_SVEF64MM 0x0000000000000800ul +#define HWCAP2_SVEBF16 0x0000000000001000ul +#define HWCAP2_I8MM 0x0000000000002000ul +#define HWCAP2_BF16 0x0000000000004000ul +#define HWCAP2_DGH 0x0000000000008000ul +#define HWCAP2_RNG 0x0000000000010000ul +#define HWCAP2_BTI 0x0000000000020000ul #ifdef COMPAT_FREEBSD32 /* ARM HWCAP */ From nobody Mon Feb 19 16:45:24 2024 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 4TdpLY3H7Dz5C9JC; Mon, 19 Feb 2024 16:45: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 4TdpLY0lslz4btn; Mon, 19 Feb 2024 16:45:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w5OV3jwNvmzvQlK7NXS9CUdO9DElkAEuNmMVsCGSwVs=; b=XoCk6OMZQpZ8EDwvfkIgBZhXU4FXEWfxYsKZ7JhQdLR5tpNj+olVaDnY2+Ld9/Aw41Xo90 7E1dLLGbWz5qXadLhgYbltqsqxUyekFIEi1OcoKrNXHyoJ0OrDFRXkTLoTAvv1tKQepGDe Q7fBLASEKvIXjUVqTG9hQWOSOksbBFiFRw380OMDG6QDbx8ZcbJPb4lkHdBWjpezdjfocR Tvv/H/VGf13FSzyV5UVXKTYLo2yPsMnwt9vPsCR1Z4QXSOrI8lkB9T8e9/pdc2aX//Ahd4 YA95JiJzX1e+J7c1kzstnoIAed2+2ZQ/orYaIlpJBrFEl7peoLS5jT4MqITphA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w5OV3jwNvmzvQlK7NXS9CUdO9DElkAEuNmMVsCGSwVs=; b=DfA5LT74DkC0PDCqK05YD3FktvgzfJ/jl9U8+i3WL28jZaYU6A6OB0+d4doys7XgFc/15x ygrOnnA5egaxF/I31M8mVnCrK8uFaTHADU0rpFAKYx5NPpv605mcF+wVRkct5g5CpjiZVQ 3ZzjNJePSJjTyn8T0Rd7apRAIjWT2r8KD2fb9qCEIaiw7BHRmP1Ivv+YIoNlb4oSn4Ni32 DbzrrrgnLGjDYz2XZ5PnuXklRqYbmxYdzcSMd6L6dZFX+I+PNymhwSdOmYnCIM4EjWGTTT /1QFE821uENbg0nRtxziwx8WJp3pMNMnnY0a3WqyoGhIw3a5/jMwl3G55qlhKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361125; a=rsa-sha256; cv=none; b=IRGQJSnLvmMk5y1bzrub7bQKpnK2lpp2WSFpMNe6B9lnqrrY+Y4/AGmOuNB0ZXx6RtCJmQ NQBIveQzJQNLwz1RQsmVJDU9qOKHwrtANjGj4QoArhlz7v8tE4WOdKdfbDL+aZNdmSV8VW YP9WuJPDhdParqeBhftAlSM6iKpMXX9695pNDOkQQZ+JnAeZ4XCP/eR7OEpskvK/4hqyqG rj/k6wRreuAK7wANoRQSGAhpIu4/Hzgp1LfUBt5bnhzVd0nOjJRSsFV82olW1KUTAiHjw0 HhNnwY2o4ReeY7dUq0J7s1W0qVCDddMun18DTG7BQHI+afb336AIZ9/9j7LbrA== 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 4TdpLX6zdQzj9W; Mon, 19 Feb 2024 16:45:24 +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 41JGjOGv096321; Mon, 19 Feb 2024 16:45:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjOjb096318; Mon, 19 Feb 2024 16:45:24 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:24 GMT Message-Id: <202402191645.41JGjOjb096318@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: a10099545e29 - stable/14 - arm64: Add more HWCAP2 values 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/stable/14 X-Git-Reftype: branch X-Git-Commit: a10099545e29ee19b55b409177afbd6d8c4f4373 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a10099545e29ee19b55b409177afbd6d8c4f4373 commit a10099545e29ee19b55b409177afbd6d8c4f4373 Author: Andrew Turner AuthorDate: 2023-10-27 10:42:08 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:14:03 +0000 arm64: Add more HWCAP2 values Update the HWCAP2 values to align with Linux v6.6-rc7 Reviewed by: manu, imp, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42379 (cherry picked from commit 2ee649c1dd5c41e93f02fdca8bba9279371e4efd) --- sys/arm64/include/elf.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/sys/arm64/include/elf.h b/sys/arm64/include/elf.h index 04449b20a194..9f9cd44ac9f7 100644 --- a/sys/arm64/include/elf.h +++ b/sys/arm64/include/elf.h @@ -151,6 +151,33 @@ __ElfType(Auxinfo); #define HWCAP2_DGH 0x0000000000008000ul #define HWCAP2_RNG 0x0000000000010000ul #define HWCAP2_BTI 0x0000000000020000ul +#define HWCAP2_MTE 0x0000000000040000ul +#define HWCAP2_ECV 0x0000000000080000ul +#define HWCAP2_AFP 0x0000000000100000ul +#define HWCAP2_RPRES 0x0000000000200000ul +#define HWCAP2_MTE3 0x0000000000400000ul +#define HWCAP2_SME 0x0000000000800000ul +#define HWCAP2_SME_I16I64 0x0000000001000000ul +#define HWCAP2_SME_F64F64 0x0000000002000000ul +#define HWCAP2_SME_I8I32 0x0000000004000000ul +#define HWCAP2_SME_F16F32 0x0000000008000000ul +#define HWCAP2_SME_B16F32 0x0000000010000000ul +#define HWCAP2_SME_F32F32 0x0000000020000000ul +#define HWCAP2_SME_FA64 0x0000000040000000ul +#define HWCAP2_WFXT 0x0000000080000000ul +#define HWCAP2_EBF16 0x0000000100000000ul +#define HWCAP2_SVE_EBF16 0x0000000200000000ul +#define HWCAP2_CSSC 0x0000000400000000ul +#define HWCAP2_RPRFM 0x0000000800000000ul +#define HWCAP2_SVE2P1 0x0000001000000000ul +#define HWCAP2_SME2 0x0000002000000000ul +#define HWCAP2_SME2P1 0x0000004000000000ul +#define HWCAP2_SME_I16I32 0x0000008000000000ul +#define HWCAP2_SME_BI32I32 0x0000010000000000ul +#define HWCAP2_SME_B16B16 0x0000020000000000ul +#define HWCAP2_SME_F16F16 0x0000040000000000ul +#define HWCAP2_MOPS 0x0000080000000000ul +#define HWCAP2_HBC 0x0000100000000000ul #ifdef COMPAT_FREEBSD32 /* ARM HWCAP */ From nobody Mon Feb 19 16:45:27 2024 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 4TdpLb6Tkvz5C9Qv; Mon, 19 Feb 2024 16:45: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 4TdpLb34B2z4cFh; Mon, 19 Feb 2024 16:45:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i4KTdyqQpJVh23Ra2TwxAxZaTjjNXsYXtLTgdHUgxRs=; b=eNcfyceUlaQklfOSnI5gXXXcLMmyJKLiR5HbilmX/nvVGpzE5ErN3XsaNCw8GpO4IJSBT+ jNdVG1lJZ9icBCYo0jLW7QJBQNryVnzSXSOAT6Umk2XDoAVznSei6nunrEc2u3f4VuVJma DiQ/wjYSku+5Nh5GHTtvgkqLcBl06gA8GbXPs/QjuHlvAERCM4NmwcLWqpX9COqKT3QbMO Aj3rn7BJg61BC0zaohX91HPIAWu7jOreshgPTxKZfCHnHWVovMlMCqdzFqopcGe/ESBTUp 8y8dTr2KFff0NCx8N2rXo6iIX2sN/QQZAjqkxhBsymQPuGevv1JPPUc2EqihJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i4KTdyqQpJVh23Ra2TwxAxZaTjjNXsYXtLTgdHUgxRs=; b=DIOx8+Jm1XzA1L/PUmxHfbaJW229c8ejehAfKrrWMvsWNNTO+TFmXHQj3SkxaKsg4Htxwr 7dhfQp8WiKdxBMEjz1pLwNPdxjeDucJP+wLIeVsNfCk6MXO/p+b5CdmUEfqJ+hulYrtynq RViB6Q+eCeVw/4trJG+9YgVJultItrV2nXDUuWL+MJqcVMyogIcm267ulPG1T8/I1jGAe5 ZsZbEoZVQsBuAahkED0TbRzYnwHY/x4IZFVGYXoFeo6sc8ud1I4vZrEGzP3lPRg5FFL7Qo KkE7/n0bzKhGDhfV4c+FnF5jT9zjnDw/THB5JZPhQNpRIM9PflkHSQPUccTU7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361127; a=rsa-sha256; cv=none; b=e1XRlDfiwdjMvqX1O1b+zCb5kzc4PnNWZFxxgEYcsIlkGI7mqv3jB9k6KmN3k0ZG7F0iVk UJoU8WvzGqwDNKuOlqX7aVMnZV9WDq/FQM1L4U2Ito/5VrdlYCJReZCc0Zh9pOGk0mynCo t7veoJnNKSqDF2t0rk24KUNWTlW9KWS6RFylzz7aGXQLwKba/yYcUVIxfShXIgZ+HsSxWL 7peZ+VSkeqULKih0J6me+corVGLWP9+X1vY95vykrrRkJKoJzb+U9rtOViKXDgTrPk4BCu 5qnnDcy4DyA07jKF7E4tIKlfDQMikcyNr8tXPD+tjFRjxDJp1dArlSXGd/jX+w== 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 4TdpLb27WnzjGv; Mon, 19 Feb 2024 16:45: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 41JGjR6T096435; Mon, 19 Feb 2024 16:45:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjRrS096432; Mon, 19 Feb 2024 16:45:27 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:27 GMT Message-Id: <202402191645.41JGjRrS096432@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 4dd61b21f9a0 - stable/14 - arm64: Use adrp + :lo12: to load globals from 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4dd61b21f9a0d2c49bb95e93a54333421070e41e Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4dd61b21f9a0d2c49bb95e93a54333421070e41e commit 4dd61b21f9a0d2c49bb95e93a54333421070e41e Author: Andrew Turner AuthorDate: 2023-11-11 09:27:30 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:14:16 +0000 arm64: Use adrp + :lo12: to load globals from asm When loading a global variable we can use a pseudo-instruction similar to "ldr, xn, =global" to load the address of the symbol. As this is unlikely to be supported by a mov instruction a pc-relative load is used, with the absolute address written at the end of the function so it will be loaded. This load can be partially replaced with an adrp instruction. This generates the address, aligned to a 4k boundary, using a pc-relative addition. Because the address is 4k-aligned we then update reading the global variable using a load with the offset of the load the low 12-bits of the global. Arm64 assemblers have :lo12: to support this, e.g. "ldr xn, [xn, :lo12:global]". The only remaining users of "ldr, xn, =global" that I can find are executed from the physical address space the kernel was loaded in and need an address in the kernels virtual address space. Because of this they can't use adrp. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42565 (cherry picked from commit 7eb26be9c8080686f64fdc0a28e5ae7839bbc82d) --- sys/arm64/arm64/cpufunc_asm.S | 7 ++++--- sys/arm64/arm64/locore.S | 4 ++-- sys/arm64/arm64/support.S | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/sys/arm64/arm64/cpufunc_asm.S b/sys/arm64/arm64/cpufunc_asm.S index 2b2ca6836530..8163e6c3d0d0 100644 --- a/sys/arm64/arm64/cpufunc_asm.S +++ b/sys/arm64/arm64/cpufunc_asm.S @@ -52,11 +52,12 @@ */ .macro cache_handle_range dcop = 0, ic = 0, icop = 0 .if \ic == 0 - ldr x3, =dcache_line_size /* Load the D cache line size */ + adrp x3, dcache_line_size /* Load the D cache line size */ + ldr x3, [x3, :lo12:dcache_line_size] .else - ldr x3, =idcache_line_size /* Load the I & D cache line size */ + adrp x3, idcache_line_size /* Load the I & D cache line size */ + ldr x3, [x3, :lo12:idcache_line_size] .endif - ldr x3, [x3] sub x4, x3, #1 /* Get the address mask */ and x2, x0, x4 /* Get the low bits of the address */ add x1, x1, x2 /* Add these to the size */ diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index ea5ce8e15ed2..f36ee5e75185 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -235,8 +235,8 @@ mp_virtdone: BTI_J /* Start using the AP boot stack */ - ldr x4, =bootstack - ldr x4, [x4] + adrp x4, bootstack + ldr x4, [x4, :lo12:bootstack] mov sp, x4 #if defined(PERTHREAD_SSP) diff --git a/sys/arm64/arm64/support.S b/sys/arm64/arm64/support.S index f4b35da88638..bb93cfd521e1 100644 --- a/sys/arm64/arm64/support.S +++ b/sys/arm64/arm64/support.S @@ -376,8 +376,8 @@ END(pagezero_simple) ENTRY(pagezero_cache) add x1, x0, #PAGE_SIZE - ldr x2, =dczva_line_size - ldr x2, [x2] + adrp x2, dczva_line_size + ldr x2, [x2, :lo12:dczva_line_size] 1: dc zva, x0 From nobody Mon Feb 19 16:45:26 2024 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 4TdpLZ3WHZz5C9JD; Mon, 19 Feb 2024 16:45: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 4TdpLZ1lcbz4c4L; Mon, 19 Feb 2024 16:45:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=upi38Ep4yrZTPQGBcUwE2TVnjHxo1P2IXM9M8KYtGDk=; b=abY/+P91pdCk8+akT082RmK3XjBFktPg+GXS+hZD8kyK+q4U5D8SlJ1l9n5G3Bchx5+stx D9Pcclxq9NUJ9ZQG0XaIcO36DSMpYJrPYcmUkMZfYI4m8kQB5DLXjQMSBqVKAicWfRUlib zU0zC7cEvBVrbYu0M5eUPn/OpLL94BtfknMb4IkOdkLlDFGnbCUlLTo7HhRqaWw6t7fsxI voM3s39EzUIbrEpFwZFIx3bT4bySToQ5+93Yr+ZcY9tkaxlG2C2Qj5Qy7VvCvpxyAZ18GO tGBgSr2cC96mc7WfQXDVdVWxkC4jKd7BinkKdBXkq0WoagEf51VxBkMG887cNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=upi38Ep4yrZTPQGBcUwE2TVnjHxo1P2IXM9M8KYtGDk=; b=Dxp0FtI4caXrOws5K01eMSS7vOEuD7u+YmRyP5WlI/POC2yu5K5FUcDmvHKpmbvsrMJL7n wU/lSMsZFisfgCB7LOE2ECAfNSoUrzlm75OgwdF3XmU+9b9CFcVpWLgEnGrwQSGs67CRsV cI8YhvL4egferQgZwLzRt/sXzveCNKQJXexROnk61w8HkFrR3++JmucTR4FEtzJMXlPaOG MCGp84oXmRDyeIFr2HeE38trFyYoVO4+rbEnizX/InwaoysH4kHB7WkOKAN6wLVuUctQcl xkI7j4CVvc+gfCAO2s7v3kmE+TgQLO0WR0as5EtPNuAX61Zp4vZa8hK3zkEktg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361126; a=rsa-sha256; cv=none; b=y3Gx4iM5vNaXZXG6Fv6huVP0dcIe3iWuzXOa8zPFWKSG08yN7jXZHIy5Yci77K5VRzNPAu v2IWnAnQtIbsQDh4wwBCH2wSYyxFqU75BSJMdIqUiYm0QqeyGcoeBSvu4+I1GKxBk6ppXg ik5t4nHLYfn/Qh+muSTbwq9IYDOQDKgXGw4Bshz770y3woSYcOoSTUOqchE7NNwmL+EPL+ OZOa88hQVwo5PeB3v/9kDEYxaMoRx3pvoyNparfU236FsEfN+H4Qop1WCK0wbg/klFRGzR oc9hz5dbsrJO+wZ0QmYQMTB8X8XlBvgY4FROWmIxZKzKy08FY+0ot65SIWrQBw== 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 4TdpLZ0sf9zjDR; Mon, 19 Feb 2024 16:45: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 41JGjQ7i096374; Mon, 19 Feb 2024 16:45:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjQFE096371; Mon, 19 Feb 2024 16:45:26 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:26 GMT Message-Id: <202402191645.41JGjQFE096371@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: eaa247c7f3df - stable/14 - arm64: Check if PSCI before calling SMCCC 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/stable/14 X-Git-Reftype: branch X-Git-Commit: eaa247c7f3dfe36cfe6a251019d416b418659cde Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=eaa247c7f3dfe36cfe6a251019d416b418659cde commit eaa247c7f3dfe36cfe6a251019d416b418659cde Author: Andrew Turner AuthorDate: 2023-10-30 14:33:08 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:14:10 +0000 arm64: Check if PSCI before calling SMCCC As SMCCC depends on PSCI check if the latter is present before calling the former. This fixes an issue where we may call into SMCCC when there is no PSCI in the system causing a smccc_version assert to fail. Reported by: stevek Reviewed by: emaste, imp, stevek Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42404 (cherry picked from commit 5a8417c78f9d51bf1103353bee348eaac83e86e5) --- sys/arm64/arm64/cpu_errata.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/arm64/arm64/cpu_errata.c b/sys/arm64/arm64/cpu_errata.c index fee22240bb0e..a03303d83044 100644 --- a/sys/arm64/arm64/cpu_errata.c +++ b/sys/arm64/arm64/cpu_errata.c @@ -40,6 +40,7 @@ #include +#include #include typedef void (cpu_quirk_install)(void); @@ -117,6 +118,9 @@ static struct cpu_quirks cpu_quirks[] = { static void install_psci_bp_hardening(void) { + /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */ + if (!psci_present) + return; if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_1) != SMCCC_RET_SUCCESS) return; @@ -140,6 +144,10 @@ install_ssbd_workaround(void) } } + /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */ + if (!psci_present) + return; + /* Enable the workaround on this CPU if it's enabled in the firmware */ if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_2) != SMCCC_RET_SUCCESS) return; From nobody Mon Feb 19 16:45:29 2024 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 4TdpLf0Fzpz5C9Nm; Mon, 19 Feb 2024 16:45: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 4TdpLd5QSZz4c2y; Mon, 19 Feb 2024 16:45:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eSJ5FBOYLCcpH0ocosWQ/1LtcKFZSO9KEUL92C7FZRU=; b=TdP1o2BkpaNgsb7JJI5+KQSCIIESDmRbnFUoyRBCi+znYumpNdyw2X4dply7+CFvSnftlL R1heRHap0h+akt8JAm/SaK8gdzYd5v2be++B5FWvcyYPGwL+3ixIzdQGj9/LlXCFzqscQF 4EUAACzJhVmCguwIngK9uW98NX2ZBSrJfjHsSyGhdFXL4KoKncXKtEbFDINl+lBRfRTeaG 3JaNb0C8Ssblz57XMQrzvR7hpmws3Ic8vK9CThNMIpdFrfpv6RV1sfZkmB/zYtNdJcVFhw D1npRzOYwRiGSnEK0rnSDVA1iISar2xCipwNCVrtt2u87FnxV7wROmlXXXLhtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eSJ5FBOYLCcpH0ocosWQ/1LtcKFZSO9KEUL92C7FZRU=; b=aFBOrvpHTKngj2PA5Lmn4bQodOAiEI5SPDNWDFt7Pn8TksacpKFvPFgehvCekWp4mbdien kr/bc+bvVdruQxk5rYbQa7vjZl0Mj4Kpotnty0iAJ2J/TzNTs/bdmuFR0Tv2gjUduig+rk et8mELQ5XyAkv5tH2JFyZcO/qjkNrYcKQka0AO7WlWymvZoefBaVgQVEi73uLn8gdQUMz3 2h//IgFBRgyfcKwendzE+GwmCLLtuoVl7IV/NhvFkmmJe1DQG2HXF1jpobQmGcaiKvpKeZ g9D3GAscyJd4RjuMA8j8dA2OEYQecCtHvPaICtaezGDqxa1C4a53ih+cOBKxgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361129; a=rsa-sha256; cv=none; b=O/ZU7/LAwN38P8Q2gKXG0UK8eawZoC6ZThXsqsm9/Kkt7nawoUZbuVNsTyVXCnfy4kjAh+ Gbodj8k7vnmV+mgF4ricrA48vbRE+gxeZXiOWzQXjK7AZcyakSZVWY67pl4/d20VAbwEM6 SgNzUwKtpOkWG/Watc/2mIGX35LH4Y8vgeyQiEjkgG9jxkwpQHSMoMoTD3VVzRDgkyQRSX 5yEFbO+HV8x0D8ClW0i37wYoC9VtHjtQC/RmAASq+V9kjgizx6hhaeywcbfXJD3OjAHUO8 LwoN+CaV/FWI8tV89+S9RAbxsRAC63fT36+wQNQbTP6AmJMmdNlbhxR05iIyfQ== 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 4TdpLd4XMgzjQD; Mon, 19 Feb 2024 16:45: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 41JGjTM7096534; Mon, 19 Feb 2024 16:45:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjTpJ096531; Mon, 19 Feb 2024 16:45:29 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:29 GMT Message-Id: <202402191645.41JGjTpJ096531@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: a46059e45f4a - stable/14 - arm64: Make kern_delta unneeded in the boot params 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/stable/14 X-Git-Reftype: branch X-Git-Commit: a46059e45f4a6c3001468774e10af9d41c9f4966 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a46059e45f4a6c3001468774e10af9d41c9f4966 commit a46059e45f4a6c3001468774e10af9d41c9f4966 Author: Andrew Turner AuthorDate: 2023-11-13 15:29:30 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:17:09 +0000 arm64: Make kern_delta unneeded in the boot params Use pmap_early_vtophys to translate from a virtual to physical where we were previously using the calculated delta. This means that, while we still calculate it, we don't need to pass it to initarm or either pmap bootstrap functions. While here remove an unneeded printf that indirectly used it or was related to the previous printf. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42567 (cherry picked from commit ba31362694fe465b88a025ac7c35ad7f378efc86) (cherry picked from commit f3a83b3a6257ea0fd5aba66ff42218350228b321) --- sys/arm64/arm64/genassym.c | 1 - sys/arm64/arm64/locore.S | 15 ++++----------- sys/arm64/arm64/machdep.c | 2 +- sys/arm64/arm64/pmap.c | 12 +++--------- sys/arm64/include/machdep.h | 1 - sys/arm64/include/pmap.h | 2 +- 6 files changed, 9 insertions(+), 24 deletions(-) diff --git a/sys/arm64/arm64/genassym.c b/sys/arm64/arm64/genassym.c index 0fb00d8aceba..d4970177ab71 100644 --- a/sys/arm64/arm64/genassym.c +++ b/sys/arm64/arm64/genassym.c @@ -40,7 +40,6 @@ ASSYM(BOOTPARAMS_SIZE, roundup2(sizeof(struct arm64_bootparams), STACKALIGNBYTES + 1)); ASSYM(BP_MODULEP, offsetof(struct arm64_bootparams, modulep)); -ASSYM(BP_KERN_DELTA, offsetof(struct arm64_bootparams, kern_delta)); ASSYM(BP_KERN_STACK, offsetof(struct arm64_bootparams, kern_stack)); ASSYM(BP_KERN_TTBR0, offsetof(struct arm64_bootparams, kern_ttbr0)); ASSYM(BP_BOOT_EL, offsetof(struct arm64_bootparams, boot_el)); diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index f36ee5e75185..ee3404958789 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -82,11 +82,10 @@ ENTRY(_start) msr contextidr_el1, xzr /* Get the virt -> phys offset */ - bl get_virt_delta + bl get_load_phys_addr /* * At this point: - * x29 = PA - VA * x28 = Our physical load address */ @@ -141,11 +140,7 @@ virtdone: sub sp, sp, #BOOTPARAMS_SIZE mov x0, sp - /* Negate the delta so it is VA -> PA */ - neg x29, x29 - str x1, [x0, #BP_MODULEP] - str x29, [x0, #BP_KERN_DELTA] adrp x25, initstack add x25, x25, :lo12:initstack str x25, [x0, #BP_KERN_STACK] @@ -367,11 +362,9 @@ LENTRY(drop_to_el1) LEND(drop_to_el1) /* - * Get the delta between the physical address we were loaded to and the - * virtual address we expect to run from. This is used when building the - * initial page table. + * Get the physical address the kernel was loaded at. */ -LENTRY(get_virt_delta) +LENTRY(get_load_phys_addr) /* Load the physical address of virt_map */ adrp x29, virt_map add x29, x29, :lo12:virt_map @@ -387,7 +380,7 @@ LENTRY(get_virt_delta) .align 3 virt_map: .quad virt_map -LEND(get_virt_delta) +LEND(get_load_phys_addr) /* * This builds the page tables containing the identity map, and the kernel diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 7aa20357acf4..01896c15e650 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -957,7 +957,7 @@ initarm(struct arm64_bootparams *abp) pan_setup(); /* Bootstrap enough of pmap to enter the kernel proper */ - pmap_bootstrap(KERNBASE - abp->kern_delta, lastaddr - KERNBASE); + pmap_bootstrap(lastaddr - KERNBASE); /* Exclude entries needed in the DMAP region, but not phys_avail */ if (efihdr != NULL) exclude_efi_map_entries(efihdr); diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index d9d224f44fb6..b372295d5d43 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1258,22 +1258,16 @@ pmap_bootstrap_allocate_kasan_l2(vm_paddr_t start_pa, vm_paddr_t end_pa, * Bootstrap the system enough to run with virtual memory. */ void -pmap_bootstrap(vm_paddr_t kernstart, vm_size_t kernlen) +pmap_bootstrap(vm_size_t kernlen) { vm_offset_t dpcpu, msgbufpv; vm_paddr_t start_pa, pa, min_pa; - uint64_t kern_delta; int i; /* Verify that the ASID is set through TTBR0. */ KASSERT((READ_SPECIALREG(tcr_el1) & TCR_A1) == 0, ("pmap_bootstrap: TCR_EL1.A1 != 0")); - kern_delta = KERNBASE - kernstart; - - printf("pmap_bootstrap %lx %lx\n", kernstart, kernlen); - printf("%lx\n", (KERNBASE >> L1_SHIFT) & Ln_ADDR_MASK); - /* Set this early so we can use the pagetable walking functions */ kernel_pmap_store.pm_l0 = pagetable_l0_ttbr1; PMAP_LOCK_INIT(kernel_pmap); @@ -1288,7 +1282,7 @@ pmap_bootstrap(vm_paddr_t kernstart, vm_size_t kernlen) kernel_pmap->pm_asid_set = &asids; /* Assume the address we were loaded to is a valid physical address */ - min_pa = KERNBASE - kern_delta; + min_pa = pmap_early_vtophys(KERNBASE); physmap_idx = physmem_avail(physmap, nitems(physmap)); physmap_idx /= 2; @@ -1316,7 +1310,7 @@ pmap_bootstrap(vm_paddr_t kernstart, vm_size_t kernlen) */ bs_state.table_attrs &= ~TATTR_PXN_TABLE; - start_pa = pa = KERNBASE - kern_delta; + start_pa = pa = pmap_early_vtophys(KERNBASE); /* * Create the l2 tables up to VM_MAX_KERNEL_ADDRESS. We assume that the diff --git a/sys/arm64/include/machdep.h b/sys/arm64/include/machdep.h index 026a64e0a350..80cb28bcfbeb 100644 --- a/sys/arm64/include/machdep.h +++ b/sys/arm64/include/machdep.h @@ -31,7 +31,6 @@ struct arm64_bootparams { vm_offset_t modulep; - uint64_t kern_delta; vm_offset_t kern_stack; vm_paddr_t kern_ttbr0; uint64_t hcr_el2; diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index e7d23dfb2844..4b4d47ccc7af 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -144,7 +144,7 @@ extern vm_offset_t virtual_end; #define pmap_vm_page_alloc_check(m) void pmap_activate_vm(pmap_t); -void pmap_bootstrap(vm_paddr_t, vm_size_t); +void pmap_bootstrap(vm_size_t); int pmap_change_attr(vm_offset_t va, vm_size_t size, int mode); int pmap_change_prot(vm_offset_t va, vm_size_t size, vm_prot_t prot); void pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode); From nobody Mon Feb 19 16:45:28 2024 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 4TdpLc6Sptz5C9JH; Mon, 19 Feb 2024 16:45: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 4TdpLc4BBlz4cG5; Mon, 19 Feb 2024 16:45:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dw6t8aetYbIkVzF6AjeuksO/kJI1ZGhuIDh9jWRmNgQ=; b=YbUWoEGFBJkYfHCDnsPpRRzWr9Z7YqVc6GmcoMzoZIpAZMZ0utmRv+gOftIZ+N7IkqNSf3 r1vIOWQxLWdYk2HOQhld0bo60IzbHXx2bRpgcSe55TdidgOGfNHfsWuaS3afaqEClcP+ns BJ5GgENoQuE/uHmQCkM+cz/CV0IgDH9Mx/mhD2yZORw6JeW1wtynP4vOdNo06MLwMNFFTc YfZjGT6baXc1BxPxhqGVD9cshuVLHlXhKM8bkHlozwuX0nExk0VfQJWUhNv9P4jCZTZhu/ N/cQik+qcS8mIepLKhxPhpSKHsgkABVDkutj+SiWe1WHjE70R3j+B6jXs7zUXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dw6t8aetYbIkVzF6AjeuksO/kJI1ZGhuIDh9jWRmNgQ=; b=wi4tlv1LNkjokL9K8GoPtyMxEcVX7E1OSUiFj5c/P2eZyeB8zvznRvvzl+A2X+fgyEeccK JpAheC9qUyYPfDTY2vTx3kMf7jOcVqko+snSH0SN2XtlTnUG6nPNkECzp3JfYMDLBjlRFY UVfXoN7j9AoSqYGQlT7t3jmbu5iKakIPA6358qkhafBLLTI4O/tIMoGFv1NQLcc5LSwYqL +o9DYEL1OEZBtpli2LDD/kOwDwOP8rSfm95bY9omEk6K3FPGcYGuxgX2D8xuA616TokHEX oesAUQ7r9WQmdc2GlXKp066XKGkZqQM0dcnlLUjFCkmGXjps56a+ANqXfVER5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361128; a=rsa-sha256; cv=none; b=KP5Enejhj2IAqoemvE0NR3K9IQfTlMLZlUqQO8jO4lKJAYRiKv806sbtjrRnQHb6teS686 PmF4cYkYSyKxfaCFV6r3JiWoBq3GivRX83LLjrxduo385219O+DYMw1NNIQXHsChy/CUnH hXvLZuV2NNeEc5xMYOxb/BNKpw8MhuZIuK7IuT9Zo6LHtJ2PCQNPRj9DGpgYAo5jSEemJL bF6cdXMH8cViQBZiNu/oCIqQsXDQEQTJNJ3QkUo7nUkcSZ5XwYNsvvW/R71ytrMdAqsBUt DXUTxrE1qwnqJELqdvBY80h/aMLgXsReeGbpCSthfqiL+RGwaIuVqpkTRGH34g== 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 4TdpLc3Hjyzj6h; Mon, 19 Feb 2024 16:45: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 41JGjS3w096480; Mon, 19 Feb 2024 16:45:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjSB3096477; Mon, 19 Feb 2024 16:45:28 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:28 GMT Message-Id: <202402191645.41JGjSB3096477@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 88227ddc7536 - stable/14 - arm64: Use pmap_early_vtophys in pmap_bootstrap_san 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 88227ddc7536db86a8dd8896061c5e2e8da84cb3 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=88227ddc7536db86a8dd8896061c5e2e8da84cb3 commit 88227ddc7536db86a8dd8896061c5e2e8da84cb3 Author: Andrew Turner AuthorDate: 2023-11-13 16:34:56 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:14:59 +0000 arm64: Use pmap_early_vtophys in pmap_bootstrap_san Use pmap_early_vtophys to find the physical address of the kernel base rather than using the calculated offset as it will be removed in a latter commit. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42566 (cherry picked from commit 5fae53589eacbf65855419922c881b3a25a68e03) --- sys/arm64/arm64/machdep.c | 2 +- sys/arm64/arm64/pmap.c | 5 ++++- sys/arm64/include/pmap.h | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index bb7689c19101..7aa20357acf4 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -973,7 +973,7 @@ initarm(struct arm64_bootparams *abp) * segments also get excluded from phys_avail. */ #if defined(KASAN) - pmap_bootstrap_san(KERNBASE - abp->kern_delta); + pmap_bootstrap_san(); #endif physmem_init_kernel_globals(); diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 9849a58dd070..d9d224f44fb6 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1365,11 +1365,14 @@ pmap_bootstrap(vm_paddr_t kernstart, vm_size_t kernlen) * - Map that entire range using L2 superpages. */ void -pmap_bootstrap_san(vm_paddr_t kernstart) +pmap_bootstrap_san(void) { vm_offset_t va; + vm_paddr_t kernstart; int i, shadow_npages, nkasan_l2; + kernstart = pmap_early_vtophys(KERNBASE); + /* * Rebuild physmap one more time, we may have excluded more regions from * allocation since pmap_bootstrap(). diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index bb226df2099c..e7d23dfb2844 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -192,7 +192,7 @@ pmap_vmspace_copy(pmap_t dst_pmap __unused, pmap_t src_pmap __unused) #if defined(KASAN) || defined(KMSAN) struct arm64_bootparams; -void pmap_bootstrap_san(vm_paddr_t); +void pmap_bootstrap_san(void); void pmap_san_enter(vm_offset_t); #endif From nobody Mon Feb 19 16:45:30 2024 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 4TdpLg2Dllz5C9GG; Mon, 19 Feb 2024 16:45: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 4TdpLf6Zpbz4cD0; Mon, 19 Feb 2024 16:45:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ljeSXx62t4QDqpt59qybtBAzNqwDL5ms9Acgw1+M21M=; b=EICl4nkX+7Oi73tY5i1LnuZVP7qCxHbWtOowK059X++OkHPJGKSMXTSHdVwt6dh2S2s1Fk 0rNYaxBlUMdf6wm6xAuPV9em7+gVD14clSbnISgO5xrAJD552eUC6w3FiWEhYeKYTjW4e0 AjhO7/gQtA5kEMDwpKVHHySy69QVLoxFoQKjzY2kMeTp4JUyx9Q44dfzvfzd7IdZydliW2 VA1C4YTHBffPShQ8ENN1j8AT/w1nWeiQx2CwDhXErzNMIoeAhWvM5a2mzIJ5KpNJHUoTkJ n2XjNm9qq3HMXngw9cR3vFGk52knz9SdNufp/bLUgaTeka25hWE2SBbH0cFfgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ljeSXx62t4QDqpt59qybtBAzNqwDL5ms9Acgw1+M21M=; b=btfMF7D3/aJUbaYHGW6Q96HI3es+xJmvkd2/7Npy2sMkUq+WU6NyULfvUHnQUIG9683Y/9 /OLH7n6H1lspiDGpIXNaE7StJbkMnv2J+15KXToj5qJzHkr41QxqcQ4dPVlmMUtJlqGca7 cVOAAR0k7AlZ9Qgu4R1JFLYplQt6h2x9dyuNQNFyDnSJXcXLH6qgZ3/RQdWegWEDL0MnJY c/Kw/s8bHf3uQSW5QEFOgi5N9UpUBnnEvDJcjdEO9IRtNiztmQyz8LZhg2OzM0SMc5T6J/ X1EqyMTpjFtpvXepAgPNkRK1tiUN2zSYFKV4PvQp1H8JDusmyP3eYXdo15RzIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361130; a=rsa-sha256; cv=none; b=eVu2CjQo6sMD55KQTZ/85EYiCXyftxZ6xhD+PyII928iNUttwPNZLguPQTnskSOcp0MZUO hXwAR7xzRn6pNYl/eyxqrCWDlia29OIkzWD1M41Jc4JCe9i3R/W+weprk6r3QEUOPE6+l/ 8YtUvQAAfUURNOkdIisj1Ws1SCP+IubAUYg1ARZ7XzfJ3CWHuXLszn/EdRH75auytoTuX6 /bndlrx5S8cLzAsh0P/dfQCrfkRprVm63B6HBwMltIjL8auBy2iJaLB672RyANcUx25ns9 DVMBQAUVoELX3Cq79zU4oPGM6o4khlt2IkM268z3IO6vnMxYVE5TIvfT9z7Upg== 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 4TdpLf5WblzjST; Mon, 19 Feb 2024 16:45: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 41JGjURZ096582; Mon, 19 Feb 2024 16:45:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjUkn096579; Mon, 19 Feb 2024 16:45:30 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:30 GMT Message-Id: <202402191645.41JGjUkn096579@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 54cf1499a33a - stable/14 - arm64: Clean up finding our load address 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 54cf1499a33af463c656a2fb6555cfb5a1f2afa0 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=54cf1499a33af463c656a2fb6555cfb5a1f2afa0 commit 54cf1499a33af463c656a2fb6555cfb5a1f2afa0 Author: Andrew Turner AuthorDate: 2023-11-13 15:39:06 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:17:18 +0000 arm64: Clean up finding our load address Use the linker to pre-calculate the offset of a known symbol from KERNBASE, and use this to find the physical address KERNBASE should map to. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42568 (cherry picked from commit 61f14f1da37b4e6db8f9efe40c6b544c855fb9bd) (cherry picked from commit 257b04454818c80d9b85a840e3ea8db1ea891265) --- sys/arm64/arm64/locore.S | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index ee3404958789..f7e0b4023aed 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -365,21 +365,13 @@ LEND(drop_to_el1) * Get the physical address the kernel was loaded at. */ LENTRY(get_load_phys_addr) - /* Load the physical address of virt_map */ - adrp x29, virt_map - add x29, x29, :lo12:virt_map - /* Load the virtual address of virt_map stored in virt_map */ - ldr x28, [x29] - /* Find PA - VA as PA' = VA' - VA + PA = VA' + (PA - VA) = VA' + x29 */ - sub x29, x29, x28 - /* Find the load address for the kernel */ - mov x28, #(KERNBASE) - add x28, x28, x29 + /* Load the offset of get_load_phys_addr from KERNBASE */ + ldr x28, =(get_load_phys_addr - KERNBASE) + /* Load the physical address of get_load_phys_addr */ + adr x29, get_load_phys_addr + /* Find the physical address of KERNBASE, i.e. our load address */ + sub x28, x29, x28 ret - - .align 3 -virt_map: - .quad virt_map LEND(get_load_phys_addr) /* From nobody Mon Feb 19 16:45:31 2024 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 4TdpLh4QMhz5C9Nr; Mon, 19 Feb 2024 16:45: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 4TdpLh0ZwTz4c9v; Mon, 19 Feb 2024 16:45:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9WIASPYbXjP9rFUdM8rwOxtQvYhGIBCXfDLXqYIF31A=; b=F2IFfICMWwl/u1t0L199AGI6F7jHWb9L5kCz7Q+qdwI23km0UAc5Wm+GZX36T0JuUnp2ed uHBw1iYzEQPczUwLapNdN8Uue8LcOChPSXNCpqmaiMGLfZ+6CsWa33tgX05ggPPNRwK2J1 Y+SeDbfK//L3bb7Le00BPxcSNox1HChfnHmkedrUTN+zAg/I9GxWTl2vfWhOhUvrZj3Sxs p+L2dYeNdJdj760PRiayFx4QoTMRlpsu81Oxk9q9q13Co6QkRwWK7KKV2YKjBIsiafyykE 03Au61B8feghxuiltqjrhf+hC3QFLlv4uyXfzFSIUq4Gz2yr4GGvexcghNS/kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9WIASPYbXjP9rFUdM8rwOxtQvYhGIBCXfDLXqYIF31A=; b=dZ49QKDg73Oz4iV6P7PuJQz7BX1kJXUkryFzLuDBBAmsS9Rxv9nJIW47mWdzI2GOh1gR8n LGBJZ48OuXVgDqHD59i3lzdc6gsdsrTzhjseehEobigPvbdp1JiBDbkWFQZ4Ghg4Pbyl3b Cl0P2q7YmOpDBtliiWxc5SYlHw9zRK3FddHexOm4pMNWQPCzir95c8rjTnNAF07Phqu2KH xwdQsiei1qVpFERnBAhtGgWz7lSeXTKrwAnhn9uBS/t7qh1Tq2W5VjvTprHXjYJUWjl76c m88m3Ssc8KvweEZDtT/O0PcprRNAUSxd8hlj8VR8KerB/8xR1jyBaqan6782PA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361132; a=rsa-sha256; cv=none; b=DgA6KDDb/Zb/S+Icb4jZb2+YMncIaVtQg8+k0sYp0gma7PINNAOtcUupVmbpUKljcUeK5n SOXAmCXAjLkqtUygeMlDOwrHaQ5y86JM4BiCYCSDp2lxC0GToYpyhN4n/1qJ33+S+Qz2N4 d6AgPWJrDaYIH+LkK8s3Nt3klSHFC//9Pjz9q08+6XDr54pYUjs28Lf2jZcu5EbmrUc0Sj Iv/NWNhzPXwap0C6t5ZsF32qCtbAkK1y7XommXlCO2yGaMfRprCyQQwEOqbqoSqs6yiCjI JxVGL1GWWZ4l1xVyrKyPAttYh8mEeXmGhv9tBF56wzXJOO8YyWHAbISbkxlGvg== 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 4TdpLg6nrqzjDS; Mon, 19 Feb 2024 16:45: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 41JGjVR3096633; Mon, 19 Feb 2024 16:45:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjV9F096630; Mon, 19 Feb 2024 16:45:31 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:31 GMT Message-Id: <202402191645.41JGjV9F096630@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: bce8a0ba1506 - stable/14 - 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/stable/14 X-Git-Reftype: branch X-Git-Commit: bce8a0ba15063186774aeb8207587884e68c38dd Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=bce8a0ba15063186774aeb8207587884e68c38dd commit bce8a0ba15063186774aeb8207587884e68c38dd Author: Andrew Turner AuthorDate: 2023-10-12 14:22:18 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:17:37 +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 (cherry picked from commit fd5aaf2ea0178b03aa93c35245053247e5d3840c) --- 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 8cb5f54e2969..4e3ac43b2b80 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -131,12 +131,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} @@ -144,6 +150,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 Mon Feb 19 16:45:34 2024 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 4TdpLk4y51z5C9Wn; Mon, 19 Feb 2024 16:45: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 4TdpLk31b6z4cH4; Mon, 19 Feb 2024 16:45:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lH3Whj39SQn9EOFPJGjPZkGa0U1ww6Tsp6QXKUbmPRU=; b=s6wGjgXv7rQAGV5eBwFjJ4DFJdvS3lXW7V9QmZa2EAbc/epMvlakg3UbyJYjjrxmLX2lLj DaaxHF/ruXlA93qeMlga7z4/B1nD+LLuSFzLttchllPyarpzh7Cm8i/cjemmOfU0S+mrxG ZHTM3CiCPU05ZJ9nTv8IrmnafFGOvkx+eYRac9J1958t6lW3+0xnvsyJ4QmUMiMOqjuYeP LoKFnTYbO4TE8yosYGjVx36bofnLiv2iUFDXEA9nSDiHZ4k0WifcxX6AeBobNld1j7evAT mdmzOmXCSsgAbpaoYQYvqz2LVdpa6kcH2WTHduiyf36t6uye+my9YjrhDZfpTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lH3Whj39SQn9EOFPJGjPZkGa0U1ww6Tsp6QXKUbmPRU=; b=jAkNmAG0iUJEKPuDzGgGs5udgqLF7Qn3s35MQAVAnq/nOb+5rbpd01Yz+MWLy/lyO6DCc3 tOdtXmKIPA+D1OoBeIPU1VdwQVPWyjQBlDPDiJB5XcLxaFxAe3wtuktCZ7Hz7rPKUNcGAa rzwF3q3+rZeqloARtT2PFcETFDZAPqnBiUZN9zdn5kHYj3DGIo8KMalww+Rkd984RKbysn +beS5vE0siCXH6clbu+oNnWFVCHgzA5M34VlfmedSiMXzRsJDm0Ha5j9ze7YxJ9ulkXlDT wQhz6SXxlLSBcl2lp8QKVmitGFj7jXlHf+RoXN3WY3dFxExfveomWKog9DAu6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361134; a=rsa-sha256; cv=none; b=fnRo8upF3tiivr9RsrkZ+MWSjd7xiEmOCRThuITFMYfPD0FppovSR6vHSyOa9YzUvjF/CJ HuJ12VQjW0+9pellrB59JwJZBvkqoZbtRaeYbRw6DIfrh3R9tNx5/i/PyP3oJcIY5vns/G UEOyBsyo3wiQXHOitDC7yJ3BwbNGYT9/GnEUq+i2vnOmFskvZoEcCqCXBY2sEUa4Aqdi0E c1d0J67R40fQghcCaUfw+6qQnJhkRqZarEfhQP8NiVcEy1X0L3a60IeVvWAC7+uzHHbokz 8z4bvNhZALsm74k2gxoDvNB+wAL1jCB2f7hiQKTOyEoTSbwsTaAd0zCrhD8F0A== 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 4TdpLk26dczjGx; Mon, 19 Feb 2024 16:45: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 41JGjYvC096737; Mon, 19 Feb 2024 16:45:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjYg1096734; Mon, 19 Feb 2024 16:45:34 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:34 GMT Message-Id: <202402191645.41JGjYg1096734@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: f8c7bbd1c93f - stable/14 - dev/uart: Support 8-byte register access 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/stable/14 X-Git-Reftype: branch X-Git-Commit: f8c7bbd1c93fc46610e2757760a0b55a31371780 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f8c7bbd1c93fc46610e2757760a0b55a31371780 commit f8c7bbd1c93fc46610e2757760a0b55a31371780 Author: Andrew Turner AuthorDate: 2024-01-09 13:29:47 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:17:56 +0000 dev/uart: Support 8-byte register access While we only support 4-byte registers in the uart code the physical access may be to an 8-byte register. Support this as an option on non-i386. On i386 we lack the needed 8-byte bus_space functions. ACPI has an option for 8-byte register io width, and FDT can be given any size. Support these sizes, even if we don't expect to see hardware with an 8-byte io width. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43374 (cherry picked from commit a9fc9d6d15f006feb6d7ddb036e020d5f9d19fce) --- sys/dev/uart/uart.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/dev/uart/uart.h b/sys/dev/uart/uart.h index 5eae06ceba6f..213f8eca457c 100644 --- a/sys/dev/uart/uart.h +++ b/sys/dev/uart/uart.h @@ -54,6 +54,11 @@ uart_getreg(struct uart_bas *bas, int reg) uint32_t ret; switch (uart_regiowidth(bas)) { +#if !defined(__i386__) + case 8: + ret = bus_space_read_8(bas->bst, bas->bsh, uart_regofs(bas, reg)); + break; +#endif case 4: ret = bus_space_read_4(bas->bst, bas->bsh, uart_regofs(bas, reg)); break; @@ -69,10 +74,15 @@ uart_getreg(struct uart_bas *bas, int reg) } static inline void -uart_setreg(struct uart_bas *bas, int reg, int value) +uart_setreg(struct uart_bas *bas, int reg, uint32_t value) { switch (uart_regiowidth(bas)) { +#if !defined(__i386__) + case 8: + bus_space_write_8(bas->bst, bas->bsh, uart_regofs(bas, reg), value); + break; +#endif case 4: bus_space_write_4(bas->bst, bas->bsh, uart_regofs(bas, reg), value); break; From nobody Mon Feb 19 16:45:33 2024 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 4TdpLj3rCwz5C9ZN; Mon, 19 Feb 2024 16:45: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 4TdpLj1fCQz4cML; Mon, 19 Feb 2024 16:45:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pKUfjCs1z7qBVnF6OF5N9sqI8Lxsjl72qtuhal2e0WY=; b=x9D4oPPpsgn/UqihhN/3RGhYS3syHWvuYHkUZGs2GUwUqrgpmiJMcX/MWSrpwLFXjyCr0L MPdhQjCWOwkvQRx0Ntbn2PkjFB34RxZz3MVJ4ZZaqUXVlcro3S2jcc+B+7fsuWE0PCDMfu nKgllwlAxQg+YiCmqQOvHZk6OJl+g2ZGXCIdavL6QfODOpJKImPPFNLNKp/OSF+Hi4vtA+ OMtkmf+J9CER0qn5rUC4l5+PUeMv3o4jWF5Nl+TXxus0o6KraMYnvJH36cytztFYUexJo9 TGxOGLJQJTsL6PSrlDeQAudY+IQEXzozInAptBDN6IIkyICd44QvEsVm335ygw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pKUfjCs1z7qBVnF6OF5N9sqI8Lxsjl72qtuhal2e0WY=; b=SvJ97hxTyTYeUTQNs+pv/JC/fbzb2KEweMrHB9MCJabH0ghrE4BAuqcxkg2U+o4KRp65FE XaXgnfhY0MSBqzeb7/yAlxSVD60QXzEppm4u+ZJ0VmKDkAKqP1MiFIhUrInnSF2SnrtgK5 FkAhfvDaMgU1KBVeJMdTpsP4f1QBOTfKqfKUuPImL0eRgfNuEsvBEKEL69JM6tjEGTsq6+ 6VVRBq/UKC5Et+ZQGCIdaceLyRztNZAcOJW99nAJtfnMy60IWwVB5MXQ9CxHhIKZHH9LYt i5OsXq18jB2sY2FMjxdYUTaTl/dY+/GpAFdSNqtGuRERdP5vznnU9Wxde9pw8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361133; a=rsa-sha256; cv=none; b=Lg4vzMvicC2diXNv/qYBW5YMpjbnWOlHEc5wZ/X/7bQXNrxlWAFzHVgEe9lAvyOsz62pTE A+FbD36ZMrVt+gX4/1/919hljDp3dExud1/CT2uQoGu02Y0NKRO9q9rzoQHtIm4UaPmUk1 T0+kFHCrcV72v4AP+rVq41V6swg5wgRZQIIhC/O7xJGkEo4rgWli3J4X/NozY30r50+1Xn T5gw6xktr/VmJ9GtnzuWs7bwzsFeKaOpW5Cf6sLICK6+WDBRFeEBME43tyUgskk0o7bLLv qs9izFHseKAUbq4TfbkgLErYFZ2PbB0BawTfpQxl6RoeuCpFJy5wrDfRIC3bLQ== 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 4TdpLj0kRrzjGw; Mon, 19 Feb 2024 16:45: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 41JGjX39096690; Mon, 19 Feb 2024 16:45:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGjXL1096687; Mon, 19 Feb 2024 16:45:33 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:45:33 GMT Message-Id: <202402191645.41JGjXL1096687@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: e7d2a96f4f9b - stable/14 - 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/stable/14 X-Git-Reftype: branch X-Git-Commit: e7d2a96f4f9bf579e5fde5870772a39fb6ffac2a Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e7d2a96f4f9bf579e5fde5870772a39fb6ffac2a commit e7d2a96f4f9bf579e5fde5870772a39fb6ffac2a Author: Andrew Turner AuthorDate: 2023-11-14 15:01:58 +0000 Commit: Andrew Turner CommitDate: 2024-02-19 13:17:47 +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 (cherry picked from commit 25d0310ed881e86cec9ab5cf37dd8471e88ad554) --- 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 Mon Feb 19 16:51:27 2024 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 4TdpTW5Gxpz5C9tK; Mon, 19 Feb 2024 16:51: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 4TdpTW4qWmz4rhF; Mon, 19 Feb 2024 16:51:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dx9j0Zygs+0wrbH2xjiuNNwR80raQ4s1NOvb5Q+iqZ8=; b=eV+UGlfJeBZK1dW7jaJqAYSHsZuOrJvtx1UVw2TMjJPNcmTSd03yRYytAantb1hK2vxVP3 NQpUtfPXSOMj7fHwArTT9NW1pzVfmypvgJt/vD6+f3g/qcbvBxeQ0a5zkfyK2zaEwkpNyI ZJrAzvzRrYTYN/H2rzfLvQDl+ZQho85rT5kpCR8rFvxUofLeTjw6J0kUZ6TLy/7+VPEopU sflqLiGhWe/7j45OgH3ItFo1el8dKMioGPGQqXBosX+tXnA71chIoGKvNbbHE6An3yGooD eSIHyx8EO5XidMrm+AsAgydOxy5YMevRpxhO89OEKy+3Iq1VxrPDzH13GPWKNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708361487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dx9j0Zygs+0wrbH2xjiuNNwR80raQ4s1NOvb5Q+iqZ8=; b=gZeGJY8ZvwMUInbsZeZR9BDpm4erMTlIj2f5DwXL69N88v/8UMUKYKbXq35B7fbeAjXy2F y50uo/AeAqwS5YEwNq5VNgLBcnoUDvI0NN3yVEmZWnx/mkP6THGdvsBF2QvXDBgak0aMdv Tm7tIAwps33phPSRgH7Mv25xnOOne1ePlQwmZ0dqRUBbGJs4hCwD6VuhdKB5IzhVcre2nC bs0L//EvQIBshcbHzqf9ipGc/Dgm64pkxoq90t1sLA6mZHjTE4SWWPzzM0h/ehebfk5Ryj evrt/iaB6bIWW4XJUmVqHiFBlkYfuyOwihkZQmiNWBliCOH5z0opBa4tdeagVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708361487; a=rsa-sha256; cv=none; b=whsFTNbB9MBDudHJuWmFf4Xx/Jgn+OB5u8YBcmQLC0ra7MO248Uap7vpUiPGP6fLpNLK0Z aPnOR1lnSLYzTWTEyhA9eqspKBRYuQsHocyrgTShfDa9jxWObE9m5NC7nPaSeuu5TxY5Ei TOacX9yDdtgzxiERwAW3sfe5lPDG3yTTy4XbqT53Og6nA6uIyTEQVCJaqs5RNW5pFaNRrI tlB+pzsvELBffo/Ft/dKT3wlBehHfYwK/I8kl6Di6VCe81OufYOt2YoD3ynV1+iDvkXUJs /t8/hRBhEBkIHKdDmUAS0ImGMEYMx+j/SBSPTaN9pjKfeu80WACSRF0QzoAnEg== 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 4TdpTW3vSGzjQX; Mon, 19 Feb 2024 16:51: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 41JGpRq8010134; Mon, 19 Feb 2024 16:51:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JGpRb1010131; Mon, 19 Feb 2024 16:51:27 GMT (envelope-from git) Date: Mon, 19 Feb 2024 16:51:27 GMT Message-Id: <202402191651.41JGpRb1010131@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: ef75877fc2d9 - main - ls: Fix -v and associated 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef75877fc2d93199aab2b509089136c433af1f20 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ef75877fc2d93199aab2b509089136c433af1f20 commit ef75877fc2d93199aab2b509089136c433af1f20 Author: Warner Losh AuthorDate: 2024-02-19 16:48:05 +0000 Commit: Warner Losh CommitDate: 2024-02-19 16:50:04 +0000 ls: Fix -v and associated test The cleanup of d854370fa86b7 had a cut and paste error (so f_verssort was set to 1 and then to 0 rather thame f_timesort being set to 0). Fixes: d854370fa86b7 Sponsored by: Netflix --- bin/ls/ls.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/ls/ls.c b/bin/ls/ls.c index 7ebcc5383863..b5e3578f27bb 100644 --- a/bin/ls/ls.c +++ b/bin/ls/ls.c @@ -327,7 +327,7 @@ main(int argc, char *argv[]) case 'v': f_verssort = 1; f_sizesort = 0; - f_verssort = 0; + f_timesort = 0; break; /* Other flags. Please keep alphabetic. */ case ',': @@ -566,6 +566,7 @@ main(int argc, char *argv[]) blocksize /= 512; } } + /* Select a sort function. */ if (f_reversesort) { if (f_sizesort) From nobody Mon Feb 19 17:00:33 2024 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 4Tdph56bRhz5CC81 for ; Mon, 19 Feb 2024 17:00:37 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com [IPv6:2a00:1450:4864:20::22c]) (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 4Tdph5406qz4tfl for ; Mon, 19 Feb 2024 17:00:37 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lj1-x22c.google.com with SMTP id 38308e7fff4ca-2d0cdbd67f0so64810331fa.3 for ; Mon, 19 Feb 2024 09:00:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1708362036; x=1708966836; 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=0ek4PeJSFSbxIvl0QPEXJipULW56fvFuuS/M82ihHlw=; b=d7W6C4TQ6Y0ZeEogGuWwiLrdJDu3OMmfXyRBcidqmzTtbJwlzvPJ6V2jNNxq/bAvsU /01buCbominULUESfmkqFLHpYYlOXu4uWBHE1fCbgKQMKo3mvyNucc4WAHwaE+anHQJA 9BlDgCHotDSZT5H1/zNKLyRQ5bgxUqCzob2WlwO8dYt7FVYS6CQ0fuwzgfsy9W5+KbJ0 JyInbzU5bwjZ/GFwtHdWCAUbjE36wOXTWiRwjcj6qhwIIPMPSdd+y0RSqZuOwal8krUM R0ubx9WOUboCh0VRRBV6NqShCjf3AtRqx28di+xqE7FI4yXDMctj+HE31f+Jmlepgv5Q LArw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708362036; x=1708966836; 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=0ek4PeJSFSbxIvl0QPEXJipULW56fvFuuS/M82ihHlw=; b=eQ28Wbs84Nx5f9QmpYfTzFI6KRwNj4AD5legwMwulevjH6oiUHPcECrBwU0qs7z1a0 6ixpwpnrAetY3Z7Y4t5caSEi6iQG8LUka7hWJ+JKMONmLBLHCgB4rCWpxrvfnJ84Xjuc gQcgdrmIQmBGO8lWynSeW8xQObP35mRD2Wz7hW5Vu2srLf03v8pmWvkPwzRXSeK/AAAp DLqf3ZSWiAO6POfWq1SKdFYkN6LRPEOLpYWfR7POVNpqc+65r+KWxs9FYKRgQMv2vPh9 +olDxq1yHO8UITxUTPVfuszEcvnzTf5yAbsrAL6VC17JthfbMpgUXzxv3UaADNPsVwWd wStw== X-Forwarded-Encrypted: i=1; AJvYcCXS7Jsf6+ZbXl2nO+xcoPx7BfmdVoTaDuy105ht/pl/BJyDjmFiS5OU6rHS8x0XgJUapmtZjnkgmdTdrvPcuhhY79Ram758aAK+MdliDTsB X-Gm-Message-State: AOJu0Yz2zXqERA81M1/o+rYAC06j9O0ajq/jL0BgScVs/ZodkAIhoxgS cf5MPdUa4uo7o4bqOqWbWEC2DjKNXefvzMcw0qvEu+zMOLdFm75dC75YbbXI9MPOupqyRbEnemR MFVR6sxiRChIaDJAT1OpMXFkPzL9nHVd/hVQFmA== X-Google-Smtp-Source: AGHT+IFVGKK4guak3Y8xtSI6+4NDKEcb0uGrJFqdwW3thhk4FT5JT7w21g3c6QPwy87eWRj0voi2P5X3vZIN7G2V4pw= X-Received: by 2002:a2e:bc24:0:b0:2d2:427c:9ac5 with SMTP id b36-20020a2ebc24000000b002d2427c9ac5mr1563533ljf.37.1708362035995; Mon, 19 Feb 2024 09:00:35 -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: <6a73f7bf-dbe9-416b-a6d0-dded14285574@freebsd.org> In-Reply-To: <6a73f7bf-dbe9-416b-a6d0-dded14285574@freebsd.org> From: Warner Losh Date: Mon, 19 Feb 2024 10:00:33 -0700 Message-ID: Subject: Re: git: c01af41c3c8f - main - ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs To: Andriy Gapon Cc: cglogic , src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000004db5760611bf087c" X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4Tdph5406qz4tfl 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] --0000000000004db5760611bf087c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Feb 19, 2024 at 9:40=E2=80=AFAM Andriy Gapon wrot= e: > On 19/02/2024 18:06, cglogic wrote: > > Hello Warner, > > > > Thank you for detailed explanation. Looks like it has no sense for me t= o > worry > > about disabling NCQ TRIM on that old PC. > > > > However it would be great to have possibility to apply such hardware bu= g > > workarounds for affected controller/drive pairs only. > > Or, at least, have possibility to disable such quirks on per drive basi= s > via > > sysctl. I didn't find such a possibility. > > Yeah, we do not have a way to control ata_da (and scsi_da) quirks via > configuration. It would be nice to have it, indeed. > > Also, perhaps what ADA_Q_NCQ_TRIM_BROKEN could do is prefer a different > delete > method by default. That way, NCQ_DSM_TRIM option would not disappear > completely > and it would be possible to set with kern.cam.ada.N.delete_method sysctl. > Yea. In this case, though, the method is known to be bad. This badness might not be apparent until data is corrupted. Things seem to work. This is very dangerous to allow, even with a I know what I'm doing flag. We could do it, but I'm very uneasy given the data corruption that causes us to disable it in the first place... Given what I read https://bugzilla.kernel.org/show_bug.cgi?id=3D203475 we want NCQ Trim disabled entirely for these drives. Sometimes they work, until they don't, then people report similar errors to what Andriy reported. Warner > > On Monday, February 19th, 2024 at 5:18 PM, Warner Losh > wrote: > >> > >> > >> On Mon, Feb 19, 2024, 4:29=E2=80=AFAM cglogic >> > wrote: > >> > >> On Monday, February 19th, 2024 at 1:03 PM, Andriy Gapon > > >> wrote: > >> > >> > On 19/02/2024 12:47, cglogic wrote: > >> > > >> > > Hello Andriy, > >> > > > >> > > I use ZFS with autotrim enabled on Samsung 860 PRO connected t= o > Intel > >> AHCI SATA controller for 9 years without any issue. > >> > > >> > > >> > I think that it was released in 2018? > >> > >> You are right, it's 9 years old computer, SSD was added later. > >> > >> > > >> > > Can I disable this quirk locally or have I revert the patch to > >> continue use NCQ TRIM with this SSD? > >> > > >> > > >> > I don't think that there is a way to disable the quirk, so you'l= l > have > >> to revert. > >> > Note that ATA TRIM is still enabled, it's only NCQ TRIM that got > disabled. > >> > >> From my understanding ATA TRIM is non-queued TRIM as opposed to NC= Q > TRIM. > >> With only ATA TRIM enabled, drive will have increased latency when > large > >> amount of files deleted. > >> > >> However I'm not sure how ZFS handles TRIMs, maybe it groups severa= l > TRIMs > >> and then sends when drive is idle. > >> Another question is how this affects TRIM enabled swap partition. > >> > >> In general, if I'm correct here, disabling NCQ TRIM should not be > an issue > >> for desktop usage, except for large git repository updates, etc. > >> > >> > >> In general, it won't matter a ton. Unless you are seeing stalls becaus= e > of > >> read/write I/O waiting behind trims that have to go to the drive one a= t > a > >> time, the effects are in the noise. If you are seeing that, though, th= e > >> effects can be quite helpful in terms of latency... assuming the drive > is > >> cooperative. The benefits of it vary a lot from drive to drive as well= . > Some > >> early drives still serialize the trims, so the latency benefit is not > so > >> great. Some enterprise drives do trims instantly and keep some interna= l > state > >> that is helped a lot by them. But if NCQ trims are unstable, we likely > should > >> err on the side of disabling. > >> > >> The errors that Andriy was seeing typically are cable or controller > issues. In > >> his case, it was a controller issue (apparently, and surprisingly, > paired with > >> a specific type of drive). Linux has a specific workaround for the > pair, which > >> is unusual. But there's two issues at play. > >> > >> The first issue is that these drives should have NCQ Trim turned off, > >> according to Linux's commit log. This may be firmware revision based o= r > may > >> just be some people are luckier with newer firmware (it's hard to say > from the > >> mixed reports, but they read more like luck than version for the > sampling I > >> did). So Andriy's change is good. The second issue, and one I was > confused on > >> earlier, is that Linux goes a step further and disables NCQ entirely > for these > >> old controllers for 860 and 870 drives. This isn't too surprising. We > have a > >> workaround for PMP for these controllers already.... One can disable > NCQ > >> entirely by setting the tags to 0... Given the specificity of the > problem, and > >> the age of the controllers, I'm inclined to not implement the Linux > workaround > >> for this specific pair. > > > -- > Andriy Gapon > > --0000000000004db5760611bf087c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Mon, Feb 19, 2024 at 9:40=E2=80=AF= AM Andriy Gapon <avg@freebsd.org&= gt; wrote:
On 19= /02/2024 18:06, cglogic wrote:
> Hello Warner,
>
> Thank you for detailed explanation. Looks like it has no sense for me = to worry
> about disabling NCQ TRIM on that old PC.
>
> However it would be great to have possibility to apply such hardware b= ug
> workarounds for affected controller/drive pairs only.
> Or, at least, have possibility to disable such quirks on per drive bas= is via
> sysctl. I didn't find such a possibility.

Yeah, we do not have a way to control ata_da (and scsi_da)=C2=A0 quirks via=
configuration.=C2=A0 It would be nice to have it, indeed.

Also, perhaps what ADA_Q_NCQ_TRIM_BROKEN could do is prefer a different del= ete
method by default.=C2=A0 That way, NCQ_DSM_TRIM option would not disappear = completely
and it would be possible to set with kern.cam.ada.N.delete_method sysctl.

Yea. In this case, though, the method is= known to be bad. This badness might not be apparent
until data i= s corrupted. Things seem to work. This is very dangerous to allow, even wit= h a
I know what I'm doing flag. We could do it, but I'm v= ery uneasy given the data corruption
that causes us to disable it= in the first place...

disabl= ed entirely for these drives. Sometimes they work, until they don't, th= en people report
similar errors to what Andriy reported.

Warner
=C2=A0
> On Monday, February 19th, 2024 at 5:18 PM, Warner Losh <imp@bsdimp.com> wrote:
>>
>>
>> On Mon, Feb 19, 2024, 4:29=E2=80=AFAM cglogic <cglogic@protonmail.com
>> <mailto:cglogic@protonmail.com>> wrote:
>>
>>=C2=A0 =C2=A0 =C2=A0On Monday, February 19th, 2024 at 1:03 PM, Andr= iy Gapon <avg@FreeBSD.org>
>>=C2=A0 =C2=A0 =C2=A0wrote:
>>
>>=C2=A0 =C2=A0 =C2=A0> On 19/02/2024 12:47, cglogic wrote:
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0> > Hello Andriy,
>>=C2=A0 =C2=A0 =C2=A0> >
>>=C2=A0 =C2=A0 =C2=A0> > I use ZFS with autotrim enabled on Sa= msung 860 PRO connected to Intel
>>=C2=A0 =C2=A0 =C2=A0AHCI SATA controller for 9 years without any is= sue.
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0> I think that it was released in 2018?
>>
>>=C2=A0 =C2=A0 =C2=A0You are right, it's 9 years old computer, S= SD was added later.
>>
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0> > Can I disable this quirk locally or h= ave I revert the patch to
>>=C2=A0 =C2=A0 =C2=A0continue use NCQ TRIM with this SSD?
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0>
>>=C2=A0 =C2=A0 =C2=A0> I don't think that there is a way to d= isable the quirk, so you'll have
>>=C2=A0 =C2=A0 =C2=A0to revert.
>>=C2=A0 =C2=A0 =C2=A0> Note that ATA TRIM is still enabled, it= 9;s only NCQ TRIM that got disabled.
>>
>>=C2=A0 =C2=A0 =C2=A0From my understanding ATA TRIM is non-queued TR= IM as opposed to NCQ TRIM.
>>=C2=A0 =C2=A0 =C2=A0With only ATA TRIM enabled, drive will have inc= reased latency when large
>>=C2=A0 =C2=A0 =C2=A0amount of files deleted.
>>
>>=C2=A0 =C2=A0 =C2=A0However I'm not sure how ZFS handles TRIMs,= maybe it groups several TRIMs
>>=C2=A0 =C2=A0 =C2=A0and then sends when drive is idle.
>>=C2=A0 =C2=A0 =C2=A0Another question is how this affects TRIM enabl= ed swap partition.
>>
>>=C2=A0 =C2=A0 =C2=A0In general, if I'm correct here, disabling = NCQ TRIM should not be an issue
>>=C2=A0 =C2=A0 =C2=A0for desktop usage, except for large git reposit= ory updates, etc.
>>
>>
>> In general, it won't matter a ton. Unless you are seeing stall= s because of
>> read/write I/O waiting behind trims that have to go to the drive o= ne at a
>> time, the effects are in the noise. If you are seeing that, though= , the
>> effects can be quite helpful in terms of latency... assuming the d= rive is
>> cooperative. The benefits of it vary a lot from drive to drive as = well. Some
>> early drives still serialize the trims, so the latency benefit is = not so
>> great. Some enterprise drives do trims instantly and keep some int= ernal state
>> that is helped a lot by them. But if NCQ trims are unstable, we li= kely should
>> err on the side of disabling.
>>
>> The errors that Andriy was seeing typically are cable or controlle= r issues. In
>> his case, it was a controller issue (apparently, and surprisingly,= paired with
>> a specific type of drive). Linux has a specific workaround for the= pair, which
>> is unusual. But there's two issues at play.
>>
>> The first issue is that these drives should have NCQ Trim turned o= ff,
>> according to Linux's commit log. This may be firmware revision= based or may
>> just be some people are luckier with newer firmware (it's hard= to say from the
>> mixed reports, but they read more like luck than version for the s= ampling I
>> did). So Andriy's change is good. The second issue, and one I = was confused on
>> earlier, is that Linux goes a step further and disables NCQ entire= ly for these
>> old controllers for 860 and 870 drives. This isn't too surpris= ing. We have a
>> workaround for PMP for these controllers already.... One can disab= le NCQ
>> entirely by setting the tags to 0... Given the specificity of the = problem, and
>> the age of the controllers, I'm inclined to not implement the = Linux workaround
>> for this specific pair.


--
Andriy Gapon

--0000000000004db5760611bf087c-- From nobody Mon Feb 19 22:40:32 2024 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 4TdyDR511Bz59drQ; Mon, 19 Feb 2024 22:40:39 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.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 4TdyDQ6V31z4XY3; Mon, 19 Feb 2024 22:40:38 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of brooks@spindle.one-eyed-alien.net has no SPF policy when checking 199.48.129.229) smtp.mailfrom=brooks@spindle.one-eyed-alien.net; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=freebsd.org (policy=none) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 7A25B3C019A; Mon, 19 Feb 2024 22:40:32 +0000 (UTC) Date: Mon, 19 Feb 2024 22:40:32 +0000 From: Brooks Davis To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org Subject: Re: git: bda0c0dc87c5 - stable/14 - Remove redundand prototype, fixing the build. Message-ID: References: <202402181246.41ICkO86055179@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: <202402181246.41ICkO86055179@gitrepo.freebsd.org> X-Rspamd-Queue-Id: 4TdyDQ6V31z4XY3 X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.60 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FORGED_SENDER(0.30)[brooks@freebsd.org,brooks@spindle.one-eyed-alien.net]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : No valid SPF, No valid DKIM,none]; ONCE_RECEIVED(0.10)[]; MIME_GOOD(-0.10)[text/plain]; FREEFALL_USER(0.00)[brooks]; ASN(0.00)[asn:36236, ipnet:199.48.128.0/22, country:US]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; R_SPF_NA(0.00)[no SPF record]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-branches@freebsd.org]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[brooks@freebsd.org,brooks@spindle.one-eyed-alien.net]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[4] On Sun, Feb 18, 2024 at 12:46:24PM +0000, Konstantin Belousov wrote: > The branch stable/14 has been updated by kib: > > URL: https://cgit.FreeBSD.org/src/commit/?id=bda0c0dc87c54b611d96b6d0dc1947819ffec083 > > commit bda0c0dc87c54b611d96b6d0dc1947819ffec083 > Author: Konstantin Belousov > AuthorDate: 2024-02-18 12:45:49 +0000 > Commit: Konstantin Belousov > CommitDate: 2024-02-18 12:45:49 +0000 > > Remove redundand prototype, fixing the build. > > This is a direct commit to stable/14. It would be best to revert this and cherry-pick the upstream commit 3e4bef52b084d (also in our vendor tree) to avoid conflicts in future merges of openzfs. -- Brooks From nobody Mon Feb 19 22:44:35 2024 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 4TdyK01yTMz59dxW; Mon, 19 Feb 2024 22:44: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 4TdyK00nKnz4Y9T; Mon, 19 Feb 2024 22:44:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708382676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gbet1e9vffYsMXAukC4xeW0vecj4voAYSihpVb+cIXo=; b=cXTAQ7bYsB5uHjtomzVoRa/DupxlgRhyrWPlgQRzAfeiJM9hwqPoxtC4/04/GJJgJXL+Yj GRvvaVOSZYJKhIO1HCL9vAJyI62TOXEm+R1Pt5t+5ay8pHmFJU2h/FIba/QSrHFBQLt7Dz M4unY3+l9carLqUtABnHBB+wPef8kB4dV5Cn88P0S0DxGxWs1nfIdbfdEMZr4zwZ2GsCqg FriJP11fpcEX/IuaeqOUflcEdnCCKEI49hh96GGtBQNM5swsAWJ9TLFUx+QJmzycWiG+l/ QmW+BkZ2jHnWtxNRsgvMDErbY33v54CtQA4zt70pmRUdbBceCcwWje2lccIjCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708382676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gbet1e9vffYsMXAukC4xeW0vecj4voAYSihpVb+cIXo=; b=xpA38eb8hlyvQwqMlRfwbhw91GQG9YD2/hJzAOE54auFy1/WDc8lnea9J9mlobuILkZl6H yLbHbUmFs2EwLAWeWgEO90PPS0mGebqZIeMdrsX6zu6Vtc6Jrsr9pgDjcly4t9sA6s+AHp 4+qoSKWfiTwFjj2xyNk0JEiP7TIH9fOpPbuHnnfytX+1ZcxEdwq1JvFg7HO43EjCfEoW4+ yvrNfifRCTM+8OlyG5zmGiEsV+hqR6EKG2DZkurqeHqqPAre1dk8w3QgZHnveZzVIiS7YY 5XGAL8enYSTpXM15n6lQwgts8TqlMh786AyUVgZ+Bbs5sqCTYD62QXZt3s+4AA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708382676; a=rsa-sha256; cv=none; b=Fi96bSzFtMTJ+MDBMxXhwY1hk5i3VhZU7lDQW+NxPoH1tdJ11Bwe7EaeT6EL2ouJ+78yIJ wOLMuaYSs8/j1avmvs9IJbaQwciiJBhcdOBDacjzgC5Kahi04kuiBazGZtDq5z7z4RtDkq zJO+VTVteTpkO5vfyxqlSvfwyOnt+XiDFWS+HloYC1DbDAtNiB+JOW4eQY7JRFsZYms1im gK4hL/xk3EEUULKq1hSojo5ZDCN7N6w4mIS3lae9WJr09DixJUD7HTPcGFlA/rOurkBmpb T0kj1Ml89mMGMOK1P8O1Yl7W71AjP5Crj3QX23HLaEj9bzlEjSpJ0pmH/BPPxg== 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 4TdyJz6rb8ztCD; Mon, 19 Feb 2024 22:44: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 41JMiZoj002752; Mon, 19 Feb 2024 22:44:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JMiZc2002749; Mon, 19 Feb 2024 22:44:35 GMT (envelope-from git) Date: Mon, 19 Feb 2024 22:44:35 GMT Message-Id: <202402192244.41JMiZc2002749@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: 99ea67573164 - main - lib{c,sys}: move auxargs more firmly into libsys 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: 99ea67573164637d633e8051eb0a5d52f1f9488e Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=99ea67573164637d633e8051eb0a5d52f1f9488e commit 99ea67573164637d633e8051eb0a5d52f1f9488e Author: Brooks Davis AuthorDate: 2024-02-19 22:44:08 +0000 Commit: Brooks Davis CommitDate: 2024-02-19 22:44:08 +0000 lib{c,sys}: move auxargs more firmly into libsys Continue to filter the public interface (elf_aux_info()), but entierly relocate the private interfaces (_elf_aux_info(), __init_elf_aux_vector(), and __elf_aux_vector) to libsys. This ensures that rtld updates the correct (only) copy of __elf_aux_vector. After 968a18975adc9c2a619bb52aa2f009de99fc9e24 updates were confused and __getosreldate was failing, causing the system to fall back to compat compat12 syscalls in some cases. Return to explicitly linking libc to libsys and link libthr with libc and libsys (in that order). Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D43910 --- lib/libc/Makefile | 1 + lib/libc/tests/ssp/Makefile | 1 + lib/libsys/Makefile | 3 +++ lib/libsys/Makefile.sys | 10 ++++++++-- lib/libsys/Symbol.map | 5 +++++ lib/libsys/Symbol.sys.map | 2 -- lib/libsys/libc_stubs.c | 11 +++++++++++ lib/libthr/Makefile | 2 ++ share/mk/bsd.libnames.mk | 5 ++++- share/mk/src.libnames.mk | 6 +++++- 10 files changed, 40 insertions(+), 6 deletions(-) diff --git a/lib/libc/Makefile b/lib/libc/Makefile index 54748abfeff1..41cf0f6de72a 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -62,6 +62,7 @@ CFLAGS+= -ftls-model=initial-exec # LDFLAGS+= -nodefaultlibs LIBADD+= compiler_rt +LIBADD+= sys LDFLAGS+=-Wl,--auxiliary,libsys.so.7 diff --git a/lib/libc/tests/ssp/Makefile b/lib/libc/tests/ssp/Makefile index c6f850ec1a33..22f48d7dfe54 100644 --- a/lib/libc/tests/ssp/Makefile +++ b/lib/libc/tests/ssp/Makefile @@ -10,6 +10,7 @@ CFLAGS.h_raw+= -fstack-protector-all -Wstack-protector # override the sanitizer runtime libraries to be the ones installed on the # target system. CFLAGS.h_raw+= -fsanitize=bounds +LIBADD+=sys .elif ${COMPILER_TYPE} == "gcc" CFLAGS.h_raw+= --param ssp-buffer-size=1 LDADD+= -lssp diff --git a/lib/libsys/Makefile b/lib/libsys/Makefile index 897e033267a4..598962185dcf 100644 --- a/lib/libsys/Makefile +++ b/lib/libsys/Makefile @@ -57,6 +57,9 @@ MDASM= MIASM= NOASM= +SYM_MAPS+= ${LIBSYS_SRCTOP}/Symbol.map +SRCS+= auxv.c + .include "${LIBSYS_SRCTOP}/Makefile.sys" SYM_MAPS+= ${LIBSYS_SRCTOP}/Symbol.thr.map diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys index b45aa3cf1aaf..cb9ca1749ba8 100644 --- a/lib/libsys/Makefile.sys +++ b/lib/libsys/Makefile.sys @@ -47,8 +47,6 @@ SRCS+= recv.c recvmmsg.c send.c sendmmsg.c NOASM+= sched_getcpu.o PSEUDO+= _sched_getcpu.o -SRCS+= auxv.c - SRCS+= brk.c SRCS+= closefrom.c SRCS+= pipe.c @@ -58,6 +56,14 @@ SRCS+= POSIX2x_Fork.c SRCS+= compat-stub.c +.if ${LIB} == "c" +# Trapping stubs in dynamic libc to be filtered by libsys. +SOBJS+= libc_stubs.pico + +# Link the full implementation of ELF auxargs for static libc. +STATICOBJS+= auxv.o +.endif + INTERPOSED = \ accept \ accept4 \ diff --git a/lib/libsys/Symbol.map b/lib/libsys/Symbol.map new file mode 100644 index 000000000000..4f72ea204039 --- /dev/null +++ b/lib/libsys/Symbol.map @@ -0,0 +1,5 @@ +FBSDprivate_1.0 { + __elf_aux_vector; + __init_elf_aux_vector; + _elf_aux_info; +}; diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map index 73a1cf297ca0..d59ac8674669 100644 --- a/lib/libsys/Symbol.sys.map +++ b/lib/libsys/Symbol.sys.map @@ -433,12 +433,10 @@ FBSD_1.8 { FBSDprivate_1.0 { /* Add entries in sort(1) order */ - __elf_aux_vector; __libc_sigwait; __libsys_interposing_slot; __set_error_selector; __sigwait; - _elf_aux_info; gssd_syscall; nlm_syscall; rpctls_syscall; diff --git a/lib/libsys/libc_stubs.c b/lib/libsys/libc_stubs.c new file mode 100644 index 000000000000..41d69a9355c3 --- /dev/null +++ b/lib/libsys/libc_stubs.c @@ -0,0 +1,11 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 SRI International + */ + +#define STUB_FUNC(f) \ + void (f)(void); \ + void (f)(void) { __builtin_trap(); } + +STUB_FUNC(elf_aux_info); diff --git a/lib/libthr/Makefile b/lib/libthr/Makefile index 932650885dea..325a320d55ec 100644 --- a/lib/libthr/Makefile +++ b/lib/libthr/Makefile @@ -7,6 +7,8 @@ PACKAGE= clibs SHLIBDIR?= /lib +LIBADD= c sys + .include MK_SSP= no diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk index 414ae3164066..4177a1ef0e4e 100644 --- a/share/mk/bsd.libnames.mk +++ b/share/mk/bsd.libnames.mk @@ -174,7 +174,7 @@ LIBZFSBOOTENV?= ${LIBDESTDIR}${LIBDIR_BASE}/libzfsbootenv.a LIBZPOOL?= ${LIBDESTDIR}${LIBDIR_BASE}/libzpool.a LIBZUTIL?= ${LIBDESTDIR}${LIBDIR_BASE}/libzutil.a -# enforce the 2 -lpthread and -lc to always be the last in that exact order +# enforce -lpthread, -lc, and -lsys to always be the last in that exact order .if defined(LDADD) .if ${LDADD:M-lpthread} LDADD:= ${LDADD:N-lpthread} -lpthread @@ -182,6 +182,9 @@ LDADD:= ${LDADD:N-lpthread} -lpthread .if ${LDADD:M-lc} LDADD:= ${LDADD:N-lc} -lc .endif +.if ${LDADD:M-lsys} +LDADD:= ${LDADD:N-lsys} -lsys +.endif .endif # Only do this for src builds. diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk index 658dd1c3d699..0fd349d0d00f 100644 --- a/share/mk/src.libnames.mk +++ b/share/mk/src.libnames.mk @@ -394,7 +394,7 @@ _DP_xo= util _DP_ztest= geom m nvpair umem zpool pthread avl zfs_core spl zutil zfs uutil icp # The libc dependencies are not strictly needed but are defined to make the # assert happy. -_DP_c= compiler_rt +_DP_c= compiler_rt sys # Use libssp_nonshared only on i386 and power*. Other archs emit direct calls # to __stack_chk_fail, not __stack_chk_fail_local provided by libssp_nonshared. .if ${MK_SSP} != "no" && \ @@ -410,6 +410,10 @@ _DP_sys= compiler_rt (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH:Mpower*} != "") _DP_sys+= ssp_nonshared .endif +.if !defined(BOOTSTRAPPING) +_DP_thr= c sys +_DP_pthread= ${_DP_thr} +.endif _DP_tacplus= md pam _DP_ncursesw= tinfow _DP_formw= ncursesw From nobody Mon Feb 19 22:44:37 2024 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 4TdyK1330Fz59fVG; Mon, 19 Feb 2024 22:44:37 +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 4TdyK12XwDz4Xr7; Mon, 19 Feb 2024 22:44:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708382677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ysz7rLz8DZtCU8doYiaYxkJLQxXJ6CIOCiAPItv6T78=; b=I3/8/QCSFiF0u+1RvYgDnMowJuq5X5M6DOS5Lk7ys1YUwWc4tU2CsZ9sZ40DmoTrluSolX 88rvrze2/ejOQaEyrGPb/0ASAJHUoYkFz1Znpn3IHgJxPxXa2WzmttzCqBDUQ0+PCfCIpm 7aMSWuZmwRdMzKTwW35rVn3d6xkWiVQpOgF3hhdbjbsuovAEO3B7OHmq5mbs0WGqO16k1/ 1jfWu08qFc907hqspD9+PSwTsZ/6HI0UKLJOvD4by43p9t6xFrOw0x8pRmiUAYos6Mi0/K W7QS2AqhUdrPnODRt3qneBS6tDmKZMT/8/Zjslh7zJfLs3lr0EYhMF29v9ytLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708382677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ysz7rLz8DZtCU8doYiaYxkJLQxXJ6CIOCiAPItv6T78=; b=O7ScZo+luGgV9O367nqeIGbiE89/GZ+ht7jcB3JGWC6SPx63ZadfKmQ6aRPbqYbCBi+uqh hvit33HOwCZPddS41RIM2PPt43kpTcF5+nyaQ/UNAxXuIKhlFirADQdJCiGMfhVZT0nWwT ZxDQ0yUjjNAzUjlZr4xGFryqxG+NZ7GBXrUJVJq3sHTjD70BEnd/ZdB9Rxz9lGQbPodYK3 9i4PLwN+t3hkOosKKaO9GL95dpm+4ZqsA84tqNRuBq8oUCZb+e2ThX7dYDWjg1iZMnpkNv zePu6jDrVv4Qf0Cs3SS75V6BncQCRnZ+lHs2PjpnHbA5crYtHbLUeNVeHhNCfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708382677; a=rsa-sha256; cv=none; b=e3fBqljyqZk2IkgIlDb9/LrLTwZ84kbvnryGq/HE1m/QCBNYYZYqLKvrbfvfwHPeu7mlKG DTEqEpmN39VV/2hdayVmbmdBHNghAtK50GMoDoDZ+qzw4fd4v4y394xRRaUTiMT598Kmjk ww191+jwsXPd95wIZ4xYRLxFWgWPvRzSFocmSut8wLlg29DDAlQfwkaZ3F6Cu3tjvSbzSS o+mBwy8H52xd+pNKwoSd3LB+p3IUpjeymNpyUxJeruuBYXUnjFOml/YQhAjRAQ0AX1+Ca2 nRc21W64Hv35DcuKRI39rKG6aE4WlKaCK0B5hdmXWFP20STK6q3KVq7ZTfg5NQ== 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 4TdyK10Tksztgs; Mon, 19 Feb 2024 22:44: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 41JMibcI002797; Mon, 19 Feb 2024 22:44:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JMibiw002794; Mon, 19 Feb 2024 22:44:37 GMT (envelope-from git) Date: Mon, 19 Feb 2024 22:44:37 GMT Message-Id: <202402192244.41JMibiw002794@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: eb90239d0886 - main - lib{c,thr}: add DT_RUNPATH for gcc -m32 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: eb90239d08863bcff3cf82a556ad9d89776cdf3f Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=eb90239d08863bcff3cf82a556ad9d89776cdf3f commit eb90239d08863bcff3cf82a556ad9d89776cdf3f Author: Brooks Davis AuthorDate: 2024-02-19 22:44:08 +0000 Commit: Brooks Davis CommitDate: 2024-02-19 22:44:08 +0000 lib{c,thr}: add DT_RUNPATH for gcc -m32 To allow gcc -m32 to work, link libc and libthr with --rpath-/usr/lib32. When called with -m32, gcc is currently unable to communicate to the bfd linker that it should look in /usr/lib32 to resolve needed (as opposed to explicitly linked) libraries so we need to provide a hint. See also: https://sourceware.org/bugzilla/show_bug.cgi?id=31395 Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D43910 --- lib/libc/Makefile | 5 +++++ lib/libthr/Makefile | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/lib/libc/Makefile b/lib/libc/Makefile index 41cf0f6de72a..aa6a737002c4 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -63,6 +63,11 @@ CFLAGS+= -ftls-model=initial-exec LDFLAGS+= -nodefaultlibs LIBADD+= compiler_rt LIBADD+= sys +.if defined(COMPAT_libcompat) +# XXX: work around gcc -m32 + bfd ld path issue for DT_NEEDED symbols. +# https://sourceware.org/bugzilla/show_bug.cgi?id=31395 +LDFLAGS+= -Wl,--rpath=/usr/lib${COMPAT_libcompat} +.endif LDFLAGS+=-Wl,--auxiliary,libsys.so.7 diff --git a/lib/libthr/Makefile b/lib/libthr/Makefile index 325a320d55ec..46b547e8da85 100644 --- a/lib/libthr/Makefile +++ b/lib/libthr/Makefile @@ -8,6 +8,11 @@ PACKAGE= clibs SHLIBDIR?= /lib LIBADD= c sys +.if defined(COMPAT_libcompat) +# XXX: work around gcc -m32 + bfd ld path issue for DT_NEEDED symbols. +# https://sourceware.org/bugzilla/show_bug.cgi?id=31395 +LDFLAGS+= -Wl,--rpath=/usr/lib${COMPAT_libcompat} +.endif .include MK_SSP= no From nobody Mon Feb 19 23:01:17 2024 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 4TdyhF6BlXz59gfr; Mon, 19 Feb 2024 23:01: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 4TdyhF5k67z4cwj; Mon, 19 Feb 2024 23:01:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708383677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eFIJpFFFsfRQ4L5gWvEXyXKul2CVt6fehry7xOJUD2c=; b=nD2uEwpXvmzYlxujrxbXhHddCihFno4JLH9X6rnmI8ISNXPuvw7WKRNcdRvX2ZsngFw7C/ JPtxxBnnReikE9K7MjqgYUXI29kZXvugBFGtxT9DD8ZN92Yy2tDhTbTyl6UVtQy6IVsKL4 jnYMMeLKJ2v8t4X2a0eEnsLUSmrg+aWBq+9N1xbtM8RFXvOSWWzmXYe1WBktGaBDPWRyTd XR3Ghe63V5X7+c9zSD8dzxVRLeME4k7DMFsRbe2mR1ip7us6jGfVr/LitwiMSYv8T9ESmz NIz4j5UtHR7kA92tYiUce7UXSDnmHzFjpRpIPK3gAAET1bnyEDPnNoiTqcn75w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708383677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eFIJpFFFsfRQ4L5gWvEXyXKul2CVt6fehry7xOJUD2c=; b=qXBC39zILtAErRaosefxLHlNTzo0Tb3w5FFneoc7kbk9oNxfEDmjf5FI2jKwcdO/KiToHS T1oLbVU1+YqGTH09LoVlrI68F5JHyA+8I4MOfJKkjfne50BPHwqhKN7ScG9YYU2T7sTdeg aibAmWOKc4lbSsUG/N+w0Iyg0viO4TqrEumTwpYbp48zX81AaIWW3bFEA0J2GI0X5VmDam Se1KZyajLNOwcTxRvQCePNoL5prZZmUrTiALCpdqkul08c7G4Pwlx1qCgVC6R4k29G701B KgceafmeIlkPVg00eJArmlsc8l/wvdRA7iwMXhO6zsuD2zpWBU+DYjqpcD//Tg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708383677; a=rsa-sha256; cv=none; b=N8zkRUtZGeAYcvpUyqZyToYLTzAjhsBM6la4VydmICa/VhpO/jNjSC9mcdcZ/rpZGTRRm9 NeiuHAFPy4i3AZDtQiGE3vf7+ZXp3DToiKCIpP18zzDojrNCWn27amMEJiQ1fD5Chzf8t3 G0HtXVaO1SU482dQk2FTC9EkkkY6UsBgFICF769prK3Ig/aBTKiFYn7GeE5zR00K+WNP3T iokgssY+gD1plsHFg/w9RaL94wOrTp/ivqD7zKeHQ1vf5mH+aqjexVoop10VNtrav0sA/2 ExjkfCyszL6NxuGWfESE7mrQOtjhNUMnIPP9IJ6tzTusqp4YQ/DtK0NCP5h7mg== 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 4TdyhF4pZgztrR; Mon, 19 Feb 2024 23:01: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 41JN1HIu033120; Mon, 19 Feb 2024 23:01:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41JN1HZO033117; Mon, 19 Feb 2024 23:01:17 GMT (envelope-from git) Date: Mon, 19 Feb 2024 23:01:17 GMT Message-Id: <202402192301.41JN1HZO033117@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: aea57ebcb1b0 - main - zlib: use more memory for a small deflate speedup. 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: aea57ebcb1b053370ea1f0e29cdc666291bc5d5e Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=aea57ebcb1b053370ea1f0e29cdc666291bc5d5e commit aea57ebcb1b053370ea1f0e29cdc666291bc5d5e Author: Xin LI AuthorDate: 2024-02-19 23:01:04 +0000 Commit: Xin LI CommitDate: 2024-02-19 23:01:04 +0000 zlib: use more memory for a small deflate speedup. The LIT_MEM option uses slightly more memory (for base gzip(1), about 16kiB; according to the author, about 6% for default deflate settings) for a small speedup. The performance gain is more noticeable for input data with higher entropy and less significant for data that is highly compressible, such as source code and logs. MFC after: 1 month --- sys/contrib/zlib/deflate.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/contrib/zlib/deflate.h b/sys/contrib/zlib/deflate.h index 300c6ada62b8..df76fc6fc5d1 100644 --- a/sys/contrib/zlib/deflate.h +++ b/sys/contrib/zlib/deflate.h @@ -25,7 +25,7 @@ /* define LIT_MEM to slightly increase the speed of deflate (order 1% to 2%) at the cost of a larger memory footprint */ -/* #define LIT_MEM */ +#define LIT_MEM /* =========================================================================== * Internal compression state. From nobody Tue Feb 20 00:17:38 2024 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 4Tf0NL6HWvz59pXk; Tue, 20 Feb 2024 00:17: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 4Tf0NL5nNjz4kVd; Tue, 20 Feb 2024 00:17:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708388258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HTmOC4Xk2H5b4v1lPcZiujSTXRfvSQxSdJb/+r0CxhQ=; b=b/3FFRuwfPiGVUGlWbtusw98PeP1BOsQRrAyRrQB8IBsGmTOnBRADqnjSmPFaHO05ukgbl l+kM0B6M3PMZ0XccIzqXpRkEPsj/cmUkl/J6UF9wzNvdtfzjeyFAm+oEKz5twFKjsqwr31 HSxyIiYHfbqn8dzyBwYZDkOon+vKNv3KJd3Gd8C/YyvTqQ6yGO1MGz43MG1RjJ53w8Grz+ p1xjSCJ2iAFLx8mpN9+4oewOQvuwOC59sokZUXenWzpahF//z1vOPw59x3I4v0liiffD5v w1wewfHBc3Zvl24GFeVNezVmjfm6y/XcG7o1ZEc/3HpXf8Psvzco6JGg165Zlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708388258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HTmOC4Xk2H5b4v1lPcZiujSTXRfvSQxSdJb/+r0CxhQ=; b=w0a0CY+Y17UZL0ppHofoTnIvtcl2gqqopK/2FF0lscIPevv0MaaUJ+Q7gvr7dsgP7a4aLO 4XVb6xJ0r/27hc/4DQOGz886SeEAoJwaNw3qRGhWx3TfMT+kZV9JxTcVZYp+6T7+LxFZnQ svUxWU5SOdOBYCwuFEZyHC5wtsTTbxNca74zQt+OLXPglLeApiWNmmWCIVp4sm3KdOL2S5 MRG6bsgo78ryKT5Bmcaq8bFVcSUSzWQNLEzPmON7hC8nxcbaJzR8c9Lrl7x6Zo+rod+JcP Amn6Xs5Xl6q/vUJvHuEgxPwn/JZHDvy8QzeKiGS/jmeE4DGTlHTdWqy6SzA1Xw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708388258; a=rsa-sha256; cv=none; b=bSK3s2fpRXU7tuEVzOoou5aEIXz7Z0wYKo42KJj/Kls702xDahjYsa2nkYOAUhCtIHBWm4 h0wLGFAElUiLojsfpnxn5vTzTUlNl37opVTAMZTRAd00iCG0/5CcBV93GEvDHzdATzs3Si jN+EErGLF1trI4VbVZlOTTg6eVN6dutknymIWLIcDGCy/QBJ+y4wG/RFsqnC/5VlIh5lWu //TuV9qLE221lORq4HaRkIcvGLRJV2qzZSTCuinVKKr4RBhkxCOvu5OcbtB4mQpjQp/idG /SiciopLlT0JmmyNSZmtM6oWRCEplyia0e80k5PhpaaPD3dOFwxaRpDZLKtaOg== 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 4Tf0NL4Ldhzwcm; Tue, 20 Feb 2024 00:17: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 41K0HcYX055313; Tue, 20 Feb 2024 00:17:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41K0Hc0H055310; Tue, 20 Feb 2024 00:17:38 GMT (envelope-from git) Date: Tue, 20 Feb 2024 00:17:38 GMT Message-Id: <202402200017.41K0Hc0H055310@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: b241767f8ef3 - main - Eliminate unnecessary UFS1 integrity checks. 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: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b241767f8ef38f9ca7c109fe2fccd11ccbfaa4f0 Auto-Submitted: auto-generated The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=b241767f8ef38f9ca7c109fe2fccd11ccbfaa4f0 commit b241767f8ef38f9ca7c109fe2fccd11ccbfaa4f0 Author: Kirk McKusick AuthorDate: 2024-02-20 00:16:07 +0000 Commit: Kirk McKusick CommitDate: 2024-02-20 00:17:05 +0000 Eliminate unnecessary UFS1 integrity checks. The UFS1 integrity checks added in FreeBSD 14 were too aggressive for UFS1 filesystems created in FreeBSD 4 and 9 systems. This patch removes those tests which can be done safely since they are not relevant to the current implementation of UFS1. This is a follow-on report to bug report 264450 (comments 21-28). Reported by: slb@sonnet.com Tested by: slb@sonnet.com PR: 264450 MFC after: 1 week --- sbin/fsck_ffs/fsutil.c | 2 -- sys/ufs/ffs/ffs_subr.c | 4 ---- 2 files changed, 6 deletions(-) diff --git a/sbin/fsck_ffs/fsutil.c b/sbin/fsck_ffs/fsutil.c index aa536fb5dd4e..2acf825b159f 100644 --- a/sbin/fsck_ffs/fsutil.c +++ b/sbin/fsck_ffs/fsutil.c @@ -1017,7 +1017,6 @@ check_cgmagic(int cg, struct bufarea *cgbp) CHK(cgp->cg_ndblk, >, sblock.fs_fpg, "%jd"); if (sblock.fs_magic == FS_UFS1_MAGIC) { CHK(cgp->cg_old_niblk, !=, sblock.fs_ipg, "%jd"); - CHK(cgp->cg_old_ncyl, >, sblock.fs_old_cpg, "%jd"); } else if (sblock.fs_magic == FS_UFS2_MAGIC) { CHK(cgp->cg_niblk, !=, sblock.fs_ipg, "%jd"); CHK(cgp->cg_initediblk, >, sblock.fs_ipg, "%jd"); @@ -1034,7 +1033,6 @@ check_cgmagic(int cg, struct bufarea *cgbp) } else if (sblock.fs_magic == FS_UFS1_MAGIC) { CHK(cgp->cg_niblk, !=, 0, "%jd"); CHK(cgp->cg_initediblk, !=, 0, "%jd"); - CHK(cgp->cg_old_ncyl, !=, sblock.fs_old_cpg, "%jd"); CHK(cgp->cg_old_niblk, !=, sblock.fs_ipg, "%jd"); CHK(cgp->cg_old_btotoff, !=, start, "%jd"); CHK(cgp->cg_old_boff, !=, cgp->cg_old_btotoff + diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c index 20addf66a65b..bcb4d25c8ad9 100644 --- a/sys/ufs/ffs/ffs_subr.c +++ b/sys/ufs/ffs/ffs_subr.c @@ -395,7 +395,6 @@ validate_sblock(struct fs *fs, int flags) } else if (fs->fs_magic == FS_UFS1_MAGIC) { FCHK(fs->fs_sblockloc, <, 0, %jd); FCHK(fs->fs_sblockloc, >, SBLOCK_UFS1, %jd); - FCHK(fs->fs_old_ncyl, !=, fs->fs_ncg, %jd); } FCHK(fs->fs_frag, <, 1, %jd); FCHK(fs->fs_frag, >, MAXFRAG, %jd); @@ -472,16 +471,13 @@ validate_sblock(struct fs *fs, int flags) WCHK(fs->fs_old_rotdelay, !=, 0, %jd); WCHK(fs->fs_old_rps, !=, 60, %jd); WCHK(fs->fs_old_nspf, !=, fs->fs_fsize / sectorsize, %jd); - FCHK(fs->fs_old_cpg, !=, 1, %jd); WCHK(fs->fs_old_interleave, !=, 1, %jd); WCHK(fs->fs_old_trackskew, !=, 0, %jd); WCHK(fs->fs_old_cpc, !=, 0, %jd); WCHK(fs->fs_old_postblformat, !=, 1, %jd); FCHK(fs->fs_old_nrpos, !=, 1, %jd); - WCHK(fs->fs_old_spc, !=, fs->fs_fpg * fs->fs_old_nspf, %jd); WCHK(fs->fs_old_nsect, !=, fs->fs_old_spc, %jd); WCHK(fs->fs_old_npsect, !=, fs->fs_old_spc, %jd); - FCHK(fs->fs_old_ncyl, !=, fs->fs_ncg, %jd); } else { /* Bad magic number, so assume not a superblock */ return (ENOENT); From nobody Tue Feb 20 03:54:24 2024 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 4Tf5BS2pXWz5BC1l; Tue, 20 Feb 2024 03:54: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 4Tf5BS2F6Kz4CZt; Tue, 20 Feb 2024 03:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708401264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NDwa7YAw9Y3anvVJGffsgZviiGq3XVvIuweELDSrvqc=; b=D5f7+3E6iX/J6WrehWgi3oWo82QHQ6RtqzcMA/f7EaTE5FRigszJM7pEZ9DH/Dhs9WpRpI VVhl3bU67iVltRp6SepupE/gw1w0zPBjAt4yQzeRECWuTfJk6O0alovLe2KcYv3AqBdzjW iFBwywpycHtjrQisLETRG6i4IBe67f/hfDtCP67HlmPEKV5s31PEwAPqxTmMbLbli8O/Oo q2soTnn4PBqInJG53Sc25g49I+IbRYvtyHYWCOL862eOVWppUNsbpU6z9qXy8ss/CBDUVy hm/9IBK0y0MdoK/szcOGntqsQ6H01T/pN0RYcgpF7fcTpXusiw4yZs0ruOKGxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708401264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NDwa7YAw9Y3anvVJGffsgZviiGq3XVvIuweELDSrvqc=; b=G3GXmr/bktNOWgGCiFMH9fhuuRLNP+DlcWs4AvMd34hcQq71K84NECuHh/C9ptSo0/u7p5 b25lkg3b2fs9b0+2Q7b1hu6XNIcGNVYfCE9svPkNTQA9K57GD3fa0ZJYOa4+pyCQDH8OyX yeyCZWPjWCW3dHdX2L1Ldu6FZGHE0LMFreSlcui8wVsthd2SWOWqMzTaZcEFK/7cHKFsB5 PBURTSM2cGwCPAnKE3VYi4yKs/v3pLwoPa/ZnyPmOTB0vkZAZbvp1WZgPk6VzuToFyTEVt e/JMoJVjCeR/DsuGpZh3Ia8lBg+5hve99u6ldWjWJSvaWF5kiYXH+eZ21cEcVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708401264; a=rsa-sha256; cv=none; b=qiLD3F9faPaenPj1rEdBRW0vjxb9SdDvSU5rtNAoOWCh3tZLwFDBRYTkPv67kRCn53fenN Frxw0zo9sVNqmklnreTMM/5/9wjGu5fR8S8/yp5YvA8B9Ch+Yr/nqCMfZx1JUQrC3QWXzB JZMYIGWWLhG6PuZdl7fUpf+bcsePkil6yWJ/7TH3tk4G9Z4Y+1Qm6O0adRlprUqA1gCLdK 36LZ7j4E3cmtpYxcB0CQL3V45qEETXw34QBVJvyGHVDo6iv2DfWt93zi2/vq2vgcN+/1Fz cP9pY5aNW3L8kIJ9AIms1rCgc03m6Ir/l11+PUcHTgb5k0maSKwe8JygJm6OLQ== 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 4Tf5BS1HnFz12tj; Tue, 20 Feb 2024 03:54:24 +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 41K3sOJM025587; Tue, 20 Feb 2024 03:54:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41K3sO13025584; Tue, 20 Feb 2024 03:54:24 GMT (envelope-from git) Date: Tue, 20 Feb 2024 03:54:24 GMT Message-Id: <202402200354.41K3sO13025584@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: 3aefe6759669 - main - nextboot: fix typo that merged two args into one 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: 3aefe6759669bbadeb1a24a8956bf222ce279c68 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=3aefe6759669bbadeb1a24a8956bf222ce279c68 commit 3aefe6759669bbadeb1a24a8956bf222ce279c68 Author: Gleb Smirnoff AuthorDate: 2024-02-20 03:51:22 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-20 03:51:22 +0000 nextboot: fix typo that merged two args into one Fixes: fd6d47375a78fbf0737012b7cc11180291781e8b --- 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 d215255487a7..7ea4d50eaf74 100644 --- a/sbin/reboot/reboot.c +++ b/sbin/reboot/reboot.c @@ -79,7 +79,7 @@ zfsbootcfg(const char *pool, bool force) "-n", "freebsd:nvstore", "-k", - "nextboot_enable" + "nextboot_enable", "-v", "YES", NULL From nobody Tue Feb 20 03:54:25 2024 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 4Tf5BT3xZvz5BC4R; Tue, 20 Feb 2024 03:54: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 4Tf5BT2nWzz4CQq; Tue, 20 Feb 2024 03:54:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708401265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iAppBMpE6uD9AGRzi9VyX03AG6OsFCUtTH77yhlmaC8=; b=KPSquVBpqBj0aWuiazh+ls9w+VFV3EfKSl6UwCgcsv5msIT0rm0HgOWBSRFPr5+5+BlYSa hMZltgxRglU/V8/kN2ReuMIcOClOU4mdynaSq2fgEqPg+hr7sxqCCAua2S4pRz2znJa1Um VcSJ+vhXbL4w9KO1KCLK2cpG7q3A8LawPSDQ9gxRFICxJyqdeZ52Avgm+Xsk6EYqyq+2LI BRbniv0T9KMNYKx3wMxCp3sPgiRUpsbskJJVQcJwUP4lX1lylFZ4ufMnS0yupZl1ySFn9y 2t45AFEQu4UkcGeG4s+h4w8wwz+PyZnOT6dEYZ8sghKpCMZvaPVp6AyC4h6XUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708401265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iAppBMpE6uD9AGRzi9VyX03AG6OsFCUtTH77yhlmaC8=; b=DyaPdeYK46eYXOlDRRiFdbZUWcQGVnggHnN/PeVyokFAkkWuawtbJcw1BkLBp+W0brFc7v NQtE14OTDwXgoysp1NctGoJZVfNL6d1KzG8XnAi0QeujMsfy22K5EnHiQDqoLpX/A8dkai 7RLp33IOHTL6ZAUv0r8Koj+i/g4fS6crQ9RR/ubRCN+Ie7YELr/q4XQUUVAhmSdrkYiqXO mNlXZbGDQN6GBXew+Pd+P52cU44CB5FQ1XwG8sUKzv0U/ublNTgYg3F7tVrtG+tteF3uFm KHU/Ba81n0C59MaRBw4qw9bVhJ3h4MBicJoQhdA1/71PxaFze5WoAIT19uq0TA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708401265; a=rsa-sha256; cv=none; b=pIGMYfpRLyVS+M0MzPxNb8eLpBHpy0+RbFc7wn5llUuTQU7ApPScT8VVOq5qSigzwg2gn/ Hez18d1jvvb8fF49p797x3X4A0VFjrwqcfTBYszGUmpcf1kxLiJwFfyFhnjpLigdEQkrja KcsNa2dWvMxO6NcrNc1yaX3EVm8BogKmW/kAJQGa5rED4PDFqgm8FbJcPijp7s4Ls/IH/K pMg+h8qU1YK1xSIi1a4S7P30UIeJGqZw17M2KSSZqpZdeiLM83HMiXscwB+PZEKbK2Wmxp Smdk3XHb9F42Qc3rxO9vSbqrvG8400acHRxpD+feOTVrhhYTTVVO2P966RZO5g== 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 4Tf5BT1sQJz139V; Tue, 20 Feb 2024 03:54: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 41K3sPbo025632; Tue, 20 Feb 2024 03:54:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41K3sPeT025629; Tue, 20 Feb 2024 03:54:25 GMT (envelope-from git) Date: Tue, 20 Feb 2024 03:54:25 GMT Message-Id: <202402200354.41K3sPeT025629@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: 0c3ade2cf13d - main - nextboot: fix nextboot -k on ZFS 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: 0c3ade2cf13df1ed5cd9db4081137ec90fcd19d0 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=0c3ade2cf13df1ed5cd9db4081137ec90fcd19d0 commit 0c3ade2cf13df1ed5cd9db4081137ec90fcd19d0 Author: Gleb Smirnoff AuthorDate: 2024-02-20 03:51:22 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-20 03:51:22 +0000 nextboot: fix nextboot -k on ZFS zfsbootcfg(1) expects pool name to operate on, not currently mounted filesystem name. Fixes: fd6d47375a78fbf0737012b7cc11180291781e8b --- sbin/reboot/reboot.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c index 7ea4d50eaf74..ac3927cc2432 100644 --- a/sbin/reboot/reboot.c +++ b/sbin/reboot/reboot.c @@ -130,6 +130,11 @@ write_nextboot(const char *fn, const char *env, bool force) } if (zfs) { + char *slash; + + if ((slash = strchr(sfs.f_mntfromname, '/')) == NULL) + E("Can't find ZFS pool name in %s", sfs.f_mntfromname); + *slash = '\0'; zfsbootcfg(sfs.f_mntfromname, force); } From nobody Tue Feb 20 08:27:57 2024 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 4TfCG62W1Rz5BdF5; Tue, 20 Feb 2024 08:27: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 4TfCG61vFTz4Z9K; Tue, 20 Feb 2024 08:27:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708417678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QBPKwos+Tw1ToRYBo5UPn3WaYB7EXPOfhasUPOBkOa0=; b=GCCMB4ETu8fo61+GOzBzpxh9k0V4lAeR2QiZgKL+ECQ+ydcTFjOgdvc8yWqQxlptpsvrZu qJzBUQB8ihE19axpQI04o9CYyjpV/oWGLAx7X5cYPc51IZ1q464zzkbwS0qA7xSQqya8ep 6UHfegTKkOEQlZyNSTMEYs67oL4p6VWnXfq4GuFrV/PvjanE5+TzAYmVcno5fuKIKj6M20 CZ/iSUMU769O6dtyy34pTKorhOUHEWE8KIEqH4iYXPkSRFigCyWpLHaSzvQ03I5dYbzbjB xz67q2CoiREp3k8aO4Ye9F/TdxSUCuifaHN3jXHQlK9hgQ0XSESSeALiMZsWdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708417678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QBPKwos+Tw1ToRYBo5UPn3WaYB7EXPOfhasUPOBkOa0=; b=bpl8f9I9yGReIvW8Qu1NorA3NO/4Leh+ZrhpTJ0epArGkug9Tvm4mXo6V2tmhGXH7KmL3f kaIn90s5PTJj/DF4Llwv7w8GJy6YapZq2GUTZKhxkMpaj5oPusVLHjU39XhEMPLrBv3MNo tN1XSm2Gr03hbhqyC1FkdHV5cjFOyK8b19Mh218ott5iJE9jSlILFe74PKsY/DhA2+qcrR XW0Wo9SyIwHqS5KIF8DA72iH2vVPIOsfYWPm+frN/SnT8Ttv88ckwhHFhgrHjwjlKQDxJR w9eMWFZCQygK0TouAMMmkOEg2ktz1DW7uckKZ+/viZJV9zxyRaazNQEDBswCuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708417678; a=rsa-sha256; cv=none; b=J2rvMWfXknKqwA8/f5cJrMhiERm1ma+/mPUHmqEv2m3cTXPg6QJlNH4oetb3zxhnKF35+b eLK8Ecg5+evcfPknmb0jQH+qQXrTMW24Ixx7ej/eZWtIs4FJG0WA6sM4KZziF4xiOO/Efw +1AZqaJySt4NH1GN0MIfcVO2SJ+l4nnzFHrKslU/t4NoZgPTdUBgtMgbVAZZYOG5iL61W+ jYZzrXSmWzqWI9XCWQ3CL3BH6IGtfD9Bo8Ll3cTomNwunxu7mUvFygAyS0EblyWfVoLvBP Tit8OsSk14T7XcxOle1vNcTo+bmD3mjIMDRngqu8tVCFQ7Kw8BqBWubPzoZepA== 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 4TfCG60rSxz1B10; Tue, 20 Feb 2024 08:27: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 41K8RvSX081177; Tue, 20 Feb 2024 08:27:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41K8RvL5081174; Tue, 20 Feb 2024 08:27:57 GMT (envelope-from git) Date: Tue, 20 Feb 2024 08:27:57 GMT Message-Id: <202402200827.41K8RvL5081174@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 261f70ffc8a8 - stable/14 - Annotate 'rebooting' with __read_mostly 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 261f70ffc8a85085c4bc3632818f77e60d4d076e Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=261f70ffc8a85085c4bc3632818f77e60d4d076e commit 261f70ffc8a85085c4bc3632818f77e60d4d076e Author: Olivier Certner AuthorDate: 2024-01-18 10:22:28 +0000 Commit: Olivier Certner CommitDate: 2024-02-20 08:27:03 +0000 Annotate 'rebooting' with __read_mostly While here, put such annotation after the variable for 'dumping', since it concerns the variable and not the type. Reviewed by: markj Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D43570 (cherry picked from commit 12d6a032dff10fad72f7d3f1bb5cb4c53b9c4284) Approved by: markj (mentor) --- 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 149a9456173f..d1fe560c5c9b 100644 --- a/sys/kern/kern_shutdown.c +++ b/sys/kern/kern_shutdown.c @@ -229,8 +229,8 @@ SYSCTL_INT(_kern, OID_AUTO, kerneldump_gzlevel, CTLFLAG_RWTUN, const char *panicstr; bool __read_frequently panicked; -int __read_mostly dumping; /* system is dumping */ -int rebooting; /* system is rebooting */ +int dumping __read_mostly; /* system is dumping */ +int rebooting __read_mostly; /* system is rebooting */ /* * Used to serialize between sysctl kern.shutdown.dumpdevname and list * modifications via ioctl. From nobody Tue Feb 20 08:27:59 2024 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 4TfCG72xQRz5BdX2; Tue, 20 Feb 2024 08:27: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 4TfCG72Q7wz4ZCp; Tue, 20 Feb 2024 08:27:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708417679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zamdiJNUvICk8c1+y3rsKzN00HxvsO1nTDFar2Zg3iw=; b=Gg9nIgDYaulJq+Rle22qmPuYGHSj0iHT9KwbUQ3PZpwqGDEenDM81wBiNQP3VSKuK7QRUc AHv+Tm+De37+9x47eyQWDlDt3Rvjj5D7QVg0TbDrOEScZT5jG2/rGX4wfUtlOl7lT6r3mD f+wfCNohdE8/0jPwcCMMgBo2dzKF0LOtTQGiCqhxWpNG6lnDMZvZYCP1w+8nd7lEVcH22P h4u8GlR1CdVq3Pj1AKM+mw9VoaAkkHosK81l4DcpftMYp4RpXJqn7ZuFY5AvMUEVN/9aMp yiZRaivhYf+Z4qJ89GG/Jf/sEhlsl44BB4kMDd2HtspBDXUXdlxLJ4xVPou9Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708417679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zamdiJNUvICk8c1+y3rsKzN00HxvsO1nTDFar2Zg3iw=; b=QsTeSiHyNBnJut4FKUjkEXeIlgvHz4pJL+yhn4Z83dgc/tEc7mEN4HNbcoG/+uLcJkX2zv L74HlrBWZj965LOj1YPrUtftJOrVO/Daab8L7oBP58Cr8L6rndMMcoyNGL5Ocrr6ftIUDc eDeblEB84lpsG28qL3PXefzixJW5NkaMpdkGfsXPioNID9t09u8Ydotpjygw7yexsgjF54 Xa6nUWkth+mucd+aX6rUfNiPht+f4TNqx2R3hlXT5Wxufz8WlQ1M562JBVUpipoB4IwYmZ 1nLqQHnxpQHbaz6d0vy57EVvaaNegXaDDexCwfTDA/aO6xmO2kaHIWbOoxb58g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708417679; a=rsa-sha256; cv=none; b=Tx6YtlTb3gcFT2hmIDm91MR3Ax+k5YkfueF/4hzSggsbgyiPwY0qTjoM43B/li3qPDTC/l FuCUBDaXUn9DfcU2Q/8xN8IhvHTlW17KQFRe09oRBG9OUY+cLbkP7pGaSNXDkwWqyfhGgb loacDAiciCmqRdBZj3sM4PvvCoDY2rvPqKJC723BEZRzeEPou6T3gIVmpgo+cE2jCtb0L+ jMHHYLnfc8NHLKLxAU960X9pIiYl9DQ0HIp5zj1Al5SIo7dbRAqRT66umIdj4WAk3RifY4 hEYsKHWnG93vS8zaBYo7QhQjElc2RWyyGVHhsOU/NRFJCORsOWp4QU7aVETziQ== 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 4TfCG71VK3z19pS; Tue, 20 Feb 2024 08:27: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 41K8RxZI081227; Tue, 20 Feb 2024 08:27:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41K8Rx6x081224; Tue, 20 Feb 2024 08:27:59 GMT (envelope-from git) Date: Tue, 20 Feb 2024 08:27:59 GMT Message-Id: <202402200827.41K8Rx6x081224@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: a6d066d0120f - stable/14 - SCHEDULER_STOPPED(): Move it (back) to 'systm.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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a6d066d0120f0b83efca4e618050557a91259a30 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=a6d066d0120f0b83efca4e618050557a91259a30 commit a6d066d0120f0b83efca4e618050557a91259a30 Author: Olivier Certner AuthorDate: 2024-01-18 10:31:59 +0000 Commit: Olivier Certner CommitDate: 2024-02-20 08:27:07 +0000 SCHEDULER_STOPPED(): Move it (back) to 'systm.h' It's not an assertion, so doesn't logically belong to 'kassert.h'. Moreover, a subsequent commit will make it rely on a variable whose declaration also belongs to 'systm.h'. Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D43571 (cherry picked from commit cd0c52e50bc17f4c3fab998f9f33b1d3ada6c90e) Approved by: markj (mentor) --- sys/sys/kassert.h | 11 ----------- sys/sys/systm.h | 12 ++++++++++++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/sys/sys/kassert.h b/sys/sys/kassert.h index d7c1a21385f9..da7b66854a14 100644 --- a/sys/sys/kassert.h +++ b/sys/sys/kassert.h @@ -149,17 +149,6 @@ void kassert_panic(const char *fmt, ...) __printflike(1, 2); #define CRITICAL_ASSERT(td) \ KASSERT((td)->td_critnest >= 1, ("Not in critical section")) -/* - * If we have already panic'd and this is the thread that called - * panic(), then don't block on any mutexes but silently succeed. - * Otherwise, the kernel will deadlock since the scheduler isn't - * going to run the thread that holds any lock we need. - */ -#define SCHEDULER_STOPPED_TD(td) ({ \ - MPASS((td) == curthread); \ - __predict_false((td)->td_stopsched); \ -}) -#define SCHEDULER_STOPPED() SCHEDULER_STOPPED_TD(curthread) #endif /* _KERNEL */ #endif /* _SYS_KASSERT_H_ */ diff --git a/sys/sys/systm.h b/sys/sys/systm.h index 9a0932e50dc9..3721db649a3d 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -101,6 +101,18 @@ struct ucred; #include /* curthread */ #include +/* + * If we have already panic'd and this is the thread that called + * panic(), then don't block on any mutexes but silently succeed. + * Otherwise, the kernel will deadlock since the scheduler isn't + * going to run the thread that holds any lock we need. + */ +#define SCHEDULER_STOPPED_TD(td) ({ \ + MPASS((td) == curthread); \ + __predict_false((td)->td_stopsched); \ +}) +#define SCHEDULER_STOPPED() SCHEDULER_STOPPED_TD(curthread) + extern int osreldate; extern const void *zero_region; /* address space maps to a zeroed page */ From nobody Tue Feb 20 08:28:00 2024 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 4TfCG86DQLz5BdZQ; Tue, 20 Feb 2024 08:28: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 4TfCG83C6yz4ZJ7; Tue, 20 Feb 2024 08:28:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708417680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/D6snvRAIZUrexrSuDcTsbCPSTUWLnKFAdgoZ+R5bZE=; b=nXMvmut+Tm1ZDrjQksZBOmODKFsCHGQP/gYOntoYyIovfmSc5GMNJQ0r5rJQpDbv0UMXOc mdv2fQLQ4qmeWLzl1YUp6sV23CGJijGqaCJF7XrS/3HAthZEuB+vkY1EnKg7MUf72ogEXt iorYdbtEkWYUAMMmszT9Eu7svPjFQ1WUmkNjZlj4AbzrVvvkqG80pGTo0iPDEDVV8Rmmpo 3OHvVfZiO21KTfI8ShakM6NErsXguAHwvGPVc6eTYVtE+xW8AqhD7xTd99P+IC23WDIUrG rECTT/XbGJYBwwfcgDgam52GeBGrFH04R0RNMPySfstBXyk9gsnRZBB2jEdgeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708417680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/D6snvRAIZUrexrSuDcTsbCPSTUWLnKFAdgoZ+R5bZE=; b=FhHRHFvSfpNtUZXPnJLhWqPWySqmLFjVWNYtg6Fj+4Pu5ggjpKqEQi3kmj9o5dRZkWXtxf 8Rr8sjseH5b80k11WAxMOCzCXzsikr8ukZSLOEhPFEGsHsY4vl4ZvTW1hlb01zL1hYN6b1 ukP7PnbIS+hksXzpgg4I/Ez8l7qhhZorM7FJCcrf7oGiuZAkOqWk6wrtzNWI+KsTlF2kY/ i3KUjqxKUdnY5BkJVCjCkZo78vdpHZnzogFKQy51iVY3m7onRgeLVML8voFMzTMilkRk5Q 6rBdCPHCpfCZXJGyi0mKZ6qcZ6Se6fY6x74NyPSps7o8BPwP9pUa8rolC8GMoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708417680; a=rsa-sha256; cv=none; b=bEooa1KRg1Dr5yWJgu8LPrFQRf4KxmkTZTBKfRy1bG4c83CUMpFqrwPTaxE7+MAWpZ4Dvq Rjh+7wEP8M+lGEyCvE8AGpRs2UV6U1wNk/muCYTuIwEAe6K19TVCTMNz0JXkMEtHaa+1qo YZxcjnPz0ZeIAPAkwg9QmgULVE9P881PzSJL2Tbs38KCHgNR9VpYuSA8u1u0lJHe87/PAd MadpOqR/YHQpbCnD1ze3aOsHdzXsRmes41Ja4jaA5eJV6bNyJGfUPHx955C7wa5hvmKtx/ 6kcBAxJCF38MV7+NsnslJAttRDDqV4sJAbMk+7pEdO2dUHkwlpL7AaRIt59ZPQ== 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 4TfCG82Fxrz19ks; Tue, 20 Feb 2024 08:28: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 41K8S0wu081276; Tue, 20 Feb 2024 08:28:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41K8S0Rq081273; Tue, 20 Feb 2024 08:28:00 GMT (envelope-from git) Date: Tue, 20 Feb 2024 08:28:00 GMT Message-Id: <202402200828.41K8S0Rq081273@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 0f0bf1e880c6 - stable/14 - sched_setscheduler(2): Change realtime privilege 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0f0bf1e880c6854859a6e8c2ad97b46a688ee025 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0f0bf1e880c6854859a6e8c2ad97b46a688ee025 commit 0f0bf1e880c6854859a6e8c2ad97b46a688ee025 Author: Florian Walpen AuthorDate: 2024-02-14 13:50:44 +0000 Commit: Olivier Certner CommitDate: 2024-02-20 08:27:08 +0000 sched_setscheduler(2): Change realtime privilege check Check for privilege PRIV_SCHED_SETPOLICY instead of PRIV_SCHED_SET, to at least make it coherent with what is done at thread creation when a realtime policy is requested, and have users authorized by mac_priority(4) pass it. This change is good enough in practice since it only allows 'root' (as before) and mac_priority(4)'s authorized users in (the point of this change), without other side effects. More changes in this area, to generally ensure that all privilege checks are consistent, are going to come as olce's priority revamp project lands. (olce: Expanded the explanations.) PR: 276962 Reported by: jbeich Reviewed by: olce Approved by: emaste (mentor) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D43835 (cherry picked from commit 2198221bd9df0ceb69945120bc477309a5729241) Approved by: markj (mentor) --- sys/kern/p1003_1b.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/p1003_1b.c b/sys/kern/p1003_1b.c index 21c9e3a27039..6259f7092487 100644 --- a/sys/kern/p1003_1b.c +++ b/sys/kern/p1003_1b.c @@ -233,8 +233,8 @@ kern_sched_setscheduler(struct thread *td, struct thread *targettd, targetp = targettd->td_proc; PROC_LOCK_ASSERT(targetp, MA_OWNED); - /* Don't allow non root user to set a scheduler policy. */ - error = priv_check(td, PRIV_SCHED_SET); + /* Only privileged users are allowed to set a scheduler policy. */ + error = priv_check(td, PRIV_SCHED_SETPOLICY); if (error) return (error); From nobody Tue Feb 20 08:29:23 2024 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 4TfCHl6L22z5BdZZ; Tue, 20 Feb 2024 08:29: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 4TfCHl5qmnz4Zm7; Tue, 20 Feb 2024 08:29:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708417763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TXnfwHVGkciYtsvINkn10Yhvcv7uZjRxyOTZCu9oBa4=; b=S0JIPic3WnXKUfX9BNvIniC4+ADl+Q/HOhTKNr6HdwD/qcynoWa3yTn3zJAmxWvbz3/3cs SGiHoZHLtDX22VXNsFTK/NyIS97df1BzE5k6CtPaURJRQQxhpDdWcymY5AThlPcvGaQTd+ IJD/uN4UtGyRnLPkPLc2sdRQ1IgDpWvPdvARrqdJiOZBObwe2vYI5VDQYFBQmuc6eQxGzc BhaUEOL+RuUs23TA3C1r4N71zGHaZOLq0pvv18OAnwluA2ikE4isBs0fJx8voLtrsyYlGI eomd/N7vp6A3k13bRWD/XW+SLmJh46ncpYfyXz7xVRymxIPs11IVuqhkjHRELg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708417763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TXnfwHVGkciYtsvINkn10Yhvcv7uZjRxyOTZCu9oBa4=; b=jIFwIm2dVYKlhjPSJOX+m0ReADdy9zoRr11Su/H/Hs7uxHUgYefCtgpDug9CiMfnevj6Sg Kcs9920qoMWKzQXxmxlAdMARbJktvIYi+CMAf5TdCaqBDNyLFHvDiVhqmVrp7PS+RuSIKJ gl7aGdLTFSv0cdz2sd78i8mSxxpb07sKyJCoB4q4YJLUDARoX46dEkgj1p4XmUqbaKl3UD S1CBctarf4CaUK/fHJ6k4tAX1ZAZvdaqTp5T+WYVORZ4sEml22MhL4itBrY4RLExkhQISp YI717hSIn6Lo1JwYegQuoDr1qKxV+40dh6v9y9Fy4KXL+I1GmXwguCFjWBiYXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708417763; a=rsa-sha256; cv=none; b=MFE3sYfhzIQcqSve2ovLCEaxK9LKeHxn4FCUlxAJG/ThxF21JDlPcwFMjclXvW739PRNhc w9FlUXruRD+1CXhxunXtUp9wUP8dIuU7+jn3kOY1a4YiF+c3z0Pl1ujEB5o3bqvkwSh3wf agI6nlQo5nX7xGULFXq7qB5Veg8S7dm2F7ctFyqw0ymEfT8jhBmrp02L0dUCA1wkkDH6dd cL4vxakgB2KQnDKOXD3ADEYLg/BVrsHPVLOQjdIGy2eTB42ca+IUIqrAubKzZpr6Ic1zsg DEf8vwVhS9pszdL8H/jgxQaOs1TvQR0TuzrNuRQFz6FVZe65itZmFZnbib8+iA== 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 4TfCHl4tXzz19kt; Tue, 20 Feb 2024 08:29: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 41K8TN50081576; Tue, 20 Feb 2024 08:29:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41K8TNOU081573; Tue, 20 Feb 2024 08:29:23 GMT (envelope-from git) Date: Tue, 20 Feb 2024 08:29:23 GMT Message-Id: <202402200829.41K8TNOU081573@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joseph Koshy Subject: git: 81dc3a4d3bb9 - main - tools/net80211/wlanwatch: Remove obsolete code. 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: jkoshy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81dc3a4d3bb9fd0847530a3530f860e08a9b3ad3 Auto-Submitted: auto-generated The branch main has been updated by jkoshy: URL: https://cgit.FreeBSD.org/src/commit/?id=81dc3a4d3bb9fd0847530a3530f860e08a9b3ad3 commit 81dc3a4d3bb9fd0847530a3530f860e08a9b3ad3 Author: Joseph Koshy AuthorDate: 2024-02-19 16:46:45 +0000 Commit: Joseph Koshy CommitDate: 2024-02-20 08:27:30 +0000 tools/net80211/wlanwatch: Remove obsolete code. The symbol NI_WITHSCOPEID has not been defined by since May 2005 (since SVN r146690). --- tools/tools/net80211/wlanwatch/wlanwatch.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/tools/tools/net80211/wlanwatch/wlanwatch.c b/tools/tools/net80211/wlanwatch/wlanwatch.c index def94454cfab..6e3bfd798c2d 100644 --- a/tools/tools/net80211/wlanwatch/wlanwatch.c +++ b/tools/tools/net80211/wlanwatch/wlanwatch.c @@ -193,9 +193,6 @@ routename(struct sockaddr *sa) { struct sockaddr_in6 sin6; /* use static var for safety */ int niflags = 0; -#ifdef NI_WITHSCOPEID - niflags = NI_WITHSCOPEID; -#endif memset(&sin6, 0, sizeof(sin6)); memcpy(&sin6, sa, sa->sa_len); From nobody Tue Feb 20 09:01:11 2024 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 4TfD0R5GH9z5Bh1L; Tue, 20 Feb 2024 09:01: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 4TfD0R4mHyz4cpK; Tue, 20 Feb 2024 09:01:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708419671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mX3BT9u6oaOpkVEnPKUu7gNtg3StgaFORycRWpIRJzs=; b=FHeHmG9lxY4z5lIVC/sFqeK7IduUKabTbcVj4KUN2Hq/VA+Ioh+J66cyiPkhQ5LC6zhffN UoSmd2MZZfSKNMm+4JftD0R/NzrbGSJD6HD3efpOJL6ji44oQ1eZw/exPiG91RwEdpwfj2 RLYu1WadsitXxvpCRAFk4NZtsj70ee+xxr2otOP897q1wuQAPgYSu756hMehIwjKSiD0w6 t92uEn4lpGupkEYq2bmv4iXmvhnZ1kyDl+3ClKgWHcF3jg72u9nUTJpGRkpfYIOOAOoE6G toXTMgcdSFpYOh6CUxvDAEduNdue4JAcbj/Gfs/4FoehAv9yE4YCZT9VHKra/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708419671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mX3BT9u6oaOpkVEnPKUu7gNtg3StgaFORycRWpIRJzs=; b=uihc9n7iEGSWRJAlagAuViteCECJkrRWHK7G60ozuipGY9Jg1c+qY00Ae+XATb4MxkeADy 4LjIkx42z51fgJo2a+ZklaQNnRSBnSkZ1k+8r64Zy+hZZpjxZPrOvUMBX4y3D5wNrK/qro 89us09Ouw3C2tFpjs/uMRvQicQi2vtnJcvScu12lifL91RqO+YgY8eEDbvVEoKghBLJTzC GAjnUsGcYG54E8ZVYjmxTHgQbhIjSu6LFZdm0MFLTdaQFCY1hzUuZ/9CJdfiCv28cFi3px gLcX4ED7pmw5b2ugBpI73F4SD25l9jHSLSK9BdolpUA7plLqgEvPLkrWFJ8Wxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708419671; a=rsa-sha256; cv=none; b=CKLniysgYb9Jz2NEsV05O1+FUFlTtL05iiJQNox7D7ti9ViO0e80pX0HxDtY8WWgnRPgpq kpnd2ZjlBZ1RjohcE38Sf0EspKpq+7bCDx79b1YbnhkYH+OaFl1+gJ+WHSBG7fxyn6gYpl LpqS3+PB515ZkXWzmCNNZhh9Fuqkq8btB+eXOFWIE/dDOga/YBZDpq5cFRW1wm9jSwYaFq 2aAmX8ZVzwXm7tBeX3AIravfB0t09OGxUluyoJZpd1570OIZYJCDduwtmIHdafdfeHhiB/ LHgEE5fqebDRY+SJ7lVdPf5Eo8MRqjnPs2ww0sLkuM2wzhvwJxZ86+2rnoYHLg== 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 4TfD0R3pvVz1B8W; Tue, 20 Feb 2024 09:01: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 41K91BSP042899; Tue, 20 Feb 2024 09:01:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41K91BFX042896; Tue, 20 Feb 2024 09:01:11 GMT (envelope-from git) Date: Tue, 20 Feb 2024 09:01:11 GMT Message-Id: <202402200901.41K91BFX042896@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 2c8244485795 - stable/13 - Annotate 'rebooting' with __read_mostly 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2c8244485795f84bab27ffa0172d87a7fe867a27 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=2c8244485795f84bab27ffa0172d87a7fe867a27 commit 2c8244485795f84bab27ffa0172d87a7fe867a27 Author: Olivier Certner AuthorDate: 2024-01-18 10:22:28 +0000 Commit: Olivier Certner CommitDate: 2024-02-20 09:00:36 +0000 Annotate 'rebooting' with __read_mostly While here, put such annotation after the variable for 'dumping', since it concerns the variable and not the type. Reviewed by: markj Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D43570 (cherry picked from commit 12d6a032dff10fad72f7d3f1bb5cb4c53b9c4284) Approved by: markj (mentor) --- 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 4e168df25301..c899c4a6f10e 100644 --- a/sys/kern/kern_shutdown.c +++ b/sys/kern/kern_shutdown.c @@ -224,8 +224,8 @@ SYSCTL_INT(_kern, OID_AUTO, kerneldump_gzlevel, CTLFLAG_RWTUN, const char *panicstr; bool __read_frequently panicked; -int __read_mostly dumping; /* system is dumping */ -int rebooting; /* system is rebooting */ +int dumping __read_mostly; /* system is dumping */ +int rebooting __read_mostly; /* system is rebooting */ /* * Used to serialize between sysctl kern.shutdown.dumpdevname and list * modifications via ioctl. From nobody Tue Feb 20 09:01:12 2024 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 4TfD0S6nLXz5Bgn0; Tue, 20 Feb 2024 09:01: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 4TfD0S61gDz4dGV; Tue, 20 Feb 2024 09:01:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708419672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OtUaeT35NeR5vh4Jwz/K7+uKnYe4MN3pY2EouWbmsgQ=; b=XhhtHYjuIb4BqndHPITFjexbqEIp+POKB2ONKU3Q9CvXkq/c48KLIBlEjgCrLruILyYhDM xIDf34n8H4flcubO+dvJIzbYwO4jsWa+FXDyBn2O4Vdwe7ohaJbDFXQIWvtowDe5fld7FQ XRsxp0XeZ5DuiO/AyA4ZXsGzlPBC/AAGIPH0Zgv1b899B+OLJuLJO2xkYHKAMD2O+lGsGe 9TjVdWzsuBiVkOWKLMbAfTKSxFjD98GdbgNmkuz3/gxW15rV5h4ZZlL8XX6EltYCl7zNKK ub6qD5K3hDmh3N153YRyNq2SPChlYWEwr9voGxbgwr5BpqVky0YIZoWFt4FmsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708419672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OtUaeT35NeR5vh4Jwz/K7+uKnYe4MN3pY2EouWbmsgQ=; b=GQ7751LLuR7gU18wM2NoELhszeL6qThLo+YhtRK+CIwzDxrjNgPHxp9EygGI5RVv4gBM9w ANeCTdItZgKKc8FUcUArB+8ZYhiSmS7YuE1XVScQlf5WXJMMJJ+UIvlJCLNaWdRsM7MQuv qWRLnVbNJmGXDekq+vAaR1HiR31JpMZOI8IRSs7aZEWUBReYTLFWLMT6VTlNeNCBKiNfmg /lmbdk+2AyvHWwyyDe3WAtIhtS95FD/TWWLZb8+Rp+A9Ql+Lwj69JXVkWds8JdKYb1M9mR ifIqlHYgx833mniwQeTQZ0Ii6ED1LkzqVckPls3TVwfv+q+/k9Bzxb8xrRJfug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708419672; a=rsa-sha256; cv=none; b=GQZFqejAOgbWEeJNPINRbTyuE9MdbHZBAcOkaveBHnfTx5Tvb5NMvn36OBFblPPpnLHRfM MWw6tk9WrNKn9IwmcvnZ0U0Q5lBvRoP7Vk40dbUFkGus0L27FahrUewRDnXfLaTkGowWj7 tPzs8PWjpaWMxYlxu5FHJgwFsbQskh9toXGCsfFPL+uNGNxQTBfidVTVPMoesnX+gP8+Xz e8VKNKyS5WSYN57DIF0WrH/5UiD/AvHHPAP2jj6TVxOGCVzChLSTlCm59xz5KdbK2xq1RO qoKcfGBUGGGfoMMXXe/x6SN6A9DX4kenQBBtDK+h05Yx5v3ZqzE1DRIPPEUAsw== 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 4TfD0S4p2Wz1BHy; Tue, 20 Feb 2024 09:01: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 41K91CQR042944; Tue, 20 Feb 2024 09:01:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41K91Cng042941; Tue, 20 Feb 2024 09:01:12 GMT (envelope-from git) Date: Tue, 20 Feb 2024 09:01:12 GMT Message-Id: <202402200901.41K91Cng042941@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: ab978c432e4d - stable/13 - SCHEDULER_STOPPED(): Move it (back) to 'systm.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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ab978c432e4d3495f2720a485992ee523dbc582c Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=ab978c432e4d3495f2720a485992ee523dbc582c commit ab978c432e4d3495f2720a485992ee523dbc582c Author: Olivier Certner AuthorDate: 2024-01-18 10:31:59 +0000 Commit: Olivier Certner CommitDate: 2024-02-20 09:00:41 +0000 SCHEDULER_STOPPED(): Move it (back) to 'systm.h' It's not an assertion, so doesn't logically belong to 'kassert.h'. Moreover, a subsequent commit will make it rely on a variable whose declaration also belongs to 'systm.h'. Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D43571 (cherry picked from commit cd0c52e50bc17f4c3fab998f9f33b1d3ada6c90e) Approved by: markj (mentor) --- sys/sys/kassert.h | 11 ----------- sys/sys/systm.h | 12 ++++++++++++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/sys/sys/kassert.h b/sys/sys/kassert.h index d7c1a21385f9..da7b66854a14 100644 --- a/sys/sys/kassert.h +++ b/sys/sys/kassert.h @@ -149,17 +149,6 @@ void kassert_panic(const char *fmt, ...) __printflike(1, 2); #define CRITICAL_ASSERT(td) \ KASSERT((td)->td_critnest >= 1, ("Not in critical section")) -/* - * If we have already panic'd and this is the thread that called - * panic(), then don't block on any mutexes but silently succeed. - * Otherwise, the kernel will deadlock since the scheduler isn't - * going to run the thread that holds any lock we need. - */ -#define SCHEDULER_STOPPED_TD(td) ({ \ - MPASS((td) == curthread); \ - __predict_false((td)->td_stopsched); \ -}) -#define SCHEDULER_STOPPED() SCHEDULER_STOPPED_TD(curthread) #endif /* _KERNEL */ #endif /* _SYS_KASSERT_H_ */ diff --git a/sys/sys/systm.h b/sys/sys/systm.h index dcfe84e91cc2..d073c87af163 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -101,6 +101,18 @@ struct ucred; #include /* curthread */ #include +/* + * If we have already panic'd and this is the thread that called + * panic(), then don't block on any mutexes but silently succeed. + * Otherwise, the kernel will deadlock since the scheduler isn't + * going to run the thread that holds any lock we need. + */ +#define SCHEDULER_STOPPED_TD(td) ({ \ + MPASS((td) == curthread); \ + __predict_false((td)->td_stopsched); \ +}) +#define SCHEDULER_STOPPED() SCHEDULER_STOPPED_TD(curthread) + extern int osreldate; extern const void *zero_region; /* address space maps to a zeroed page */ From nobody Tue Feb 20 10:45:49 2024 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 4TfGKT3N2sz5BqfJ; Tue, 20 Feb 2024 10:46:05 +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 4TfGKT0BfSz4mKb; Tue, 20 Feb 2024 10:46:04 +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.18.1/8.18.1) with ESMTP id 41KAjn7H044165; Tue, 20 Feb 2024 12:45:52 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 41KAjn7H044165 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 41KAjnKx044164; Tue, 20 Feb 2024 12:45:49 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 20 Feb 2024 12:45:49 +0200 From: Konstantin Belousov To: Brooks Davis Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org Subject: Re: git: bda0c0dc87c5 - stable/14 - Remove redundand prototype, fixing the build. Message-ID: References: <202402181246.41ICkO86055179@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: 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-Queue-Id: 4TfGKT0BfSz4mKb 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] On Mon, Feb 19, 2024 at 10:40:32PM +0000, Brooks Davis wrote: > On Sun, Feb 18, 2024 at 12:46:24PM +0000, Konstantin Belousov wrote: > > The branch stable/14 has been updated by kib: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=bda0c0dc87c54b611d96b6d0dc1947819ffec083 > > > > commit bda0c0dc87c54b611d96b6d0dc1947819ffec083 > > Author: Konstantin Belousov > > AuthorDate: 2024-02-18 12:45:49 +0000 > > Commit: Konstantin Belousov > > CommitDate: 2024-02-18 12:45:49 +0000 > > > > Remove redundand prototype, fixing the build. > > > > This is a direct commit to stable/14. > > It would be best to revert this and cherry-pick the upstream commit > 3e4bef52b084d (also in our vendor tree) to avoid conflicts in future > merges of openzfs. Then some config.h needs to be regenerated. Can you provide me a pointer how to do that? From nobody Tue Feb 20 12:16:31 2024 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 4TfJKq5kQ6z5BxgC; Tue, 20 Feb 2024 12:16: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 4TfJKq5Dbnz4scy; Tue, 20 Feb 2024 12:16:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708431391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3ps7ACNqmbPf9fWh2qYQa0caM6b/MRdZJtyXkDIDsjg=; b=O+y4Q6fNz3WCAWFMPXwq1uHHemvfLHHzwU1xp9l9Pu7v9CvV6kP9urm/zjYvyQHLZruZ/l ifXXVhiKuYZbQ+1TJ4oRrM/8NPI6dupUOQV89hzmFr2aP8tlLlz7notRvggNdtAOEpLXPR iyCQmB9fa83bejKyQ71bktVEF0juc3kkaOzWlFrvFgQhAp5lc5KL3mLWvCTPl5vFkfUIaj LghBtjL5LOfO1GTfGB1IbXOBwkPR6VM0DabyrefsbkbvdsWI34ZaMVOFvJcSykgZ7PqhzF LSWUer66wrsSpJijUynTN5bSmMwm7hm/LLeOZCzr/TLPLJ3ycOeHu5tZet6xtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708431391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3ps7ACNqmbPf9fWh2qYQa0caM6b/MRdZJtyXkDIDsjg=; b=MpG+Ia+ViM47Jz838xZhVCTX4fBjM0WziD5PRCv7UVUdmTnwh0h9fw4i7NmrqMiYohjZXA 4wNCCN5uIrPeT92vPmIX88NNfKZTe5e4Sd95IA/h4tqQFAdhPAg8H7wc0eC/gFgZWgtJXE 9LAsdfJTnJELvCOFnHBF5hwcfRMopbJwIEdgRks7iWaK4nKIrrGXC6Do3o3VqgAYQJ0yHm 2TSC4RCiKrbZZJZg0cykQgOI+YU+Q3T8aLybJOGErT5dF0bIVegUZmeX9J1MDNh0TqSmqZ Lr5xCQiLWH+sTe1JW1sKAlV2ikJ+SauhyPZ4SRTxN67CwEv9JEnIqMAOuj6j3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708431391; a=rsa-sha256; cv=none; b=imxHJqhHkRVJaRiHP8roKimOGfYlAwBTZDA38yeeD/Ohi+A+RjxRVjSgd+Rdj7NSwzbD7O wVjIQaCIiPNQNHLQkzD13Yngi9AN5+5TFju3pcoRtfiLT6oQHQ7ju6J1SRYSLP2TBPakJT Z+E2whD/vNjSvsbTV4J/JfBLkrLXizGf9lrqt7+iHFgtW4GOGh1iyYeyfNo1lW1IY8hC4b PqOkx9EPoU5v8eQt8xN63xAmjtWsat2lpdoFfxNYW0Pk4iTlAuA+ZLIui1XbavFHt2Uux1 lvvHVJz/kCUIAaRA+RWmEZtSI/bFA6QTI3gw2tUzUaRGNgVeitoZ2n4wv/QMxg== 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 4TfJKq4K8gzJ9m; Tue, 20 Feb 2024 12:16: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 41KCGVlc068262; Tue, 20 Feb 2024 12:16:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KCGVXN068260; Tue, 20 Feb 2024 12:16:31 GMT (envelope-from git) Date: Tue, 20 Feb 2024 12:16:31 GMT Message-Id: <202402201216.41KCGVXN068260@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Stefan =?utf-8?Q?E=C3=9Fer?= Subject: git: 445d3d227e68 - main - msdosfs: fix potential inode collision on FAT12 and FAT16 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: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 445d3d227e68f85157d0301d1706aa488e8423da Auto-Submitted: auto-generated The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=445d3d227e68f85157d0301d1706aa488e8423da commit 445d3d227e68f85157d0301d1706aa488e8423da Author: Stefan Eßer AuthorDate: 2024-02-20 12:02:24 +0000 Commit: Stefan Eßer CommitDate: 2024-02-20 12:02:24 +0000 msdosfs: fix potential inode collision on FAT12 and FAT16 FAT file systems do not use inodes, instead all file meta-information is stored in directory entries. FAT12 and FAT16 use a fixed size area for root directories, with typically 512 entries of 32 bytes each (for a total of 16 KB) on hard disk formats. The file system data is stored in clusters of typically 512 to 4096 bytes, depending on the size of the file system. The current code uses the offset of a DOS 8.3 style directory entry as a pseudo-inode, which leads to inode values of 0 to 16368 for typical root directories with 512 entries. Sub-directories use 2 cluster length plus the byte offset of the directory entry in the data area for the pseudo-inode, which may be as low as 1024 in case of 512 byte clusters. A sub-directory in cluster 2 and with 512 byte clusters will therefore lead to a re-use of inode 1024 when there are at least 32 DOS 8.3 style filenames in the root directory (or 11 14-character Windows long file names, each of which takes up 3 directory entries). FAT32 file systems are not affected by this issue and FAT12/FAT16 file systems with larger cluster sizes are unlikely to have as many directory entries in the root directory as are required to cause the collision. This commit leads to inode numbers that are guaranteed to not collide for all valid FAT12 and FAT16 file system parameters. It does also provide a small speed-up due to more efficient use of the vnode cache. Approved by: mckusick MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D43978 --- sys/fs/msdosfs/denode.h | 8 +++++++- sys/fs/msdosfs/msdosfs_denode.c | 19 ++++++++++++++++--- sys/fs/msdosfs/msdosfs_lookup.c | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/sys/fs/msdosfs/denode.h b/sys/fs/msdosfs/denode.h index ad52a736592c..0d31b0583fa6 100644 --- a/sys/fs/msdosfs/denode.h +++ b/sys/fs/msdosfs/denode.h @@ -162,7 +162,7 @@ struct denode { u_long de_FileSize; /* size of file in bytes */ struct fatcache de_fc[FC_SIZE]; /* FAT cache */ u_quad_t de_modrev; /* Revision level for lease. */ - uint64_t de_inode; /* Inode number (really byte offset of direntry) */ + uint64_t de_inode; /* Inode number (really index of DOS style direntry) */ }; /* @@ -217,6 +217,12 @@ struct denode { #define VTODE(vp) ((struct denode *)(vp)->v_data) #define DETOV(de) ((de)->de_vnode) +#define DETOI(pmp, cn, off) \ + ((cn) == MSDOSFSROOT \ + ? (((uint64_t)(off) >> 5)) \ + : (((((uint64_t)pmp->pm_bpcluster * ((cn) - 2) + (off))) >> 5) \ + + pmp->pm_RootDirEnts)) + #define DETIMES(dep, acc, mod, cre) do { \ if ((dep)->de_flag & DE_UPDATE) { \ (dep)->de_flag |= DE_MODIFIED; \ diff --git a/sys/fs/msdosfs/msdosfs_denode.c b/sys/fs/msdosfs/msdosfs_denode.c index 612b318ce6e8..7f275d387a25 100644 --- a/sys/fs/msdosfs/msdosfs_denode.c +++ b/sys/fs/msdosfs/msdosfs_denode.c @@ -133,10 +133,13 @@ deget(struct msdosfsmount *pmp, u_long dirclust, u_long diroffset, * entry that represented the file happens to be reused while the * deleted file is still open. */ - inode = (uint64_t)pmp->pm_bpcluster * dirclust + diroffset; + inode = DETOI(pmp, dirclust, diroffset); error = vfs_hash_get(mntp, inode, lkflags, curthread, &nvp, de_vncmpf, &inode); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_get(inode %lu) error %d\n", inode, error); +#endif if (error) return (error); if (nvp != NULL) { @@ -191,6 +194,9 @@ badoff: } error = vfs_hash_insert(nvp, inode, lkflags, curthread, &xvp, de_vncmpf, &inode); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_insert(inode %lu) error %d\n", inode, error); +#endif if (error) { *depp = NULL; return (error); @@ -589,8 +595,11 @@ reinsert(struct denode *dep) return; #endif vp = DETOV(dep); - dep->de_inode = (uint64_t)dep->de_pmp->pm_bpcluster * dep->de_dirclust + - dep->de_diroffset; + dep->de_inode = DETOI(dep->de_pmp, dep->de_dirclust, dep->de_diroffset); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_rehash(inode %lu, refcnt %lu, vp %p)\n", + dep->de_inode, dep->de_refcnt, vp); +#endif vfs_hash_rehash(vp, dep->de_inode); } @@ -608,6 +617,10 @@ msdosfs_reclaim(struct vop_reclaim_args *ap) /* * Remove the denode from its hash chain. */ +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_remove(inode %lu, refcnt %lu, vp %p)\n", + dep->de_inode, dep->de_refcnt, vp); +#endif vfs_hash_remove(vp); /* * Purge old data structures associated with the denode. diff --git a/sys/fs/msdosfs/msdosfs_lookup.c b/sys/fs/msdosfs/msdosfs_lookup.c index eb4cbaa21ab7..2a90339d0878 100644 --- a/sys/fs/msdosfs/msdosfs_lookup.c +++ b/sys/fs/msdosfs/msdosfs_lookup.c @@ -586,7 +586,7 @@ foundroot: } if (FAT32(pmp) && scn == MSDOSFSROOT) scn = pmp->pm_rootdirblk; - inode1 = scn * pmp->pm_bpcluster + blkoff; + inode1 = DETOI(pmp, scn, blkoff); if (VTODE(*vpp)->de_inode != inode1) { vput(*vpp); goto restart; From nobody Tue Feb 20 14:23:26 2024 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 4TfM8G4mdFz5C8KC; Tue, 20 Feb 2024 14: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 4TfM8G3DjTz56d3; Tue, 20 Feb 2024 14: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=1708439006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wZMJAJlBwFb2bqjw2YPxWmFitPzXebKPNOCXN62n2NY=; b=xoM1gSuUNrYXU4dTsCp/rjGXfyEDw58SDVPaQZqo8A8hmHEJ1CXPdw/aieb3wgjubN6aye 3goLTWdvUcKlAZkOWkxE72exLR0LVUqNhy1v6uZJeACZsKJuFhLBiUW54HWqhmVURaWCf/ 7zA0DrqllYdLMB6J5mKKomSV3NQAOjQrnJHksZKfOTHifUfziCCvutUonN8tEvl3CrYNtG KBHcDR3ymw/c8HgjgzFD2TuEIxqBgISsX9CNZdAfC91neLBx8YLN0hcBBsMqJBZ2lHX1WT tndTYICOM2qFr3zscnmdxBDP1Q1E54IDv6cbglD8KgGkmIc4srkWunXDvoaLZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708439006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wZMJAJlBwFb2bqjw2YPxWmFitPzXebKPNOCXN62n2NY=; b=BWpiGfQR8oaAb//wodvVMT8tmZcN6eiOzYC3Tb1obiGVbIS1GBmPpIOwcMjL8SP1a5ozPl pTawpo6YFFJFole+kBhPVNDHGr5NnhN3EHn3hO1SBCV65NSHAKZPYZFrelPSdg5MbqQY0s Dpwjzq9h5cA1BX9Qqt8vV/M2662V55zYp30og8K3dYbIx2q5oiTfgB5ol0qNgETBky+PXH LCXMj0S7Nq7OuWGFb3nAPOqr4MMFSmZujA69fZDDYhnfb+SL6js2JM/sIQxVHCapWk3YlJ 6BzOIfM0FK0jZlyxvJDOv0IAatMcdchU0BIFWYS1jyhX1NoQ9Jb2J01vkJRXLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708439006; a=rsa-sha256; cv=none; b=iIvJrPOmG8YvHOlJ7xqyi93yPNtwrEIcxoYPu3yN2Og9lGmVATtKUSIC9jL2+gVGZWHF0f i2Fzx+is61gqJ/yxYHnaRGO4z5/yZmTkwia2wc3T9ZsYvTSshsWZGBRp/n7C5KHLhjsb0H 9kjFJcVCkJp4MJmHrOB+IhBMnS6u0CxzihmkI/TvhJiJDGymboR32tyeISzZZeO7jx8HpH T0B5aRddszJKhrgp9AfSxSOD2II0aQJKvcH4ZoXBcMkxmPDBdMUGC1/zEscAXlg58tbYBN 5Hy2FQDQwoaTBUJ/JMZzHyQaihG5UTXaNYKzEBBHcpV5aJhpl4TSt4xZlXoMqQ== 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 4TfM8G2H1hzLx9; Tue, 20 Feb 2024 14: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 41KENQpe086197; Tue, 20 Feb 2024 14: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 41KENQOI086194; Tue, 20 Feb 2024 14:23:26 GMT (envelope-from git) Date: Tue, 20 Feb 2024 14:23:26 GMT Message-Id: <202402201423.41KENQOI086194@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: 14e782708d37 - stable/14 - vmm: Fix compiling error with BHYVE_SNAPSHOT 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: 14e782708d375f19a8e19a4c7a42c5032f9997ee Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=14e782708d375f19a8e19a4c7a42c5032f9997ee commit 14e782708d375f19a8e19a4c7a42c5032f9997ee Author: Vitaliy Gusev AuthorDate: 2024-02-06 15:36:17 +0000 Commit: Mark Johnston CommitDate: 2024-02-20 14:21:14 +0000 vmm: Fix compiling error with BHYVE_SNAPSHOT The return values of copyin() and copyout() must be checked. vm_snapshot_buf_cmp() is unused by the kernel and was incorrectly implemented, so just remove it. Reviewed by: markj Sponsored by: vStack MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D43754 (cherry picked from commit 7572fe89ada63719b558c6b844e2743cd3ff6b6a) --- sys/amd64/include/vmm_snapshot.h | 7 +++++-- sys/amd64/vmm/vmm_snapshot.c | 44 +++++++--------------------------------- 2 files changed, 12 insertions(+), 39 deletions(-) diff --git a/sys/amd64/include/vmm_snapshot.h b/sys/amd64/include/vmm_snapshot.h index 5ed00c71d58a..b39c342bf6d9 100644 --- a/sys/amd64/include/vmm_snapshot.h +++ b/sys/amd64/include/vmm_snapshot.h @@ -98,8 +98,6 @@ void vm_snapshot_buf_err(const char *bufname, const enum vm_snapshot_op op); int vm_snapshot_buf(void *data, size_t data_size, struct vm_snapshot_meta *meta); size_t vm_get_snapshot_size(struct vm_snapshot_meta *meta); -int vm_snapshot_buf_cmp(void *data, size_t data_size, - struct vm_snapshot_meta *meta); #define SNAPSHOT_BUF_OR_LEAVE(DATA, LEN, META, RES, LABEL) \ do { \ @@ -113,6 +111,10 @@ do { \ #define SNAPSHOT_VAR_OR_LEAVE(DATA, META, RES, LABEL) \ SNAPSHOT_BUF_OR_LEAVE(&(DATA), sizeof(DATA), (META), (RES), LABEL) +#ifndef _KERNEL +int vm_snapshot_buf_cmp(void *data, size_t data_size, + struct vm_snapshot_meta *meta); + /* compare the value in the meta buffer with the data */ #define SNAPSHOT_BUF_CMP_OR_LEAVE(DATA, LEN, META, RES, LABEL) \ do { \ @@ -126,4 +128,5 @@ do { \ #define SNAPSHOT_VAR_CMP_OR_LEAVE(DATA, META, RES, LABEL) \ SNAPSHOT_BUF_CMP_OR_LEAVE(&(DATA), sizeof(DATA), (META), (RES), LABEL) +#endif /* _KERNEL */ #endif diff --git a/sys/amd64/vmm/vmm_snapshot.c b/sys/amd64/vmm/vmm_snapshot.c index dae4b1001182..5f078397eb95 100644 --- a/sys/amd64/vmm/vmm_snapshot.c +++ b/sys/amd64/vmm/vmm_snapshot.c @@ -58,7 +58,7 @@ int vm_snapshot_buf(void *data, size_t data_size, struct vm_snapshot_meta *meta) { struct vm_snapshot_buffer *buffer; - int op; + int op, error; buffer = &meta->buffer; op = meta->op; @@ -69,11 +69,14 @@ vm_snapshot_buf(void *data, size_t data_size, struct vm_snapshot_meta *meta) } if (op == VM_SNAPSHOT_SAVE) - copyout(data, buffer->buf, data_size); + error = copyout(data, buffer->buf, data_size); else if (op == VM_SNAPSHOT_RESTORE) - copyin(buffer->buf, data, data_size); + error = copyin(buffer->buf, data, data_size); else - return (EINVAL); + error = EINVAL; + + if (error) + return (error); buffer->buf += data_size; buffer->buf_rem -= data_size; @@ -99,36 +102,3 @@ vm_get_snapshot_size(struct vm_snapshot_meta *meta) return (length); } - -int -vm_snapshot_buf_cmp(void *data, size_t data_size, struct vm_snapshot_meta *meta) -{ - struct vm_snapshot_buffer *buffer; - int op; - int ret; - - buffer = &meta->buffer; - op = meta->op; - - if (buffer->buf_rem < data_size) { - printf("%s: buffer too small\r\n", __func__); - ret = E2BIG; - goto done; - } - - if (op == VM_SNAPSHOT_SAVE) { - ret = 0; - copyout(data, buffer->buf, data_size); - } else if (op == VM_SNAPSHOT_RESTORE) { - ret = memcmp(data, buffer->buf, data_size); - } else { - ret = EINVAL; - goto done; - } - - buffer->buf += data_size; - buffer->buf_rem -= data_size; - -done: - return (ret); -} From nobody Tue Feb 20 15:13:44 2024 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 4TfNGJ5Jslz5CDFS; Tue, 20 Feb 2024 15:13: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 4TfNGJ4pVMz400f; Tue, 20 Feb 2024 15:13:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708442024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kXhW1g1SGZipHfyeUnLYesZuRCgjfs/f+XCbcGVE04I=; b=HrovHs4nM/xOrsRv8K4KS4UP60Jdv6EO6VhGTVIHBzumqI8EtV1ynv6RgmqANbFFxG5c4s SXZzfdl9itwjYGTP7ODvX7EDQ/ydO4hJRZ3x4+CSP0RDo+ulkbTVLppyDoV6MV7JgUTAkF /nt0Xpji84eX4+es9xk3jwEdGZZxjYHJwXBD72Fhm9vMy/M/gi5bKop2izKTPp+5HK5+k1 sHPZzGDprqUt8VJry7J1HnU8Up6+ZBqZGQn02ndeeLC5zX/M+fXY5LHoLNopqta/byHNkm nFSJ6IcIGeQtvVtKQ+V1s7oInSI46SpIKBDe6PV9RblJmEqPgkddseJrqMD4vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708442024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kXhW1g1SGZipHfyeUnLYesZuRCgjfs/f+XCbcGVE04I=; b=PGQFuA/FHmwAc94haraV70ae6dZY9LB0E+eHcXdAn2Qvna6k6buQTbOcnVkBBDs1amZTBY ACRJ4pyOm5KeCkElWf2dLSQmEY135KY7cOV0J3V/7FZhMBE5+8Xh6EBey6WyeDWk/uVRNx 92CeONYS1varTxLh/wtkmgareTK9/je6OlCdVFGU1NBvaTXAj6ko4JrRAnxudmqym/G0A2 yli0pUtLmBBzN9wQ+QwWMRP6PVmwAc7wbfZ5gPwTj1Ngb726dpQ5nKBdlk/07HWpW9U31m fcA5eAxsnQfK7uliMzUVc84cc8M1NUJ/nN1GJdLFWgRry3ep2+b0y4FMDp6HTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708442024; a=rsa-sha256; cv=none; b=k0anoPNMnOvTMprYso4pb7PF2ewwe3l9VNWYD1ywNOSy2cGrnTAtFeiZIu0oZW5iBhezod f1ElVJbs0b0Aq/pL5JfDymFzKsooeznezmzj2rUmkLeKZCNqX4tJXrgNPn8mY3m+gmaRH2 JTEfV/62ktTlm9KThMISSuFTlGeWtVoneK5lIpahV58rSBdi42syAD8JxvUGWZUFMnw+Yl 1DUqAialQleI97W8gkT1MDC4o1X0OQ7fKuoezTTpUFVY0okv1SjuuotIAmU03eO82PwnA1 qBnmFt2JE7mQbS19dS+rZHfKiJuV/9hHbp6LYaYeItaS0+nOpUHGyEJY5yjkkg== 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 4TfNGJ3tP2zNN2; Tue, 20 Feb 2024 15:13: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 41KFDicE070932; Tue, 20 Feb 2024 15:13:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KFDiY1070929; Tue, 20 Feb 2024 15:13:44 GMT (envelope-from git) Date: Tue, 20 Feb 2024 15:13:44 GMT Message-Id: <202402201513.41KFDiY1070929@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 0ed5a203925e - stable/14 - mfc-candidates: search by committer only, not author 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 0ed5a203925e3bbe757c5952677d75a78114db21 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0ed5a203925e3bbe757c5952677d75a78114db21 commit 0ed5a203925e3bbe757c5952677d75a78114db21 Author: Ed Maste AuthorDate: 2023-09-24 13:13:15 +0000 Commit: Ed Maste CommitDate: 2024-02-20 15:13:33 +0000 mfc-candidates: search by committer only, not author When both --author and --committer are specified, `git log` requires both to match. Search only by committer, as it is typically the FreeBSD committer who will perform the MFC. Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41964 (cherry picked from commit 61f8df6a13a357e1d45c22a2016b87491f10de87) --- tools/tools/git/mfc-candidates.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tools/git/mfc-candidates.sh b/tools/tools/git/mfc-candidates.sh index 9e120d451beb..76ff9b4d53c6 100644 --- a/tools/tools/git/mfc-candidates.sh +++ b/tools/tools/git/mfc-candidates.sh @@ -118,7 +118,7 @@ fi authorarg= if [ -n "$author" ]; then # Match user ID in the email portion of author or committer - authorarg="--author <${author}@ --committer <${author}@" + authorarg="--committer <${author}@" fi # Commits in from_branch after branch point From nobody Tue Feb 20 15:16:53 2024 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 4TfNKx3Wcdz5CDV9; Tue, 20 Feb 2024 15:16: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 4TfNKx2v6dz40FJ; Tue, 20 Feb 2024 15:16:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708442213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mmWJ9kjkQRrZJmBxkncLtwV/FXnf2NDUgdcyTxK8L4k=; b=GIp2ET0JN10Ikh/VQdmSVQGHc3yADObBLej+8AoQKZ+i+0XTuS3ULyXyL1/ETcoQYpK9Y5 jNfeqOfKDbS0YlgApR0WYiBIVVsPeT31wZAR30Bf3nheyYsoW1W7knCeWz80us/v/bvLk9 70kMIXKuMryjEHGbzaia8N9Ck8vd85oHFOxrLkVwwEEzbGbo1zvTbxGT/fxWdlspj39uAG LVYD2E41qUsAQbMYBCj2wPQhazSmWiyLVPSL1rYRrOVIgjhB7JGF4AlXLjD/wJLFpxFQRk Oq+aug2N8NjMohkfRSHpXJilvk3lapM7Jqv5rnVz/vZRjPq1k+LPJWjZc5Cnzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708442213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mmWJ9kjkQRrZJmBxkncLtwV/FXnf2NDUgdcyTxK8L4k=; b=AyrFFRAGKatVc0T+oqTshTGrUqMznfeF5WqL8EX0hlEim/c9gvGOr4LvC0XANrhEn03wgT EM6098CzZzQCoQu14K/ZQHULuhuVsJwgS+Up3II2ra3r0XqTigKKORt2UW0tEGqacn7x74 OG7N9sWF2zMy4CafEm7mI5Ul7HcwXro9sYbECE+i8k7IPcvACwGmeGEvxZl3S06DYqm+62 6vbtiw/NO9s5NSTDuDIoqo4NQueu6V+l0oIMojM2OfjPN0fKg8ZFfoS0kUjsSK9c5PWEvD EbKWZKk8MAj8xk3u2HLVe6keiDXvnQkRsL/zXiBl+rhvfBvASJDv8c7H5FqryQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708442213; a=rsa-sha256; cv=none; b=rFXDMT4vuuwCzxWY1IPRo41XH0H66YUvFNEFAZk9tg8bVdXTGXKRRV8OCuIlLY1NYVbaJU 8ksHPwVtpeyB2q+9bR3c3hS6D+hKC71oGUfYTMVYCd+2LopR5o3nQdJebkpK7UuYKg5VoH mZW/VFFSucvNijQSK7prICxp74L/i7Ff3dmstcfqg+MipHSTeJABeH0iGldSj5UhbNGwwp DXyAMl+rqBI37zsCy1k+ksScaJvQM5RwDOJhlZ9pskpmu+rNiUnZzGmMhWOJ9VdicFNDHS IZ+gFBdvL2WzuAkl6xumbjAtFkf02kPG6HZ6G/pVv4simCTkZrVXMQO9EYZ8cA== 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 4TfNKx1rYxzNhP; Tue, 20 Feb 2024 15:16: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 41KFGrSm071537; Tue, 20 Feb 2024 15:16:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KFGrP4071534; Tue, 20 Feb 2024 15:16:53 GMT (envelope-from git) Date: Tue, 20 Feb 2024 15:16:53 GMT Message-Id: <202402201516.41KFGrP4071534@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: c8c5d91f48c4 - stable/14 - pkgbase: pass --recurse-submodules to `git ls-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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c8c5d91f48c4e4496fb2554489198a8817656e1e Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c8c5d91f48c4e4496fb2554489198a8817656e1e commit c8c5d91f48c4e4496fb2554489198a8817656e1e Author: Ed Maste AuthorDate: 2023-12-09 00:59:58 +0000 Commit: Ed Maste CommitDate: 2024-02-20 15:14:29 +0000 pkgbase: pass --recurse-submodules to `git ls-files` When generating source packages. Although submodules are not used by FreeBSD itself they may be used by downstream projects. By default for submodules `git ls-files` just emits the submodule directory name, which resulted in: pkg: pkg_checksum_hash_sha256_file(read failed): Is a directory Passing --recurse-submodules lists all of the files in each submodule (which is desired when submodules are in use), and has no effect when submodules are not present. Reviewed by: bapt, manu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42983 (cherry picked from commit 3b1904d9eb0468a49be3cd1d97de6d7ecaa66a43) --- Makefile.inc1 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 3537cf5ac579..2177ffb7cb27 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2092,10 +2092,12 @@ create-source-packages: _pkgbootstrap .PHONY .if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git) @cd ${SRCDIR}; \ ( echo "@override_prefix /usr/src" ; \ - ${GIT_CMD} ls-files ":!:sys/" ) > ${SSTAGEDIR}/src.plist + ${GIT_CMD} ls-files --recurse-submodules ":!:sys/" ) \ + > ${SSTAGEDIR}/src.plist @cd ${SRCDIR}; \ ( echo "@override_prefix /usr/src" ; \ - ${GIT_CMD} ls-files "sys/" ) > ${SSTAGEDIR}/src-sys.plist + ${GIT_CMD} ls-files --recurse-submodules "sys/" ) \ + > ${SSTAGEDIR}/src-sys.plist sed -e "s/%VERSION%/${PKG_VERSION}/" \ -e "s/%DESC%/FreeBSD sources/" \ -e "s/ %VCS_REVISION%/${VCS_REVISION}/" \ From nobody Tue Feb 20 16:49:54 2024 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 4TfQPG3F4xz53yPs; Tue, 20 Feb 2024 16:49: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 4TfQPG2kX1z4B7K; Tue, 20 Feb 2024 16:49:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708447794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xVBQj//ip0vFvcl3c9oMtQoSO3KaxIsukH5u9jOlrt4=; b=kaDmHW0jxcHL3yrxthN2buUM3sqGB+T7BWh7kLcb8ChhCPRGs+vDhch2Y6Fh8qBpfplRlw cLb+4+uhy8Jz/mHNn+ODhWSBJqjDaBlK7q0UCC10Qiw57FnwwzyR49Qe87ElcxK36Kb8nT OkLtubFaeNGo/gyn/GmbF991is72qwAw5syXqIa5mU9JedTemRoaN4XNjof1SMTcLztoKP vwVnFwsbkXfTDYL8HVI1tRH+oFhYlhdmiX+M19m3c1qttZJzmprW/VIQX3hq9YIf8Erih/ 70uIgcqtNb7n94BhdykunqUY3RiO4MJ5UeTsKSs9ycdQcoiuabIsbGNYH4DNpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708447794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xVBQj//ip0vFvcl3c9oMtQoSO3KaxIsukH5u9jOlrt4=; b=TQPpnB/5RMUWHqOGJVZbwFxxy1K0DGFiRGdNwoIp3oqKA9riuYhcQkW8G3lB1kWZ8kMlOb ldBG5G+39MmHtcyfh1jofQtebXQlmhGKuI7j36jg9w1nrYjK5Cvj5VozHee/IrO+Ul9Uv1 A10JC9x98mmd8V4RQ/XQv0skiAMszNVyG2yLJSoHm7TLEAGZV/9hp7a+lTte9b1yr3zMrG 0qDPxFt/CgvOo5i5TprUmmlBoeyQtJzzxxvyB08YK8IdF/HPrEcj4z722iGv9qyCMMtRvV bkvpts8qQ2MtcTB82q+Ww+XhiaNjvX2EL4xUuK0lHZBjfUuqJCvXfaNugwcEYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708447794; a=rsa-sha256; cv=none; b=PcC7a1C9NmezXbiuiBbgjSKzF7gLklxClzA+4I3JjilhuhzJXEmzw/JSrdGJoie7yZ1GXy 2Bm0WIYLA6Bj6omQc4OpjXH1bTC6Le5DBUvhwZWZWQG+0+mZquOttp0JouimTK8BonD90Z wP8VmY/326P5vRp/zT2ZfT44Hnr0QsMgMjndXzqsfrSKNWfvA7jknkZ8KX50Bjzw4N2GZl vGZALAjLlgqVUXd8ZmGlx/LeN2UhFUBllostCXq0cClIbL5b6I2eDaOeQDi1KgRw2ihC/f VHMuElD1H8Q5qIhjIy8vBwjRJEegCtrm3gmIWCOmJOYsb8GsTxJDaat8jLd9aQ== 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 4TfQPG1mrGzR1f; Tue, 20 Feb 2024 16:49: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 41KGns6Z023479; Tue, 20 Feb 2024 16:49:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KGnsRo023476; Tue, 20 Feb 2024 16:49:54 GMT (envelope-from git) Date: Tue, 20 Feb 2024 16:49:54 GMT Message-Id: <202402201649.41KGnsRo023476@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: 9dd5023e955d - main - iwm.4: add iwlwifi cross-reference 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: 9dd5023e955dac6bf1d4372d1b611a85f8b6f508 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9dd5023e955dac6bf1d4372d1b611a85f8b6f508 commit 9dd5023e955dac6bf1d4372d1b611a85f8b6f508 Author: Ed Maste AuthorDate: 2024-02-20 16:43:00 +0000 Commit: Ed Maste CommitDate: 2024-02-20 16:47:51 +0000 iwm.4: add iwlwifi cross-reference iwlwifi(4) supports a superset of the devices supported by iwm(4). The latter may be retired in the future (if there is no reason to prefer it for the set of devices supported by both). Sponsored by: The FreeBSD Foundation --- share/man/man4/iwm.4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/share/man/man4/iwm.4 b/share/man/man4/iwm.4 index f0ad81b4f696..b810f7016e54 100644 --- a/share/man/man4/iwm.4 +++ b/share/man/man4/iwm.4 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 4, 2023 +.Dd February 20, 2024 .Dt IWM 4 .Os .Sh NAME @@ -167,6 +167,7 @@ failed. This should not happen. .El .Sh SEE ALSO +.Xr iwlwifi 4 , .Xr iwmfw 4 , .Xr pci 4 , .Xr wlan 4 , From nobody Tue Feb 20 18:23:34 2024 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 4TfSTL49HXz55N14; Tue, 20 Feb 2024 18:23: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 4TfSTL3G4Jz4PdP; Tue, 20 Feb 2024 18:23:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708453414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UOdVJrEAVHXnVIipKyv9cXk+XIu6rlU2N3Q8X89y6M4=; b=BntOZBPMaFp96R2B8P5BGNZ5M8hYaYRcHGgtaAgfYDvTwjX7ABYzVYjx5NOTCszKyUmYcg v7o/Kmt/YidGh4KLGx3yyo6d9zjseiPR5AGlnPxWt03y3mk0OfRVIsOLsp8JxOI3QSH5bz 4AcFpXcTKFTbD7+rDi1ZkGTqF1dIrnzuKre+yOHbhUMPaWlsqOuTDXoGVwAycXMkxwDEDA Y1xuZasDv5FISa2C4J5pCAzxhKr578eq93mmjT0Je4UKT/bqEtC2/WVyw8u1hg9gjZFAuv MPCq9WSmZliZI4cng0BGJsxJ8HnpynqUf3aSnFxf0VANSKMLcGWXqb4a4iOeAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708453414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UOdVJrEAVHXnVIipKyv9cXk+XIu6rlU2N3Q8X89y6M4=; b=kU6R5fPJ4PFb2qgAOgQqvulQQbs3mtrc4BwFROoyNzfpFhDYPxicMYj5OmzqchwjbhEWD1 yivBJaNRHwqrXOb6IL8B5nL1b6yum3pFReC42puydtuwfNNSKmeyWtGQOZdCQS8p7E+2RM LN+hVCc9nejNqSJpG+//0ytoJgRTOyZv4gxv5dFEh8Bw7hMh/hOOxCK7GtPH3nhRL5xidM dw+vC3vlzNZ5iwFBLQ5ZwPB4C0Lyf1GGFQwBrDrumUofPHO1ZVSp2amAU9TKPcUyCHgomv KiL41d/H+jSze72QPxRPRL3h+W6Ueyzq3eAtqM2CoNlJ0/GB4N2yOCh+5GUECw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708453414; a=rsa-sha256; cv=none; b=VYNfdJnCDyaiYS1Yr2xZSB3fRs0hRR+wdXnCVp81a8CEaeCQCsbTk9KOzpFNX1u0Et7niq N8w+IjhVmR4uWpYdz3EvEJbhEFiQHMhsLP53vRBIp9IOWd7xC6yQ3xHr7VeeTa6O9myl9+ KEfzNS7aY3UzvLuyovXda/7+6lm7cdrNAVKr4sc8pGptMm1aaZ/6p1BohMWFhCnY7o8bkk mPr5WUjBDvWGwb+R92SgjtYTg9hMl0vaBdYKlss9Ya9sHkz2A5+S2MBA8NSPr6bkut0q3a uqW7R3YaV96+rBRwbv7WhAnN3URYXZ6NAgG5AZu08r6XYJV4zlbcizQqFTofNQ== 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 4TfSTL2Kc1zT9s; Tue, 20 Feb 2024 18:23: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 41KINYw4092049; Tue, 20 Feb 2024 18:23:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KINYDc092046; Tue, 20 Feb 2024 18:23:34 GMT (envelope-from git) Date: Tue, 20 Feb 2024 18:23:34 GMT Message-Id: <202402201823.41KINYDc092046@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: db43cefe080f - stable/14 - Proactively remove /usr/lib/kgdb file that became a directory 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: db43cefe080f7da93c5be1173b526855df65f6b1 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=db43cefe080f7da93c5be1173b526855df65f6b1 commit db43cefe080f7da93c5be1173b526855df65f6b1 Author: Dimitry Andric AuthorDate: 2024-02-17 11:27:33 +0000 Commit: Dimitry Andric CommitDate: 2024-02-20 18:22:06 +0000 Proactively remove /usr/lib/kgdb file that became a directory This was already handled in ObsoleteFiles.inc (see the 20201215 entry), but some people never run "make delete-old", or want to upgrade directly from a revision that still had the file to the most recent revision. They would then encounter a failure during installworld, similar to: install: /usr/libexec/kgdb exists but is not a directory Therefore, clean it up in the distrib-cleanup phase, similar to the earlier instances of libc++ header files that became a directory. MFC after: 3 days (cherry picked from commit e368e9b756772264acdbc11f3cc1d223bcd48dee) --- etc/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/Makefile b/etc/Makefile index 057bfe4fa7e7..a680572f66bf 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -126,6 +126,7 @@ MTREES+= ../${mtree} / # scenario. DISTRIB_CLEANUP_FILES+= ${INCLUDEDIR}/c++/v1/__string DISTRIB_CLEANUP_FILES+= ${INCLUDEDIR}/c++/v1/__tuple +DISTRIB_CLEANUP_FILES+= ${LIBEXECDIR}/kgdb distrib-cleanup: .PHONY for file in ${DISTRIB_CLEANUP_FILES}; do \ if [ -f ${DESTDIR}/$${file} ]; then \ From nobody Tue Feb 20 18:25:31 2024 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 4TfSWc1RQVz55N9X; Tue, 20 Feb 2024 18:25: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 4TfSWc0zVGz4Pvj; Tue, 20 Feb 2024 18:25:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708453532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LANmphCSS3dh+LD5GlKgOVYpp+FlbrrTDUNdI/mH3FU=; b=YZ4NPLO6ysiTlMCu+cj0PflxnIur40vP2l5nmPYpqkbbriG37BcxkII9HBLAudQn1D5eaz crBcgkNFFuMH+J13MBKhBiSlM2acCh3IvJkgjfGX4J0VzmqpJc8Brohjgq2PV8+MhCNi9i xpC+sN/GIYSlKy7lkQ+bEr6PrYN+kc5GVU6Rx0MrGE1oBlfNOWIdaB79JJpGBdBkL+5Z7S MAyfgPlBTgwWd6RNPl16hufpHnRi3P+shdL1FZ08ZAhi/S4N0aN49nem+ASO1DegnAdVWf kWRnTDdRiWdewXRPd2GRXvzIpMiOGQd2FPoXzXTKdlSfZEq813ahTIQrRkohLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708453532; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LANmphCSS3dh+LD5GlKgOVYpp+FlbrrTDUNdI/mH3FU=; b=jsuO3TZb+yn5Fpz1WbRNGGoBwmiiYKF+2BKfFsAjEdwB6LNMEofMPaY0P6J9zce0XyuH7M 3iZU8zqG6tDKHDOP8apVPG/DtDkDC6CEXPHPi/Z5qDUYGqzMTurjrlaq7XCUN2fY0kjUea l8lfHeBwXDFKIdqdDNWlN4OCM3RzUgEBzcvB7HjzOl47IudEA2P5jf9fcYSmxm9AqQaDxV Sl/zD6Zezpvf0W4iuxGbC+8dFFub41Dde+6nwzzK5bJSWFgDS5bNQGStk5k3pcREC2qaXV SAIK326UcBgLS5deO7rw9d54o6zr4wOYzfwtlmlw9ytcVJ5UbM/L4N2D/od0AQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708453532; a=rsa-sha256; cv=none; b=kG/PC5gQkFvcj90Abi+bc7hgt/yynGgAGalXDbqxPe2YCUYBdvfItTDCP6yhjXhUpeI6AR xTPvEIOejnJQfIdr82DGyfmXPD9KD9g3u8o67Wrbdo/TbUYatRVJpiHYXKunoFKFMO4hkF bu7LpCdVPEgP9wi6NlKDbVDGx9vjlwcy+GPOg5rM+z7E1mKDtz1aRlM3bF7bmGb2FeXRTt tTQGT2TqAkVLJ0NOYKQsa6Yep6SrWC8fKdOq+yhPSF1QpAV11dsW0oC6LmUyeN5Cn38E/y YH6n6yH308LuPIInHhi5j3OyA3XzYS2QapqIYYM/CV26AcUPnGcJyg2HUoSutA== 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 4TfSWc02sgzTll; Tue, 20 Feb 2024 18:25: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 41KIPVdJ092444; Tue, 20 Feb 2024 18:25:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KIPVtj092441; Tue, 20 Feb 2024 18:25:31 GMT (envelope-from git) Date: Tue, 20 Feb 2024 18:25:31 GMT Message-Id: <202402201825.41KIPVtj092441@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: f96dd1e361f8 - stable/13 - Proactively remove /usr/lib/kgdb file that became a directory 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: f96dd1e361f8e452a31b9928d1c0959eb6be6f27 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=f96dd1e361f8e452a31b9928d1c0959eb6be6f27 commit f96dd1e361f8e452a31b9928d1c0959eb6be6f27 Author: Dimitry Andric AuthorDate: 2024-02-17 11:27:33 +0000 Commit: Dimitry Andric CommitDate: 2024-02-20 18:22:57 +0000 Proactively remove /usr/lib/kgdb file that became a directory This was already handled in ObsoleteFiles.inc (see the 20201215 entry), but some people never run "make delete-old", or want to upgrade directly from a revision that still had the file to the most recent revision. They would then encounter a failure during installworld, similar to: install: /usr/libexec/kgdb exists but is not a directory Therefore, clean it up in the distrib-cleanup phase, similar to the earlier instances of libc++ header files that became a directory. MFC after: 3 days (cherry picked from commit e368e9b756772264acdbc11f3cc1d223bcd48dee) --- etc/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/Makefile b/etc/Makefile index 9b4b7c93d10a..05632e8ce710 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -125,6 +125,7 @@ MTREES+= ../${mtree} / # scenario. DISTRIB_CLEANUP_FILES+= ${INCLUDEDIR}/c++/v1/__string DISTRIB_CLEANUP_FILES+= ${INCLUDEDIR}/c++/v1/__tuple +DISTRIB_CLEANUP_FILES+= ${LIBEXECDIR}/kgdb distrib-cleanup: .PHONY for file in ${DISTRIB_CLEANUP_FILES}; do \ if [ -f ${DESTDIR}/$${file} ]; then \ From nobody Tue Feb 20 18:33:23 2024 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 4TfShh1Kb4z55NnS; Tue, 20 Feb 2024 18:33: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 4TfShg4Gw5z4Qcm; Tue, 20 Feb 2024 18:33:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708454003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/NitIqlswQx4WEXuAA1ir+2eM+4eijFFFj6xNtRP1uk=; b=lLctkctTtuOSxfQtFrkPkQX0u3TK7GhFD1hWotT1IaM9xMFHXXiTJKKk3Z5x+BbAd2cPCG btxNxLpIni/1EtenQKuiQEgnQgqVNP2mELtRHEmXeJxe14aTzJUy69AYPE+cCUkdA5gMHY AwNOni3M3pcsRVKrq/MA9eNVubblgpKeekvkgCe14uJIHyFg6xOdhXcmM8baWnZuYtzfd1 gsncnOkMzxPgaODyFDJHacyjrGgKZAps7I1bO6oKilk5ECMEg+cy+0BO6fedvruFbc1blL adJfbrmXDQECQn4nOGGlmQy3tA25VGzX+Y4cdoudzzNm3nUdGM7JfDDO9ShFcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708454003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/NitIqlswQx4WEXuAA1ir+2eM+4eijFFFj6xNtRP1uk=; b=mEBd9zL+yoTeqAQyj1RYWr3gSunTqgZ3ClcU2tn46hhPmitk3m3UxvaYAYXrVurnekv5nQ hpW48ndab4Xqn04eJw56hVmPpzk6hJrn7aXjHhqIP73uHaPhHTpEvxUAiTaqrpgExnBOo1 PUELHl5FYBFMViBNGa4WrxEPFKSf5+fuxKmcznXeiZZ0bf+euafGy4tvXgoHOVRMUofiuH 7PKZQXHTHeOiVyPCSZD/znmcJUugYn3TgDg/dXjz8GJnAm3Ax9emfJoWVm1sLkaS0cIKXc FDzQZeEybvyB2eMYLYDiYDVySKLjcjeg5ibzu8vYYlM7oeSKhUkvSUO2PbGw6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708454003; a=rsa-sha256; cv=none; b=rKBadLz1bRsnJr91gDWtdrnne1KbMNdlDHK7vSZLRRxtF3wNYGupLTFqW1yC1IApRXBtNb uiKwsQFr26TBNoRGlIrMmSv+4Ny+Ry7gCgPkzau3T1t73t7kvSGqO/aYVrrgCM65Nj7y93 9tMw9jHCrV3Lhm9m/ghqJ2Ke9cnlmQbZNTRMnkVAFfdqsStcBbODx2mi4yYan3jWt1MJVB raP+DmV94yjMSu2GlTGhM6RMdToDjk7d9zCouwz3XHVdiDjzT/HUaYuyefPLsJC+1bwjuf gbLAPLOjJX0N8PPbSnRAZn7QUeSaPB3W95ez7WFgX778Qqrj8zI6dqg9EA8clA== 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 4TfShg3NLjzV3J; Tue, 20 Feb 2024 18:33: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 41KIXNPr008780; Tue, 20 Feb 2024 18:33:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KIXNNv008777; Tue, 20 Feb 2024 18:33:23 GMT (envelope-from git) Date: Tue, 20 Feb 2024 18:33:23 GMT Message-Id: <202402201833.41KIXNNv008777@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: 28bc1822b786 - main - tests/arp: when checking 'arp -d' check that entry is removed 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: 28bc1822b7861112755dc2a6971eadac0f94a264 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=28bc1822b7861112755dc2a6971eadac0f94a264 commit 28bc1822b7861112755dc2a6971eadac0f94a264 Author: Gleb Smirnoff AuthorDate: 2024-02-20 18:32:03 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-20 18:32:03 +0000 tests/arp: when checking 'arp -d' check that entry is removed Previous check trusted the "entry was deleted" output of the command. Improved check does additional request to make sure that entry is not returned. --- tests/sys/netinet/arp.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/sys/netinet/arp.sh b/tests/sys/netinet/arp.sh index 9181d38b10b0..f13ba467a2d9 100755 --- a/tests/sys/netinet/arp.sh +++ b/tests/sys/netinet/arp.sh @@ -78,6 +78,7 @@ arp_del_success_body() { jexec ${jname} ping -c1 -t1 198.51.100.2 atf_check -o match:"198.51.100.2 \(198.51.100.2\) deleted" jexec ${jname} arp -nd 198.51.100.2 + atf_check -s exit:1 -o match:"198.51.100.2 \(198.51.100.2\) -- no entry" jexec ${jname} arp -n 198.51.100.2 } arp_del_success_cleanup() { From nobody Tue Feb 20 18:33:22 2024 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 4TfShg13Jxz55Nl9; Tue, 20 Feb 2024 18:33: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 4TfShf3fWZz4QxY; Tue, 20 Feb 2024 18:33:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708454002; h=from:from:reply-to:subject:subject: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/AAOUZfzgsotptUlEf75zQEnAkQuU0KS5xs0RXnpzU=; b=iVTrxaT6Wm21vgwBn2XZv2xKKbUmdY5lnuBKM8JwMVOPDqlyybEccwavfMNJPiO7j7XAus INf2PmBt9B2vY3+D86ps3nUOezAYHIRP67BnfLE0hAZuASXGJ7qDqR7/cTTRVWoTsUT7DQ Gl472S9exI3J00E31x22WYwL2YsI0oZPUo5FDdmnyBRdugzWG1Xq8VCGOjoOBpT7SgqFxE sosKFJD9rknOgbjMooDPdBXhXydqvVhKpW19p78eoKOKo3aeLWr66icIC4lp+UtVrMQbt7 SQUsdZJfCsUccFInDDYq/JcGn1GAp1bifulXwFvphotnP0d2zBQuQGDtoI1EoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708454002; h=from:from:reply-to:subject:subject: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/AAOUZfzgsotptUlEf75zQEnAkQuU0KS5xs0RXnpzU=; b=ixVKtGkljMaqms3TNG1klLPoyWxlASrL08tQNHTi9OC+lqwEr9lTPqJqVbf2EM5Q3kQL3Y ZkE6TbcQ9zJA6UPsavo3ehO7oFrEk3TBKHh6xwGY4FMAsbddXta9kgPxMPfxgbHZlBh+px ACEpgOncQo7estkuLNOB37h5INUK1SL/f8A0+ByCMn62etdzZwUP1D9w8OxkKmck8lvdtt eRy5ujvl5jQJDWW18HoSEcOBOoz7yzAPYsAwfQwSyS/iXJtLz2hzeDa86LLoo4u1skETu3 RgSL3za3XQyZ55J7yfH4H3XPmBNMl15RkG7vr8T9HBXFODSTABKvV1dVOEag3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708454002; a=rsa-sha256; cv=none; b=FAx+HuCK7WyJ2M7/qTH8EFAiBR85h3ux4S5eD+U0vtA9I8jhAr6d2GCQAYOSR11Bq8Nw+g UUMr/3ND2ieAq80pNAOWqDy8HQgHh/EwUjnV+52Q6onqJ9c040bf/4XtbV01np4vH3myIX FDSWeTEr0uMBP7KXsouFYyoGMJa62GnB7CDuvm8D8WdwSkPf5Cjz+jntWIgPrQCquOxCWw ttABD9BxFRQHNjgZILwNld/XLFMO1cIZFwcIlemw6HiBkZfKHcp0ibnkqjbHd4Zmy30ve2 6+tGmqU6sGyI3sVzh5ORTzSJVKPNjgCAl8C4AkZqUu8T2voBHnN417Fih0M5VQ== 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 4TfShf2lGGzV3H; Tue, 20 Feb 2024 18:33: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 41KIXMd1008723; Tue, 20 Feb 2024 18:33:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KIXMoA008720; Tue, 20 Feb 2024 18:33:22 GMT (envelope-from git) Date: Tue, 20 Feb 2024 18:33:22 GMT Message-Id: <202402201833.41KIXMoA008720@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: 6a3e87e1306d - main - arp: fix arp -s/-S 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: 6a3e87e1306d5058d63f7552a25ed6376422f658 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=6a3e87e1306d5058d63f7552a25ed6376422f658 commit 6a3e87e1306d5058d63f7552a25ed6376422f658 Author: Gleb Smirnoff AuthorDate: 2024-02-20 18:31:05 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-20 18:31:05 +0000 arp: fix arp -s/-S When setting a permanent ARP entry, the route(4) would use rtm->rtm_rmx.rmx_expire == 0 as a flag for installing a static entry, but netlink(4) is looking for explicit NTF_STICKY flag in the request. The arp(8) utility was adopted to use netlink(4) by default, but it has lots of route-era guts internally. Specifically there is global variable 'opts' that shares configuration for both protocols, and it is still initialized with route(4) specific RTF_xxx flags. In set_nl() these flags are translated to netlink(4) parameters. However, RTF_STATIC is a flag that is never set by default, so attempt to use it as a proxy flag manifesting -s/-S results in losing it. Use zero opts.expire_time as a manifest of -s/-S operation. This is a minimal fix. A better one would be to fully get rid of route(4) legacy. The change also corrects the logic to set NUD_PERMANENT flag for consistency. This flag is ignored by our kernel (now). Reviewed by: melifaro, tuexen, emaste PR: 277063 Fixes: 6ad73dbf65048b0950a1ba6ff25607f6708c8954 Differential Revision: https://reviews.freebsd.org/D43983 --- usr.sbin/arp/arp_netlink.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/usr.sbin/arp/arp_netlink.c b/usr.sbin/arp/arp_netlink.c index d78f380af04b..8644f3722aed 100644 --- a/usr.sbin/arp/arp_netlink.c +++ b/usr.sbin/arp/arp_netlink.c @@ -390,9 +390,6 @@ set_nl(uint32_t ifindex, struct sockaddr_in *dst, struct sockaddr_dl *sdl, char return (0); } - if (opts.expire_time != 0) - opts.flags &= ~RTF_STATIC; - snl_init_writer(&ss, &nw); struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_NEWNEIGH); hdr->nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE; @@ -402,11 +399,12 @@ set_nl(uint32_t ifindex, struct sockaddr_in *dst, struct sockaddr_dl *sdl, char ndmsg->ndm_family = AF_INET; ndmsg->ndm_ifindex = ifindex; - ndmsg->ndm_state = (opts.flags & RTF_STATIC) ? NUD_PERMANENT : NUD_NONE; + ndmsg->ndm_state = (opts.expire_time == 0) ? \ + NUD_PERMANENT : NUD_NONE; if (opts.flags & RTF_ANNOUNCE) nl_flags |= NTF_PROXY; - if (opts.flags & RTF_STATIC) + if (opts.expire_time == 0) nl_flags |= NTF_STICKY; ndmsg->ndm_flags = nl_flags; } From nobody Tue Feb 20 18:33:24 2024 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 4TfShh6r7Cz55NNc; Tue, 20 Feb 2024 18:33: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 4TfShh5MPYz4QbS; Tue, 20 Feb 2024 18:33:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708454004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KZkptD7moyXiSnNU2Ox9xPmSMuWKM2VmQRqf/UhtdZg=; b=npLPk+PCu4kYY1g4A8Iv7LJPZceK87W9C4RgqlNObe/GYXTPmmn+XW3Gm987qDBdCDWmkB GD5UbOG8Y6gNiE3CTqfyEWq/pKnfEWnQerdjEE3BudOK5wc77xipFjyuj4cmKWBKnOASFj 5PweOP9RxNyVFZ3i9+P4Iw2BaKN2zQ8jgBDK+wC/yT80GFckiV7Go6HlPlODZi1m8xXrCb rdU4HRmFQHg0JsXMd/MdLEHooc/sssvxxzcLStl/JlgKRMzkAV8kKsmX7Ei6v3tM21PAS2 Y4BlAcz9EeD2rf4QDkA21FTdXdVUWNjSadldcsWph26uGn/WN2D7tZLa5ox+2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708454004; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KZkptD7moyXiSnNU2Ox9xPmSMuWKM2VmQRqf/UhtdZg=; b=wPSUKqZ83uK1FlksHR2hymc9qiBH7WKTxXTTuZulWxV0AuCxLfa3rfak1o+No16VO1jZj8 yVpfO9+nhhkPcQrJ18E1uYdI+JU0lExouTFOD65gOcJdYQUBmweH/3SCl5L8m6AjxgJTz0 Ja7COI8Bhn5UKn2PmsV0TvLTb4dysqqaMUy0c4cBDz3qffimpvStOIEqERb7jAmP1nh7Od wJGvMsAjBgdCSDQ+/+py9v+W8RxCxWEz2GJMixFAsI9UZCWfWiySYPd00rONCk4QIiMtFK 5wTdl2zp8EKXv12FgAZPAT3auKpke1vpIcgUiVbRIM6z981VENyrADjUEHJfXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708454004; a=rsa-sha256; cv=none; b=AO4ZXjXLh8lExwem3Elob7qHL9hRZuhzk+Jwdk/Aksd5+SbVMJalj/YZkb3Ez7N/6wsP+z HUlgaYXUKJ5f0FOIM2vogApNa6aNKTRUi6jKDDCatSotGhP4mwmADGwW1YzB2N2kW7mKWI nSth7mOW5sZyLxwpAfhzym+jgc1qu9V61nhr6OG+o2IY9INbpKdHd/avnPx4m3h5NzlfsS ad20sQ2XFEDDM9IWNnXo8JkzpGo3p1oogXceyzQwKRRszXwAmsA5j5/4QN+ddjUL2v8SCC dvtlMCan0jXnGQ377ieKygqpe0N2Km3RcjFzCHH3n78TwBsqqP8uzA14AeQPgg== 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 4TfShh4L7XzVWH; Tue, 20 Feb 2024 18:33:24 +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 41KIXOnY008822; Tue, 20 Feb 2024 18:33:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KIXOLh008819; Tue, 20 Feb 2024 18:33:24 GMT (envelope-from git) Date: Tue, 20 Feb 2024 18:33:24 GMT Message-Id: <202402201833.41KIXOLh008819@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: 1968d71647ba - main - tests/arp: test arp -s/-S work 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: 1968d71647ba0189c1102e54959b7074160ad437 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=1968d71647ba0189c1102e54959b7074160ad437 commit 1968d71647ba0189c1102e54959b7074160ad437 Author: Gleb Smirnoff AuthorDate: 2024-02-20 18:32:03 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-20 18:32:03 +0000 tests/arp: test arp -s/-S work Install permanent entry, try to modify it, check that net.link.ether.inet.log_arp_permanent_modify works. --- tests/sys/netinet/arp.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/tests/sys/netinet/arp.sh b/tests/sys/netinet/arp.sh index f13ba467a2d9..34946d42f250 100755 --- a/tests/sys/netinet/arp.sh +++ b/tests/sys/netinet/arp.sh @@ -169,6 +169,67 @@ arp_lookup_host_cleanup() { } +atf_test_case "static" "cleanup" +static_head() { + atf_set descr 'Test arp -s/-S works' + atf_set require.user root +} + +static_body() { + + vnet_init + + jname="v4t-arp_static_host" + + epair0=$(vnet_mkepair) + + vnet_mkjail ${jname}a ${epair0}a + vnet_mkjail ${jname}b ${epair0}b + + ipa=198.51.100.1 + ipb=198.51.100.2 + max_age=$(sysctl -n net.link.ether.inet.max_age) + + atf_check ifconfig -j ${jname}a ${epair0}a inet ${ipa}/24 + eth="$(ifconfig -j ${jname}b ${epair0}b | + sed -nE "s/^\tether ([0-9a-f:]*)$/\1/p")" + + # Expected outputs + permanent=\ +"? (${ipb}) at 00:00:00:00:00:00 on ${epair0}a permanent [ethernet]\n" + temporary=\ +"? (${ipb}) at ${eth} on ${epair0}a expires in ${max_age} seconds [ethernet]\n" + deleted=\ +"${ipb} (${ipb}) deleted\n" + + # first check -s + atf_check jexec ${jname}a arp -s ${ipb} 0:0:0:0:0:0 + # the jail B ifconfig will send gratuitous ARP that will trigger A + atf_check ifconfig -j ${jname}b ${epair0}b inet ${ipb}/24 + atf_check -o "inline:${permanent}" jexec ${jname}a arp -n ${ipb} + if [ $(sysctl -n net.link.ether.inet.log_arp_permanent_modify) -ne 0 ]; + then + msg=$(dmesg | tail -n 1) + atf_check_equal "${msg}" \ +"arp: ${eth} attempts to modify permanent entry for ${ipb} on ${epair0}a" + fi + + # then check -S + atf_check -o "inline:${deleted}" jexec ${jname}a arp -nd ${ipb} + atf_check -o ignore jexec ${jname}b ping -c1 ${ipa} + atf_check -o "inline:${temporary}" jexec ${jname}a arp -n ${ipb} + # Note: this doesn't fail, tracked all the way down to FreeBSD 8 + # atf_check -s not-exit:0 jexec ${jname}a arp -s ${ipb} 0:0:0:0:0:0 + atf_check -o "inline:${deleted}" \ + jexec ${jname}a arp -S ${ipb} 0:0:0:0:0:0 + atf_check -o "inline:${permanent}" jexec ${jname}a arp -n ${ipb} +} + +static_cleanup() { + vnet_cleanup +} + + atf_init_test_cases() { @@ -176,6 +237,7 @@ atf_init_test_cases() atf_add_test_case "arp_del_success" atf_add_test_case "pending_delete_if" atf_add_test_case "arp_lookup_host" + atf_add_test_case "static" } # end From nobody Tue Feb 20 18:47:26 2024 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 4TfT0v28dSz55QDs for ; Tue, 20 Feb 2024 18:47: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 4TfT0v160Yz4Sq4; Tue, 20 Feb 2024 18:47:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708454847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J7M0iFAwT6eR2oXGmmns8XILCsRQnTwki8vLYcKwxZY=; b=KuvUGU+pXmUW0XqPWr4F5CyF3nHDvYV7qJ7OdatM6ChPC1PrpFq2wM5m6nf85xNSU3FQWk 53Ze2rbeJQd9uzBMynfeZ3ZoGR6L3k0RJoorFACR8FKorV5e+ST7MPOV87G0EULBVADOCH 82a3W1tPOkuPobgHX5Ve+tnXhv0YSWvsqaebR3fxyCzsZKzcKm+ozXsar8aatmDN4YsrsZ 0f4uFuyyyZnT+UIdXkqol7QFQHpinfdBHOca1AVtx5EqNouom532xy25mYMXBqBkC52BX1 nHIB/ffedEvACaaUCEOBRJrftZLwWRHScdmfwj6LUixDJ1oJfzqinXobTmGgQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708454847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J7M0iFAwT6eR2oXGmmns8XILCsRQnTwki8vLYcKwxZY=; b=hHe8BGGvsUWZvdSRBG6oQII0tiqR7LmSjwXZqBCP3WFjTuEoCM7FUbJe5yHjGn4Q/GUys+ GlmAuFWP5tBYybTAGkcUnhWtpZC35l+bnd9qlsWJ7mslkeU+/VNbLkH0To87S538PQHsSm AYNWK/mYynmkl2VEo0Ri7iXWnSyPLNQxkPs1+oHD4I3Uod2sEJHDiXGHiuWRPJIcfLcY4Q nqgdoiT2iGy+edrEekRoM8BHxjRuMYDq3h5J9iILpEHQiU2AL97Pf95iiYQiksR5avuRip WLT/IrWqzzm9WwxZuQvsNye/kZIGRJo67iGgOuE7DlDEgsVpK3FZExgcGd7QbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708454847; a=rsa-sha256; cv=none; b=rMz6CmBnjndAbiqxySFBBHmXCswXBMjJ7GOltIEVwGVzm7VZrHB8UAGzBGIBANihuIuDua frbJob9wb4a4gYXBeMJRDh4nLk42wH284aKzz5DmcrwPJANSn/ifO8jiuKeAzOAloYlx8B Nl3Gf4bPb2rW5gLbCYzcZQyrbRszlCSuwqqNWnBVPhmOLYOr6RBEMZUW7ZGcfdkFoBgnA2 wZzXMiH8rO1GobTg38XTcEIYGQIa92zmsVG4cuY0y46U5vXg51EcqZQJ+Mx8lDB5KouyX5 Lwki+GLG7p7QmTDUNUPRmpNWTTJLIV4jW5F0ApeRKYLlYlyXwNTx3LXP8o3xHQ== 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 4TfT0v09mBzV8T; Tue, 20 Feb 2024 18:47: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 41KIlQbN025824; Tue, 20 Feb 2024 18:47:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KIlQ1h025823; Tue, 20 Feb 2024 18:47:26 GMT (envelope-from git) Date: Tue, 20 Feb 2024 18:47:26 GMT Message-Id: <202402201847.41KIlQ1h025823@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Dimitry Andric Subject: git: 4470abcd93ed - Create tag vendor/llvm-project/llvmorg-18.1.0-rc2-53-gc7b0a6ecd442 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/tags/vendor/llvm-project/llvmorg-18.1.0-rc2-53-gc7b0a6ecd442 X-Git-Reftype: annotated tag X-Git-Commit: 4470abcd93ed44883b606e72db13d4316b85128e Auto-Submitted: auto-generated The annotated tag vendor/llvm-project/llvmorg-18.1.0-rc2-53-gc7b0a6ecd442 has been created by dim: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/llvm-project/llvmorg-18.1.0-rc2-53-gc7b0a6ecd442 tag vendor/llvm-project/llvmorg-18.1.0-rc2-53-gc7b0a6ecd442 Tagger: Dimitry Andric TaggerDate: 2024-02-20 18:47:02 +0000 Tag llvm-project branch release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442. commit e15a4f0a320e3c1248539511adee55a201e9ed2e Author: Dimitry Andric AuthorDate: 2024-02-20 18:46:41 +0000 Commit: Dimitry Andric CommitDate: 2024-02-20 18:46:41 +0000 Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442. From nobody Tue Feb 20 18:47:26 2024 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 4TfT0v28gdz55QMH for ; Tue, 20 Feb 2024 18:47: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 4TfT0v1Fndz4SWH; Tue, 20 Feb 2024 18:47:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708454847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5GWVh95LTa8ekgBY9+pGty7jdWW9Bb3F7tN2NwM+kOo=; b=XFBJ0plUOqvkfUqHs1D5Vajmq933t4eeVhc8VFgsW8CO0uufYT/BQ1ENqLrdKzAr15IF8v dg65VY6Rz4ASJkI88sF5yh1ohk0He1my8JqMv5VCmvZdGOTBAVcv4Wp1Z6+AlDkPTNq7bi tjBHBWgCoq1h5SCYMjuV8U2JhiGTnR9RB05vJXQQ4iicbmt3Fpw/crfLQ5F8KdheV/AMTI SsN6emvwvYQIidKGpBREqW5wcQH5vmc4BtsgDUx4MTTl3HxzlBmfhaiYuJ9IHHT2zirO57 NQ1q0RjEBK7bxcvERmXe6JvnF7YTpA7AZNX9/5S4qtbEeP00KGIvr8C6ZBkmqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708454847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5GWVh95LTa8ekgBY9+pGty7jdWW9Bb3F7tN2NwM+kOo=; b=OyuPediAjLXrMcJfKvFUXCiR7Ds43cZcHvYDO+IVYngsJ3tYu8iqWk4yFznZQuzYpPZGE7 sn7C1DczQLTB2dBwEe688CPr77jRio20XWdMfMmY6Go1i35eAXMsq4qEDC9vxMKmg7xGEl D0h5++uZad7T4AWlnPwn7CAiWVHksLMuCMX3fWh2IrBPqdl5u4P2bpjfDylMESsm6EQGZS HoJpH85FE2oyOZg2aptdvN8pYIj/DCLqHn3IWD5oZY5wnSgWqpnvwekS9yupvh0kWNQEpi iF7bn4ozcnqiMIT0I9nTWUr4gxA5fN6mb6NxFQoysymnJ/kKCpTio+rJOa+awg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708454847; a=rsa-sha256; cv=none; b=ATmzpuvlFbBLOFt6fAmHApSu3J1jqqf19YQcg3SfsuG9m+XHty0pCSAMTD2oV/5g4XCARw MLgCEDeRTKmUr0du3b89Pr6bHTQWy1PhImkFaUbVWmw7FU4IdM+SSr8czmydegHW2Bqn7N QuyVkAimaSJMWNE0wQTG2+iYcLKyW/O8alyTuxr3b809Q3LWOVhqjkiLryQAD0Su2KTgpE t7+t9PEQMfoWRHYVuweCwNpMV7pzlz8T7HqMhRWJjLBEyvTyptw72SiuCL6DBY/RBeKcfo cccBXMfkPuYGQXSGN58uDGD7em0pFAF9mA0y2HRsBtTddFbx+eRJedUUZSuzDg== 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 4TfT0v00QwzV8S; Tue, 20 Feb 2024 18:47: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 41KIlQwb025805; Tue, 20 Feb 2024 18:47:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KIlQgZ025804; Tue, 20 Feb 2024 18:47:26 GMT (envelope-from git) Date: Tue, 20 Feb 2024 18:47:26 GMT Message-Id: <202402201847.41KIlQgZ025804@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Dimitry Andric Subject: git: 4fdf604ba667..e15a4f0a320e - vendor/llvm-project/release-18.x - 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/vendor/llvm-project/release-18.x X-Git-Reftype: branch X-Git-Commit: e15a4f0a320e3c1248539511adee55a201e9ed2e X-Git-Oldrev: 4fdf604ba667503ae582304cebdd3df426778a6b X-Git-Newrev: e15a4f0a320e3c1248539511adee55a201e9ed2e Auto-Submitted: auto-generated The branch vendor/llvm-project/release-18.x has been updated by dim: URL: https://cgit.FreeBSD.org/src/log/?id=4fdf604ba667..e15a4f0a320e e15a4f0a320e Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442. From nobody Tue Feb 20 21:46:41 2024 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 4TfXzj40mQz59hbG; Tue, 20 Feb 2024 21:46: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 4TfXzj3W6Fz4qrB; Tue, 20 Feb 2024 21:46:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708465601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K3RIt4zOm1PEBxIpRY/DdqiTehg97jmYYw7426GJyXo=; b=yXK3EMf2Un4GS2d6xTyEtv3HRF2ARMzz5IMXTlM7NVFC9Nd2ktEb2E36nPAXNfmuwrZMrZ x4SJ3FG4OaDMWpkmgrUkof45yanfS3Q0eSLOZxrxOtcdFltmYIh07D80+YI7CYzths9uga tScvcN9gI9JgivNU7bynn6dyr0HBnJECe84aqj/+FwnOBMEvkgwyKY5uljR0hBcmW5QiSQ /CqXnQ15La0zwU/L12reF1aT5ZKovfF4hQ+Y4Dp6ZedfdmuTbjoYKGcnkjUmRHrRVw0USC eGFZrzsusDQ2HeswpCqM3Tioh+stsmlVrY87cE/3CxLfazrqKqLg7YKRCzRlKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708465601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K3RIt4zOm1PEBxIpRY/DdqiTehg97jmYYw7426GJyXo=; b=Ypf6YFl2WfisHBAKD7o9p48HK7qvrUM65TMdOcjFr2DeZkRQUBB3gUEe5KmIEV7QbPVeQ6 52K1+uYt0uWEaeGCWCfD5pgOzQK/+TaQ8r4vrdFkDj5mYGoewB8+cs+OMBGneRssf5FbqW O6tvz7BO/M9rbVxXk3Y5zF8+MlTokRphnu2tsZ7lHJXkg6OZn+hXZpmCicLqcf0rNUa+/P NnYKshFMVt9b0hG7MKw6RCwmmQLfCRaXBg96Qq/T/0f6LJmjij2ePQ/jnvNSQgfPunMmbJ hYTeTikas5JNPi527a+3+DQMGW7z1hZl/LGqT0P4uJUuFao4l7ORjYVGz1hyoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708465601; a=rsa-sha256; cv=none; b=n/NP9O7qndKAyO5ru0DXSDw3iaTKUAXbGTmE+yeme+3Ugq+Q75HJuOv6kipdoxImBlKKaE omV7A7X6X197k/0690QmKv3lFLdYURNTJnI0yA+ogo7jkaQ2p9Au9FoE0u+OCLEjWWUchk 0NU5bnioq7TczFD3PQfzTqygNCnM4Pi5zrD9D0oE7tkKqbw5nG8JH0RntzFAnfZE6rBqsB +9BAb2EpD9PUPt2f2U9JAH9oW3UxkiyP1wHR6zpkJ8cOqXdlvMZ9P0kw3aQFUZjSx0Ru6m Ev7gRYXl4v//aJ1sWSkt56uZdHtcwK9yb78unJJpFTEPTyeQwoy6fabDGdX0Lw== 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 4TfXzj2YWGzc2G; Tue, 20 Feb 2024 21:46: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 41KLkfVn029132; Tue, 20 Feb 2024 21:46:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KLkfsw029129; Tue, 20 Feb 2024 21:46:41 GMT (envelope-from git) Date: Tue, 20 Feb 2024 21:46:41 GMT Message-Id: <202402202146.41KLkfsw029129@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Stefan =?utf-8?Q?E=C3=9Fer?= Subject: git: 5f4753501e9c - stable/13 - msdosfs: fix directory corruption after rename operation 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: se X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5f4753501e9cc59e0d15f849c9459478ea5c8dc7 Auto-Submitted: auto-generated The branch stable/13 has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=5f4753501e9cc59e0d15f849c9459478ea5c8dc7 commit 5f4753501e9cc59e0d15f849c9459478ea5c8dc7 Author: Stefan Eßer AuthorDate: 2024-02-17 21:04:49 +0000 Commit: Stefan Eßer CommitDate: 2024-02-20 21:45:53 +0000 msdosfs: fix directory corruption after rename operation (cherry picked from commit 8b67c670a49b4efe7e1557121b5bbae682ea3bc7) --- sys/fs/msdosfs/msdosfs_vnops.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 1d296c019331..7d18ac623af4 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -1192,8 +1192,10 @@ relock: memcpy(oldname, fip->de_Name, 11); memcpy(fip->de_Name, toname, 11); /* update denode */ error = msdosfs_lookup_ino(tdvp, NULL, tcnp, &scn, &blkoff); - if (error == EJUSTRETURN) + if (error == EJUSTRETURN) { + tdip->de_fndoffset = to_diroffset; error = createde(fip, tdip, NULL, tcnp); + } if (error != 0) { memcpy(fip->de_Name, oldname, 11); goto unlock; From nobody Tue Feb 20 21:48:55 2024 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 4TfY2H2Jf7z59hvP; Tue, 20 Feb 2024 21: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 4TfY2H1lNJz4rKD; Tue, 20 Feb 2024 21: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=1708465735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1k68At+J6QkYHjnzEiGzg7fWw05IL/IJEJCBabgzkzA=; b=UpqzguDSyfMoBg27gIdUtg3V0RDLbFPIHc0BWF1ckWy4Bhe3dqQQuftNIRT6fY5ZSiw+Gr SJB1w4fcdTap0+vebb4ZANOal0Z7iiYJKErkb3rrOmMxyZR6QizKXrjlKA1+RzYpEmoQsg hvTGS8IKquHEZMQfKvH/LZLnRVsAPwWDHJep6jGIqnilaAOWrntNp2latyn5u30BOhgbPM Fj/R+ShFpe2F/ExrbfEmZZAzTpee5Ie+zOVzwetOs42tJtMF7UXqO7PrANwuytejJxm0EV vPoROqTYDlfUIg6qQ58i9TeJ53SBQ++RCBta5LRLuNZIyNh6MkWJJCkRdVU1nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708465735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1k68At+J6QkYHjnzEiGzg7fWw05IL/IJEJCBabgzkzA=; b=VN54xhKTSXSzPp+7lDFl4Tlaz4Rzxh2UufS8/L9Wzc7NG9uJU362TkS4YKizUI0v9z1056 qHbLavQDo/CxqLjF/KGRJulW7XZWy/po4mJwsFjgxJiDxNel3hHxLrUraM0GcSEBTbJrA6 4Of/ybOwLO/Ux4ymE2PjQZ5tpo2hLL/HXTWVztU55XqNCZMYdNbSb5nYvtxilacgjCOPLb yph6iwB3CYOb7PR7BiVoAblRp7sni4W+1Mp/ZZGscwjWYKQGppjjzHeX5ZnPOBnOTshsYc gdbf8q4TzAxQ1uF1KhLwuDiWqXRzwOH+BcnwBZS1h9f28ESisk9XpQqT0NB3LA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708465735; a=rsa-sha256; cv=none; b=Cbv4AFQoU0cHOmYBqYbQhiiwyv/1WwH43qwHC7zImrJVcpfK+mnSjAPza3WPtAh+aJnJoi ZDkQyd4Xq20q3FkqReCRluWHlUPq6x3t42E8FXBB7XZl/HIEQ8xPpzWeKePi2DipZSdFKp 8M86SqxBxwH22XrrXlwNco5l8YImPJhYQ1uZyQqmijzb8ET7j6kaBpzgADRh16Crho+taQ 9NLI0mLZzYabH9U3qd3uURK5HMfR2M52APwy93nuBN9moH2G/uurwJ9XJHsnnxf+wwOpyN ij2DXz28rYVos1VFvCxkr5ussKOp/dbseBg9/Xl3qEx3P9ZW80ngoiMZhGwZZg== 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 4TfY2H0q2Pzc0v; Tue, 20 Feb 2024 21: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 41KLmt6N029579; Tue, 20 Feb 2024 21: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 41KLmt9Y029576; Tue, 20 Feb 2024 21:48:55 GMT (envelope-from git) Date: Tue, 20 Feb 2024 21:48:55 GMT Message-Id: <202402202148.41KLmt9Y029576@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Stefan =?utf-8?Q?E=C3=9Fer?= Subject: git: 5f41ed8d0978 - stable/14 - msdosfs: fix directory corruption after rename operation 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: se X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5f41ed8d0978ec9760c901958aec77f2acd803ec Auto-Submitted: auto-generated The branch stable/14 has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=5f41ed8d0978ec9760c901958aec77f2acd803ec commit 5f41ed8d0978ec9760c901958aec77f2acd803ec Author: Stefan Eßer AuthorDate: 2024-02-17 21:04:49 +0000 Commit: Stefan Eßer CommitDate: 2024-02-20 21:48:08 +0000 msdosfs: fix directory corruption after rename operation (cherry picked from commit 8b67c670a49b4efe7e1557121b5bbae682ea3bc7) --- sys/fs/msdosfs/msdosfs_vnops.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 31d9b003a6fa..078ea5e52312 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -1180,8 +1180,10 @@ relock: memcpy(oldname, fip->de_Name, 11); memcpy(fip->de_Name, toname, 11); /* update denode */ error = msdosfs_lookup_ino(tdvp, NULL, tcnp, &scn, &blkoff); - if (error == EJUSTRETURN) + if (error == EJUSTRETURN) { + tdip->de_fndoffset = to_diroffset; error = createde(fip, tdip, NULL, tcnp); + } if (error != 0) { memcpy(fip->de_Name, oldname, 11); goto unlock; From nobody Tue Feb 20 22:05:03 2024 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 4TfYNw3B7rz59k6v; Tue, 20 Feb 2024 22:05: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 4TfYNw1KLdz4sJg; Tue, 20 Feb 2024 22:05:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708466704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B0QIs4Dl97ZTBrjbDCheGSNq5BrjeHg8AxGDWGrcWnU=; b=b+b+CA1c24+bJ25+FUhb2SizmVEaZf2Pw8czyOJ8gsrGfeVrYy3XWuf0LoLnNMFfcx3bTR jg6jnVHwRHKvKwmkPQ2L4WtoB8QmNjHL1507ZnFL23lreRVmhl9ecPJYUfJRv4d4D+YoiX ZRpzKvu0T7dEDZ1FvgMx4fRCwj9CT+NKL1TZAsjQDjaIeBnV2Dv9pI4QzxbnTmVEJ7R3Ks tc41vvhmZnaBkooVW+uj0oTInWLVKueV/g0wQK7h9GTnSBLjHG/bBiTqwdgdJV95sRGxDe GYmazdblcdzjeBSiBzJR2R7MYDNNauXC+6n95jlh4S7V8wJIRcDR0DjnLPeCqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708466704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B0QIs4Dl97ZTBrjbDCheGSNq5BrjeHg8AxGDWGrcWnU=; b=pMFBS8GjGlv3/UBoHVb2GuK3hOWJ/Rh4V2MQ9ZjyMGLKKDmcFIoyMRUacBX6IrE81NODqm cTZ8eXl++l3JkiHbh4XDXJW2SJKpmGwuvcEGk89vta1cNnG20nELXPJFez1DV3iQd+vmxN jwFVfjFcB4BT6yi3db/hqTHcMJdNzc43jbHijG2bnrOg8YliLOn0Cr33/nf52shFERvm2y zIF2lblf9f5nIWeF+QpnFdVbI7gEJcF/R4l2s6ur0qwh3JcQ0y3yabjpefHuo5kupo4Qv/ jg3FwmUaqs0W5fLlYNvk+vlKQS3kbic7Y5WDDuig4OgF0KI97VvVEifzks9jgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708466704; a=rsa-sha256; cv=none; b=V/5MKK6/eNZ98y7f6Zndxtzn8yR/MR06FJMeSt12IhYJRZwk9byMLfx87LT8wxCS9eaBdI 9gQG8FdJTgiQmCIyvLKI0K/qAKMibINB/qnVcdJscWd1rb068BnPMIkSYRKzDvSnQoBh1C bgZHaHHaoQ+m/8r0XfP9a0uMvxGLpSVP+83D3AaVGbERQV2S8P7tT1YU2E3VQXsKO7slQ3 Xs7nonDjDT5KvbF9B0pkvKUYnBDlUauwVHeVC3MR6na0O4G7AmL+fTH5hDna3h1RCJoKwQ QFIvDf0RzhKL9te6FCxL8KBy1PWRGD4TYZks3q85Z/Dp72NYGeY0cqZCq7PJLA== 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 4TfYNw0JJVzcR1; Tue, 20 Feb 2024 22:05: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 41KM53Hg063680; Tue, 20 Feb 2024 22:05:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KM53If063677; Tue, 20 Feb 2024 22:05:03 GMT (envelope-from git) Date: Tue, 20 Feb 2024 22:05:03 GMT Message-Id: <202402202205.41KM53If063677@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: e7308a60a5b7 - main - md5: Add test case for GNU input modes. 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: e7308a60a5b77a1e4aff6e27eddef40fedabb98c Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e7308a60a5b77a1e4aff6e27eddef40fedabb98c commit e7308a60a5b77a1e4aff6e27eddef40fedabb98c Author: Dag-Erling Smørgrav AuthorDate: 2024-02-20 22:04:32 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-20 22:04:32 +0000 md5: Add test case for GNU input modes. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude, markj Differential Revision: https://reviews.freebsd.org/D43988 --- sbin/md5/tests/md5_test.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/sbin/md5/tests/md5_test.sh b/sbin/md5/tests/md5_test.sh index 5b018b18c220..34bdf43f13ea 100644 --- a/sbin/md5/tests/md5_test.sh +++ b/sbin/md5/tests/md5_test.sh @@ -369,6 +369,28 @@ gnu_cflag_body() } +atf_test_case gnu_cflag_mode +gnu_cflag_mode_head() +{ + atf_set descr "Verify handling of input modes in GNU check mode" + atf_set require.progs "sha1sum" +} +gnu_cflag_mode_body() +{ + printf "The Magic Words are 01010011 01001111\r\n" >input + # The first line is malformed per GNU coreutils but matches + # what we produce when mode == mode_bsd && output_mode == + # output_reverse (i.e. `sha1 -r`) so we want to support it. + cat >digests < 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: 4db7ca244705 - main - md5: Fix Perl mode long options. 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: 4db7ca24470576948e33f48033cfa5be2749950e Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=4db7ca24470576948e33f48033cfa5be2749950e commit 4db7ca24470576948e33f48033cfa5be2749950e Author: Dag-Erling Smørgrav AuthorDate: 2024-02-20 22:04:36 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-20 22:04:36 +0000 md5: Fix Perl mode long options. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: imp, allanjude, markj Differential Revision: https://reviews.freebsd.org/D43989 --- sbin/md5/md5.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sbin/md5/md5.c b/sbin/md5/md5.c index b6405635a5a1..158769812819 100644 --- a/sbin/md5/md5.c +++ b/sbin/md5/md5.c @@ -263,7 +263,8 @@ static const char *gnu_shortopts = "bctwz"; static const struct option perl_longopts[] = { { "algorithm", required_argument, 0, opt_algorithm }, - { "check", required_argument, 0, opt_check }, + { "binary", no_argument, 0, opt_binary }, + { "check", no_argument, 0, opt_check }, { "help", no_argument, 0, opt_help }, { "ignore-missing", no_argument, 0, opt_ignore_missing }, { "quiet", no_argument, 0, opt_quiet }, From nobody Tue Feb 20 22:05:06 2024 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 4TfYNy5mMjz59k9R; Tue, 20 Feb 2024 22:05: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 4TfYNy3G8Zz4sS8; Tue, 20 Feb 2024 22:05:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708466706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V4ZP6t2yu0ClzakuL/lfBZvHhs6OZ1OUmQ8iy1pVYpk=; b=NfVxBLsZcXGH46ekz82Di/e9+4kCj5vHj36dDqxm+Pd0/qanip4peBFFh5PGXqvmE1SXeu vl4UKkUI/SzRywIeZCS/qr3FGtDAqwWFt84sO1ZzLB56bIzS2HLGPPxffugqR2eB8GPP55 mdu+iOhDv23inHSCQmA7vykLfz1yOLO612+kyWa/WpV45+rgsGDFnF+FqmoCw0kIbgQQVE /umGCq5vYej72esF0CmMknfVQevPbvepafbi9fg2xFIgRjHdLnPKA5xhPxi/DIPROQYCXH TM10Mmc/2XVKDfiw+h8bobPeYrwKTze7r3Mzqfwuxzfc75rJMvd5aPv28VC5DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708466706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V4ZP6t2yu0ClzakuL/lfBZvHhs6OZ1OUmQ8iy1pVYpk=; b=rXdrB+l9aysyz4270ym/ASnPY0vW1V0CBBOzcuH0L3uruvsoa+RGkMZsjF72nhsxMWU+PV bRiTn2Oof5I6q9O61Olc2bgRC1cgKxqZkCpl/YekMpdRnXua20up0odAB9+83C6e7zAW6g ftSNi7szFM9IeJCHqZB7DuoQntiNXbVfcKvoPyLwIKdBjQESGcYM6lSZqSyQ/s/ZONEt+0 AdA7GG8yh8WrhvE7Hj/i7/UoW5VRNhTogAmCknlYtxFonUVuLi+2jRRIezr3+TNZJILjZ2 bobU5KtOsfVb0rK3LPvVRmbu5pn6e+6fTFZuOJ78L9dkXVOerrZmVh1NB9sj6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708466706; a=rsa-sha256; cv=none; b=RyTPS2aRFIox5pFYNAR6TlidVNPoch+pCL4GWtjZzNi/gPaWS4VjQGSzpdlgewzJsPIsDk ouHrA0c5Wn5SyjM4VAHiQg+Tyy0WNLMOPwmZU47vS0VuUKkBfcFF6QespeQccxgQ5muxkR 6Lbgq91sneS7aBzJIUfKlz1PUSYCzEpjwF98vzxk+W1wOCfZoHgurTWWy5CP0D5zXoSErU UrqfR326UQAmAti5NaLkFQRyWZ51wJCeIBAsUQNjxF4jOerJFGmybvcL7eOlAUj5T3oxsh MERs3tWaKwUZWVBbBlIxUbUnCMJdC2896MfZDEin8WJIgRi0bTXSPgH7+9TAEg== 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 4TfYNy1m7Vzc3j; Tue, 20 Feb 2024 22:05: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 41KM565Z063780; Tue, 20 Feb 2024 22:05:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KM56hn063777; Tue, 20 Feb 2024 22:05:06 GMT (envelope-from git) Date: Tue, 20 Feb 2024 22:05:06 GMT Message-Id: <202402202205.41KM56hn063777@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: c05533d97ac1 - main - md5: Fix GNU check 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: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c05533d97ac178f8e811407860d47d3c0ae61eed Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c05533d97ac178f8e811407860d47d3c0ae61eed commit c05533d97ac178f8e811407860d47d3c0ae61eed Author: Dag-Erling Smørgrav AuthorDate: 2024-02-20 22:04:40 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-20 22:04:40 +0000 md5: Fix GNU check mode. Fixes: 9b20849bc5f1b500f2de7aeca77f0e6556069bbb MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: imp, allanjude, markj Differential Revision: https://reviews.freebsd.org/D43990 --- sbin/md5/md5.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/sbin/md5/md5.c b/sbin/md5/md5.c index 158769812819..74b61f9bc1ad 100644 --- a/sbin/md5/md5.c +++ b/sbin/md5/md5.c @@ -287,9 +287,10 @@ MD5_Update(MD5_CTX *c, const unsigned char *data, size_t len) } struct chksumrec { - char *filename; - char *chksum; - struct chksumrec *next; + char *filename; + enum input_mode input_mode; + char *chksum; + struct chksumrec *next; }; static struct chksumrec *head = NULL; @@ -362,16 +363,18 @@ gnu_check(const char *checksumsfile) if (rec == NULL) errx(1, "malloc failed"); - if (*filename == '*' || - *filename == ' ' || - *filename == 'U' || - *filename == '^') { - if (lstat(filename, &st) != 0) - filename++; + if ((*filename == '*' || *filename == ' ' || + *filename == 'U' || *filename == '^') && + lstat(filename, &st) != 0 && + lstat(filename + 1, &st) == 0) { + rec->filename = strdup(filename + 1); + rec->input_mode = (enum input_mode)*filename; + } else { + rec->filename = strdup(filename); + rec->input_mode = input_mode; } rec->chksum = strdup(hashstr); - rec->filename = strdup(filename); if (rec->chksum == NULL || rec->filename == NULL) errx(1, "malloc failed"); rec->next = NULL; @@ -612,6 +615,13 @@ main(int argc, char *argv[]) const char *filename = *argv; const char *filemode = "rb"; + if (cflag && mode != mode_bsd) { + input_mode = rec->input_mode; + checkAgainst = rec->chksum; + rec = rec->next; + } + if (input_mode == input_text) + filemode = "r"; if (strcmp(filename, "-") == 0) { f = stdin; } else { @@ -626,14 +636,8 @@ main(int argc, char *argv[]) warn("%s", filename); failed = true; } - if (cflag && mode != mode_bsd) - rec = rec->next; continue; } - if (cflag && mode != mode_bsd) { - checkAgainst = rec->chksum; - rec = rec->next; - } p = MDInput(&Algorithm[digest], f, buf, false); if (f != stdin) (void)fclose(f); From nobody Tue Feb 20 22:05:07 2024 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 4TfYNz5fhTz59jt7; Tue, 20 Feb 2024 22:05: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 4TfYNz3rmKz4sGQ; Tue, 20 Feb 2024 22:05:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708466707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z+nHPYgfb07xNB86hwsgbY35JZFX9upOOaHuapO0+kg=; b=RRqcqFCSGub8hhvLkoMCcTNMn8Ta7E9qs6kLPdQxkDfbvFt5+OUgHE/jJcDcVYp9QMLygW Z7X/shkjCmla1f3/98Ete57M/QAZfQBXeQ1kq5TnmShiC+OY/E4srH6LJDmxB57N/6LpSM 1hav8ALVMGhd6ylpY9UXQpstNXnnCQYBns1Rf3yuTKnjEmy3HBu2OhY+othgycT9QWkv3D GSGSvQ3KDSK6ZudgWfLi71pxhyq46OwZsV30SHS44TWW4+DT2Gg2EXfk5aqNxWP47im5Sh 3P3Z96Jyk1caiRGwsMcqirVzAxkMHr9lKGxdBeMWM+cPxuKqMw4FBZ7XJwS4BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708466707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z+nHPYgfb07xNB86hwsgbY35JZFX9upOOaHuapO0+kg=; b=TJ4fr1pIojUr2VsNAY4rZCwhDCQT47fMsotuYcCeSdMu6VXXXz/v51Cd771v/ai2G48apq 3p+vPnPRUJLF9Q+1YWg/UveoI7y9ttKaffMHtCok633mbc4VZTWzE+eKlnZs30RcLPtulC FwqlAb4Anz215+8QzjyQzyraplhBWMOMa/q0M6fTVLkis8k6tp8idEJSJydvLoI6wnFmPE 7ZA/bgcy3X8pBqqWCEXfW03TESC7Z7UACpI2mJGv8X73DbYHc7/BzVpycPwmLfh/wJilTE WPw6dst0V8sJllZ2qdWCuxRyEw+M4XuhtTpq/+eJcOLaqq527J6KCIZcN9gHMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708466707; a=rsa-sha256; cv=none; b=ukFujlaijofmnbQKBXHB7Y9MqPJFgyQM18o05qA+nwPSPbJJ4FPyG5lMeU+1rg9xu9ooMV kBbWOqbJ6PXOhrv3qYwMcw4sHx3ba3/N91aFVeaRAz6bwQqYhSWLikCdrMb//Lj9QVTFzJ rCK3J7utUURrk9QCq33mWMCoEJwUlfa6Lco9QPDVAfJMFzYRO9wXLE3nEzZB/C/17b0lai 6XQ3Ql+T5vfMcFHdSm2MPjxttom2ZxxrS8Qzt0K/dj/Omk5eJslPLH0lrHcBeycnkpo6SP 60JaP4AUQzqQwobfq62nDzOUIBjfFiX8Zj4dLFL7cFGFYAtCYftPRNZ8McaaJA== 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 4TfYNz2N9pzc5J; Tue, 20 Feb 2024 22:05: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 41KM57kj063825; Tue, 20 Feb 2024 22:05:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KM57Rh063822; Tue, 20 Feb 2024 22:05:07 GMT (envelope-from git) Date: Tue, 20 Feb 2024 22:05:07 GMT Message-Id: <202402202205.41KM57Rh063822@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: 702f133fa181 - main - md5: Untabify 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: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 702f133fa18185a7e10e66316e8f158be935b696 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=702f133fa18185a7e10e66316e8f158be935b696 commit 702f133fa18185a7e10e66316e8f158be935b696 Author: Dag-Erling Smørgrav AuthorDate: 2024-02-20 22:04:45 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-20 22:04:45 +0000 md5: Untabify declarations. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: imp, allanjude, markj Differential Revision: https://reviews.freebsd.org/D43991 --- sbin/md5/md5.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/sbin/md5/md5.c b/sbin/md5/md5.c index 74b61f9bc1ad..70fc7cb7eef1 100644 --- a/sbin/md5/md5.c +++ b/sbin/md5/md5.c @@ -303,17 +303,17 @@ static unsigned int numrecs; static void gnu_check(const char *checksumsfile) { - FILE *inp; - char *linebuf = NULL; - size_t linecap; - ssize_t linelen; - int lineno; - char *filename; - char *hashstr; - struct chksumrec *rec; - const char *digestname; - size_t digestnamelen; - size_t hashstrlen; + FILE *inp; + char *linebuf = NULL; + size_t linecap; + ssize_t linelen; + int lineno; + char *filename; + char *hashstr; + struct chksumrec *rec; + const char *digestname; + size_t digestnamelen; + size_t hashstrlen; struct stat st; if (strcmp(checksumsfile, "-") == 0) @@ -399,17 +399,17 @@ int main(int argc, char *argv[]) { #ifdef HAVE_CAPSICUM - cap_rights_t rights; - fileargs_t *fa = NULL; + cap_rights_t rights; + fileargs_t *fa = NULL; #endif const struct option *longopts; const char *shortopts; - FILE *f; - int i, opt; - char *p, *string = NULL; - char buf[HEX_DIGEST_LENGTH]; - size_t len; - struct chksumrec *rec; + FILE *f; + int i, opt; + char *p, *string = NULL; + char buf[HEX_DIGEST_LENGTH]; + size_t len; + struct chksumrec *rec; if ((progname = strrchr(argv[0], '/')) == NULL) progname = argv[0]; From nobody Tue Feb 20 22:31:21 2024 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 4TfYzF2M3hz59nB0; Tue, 20 Feb 2024 22:31: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 4TfYzF1wCgz416F; Tue, 20 Feb 2024 22:31:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708468281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TVrbr3sAavGhPgxmEUtoGw2kD+KjTrT5zjdPHMppvRs=; b=LfBDrqsmxKYVv3h3sv/LPEPod22746WgpoGYYi7juqNTaciA6Iz4MhyewN1shFNtiRV5E6 tabeKfy38ogwwSmEZuBEEw7xlbPpnCr2XbCew908u4YOt/5Vkm6D5poPxn0uM3JEgtPpfT TFT3lIkmPJzhl+vKaw5m12avNJBVganWh6vIQia7nHriQcLZLqnFgfi/x4qYjsfIOTHfnH ec4hVn0BPAlFwGeF+T5NbUawhz3uf5L3uPVl/Cv8Qq6NzLY0Wr5KO/iMoF8kvVSG+AsIdC NPjfmTH3Vc7eS/hwO8npPO1gbpiwgPHAg85zuiBl8xDLYT4YEIrlQrMGB7sTQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708468281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TVrbr3sAavGhPgxmEUtoGw2kD+KjTrT5zjdPHMppvRs=; b=bUPL48SsGYHvlxI5YXKKmg01mUm/ewMtf9kiqQd3QNhwJc2E+TGZntbhoSAD5A1vvgr1/r OU5xoPBatxzLsrfzz1SF1NRNkJpDkA48CxhmQ0a37ebiTF/6/4Da3bv1e2nr/2me0CKFBT wQf9JgRduHB8K6+CdjMexTLjHJ40BHqbqdmCg0XqkjE5HxLcxMufWDreMaR6B/QfvBWcZi DmYyQXs34oc1lgv4lLYaKSwP+6Vat7faoA7kdLriZHkxHoXZYlTZpcqPKqgKe5TcGB1O+y MCmNTGkvMeEDKlS8KqIUEAPAxjNSItu5qt0yN6qhgmgv/XnoUDYRULFeOKxtwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708468281; a=rsa-sha256; cv=none; b=qXq1ujdvk7RvIvuuOmKppIamGP4b0gbs+VWDeKI8F1zzgK6T5jCiisychfPFM3UOBh2I98 xaVyBND9k3mfM+xl2X+6t/7+7fIwxrj0dG6UCz9cVTYtI0iSHaIYNpmR/wNnooHnelG+nx qGUTyOx4itij3x2ofagrexkFRI6MUlFjZOQhdkNUkmSSwJasCp7aDQ8xCZfeMcxXH1/BMy Exx+mZ8qhsdzcDwXtujXSyyMknFSHtFyE7El1bRas9FkV2eNbLajolbvFmYHeYdtAY4l2x p0RRQz99HzXwq7kIqrzqninB/Cr5zd6R183fhBK25zr91ciqdaRhthA35IOxuQ== 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 4TfYzF0yt5zc6m; Tue, 20 Feb 2024 22:31: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 41KMVLvx011274; Tue, 20 Feb 2024 22:31:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KMVL3w011271; Tue, 20 Feb 2024 22:31:21 GMT (envelope-from git) Date: Tue, 20 Feb 2024 22:31:21 GMT Message-Id: <202402202231.41KMVL3w011271@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: fa6a02f50e65 - main - tests/fdgrowtable: open more files in the threaded 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fa6a02f50e65c47540f51b3177f5080bc6af168e Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=fa6a02f50e65c47540f51b3177f5080bc6af168e commit fa6a02f50e65c47540f51b3177f5080bc6af168e Author: Gleb Smirnoff AuthorDate: 2024-02-20 22:31:06 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-20 22:31:06 +0000 tests/fdgrowtable: open more files in the threaded case This should fix the test failing on some machines/conditions/runs. This won't fix failures in standalone run, but should fix kyua(1) runs. Currently with standalone run it will usually fail because the 40-sized allocation is skipped (see details below). This matches what forking test does: open 128 files in the parent and 128 in the child. There should actually be no difference where and when the files are open, but let's mimic the forking test, and open more files in the spawned thread. Also opening from two different contexts adds a bit more entropy to the test. What the test does it checks that fdgrowtable() has been called at least three tmes for the test process, and the old tables are still on the free list as long as other execution contexts exist. Under kyua(1) control the first call grows the table from 20 to 40, but the original table of 20 is an embedded one, thus is not put on the free list. Passing 40 open files the table grows to 128 and first old table lands on the free list. Passing 128 open file the table grows to 256 and a second old table lands on the free list. After that the test would pass. The threaded test was one open file off before this fix sometimes. --- tests/sys/kern/fdgrowtable_test.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/sys/kern/fdgrowtable_test.c b/tests/sys/kern/fdgrowtable_test.c index 75c3d6701c0c..6ea42bd076ad 100644 --- a/tests/sys/kern/fdgrowtable_test.c +++ b/tests/sys/kern/fdgrowtable_test.c @@ -151,6 +151,7 @@ ATF_TC_BODY(free_oldtables, tc) static _Noreturn void * exec_thread(void *args) { + openfiles(128); for (;;) sleep(1); } From nobody Tue Feb 20 22:31:22 2024 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 4TfYzG5C0jz59mpQ; Tue, 20 Feb 2024 22:31: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 4TfYzG2t8sz41LZ; Tue, 20 Feb 2024 22:31:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708468282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p+J5lGyWRrT8EsFZukqpZxgydOR5UL8RR4ireMXKm90=; b=FFdDSMZyln0ge5BEIYo0mtn2KFc8FB0KJwI06481hBvFQ7rSz6NjZxJ/ZgEfwcZ35X1th3 2tJRNnPfwRbcZh53AD9psfzNabSPe9J6wKSMqPeaNQnH3sCh4FSrib2GRxi4OjRo5TjX0c XgOtGfGRqLXn/WfvG1TQGEyBUMDzwQCq+1uHMf0F5NW4t5nLsm0tOzhlSPWCBMqHTE3VIo mrmApXntvApj6NPExwdUxFF1OtWS3trtO4ZxKyaxBl49jBit1/Pav3ejUMYMLCmyVP33og 9ZslDPN0jY/9UighD5nnTc/jtZu2Sl6ONH6rkIEexmU3CEAe6QuT/DZu7bZ3Zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708468282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p+J5lGyWRrT8EsFZukqpZxgydOR5UL8RR4ireMXKm90=; b=ufEaIP02f66OmGG3qsX85BxopP10Hl2j3brXi2HNlsWB1hWtYSs8Kjm946owQgkOmiiLS8 Vsc6ISkxz1j+Z1XbFN+hwX25XWAeskwsnxVqL9YpERnWhOh0e4S5nEDAj1eV1XfIbFfdIH ezsHXV+v/fBI3ES/e/jPXPIC8ZRuuhJc3jvbYfjrag9vM0ZiSDG+VQeHYkaBKx3tYTSi9h KwzHZX0wGC00LWvGuupW2Nvnirg7+8FLpFj0TTxGXyYfQW0Jm6SVIwNvkvCP5XSa2EDz0h mdtSthJUVZKGGxjaBUdfOk7p2Gqs+ceRiVE1d/nPO5AaJK76Ovgk7ikg/pK2FQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708468282; a=rsa-sha256; cv=none; b=PiRfRkFWmMbIHRG5dhqABUrG7Dfe/9CtUENsXPCurYn7F6UfdXlln2TN6BL22oOnW1WQnd jSnDZXWQptnciF22he7E76BwP1Oha/zGMppmxGwQpAl640x7zNSF6fSKz2/nmNlgw3lM/0 wtvVqZSe4IRDq9Bh97GmA1xL2HuYw4lYaZ5uEpg55PiG38LC8qhDYb5qePJimBKS3hO2Jw 0rOyL0G21EzX8u5XmogMcr/flHvvBJ/a2zYPLTsIkqOLlc1BRuAMGsp0WDRJEy7seTnfiZ UjZi3zdXU+TcJH1o+ur14fUMC8GzGx+jq0HDUvcvR++Tm0TcIUkSdE5/NkmjFA== 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 4TfYzG1xxczcss; Tue, 20 Feb 2024 22:31: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 41KMVMrS011316; Tue, 20 Feb 2024 22:31:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KMVMED011313; Tue, 20 Feb 2024 22:31:22 GMT (envelope-from git) Date: Tue, 20 Feb 2024 22:31:22 GMT Message-Id: <202402202231.41KMVMED011313@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: 3ac001620e28 - main - tests/fdgrowtable: remove always true 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3ac001620e286a7a1125ca171adbe76960a68180 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=3ac001620e286a7a1125ca171adbe76960a68180 commit 3ac001620e286a7a1125ca171adbe76960a68180 Author: Gleb Smirnoff AuthorDate: 2024-02-20 22:31:06 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-20 22:31:06 +0000 tests/fdgrowtable: remove always true check We are always the parent in this code path. --- tests/sys/kern/fdgrowtable_test.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/tests/sys/kern/fdgrowtable_test.c b/tests/sys/kern/fdgrowtable_test.c index 6ea42bd076ad..2eea274a64ee 100644 --- a/tests/sys/kern/fdgrowtable_test.c +++ b/tests/sys/kern/fdgrowtable_test.c @@ -242,14 +242,12 @@ ATF_TC_BODY(oldtables_shared_via_process, tc) * otherwise we'll lose a reference count * to the file descriptor table */ - if (child != 0) { - kp = read_kinfo(kd); + kp = read_kinfo(kd); - ATF_CHECK(filedesc_refcnt(kd,kp) > 1); - ATF_CHECK(old_tables(kd,kp) > 1); + ATF_CHECK(filedesc_refcnt(kd,kp) > 1); + ATF_CHECK(old_tables(kd,kp) > 1); - kill(child, SIGCONT); - } + kill(child, SIGCONT); /* child should have exited */ wpid = waitpid(child, &status, 0); From nobody Tue Feb 20 22:38:37 2024 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 4TfZ7d6TTpz59nZx; Tue, 20 Feb 2024 22:38:37 +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 4TfZ7d4HNFz4291; Tue, 20 Feb 2024 22:38:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708468717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s74N349SA5G+d+reNJzPmpYq/0bRxtMcKJG0NY3rtME=; b=K/ryM/eNcicP072cnifMB6igqwG6bupoR0C0aPM0/d8oW5rRFOLMfEy58HzLA2fg0Xqmmq pq7mymbIAxJhgcHfd0BYDAA1J+O8H3vyw44wuVCL5aT3vOssYCyiMHLflkcoRguHJg1yqY RvyuI+10LyjZGVwVPaO1B3AaZNG65w/ZlJBnfGKUkTe0i2hmAuDGjDo4LHhiUX3pKiusDU f8fV051hgF7SnPyHdMVnR22dV76Tqd9lH2et4RFJBDS9hlgR3YbugK9ZRjlgJEl2aM7C3M qGYFP6LyY1BjsEEFre9cx9E6C36pYyLG138Ej3eyYi3NfhJOZQ4AdiGOX32LYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708468717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s74N349SA5G+d+reNJzPmpYq/0bRxtMcKJG0NY3rtME=; b=SGbcOZqRn+XeihwgzGGWsSdr/6rFGrpPydo18FTXvM3QB3tcxZ3Dex8KkdYrOQK29+/DPD 4C7MNkAmlC8OR8KcmvsomK/siS6nnQbKMUDrrrY7jHEdElIQdz96GLM/GU2HqpsQdOKtYm csY6FoHyINnAhuJSRvtRN2HyPQ5ZKb4IQhgYTSyhOo6GhbKuD1HznEWeicPpLFnGiPE/oR ES84DoXkIn1zrAB+w2T4abcSvdzeKAaybqJpNNpuCugOq9n8s3Dn4/R/PCtevogOSrx0Nr MrEC7Alr0EpQOdIyGAb3tLoKzOXLVKKqK5dXJEkKXiVvWcrT4HCPR+Pm31kAog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708468717; a=rsa-sha256; cv=none; b=YdUUzk9KUt6b7NMarFz921hRk8MYfD6yRM2DQEEo+c0yH8LNxkez2+LwAPtFZWq39h3BYS unMe/b2h8whfhITpKW8vAJi9E4F3Xv87BeZ7BxvUrTBJ5f7F7Yieng4sM/PaVSaJP9vkjy 86i8BdQD0qHEKFP+xj07cHIbkXWfI+hI5z+G37ka2oCkauOVYf5xHmXHOJAUk4O50VZG++ 6g7d6xfLI5/kZt+6iKOsMo1Oigk3S2Eh7Kcl+dDPz3Pn5NpYXb1SIeY9uVqdieqFBbaLzo LWty1qJnEVsIo1wX57OtzuqaOJmKii2u5tRDrQIAYBtERFlTUcIAzr1vhTP3Rw== 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 4TfZ7d3N2rzdPR; Tue, 20 Feb 2024 22:38: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 41KMcbJ2015192; Tue, 20 Feb 2024 22:38:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41KMcbqb015189; Tue, 20 Feb 2024 22:38:37 GMT (envelope-from git) Date: Tue, 20 Feb 2024 22:38:37 GMT Message-Id: <202402202238.41KMcbqb015189@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: e53b83a849e3 - main - tests/sigsys: initialize parameter passed to sysctlbyname() 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: e53b83a849e3a34772d0a0ed26eb0cb4aeeec71d Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=e53b83a849e3a34772d0a0ed26eb0cb4aeeec71d commit e53b83a849e3a34772d0a0ed26eb0cb4aeeec71d Author: Gleb Smirnoff AuthorDate: 2024-02-20 22:37:45 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-20 22:37:45 +0000 tests/sigsys: initialize parameter passed to sysctlbyname() --- tests/sys/kern/sigsys.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/kern/sigsys.c b/tests/sys/kern/sigsys.c index 8554a646ebc6..8b9a4e8516e7 100644 --- a/tests/sys/kern/sigsys.c +++ b/tests/sys/kern/sigsys.c @@ -63,7 +63,7 @@ sigsys_test(int knob) static void sysctlset(const char *name, int val) { - size_t oldlen; + size_t oldlen = sizeof(int); int oldval; char buf[80]; From nobody Wed Feb 21 00:29:22 2024 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 4TfcbQ4dyXz59yf7; Wed, 21 Feb 2024 00:29: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 4TfcbQ48SGz4CfH; Wed, 21 Feb 2024 00:29:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708475362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+s05ZKgOXOFxNvh29Tug3KlNjDtaWXG3/tsvNQHA6WQ=; b=u4RSLi+zMCICRJHZksZMw9Dk7GxMNqp93hGpxwSu/5SU7LUaCWOPxRduEzZdNrU63k8XDQ ALq3z+BzPOVaLxHsCnMtSTyeY4Aj1T4DFPGNWQcBAftQC6Un9AhEJG45p1UEmDb9l4WOTr htXNoLN0tZ7dKEyxUQfZspQgI6J5jLKbetE8DSGXRhsem6QAxC7RgNigJE7TTPesBKfgSY SAtNPwildQC9xZbu/AxSS9RQT6qxuelcIR/TmrU4//EcHFfVlx+EIGg62xTLqXNgs16ie+ t+2xcCZI1voKT7PooLyvSlMhFDz0ftSGHWGZcBDbcvIaw1gzWk/tsMlXRpo3Zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708475362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+s05ZKgOXOFxNvh29Tug3KlNjDtaWXG3/tsvNQHA6WQ=; b=ORCIlHoc2FbU5GXYNpSFvRTD8+1QBvjSmZXJ5wOJR5Vupc+uFjh3SNzMGzIanThcxt9lAn sPMqWb8bs5a2OeuS0velxRUWwJSxzhFLFiTDOVZAeMUFbgz4vQjEHluWU3o/RNiJM3ck27 XVvpqg5MbZMMaX2Q3IOoMulGSUq0r7Fukld5hty0p3M1psw8yJvtP+e7Qh/+kE5RUvGceW WByIDMW2xGLWcA0MYzU+RMQEfs6bZGGEwiFYGwoQX9Az19ulGJq4yeLV3G5zMDwCL60v3+ k7cq1rtsk6v7BcD1HCX2JPOsU/I+icgx1QBt1mAjbeIXQo319DwvJJ5wMc/Yjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708475362; a=rsa-sha256; cv=none; b=DFUdcTC5qvlxEmjIcj2z+iM2HWLWIwGdw9RJoMlyzM5llGzo+h/pkC8kQznHJxye2u4BhA Gx4vzNuTh8x+vLElKPbwOuUjcJuAJfMSfdPvxoY1YcPu1A6ZnqXh0G+9mloQGWzBwXVqxN vME3RB0oM/x0c8r58MIZsSPe5tZMwdKaTO72D8EgcBFbhODVQbtQEY3o6HJbM18XNBPJa+ sgJiZm8MBO4PLkZgCDh/Vhy0ta7j9UdIRT1VOeVbuQ0wnmjTUWCnsV8CKcX4+z2N8ggaGS HeXdPu/JNrMSERJSKmnUxVgwBuIqOimCb2NfCyn3UMJbXKVPrKbzyj01oLUj+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 4TfcbQ3CqTzh7B; Wed, 21 Feb 2024 00:29: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 41L0TMHs000138; Wed, 21 Feb 2024 00:29:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L0TMC1000135; Wed, 21 Feb 2024 00:29:22 GMT (envelope-from git) Date: Wed, 21 Feb 2024 00:29:22 GMT Message-Id: <202402210029.41L0TMC1000135@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: 180df764c4ee - main - rtld: remove pointless "extern" 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: 180df764c4ee570850deb4a910a11780ec3316df Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=180df764c4ee570850deb4a910a11780ec3316df commit 180df764c4ee570850deb4a910a11780ec3316df Author: Konstantin Belousov AuthorDate: 2024-02-20 14:25:48 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-21 00:26:10 +0000 rtld: remove pointless "extern" Reviewed by: brooks, imp Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D43985 --- libexec/rtld-elf/rtld-libc/rtld_libc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rtld-elf/rtld-libc/rtld_libc.c b/libexec/rtld-elf/rtld-libc/rtld_libc.c index c4feab5e184d..a5371de394e9 100644 --- a/libexec/rtld-elf/rtld-libc/rtld_libc.c +++ b/libexec/rtld-elf/rtld-libc/rtld_libc.c @@ -105,7 +105,7 @@ getpagesize(void) return (page_size); } -extern int __sys___sysctl(const int *name, u_int namelen, void *oldp, +int __sys___sysctl(const int *name, u_int namelen, void *oldp, size_t *oldlenp, const void *newp, size_t newlen); int From nobody Wed Feb 21 00:29:23 2024 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 4TfcbR6VvRz59ycG; Wed, 21 Feb 2024 00:29: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 4TfcbR5NRWz4CbT; Wed, 21 Feb 2024 00:29:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708475363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e0Do4rZDTCtHGLQ+fHSaZZ+t1ZO1qsGj2SfPkCNKDYE=; b=t8g9GSd1a6b/axqX9dZXR9odq+EK2bntXZcgzxwq67igJOEzcEoxG7VYiOoh8ZZZJVR8Fq w5E5n5RIYACnwXeW565wFRAMcsYhxrmQnIVSIVaZq54Gj1zLhjvh6zoYuq2PD1noRmh7yf t5WalWTulpeW7ObDV5o2+VH7h9CTcMUSv1TRc4OmLx5ApKiERX0r9vtiByJWS0jA4GNQUR IIo5ScIZZB8sCwMnUSqey+5b9tEgl0qtXG0Ri+O/tYAZQ9EklIGS1ufwH++yCNxOz08ChU inWPy9RVI0ZMzdH0lZc7Tm4pj6Ic1L2d7wG37graHR5u8tNOCcNcXghWU1oJ5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708475363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e0Do4rZDTCtHGLQ+fHSaZZ+t1ZO1qsGj2SfPkCNKDYE=; b=YyshyZAdOZoje/pjNnu2h38c3RMYsKk0UwpPfwf1+1+eLaSTS61mY7jtJwF9FDI+2gySuY 0OYcehdmWOHHp8GJ9TwaPzlMIw5BVqvrG9KV7Qz+hW6+wPFChK1cGIdd06qSJRQ4mL+M5U 4dOe3RxNTLwMgrUcYjA58KKXItn57maJjR33wwkhA4rxEv4B6Pm2Vf2BIXqgE1ZOmY8Std acxLeuSBew+Hhdpe+xAR2nV8RmLarMrbrV8E8PY0yz141xUC+OXdJinuxcqnj320VZfAGl tB4ZzAr/C5KFXzmcOtjcuJimvLaHic61So37KWz5d9j8+SDiJA21MxOvZgHE2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708475363; a=rsa-sha256; cv=none; b=ouwy9q79JeQQzQmnJHDLRLR2GHjapWuRJB1+M0+leXDtAIJuZ4Lt4yBI1RQ+1SXrgOkZkc Dy3OBXuJSYtlSd30eLxEXyXvoPBKdG1iQV3zgLDcDnrvYV/Wsf9T4fQ0H15DLXzVoqyZ5R SanRmcIzlSAobig8g14xEpPZJSAES7j68xHdyzhZ9mS7GJm3vOYLN2yd2lNYxY0926vG7S u4Dvcbu1B+829VhDymINkUzLggLHXw4L+VNKF2AIpPFTjwtfXTpIYgjMXu8kGIH6bV76vg KeMIIicGXItw5fMXLfBHHPbt19rWCKTksJnx3zA2HTINAqR2+OhWSQHLWSWJQg== 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 4TfcbR4T30zh8n; Wed, 21 Feb 2024 00:29: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 41L0TN3s000186; Wed, 21 Feb 2024 00:29:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L0TNsB000183; Wed, 21 Feb 2024 00:29:23 GMT (envelope-from git) Date: Wed, 21 Feb 2024 00:29:23 GMT Message-Id: <202402210029.41L0TNsB000183@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: af9758deff9a - main - libsys: internalize memcpy, memset, and strlcpy 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: af9758deff9abb118ce189cbab0a830b02fc63db Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=af9758deff9abb118ce189cbab0a830b02fc63db commit af9758deff9abb118ce189cbab0a830b02fc63db Author: Konstantin Belousov AuthorDate: 2024-02-20 14:28:37 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-21 00:26:11 +0000 libsys: internalize memcpy, memset, and strlcpy Reviewed by: brooks, imp Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D43985 --- lib/libsys/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/libsys/Makefile b/lib/libsys/Makefile index 598962185dcf..668c263c506f 100644 --- a/lib/libsys/Makefile +++ b/lib/libsys/Makefile @@ -26,6 +26,9 @@ CFLAGS+=-I${LIBSYS_SRCTOP}/include -I${LIBC_SRCTOP}/include CFLAGS+=-I${LIBSYS_SRCTOP}/${LIBC_ARCH} CFLAGS+=-I${LIBC_SRCTOP}/${LIBC_ARCH} +.PATH: ${LIBC_SRCTOP}/string +SRCS+= memcpy.c memset.c strlcpy.c + CLEANFILES+=tags INSTALL_PIC_ARCHIVE= #XXX? BUILD_NOSSP_PIC_ARCHIVE= From nobody Wed Feb 21 00:29:24 2024 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 4TfcbT1Vfbz59yfD; Wed, 21 Feb 2024 00:29: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 4TfcbS6RBdz4CfT; Wed, 21 Feb 2024 00:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708475364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yoBXrt7gGvugbJ0XmQmS9+Bv5FRbbn2M5J84zkPvRf0=; b=jV9fjNAA8QZsqUT/Zul3I/WCFIphI7eCAC9QXraExt6yJIm5tQV2MsIc5Se6qlkZVpP6KA ZP1PaDi9qMb7jQQjBtq3QGwIRFB/B8FXU6+aOoMui+QhjbHgnGatnmHyV4QjAhUdE3S2eD oPMB+kpcCvqRNsXZ/vFxzqtU37a0W+psWN9mi8F6vZ1gi3Ml2fcRw5hjmd4Zw5n/dVEd8o JCvmWMNGkodc1sovNpKHcqlxL6eYVrZuKpTguri2zWc+G1X1hcUxxOvn8X4+2VFVHI0mkg gkIZHouz05MhYaxRFmPXz5d+ynpXx1jAhm5XWW7LOmVy1bBwYWyokUtlrUjuVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708475364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yoBXrt7gGvugbJ0XmQmS9+Bv5FRbbn2M5J84zkPvRf0=; b=ZKkbrrIixxbnBvX5HvJN3zBtsNda8BeF/Obe0WsBSHXq6Wdt3nXsEOcqiKZD3F+gdRh4+I lkao7uxbQixLgHUE7hiiRyem7ZJBwaWwlP6LvxvDjGyy/nIrn1Qpxg+Bz2eO9bzRnvRfQ7 n4LjgQJNrj1qkdnIxUMy9bIexdocfTBxXxdeJBftEVBqbnRMDPYbL2zlJ1q0HDcbdE7OlA hGwj0YKG/ygh+HcpnA6yWHZDUZkrpUcKzX3m9+7++ceZhxwbvCQNG9s1nIsIvGfAfDlgAr xxNwkw+1Tjf4k0VRRv3cX/1zWEVB6unvhkPqTav65BACP9zcLebLrnt4oaZ78w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708475364; a=rsa-sha256; cv=none; b=s6kH3xYZA2+xuWScH0ewW4ONj1Aj1Q/o+w0lnra3y+Ku4QFFoSBWMYX4eMzLrF9hYYVqd1 6Eyc46d6FrlXYkbUq05smhZQuy1I5MbjPcd6VWNNRMMA2h7q36ZTA39F1WY7lV0M2M+q2E G5UxFMqVvC/XuNAsclW7tks3i6WLXHjlVcJuUuDP8gQy6Oe/OaVkK9BxdMdJkp+Vr4eD4f DpBdXyaka1ZLNHJ3mzPmHyDgWI+bx6WYlciBiliH05U4CoGQcj1wWODbpdd9wYhxvvnCij hgfh31n+zwG9wlIFvg8XV8qlE/Dm8hdl2p9+yVyLHy5eEpV4ufNdUnmRgc1MIg== 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 4TfcbS5VcpzgqB; Wed, 21 Feb 2024 00:29:24 +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 41L0TOLe000234; Wed, 21 Feb 2024 00:29:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L0TOH5000231; Wed, 21 Feb 2024 00:29:24 GMT (envelope-from git) Date: Wed, 21 Feb 2024 00:29:24 GMT Message-Id: <202402210029.41L0TOH5000231@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: 8271d9b99a3b - main - libsys: remove usage of pthread_once and _once_stub 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: 8271d9b99a3b98c662ee9a6257a144284b7e1728 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8271d9b99a3b98c662ee9a6257a144284b7e1728 commit 8271d9b99a3b98c662ee9a6257a144284b7e1728 Author: Konstantin Belousov AuthorDate: 2024-02-20 14:45:29 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-21 00:26:11 +0000 libsys: remove usage of pthread_once and _once_stub that existed in auxv.c, use simple bool gate instead. This leaves a small window if two threads try to call _elf_aux_info(3) simultaneously. The situation is safe because auxv parsing is really idempotent. The parsed data is the same, and we store atomic types (int/long/ptr) so double-init does not matter. Reviewed by: brooks, imp Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D43985 --- lib/libc/gen/Makefile.inc | 1 + lib/{libsys => libc/gen}/_once_stub.c | 0 lib/libsys/Makefile.sys | 1 - lib/libsys/auxv.c | 20 ++++++++++++++++++-- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 8d30e06cfed9..ce7a34d0e58e 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -9,6 +9,7 @@ CONFSPACKAGE= runtime SRCS+= \ __pthread_mutex_init_calloc_cb_stub.c \ __xuname.c \ + _once_stub.c \ _pthread_stubs.c \ _rand48.c \ _spinlock_stub.c \ diff --git a/lib/libsys/_once_stub.c b/lib/libc/gen/_once_stub.c similarity index 100% rename from lib/libsys/_once_stub.c rename to lib/libc/gen/_once_stub.c diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys index cb9ca1749ba8..e33a11bacb57 100644 --- a/lib/libsys/Makefile.sys +++ b/lib/libsys/Makefile.sys @@ -33,7 +33,6 @@ PSEUDO+= _clock_gettime.o _gettimeofday.o SRCS+= \ __error.c \ __getosreldate.c \ - _once_stub.c \ getpagesize.c \ getpagesizes.c \ interposing_table.c diff --git a/lib/libsys/auxv.c b/lib/libsys/auxv.c index b0b3a8ed708b..88f49ef53be1 100644 --- a/lib/libsys/auxv.c +++ b/lib/libsys/auxv.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include "un-namespace.h" @@ -40,6 +41,8 @@ extern int _DYNAMIC; #pragma weak _DYNAMIC void *__elf_aux_vector; + +#ifndef PIC static pthread_once_t aux_vector_once = PTHREAD_ONCE_INIT; static void @@ -61,8 +64,9 @@ __init_elf_aux_vector(void) return; _once(&aux_vector_once, init_aux_vector_once); } +#endif -static pthread_once_t aux_once = PTHREAD_ONCE_INIT; +static bool aux_once = false; static int pagesize, osreldate, canary_len, ncpus, pagesizes_len, bsdflags; static int hwcap_present, hwcap2_present; static char *canary, *pagesizes, *execpath; @@ -77,11 +81,19 @@ static void _init_aux_powerpc_fixup(void); int _powerpc_elf_aux_info(int, void *, int); #endif +/* + * This function might be called and actual body executed more than + * once in multithreading environment. Due to this, it is and must + * continue to be idempotent. All stores are atomic (no store + * tearing), because we only assign to int/long/ptr. + */ static void init_aux(void) { Elf_Auxinfo *aux; + if (aux_once) + return; for (aux = __elf_aux_vector; aux->a_type != AT_NULL; aux++) { switch (aux->a_type) { case AT_BSDFLAGS: @@ -166,6 +178,8 @@ init_aux(void) if (!powerpc_new_auxv_format) _init_aux_powerpc_fixup(); #endif + + aux_once = true; } #ifdef __powerpc__ @@ -256,10 +270,12 @@ _elf_aux_info(int aux, void *buf, int buflen) { int res; +#ifndef PIC __init_elf_aux_vector(); +#endif if (__elf_aux_vector == NULL) return (ENOSYS); - _once(&aux_once, init_aux); + init_aux(); /* idempotent */ if (buflen < 0) return (EINVAL); From nobody Wed Feb 21 00:29:25 2024 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 4TfcbV25tFz59yqZ; Wed, 21 Feb 2024 00:29: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 4TfcbV0Jbkz4Cbw; Wed, 21 Feb 2024 00:29:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708475366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OCwKNYzBRW0R+/6Zoa04YKaBkDmQPjM/SU4qbqFbZw4=; b=gh1ISooRYT6YyOVp6HlkrAZ8dt5TSVpZbtl1Lx1cpsspwly3cglRYpVpQT9+FHrdYt3unP lMYcpMUnSNz7yApVZm/qn4oU8DHa9Z6pPDc6mZhRxoEq0r96XikgB5wiZuh3St6jCNx6OW gvkTXIiWuOdly1Do4YcEDH7Q3pgxajfPie0f2NGbe5+h4fsVbB4KxhsPVFLjx6mRE6j8VK pNdDBQg5ISX4EaQH+HKdoKnTx4aAI7jy+qcMRX8EwZEJluzO6EjeR/gVn+YbP5MTh3V1lH tPscp8X4LGTbASFJWsqaz7/8KayU9l3/qj9jZS3d6JYtKn3kkw9KjzdvzJCNfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708475366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OCwKNYzBRW0R+/6Zoa04YKaBkDmQPjM/SU4qbqFbZw4=; b=KuYigkb6IKHkrzTBvahTOqUmJyLaRevdbMAn4ukdwaYfsoomCACAZ4j77dRr9ehzmogGRY L6l8vJTJczLCyBr8ocZ0xlJncc4BFJ8R4Nd/0Z8wuFkFwQILfgHTONid1FrTL6V1srpwTh t89UxXdXvHSN6Kf7e/EbWE6C3RWrlldFZGWYvJ8F4OegGOwtE/d13KFnEzm6AU+nZagnRJ NYP7IqXyJBNfBM4GvAuIKIH89JWbXscOFPZpnFxATn+smyK7h/35S5GDNjnEVUyV7zBvaY 74301+EpUThNf1Rjw4ZHjk5k4cOUlVsXDK6+ASS8t36Tpdrxq0VuEiKyrHZ6xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708475366; a=rsa-sha256; cv=none; b=gbmC9cbJf8DIGtXpl0NMR8d0oPmCqT2ywajl9Z04KPtuKBo3umO1CtLP45oe07Gti1Dlf1 CMICT3Z2jrZe5WBRR1Dm+JmhUCD44TC2Y1uiq8SWdMCUBNX3QJKiAI/urWC17ficrOM6ve QMHroe3huYB+qlslNafqEl2wbFXnCWjALRCcE+xhp0E7/UQ/rME+krydyIJMqMSyPa/sz2 hZ8FBVRMDhcoJ+I/iM3PuJ2VXa9scxJQDihu8FA1z1B6Md1EgyVU+f0TWz5tDRG9SA6T6D gfumd0Cywe+GdKnS46NheYWO6ikoHf1/IGYHx+arKGB3ofjIqEAlJa02Q7v8Xw== 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 4TfcbT6Vl0zgvX; Wed, 21 Feb 2024 00:29: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 41L0TPwv000276; Wed, 21 Feb 2024 00:29:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L0TPFO000273; Wed, 21 Feb 2024 00:29:25 GMT (envelope-from git) Date: Wed, 21 Feb 2024 00:29:25 GMT Message-Id: <202402210029.41L0TPFO000273@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: fe920a4f2f80 - main - libsys: move errno to libsys 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: fe920a4f2f80fda4a24c3991de0d593e06ae7f6f Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fe920a4f2f80fda4a24c3991de0d593e06ae7f6f commit fe920a4f2f80fda4a24c3991de0d593e06ae7f6f Author: Konstantin Belousov AuthorDate: 2024-02-20 15:13:09 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-21 00:26:11 +0000 libsys: move errno to libsys Before, the 'errno' itself was defined in libc and was referenced by libsys, causing undesired dependency. Reviewed by: brooks, imp Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D43985 --- lib/libc/gen/Makefile.inc | 1 - lib/libc/gen/Symbol.map | 1 - lib/libc/gen/errno.c | 29 ----------------------------- lib/libsys/Symbol.sys.map | 1 + lib/libsys/__error.c | 2 +- 5 files changed, 2 insertions(+), 32 deletions(-) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index ce7a34d0e58e..648ddc76e056 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -47,7 +47,6 @@ SRCS+= \ erand48.c \ err.c \ errlst.c \ - errno.c \ eventfd.c \ exec.c \ exect.c \ diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 0821563e0c9f..7b002941ea4e 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -99,7 +99,6 @@ FBSD_1.0 { vwarnx; sys_errlist; sys_nerr; - errno; exect; execl; execle; diff --git a/lib/libc/gen/errno.c b/lib/libc/gen/errno.c deleted file mode 100644 index d35a481dff3f..000000000000 --- a/lib/libc/gen/errno.c +++ /dev/null @@ -1,29 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2002 Peter Wemm - * 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. - * - * 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. - */ - -int errno; diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map index d59ac8674669..4b9373ffa773 100644 --- a/lib/libsys/Symbol.sys.map +++ b/lib/libsys/Symbol.sys.map @@ -76,6 +76,7 @@ FBSD_1.0 { extattr_set_file; extattr_set_link; extattrctl; + errno; fchdir; fchflags; fchmod; diff --git a/lib/libsys/__error.c b/lib/libsys/__error.c index 7f2bf5713b1d..1132bdba9c65 100644 --- a/lib/libsys/__error.c +++ b/lib/libsys/__error.c @@ -31,7 +31,7 @@ #include "libc_private.h" -extern int errno; +int errno; static int * __error_unthreaded(void) From nobody Wed Feb 21 00:29:26 2024 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 4TfcbW2M8Tz59ycR; Wed, 21 Feb 2024 00:29: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 4TfcbW11dDz4Clm; Wed, 21 Feb 2024 00:29:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708475367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4PQD4iPxfcGugAC6MJ1U1n8upt459PqiLWknVR6fnss=; b=ke+1rQLTxprNAsT196wsJQZulxPfTr4xzwSh9rNH0+NhG50DRqdObu/MdZfv/yP9iBTHJ1 nP/8DEUvLc96+cNLPOe2NBj/BhbQHp5Dqk/bLJb/W2byQc21pqusqh1asdTPCJ8OCfLrWh AzK4bDcXd6fJZh0wurtV0U7DY09leVvGrwuX85GnhYBghRxKhqEI+luoL6RDcnvs5YxA7i gKBc0PJcXYPktsyOcIC/3+Uptz0U4kebcJj8Th8zNeYa2F1JjXpL4pLsJzdZcsC55ZWttA Bgg67SiMRWmuisWNlrCiYUIv26Qh/3upuNZEoqhi19YnWU4nem9F9Mvu7yON6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708475367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4PQD4iPxfcGugAC6MJ1U1n8upt459PqiLWknVR6fnss=; b=skNGMccA0PXkhLMsKi+ITD7pFEg/JX6bFZf39oKEOSUn9KEN0UD/tfAnDkHcJwvSkr4Pdp nz97NbErl9twbSii0EM8ag21JwM+0k3H/4b8IeGXdQw54azbVdN1G6hXAtHuamSj9XUrJ9 aFioPRgairLZXdFl4WizrasKW3rNzDXhns3itiZF+qpJiuGP0RqV75WsVtEucPDkLdbUFO URWum/hZRyCSWW+FzgkHPlFURh26r/TBiOZX/Fn1KYG6qV4czkwmDfSsLSDhYYd/DpT6SY Ray9WxNp+95sJPT+2ZHdB24sbsy8n0dYBR52jvcGsaNlb67yq6HWT+u+o1DpLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708475367; a=rsa-sha256; cv=none; b=VPSlZBW3Pd30jYvzlUNM81Sk54IyFNs4RWeIZ3mQWxER3/TB2m8da9ke0Gd1ZTRzj8M5WO UnmAbhL487nXUw9YUiPIMt/G4zSrBY8rswphfo/r8waucY/wPywdVTA0DYiIqLcvvP+b5o 2r0qzRHVbsXg+AYrQrRXZuLvGtqSQaanXsDYzxGDHYKWdkxl/hUA6pOL5lKEjuzAOhO+iK m9sz7qyT8ww7QqjMBnidZottuWElTlxrO5jtefUiA0FjbLABoRqNJCcT3TVeCzlqg1ME0w ZqbRC4gy+2E/8Qc549ZtyuisPzIE2X+6XFtsNwbpQzAvqDyfckQ0L/eDBLvZLw== 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 4TfcbW06lTzh7C; Wed, 21 Feb 2024 00:29: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 41L0TQ0q000320; Wed, 21 Feb 2024 00:29:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L0TQgU000317; Wed, 21 Feb 2024 00:29:26 GMT (envelope-from git) Date: Wed, 21 Feb 2024 00:29:26 GMT Message-Id: <202402210029.41L0TQgU000317@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: 3668e1fa0a50 - main - libsys: disable ssp 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: 3668e1fa0a50562f58508565bdde0bdb83e0b475 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3668e1fa0a50562f58508565bdde0bdb83e0b475 commit 3668e1fa0a50562f58508565bdde0bdb83e0b475 Author: Konstantin Belousov AuthorDate: 2024-02-20 15:13:26 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-21 00:26:11 +0000 libsys: disable ssp Reviewed by: brooks, imp Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D43985 --- lib/libsys/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libsys/Makefile b/lib/libsys/Makefile index 668c263c506f..5e8c39deb463 100644 --- a/lib/libsys/Makefile +++ b/lib/libsys/Makefile @@ -21,6 +21,7 @@ LIBC_ARCH=${MACHINE_CPUARCH} LIB=sys SHLIB_MAJOR= 7 WARNS?= 2 +MK_SSP= no CFLAGS+=-I${LIBSYS_SRCTOP}/include -I${LIBC_SRCTOP}/include CFLAGS+=-I${LIBSYS_SRCTOP}/${LIBC_ARCH} From nobody Wed Feb 21 00:51:04 2024 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 4Tfd4k3nNhz5B1mJ for ; Wed, 21 Feb 2024 00:51:18 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 4Tfd4k0JZ4z4GWm for ; Wed, 21 Feb 2024 00:51:18 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-33d61d51dd1so1120169f8f.3 for ; Tue, 20 Feb 2024 16:51:18 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708476676; x=1709081476; 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=Py4Ty/VpEhx4nXvdO28WlCgbeiag7O2vbM3x+QGc7ig=; b=qg2o9+7jWcw9c67nEXzKsmKaGTrWyXFibgQSTNRic2cIVyw47NKqvp9qHwptmwd9zj q82By3GiFZz4/DGUw08e+mQgC1FTL5fsZtZ9lquEkx00eGGprQXg/A+uyvqdkiGV/r0l dd7ETl3J3kkrfsJhFU8BFWdGKuz7ib2vRekfToaYoS7nHeg026oNce1ktt3wpAyZyLm8 aggaeEIX/ZjF/zBJaTbIBdJ8kPP8mXABLAC2MO6jxvEm9PaP+H3wVr6pO4gmvhnJBqg4 sHHSlQ+l1CtHFVgmwU503rRHkjfVzcxF/ZZ6j/lu3fTO3C1vveM1Rt93t0tQZHztpryR /YLw== X-Forwarded-Encrypted: i=1; AJvYcCUijSbw4/D3CKO8gEdgbJGXGO2c3KDXizWJMuNmdll2PfmXJAEY+hQNxhEwKilHwMI0F+hbvge0wNOhy3ur2LezC0sHrio+xxD9PZ4vZ3zI X-Gm-Message-State: AOJu0YyVb+O+lWQWHh8D1RWfq84EtgKtJ3opR9TgbP7ZLANEbhgQo/V6 M8/Md2ViUNHuUDLefZMikOtsapqixxcRPnjQoZK8YKcnmvtIE7CxSswLlH+rFRCyVSSEufrvrRx G X-Google-Smtp-Source: AGHT+IEyv6WUEujAyhIcyWUoGGxuuwwXKrXObywKVyLqcgbpkHYLaAERKK9fECV40IUsA8CG7nqnVw== X-Received: by 2002:a05:6000:3:b0:33d:1cc1:bb08 with SMTP id h3-20020a056000000300b0033d1cc1bb08mr9447690wrx.22.1708476675827; Tue, 20 Feb 2024 16:51:15 -0800 (PST) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id r6-20020adff706000000b0033cf7eb4a85sm14992783wrp.65.2024.02.20.16.51.15 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Feb 2024 16:51:15 -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: 8271d9b99a3b - main - libsys: remove usage of pthread_once and _once_stub From: Jessica Clarke In-Reply-To: <202402210029.41L0TOH5000231@gitrepo.freebsd.org> Date: Wed, 21 Feb 2024 00:51:04 +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: <964A29A2-4C51-4037-8EBE-320008D48AE0@freebsd.org> References: <202402210029.41L0TOH5000231@gitrepo.freebsd.org> To: Konstantin Belousov X-Mailer: Apple Mail (2.3774.200.91.1.1) X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4Tfd4k0JZ4z4GWm 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] On 21 Feb 2024, at 00:29, Konstantin Belousov wrote: >=20 > The branch main has been updated by kib: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D8271d9b99a3b98c662ee9a6257a14428= 4b7e1728 >=20 > commit 8271d9b99a3b98c662ee9a6257a144284b7e1728 > Author: Konstantin Belousov > AuthorDate: 2024-02-20 14:45:29 +0000 > Commit: Konstantin Belousov > CommitDate: 2024-02-21 00:26:11 +0000 >=20 > libsys: remove usage of pthread_once and _once_stub >=20 > that existed in auxv.c, use simple bool gate instead. This leaves a > small window if two threads try to call _elf_aux_info(3) = simultaneously. > The situation is safe because auxv parsing is really idempotent. = The > parsed data is the same, and we store atomic types (int/long/ptr) = so > double-init does not matter. You still need to load acquire and store release aux_once though, otherwise you can see aux_once as true yet read the pre-initialised data. In practice that=E2=80=99s surely very hard to hit, but the code = as written is now wrong. Also, idempotence should probably be made unnecessary by using 0/1/2 state for uninitialised/initialising/ initialised, as it=E2=80=99s still technically UB from a C AM = perspective due to not being data race free if two threads initialise at the same time. Better to just do the correct thing rather than risk things going wrong. Jess > Reviewed by: brooks, imp > Sponsored by: The FreeBSD Foundation > Differential revision: https://reviews.freebsd.org/D43985 > --- > lib/libc/gen/Makefile.inc | 1 + > lib/{libsys =3D> libc/gen}/_once_stub.c | 0 > lib/libsys/Makefile.sys | 1 - > lib/libsys/auxv.c | 20 ++++++++++++++++++-- > 4 files changed, 19 insertions(+), 3 deletions(-) >=20 > diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc > index 8d30e06cfed9..ce7a34d0e58e 100644 > --- a/lib/libc/gen/Makefile.inc > +++ b/lib/libc/gen/Makefile.inc > @@ -9,6 +9,7 @@ CONFSPACKAGE=3D runtime > SRCS+=3D \ > __pthread_mutex_init_calloc_cb_stub.c \ > __xuname.c \ > + _once_stub.c \ > _pthread_stubs.c \ > _rand48.c \ > _spinlock_stub.c \ > diff --git a/lib/libsys/_once_stub.c b/lib/libc/gen/_once_stub.c > similarity index 100% > rename from lib/libsys/_once_stub.c > rename to lib/libc/gen/_once_stub.c > diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys > index cb9ca1749ba8..e33a11bacb57 100644 > --- a/lib/libsys/Makefile.sys > +++ b/lib/libsys/Makefile.sys > @@ -33,7 +33,6 @@ PSEUDO+=3D _clock_gettime.o _gettimeofday.o > SRCS+=3D \ > __error.c \ > __getosreldate.c \ > - _once_stub.c \ > getpagesize.c \ > getpagesizes.c \ > interposing_table.c > diff --git a/lib/libsys/auxv.c b/lib/libsys/auxv.c > index b0b3a8ed708b..88f49ef53be1 100644 > --- a/lib/libsys/auxv.c > +++ b/lib/libsys/auxv.c > @@ -31,6 +31,7 @@ > #include > #include > #include > +#include > #include > #include > #include "un-namespace.h" > @@ -40,6 +41,8 @@ extern int _DYNAMIC; > #pragma weak _DYNAMIC >=20 > void *__elf_aux_vector; > + > +#ifndef PIC > static pthread_once_t aux_vector_once =3D PTHREAD_ONCE_INIT; >=20 > static void > @@ -61,8 +64,9 @@ __init_elf_aux_vector(void) > return; > _once(&aux_vector_once, init_aux_vector_once); > } > +#endif >=20 > -static pthread_once_t aux_once =3D PTHREAD_ONCE_INIT; > +static bool aux_once =3D false; > static int pagesize, osreldate, canary_len, ncpus, pagesizes_len, = bsdflags; > static int hwcap_present, hwcap2_present; > static char *canary, *pagesizes, *execpath; > @@ -77,11 +81,19 @@ static void _init_aux_powerpc_fixup(void); > int _powerpc_elf_aux_info(int, void *, int); > #endif >=20 > +/* > + * This function might be called and actual body executed more than > + * once in multithreading environment. Due to this, it is and must > + * continue to be idempotent. All stores are atomic (no store > + * tearing), because we only assign to int/long/ptr. > + */ > static void > init_aux(void) > { > Elf_Auxinfo *aux; >=20 > + if (aux_once) > + return; > for (aux =3D __elf_aux_vector; aux->a_type !=3D AT_NULL; aux++) { > switch (aux->a_type) { > case AT_BSDFLAGS: > @@ -166,6 +178,8 @@ init_aux(void) > if (!powerpc_new_auxv_format) > _init_aux_powerpc_fixup(); > #endif > + > + aux_once =3D true; > } >=20 > #ifdef __powerpc__ > @@ -256,10 +270,12 @@ _elf_aux_info(int aux, void *buf, int buflen) > { > int res; >=20 > +#ifndef PIC > __init_elf_aux_vector(); > +#endif > if (__elf_aux_vector =3D=3D NULL) > return (ENOSYS); > - _once(&aux_once, init_aux); > + init_aux(); /* idempotent */ >=20 > if (buflen < 0) > return (EINVAL); From nobody Wed Feb 21 00:52:40 2024 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 4Tfd6J6sT2z5B1vZ; Wed, 21 Feb 2024 00:52: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 4Tfd6J6ZZJz4HDp; Wed, 21 Feb 2024 00:52:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708476760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RDS/XdzhVIMaU1czgLA1+zlUP+SACDcq2uDl0NqMLd4=; b=P9NGzSdIh3gRSjBk0YMqGUjrQFBRYVCNHb5hA/aXRkETHi7I8j5Gb5m87aMjQzUsssL1hq N2GNpAxUHrujtAnJzdnNTQp3HfB0O+2Z9xlJJQTsBGvLq+j4ZBOEX7V/4oXfOPYElWQkUl 7F3EE6rRQVsf74e7tyHcGJBJMjXsEPb2sVHKV6YqMCv1WnS3s+cYwgMSaYx5l9YN0WGRwS Fp11L+Lfz9x9FuPACuyNK7MEwa8F2WaV9EvS3DLgrfLl1Aluvbsu4I5jKDE7RGwJnqbQsv T96KrlLCwGmJ/8wFHj1pR8pTHvqju0Z6l2+NyXKUusM/+US8uY5iUDIJGfu/8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708476760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RDS/XdzhVIMaU1czgLA1+zlUP+SACDcq2uDl0NqMLd4=; b=Kn9rFOpEPJHqSwKoCGrcso6zQHeiXewgn8Sc/zwb4iAmSCnOV+v3a+DHP5BSBYIGoq8LTn WUyfQwYYKRFur4vrzcS189CyTMuv8Y4hg0bSxjFMbQTnJc9dtPpcB8QpjcctJHIs8ame0P q/Blu5Yak08ZWZ+65+aZUKFppQrUG16jo4MpgOe4vfQqEcQBStiEgGx3pADsYlZrtpmz1r xP7RdvQLbOCyU/wdVA9b6xcVblO4MCHsD92kpAtAhmZ8rh0Yy8z/OyBM0EDdjbQOTzeUiG wj7aTzyjm25YPjO2xKtlkSaXYfXW/iUxBL9+EvbHbKuXmynxsHKmwhIl1Emp8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708476760; a=rsa-sha256; cv=none; b=JnfCSHjw+9FeZo61We/xcPIW5WuvWtuTKoXsN5Jy+6edx8DoGy4cmsOLUgZpZHHsSa/hWc 1RAR6PZeaKUjj6yrQ0RC6ekPaKIWmfLIhdl4qm/0LqhP97Jq4Nhtp8lAyxjAdOq0wmvKwt JiAP7o4mU0wLlm1ObzKLgcB00vEHrnWScKnvJ58bCI4Yl6T0XqOrRBRClLCxPsVKCfkIX/ UxSM7fmZPDCeKKiDYk8Do8d1bny7nvw4rJESwfEm8hseK1XgufNVORaXf2aqQWR1/V91Yj OQXVEzdTJ/BtUTM2J7TCthMIvgRT+eJoSMxluqk1EBPIhScdBAFBbNToHhJrUQ== 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 4Tfd6J5Jv9zhZ0; Wed, 21 Feb 2024 00:52: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 41L0qeGw049518; Wed, 21 Feb 2024 00:52:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L0qepV049515; Wed, 21 Feb 2024 00:52:40 GMT (envelope-from git) Date: Wed, 21 Feb 2024 00:52:40 GMT Message-Id: <202402210052.41L0qepV049515@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: f81cdf24ba54 - main - bhyve: Add support for XML register definitions 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: f81cdf24ba5436367377f7c8e8f51f6df2a75ca7 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f81cdf24ba5436367377f7c8e8f51f6df2a75ca7 commit f81cdf24ba5436367377f7c8e8f51f6df2a75ca7 Author: Mark Johnston AuthorDate: 2024-02-21 00:21:29 +0000 Commit: Mark Johnston CommitDate: 2024-02-21 00:51:34 +0000 bhyve: Add support for XML register definitions This is useful for exposing additional registers to debuggers. For instance, control registers are now available on amd64 when using gdb to debug a guest. The stub indicates support by including the string "qXfer:features:read+" in its feature list. The debugger queries for target descriptions by sending the query "qXfer:features:read:" followed by a file path. The XML definitions are copied from QEMU and installed to /usr/share/bhyve/gdb. Note that we currently don't handle the SIMD registers at all, since that's of somewhat limited utility (for me at least) and since that requires new ioctls to fetch the register values. Reviewed by: jhb MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D43666 --- etc/mtree/BSD.usr.dist | 2 + usr.sbin/bhyve/Makefile | 1 + usr.sbin/bhyve/gdb.c | 106 ++++++++++++++++++++++++++- usr.sbin/bhyve/gdb/Makefile | 21 ++++++ usr.sbin/bhyve/gdb/amd64.xml | 165 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 294 insertions(+), 1 deletion(-) diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist index a7738aaf6f78..0d43b657530b 100644 --- a/etc/mtree/BSD.usr.dist +++ b/etc/mtree/BSD.usr.dist @@ -184,6 +184,8 @@ atf tags=package=tests .. bhyve + gdb + .. kbdlayout .. .. diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index b6cad38a6c39..c9d571daebbc 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -75,6 +75,7 @@ CFLAGS+= -DBHYVE_GDB .ifdef GDB_LOG CFLAGS+=-DGDB_LOG .endif +SUBDIR+= gdb .endif CFLAGS+=-I${.CURDIR} \ diff --git a/usr.sbin/bhyve/gdb.c b/usr.sbin/bhyve/gdb.c index 84e725f9085e..fbd62413e2c2 100644 --- a/usr.sbin/bhyve/gdb.c +++ b/usr.sbin/bhyve/gdb.c @@ -34,6 +34,8 @@ #include #include #include +#include + #include #include #include @@ -63,6 +65,8 @@ #include "mem.h" #include "mevent.h" +#define _PATH_GDB_XML "/usr/share/bhyve/gdb" + /* * GDB_SIGNAL_* numbers are part of the GDB remote protocol. Most stops * use SIGTRAP. @@ -85,6 +89,7 @@ static cpuset_t vcpus_active, vcpus_suspended, vcpus_waiting; static pthread_mutex_t gdb_lock; static pthread_cond_t idle_vcpus; static bool first_stop, report_next_stop, swbreak_enabled; +static int xml_dfd = -1; /* * An I/O buffer contains 'capacity' bytes of room at 'data'. For a @@ -169,8 +174,25 @@ static const struct gdb_reg { { .id = VM_REG_GUEST_ES, .size = 4 }, { .id = VM_REG_GUEST_FS, .size = 4 }, { .id = VM_REG_GUEST_GS, .size = 4 }, + /* + * Registers past this point are not included in a reply to a 'g' query, + * to provide compatibility with debuggers that do not fetch a target + * description. The debugger can query them individually with 'p' if it + * knows about them. + */ +#define GDB_REG_FIRST_EXT VM_REG_GUEST_FS_BASE + { .id = VM_REG_GUEST_FS_BASE, .size = 8 }, + { .id = VM_REG_GUEST_GS_BASE, .size = 8 }, + { .id = VM_REG_GUEST_KGS_BASE, .size = 8 }, + { .id = VM_REG_GUEST_CR0, .size = 8 }, + { .id = VM_REG_GUEST_CR2, .size = 8 }, + { .id = VM_REG_GUEST_CR3, .size = 8 }, + { .id = VM_REG_GUEST_CR4, .size = 8 }, + { .id = VM_REG_GUEST_TPR, .size = 8 }, + { .id = VM_REG_GUEST_EFER, .size = 8 }, }; +#define GDB_LOG #ifdef GDB_LOG #include #include @@ -1029,9 +1051,13 @@ gdb_read_regs(void) send_error(errno); return; } + start_packet(); - for (size_t i = 0; i < nitems(gdb_regset); i++) + for (size_t i = 0; i < nitems(gdb_regset); i++) { + if (gdb_regset[i].id == GDB_REG_FIRST_EXT) + break; append_unsigned_native(regvals[i], gdb_regset[i].size); + } finish_packet(); } @@ -1519,6 +1545,7 @@ check_features(const uint8_t *data, size_t len) /* This is an arbitrary limit. */ append_string("PacketSize=4096"); append_string(";swbreak+"); + append_string(";qXfer:features:read+"); finish_packet(); } @@ -1590,6 +1617,71 @@ gdb_query(const uint8_t *data, size_t len) start_packet(); append_asciihex(buf); finish_packet(); + } else if (command_equals(data, len, "qXfer:features:read:")) { + struct stat sb; + const char *xml; + const uint8_t *pathend; + char buf[64], path[PATH_MAX]; + size_t xmllen; + unsigned int doff, dlen; + int fd; + + data += strlen("qXfer:features:read:"); + len -= strlen("qXfer:features:read:"); + + pathend = memchr(data, ':', len); + if (pathend == NULL || + (size_t)(pathend - data) >= sizeof(path) - 1) { + send_error(EINVAL); + return; + } + memcpy(path, data, pathend - data); + path[pathend - data] = '\0'; + data += (pathend - data) + 1; + len -= (pathend - data) + 1; + + if (len > sizeof(buf) - 1) { + send_error(EINVAL); + return; + } + memcpy(buf, data, len); + buf[len] = '\0'; + if (sscanf(buf, "%x,%x", &doff, &dlen) != 2) { + send_error(EINVAL); + return; + } + + fd = openat(xml_dfd, path, O_RDONLY | O_RESOLVE_BENEATH); + if (fd < 0) { + send_error(errno); + return; + } + if (fstat(fd, &sb) < 0) { + send_error(errno); + close(fd); + return; + } + xml = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, fd, 0); + if (xml == MAP_FAILED) { + send_error(errno); + close(fd); + return; + } + close(fd); + xmllen = sb.st_size; + + start_packet(); + if (doff >= xmllen) { + append_char('l'); + } else if (doff + dlen >= xmllen) { + append_char('l'); + append_packet_data(xml + doff, xmllen - doff); + } else { + append_char('m'); + append_packet_data(xml + doff, dlen); + } + finish_packet(); + (void)munmap(__DECONST(void *, xml), xmllen); } else send_empty_response(); } @@ -1917,6 +2009,9 @@ limit_gdb_socket(int s) void init_gdb(struct vmctx *_ctx) { +#ifndef WITHOUT_CAPSICUM + cap_rights_t rights; +#endif int error, flags, optval, s; struct addrinfo hints; struct addrinfo *gdbaddr; @@ -1997,4 +2092,13 @@ init_gdb(struct vmctx *_ctx) gdb_active = true; freeaddrinfo(gdbaddr); free(sport); + + xml_dfd = open(_PATH_GDB_XML, O_DIRECTORY); + if (xml_dfd == -1) + err(1, "Failed to open gdb xml directory"); +#ifndef WITHOUT_CAPSICUM + cap_rights_init(&rights, CAP_FSTAT, CAP_LOOKUP, CAP_MMAP_R, CAP_PREAD); + if (caph_rights_limit(xml_dfd, &rights) == -1) + err(1, "cap_rights_init"); +#endif } diff --git a/usr.sbin/bhyve/gdb/Makefile b/usr.sbin/bhyve/gdb/Makefile new file mode 100644 index 000000000000..a444b0cc4c69 --- /dev/null +++ b/usr.sbin/bhyve/gdb/Makefile @@ -0,0 +1,21 @@ +PACKAGE= bhyve +FILESDIR= ${SHAREDIR}/bhyve/gdb + +FILES+= target.xml + +.if ${MACHINE_ARCH} == "amd64" +XMLARCH= i386:x86-64 +FILES+= amd64.xml +.endif + +target.xml: .PHONY + @echo "" > ${.TARGET} + @echo "" >> ${.TARGET} + @echo "" >> ${.TARGET} + @echo " ${XMLARCH}" >> ${.TARGET} +.for file in ${FILES:Ntarget.xml} + @echo " " >> ${.TARGET} +.endfor + @echo "" >> ${.TARGET} + +.include diff --git a/usr.sbin/bhyve/gdb/amd64.xml b/usr.sbin/bhyve/gdb/amd64.xml new file mode 100644 index 000000000000..15bd270120d8 --- /dev/null +++ b/usr.sbin/bhyve/gdb/amd64.xml @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From nobody Wed Feb 21 03:19:14 2024 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 4TfhMR1HNFz5BGMF; Wed, 21 Feb 2024 03:19: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 4TfhMR0h5gz4Sv7; Wed, 21 Feb 2024 03:19:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708485555; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aRAL1WSiBa6h7Do8iAKzaH+91Ep96RyZrSFi/+ETgIE=; b=MtNICdYGgs0ZJdZREPO55GBc4vkeX+YSjf2NY1hcv6G/zjRqCh0ymw44fw2lPj4w0wcSlM 6zrxbKAjPPKTXdqpHqHfRDiEjqbyBiUNrURui78lkIjwjmlo9VHY0XxjxhrPr/BNlM1ehm zi0CtoV/YT8UW8pHKZUsBeWc6aveo/EhEqMEHB/1DpThPYm+0wHLqa+KUT57UqfOcwGOTg 9GhgTBWpkJvidKcqhV2TRhUOQddeNdde1jXQZ4NKhWqTA9oo4YjFOy2696u9AlRF8/BvXs uYI38qz2KrmUUo0ndWrpggXww8EWVPYbMzkqRpNtxKOfx5M+/WLaHsAD/e/hDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708485555; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aRAL1WSiBa6h7Do8iAKzaH+91Ep96RyZrSFi/+ETgIE=; b=Cs9GY0kGweT+nzSmwQcatqVe4lkxTRAF3D+op6SozjtngBxtzH0BLBP8oPUSu037xdJ/ZQ rxYFJZVKmBHq8m13EdfbXKed6kgIPdgjcaZHv0rcxi5UH+2Mg652F1XrXrcV3Pwb+G52jH Obm2PmVx0oT69zWJjQAcXIGBwGlDocG/0sqp/oGTZV2ovv+yQ64BrnjIxq8k/Q9+fgw7cs 5mlkcyD+eS9Il1/AcWuztIQT5bqLB92VE0J5TZIozJ8GXnoIkYe6QNgUvE0fy1StJz/Oi7 N8pM3OJefE/UsaXOp8GRJvnWse2ahjylXrIlrN5EUlh2VROku4wvh+OtQSr3vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708485555; a=rsa-sha256; cv=none; b=QWTJJcpW3wYAi0wVIOEsuSLAcIvIgwSaONgZdxrGr+iFWvY2zmFF8MigvySBQwGyAG64ZG 2deGysojNt2Z9Alt/f/MrTSh9kiUdTAdtmOmEMc8tERJb0y0SLG92MOo7bw+Z48YNLVOC+ +hbgPFD9oXRmXzpjaBRUNkcnPOz5F+Ij5aNXo3veE2h3MDyAKv0hbsqFF91P7j1vs7VVJU A73fW6SxFYUGwNYFm6tqcziHlneebWFLJH7x4cfMH5wB7EFti6bGbRtlcxuylQRd3jkjO4 KTXlCdSnC5VYE17Des6pVd0TI/ooOmh+jK/b4m4dbbM/lIGX23iYzQKgRSmsMw== 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 4TfhMQ6rV2zlsr; Wed, 21 Feb 2024 03:19: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 41L3JEnc087263; Wed, 21 Feb 2024 03:19:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L3JE6L087260; Wed, 21 Feb 2024 03:19:14 GMT (envelope-from git) Date: Wed, 21 Feb 2024 03:19:14 GMT Message-Id: <202402210319.41L3JE6L087260@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: cd6e526e268e - main - loader/libofw: Fix disk size truncation 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: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd6e526e268e4fdf1c9a65b9d792e67343f52307 Auto-Submitted: auto-generated The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=cd6e526e268e4fdf1c9a65b9d792e67343f52307 commit cd6e526e268e4fdf1c9a65b9d792e67343f52307 Author: Justin Hibbits AuthorDate: 2024-02-20 22:08:54 +0000 Commit: Justin Hibbits CommitDate: 2024-02-21 03:17:26 +0000 loader/libofw: Fix disk size truncation At present OF_ioctl first multiplies, then casts to 64-bit, meaning at the asm level it truncates the result to 32-bit, then zero-extends it to 64-bit to return. Cast `n` to 64-bit before multiplying, so that the correct result is returned. --- stand/libofw/ofw_disk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libofw/ofw_disk.c b/stand/libofw/ofw_disk.c index e9002ca23fe9..d30454b70b74 100644 --- a/stand/libofw/ofw_disk.c +++ b/stand/libofw/ofw_disk.c @@ -174,7 +174,7 @@ ofwd_ioctl(struct open_file *f, u_long cmd, void *data) case DIOCGMEDIASIZE: block_size = OF_block_size(dev->d_handle); n = OF_blocks(dev->d_handle); - *(uint64_t *)data = (uint64_t)(n * block_size); + *(uint64_t *)data = ((uint64_t)n * block_size); break; default: return (ENOTTY); From nobody Wed Feb 21 03:38:27 2024 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 4Tfhnb3Z0yz5BJ0G; Wed, 21 Feb 2024 03:38: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 4Tfhnb33zFz4VmY; Wed, 21 Feb 2024 03:38:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708486707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=so7yZtQFa70Y38fdP3DbKp9vDvahR8XrkBWVJfgo7fI=; b=O+lgewr+eMDf64Oyc7EHchzUQGDkjzremqhQoh8oDkzVY9eO+kMGsxdYrA5DwY8weUT6O+ ro1UpUDwxrO090q82PiYDyLaO9zncHYCkJuVGsSnhOFT5ywswcbt4/k0jHvvMNet3Az81R UH8N+AnJZFwxHCpv43pvtr31fdTdKxnRc3LM+0rumtbO8u1c/JNpbsgrbxAQQlUoIgT0rI LFXZe2oHGytdwIC5e5aAAfBFGWG4qMJ62M6ldHc9pBzNCFOOZq9PG3bH4HlzXVYgRX4P6C Pda2odY+FJVjQ9s8icRoX+iePs86QOGNLVDjxwLAyq0MQV4BEZVf6KCmJb2o2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708486707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=so7yZtQFa70Y38fdP3DbKp9vDvahR8XrkBWVJfgo7fI=; b=TDveV6l7c9utBqybwGM2cc8sCg6xMZN4Ur7Vpsw+StbnnOtvWlCH/ccbgHTeOLeAGAM6+W eocn2NYo3jQf23SilasMd6m3F5yshcYdLF5DmFDKeQju1LmZdDh4AkMnB5Xjye5t7GzZf6 tBKKata2n3Z7x7OaAEGZpkvVTnNo/Iw2q2GMafw32yfYBASU4JUbS1XVd8zId4pqlAVFLy RYQ6YlgT0FEF+6cEGKKFbwADxFK6mhENLdCdmIK2Vtj5QAheo5hBOYozQy6hctQMKn/26y aUGgu5bhUslkphDhmnMSwh9l2YSbNciO1PqcGDyZj+6dUTZusj6IBFnZ0RZ3sA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708486707; a=rsa-sha256; cv=none; b=LmEIubk1faiFkkIxlnMpKRabwemo3dqjucD10BSARMdwZ+ndKkHwkNbXMFBxpR2U+CQicv ezTB5SQxFVEX8CLcGRfST9gLWAQn2sjEuqC35qdupH16JOL/gx17vJLMCKlrpRHyHZzkp8 Z+kjIbARozkN+Jc+IoNorGLM60ZfGWQP/Bjr/gRzfA3ebZwmBu0lGlA4xdhwGDTql28s2r 7dfMXt7AV4xkm9E4v1TDSP28UzqzvfrwdUrjP+VyxiQbLEqDdhJ5sNkJBY6mKuZPTIxJHK 7UBwHO8d660Enui0EY19oWVbD6peNbuyKO+DRUhM/LMqNZUCFyE6F2ET9LOdvA== 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 4Tfhnb26yjzmrp; Wed, 21 Feb 2024 03:38: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 41L3cRQj021093; Wed, 21 Feb 2024 03:38:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L3cRAZ021090; Wed, 21 Feb 2024 03:38:27 GMT (envelope-from git) Date: Wed, 21 Feb 2024 03:38:27 GMT Message-Id: <202402210338.41L3cRAZ021090@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: 1edb7116f450 - main - bearssl: Make shared library link 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: 1edb7116f450c1a1793f2fd25f6bdc16735ef888 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1edb7116f450c1a1793f2fd25f6bdc16735ef888 commit 1edb7116f450c1a1793f2fd25f6bdc16735ef888 Author: Warner Losh AuthorDate: 2024-02-21 03:31:41 +0000 Commit: Warner Losh CommitDate: 2024-02-21 03:31:41 +0000 bearssl: Make shared library link Creating a lua shared library module linking against libbearssl.so won't load w/o these functions. Sponsored by: Netflix Reviewed by: sjg Differential Revision: https://reviews.freebsd.org/D43982 --- lib/libbearssl/Makefile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/libbearssl/Makefile b/lib/libbearssl/Makefile index d307dd138a94..1fa57f372596 100644 --- a/lib/libbearssl/Makefile +++ b/lib/libbearssl/Makefile @@ -45,6 +45,7 @@ SRCS+= \ hash/ghash_pwr8.c \ hash/md5.c \ hash/md5sha1.c \ + hash/mgf1.c # this one does not compile for amd64 @@ -149,6 +150,11 @@ SRCS+= \ x509/x509_knownkey.c \ x509/x509_minimal_full.c \ +SRCS+= \ + rand/hmac_drbg.c \ + mac/hmac.c \ + mac/hmac_ct.c \ + INCS= \ inc/bearssl.h \ inc/bearssl_aead.h \ @@ -169,9 +175,6 @@ INCS:= ${INCS:S,^,${BEARSSL}/,} .if ${MK_BEARSSL_SSL:Uno} == "yes" SRCS+= \ - mac/hmac.c \ - mac/hmac_ct.c \ - rand/hmac_drbg.c \ ssl/prf.c \ ssl/prf_md5sha1.c \ ssl/prf_sha256.c \ From nobody Wed Feb 21 03:38:28 2024 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 4Tfhnc4x6vz5BJ7D; Wed, 21 Feb 2024 03:38: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 4Tfhnc46kBz4WDk; Wed, 21 Feb 2024 03:38:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708486708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QOxvzMCA2pWhdVXA82CsUvOG5kIabyT5W+6Vkdxxh3w=; b=a1QFZMt88Z7sy1uT1hOQvVq6YnglxCVf4o3maSQKQuKZhESOk0FxBAhGHoeEpqohMWcuU3 ADTfkLS5fOl2gRpHhPcE8huZ9DkoWPBqO+PF8rKJ/xKdsHhh37NFIYWewX9MWTFz+y7JVk qVdZNBtmlcxcI6tolkE/P7EQ5yTh9/9ANargc7hC73mZPyvs9a2UwvfD4uaV/Fd0PzY9kP OzgFdSiLbWC5LKVOH1KS8lKKz6E2Uh7WDJ97avJBAPtXu3x2vncRUOjE+E2Jvozv+axaQu q+kDD9BnC+T1zc3eEuBbHuUBSv3Fo8z5kPPRxAjARAwDK4Xoed8j8biW4BvE+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708486708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QOxvzMCA2pWhdVXA82CsUvOG5kIabyT5W+6Vkdxxh3w=; b=EmHkmUA/EB0uuwJUvpXBcx5obxTc5P5aSKRZn/w+gew6MeGackiP+y1lJDUXcRkINHVCxT o5UKnLUQQ5iUoLn+SGNTfHIMcH1glmEJwzmaZhA/zyIvrHBwMUu/IwLZbz44ZUiHdH2q+S kbViiKAzGsokjX8CHTx1Wf3XhNQNSRHrrXpWOgOL+VY74jY8IVayhVRT6e5u+qlEQal0KH 8RK955vazyby0aos7YCKgZNl1cumzLtWxgdJrYbLT6fno0C3+LQJMT93U5OkG+uOwlEopV o1ivFfiAXm/qc4AtV2WVOuTsFJFyU5eDUDBoCYXqjvpJv1C9oambPr/7Sbzvkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708486708; a=rsa-sha256; cv=none; b=NSR87rJjUGqgsC+Mx8xNUUCypYrVWvI1zTkzEC1+i6o79/zswV+QkZDmZmQ4K/qSWq/K4B u28nRRYjbEeiGMHCfVSLOtMvr2P7C6TUSpWtPpaSRDTWIwF+T90CEzY8tG6c2oCsS3JNMd 0IWpA8M0rUHx0QAwHB1jXCW2J+Tib0m/FS2+x2NN3kbc13aLefWFFe7JeOBQrDxntxg3cu 9yw8ORDc7yg1StKoM5bxuM6Ew1cp8PeFwIOWjVEOoZGjZEmUtae9XiC16k7FvY8VUs1vAb lq/LizjZI3NY4JKzgkVtnE6cstaS/ebMJI3T8KKMjpVxwtPKg0nDh/fa+4BTpA== 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 4Tfhnc3BP3zmrq; Wed, 21 Feb 2024 03:38: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 41L3cSZ0021159; Wed, 21 Feb 2024 03:38:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L3cSwL021156; Wed, 21 Feb 2024 03:38:28 GMT (envelope-from git) Date: Wed, 21 Feb 2024 03:38:28 GMT Message-Id: <202402210338.41L3cSwL021156@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: 9a5aaa97cbae - main - loader: For the mini-stdio we have for lua, #define them to something else 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: 9a5aaa97cbae024f90bb626f78c3dbde28653c58 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9a5aaa97cbae024f90bb626f78c3dbde28653c58 commit 9a5aaa97cbae024f90bb626f78c3dbde28653c58 Author: Warner Losh AuthorDate: 2024-02-21 03:31:50 +0000 Commit: Warner Losh CommitDate: 2024-02-21 03:31:50 +0000 loader: For the mini-stdio we have for lua, #define them to something else To make it easier to port lua and some of the lua modules, we have a series of routines to implement the stdio routines, even though we don't normally implement them in the boot loader. Add a comment to this effect. Also, some tools, like sanitizers and static analysis tools, make unwarranted assumptions about these, so #define them to a different name so they stop. Sponsored by: Netflix --- stand/liblua/lstd.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/stand/liblua/lstd.h b/stand/liblua/lstd.h index 05a8b8843d9c..ce3aef4bc5fc 100644 --- a/stand/liblua/lstd.h +++ b/stand/liblua/lstd.h @@ -34,6 +34,15 @@ #include #include +/* + * Mini stdio FILE and DIR routines. These are the minimal routines needed by + * the lfs module and lua's base code. We define them minimally here so we don't + * have to modify lua on every import. Further, since they aren't completely + * standard, we #define them to other names so they don't conflict with other + * tooling that makes assumptions about these routines that might not be, in + * fact, correct. + */ + typedef struct FILE { int fd; @@ -46,6 +55,18 @@ typedef struct DIR int fd; } DIR; +#define fopen lua_loader_fopen +#define freopen lua_loader_freopen +#define fread lua_loader_fread +#define fwrite lua_loader_fwrite +#define fclose lua_loader_fclose +#define ferror lua_loader_ferror +#define feof lua_loader_feof +#define getc lua_loader_getc +#define opendir lua_loader_opendir +#define fdopendir lua_loader_fdopendir +#define closedir lua_loader_closedir + FILE *fopen(const char *filename, const char *mode); FILE *freopen( const char *filename, const char *mode, FILE *stream); size_t fread(void *ptr, size_t size, size_t count, FILE *stream); From nobody Wed Feb 21 03:38:29 2024 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 4Tfhnd6S1Mz5BJ56; Wed, 21 Feb 2024 03:38: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 4Tfhnd4kNsz4WFc; Wed, 21 Feb 2024 03:38:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708486709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GnvPsNB1b0K3GVdOAfISGJq2yO6fCnbzYbaRfAdJLIE=; b=RVuFj6i3pkfjjNcoq0YWV/TFhmuMc3dWcU0vO/5ysVPncnMCQ4jq3Dj1FKJq4EhUie9r7Z nSecdiqNtFy3WFvdWM3mkrEiumy+ZFVCR0gOWLJiXD/+nKUyEfLBzfMtgJp3LOc2zF52/C 9ArLqeGRYh3VeI9AcEZ2EdwGOXS5GcY4o7gGGUEWTsuM8YCvxBW0KrgOIfOV12EmELqzv1 3eyr+fg+f8rBOLzpbhWlTTIqph8s4eB5MkM670uWcahkAOFGTPjRlB0ADFtMeF9MIbGfAk iTMowvoaybFFmCfUI3h8D19sqzEfV3NCaN/HBGg68ZYtaEPYuPHgRJlT5Lfw9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708486709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GnvPsNB1b0K3GVdOAfISGJq2yO6fCnbzYbaRfAdJLIE=; b=Xz65JNu3QtPp0SYy/Oqnf8rIw1VndJDLyOLUPRA88fD2Spw3An6k+VhqiOLS8o/kehHvK7 vqikBIl49hQXlrlajDIQGdZmgu0jTsPnWnsi2nHzhMy+oJTJN8v8eU2eRcprU9sbzJ0ms6 lYghcBPEvVaD3FOAQxRG9xdMyjdjBB337xmnRsPbAUq1dk/fA6LNC+mvWnaV/mA2njGdJL P6Fd/AJsDcHZAGh8x/aV4FghKk5sAN5JPuihOmS4SMxD3o+MRJk2aVZbxAft20x+qNlmpF T3ydCCQox//YSlp52FOqV9Rs20BwgAvOE2VjIZsBFfQdrHzJvjaM3Vx5fSMtjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708486709; a=rsa-sha256; cv=none; b=dX4kd6YpkNaRtTnVIk9fxjBnFu9Luig7AG1mI1vpyEKIC0yz3SVu/B+RKwGpPJex369i2b QyDMFZIzgz06zA67JC6EdmvdEABBekFoJftQntxGiiSroGBqJ1lRIxzMWfNpy7Ui6VY5eC PLLMCJnYoLW85DLTXtI5Z/4ch+l5wcIfzdqX1C10Ak17OP5KCtz2ewJlY4Kya0VMFPtQmb 1GjNLlCRxv0agB5nvje1cq1Iv6i28BFuril+BOXO6iBwM8oqWRxy6q8C3w9drMUyN7NcRD Sr3JOUchfh/xjRrtdyGuZN4ZioxIzp2JDilTnT9j3sFk1GDRdjUiZnBHzeQ8lg== 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 4Tfhnd3p7nzmh3; Wed, 21 Feb 2024 03:38: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 41L3cT6Q021204; Wed, 21 Feb 2024 03:38:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L3cTKj021201; Wed, 21 Feb 2024 03:38:29 GMT (envelope-from git) Date: Wed, 21 Feb 2024 03:38:29 GMT Message-Id: <202402210338.41L3cTKj021201@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: 65ee8f90b790 - main - kboot: Fix zfs bootonce protocol 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: 65ee8f90b7906a5895c87bfe05f85ce3d3bf84c7 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=65ee8f90b7906a5895c87bfe05f85ce3d3bf84c7 commit 65ee8f90b7906a5895c87bfe05f85ce3d3bf84c7 Author: Warner Losh AuthorDate: 2024-02-21 03:26:08 +0000 Commit: Warner Losh CommitDate: 2024-02-21 03:36:00 +0000 kboot: Fix zfs bootonce protocol This wasn't updated when the other copies were updated. Make it identical to efi code. We should likely refactor this (with userboot), but they are all not quite identical. Sponsored by: Netflix --- stand/kboot/kboot/hostdisk.c | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/stand/kboot/kboot/hostdisk.c b/stand/kboot/kboot/hostdisk.c index 552ae68daced..423151983523 100644 --- a/stand/kboot/kboot/hostdisk.c +++ b/stand/kboot/kboot/hostdisk.c @@ -567,40 +567,35 @@ hostdisk_zfs_probe(void) /* This likely shoud move to libsa/zfs/zfs.c and be used by at least EFI booting */ static bool -probe_zfs_currdev(uint64_t pool_guid, uint64_t root_guid, bool setcurrdev) +probe_zfs_currdev(uint64_t pool_guid) { char *devname; struct zfs_devdesc currdev; - bool bootable; + char buf[VDEV_PAD_SIZE]; currdev.dd.d_dev = &zfs_dev; currdev.dd.d_unit = 0; currdev.pool_guid = pool_guid; - currdev.root_guid = root_guid; + currdev.root_guid = 0; devname = devformat(&currdev.dd); - if (setcurrdev) - set_currdev(devname); - - bootable = sanity_check_currdev(); - if (bootable) { - char buf[VDEV_PAD_SIZE]; - - if (zfs_get_bootonce(&currdev, OS_BOOTONCE, buf, sizeof(buf)) == 0) { - printf("zfs bootonce: %s\n", buf); - if (setcurrdev) - set_currdev(buf); - setenv("zfs-bootonce", buf, 1); - } - (void)zfs_attach_nvstore(&currdev); - init_zfs_boot_options(devname); + printf("Setting currdev to %s\n", devname); + set_currdev(devname); + init_zfs_boot_options(devname); + + if (zfs_get_bootonce(&currdev, OS_BOOTONCE, buf, sizeof(buf)) == 0) { + printf("zfs bootonce: %s\n", buf); + set_currdev(buf); + setenv("zfs-bootonce", buf, 1); } - return (bootable); + (void)zfs_attach_nvstore(&currdev); + + return (sanity_check_currdev()); } static bool hostdisk_zfs_try_default(hdinfo_t *hd) { - return (probe_zfs_currdev(hd->hd_zfs_uuid, 0, true)); + return (probe_zfs_currdev(hd->hd_zfs_uuid)); } bool From nobody Wed Feb 21 03:40:33 2024 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 4Tfhr15h17z5BJC2; Wed, 21 Feb 2024 03:40: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 4Tfhr14qdyz4X6J; Wed, 21 Feb 2024 03:40:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708486833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x537dC3OR51QgzW0D/1mbaM1hIc7/V00Acl+k+L0/Uw=; b=waVHRjKWeEugebyt6UL5raGj/uk3omaUbupbaQVXib+i8XF9Lhu+jAtxYgCI7uVXA7zAiu gdyq/PRsbpg+mkvbRdl4ef8CkIEYPULLetTBBb1/v+07XdDwlZ/ogJEd0TH/8SeYDL2iMJ WqFjAwq3pQKSrG2z+9QN2SWGoqiwXvJQqQCCu2hm/DjGd3BFYfJfxTEjigXQz2dO0DC9fc kjSrm6BZPy8RtZ//53yoHdyYjlcHCGoZcdlz6LzrIaTvokmCoJYcu3YjvpUfOstAAJQOcB wDIilDlarLoyz54iVE+i2G5jkZQqlWuSxE5HxwhGVxVpFEcKKeu2H1JOL8vt6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708486833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=x537dC3OR51QgzW0D/1mbaM1hIc7/V00Acl+k+L0/Uw=; b=bkVMusENVH/XRWhobl/w0PvOkZWf8B5J/wl+196kGeuj474P4t48749C3gEHbXrNyTbAcy ZvV4livgHQ90ne+Pmt9KkzJU46p5ca/tv1DXX994ZQ+NmqSi3oEMmFLSRcv/sCpWt8VTMx 48Tx2+PkTEJTj8WynHzvcCV0KfciYXB+oc09eO4LN+4ZZ2slZ03Lav8h2lM6wnb7dwjjVR WfM/RKE/VH2rCQ/KNUHWUfuHhIRiOJ+mYVBJj292NKgmtrOhU1JxhaRyaPi+zA2G4CKq6s qMFUWX0KV9/htl5kk1bMVYLhnC6f49xq0DCN0T7KYkqJ73d2WCPaoHsvKdHmHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708486833; a=rsa-sha256; cv=none; b=yKKR8a+zAONLfkpK8WH1VFnUr3R7x6clyBKv5PKMTcUVyOQLUMF03pCRSYrxgeXgzKSHR6 4YIa3EFIRtNTJY/PKKOVBU+LvPBGGLYGe8xRjtRdfZzeFShhXH3wdy11p+qn2oH473lvAW NqZS8bg1bFQJe8vTARPtD4hzQYUmjdZ0ngngR2zfW5r1vPlo2NBH2tW8DcxjtySO4DcodW WknB+rG3auIRP5CDkKVhNcDtryWMKygD9auA+zJExG2hYf+qhgImmNS3xMPfqlCHvMZzNq 5pg8lCYBC6FJAIWv/IT0m3WqpWAGWUJJe1IxfnIIIirTqkri4UC4OEH2AZqPVA== 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 4Tfhr13wsPzmfG; Wed, 21 Feb 2024 03:40: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 41L3eXGV030137; Wed, 21 Feb 2024 03:40:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L3eXON030134; Wed, 21 Feb 2024 03:40:33 GMT (envelope-from git) Date: Wed, 21 Feb 2024 03:40:33 GMT Message-Id: <202402210340.41L3eXON030134@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: eccde5f496ce - main - sys/kern: Remove a few sys/cdefs.h around some elf things 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: eccde5f496ce9ced2d0ffcc13beeb4a8812bcfc3 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=eccde5f496ce9ced2d0ffcc13beeb4a8812bcfc3 commit eccde5f496ce9ced2d0ffcc13beeb4a8812bcfc3 Author: Warner Losh AuthorDate: 2024-02-21 03:40:19 +0000 Commit: Warner Losh CommitDate: 2024-02-21 03:40:19 +0000 sys/kern: Remove a few sys/cdefs.h around some elf things These sys/cdefs.h are no longer needed. Remove them in advance of other work in this area. Sponsored by: Netflix --- sys/kern/imgact_elf32.c | 1 - sys/kern/imgact_elf64.c | 1 - sys/kern/init_main.c | 1 - sys/kern/link_elf.c | 1 - sys/kern/link_elf_obj.c | 1 - 5 files changed, 5 deletions(-) diff --git a/sys/kern/imgact_elf32.c b/sys/kern/imgact_elf32.c index f74b0d31c9d4..b3e8edb28b3f 100644 --- a/sys/kern/imgact_elf32.c +++ b/sys/kern/imgact_elf32.c @@ -26,6 +26,5 @@ * SUCH DAMAGE. */ -#include #define __ELF_WORD_SIZE 32 #include diff --git a/sys/kern/imgact_elf64.c b/sys/kern/imgact_elf64.c index bd198bae4fe6..b903755779ae 100644 --- a/sys/kern/imgact_elf64.c +++ b/sys/kern/imgact_elf64.c @@ -26,6 +26,5 @@ * SUCH DAMAGE. */ -#include #define __ELF_WORD_SIZE 64 #include diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 96980b869f91..3df4b1edf4a2 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -41,7 +41,6 @@ * SUCH DAMAGE. */ -#include #include "opt_ddb.h" #include "opt_kdb.h" #include "opt_init_path.h" diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index eb7ce3828deb..4c7af262addb 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include #include "opt_ddb.h" #include "opt_gdb.h" diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c index 0b2befc02c1a..1001cb53ba49 100644 --- a/sys/kern/link_elf_obj.c +++ b/sys/kern/link_elf_obj.c @@ -27,7 +27,6 @@ * SUCH DAMAGE. */ -#include #include "opt_ddb.h" #include From nobody Wed Feb 21 05:14:14 2024 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 4Tfkw62bYqz5BSCZ; Wed, 21 Feb 2024 05:14: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 4Tfkw61zk5z4gx6; Wed, 21 Feb 2024 05:14:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708492454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9ENfMk3pJiSFSuXJW6NSjPcJaRbZMbTVaL4SS6Sdn/U=; b=BnKvSYHO15RbqUkmoq5hUnDFuFsoEbgW4c5jmXEfywXBpyKouWcK8StgplsGzVafpYgZI9 EoQOukUVbU5GkppAXqXVgL3a/PUF+usahGtK++v3CmPQdd3DTMxvJJsQToeOnD3kU9nVfV yjooZysTZhxAJI+4uY9+eyXNMtR9E/uuOFkMBRYmQPJlNogrft3fj0pj4/GqT5QMaSXrYR CRF0uFuUkRGtt4RJdFWdpPNBUbEuvE5XG6fbRCCtuLbYEdgaml+zoaTVoq9fTJFYp62baO o6JAUnt2TgeIdPyaP2ZOMUETxwjfVqAW391OdGTBbtVu5wGA4AivmJHJGjwiYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708492454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9ENfMk3pJiSFSuXJW6NSjPcJaRbZMbTVaL4SS6Sdn/U=; b=DujQ8NAvxQNT5//RVXqH79r29m9aE33QpPXMc54NgFA8BGMTLh2sHI4MC9UTMi/SETUmb5 OLJu8LEbLEt1bdDrOAnjYjvtT6dTcrzyR2LEykqEnVN6RWJJHprB7snLmCyfsS4EkQu/A2 V71hROf+4kNZAqjs73/mge0O2XfJAL+p2lldKELDW6FJqXINOnTvAJz3hD2yFUl/yDtpXd M/c6qnu9FVgFq2VMAXoOTv1o8D+g0oZ++e6sH1ve8RWot5jcHqF7fMLG2mxdslUovGhsgn yr/NW7psYgi4cadn+UX5qj729ndT7jH5HyyqjII1KUdr/ry/tUvrC/UghCV/SQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708492454; a=rsa-sha256; cv=none; b=pGjUAaHJuk3ncuTa8Yc56DmB4uMpb2BJOwT/07DEpJ2J8MBkhfHhTyCenq3b75jcdj0qy4 hpOTvpyKjjqfNEnW+ES9iK7nhWObWJ7/yeamPpAn8bK81pm8+MoJLoS+otvHK4rDREaKjZ KbOT+vP5rzxsZUzpkVHCpo3oRa5gyQibi3IbrLrZSjHnHVguEEXvEfRp5s32KVhg059v/G go43F29k9bqPTrRjINIJbzKLCidyOxv7eEwgyWAEgTvyQH5O55+PRwW2jD/QBZcUO8eBYm CodFDs6iAIhhd7lEpF8yPTEfhXj8Z2Ncic35v5yMkvx1ud/2QSsrWknaek6Nkg== 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 4Tfkw611Lczq8c; Wed, 21 Feb 2024 05:14: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 41L5EEPT089127; Wed, 21 Feb 2024 05:14:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L5EEP1089124; Wed, 21 Feb 2024 05:14:14 GMT (envelope-from git) Date: Wed, 21 Feb 2024 05:14:14 GMT Message-Id: <202402210514.41L5EEP1089124@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Eric Joyner Subject: git: 768329961dc0 - main - ice_ddp: Update package to 1.3.36.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=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 768329961dc0c041f7647f1c4549944a2ca168aa Auto-Submitted: auto-generated The branch main has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=768329961dc0c041f7647f1c4549944a2ca168aa commit 768329961dc0c041f7647f1c4549944a2ca168aa Author: Eric Joyner AuthorDate: 2024-02-13 06:39:21 +0000 Commit: Eric Joyner CommitDate: 2024-02-21 05:13:18 +0000 ice_ddp: Update package to 1.3.36.0 This is intended to be used with the upcoming ice 1.39.13-k driver update, but is still backwards compatible with previous versions of the driver. Signed-off-by: Eric Joyner MFC after: 3 days Sponsored by: Intel Corporation --- sys/conf/files.amd64 | 6 +++--- sys/conf/files.arm64 | 6 +++--- sys/conf/files.powerpc | 6 +++--- .../dev/ice/{ice-1.3.35.0.pkg => ice-1.3.36.0.pkg} | Bin 692776 -> 692776 bytes sys/modules/ice_ddp/Makefile | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index cb5ed560a82e..09478599efc5 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -196,7 +196,7 @@ dev/ice/irdma_di_if.m optional ice pci \ dev/ice/ice_ddp_common.c optional ice pci \ compile-with "${NORMAL_C} -I$S/dev/ice" ice_ddp.c optional ice_ddp \ - compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032300 -mice_ddp -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032400 -mice_ddp -c${.TARGET}" \ no-ctfconvert no-implicit-rule before-depend local \ clean "ice_ddp.c" ice_ddp.fwo optional ice_ddp \ @@ -205,8 +205,8 @@ ice_ddp.fwo optional ice_ddp \ no-implicit-rule \ clean "ice_ddp.fwo" ice_ddp.fw optional ice_ddp \ - dependency "$S/contrib/dev/ice/ice-1.3.35.0.pkg" \ - compile-with "${CP} $S/contrib/dev/ice/ice-1.3.35.0.pkg ice_ddp.fw" \ + dependency "$S/contrib/dev/ice/ice-1.3.36.0.pkg" \ + compile-with "${CP} $S/contrib/dev/ice/ice-1.3.36.0.pkg ice_ddp.fw" \ no-obj no-implicit-rule \ clean "ice_ddp.fw" dev/ioat/ioat.c optional ioat pci diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index dcdd429c14c4..625684a91534 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -327,7 +327,7 @@ dev/ice/irdma_di_if.m optional ice pci \ dev/ice/ice_ddp_common.c optional ice pci \ compile-with "${NORMAL_C} -I$S/dev/ice" ice_ddp.c optional ice_ddp \ - compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032300 -mice_ddp -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032400 -mice_ddp -c${.TARGET}" \ no-ctfconvert no-implicit-rule before-depend local \ clean "ice_ddp.c" ice_ddp.fwo optional ice_ddp \ @@ -336,8 +336,8 @@ ice_ddp.fwo optional ice_ddp \ no-implicit-rule \ clean "ice_ddp.fwo" ice_ddp.fw optional ice_ddp \ - dependency "$S/contrib/dev/ice/ice-1.3.35.0.pkg" \ - compile-with "${CP} $S/contrib/dev/ice/ice-1.3.35.0.pkg ice_ddp.fw" \ + dependency "$S/contrib/dev/ice/ice-1.3.36.0.pkg" \ + compile-with "${CP} $S/contrib/dev/ice/ice-1.3.36.0.pkg ice_ddp.fw" \ no-obj no-implicit-rule \ clean "ice_ddp.fw" diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc index 0293efd28fbe..1a0388884ee8 100644 --- a/sys/conf/files.powerpc +++ b/sys/conf/files.powerpc @@ -95,7 +95,7 @@ dev/ice/irdma_di_if.m optional ice pci powerpc64 | ice pci powerpc64le \ dev/ice/ice_ddp_common.c optional ice pci powerpc64 | ice pci powerpc64le \ compile-with "${NORMAL_C} -I$S/dev/ice" ice_ddp.c optional ice_ddp powerpc64 | ice pci powerpc64le \ - compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032300 -mice_ddp -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032400 -mice_ddp -c${.TARGET}" \ no-ctfconvert no-implicit-rule before-depend local \ clean "ice_ddp.c" ice_ddp.fwo optional ice_ddp powerpc64 | ice pci powerpc64le \ @@ -104,8 +104,8 @@ ice_ddp.fwo optional ice_ddp powerpc64 | ice pci powerpc64le \ no-implicit-rule \ clean "ice_ddp.fwo" ice_ddp.fw optional ice_ddp powerpc64 | ice pci powerpc64le \ - dependency "$S/contrib/dev/ice/ice-1.3.35.0.pkg" \ - compile-with "${CP} $S/contrib/dev/ice/ice-1.3.35.0.pkg ice_ddp.fw" \ + dependency "$S/contrib/dev/ice/ice-1.3.36.0.pkg" \ + compile-with "${CP} $S/contrib/dev/ice/ice-1.3.36.0.pkg ice_ddp.fw" \ no-obj no-implicit-rule \ clean "ice_ddp.fw" dev/ixl/if_ixl.c optional ixl pci powerpc64 \ diff --git a/sys/contrib/dev/ice/ice-1.3.35.0.pkg b/sys/contrib/dev/ice/ice-1.3.36.0.pkg similarity index 98% rename from sys/contrib/dev/ice/ice-1.3.35.0.pkg rename to sys/contrib/dev/ice/ice-1.3.36.0.pkg index fc3e8ebc640f..ce5dbf41f557 100644 Binary files a/sys/contrib/dev/ice/ice-1.3.35.0.pkg and b/sys/contrib/dev/ice/ice-1.3.36.0.pkg differ diff --git a/sys/modules/ice_ddp/Makefile b/sys/modules/ice_ddp/Makefile index ad85bc2a9935..7329f0897325 100644 --- a/sys/modules/ice_ddp/Makefile +++ b/sys/modules/ice_ddp/Makefile @@ -1,5 +1,5 @@ KMOD= ice_ddp -FIRMWS= ${SRCTOP}/sys/contrib/dev/ice/ice-1.3.35.0.pkg:ice_ddp:0x01032300 +FIRMWS= ${SRCTOP}/sys/contrib/dev/ice/ice-1.3.36.0.pkg:ice_ddp:0x01032400 .include From nobody Wed Feb 21 05:47:07 2024 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 4Tflf4079tz5BWJW; Wed, 21 Feb 2024 05:47: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 4Tflf370GSz4l5f; Wed, 21 Feb 2024 05:47:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708494427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OZi6w/5P2OOehCGAE4vCF4ZcbtMX79bUo3lbicKTu4c=; b=lfHutdyKYt0VBn7y6+j8tB8/7h0xNLoAck9ntKQTZAQXmOyU15guaBG8qx7BpFAtmwDNvp Qj8yOFds58+YBnx395lzT8UqGdk5LbyQYEFTHxwWa4aUjQn6f2MjtQ34j2frhRH0w2M7rJ 2KLaRnngGK5p5zqaF5XLv4D33uYMp40XC6I1SepC6Gk5KQooTaE22PQ8uof+WdE7+tIsK3 FnLdXiMgQuX1a82qjliqGi+wi49ifdyEaSI/syVXkBKtBJD8uMCAlVQ5h+MT8YyFay7IoH CTlsC6aYlnUFqV4hb7ENACHIk/wSnjVh96axBmeOY9aGxCkMEAFUG+HRAQO7jQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708494427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OZi6w/5P2OOehCGAE4vCF4ZcbtMX79bUo3lbicKTu4c=; b=h2yx//eoI/6geolsC/KbKo14XzFM9z/qleo7S7dYoS63vMHRz2zmRvAdDYeYxqlIhuI4Ol AdQmMKQI+LY7y+q7syujLDjt3IvUsIohGGPa60E74+KhM+ajEli1eYCpaeng/9/NfN2jkS 1Pt1J6PT7m/DGy4UByoatDvv7EBV35g6eobV6Ady2QPIj15j3bysWOPGwwBlFiWmDjGTAj I62nSLjCr48FgKanBeHAXn8W193pi+k9UQDWwZFVuqPv4PmnGfom/wWbtRhMv2ZPXlDXaE Q0wD6KErN9Uhk3XjlKdKSr6T58LFg9gExCaMgKYrPHQkyv+ggJ5Di7S1n4HhOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708494427; a=rsa-sha256; cv=none; b=sgjcVyc0F3im9+SbvWjt+teHTp3i6cqE+x5ub0qrQbsyeFvVEIhE7BdbM3ZVQt5FI5hv/q LntyysqhX6IQNSsDvSsvHiRlrrrjWpme9Zsip6Yk+4lE44lab0JQb7KT8IdnS28zCViptp fL1KLVatYUBXHxQ24D+qKFTp7KU9Kd4nom7S5FyIo1IBf3tPeHzED/UTHb41qtWlSOAOaB akNazC3CF+R0zIWiFfN4N6+scrVU9uPNXqQfp1Ys1AcD6C/NRGwHiz2lCve50144LlZ840 pRC/bTKy6b7B7dCarQDq4NeaK8DGFc8azCrjmrairvD1y6WT7laYuAY5LlDU+w== 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 4Tflf362mrzqrB; Wed, 21 Feb 2024 05:47: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 41L5l7lY039580; Wed, 21 Feb 2024 05:47:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L5l703039577; Wed, 21 Feb 2024 05:47:07 GMT (envelope-from git) Date: Wed, 21 Feb 2024 05:47:07 GMT Message-Id: <202402210547.41L5l703039577@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: 43b03b8895ad - stable/14 - irdma(4): Upgrade to 1.2.36-k 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: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 43b03b8895ad3d1655cd5f418544e3bec1595a65 Auto-Submitted: auto-generated The branch stable/14 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=43b03b8895ad3d1655cd5f418544e3bec1595a65 commit 43b03b8895ad3d1655cd5f418544e3bec1595a65 Author: Bartosz Sobczak AuthorDate: 2024-02-16 21:55:08 +0000 Commit: Eric Joyner CommitDate: 2024-02-21 05:45:32 +0000 irdma(4): Upgrade to 1.2.36-k Update Intel irdma driver to version 1.2.36-k. Notable changes: - Start using ib_sge directly instead of irdma_sge - Turn off flush completion generator for libirdma - Minor formatting changes Signed-off-by: Bartosz Sobczak Signed-off-by: Eric Joyner Reviewed by: erj@ Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D43567 (cherry picked from commit 5b5f7d0e77a9eee73eb5d596f43aef4e1a3674d8) --- contrib/ofed/libirdma/abi.h | 9 +- contrib/ofed/libirdma/i40e_devids.h | 1 - contrib/ofed/libirdma/i40iw_hw.h | 3 +- contrib/ofed/libirdma/ice_devids.h | 1 - contrib/ofed/libirdma/irdma-abi.h | 12 +- contrib/ofed/libirdma/irdma.h | 2 - contrib/ofed/libirdma/irdma_defs.h | 14 - contrib/ofed/libirdma/irdma_uk.c | 108 +++--- contrib/ofed/libirdma/irdma_umain.c | 5 +- contrib/ofed/libirdma/irdma_umain.h | 3 - contrib/ofed/libirdma/irdma_uquery.h | 1 - contrib/ofed/libirdma/irdma_user.h | 197 +--------- contrib/ofed/libirdma/irdma_uverbs.c | 90 ++--- contrib/ofed/libirdma/osdep.h | 5 - sys/dev/irdma/fbsd_kcompat.c | 3 +- sys/dev/irdma/fbsd_kcompat.h | 76 +--- sys/dev/irdma/icrdma.c | 4 +- sys/dev/irdma/icrdma_hw.c | 9 +- sys/dev/irdma/icrdma_hw.h | 3 +- sys/dev/irdma/irdma-abi.h | 11 + sys/dev/irdma/irdma.h | 4 +- sys/dev/irdma/irdma_cm.c | 49 ++- sys/dev/irdma/irdma_ctrl.c | 104 +++--- sys/dev/irdma/irdma_defs.h | 3 - sys/dev/irdma/irdma_hw.c | 46 ++- sys/dev/irdma/irdma_kcompat.c | 688 ++--------------------------------- sys/dev/irdma/irdma_main.h | 15 +- sys/dev/irdma/irdma_puda.c | 9 +- sys/dev/irdma/irdma_puda.h | 2 +- sys/dev/irdma/irdma_type.h | 29 +- sys/dev/irdma/irdma_uda.h | 1 + sys/dev/irdma/irdma_uk.c | 80 ++-- sys/dev/irdma/irdma_user.h | 33 +- sys/dev/irdma/irdma_utils.c | 52 +-- sys/dev/irdma/irdma_verbs.c | 389 +++----------------- sys/dev/irdma/irdma_verbs.h | 26 +- sys/dev/irdma/irdma_ws.c | 4 +- sys/dev/irdma/irdma_ws.h | 2 +- sys/dev/irdma/osdep.h | 8 +- 39 files changed, 428 insertions(+), 1673 deletions(-) diff --git a/contrib/ofed/libirdma/abi.h b/contrib/ofed/libirdma/abi.h index 6553ebcbcaca..a3e159828bec 100644 --- a/contrib/ofed/libirdma/abi.h +++ b/contrib/ofed/libirdma/abi.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (C) 2019 - 2022 Intel Corporation + * Copyright (C) 2019 - 2023 Intel Corporation * * 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 @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #ifndef PROVIDER_IRDMA_ABI_H #define PROVIDER_IRDMA_ABI_H @@ -86,6 +85,7 @@ struct irdma_ucreate_qp { struct ibv_create_qp ibv_cmd; __aligned_u64 user_wqe_bufs; __aligned_u64 user_compl_ctx; + __aligned_u64 comp_mask; }; struct irdma_ucreate_qp_resp { @@ -98,6 +98,9 @@ struct irdma_ucreate_qp_resp { __u8 lsmm; __u8 rsvd; __u32 qp_caps; + __aligned_u64 comp_mask; + __u8 start_wqe_idx; + __u8 rsvd2[7]; }; struct irdma_umodify_qp_resp { @@ -138,6 +141,8 @@ struct irdma_get_context_resp { __u8 hw_rev; __u8 rsvd2; __aligned_u64 comp_mask; + __u16 min_hw_wq_size; + __u8 rsvd3[6]; }; struct irdma_ureg_mr { diff --git a/contrib/ofed/libirdma/i40e_devids.h b/contrib/ofed/libirdma/i40e_devids.h index 1b0eaae95b82..e775a75bade5 100644 --- a/contrib/ofed/libirdma/i40e_devids.h +++ b/contrib/ofed/libirdma/i40e_devids.h @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #ifndef I40E_DEVIDS_H #define I40E_DEVIDS_H diff --git a/contrib/ofed/libirdma/i40iw_hw.h b/contrib/ofed/libirdma/i40iw_hw.h index d04c37d689cb..fcbfea8dfe09 100644 --- a/contrib/ofed/libirdma/i40iw_hw.h +++ b/contrib/ofed/libirdma/i40iw_hw.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (c) 2015 - 2022 Intel Corporation + * Copyright (c) 2015 - 2023 Intel Corporation * * 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 @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #ifndef I40IW_HW_H #define I40IW_HW_H diff --git a/contrib/ofed/libirdma/ice_devids.h b/contrib/ofed/libirdma/ice_devids.h index 57f26bc33260..57a7f2f7c2af 100644 --- a/contrib/ofed/libirdma/ice_devids.h +++ b/contrib/ofed/libirdma/ice_devids.h @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #ifndef ICE_DEVIDS_H #define ICE_DEVIDS_H diff --git a/contrib/ofed/libirdma/irdma-abi.h b/contrib/ofed/libirdma/irdma-abi.h index b7d4b61c162d..ae805919ea55 100644 --- a/contrib/ofed/libirdma/irdma-abi.h +++ b/contrib/ofed/libirdma/irdma-abi.h @@ -35,7 +35,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #ifndef IRDMA_ABI_H #define IRDMA_ABI_H @@ -55,6 +54,11 @@ enum irdma_memreg_type { enum { IRDMA_ALLOC_UCTX_USE_RAW_ATTR = 1 << 0, + IRDMA_ALLOC_UCTX_MIN_HW_WQ_SIZE = 1 << 1, +}; + +enum { + IRDMA_CREATE_QP_USE_START_WQE_IDX = 1 << 0, }; struct irdma_alloc_ucontext_req { @@ -83,6 +87,8 @@ struct irdma_alloc_ucontext_resp { __u8 hw_rev; __u8 rsvd2; __aligned_u64 comp_mask; + __u16 min_hw_wq_size; + __u8 rsvd3[6]; }; struct irdma_alloc_pd_resp { @@ -102,6 +108,7 @@ struct irdma_create_cq_req { struct irdma_create_qp_req { __aligned_u64 user_wqe_bufs; __aligned_u64 user_compl_ctx; + __aligned_u64 comp_mask; }; struct irdma_mem_reg_req { @@ -131,6 +138,9 @@ struct irdma_create_qp_resp { __u8 lsmm; __u8 rsvd; __u32 qp_caps; + __aligned_u64 comp_mask; + __u8 start_wqe_idx; + __u8 rsvd2[7]; }; struct irdma_modify_qp_resp { diff --git a/contrib/ofed/libirdma/irdma.h b/contrib/ofed/libirdma/irdma.h index 1dd09c36c7ea..f4a5a4796f82 100644 --- a/contrib/ofed/libirdma/irdma.h +++ b/contrib/ofed/libirdma/irdma.h @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #ifndef IRDMA_H #define IRDMA_H @@ -47,7 +46,6 @@ enum irdma_vers { IRDMA_GEN_RSVD = 0, IRDMA_GEN_1 = 1, IRDMA_GEN_2 = 2, - IRDMA_GEN_MAX = 2, }; struct irdma_uk_attrs { diff --git a/contrib/ofed/libirdma/irdma_defs.h b/contrib/ofed/libirdma/irdma_defs.h index 9276490793a0..39d4e7772c31 100644 --- a/contrib/ofed/libirdma/irdma_defs.h +++ b/contrib/ofed/libirdma/irdma_defs.h @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #ifndef IRDMA_DEFS_H #define IRDMA_DEFS_H @@ -457,19 +456,6 @@ enum irdma_qp_wqe_size { IRDMA_WQE_SIZE_256 = 256, }; -enum irdma_ws_op_type { - IRDMA_WS_OP_TYPE_NODE = 0, - IRDMA_WS_OP_TYPE_LEAF_NODE_GROUP, -}; - -enum irdma_ws_rate_limit_flags { - IRDMA_WS_RATE_LIMIT_FLAGS_VALID = 0x1, - IRDMA_WS_NO_RDMA_RATE_LIMIT = 0x2, - IRDMA_WS_LEAF_NODE_IS_PART_GROUP = 0x4, - IRDMA_WS_TREE_RATE_LIMITING = 0x8, - IRDMA_WS_PACING_CONTROL = 0x10, -}; - /** * set_64bit_val - set 64 bit value to hw wqe * @wqe_words: wqe addr to write diff --git a/contrib/ofed/libirdma/irdma_uk.c b/contrib/ofed/libirdma/irdma_uk.c index a1b796b318f4..115c5f0a27f0 100644 --- a/contrib/ofed/libirdma/irdma_uk.c +++ b/contrib/ofed/libirdma/irdma_uk.c @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #include "osdep.h" #include "irdma_defs.h" @@ -46,16 +45,16 @@ * @valid: The wqe valid */ static void -irdma_set_fragment(__le64 * wqe, u32 offset, struct irdma_sge *sge, +irdma_set_fragment(__le64 * wqe, u32 offset, struct ibv_sge *sge, u8 valid) { if (sge) { set_64bit_val(wqe, offset, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->addr)); set_64bit_val(wqe, offset + IRDMA_BYTE_8, FIELD_PREP(IRDMAQPSQ_VALID, valid) | - FIELD_PREP(IRDMAQPSQ_FRAG_LEN, sge->len) | - FIELD_PREP(IRDMAQPSQ_FRAG_STAG, sge->stag)); + FIELD_PREP(IRDMAQPSQ_FRAG_LEN, sge->length) | + FIELD_PREP(IRDMAQPSQ_FRAG_STAG, sge->lkey)); } else { set_64bit_val(wqe, offset, 0); set_64bit_val(wqe, offset + IRDMA_BYTE_8, @@ -72,14 +71,14 @@ irdma_set_fragment(__le64 * wqe, u32 offset, struct irdma_sge *sge, */ static void irdma_set_fragment_gen_1(__le64 * wqe, u32 offset, - struct irdma_sge *sge, u8 valid) + struct ibv_sge *sge, u8 valid) { if (sge) { set_64bit_val(wqe, offset, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->addr)); set_64bit_val(wqe, offset + IRDMA_BYTE_8, - FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_LEN, sge->len) | - FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_STAG, sge->stag)); + FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_LEN, sge->length) | + FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_STAG, sge->lkey)); } else { set_64bit_val(wqe, offset, 0); set_64bit_val(wqe, offset + IRDMA_BYTE_8, 0); @@ -210,8 +209,7 @@ irdma_qp_push_wqe(struct irdma_qp_uk *qp, __le64 * wqe, u16 quanta, if (IRDMA_RING_CURRENT_HEAD(qp->initial_ring) != IRDMA_RING_CURRENT_TAIL(qp->sq_ring) && !qp->push_mode) { - if (post_sq) - irdma_uk_qp_post_wr(qp); + irdma_uk_qp_post_wr(qp); } else { push = (__le64 *) ((uintptr_t)qp->push_wqe + (wqe_idx & 0x7) * 0x20); @@ -339,7 +337,7 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, return EINVAL; for (i = 0; i < op_info->num_lo_sges; i++) - total_size += op_info->lo_sg_list[i].len; + total_size += op_info->lo_sg_list[i].length; read_fence |= info->read_fence; @@ -358,7 +356,7 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, qp->sq_wrtrk_array[wqe_idx].signaled = info->signaled; set_64bit_val(wqe, IRDMA_BYTE_16, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); if (info->imm_data_valid) { set_64bit_val(wqe, IRDMA_BYTE_0, @@ -387,7 +385,7 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, ++addl_frag_cnt; } - hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.stag) | + hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.lkey) | FIELD_PREP(IRDMAQPSQ_OPCODE, info->op_type) | FIELD_PREP(IRDMAQPSQ_IMMDATAFLAG, info->imm_data_valid) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, info->report_rtt) | @@ -438,7 +436,7 @@ irdma_uk_rdma_read(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, return EINVAL; for (i = 0; i < op_info->num_lo_sges; i++) - total_size += op_info->lo_sg_list[i].len; + total_size += op_info->lo_sg_list[i].length; ret_code = irdma_fragcnt_to_quanta_sq(op_info->num_lo_sges, &quanta); if (ret_code) @@ -476,8 +474,8 @@ irdma_uk_rdma_read(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, ++addl_frag_cnt; } set_64bit_val(wqe, IRDMA_BYTE_16, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.tag_off)); - hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.stag) | + FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); + hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.lkey) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, (info->report_rtt ? 1 : 0)) | FIELD_PREP(IRDMAQPSQ_ADDFRAGCNT, addl_frag_cnt) | FIELD_PREP(IRDMAQPSQ_OPCODE, @@ -526,7 +524,7 @@ irdma_uk_send(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, return EINVAL; for (i = 0; i < op_info->num_sges; i++) - total_size += op_info->sg_list[i].len; + total_size += op_info->sg_list[i].length; if (info->imm_data_valid) frag_cnt = op_info->num_sges + 1; @@ -621,15 +619,15 @@ irdma_set_mw_bind_wqe_gen_1(__le64 * wqe, * @polarity: compatibility parameter */ static void -irdma_copy_inline_data_gen_1(u8 *wqe, struct irdma_sge *sge_list, +irdma_copy_inline_data_gen_1(u8 *wqe, struct ibv_sge *sge_list, u32 num_sges, u8 polarity) { u32 quanta_bytes_remaining = 16; u32 i; for (i = 0; i < num_sges; i++) { - u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].tag_off; - u32 sge_len = sge_list[i].len; + u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].addr; + u32 sge_len = sge_list[i].length; while (sge_len) { u32 bytes_copied; @@ -684,7 +682,7 @@ irdma_set_mw_bind_wqe(__le64 * wqe, * @polarity: polarity of wqe valid bit */ static void -irdma_copy_inline_data(u8 *wqe, struct irdma_sge *sge_list, +irdma_copy_inline_data(u8 *wqe, struct ibv_sge *sge_list, u32 num_sges, u8 polarity) { u8 inline_valid = polarity << IRDMA_INLINE_VALID_S; @@ -695,8 +693,8 @@ irdma_copy_inline_data(u8 *wqe, struct irdma_sge *sge_list, wqe += 8; for (i = 0; i < num_sges; i++) { - u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].tag_off; - u32 sge_len = sge_list[i].len; + u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].addr; + u32 sge_len = sge_list[i].length; while (sge_len) { u32 bytes_copied; @@ -776,7 +774,7 @@ irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, return EINVAL; for (i = 0; i < op_info->num_lo_sges; i++) - total_size += op_info->lo_sg_list[i].len; + total_size += op_info->lo_sg_list[i].length; if (unlikely(total_size > qp->max_inline_data)) return EINVAL; @@ -789,9 +787,9 @@ irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, qp->sq_wrtrk_array[wqe_idx].signaled = info->signaled; read_fence |= info->read_fence; set_64bit_val(wqe, IRDMA_BYTE_16, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); - hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.stag) | + hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.lkey) | FIELD_PREP(IRDMAQPSQ_OPCODE, info->op_type) | FIELD_PREP(IRDMAQPSQ_INLINEDATALEN, total_size) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, info->report_rtt ? 1 : 0) | @@ -847,7 +845,7 @@ irdma_uk_inline_send(struct irdma_qp_uk *qp, return EINVAL; for (i = 0; i < op_info->num_sges; i++) - total_size += op_info->sg_list[i].len; + total_size += op_info->sg_list[i].length; if (unlikely(total_size > qp->max_inline_data)) return EINVAL; @@ -912,7 +910,7 @@ irdma_uk_stag_local_invalidate(struct irdma_qp_uk *qp, u64 hdr; u32 wqe_idx; bool local_fence = false; - struct irdma_sge sge = {0}; + struct ibv_sge sge = {0}; u16 quanta = IRDMA_QP_WQE_MIN_QUANTA; info->push_wqe = qp->push_db ? true : false; @@ -923,7 +921,7 @@ irdma_uk_stag_local_invalidate(struct irdma_qp_uk *qp, if (!wqe) return ENOSPC; - sge.stag = op_info->target_stag; + sge.lkey = op_info->target_stag; qp->wqe_ops.iw_set_fragment(wqe, IRDMA_BYTE_0, &sge, 0); set_64bit_val(wqe, IRDMA_BYTE_16, 0); @@ -1437,8 +1435,7 @@ irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq, IRDMA_RING_MOVE_TAIL(cq->cq_ring); set_64bit_val(cq->shadow_area, IRDMA_BYTE_0, IRDMA_RING_CURRENT_HEAD(cq->cq_ring)); - memset(info, 0, - sizeof(struct irdma_cq_poll_info)); + memset(info, 0, sizeof(*info)); return irdma_uk_cq_poll_cmpl(cq, info); } } @@ -1511,7 +1508,6 @@ exit: if (pring && IRDMA_RING_MORE_WORK(*pring)) move_cq_head = false; } - if (move_cq_head) { IRDMA_RING_MOVE_HEAD_NOCHECK(cq->cq_ring); if (!IRDMA_RING_CURRENT_HEAD(cq->cq_ring)) @@ -1592,10 +1588,12 @@ irdma_get_wqe_shift(struct irdma_uk_attrs *uk_attrs, u32 sge, int irdma_get_sqdepth(struct irdma_uk_attrs *uk_attrs, u32 sq_size, u8 shift, u32 *sqdepth) { + u32 min_size = (u32)uk_attrs->min_hw_wq_size << shift; + *sqdepth = irdma_round_up_wq((sq_size << shift) + IRDMA_SQ_RSVD); - if (*sqdepth < ((u32)uk_attrs->min_hw_wq_size << shift)) - *sqdepth = uk_attrs->min_hw_wq_size << shift; + if (*sqdepth < min_size) + *sqdepth = min_size; else if (*sqdepth > uk_attrs->max_hw_wq_quanta) return EINVAL; @@ -1609,10 +1607,12 @@ irdma_get_sqdepth(struct irdma_uk_attrs *uk_attrs, u32 sq_size, u8 shift, u32 *s int irdma_get_rqdepth(struct irdma_uk_attrs *uk_attrs, u32 rq_size, u8 shift, u32 *rqdepth) { + u32 min_size = (u32)uk_attrs->min_hw_wq_size << shift; + *rqdepth = irdma_round_up_wq((rq_size << shift) + IRDMA_RQ_RSVD); - if (*rqdepth < ((u32)uk_attrs->min_hw_wq_size << shift)) - *rqdepth = uk_attrs->min_hw_wq_size << shift; + if (*rqdepth < min_size) + *rqdepth = min_size; else if (*rqdepth > uk_attrs->max_hw_rq_quanta) return EINVAL; @@ -1645,41 +1645,16 @@ irdma_setup_connection_wqes(struct irdma_qp_uk *qp, { u16 move_cnt = 1; - if (qp->uk_attrs->feature_flags & IRDMA_FEATURE_RTS_AE) + if (info->start_wqe_idx) + move_cnt = info->start_wqe_idx; + else if (qp->uk_attrs->feature_flags & IRDMA_FEATURE_RTS_AE) move_cnt = 3; - qp->conn_wqes = move_cnt; IRDMA_RING_MOVE_HEAD_BY_COUNT_NOCHECK(qp->sq_ring, move_cnt); IRDMA_RING_MOVE_TAIL_BY_COUNT(qp->sq_ring, move_cnt); IRDMA_RING_MOVE_HEAD_BY_COUNT_NOCHECK(qp->initial_ring, move_cnt); } -/** - * irdma_uk_calc_shift_wq - calculate WQE shift for both SQ and RQ - * @ukinfo: qp initialization info - * @sq_shift: Returns shift of SQ - * @rq_shift: Returns shift of RQ - */ -void -irdma_uk_calc_shift_wq(struct irdma_qp_uk_init_info *ukinfo, u8 *sq_shift, - u8 *rq_shift) -{ - bool imm_support = ukinfo->uk_attrs->hw_rev >= IRDMA_GEN_2 ? true : false; - - irdma_get_wqe_shift(ukinfo->uk_attrs, - imm_support ? ukinfo->max_sq_frag_cnt + 1 : - ukinfo->max_sq_frag_cnt, - ukinfo->max_inline_data, sq_shift); - - irdma_get_wqe_shift(ukinfo->uk_attrs, ukinfo->max_rq_frag_cnt, 0, - rq_shift); - - if (ukinfo->uk_attrs->hw_rev == IRDMA_GEN_1) { - if (ukinfo->abi_ver > 4) - *rq_shift = IRDMA_MAX_RQ_WQE_SHIFT_GEN1; - } -} - /** * irdma_uk_calc_depth_shift_sq - calculate depth and shift for SQ size. * @ukinfo: qp initialization info @@ -1692,6 +1667,7 @@ irdma_uk_calc_depth_shift_sq(struct irdma_qp_uk_init_info *ukinfo, { bool imm_support = ukinfo->uk_attrs->hw_rev >= IRDMA_GEN_2 ? true : false; int status; + irdma_get_wqe_shift(ukinfo->uk_attrs, imm_support ? ukinfo->max_sq_frag_cnt + 1 : ukinfo->max_sq_frag_cnt, @@ -1786,6 +1762,8 @@ irdma_uk_qp_init(struct irdma_qp_uk *qp, struct irdma_qp_uk_init_info *info) qp->wqe_ops = iw_wqe_uk_ops_gen_1; else qp->wqe_ops = iw_wqe_uk_ops; + qp->start_wqe_idx = info->start_wqe_idx; + return ret_code; } diff --git a/contrib/ofed/libirdma/irdma_umain.c b/contrib/ofed/libirdma/irdma_umain.c index 9e223cae429f..e8d27c31a0dc 100644 --- a/contrib/ofed/libirdma/irdma_umain.c +++ b/contrib/ofed/libirdma/irdma_umain.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (c) 2021 - 2023 Intel Corporation + * Copyright (c) 2021 - 2022 Intel Corporation * * 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 @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #include @@ -49,7 +48,7 @@ /** * Driver version */ -char libirdma_version[] = "1.2.17-k"; +char libirdma_version[] = "1.2.36-k"; unsigned int irdma_dbg; diff --git a/contrib/ofed/libirdma/irdma_umain.h b/contrib/ofed/libirdma/irdma_umain.h index 7ff850c46b72..269609f8c77f 100644 --- a/contrib/ofed/libirdma/irdma_umain.h +++ b/contrib/ofed/libirdma/irdma_umain.h @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #ifndef IRDMA_UMAIN_H #define IRDMA_UMAIN_H @@ -97,7 +96,6 @@ struct irdma_cq_buf { LIST_ENTRY(irdma_cq_buf) list; struct irdma_cq_uk cq; struct verbs_mr vmr; - size_t buf_size; }; extern pthread_mutex_t sigusr1_wait_mutex; @@ -143,7 +141,6 @@ struct irdma_uqp { struct ibv_recv_wr *pend_rx_wr; struct irdma_qp_uk qp; enum ibv_qp_type qp_type; - struct irdma_sge *recv_sges; }; /* irdma_uverbs.c */ diff --git a/contrib/ofed/libirdma/irdma_uquery.h b/contrib/ofed/libirdma/irdma_uquery.h index cf56818e4d51..4660c05f0a91 100644 --- a/contrib/ofed/libirdma/irdma_uquery.h +++ b/contrib/ofed/libirdma/irdma_uquery.h @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #ifndef IRDMA_UQUERY_H diff --git a/contrib/ofed/libirdma/irdma_user.h b/contrib/ofed/libirdma/irdma_user.h index 8d71a37d7bf4..aeb6aa9feebd 100644 --- a/contrib/ofed/libirdma/irdma_user.h +++ b/contrib/ofed/libirdma/irdma_user.h @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #ifndef IRDMA_USER_H #define IRDMA_USER_H @@ -51,7 +50,7 @@ #define irdma_access_privileges u32 #define irdma_physical_fragment u64 #define irdma_address_list u64 * -#define irdma_sgl struct irdma_sge * +#define irdma_sgl struct ibv_sge * #define IRDMA_MAX_MR_SIZE 0x200000000000ULL @@ -81,96 +80,6 @@ #define IRDMA_OP_TYPE_REC_IMM 0x3f #define IRDMA_FLUSH_MAJOR_ERR 1 -#define IRDMA_SRQFLUSH_RSVD_MAJOR_ERR 0xfffe - -/* Async Events codes */ -#define IRDMA_AE_AMP_UNALLOCATED_STAG 0x0102 -#define IRDMA_AE_AMP_INVALID_STAG 0x0103 -#define IRDMA_AE_AMP_BAD_QP 0x0104 -#define IRDMA_AE_AMP_BAD_PD 0x0105 -#define IRDMA_AE_AMP_BAD_STAG_KEY 0x0106 -#define IRDMA_AE_AMP_BAD_STAG_INDEX 0x0107 -#define IRDMA_AE_AMP_BOUNDS_VIOLATION 0x0108 -#define IRDMA_AE_AMP_RIGHTS_VIOLATION 0x0109 -#define IRDMA_AE_AMP_TO_WRAP 0x010a -#define IRDMA_AE_AMP_FASTREG_VALID_STAG 0x010c -#define IRDMA_AE_AMP_FASTREG_MW_STAG 0x010d -#define IRDMA_AE_AMP_FASTREG_INVALID_RIGHTS 0x010e -#define IRDMA_AE_AMP_FASTREG_INVALID_LENGTH 0x0110 -#define IRDMA_AE_AMP_INVALIDATE_SHARED 0x0111 -#define IRDMA_AE_AMP_INVALIDATE_NO_REMOTE_ACCESS_RIGHTS 0x0112 -#define IRDMA_AE_AMP_INVALIDATE_MR_WITH_BOUND_WINDOWS 0x0113 -#define IRDMA_AE_AMP_MWBIND_VALID_STAG 0x0114 -#define IRDMA_AE_AMP_MWBIND_OF_MR_STAG 0x0115 -#define IRDMA_AE_AMP_MWBIND_TO_ZERO_BASED_STAG 0x0116 -#define IRDMA_AE_AMP_MWBIND_TO_MW_STAG 0x0117 -#define IRDMA_AE_AMP_MWBIND_INVALID_RIGHTS 0x0118 -#define IRDMA_AE_AMP_MWBIND_INVALID_BOUNDS 0x0119 -#define IRDMA_AE_AMP_MWBIND_TO_INVALID_PARENT 0x011a -#define IRDMA_AE_AMP_MWBIND_BIND_DISABLED 0x011b -#define IRDMA_AE_PRIV_OPERATION_DENIED 0x011c -#define IRDMA_AE_AMP_INVALIDATE_TYPE1_MW 0x011d -#define IRDMA_AE_AMP_MWBIND_ZERO_BASED_TYPE1_MW 0x011e -#define IRDMA_AE_AMP_FASTREG_INVALID_PBL_HPS_CFG 0x011f -#define IRDMA_AE_AMP_MWBIND_WRONG_TYPE 0x0120 -#define IRDMA_AE_AMP_FASTREG_PBLE_MISMATCH 0x0121 -#define IRDMA_AE_UDA_XMIT_DGRAM_TOO_LONG 0x0132 -#define IRDMA_AE_UDA_XMIT_BAD_PD 0x0133 -#define IRDMA_AE_UDA_XMIT_DGRAM_TOO_SHORT 0x0134 -#define IRDMA_AE_UDA_L4LEN_INVALID 0x0135 -#define IRDMA_AE_BAD_CLOSE 0x0201 -#define IRDMA_AE_RDMAP_ROE_BAD_LLP_CLOSE 0x0202 -#define IRDMA_AE_CQ_OPERATION_ERROR 0x0203 -#define IRDMA_AE_RDMA_READ_WHILE_ORD_ZERO 0x0205 -#define IRDMA_AE_STAG_ZERO_INVALID 0x0206 -#define IRDMA_AE_IB_RREQ_AND_Q1_FULL 0x0207 -#define IRDMA_AE_IB_INVALID_REQUEST 0x0208 -#define IRDMA_AE_WQE_UNEXPECTED_OPCODE 0x020a -#define IRDMA_AE_WQE_INVALID_PARAMETER 0x020b -#define IRDMA_AE_WQE_INVALID_FRAG_DATA 0x020c -#define IRDMA_AE_IB_REMOTE_ACCESS_ERROR 0x020d -#define IRDMA_AE_IB_REMOTE_OP_ERROR 0x020e -#define IRDMA_AE_WQE_LSMM_TOO_LONG 0x0220 -#define IRDMA_AE_DDP_INVALID_MSN_GAP_IN_MSN 0x0301 -#define IRDMA_AE_DDP_UBE_DDP_MESSAGE_TOO_LONG_FOR_AVAILABLE_BUFFER 0x0303 -#define IRDMA_AE_DDP_UBE_INVALID_DDP_VERSION 0x0304 -#define IRDMA_AE_DDP_UBE_INVALID_MO 0x0305 -#define IRDMA_AE_DDP_UBE_INVALID_MSN_NO_BUFFER_AVAILABLE 0x0306 -#define IRDMA_AE_DDP_UBE_INVALID_QN 0x0307 -#define IRDMA_AE_DDP_NO_L_BIT 0x0308 -#define IRDMA_AE_RDMAP_ROE_INVALID_RDMAP_VERSION 0x0311 -#define IRDMA_AE_RDMAP_ROE_UNEXPECTED_OPCODE 0x0312 -#define IRDMA_AE_ROE_INVALID_RDMA_READ_REQUEST 0x0313 -#define IRDMA_AE_ROE_INVALID_RDMA_WRITE_OR_READ_RESP 0x0314 -#define IRDMA_AE_ROCE_RSP_LENGTH_ERROR 0x0316 -#define IRDMA_AE_ROCE_EMPTY_MCG 0x0380 -#define IRDMA_AE_ROCE_BAD_MC_IP_ADDR 0x0381 -#define IRDMA_AE_ROCE_BAD_MC_QPID 0x0382 -#define IRDMA_AE_MCG_QP_PROTOCOL_MISMATCH 0x0383 -#define IRDMA_AE_INVALID_ARP_ENTRY 0x0401 -#define IRDMA_AE_INVALID_TCP_OPTION_RCVD 0x0402 -#define IRDMA_AE_STALE_ARP_ENTRY 0x0403 -#define IRDMA_AE_INVALID_AH_ENTRY 0x0406 -#define IRDMA_AE_LLP_CLOSE_COMPLETE 0x0501 -#define IRDMA_AE_LLP_CONNECTION_RESET 0x0502 -#define IRDMA_AE_LLP_FIN_RECEIVED 0x0503 -#define IRDMA_AE_LLP_RECEIVED_MARKER_AND_LENGTH_FIELDS_DONT_MATCH 0x0504 -#define IRDMA_AE_LLP_RECEIVED_MPA_CRC_ERROR 0x0505 -#define IRDMA_AE_LLP_SEGMENT_TOO_SMALL 0x0507 -#define IRDMA_AE_LLP_SYN_RECEIVED 0x0508 -#define IRDMA_AE_LLP_TERMINATE_RECEIVED 0x0509 -#define IRDMA_AE_LLP_TOO_MANY_RETRIES 0x050a -#define IRDMA_AE_LLP_TOO_MANY_KEEPALIVE_RETRIES 0x050b -#define IRDMA_AE_LLP_DOUBT_REACHABILITY 0x050c -#define IRDMA_AE_LLP_CONNECTION_ESTABLISHED 0x050e -#define IRDMA_AE_RESOURCE_EXHAUSTION 0x0520 -#define IRDMA_AE_RESET_SENT 0x0601 -#define IRDMA_AE_TERMINATE_SENT 0x0602 -#define IRDMA_AE_RESET_NOT_SENT 0x0603 -#define IRDMA_AE_LCE_QP_CATASTROPHIC 0x0700 -#define IRDMA_AE_LCE_FUNCTION_CATASTROPHIC 0x0701 -#define IRDMA_AE_LCE_CQ_CATASTROPHIC 0x0702 -#define IRDMA_AE_QP_SUSPEND_COMPLETE 0x0900 enum irdma_device_caps_const { IRDMA_WQE_SIZE = 4, @@ -202,8 +111,7 @@ enum irdma_device_caps_const { IRDMA_MAX_OUTBOUND_MSG_SIZE = 65537, /* 64K +1 */ IRDMA_MAX_INBOUND_MSG_SIZE = 65537, - IRDMA_MAX_PUSH_PAGE_COUNT = 1024, - IRDMA_MAX_PE_ENA_VF_COUNT = 32, + IRDMA_MAX_PE_ENA_VF_COUNT = 32, IRDMA_MAX_VF_FPM_ID = 47, IRDMA_MAX_SQ_PAYLOAD_SIZE = 2145386496, IRDMA_MAX_INLINE_DATA_SIZE = 101, @@ -230,12 +138,7 @@ enum irdma_flush_opcode { FLUSH_RETRY_EXC_ERR, FLUSH_MW_BIND_ERR, FLUSH_REM_INV_REQ_ERR, -}; - -enum irdma_qp_event_type { - IRDMA_QP_EVENT_CATASTROPHIC, - IRDMA_QP_EVENT_ACCESS_ERR, - IRDMA_QP_EVENT_REQ_ERR, + FLUSH_RNR_RETRY_EXC_ERR, }; enum irdma_cmpl_status { @@ -283,12 +186,6 @@ struct irdma_cq_uk; struct irdma_qp_uk_init_info; struct irdma_cq_uk_init_info; -struct irdma_sge { - irdma_tagged_offset tag_off; - u32 len; - irdma_stag stag; -}; - struct irdma_ring { volatile u32 head; volatile u32 tail; /* effective tail */ @@ -320,13 +217,13 @@ struct irdma_post_rq_info { struct irdma_rdma_write { irdma_sgl lo_sg_list; u32 num_lo_sges; - struct irdma_sge rem_addr; + struct ibv_sge rem_addr; }; struct irdma_rdma_read { irdma_sgl lo_sg_list; u32 num_lo_sges; - struct irdma_sge rem_addr; + struct ibv_sge rem_addr; }; struct irdma_bind_window { @@ -400,11 +297,6 @@ struct irdma_cq_poll_info { } stat; }; -struct qp_err_code { - enum irdma_flush_opcode flush_code; - enum irdma_qp_event_type event_type; -}; - int irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, bool post_sq); int irdma_uk_inline_send(struct irdma_qp_uk *qp, @@ -427,9 +319,9 @@ int irdma_uk_stag_local_invalidate(struct irdma_qp_uk *qp, bool post_sq); struct irdma_wqe_uk_ops { - void (*iw_copy_inline_data)(u8 *dest, struct irdma_sge *sge_list, u32 num_sges, u8 polarity); + void (*iw_copy_inline_data)(u8 *dest, struct ibv_sge *sge_list, u32 num_sges, u8 polarity); u16 (*iw_inline_data_size_to_quanta)(u32 data_size); - void (*iw_set_fragment)(__le64 *wqe, u32 offset, struct irdma_sge *sge, + void (*iw_set_fragment)(__le64 *wqe, u32 offset, struct ibv_sge *sge, u8 valid); void (*iw_set_mw_bind_wqe)(__le64 *wqe, struct irdma_bind_window *op_info); @@ -445,8 +337,6 @@ int irdma_uk_cq_init(struct irdma_cq_uk *cq, struct irdma_cq_uk_init_info *info); int irdma_uk_qp_init(struct irdma_qp_uk *qp, struct irdma_qp_uk_init_info *info); -void irdma_uk_calc_shift_wq(struct irdma_qp_uk_init_info *ukinfo, u8 *sq_shift, - u8 *rq_shift); int irdma_uk_calc_depth_shift_sq(struct irdma_qp_uk_init_info *ukinfo, u32 *sq_depth, u8 *sq_shift); int irdma_uk_calc_depth_shift_rq(struct irdma_qp_uk_init_info *ukinfo, @@ -495,6 +385,7 @@ struct irdma_qp_uk { u8 rwqe_polarity; u8 rq_wqe_size; u8 rq_wqe_size_multiplier; + u8 start_wqe_idx; bool deferred_flag:1; bool push_mode:1; /* whether the last post wqe was pushed */ bool push_dropped:1; @@ -542,6 +433,7 @@ struct irdma_qp_uk_init_info { u32 sq_depth; u32 rq_depth; u8 first_sq_wq; + u8 start_wqe_idx; u8 type; u8 sq_shift; u8 rq_shift; @@ -575,75 +467,4 @@ int irdma_get_rqdepth(struct irdma_uk_attrs *uk_attrs, u32 rq_size, u8 shift, u3 void irdma_qp_push_wqe(struct irdma_qp_uk *qp, __le64 *wqe, u16 quanta, u32 wqe_idx, bool post_sq); void irdma_clr_wqes(struct irdma_qp_uk *qp, u32 qp_wqe_idx); - -static inline struct qp_err_code irdma_ae_to_qp_err_code(u16 ae_id) -{ - struct qp_err_code qp_err = { 0 }; - - switch (ae_id) { - case IRDMA_AE_AMP_BOUNDS_VIOLATION: - case IRDMA_AE_AMP_INVALID_STAG: - case IRDMA_AE_AMP_RIGHTS_VIOLATION: - case IRDMA_AE_AMP_UNALLOCATED_STAG: - case IRDMA_AE_AMP_BAD_PD: - case IRDMA_AE_AMP_BAD_QP: - case IRDMA_AE_AMP_BAD_STAG_KEY: - case IRDMA_AE_AMP_BAD_STAG_INDEX: - case IRDMA_AE_AMP_TO_WRAP: - case IRDMA_AE_PRIV_OPERATION_DENIED: - qp_err.flush_code = FLUSH_PROT_ERR; - qp_err.event_type = IRDMA_QP_EVENT_ACCESS_ERR; - break; - case IRDMA_AE_UDA_XMIT_BAD_PD: - case IRDMA_AE_WQE_UNEXPECTED_OPCODE: - qp_err.flush_code = FLUSH_LOC_QP_OP_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_UDA_XMIT_DGRAM_TOO_SHORT: - case IRDMA_AE_UDA_XMIT_DGRAM_TOO_LONG: - case IRDMA_AE_UDA_L4LEN_INVALID: - case IRDMA_AE_DDP_UBE_INVALID_MO: - case IRDMA_AE_DDP_UBE_DDP_MESSAGE_TOO_LONG_FOR_AVAILABLE_BUFFER: - qp_err.flush_code = FLUSH_LOC_LEN_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_AMP_INVALIDATE_NO_REMOTE_ACCESS_RIGHTS: - case IRDMA_AE_IB_REMOTE_ACCESS_ERROR: - qp_err.flush_code = FLUSH_REM_ACCESS_ERR; - qp_err.event_type = IRDMA_QP_EVENT_ACCESS_ERR; - break; - case IRDMA_AE_AMP_MWBIND_INVALID_RIGHTS: - case IRDMA_AE_AMP_MWBIND_BIND_DISABLED: - case IRDMA_AE_AMP_MWBIND_INVALID_BOUNDS: - case IRDMA_AE_AMP_MWBIND_VALID_STAG: - qp_err.flush_code = FLUSH_MW_BIND_ERR; - qp_err.event_type = IRDMA_QP_EVENT_ACCESS_ERR; - break; - case IRDMA_AE_LLP_TOO_MANY_RETRIES: - qp_err.flush_code = FLUSH_RETRY_EXC_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_IB_INVALID_REQUEST: - qp_err.flush_code = FLUSH_REM_INV_REQ_ERR; - qp_err.event_type = IRDMA_QP_EVENT_REQ_ERR; - break; - case IRDMA_AE_LLP_SEGMENT_TOO_SMALL: - case IRDMA_AE_LLP_RECEIVED_MPA_CRC_ERROR: - case IRDMA_AE_ROCE_RSP_LENGTH_ERROR: - case IRDMA_AE_IB_REMOTE_OP_ERROR: - qp_err.flush_code = FLUSH_REM_OP_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_LCE_QP_CATASTROPHIC: - qp_err.flush_code = FLUSH_FATAL_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - default: - qp_err.flush_code = FLUSH_GENERAL_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - } - - return qp_err; -} #endif /* IRDMA_USER_H */ diff --git a/contrib/ofed/libirdma/irdma_uverbs.c b/contrib/ofed/libirdma/irdma_uverbs.c index bc6bec34e6cd..e52ce1cfa229 100644 --- a/contrib/ofed/libirdma/irdma_uverbs.c +++ b/contrib/ofed/libirdma/irdma_uverbs.c @@ -31,7 +31,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -/*$FreeBSD$*/ #include #include @@ -153,6 +152,7 @@ irdma_ualloc_pd(struct ibv_context *context) err_free: free(iwupd); + errno = err; return NULL; } @@ -164,7 +164,6 @@ err_free: int irdma_ufree_pd(struct ibv_pd *pd) { - struct irdma_uvcontext *iwvctx = container_of(pd->context, struct irdma_uvcontext, ibv_ctx); struct irdma_upd *iwupd; int ret; @@ -375,12 +374,12 @@ irdma_free_hw_buf(void *buf, size_t size) * @cqe_64byte_ena: enable 64byte cqe */ static inline int -get_cq_size(int ncqe, u8 hw_rev, bool cqe_64byte_ena) +get_cq_size(int ncqe, u8 hw_rev) { ncqe++; /* Completions with immediate require 1 extra entry */ - if (!cqe_64byte_ena && hw_rev > IRDMA_GEN_1) *** 4009 LINES SKIPPED *** From nobody Wed Feb 21 05:59:35 2024 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 4TflwR5Mchz5BX55; Wed, 21 Feb 2024 05:59: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 4TflwR4QlRz4lbd; Wed, 21 Feb 2024 05:59:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708495175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jQDndErn7DhgfP40+R/24r/OM5xXzDXLlqI+ytND2n4=; b=CG4Gr3OAN9fO6X0KkrUw6KfM562bn0g7+uPId24XB+Yzvy7GUvKqNCLEa2R2+CnkUWg/Qw oups4amjB5v1NcZQb+wpeQPR7nnOm91PFxOUe286J0LGvdra8gQsLNyC4fN4m42aLxHTw3 jXQQzqZwqrfg1sZfrlbLUYkSJSWpGGjQKeD7C5sHZ34uEalkaBT/i0fgOExUPQeMDVmP3Z tMj1+jNts6MnV4YkNq3smv9wy1TuPs4ixyUn89gz+zMTXE3Sb8jV58XXt5PjQf4sMV9tHS YWDgciRSBQuaj/cC2/DamJJY7FNeGSOiQhqJLUhNcmCilMCw77G+oxtc2xmjjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708495175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jQDndErn7DhgfP40+R/24r/OM5xXzDXLlqI+ytND2n4=; b=HR2CZhM2EPu2O40mWBnACnIxBTdCU38BjQmCMGdJGh1HxrUOEHFiq5CwAUp/cSGe8WyM4l Y0YbLWgut9o/ABKupwIOizsYkedKrAmJUD1F7rYo2pKYoFV563lIDaW1zJ010G5b7RLwlK hjQFHfJZB5JUawXuA13994rC/FlzBLgXq1LkfnItPo8f1zqA2MEnnIUlt9MBZPjL/POfFH II/nFQokfPnVargeelrSmo/b8IaOFT3YGUL6JqEMxbYGyBIwu9zuisLafA+WC0k0Omu4Kb 8PyKaewe4FrqBFATacAVG7/isGmBh/A4p1kyiXu+WVWOisDT6v3mf6O4/xFXog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708495175; a=rsa-sha256; cv=none; b=qc7skr/d/DLE8qysIX97cV8ifUhzb71HCpRT5zfx9w+Syca38N7WnDW6fUKt6Lrkb+zEBQ Vyvd5bleePl80kTSFETiMhSRaZDghOWf/WNQ76q8oQ+bIONWp/QIypRsdUc7xwJtMbj/x3 14aWGLrpFbIMcwbUAuoQWHZH99LdUTRrY69agjZ+Sj6Y5eGMRdRVl7r/cugHBSpajtvhLt BHmtNjoYXTgSojlghBlUWee0nQBL1mvHxOU1tahURktDBjPZJ5mllyI+wjVArVv8ixMalR Y1pdsvVBZDnLG+lYyAY2K93DGL6LV5lsXV8/F+LbzirBGWkaqGx+mVUOluypXQ== 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 4TflwR3Nv4zr7b; Wed, 21 Feb 2024 05:59: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 41L5xZIZ056434; Wed, 21 Feb 2024 05:59:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L5xZjY056431; Wed, 21 Feb 2024 05:59:35 GMT (envelope-from git) Date: Wed, 21 Feb 2024 05:59:35 GMT Message-Id: <202402210559.41L5xZjY056431@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: 4cea0cbcc9d3 - main - rc.d/mountlate: discard output from nextboot 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: 4cea0cbcc9d3a6583e5325ca081c09c8a9423172 Auto-Submitted: auto-generated The branch main has been updated by rew: URL: https://cgit.FreeBSD.org/src/commit/?id=4cea0cbcc9d3a6583e5325ca081c09c8a9423172 commit 4cea0cbcc9d3a6583e5325ca081c09c8a9423172 Author: Robert Wing AuthorDate: 2024-02-21 05:50:43 +0000 Commit: Robert Wing CommitDate: 2024-02-21 05:50:43 +0000 rc.d/mountlate: discard output from nextboot silent the warning seen at boot: Mounting late filesystems:. nextboot: unlink /boot/nextboot.conf: No such file or directory Sun Feb 18 23:31:52 AKST 2024 FreeBSD/amd64 (main) (ttyv0) login: Differential Revision: https://reviews.freebsd.org/D43979 --- libexec/rc/rc.d/mountlate | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/mountlate b/libexec/rc/rc.d/mountlate index 133192ac183c..4547e8ec6876 100755 --- a/libexec/rc/rc.d/mountlate +++ b/libexec/rc/rc.d/mountlate @@ -39,7 +39,7 @@ mountlate_start() # If we booted a special kernel remove the record # so we will boot the default kernel next time. if [ -x /sbin/nextboot ]; then - /sbin/nextboot -D + /sbin/nextboot -D > /dev/null 2>&1 fi } From nobody Wed Feb 21 06:00:54 2024 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 4Tfly15yybz5BXB5 for ; Wed, 21 Feb 2024 06:00:57 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (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 4Tfly14GTwz4lvF for ; Wed, 21 Feb 2024 06:00:57 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-564e4df00f3so1102201a12.3 for ; Tue, 20 Feb 2024 22:00:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1708495255; x=1709100055; 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=MfYiAUmorY/wAfAy0z704Yzcvnw6NqLchlOvhQi/gGw=; b=rlEv4pBM7EDqUUSXylIvMEoLxQk3uMY4fdgWKZ163EKk7moIpJEmBNLbKfSfKvM+yY PGg8/QWIyXqqEA4bgmf0T6n1QvqDbBwPrbpWLukg0fj1PR2qE1fS1KUHPoVIfoPJEmm4 /r/LWVM0R/LRFd8QsdKG3/dfXfscTIIY/t1J5zfk2SO0/I1fx/k9Xmr9zMhK8X7/OlcV +oei6CFnhrsrjDefZmP8G9oj0MbK0vtonS50G+mjbegVGqU/2FeuWnxZITGgxZGTwa7J mNX1poXlPSY/Dp8O7C9VsvN6wezLV0Aeisy55de9C01JhzxvH7lt+79zFFoCA5WhwP3n +2cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708495255; x=1709100055; 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=MfYiAUmorY/wAfAy0z704Yzcvnw6NqLchlOvhQi/gGw=; b=B7j7CC3M35M7m54VYOFLnrlfGS1cDKpBN2LY9+X3X9PYaLWrrbc0owYgbZAo8Vi0hn 6YVGIfY56pDERpy6oWGnG8ppq1LFBJVF7fW3hDRyC2XPJUZKDzWezeXZ9Mt1FHlaPZ1y x5xVdVc7YlNG1BGQoTFmJ4JxuA14wgGJBZc8I9RjKhCo+SWmvdsP2cCijo3OT+H9Ez8y jr361rjq5QAdaNTGzCkouoqWWY28GrJX6hp8nOfu45m+Kwbhyi6N1JmU/bvxi+N32el8 XTRUu1q69ILFnCW0TMy4WbG0tBhwJfo1etUwa4v/YFgTAsXIN5iKBWw6mr8R4iNEXB1h wB2g== X-Forwarded-Encrypted: i=1; AJvYcCWJ472lMOXLfbnC7jcX/N/5sF+370myqByJ4u76JomNgsJ4w1AGd/LaJz4NIEd47l2kl0tRiRrs1vmqAh2Qt7xZDhEu42zo2JuTwOJYqXLM X-Gm-Message-State: AOJu0Yx9J0GTf5yCWnXr4hRGVIsRpohCVZ2UkBa3lsUUk+B9Qd78DkvI oOG1NR4HJOqO6hVwhClJ3f5svIbqb6ti8/Z//x7E9GOuvwmXn/hlnUmwMccVPxU9lgqUmm5OXPb q7Wxm/x21pQfFTwKGyKImZfGVb75GVY4YF+27Z+oJS077Fn9v2A0= X-Google-Smtp-Source: AGHT+IHf6jcyJDVHRYDJ6sWDkeXE0rQAWh7kKMiaX9NWNmCZSkGQKJp7vlfuRuCrqerHuLUrwPq1oE/jhvnR9UCqe0o= X-Received: by 2002:aa7:d0d5:0:b0:564:a1e2:edd2 with SMTP id u21-20020aa7d0d5000000b00564a1e2edd2mr4056157edo.9.1708495254696; Tue, 20 Feb 2024 22:00: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: <202402210559.41L5xZjY056431@gitrepo.freebsd.org> In-Reply-To: <202402210559.41L5xZjY056431@gitrepo.freebsd.org> From: Warner Losh Date: Tue, 20 Feb 2024 23:00:54 -0700 Message-ID: Subject: Re: git: 4cea0cbcc9d3 - main - rc.d/mountlate: discard output from nextboot To: Robert Wing Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000c1c35f0611de0ce7" X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4Tfly14GTwz4lvF 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] --000000000000c1c35f0611de0ce7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable This change is wrong, please revert. I'll make nextboot silent again. Warner On Tue, Feb 20, 2024 at 10:59=E2=80=AFPM Robert Wing wrot= e: > The branch main has been updated by rew: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D4cea0cbcc9d3a6583e5325ca081c09c= 8a9423172 > > commit 4cea0cbcc9d3a6583e5325ca081c09c8a9423172 > Author: Robert Wing > AuthorDate: 2024-02-21 05:50:43 +0000 > Commit: Robert Wing > CommitDate: 2024-02-21 05:50:43 +0000 > > rc.d/mountlate: discard output from nextboot > > silent the warning seen at boot: > > Mounting late filesystems:. > nextboot: unlink /boot/nextboot.conf: No such file or directory > > Sun Feb 18 23:31:52 AKST 2024 > > FreeBSD/amd64 (main) (ttyv0) > > login: > > Differential Revision: https://reviews.freebsd.org/D43979 > --- > libexec/rc/rc.d/mountlate | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libexec/rc/rc.d/mountlate b/libexec/rc/rc.d/mountlate > index 133192ac183c..4547e8ec6876 100755 > --- a/libexec/rc/rc.d/mountlate > +++ b/libexec/rc/rc.d/mountlate > @@ -39,7 +39,7 @@ mountlate_start() > # If we booted a special kernel remove the record > # so we will boot the default kernel next time. > if [ -x /sbin/nextboot ]; then > - /sbin/nextboot -D > + /sbin/nextboot -D > /dev/null 2>&1 > fi > } > > --000000000000c1c35f0611de0ce7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
This change is wrong, please revert.

I'll make nextboot silent again.

Warn= er

On Tue, Feb 20, 2024 at 10:59=E2=80=AFPM Robert Wing <rew@freebsd.org> wrote:
The branch main has been update= d by rew:

URL: https://cgit.= FreeBSD.org/src/commit/?id=3D4cea0cbcc9d3a6583e5325ca081c09c8a9423172
commit 4cea0cbcc9d3a6583e5325ca081c09c8a9423172
Author:=C2=A0 =C2=A0 =C2=A0Robert Wing <rew@FreeBSD.org>
AuthorDate: 2024-02-21 05:50:43 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Robert Wing <rew@FreeBSD.org>
CommitDate: 2024-02-21 05:50:43 +0000

=C2=A0 =C2=A0 rc.d/mountlate: discard output from nextboot

=C2=A0 =C2=A0 silent the warning seen at boot:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 Mounting late filesystems:.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 nextboot: unlink /boot/nextboot.conf: No such f= ile or directory

=C2=A0 =C2=A0 =C2=A0 =C2=A0 Sun Feb 18 23:31:52 AKST 2024

=C2=A0 =C2=A0 =C2=A0 =C2=A0 FreeBSD/amd64 (main) (ttyv0)

=C2=A0 =C2=A0 =C2=A0 =C2=A0 login:

=C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews.freebsd= .org/D43979
---
=C2=A0libexec/rc/rc.d/mountlate | 2 +-
=C2=A01 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libexec/rc/rc.d/mountlate b/libexec/rc/rc.d/mountlate
index 133192ac183c..4547e8ec6876 100755
--- a/libexec/rc/rc.d/mountlate
+++ b/libexec/rc/rc.d/mountlate
@@ -39,7 +39,7 @@ mountlate_start()
=C2=A0 =C2=A0 =C2=A0 =C2=A0 # If we booted a special kernel remove the reco= rd
=C2=A0 =C2=A0 =C2=A0 =C2=A0 # so we will boot the default kernel next time.=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if [ -x /sbin/nextboot ]; then
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/sbin/nextboot -D +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/sbin/nextboot -D &= gt; /dev/null 2>&1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 fi
=C2=A0}

--000000000000c1c35f0611de0ce7-- From nobody Wed Feb 21 06:01:07 2024 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 4TflyC45Ymz5BX7d; Wed, 21 Feb 2024 06:01: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 4TflyC3LYmz4m6Q; Wed, 21 Feb 2024 06:01:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708495267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F+yLiVnR/gGdmx7wP7K1VC9BADDAlT3ZB+rss7IV09c=; b=fFIODAjHA9JI2/CHShSPj7Bw8trY8TNdR5nJBbkUoCrjc+ejD510PRJ9rB+0dbB1pge0im voZhQnRZtdulpcwl9s7xjQOy8GzWte/E9w51GnhYzVE9A/2cWo4sZdtLPzLefqXr68KhSV c8I8a389IIrJx9q5E57WDhVUWdUrwh/IBDgQ801lPbGx3i5lqbn0RbxQRNmvmhlseQWkLk caBbu4Yump9pc2cb+00/de0u9/caC2R6iGXigppPXSCLH6ww6LSUmDKSO57GWj5Ao2at7O U6TL9PRaadbhHO2sYSvfNggDs4p3+ugIMIneoNpp7xwE+vwPcoYOJ4asLhH75A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708495267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F+yLiVnR/gGdmx7wP7K1VC9BADDAlT3ZB+rss7IV09c=; b=P5bGpGgk+GbHqIBoLJ9tHPfNyYbNLx+l4e0mzvxrcvzNPMw8GLDcrKSKL6zemoDaCRlwTi /cG1rwV4CDSGEz5Mm+gfp3D8SgvN/ekSsTRpCewJD11ZOQ92pAzUL9ABltCJSEs+drHweG ODzS7/GkdkQsOxCFiF5sJP/jeFcvQD1VGucgvosHZAdoaL0H3EQHQJQXsPa2hWErzVO8qr wRWs0Szyi2cZ/p6GyL8ktqUAseCqY8kRzdUmht3kio7DrOyuP4zZbO8Yorf2QCKBEI4Zkw Gyn0yh6P443FdxJ41cxjZxgPun/iYStKH+r+1TCyG084jZ0gZ2U8HkqNtKcYjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708495267; a=rsa-sha256; cv=none; b=QyRoGijOQ62tKKB7rO1/4u5H1HJAo6ws3frFYphOmnMvHaELTxc0VpqLg6sLTKsGo2m2eA YoeWnqBRfKe7Ch2swbL/ZLAeGpguIGSrb/oOy1TU2PeyHuZmegoHgam79PJOuZJ6D7TfNy goGyUaOBntqbGpNI6Klxt81zv2PiRClXqy5pBPqD2PXnVFDMxJ8oFrlT1olLa7U7sLCyMh zgzd4MIl2L84+7eZ68Cv/41bS6ipkKwdcssinmbI/lD11VsU4apveV6qiC07EvtpElUasK Iutk3tHB7h7Nb3Kzh7BLNl0kIe8drIf9VHw6GsvbtwDk2oczESwwQvPEBsmGCw== 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 4TflyC2PDXzrND; Wed, 21 Feb 2024 06:01: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 41L617ST068318; Wed, 21 Feb 2024 06:01:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L617UF068315; Wed, 21 Feb 2024 06:01:07 GMT (envelope-from git) Date: Wed, 21 Feb 2024 06:01:07 GMT Message-Id: <202402210601.41L617UF068315@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: a4510dafa804 - stable/13 - irdma(4): Upgrade to 1.2.36-k 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: erj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a4510dafa8045bfa521303db7f23123a47d8749f Auto-Submitted: auto-generated The branch stable/13 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=a4510dafa8045bfa521303db7f23123a47d8749f commit a4510dafa8045bfa521303db7f23123a47d8749f Author: Bartosz Sobczak AuthorDate: 2024-02-16 21:55:08 +0000 Commit: Eric Joyner CommitDate: 2024-02-21 06:00:00 +0000 irdma(4): Upgrade to 1.2.36-k Update Intel irdma driver to version 1.2.36-k. Notable changes: - Start using ib_sge directly instead of irdma_sge - Turn off flush completion generator for libirdma - Minor formatting changes Signed-off-by: Bartosz Sobczak Signed-off-by: Eric Joyner Reviewed by: erj@ Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D43567 (cherry picked from commit 5b5f7d0e77a9eee73eb5d596f43aef4e1a3674d8) --- contrib/ofed/libirdma/abi.h | 8 +- contrib/ofed/libirdma/irdma-abi.h | 11 ++ contrib/ofed/libirdma/irdma.h | 1 - contrib/ofed/libirdma/irdma_defs.h | 13 --- contrib/ofed/libirdma/irdma_uk.c | 106 ++++++++---------- contrib/ofed/libirdma/irdma_umain.c | 2 +- contrib/ofed/libirdma/irdma_umain.h | 2 - contrib/ofed/libirdma/irdma_user.h | 198 ++-------------------------------- contrib/ofed/libirdma/irdma_uverbs.c | 89 +++++---------- contrib/ofed/libirdma/osdep.h | 1 - sys/dev/irdma/fbsd_kcompat.c | 5 +- sys/dev/irdma/fbsd_kcompat.h | 25 ++--- sys/dev/irdma/icrdma.c | 2 +- sys/dev/irdma/icrdma_hw.c | 7 +- sys/dev/irdma/icrdma_hw.h | 3 +- sys/dev/irdma/irdma-abi.h | 11 ++ sys/dev/irdma/irdma.h | 2 +- sys/dev/irdma/irdma_cm.c | 47 ++++---- sys/dev/irdma/irdma_cm.h | 2 +- sys/dev/irdma/irdma_ctrl.c | 99 ++++++++++------- sys/dev/irdma/irdma_defs.h | 3 - sys/dev/irdma/irdma_hw.c | 43 +++++--- sys/dev/irdma/irdma_kcompat.c | 96 +++++++---------- sys/dev/irdma/irdma_main.h | 13 ++- sys/dev/irdma/irdma_pble.h | 2 +- sys/dev/irdma/irdma_protos.h | 2 +- sys/dev/irdma/irdma_puda.c | 8 +- sys/dev/irdma/irdma_type.h | 29 +++-- sys/dev/irdma/irdma_uda.c | 2 +- sys/dev/irdma/irdma_uda.h | 3 +- sys/dev/irdma/irdma_uk.c | 80 +++++++------- sys/dev/irdma/irdma_user.h | 35 +++--- sys/dev/irdma/irdma_utils.c | 53 +++------ sys/dev/irdma/irdma_verbs.c | 202 ++++++++--------------------------- sys/dev/irdma/irdma_verbs.h | 4 +- sys/dev/irdma/irdma_ws.c | 4 +- sys/dev/irdma/irdma_ws.h | 2 +- 37 files changed, 424 insertions(+), 791 deletions(-) diff --git a/contrib/ofed/libirdma/abi.h b/contrib/ofed/libirdma/abi.h index 1d84fbc747f6..a3e159828bec 100644 --- a/contrib/ofed/libirdma/abi.h +++ b/contrib/ofed/libirdma/abi.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (C) 2019 - 2022 Intel Corporation + * Copyright (C) 2019 - 2023 Intel Corporation * * 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 @@ -85,6 +85,7 @@ struct irdma_ucreate_qp { struct ibv_create_qp ibv_cmd; __aligned_u64 user_wqe_bufs; __aligned_u64 user_compl_ctx; + __aligned_u64 comp_mask; }; struct irdma_ucreate_qp_resp { @@ -97,6 +98,9 @@ struct irdma_ucreate_qp_resp { __u8 lsmm; __u8 rsvd; __u32 qp_caps; + __aligned_u64 comp_mask; + __u8 start_wqe_idx; + __u8 rsvd2[7]; }; struct irdma_umodify_qp_resp { @@ -137,6 +141,8 @@ struct irdma_get_context_resp { __u8 hw_rev; __u8 rsvd2; __aligned_u64 comp_mask; + __u16 min_hw_wq_size; + __u8 rsvd3[6]; }; struct irdma_ureg_mr { diff --git a/contrib/ofed/libirdma/irdma-abi.h b/contrib/ofed/libirdma/irdma-abi.h index 8c04dcce2e8b..ae805919ea55 100644 --- a/contrib/ofed/libirdma/irdma-abi.h +++ b/contrib/ofed/libirdma/irdma-abi.h @@ -54,6 +54,11 @@ enum irdma_memreg_type { enum { IRDMA_ALLOC_UCTX_USE_RAW_ATTR = 1 << 0, + IRDMA_ALLOC_UCTX_MIN_HW_WQ_SIZE = 1 << 1, +}; + +enum { + IRDMA_CREATE_QP_USE_START_WQE_IDX = 1 << 0, }; struct irdma_alloc_ucontext_req { @@ -82,6 +87,8 @@ struct irdma_alloc_ucontext_resp { __u8 hw_rev; __u8 rsvd2; __aligned_u64 comp_mask; + __u16 min_hw_wq_size; + __u8 rsvd3[6]; }; struct irdma_alloc_pd_resp { @@ -101,6 +108,7 @@ struct irdma_create_cq_req { struct irdma_create_qp_req { __aligned_u64 user_wqe_bufs; __aligned_u64 user_compl_ctx; + __aligned_u64 comp_mask; }; struct irdma_mem_reg_req { @@ -130,6 +138,9 @@ struct irdma_create_qp_resp { __u8 lsmm; __u8 rsvd; __u32 qp_caps; + __aligned_u64 comp_mask; + __u8 start_wqe_idx; + __u8 rsvd2[7]; }; struct irdma_modify_qp_resp { diff --git a/contrib/ofed/libirdma/irdma.h b/contrib/ofed/libirdma/irdma.h index 0e2a5189acd1..f4a5a4796f82 100644 --- a/contrib/ofed/libirdma/irdma.h +++ b/contrib/ofed/libirdma/irdma.h @@ -46,7 +46,6 @@ enum irdma_vers { IRDMA_GEN_RSVD = 0, IRDMA_GEN_1 = 1, IRDMA_GEN_2 = 2, - IRDMA_GEN_MAX = 2, }; struct irdma_uk_attrs { diff --git a/contrib/ofed/libirdma/irdma_defs.h b/contrib/ofed/libirdma/irdma_defs.h index da9eea472568..39d4e7772c31 100644 --- a/contrib/ofed/libirdma/irdma_defs.h +++ b/contrib/ofed/libirdma/irdma_defs.h @@ -456,19 +456,6 @@ enum irdma_qp_wqe_size { IRDMA_WQE_SIZE_256 = 256, }; -enum irdma_ws_op_type { - IRDMA_WS_OP_TYPE_NODE = 0, - IRDMA_WS_OP_TYPE_LEAF_NODE_GROUP, -}; - -enum irdma_ws_rate_limit_flags { - IRDMA_WS_RATE_LIMIT_FLAGS_VALID = 0x1, - IRDMA_WS_NO_RDMA_RATE_LIMIT = 0x2, - IRDMA_WS_LEAF_NODE_IS_PART_GROUP = 0x4, - IRDMA_WS_TREE_RATE_LIMITING = 0x8, - IRDMA_WS_PACING_CONTROL = 0x10, -}; - /** * set_64bit_val - set 64 bit value to hw wqe * @wqe_words: wqe addr to write diff --git a/contrib/ofed/libirdma/irdma_uk.c b/contrib/ofed/libirdma/irdma_uk.c index 5fa9d792745f..115c5f0a27f0 100644 --- a/contrib/ofed/libirdma/irdma_uk.c +++ b/contrib/ofed/libirdma/irdma_uk.c @@ -45,16 +45,16 @@ * @valid: The wqe valid */ static void -irdma_set_fragment(__le64 * wqe, u32 offset, struct irdma_sge *sge, +irdma_set_fragment(__le64 * wqe, u32 offset, struct ibv_sge *sge, u8 valid) { if (sge) { set_64bit_val(wqe, offset, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->addr)); set_64bit_val(wqe, offset + IRDMA_BYTE_8, FIELD_PREP(IRDMAQPSQ_VALID, valid) | - FIELD_PREP(IRDMAQPSQ_FRAG_LEN, sge->len) | - FIELD_PREP(IRDMAQPSQ_FRAG_STAG, sge->stag)); + FIELD_PREP(IRDMAQPSQ_FRAG_LEN, sge->length) | + FIELD_PREP(IRDMAQPSQ_FRAG_STAG, sge->lkey)); } else { set_64bit_val(wqe, offset, 0); set_64bit_val(wqe, offset + IRDMA_BYTE_8, @@ -71,14 +71,14 @@ irdma_set_fragment(__le64 * wqe, u32 offset, struct irdma_sge *sge, */ static void irdma_set_fragment_gen_1(__le64 * wqe, u32 offset, - struct irdma_sge *sge, u8 valid) + struct ibv_sge *sge, u8 valid) { if (sge) { set_64bit_val(wqe, offset, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->addr)); set_64bit_val(wqe, offset + IRDMA_BYTE_8, - FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_LEN, sge->len) | - FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_STAG, sge->stag)); + FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_LEN, sge->length) | + FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_STAG, sge->lkey)); } else { set_64bit_val(wqe, offset, 0); set_64bit_val(wqe, offset + IRDMA_BYTE_8, 0); @@ -209,8 +209,7 @@ irdma_qp_push_wqe(struct irdma_qp_uk *qp, __le64 * wqe, u16 quanta, if (IRDMA_RING_CURRENT_HEAD(qp->initial_ring) != IRDMA_RING_CURRENT_TAIL(qp->sq_ring) && !qp->push_mode) { - if (post_sq) - irdma_uk_qp_post_wr(qp); + irdma_uk_qp_post_wr(qp); } else { push = (__le64 *) ((uintptr_t)qp->push_wqe + (wqe_idx & 0x7) * 0x20); @@ -338,7 +337,7 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, return EINVAL; for (i = 0; i < op_info->num_lo_sges; i++) - total_size += op_info->lo_sg_list[i].len; + total_size += op_info->lo_sg_list[i].length; read_fence |= info->read_fence; @@ -357,7 +356,7 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, qp->sq_wrtrk_array[wqe_idx].signaled = info->signaled; set_64bit_val(wqe, IRDMA_BYTE_16, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); if (info->imm_data_valid) { set_64bit_val(wqe, IRDMA_BYTE_0, @@ -386,7 +385,7 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, ++addl_frag_cnt; } - hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.stag) | + hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.lkey) | FIELD_PREP(IRDMAQPSQ_OPCODE, info->op_type) | FIELD_PREP(IRDMAQPSQ_IMMDATAFLAG, info->imm_data_valid) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, info->report_rtt) | @@ -437,7 +436,7 @@ irdma_uk_rdma_read(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, return EINVAL; for (i = 0; i < op_info->num_lo_sges; i++) - total_size += op_info->lo_sg_list[i].len; + total_size += op_info->lo_sg_list[i].length; ret_code = irdma_fragcnt_to_quanta_sq(op_info->num_lo_sges, &quanta); if (ret_code) @@ -475,8 +474,8 @@ irdma_uk_rdma_read(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, ++addl_frag_cnt; } set_64bit_val(wqe, IRDMA_BYTE_16, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.tag_off)); - hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.stag) | + FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); + hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.lkey) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, (info->report_rtt ? 1 : 0)) | FIELD_PREP(IRDMAQPSQ_ADDFRAGCNT, addl_frag_cnt) | FIELD_PREP(IRDMAQPSQ_OPCODE, @@ -525,7 +524,7 @@ irdma_uk_send(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, return EINVAL; for (i = 0; i < op_info->num_sges; i++) - total_size += op_info->sg_list[i].len; + total_size += op_info->sg_list[i].length; if (info->imm_data_valid) frag_cnt = op_info->num_sges + 1; @@ -620,15 +619,15 @@ irdma_set_mw_bind_wqe_gen_1(__le64 * wqe, * @polarity: compatibility parameter */ static void -irdma_copy_inline_data_gen_1(u8 *wqe, struct irdma_sge *sge_list, +irdma_copy_inline_data_gen_1(u8 *wqe, struct ibv_sge *sge_list, u32 num_sges, u8 polarity) { u32 quanta_bytes_remaining = 16; u32 i; for (i = 0; i < num_sges; i++) { - u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].tag_off; - u32 sge_len = sge_list[i].len; + u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].addr; + u32 sge_len = sge_list[i].length; while (sge_len) { u32 bytes_copied; @@ -683,7 +682,7 @@ irdma_set_mw_bind_wqe(__le64 * wqe, * @polarity: polarity of wqe valid bit */ static void -irdma_copy_inline_data(u8 *wqe, struct irdma_sge *sge_list, +irdma_copy_inline_data(u8 *wqe, struct ibv_sge *sge_list, u32 num_sges, u8 polarity) { u8 inline_valid = polarity << IRDMA_INLINE_VALID_S; @@ -694,8 +693,8 @@ irdma_copy_inline_data(u8 *wqe, struct irdma_sge *sge_list, wqe += 8; for (i = 0; i < num_sges; i++) { - u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].tag_off; - u32 sge_len = sge_list[i].len; + u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].addr; + u32 sge_len = sge_list[i].length; while (sge_len) { u32 bytes_copied; @@ -775,7 +774,7 @@ irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, return EINVAL; for (i = 0; i < op_info->num_lo_sges; i++) - total_size += op_info->lo_sg_list[i].len; + total_size += op_info->lo_sg_list[i].length; if (unlikely(total_size > qp->max_inline_data)) return EINVAL; @@ -788,9 +787,9 @@ irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, qp->sq_wrtrk_array[wqe_idx].signaled = info->signaled; read_fence |= info->read_fence; set_64bit_val(wqe, IRDMA_BYTE_16, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); - hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.stag) | + hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.lkey) | FIELD_PREP(IRDMAQPSQ_OPCODE, info->op_type) | FIELD_PREP(IRDMAQPSQ_INLINEDATALEN, total_size) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, info->report_rtt ? 1 : 0) | @@ -846,7 +845,7 @@ irdma_uk_inline_send(struct irdma_qp_uk *qp, return EINVAL; for (i = 0; i < op_info->num_sges; i++) - total_size += op_info->sg_list[i].len; + total_size += op_info->sg_list[i].length; if (unlikely(total_size > qp->max_inline_data)) return EINVAL; @@ -911,7 +910,7 @@ irdma_uk_stag_local_invalidate(struct irdma_qp_uk *qp, u64 hdr; u32 wqe_idx; bool local_fence = false; - struct irdma_sge sge = {0}; + struct ibv_sge sge = {0}; u16 quanta = IRDMA_QP_WQE_MIN_QUANTA; info->push_wqe = qp->push_db ? true : false; @@ -922,7 +921,7 @@ irdma_uk_stag_local_invalidate(struct irdma_qp_uk *qp, if (!wqe) return ENOSPC; - sge.stag = op_info->target_stag; + sge.lkey = op_info->target_stag; qp->wqe_ops.iw_set_fragment(wqe, IRDMA_BYTE_0, &sge, 0); set_64bit_val(wqe, IRDMA_BYTE_16, 0); @@ -1436,8 +1435,7 @@ irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq, IRDMA_RING_MOVE_TAIL(cq->cq_ring); set_64bit_val(cq->shadow_area, IRDMA_BYTE_0, IRDMA_RING_CURRENT_HEAD(cq->cq_ring)); - memset(info, 0, - sizeof(struct irdma_cq_poll_info)); + memset(info, 0, sizeof(*info)); return irdma_uk_cq_poll_cmpl(cq, info); } } @@ -1510,7 +1508,6 @@ exit: if (pring && IRDMA_RING_MORE_WORK(*pring)) move_cq_head = false; } - if (move_cq_head) { IRDMA_RING_MOVE_HEAD_NOCHECK(cq->cq_ring); if (!IRDMA_RING_CURRENT_HEAD(cq->cq_ring)) @@ -1591,10 +1588,12 @@ irdma_get_wqe_shift(struct irdma_uk_attrs *uk_attrs, u32 sge, int irdma_get_sqdepth(struct irdma_uk_attrs *uk_attrs, u32 sq_size, u8 shift, u32 *sqdepth) { + u32 min_size = (u32)uk_attrs->min_hw_wq_size << shift; + *sqdepth = irdma_round_up_wq((sq_size << shift) + IRDMA_SQ_RSVD); - if (*sqdepth < ((u32)uk_attrs->min_hw_wq_size << shift)) - *sqdepth = uk_attrs->min_hw_wq_size << shift; + if (*sqdepth < min_size) + *sqdepth = min_size; else if (*sqdepth > uk_attrs->max_hw_wq_quanta) return EINVAL; @@ -1608,10 +1607,12 @@ irdma_get_sqdepth(struct irdma_uk_attrs *uk_attrs, u32 sq_size, u8 shift, u32 *s int irdma_get_rqdepth(struct irdma_uk_attrs *uk_attrs, u32 rq_size, u8 shift, u32 *rqdepth) { + u32 min_size = (u32)uk_attrs->min_hw_wq_size << shift; + *rqdepth = irdma_round_up_wq((rq_size << shift) + IRDMA_RQ_RSVD); - if (*rqdepth < ((u32)uk_attrs->min_hw_wq_size << shift)) - *rqdepth = uk_attrs->min_hw_wq_size << shift; + if (*rqdepth < min_size) + *rqdepth = min_size; else if (*rqdepth > uk_attrs->max_hw_rq_quanta) return EINVAL; @@ -1644,41 +1645,16 @@ irdma_setup_connection_wqes(struct irdma_qp_uk *qp, { u16 move_cnt = 1; - if (qp->uk_attrs->feature_flags & IRDMA_FEATURE_RTS_AE) + if (info->start_wqe_idx) + move_cnt = info->start_wqe_idx; + else if (qp->uk_attrs->feature_flags & IRDMA_FEATURE_RTS_AE) move_cnt = 3; - qp->conn_wqes = move_cnt; IRDMA_RING_MOVE_HEAD_BY_COUNT_NOCHECK(qp->sq_ring, move_cnt); IRDMA_RING_MOVE_TAIL_BY_COUNT(qp->sq_ring, move_cnt); IRDMA_RING_MOVE_HEAD_BY_COUNT_NOCHECK(qp->initial_ring, move_cnt); } -/** - * irdma_uk_calc_shift_wq - calculate WQE shift for both SQ and RQ - * @ukinfo: qp initialization info - * @sq_shift: Returns shift of SQ - * @rq_shift: Returns shift of RQ - */ -void -irdma_uk_calc_shift_wq(struct irdma_qp_uk_init_info *ukinfo, u8 *sq_shift, - u8 *rq_shift) -{ - bool imm_support = ukinfo->uk_attrs->hw_rev >= IRDMA_GEN_2 ? true : false; - - irdma_get_wqe_shift(ukinfo->uk_attrs, - imm_support ? ukinfo->max_sq_frag_cnt + 1 : - ukinfo->max_sq_frag_cnt, - ukinfo->max_inline_data, sq_shift); - - irdma_get_wqe_shift(ukinfo->uk_attrs, ukinfo->max_rq_frag_cnt, 0, - rq_shift); - - if (ukinfo->uk_attrs->hw_rev == IRDMA_GEN_1) { - if (ukinfo->abi_ver > 4) - *rq_shift = IRDMA_MAX_RQ_WQE_SHIFT_GEN1; - } -} - /** * irdma_uk_calc_depth_shift_sq - calculate depth and shift for SQ size. * @ukinfo: qp initialization info @@ -1786,6 +1762,8 @@ irdma_uk_qp_init(struct irdma_qp_uk *qp, struct irdma_qp_uk_init_info *info) qp->wqe_ops = iw_wqe_uk_ops_gen_1; else qp->wqe_ops = iw_wqe_uk_ops; + qp->start_wqe_idx = info->start_wqe_idx; + return ret_code; } diff --git a/contrib/ofed/libirdma/irdma_umain.c b/contrib/ofed/libirdma/irdma_umain.c index 2902dd963e18..e8d27c31a0dc 100644 --- a/contrib/ofed/libirdma/irdma_umain.c +++ b/contrib/ofed/libirdma/irdma_umain.c @@ -48,7 +48,7 @@ /** * Driver version */ -char libirdma_version[] = "1.2.17-k"; +char libirdma_version[] = "1.2.36-k"; unsigned int irdma_dbg; diff --git a/contrib/ofed/libirdma/irdma_umain.h b/contrib/ofed/libirdma/irdma_umain.h index 1fa18dd7a847..269609f8c77f 100644 --- a/contrib/ofed/libirdma/irdma_umain.h +++ b/contrib/ofed/libirdma/irdma_umain.h @@ -96,7 +96,6 @@ struct irdma_cq_buf { LIST_ENTRY(irdma_cq_buf) list; struct irdma_cq_uk cq; struct verbs_mr vmr; - size_t buf_size; }; extern pthread_mutex_t sigusr1_wait_mutex; @@ -142,7 +141,6 @@ struct irdma_uqp { struct ibv_recv_wr *pend_rx_wr; struct irdma_qp_uk qp; enum ibv_qp_type qp_type; - struct irdma_sge *recv_sges; }; /* irdma_uverbs.c */ diff --git a/contrib/ofed/libirdma/irdma_user.h b/contrib/ofed/libirdma/irdma_user.h index 0f0aa30bec91..aeb6aa9feebd 100644 --- a/contrib/ofed/libirdma/irdma_user.h +++ b/contrib/ofed/libirdma/irdma_user.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (c) 2015 - 2022 Intel Corporation + * Copyright (c) 2015 - 2023 Intel Corporation * * 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 @@ -50,7 +50,7 @@ #define irdma_access_privileges u32 #define irdma_physical_fragment u64 #define irdma_address_list u64 * -#define irdma_sgl struct irdma_sge * +#define irdma_sgl struct ibv_sge * #define IRDMA_MAX_MR_SIZE 0x200000000000ULL @@ -80,96 +80,6 @@ #define IRDMA_OP_TYPE_REC_IMM 0x3f #define IRDMA_FLUSH_MAJOR_ERR 1 -#define IRDMA_SRQFLUSH_RSVD_MAJOR_ERR 0xfffe - -/* Async Events codes */ -#define IRDMA_AE_AMP_UNALLOCATED_STAG 0x0102 -#define IRDMA_AE_AMP_INVALID_STAG 0x0103 -#define IRDMA_AE_AMP_BAD_QP 0x0104 -#define IRDMA_AE_AMP_BAD_PD 0x0105 -#define IRDMA_AE_AMP_BAD_STAG_KEY 0x0106 -#define IRDMA_AE_AMP_BAD_STAG_INDEX 0x0107 -#define IRDMA_AE_AMP_BOUNDS_VIOLATION 0x0108 -#define IRDMA_AE_AMP_RIGHTS_VIOLATION 0x0109 -#define IRDMA_AE_AMP_TO_WRAP 0x010a -#define IRDMA_AE_AMP_FASTREG_VALID_STAG 0x010c -#define IRDMA_AE_AMP_FASTREG_MW_STAG 0x010d -#define IRDMA_AE_AMP_FASTREG_INVALID_RIGHTS 0x010e -#define IRDMA_AE_AMP_FASTREG_INVALID_LENGTH 0x0110 -#define IRDMA_AE_AMP_INVALIDATE_SHARED 0x0111 -#define IRDMA_AE_AMP_INVALIDATE_NO_REMOTE_ACCESS_RIGHTS 0x0112 -#define IRDMA_AE_AMP_INVALIDATE_MR_WITH_BOUND_WINDOWS 0x0113 -#define IRDMA_AE_AMP_MWBIND_VALID_STAG 0x0114 -#define IRDMA_AE_AMP_MWBIND_OF_MR_STAG 0x0115 -#define IRDMA_AE_AMP_MWBIND_TO_ZERO_BASED_STAG 0x0116 -#define IRDMA_AE_AMP_MWBIND_TO_MW_STAG 0x0117 -#define IRDMA_AE_AMP_MWBIND_INVALID_RIGHTS 0x0118 -#define IRDMA_AE_AMP_MWBIND_INVALID_BOUNDS 0x0119 -#define IRDMA_AE_AMP_MWBIND_TO_INVALID_PARENT 0x011a -#define IRDMA_AE_AMP_MWBIND_BIND_DISABLED 0x011b -#define IRDMA_AE_PRIV_OPERATION_DENIED 0x011c -#define IRDMA_AE_AMP_INVALIDATE_TYPE1_MW 0x011d -#define IRDMA_AE_AMP_MWBIND_ZERO_BASED_TYPE1_MW 0x011e -#define IRDMA_AE_AMP_FASTREG_INVALID_PBL_HPS_CFG 0x011f -#define IRDMA_AE_AMP_MWBIND_WRONG_TYPE 0x0120 -#define IRDMA_AE_AMP_FASTREG_PBLE_MISMATCH 0x0121 -#define IRDMA_AE_UDA_XMIT_DGRAM_TOO_LONG 0x0132 -#define IRDMA_AE_UDA_XMIT_BAD_PD 0x0133 -#define IRDMA_AE_UDA_XMIT_DGRAM_TOO_SHORT 0x0134 -#define IRDMA_AE_UDA_L4LEN_INVALID 0x0135 -#define IRDMA_AE_BAD_CLOSE 0x0201 -#define IRDMA_AE_RDMAP_ROE_BAD_LLP_CLOSE 0x0202 -#define IRDMA_AE_CQ_OPERATION_ERROR 0x0203 -#define IRDMA_AE_RDMA_READ_WHILE_ORD_ZERO 0x0205 -#define IRDMA_AE_STAG_ZERO_INVALID 0x0206 -#define IRDMA_AE_IB_RREQ_AND_Q1_FULL 0x0207 -#define IRDMA_AE_IB_INVALID_REQUEST 0x0208 -#define IRDMA_AE_WQE_UNEXPECTED_OPCODE 0x020a -#define IRDMA_AE_WQE_INVALID_PARAMETER 0x020b -#define IRDMA_AE_WQE_INVALID_FRAG_DATA 0x020c -#define IRDMA_AE_IB_REMOTE_ACCESS_ERROR 0x020d -#define IRDMA_AE_IB_REMOTE_OP_ERROR 0x020e -#define IRDMA_AE_WQE_LSMM_TOO_LONG 0x0220 -#define IRDMA_AE_DDP_INVALID_MSN_GAP_IN_MSN 0x0301 -#define IRDMA_AE_DDP_UBE_DDP_MESSAGE_TOO_LONG_FOR_AVAILABLE_BUFFER 0x0303 -#define IRDMA_AE_DDP_UBE_INVALID_DDP_VERSION 0x0304 -#define IRDMA_AE_DDP_UBE_INVALID_MO 0x0305 -#define IRDMA_AE_DDP_UBE_INVALID_MSN_NO_BUFFER_AVAILABLE 0x0306 -#define IRDMA_AE_DDP_UBE_INVALID_QN 0x0307 -#define IRDMA_AE_DDP_NO_L_BIT 0x0308 -#define IRDMA_AE_RDMAP_ROE_INVALID_RDMAP_VERSION 0x0311 -#define IRDMA_AE_RDMAP_ROE_UNEXPECTED_OPCODE 0x0312 -#define IRDMA_AE_ROE_INVALID_RDMA_READ_REQUEST 0x0313 -#define IRDMA_AE_ROE_INVALID_RDMA_WRITE_OR_READ_RESP 0x0314 -#define IRDMA_AE_ROCE_RSP_LENGTH_ERROR 0x0316 -#define IRDMA_AE_ROCE_EMPTY_MCG 0x0380 -#define IRDMA_AE_ROCE_BAD_MC_IP_ADDR 0x0381 -#define IRDMA_AE_ROCE_BAD_MC_QPID 0x0382 -#define IRDMA_AE_MCG_QP_PROTOCOL_MISMATCH 0x0383 -#define IRDMA_AE_INVALID_ARP_ENTRY 0x0401 -#define IRDMA_AE_INVALID_TCP_OPTION_RCVD 0x0402 -#define IRDMA_AE_STALE_ARP_ENTRY 0x0403 -#define IRDMA_AE_INVALID_AH_ENTRY 0x0406 -#define IRDMA_AE_LLP_CLOSE_COMPLETE 0x0501 -#define IRDMA_AE_LLP_CONNECTION_RESET 0x0502 -#define IRDMA_AE_LLP_FIN_RECEIVED 0x0503 -#define IRDMA_AE_LLP_RECEIVED_MARKER_AND_LENGTH_FIELDS_DONT_MATCH 0x0504 -#define IRDMA_AE_LLP_RECEIVED_MPA_CRC_ERROR 0x0505 -#define IRDMA_AE_LLP_SEGMENT_TOO_SMALL 0x0507 -#define IRDMA_AE_LLP_SYN_RECEIVED 0x0508 -#define IRDMA_AE_LLP_TERMINATE_RECEIVED 0x0509 -#define IRDMA_AE_LLP_TOO_MANY_RETRIES 0x050a -#define IRDMA_AE_LLP_TOO_MANY_KEEPALIVE_RETRIES 0x050b -#define IRDMA_AE_LLP_DOUBT_REACHABILITY 0x050c -#define IRDMA_AE_LLP_CONNECTION_ESTABLISHED 0x050e -#define IRDMA_AE_RESOURCE_EXHAUSTION 0x0520 -#define IRDMA_AE_RESET_SENT 0x0601 -#define IRDMA_AE_TERMINATE_SENT 0x0602 -#define IRDMA_AE_RESET_NOT_SENT 0x0603 -#define IRDMA_AE_LCE_QP_CATASTROPHIC 0x0700 -#define IRDMA_AE_LCE_FUNCTION_CATASTROPHIC 0x0701 -#define IRDMA_AE_LCE_CQ_CATASTROPHIC 0x0702 -#define IRDMA_AE_QP_SUSPEND_COMPLETE 0x0900 enum irdma_device_caps_const { IRDMA_WQE_SIZE = 4, @@ -201,8 +111,7 @@ enum irdma_device_caps_const { IRDMA_MAX_OUTBOUND_MSG_SIZE = 65537, /* 64K +1 */ IRDMA_MAX_INBOUND_MSG_SIZE = 65537, - IRDMA_MAX_PUSH_PAGE_COUNT = 1024, - IRDMA_MAX_PE_ENA_VF_COUNT = 32, + IRDMA_MAX_PE_ENA_VF_COUNT = 32, IRDMA_MAX_VF_FPM_ID = 47, IRDMA_MAX_SQ_PAYLOAD_SIZE = 2145386496, IRDMA_MAX_INLINE_DATA_SIZE = 101, @@ -229,12 +138,7 @@ enum irdma_flush_opcode { FLUSH_RETRY_EXC_ERR, FLUSH_MW_BIND_ERR, FLUSH_REM_INV_REQ_ERR, -}; - -enum irdma_qp_event_type { - IRDMA_QP_EVENT_CATASTROPHIC, - IRDMA_QP_EVENT_ACCESS_ERR, - IRDMA_QP_EVENT_REQ_ERR, + FLUSH_RNR_RETRY_EXC_ERR, }; enum irdma_cmpl_status { @@ -282,12 +186,6 @@ struct irdma_cq_uk; struct irdma_qp_uk_init_info; struct irdma_cq_uk_init_info; -struct irdma_sge { - irdma_tagged_offset tag_off; - u32 len; - irdma_stag stag; -}; - struct irdma_ring { volatile u32 head; volatile u32 tail; /* effective tail */ @@ -319,13 +217,13 @@ struct irdma_post_rq_info { struct irdma_rdma_write { irdma_sgl lo_sg_list; u32 num_lo_sges; - struct irdma_sge rem_addr; + struct ibv_sge rem_addr; }; struct irdma_rdma_read { irdma_sgl lo_sg_list; u32 num_lo_sges; - struct irdma_sge rem_addr; + struct ibv_sge rem_addr; }; struct irdma_bind_window { @@ -399,11 +297,6 @@ struct irdma_cq_poll_info { } stat; }; -struct qp_err_code { - enum irdma_flush_opcode flush_code; - enum irdma_qp_event_type event_type; -}; - int irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, bool post_sq); int irdma_uk_inline_send(struct irdma_qp_uk *qp, @@ -426,9 +319,9 @@ int irdma_uk_stag_local_invalidate(struct irdma_qp_uk *qp, bool post_sq); struct irdma_wqe_uk_ops { - void (*iw_copy_inline_data)(u8 *dest, struct irdma_sge *sge_list, u32 num_sges, u8 polarity); + void (*iw_copy_inline_data)(u8 *dest, struct ibv_sge *sge_list, u32 num_sges, u8 polarity); u16 (*iw_inline_data_size_to_quanta)(u32 data_size); - void (*iw_set_fragment)(__le64 *wqe, u32 offset, struct irdma_sge *sge, + void (*iw_set_fragment)(__le64 *wqe, u32 offset, struct ibv_sge *sge, u8 valid); void (*iw_set_mw_bind_wqe)(__le64 *wqe, struct irdma_bind_window *op_info); @@ -444,8 +337,6 @@ int irdma_uk_cq_init(struct irdma_cq_uk *cq, struct irdma_cq_uk_init_info *info); int irdma_uk_qp_init(struct irdma_qp_uk *qp, struct irdma_qp_uk_init_info *info); -void irdma_uk_calc_shift_wq(struct irdma_qp_uk_init_info *ukinfo, u8 *sq_shift, - u8 *rq_shift); int irdma_uk_calc_depth_shift_sq(struct irdma_qp_uk_init_info *ukinfo, u32 *sq_depth, u8 *sq_shift); int irdma_uk_calc_depth_shift_rq(struct irdma_qp_uk_init_info *ukinfo, @@ -494,6 +385,7 @@ struct irdma_qp_uk { u8 rwqe_polarity; u8 rq_wqe_size; u8 rq_wqe_size_multiplier; + u8 start_wqe_idx; bool deferred_flag:1; bool push_mode:1; /* whether the last post wqe was pushed */ bool push_dropped:1; @@ -541,6 +433,7 @@ struct irdma_qp_uk_init_info { u32 sq_depth; u32 rq_depth; u8 first_sq_wq; + u8 start_wqe_idx; u8 type; u8 sq_shift; u8 rq_shift; @@ -574,75 +467,4 @@ int irdma_get_rqdepth(struct irdma_uk_attrs *uk_attrs, u32 rq_size, u8 shift, u3 void irdma_qp_push_wqe(struct irdma_qp_uk *qp, __le64 *wqe, u16 quanta, u32 wqe_idx, bool post_sq); void irdma_clr_wqes(struct irdma_qp_uk *qp, u32 qp_wqe_idx); - -static inline struct qp_err_code irdma_ae_to_qp_err_code(u16 ae_id) -{ - struct qp_err_code qp_err = { 0 }; - - switch (ae_id) { - case IRDMA_AE_AMP_BOUNDS_VIOLATION: - case IRDMA_AE_AMP_INVALID_STAG: - case IRDMA_AE_AMP_RIGHTS_VIOLATION: - case IRDMA_AE_AMP_UNALLOCATED_STAG: - case IRDMA_AE_AMP_BAD_PD: - case IRDMA_AE_AMP_BAD_QP: - case IRDMA_AE_AMP_BAD_STAG_KEY: - case IRDMA_AE_AMP_BAD_STAG_INDEX: - case IRDMA_AE_AMP_TO_WRAP: - case IRDMA_AE_PRIV_OPERATION_DENIED: - qp_err.flush_code = FLUSH_PROT_ERR; - qp_err.event_type = IRDMA_QP_EVENT_ACCESS_ERR; - break; - case IRDMA_AE_UDA_XMIT_BAD_PD: - case IRDMA_AE_WQE_UNEXPECTED_OPCODE: - qp_err.flush_code = FLUSH_LOC_QP_OP_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_UDA_XMIT_DGRAM_TOO_SHORT: - case IRDMA_AE_UDA_XMIT_DGRAM_TOO_LONG: - case IRDMA_AE_UDA_L4LEN_INVALID: - case IRDMA_AE_DDP_UBE_INVALID_MO: - case IRDMA_AE_DDP_UBE_DDP_MESSAGE_TOO_LONG_FOR_AVAILABLE_BUFFER: - qp_err.flush_code = FLUSH_LOC_LEN_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_AMP_INVALIDATE_NO_REMOTE_ACCESS_RIGHTS: - case IRDMA_AE_IB_REMOTE_ACCESS_ERROR: - qp_err.flush_code = FLUSH_REM_ACCESS_ERR; - qp_err.event_type = IRDMA_QP_EVENT_ACCESS_ERR; - break; - case IRDMA_AE_AMP_MWBIND_INVALID_RIGHTS: - case IRDMA_AE_AMP_MWBIND_BIND_DISABLED: - case IRDMA_AE_AMP_MWBIND_INVALID_BOUNDS: - case IRDMA_AE_AMP_MWBIND_VALID_STAG: - qp_err.flush_code = FLUSH_MW_BIND_ERR; - qp_err.event_type = IRDMA_QP_EVENT_ACCESS_ERR; - break; - case IRDMA_AE_LLP_TOO_MANY_RETRIES: - qp_err.flush_code = FLUSH_RETRY_EXC_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_IB_INVALID_REQUEST: - qp_err.flush_code = FLUSH_REM_INV_REQ_ERR; - qp_err.event_type = IRDMA_QP_EVENT_REQ_ERR; - break; - case IRDMA_AE_LLP_SEGMENT_TOO_SMALL: - case IRDMA_AE_LLP_RECEIVED_MPA_CRC_ERROR: - case IRDMA_AE_ROCE_RSP_LENGTH_ERROR: - case IRDMA_AE_IB_REMOTE_OP_ERROR: - qp_err.flush_code = FLUSH_REM_OP_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_LCE_QP_CATASTROPHIC: - qp_err.flush_code = FLUSH_FATAL_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - default: - qp_err.flush_code = FLUSH_GENERAL_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - } - - return qp_err; -} #endif /* IRDMA_USER_H */ diff --git a/contrib/ofed/libirdma/irdma_uverbs.c b/contrib/ofed/libirdma/irdma_uverbs.c index 962af399ed31..e52ce1cfa229 100644 --- a/contrib/ofed/libirdma/irdma_uverbs.c +++ b/contrib/ofed/libirdma/irdma_uverbs.c @@ -152,6 +152,7 @@ irdma_ualloc_pd(struct ibv_context *context) err_free: free(iwupd); + errno = err; return NULL; } @@ -163,7 +164,6 @@ err_free: int irdma_ufree_pd(struct ibv_pd *pd) { - struct irdma_uvcontext *iwvctx = container_of(pd->context, struct irdma_uvcontext, ibv_ctx); struct irdma_upd *iwupd; int ret; @@ -374,12 +374,12 @@ irdma_free_hw_buf(void *buf, size_t size) * @cqe_64byte_ena: enable 64byte cqe */ static inline int -get_cq_size(int ncqe, u8 hw_rev, bool cqe_64byte_ena) +get_cq_size(int ncqe, u8 hw_rev) { ncqe++; /* Completions with immediate require 1 extra entry */ - if (!cqe_64byte_ena && hw_rev > IRDMA_GEN_1) + if (hw_rev > IRDMA_GEN_1) ncqe *= 2; if (ncqe < IRDMA_U_MINCQ_SIZE) @@ -388,11 +388,8 @@ get_cq_size(int ncqe, u8 hw_rev, bool cqe_64byte_ena) return ncqe; } -static inline size_t get_cq_total_bytes(u32 cq_size, bool cqe_64byte_ena){ - if (cqe_64byte_ena) - return roundup(cq_size * sizeof(struct irdma_extended_cqe), IRDMA_HW_PAGE_SIZE); - else - return roundup(cq_size * sizeof(struct irdma_cqe), IRDMA_HW_PAGE_SIZE); +static inline size_t get_cq_total_bytes(u32 cq_size) { + return roundup(cq_size * sizeof(struct irdma_cqe), IRDMA_HW_PAGE_SIZE); } /** @@ -420,7 +417,6 @@ ucreate_cq(struct ibv_context *context, u32 cq_pages; int ret, ncqe; u8 hw_rev; - bool cqe_64byte_ena; iwvctx = container_of(context, struct irdma_uvcontext, ibv_ctx); uk_attrs = &iwvctx->uk_attrs; @@ -454,11 +450,10 @@ ucreate_cq(struct ibv_context *context, return NULL; } - cqe_64byte_ena = uk_attrs->feature_flags & IRDMA_FEATURE_64_BYTE_CQE ? true : false; - info.cq_size = get_cq_size(attr_ex->cqe, hw_rev, cqe_64byte_ena); + info.cq_size = get_cq_size(attr_ex->cqe, hw_rev); + total_size = get_cq_total_bytes(info.cq_size); iwucq->comp_vector = attr_ex->comp_vector; LIST_INIT(&iwucq->resize_list); - total_size = get_cq_total_bytes(info.cq_size, cqe_64byte_ena); cq_pages = total_size >> IRDMA_HW_PAGE_SHIFT; if (!(uk_attrs->feature_flags & IRDMA_FEATURE_CQ_RESIZE)) @@ -528,8 +523,6 @@ ucreate_cq(struct ibv_context *context, info.cq_id = resp.cq_id; /* Do not report the CQE's reserved for immediate and burned by HW */ iwucq->verbs_cq.cq.cqe = ncqe; - if (cqe_64byte_ena) - info.avoid_mem_cflct = true; info.cqe_alloc_db = (u32 *)((u8 *)iwvctx->db + IRDMA_DB_CQ_OFFSET); irdma_uk_cq_init(&iwucq->cq, &info); return &iwucq->verbs_cq.cq_ex; @@ -585,7 +578,7 @@ static void irdma_free_cq_buf(struct irdma_cq_buf *cq_buf) { ibv_cmd_dereg_mr(&cq_buf->vmr.ibv_mr); - irdma_free_hw_buf(cq_buf->cq.cq_base, cq_buf->buf_size); + irdma_free_hw_buf(cq_buf->cq.cq_base, get_cq_total_bytes(cq_buf->cq.cq_size)); free(cq_buf); } @@ -1322,6 +1315,8 @@ irdma_vmapped_qp(struct irdma_uqp *iwuqp, struct ibv_pd *pd, cmd.user_wqe_bufs = (__u64) ((uintptr_t)info->sq); cmd.user_compl_ctx = (__u64) (uintptr_t)&iwuqp->qp; + cmd.comp_mask |= IRDMA_CREATE_QP_USE_START_WQE_IDX; + ret = ibv_cmd_create_qp(pd, &iwuqp->ibv_qp, attr, &cmd.ibv_cmd, sizeof(cmd), &resp.ibv_resp, sizeof(struct irdma_ucreate_qp_resp)); @@ -1331,6 +1326,8 @@ irdma_vmapped_qp(struct irdma_uqp *iwuqp, struct ibv_pd *pd, info->sq_size = resp.actual_sq_size; info->rq_size = resp.actual_rq_size; info->first_sq_wq = legacy_mode ? 1 : resp.lsmm; + if (resp.comp_mask & IRDMA_CREATE_QP_USE_START_WQE_IDX) + info->start_wqe_idx = resp.start_wqe_idx; info->qp_caps = resp.qp_caps; info->qp_id = resp.qp_id; iwuqp->irdma_drv_opt = resp.irdma_drv_opt; @@ -1379,6 +1376,8 @@ irdma_ucreate_qp(struct ibv_pd *pd, if (attr->cap.max_send_sge > uk_attrs->max_hw_wq_frags || attr->cap.max_recv_sge > uk_attrs->max_hw_wq_frags || + attr->cap.max_send_wr > uk_attrs->max_hw_wq_quanta || + attr->cap.max_recv_wr > uk_attrs->max_hw_rq_quanta || attr->cap.max_inline_data > uk_attrs->max_hw_inline) { errno = EINVAL; return NULL; @@ -1430,18 +1429,12 @@ irdma_ucreate_qp(struct ibv_pd *pd, attr->cap.max_recv_wr = info.rq_size; } - iwuqp->recv_sges = calloc(attr->cap.max_recv_sge, sizeof(*iwuqp->recv_sges)); - if (!iwuqp->recv_sges) { - status = errno; /* preserve errno */ - goto err_destroy_lock; - } - info.wqe_alloc_db = (u32 *)iwvctx->db; info.legacy_mode = iwvctx->legacy_mode; info.sq_wrtrk_array = calloc(info.sq_depth, sizeof(*info.sq_wrtrk_array)); if (!info.sq_wrtrk_array) { status = errno; /* preserve errno */ - goto err_free_rsges; + goto err_destroy_lock; } info.rq_wrid_array = calloc(info.rq_depth, sizeof(*info.rq_wrid_array)); @@ -1475,8 +1468,6 @@ err_free_rq_wrid: free(info.rq_wrid_array); err_free_sq_wrtrk: free(info.sq_wrtrk_array); -err_free_rsges: - free(iwuqp->recv_sges); err_destroy_lock: pthread_spin_destroy(&iwuqp->lock); err_free_qp: @@ -1635,7 +1626,6 @@ irdma_udestroy_qp(struct ibv_qp *qp) free(iwuqp->qp.rq_wrid_array); irdma_free_hw_buf(iwuqp->qp.sq_base, iwuqp->buf_size); - free(iwuqp->recv_sges); free(iwuqp); return 0; @@ -1645,26 +1635,6 @@ err: return ret; } -/** - * irdma_copy_sg_list - copy sg list for qp - * @sg_list: copied into sg_list - * @sgl: copy from sgl - * @num_sges: count of sg entries - * @max_sges: count of max supported sg entries - */ -static void -irdma_copy_sg_list(struct irdma_sge *sg_list, struct ibv_sge *sgl, - int num_sges) -{ - int i; - *** 2464 LINES SKIPPED *** From nobody Wed Feb 21 06:03:21 2024 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 4Tfm0n6zBbz5BXZC; Wed, 21 Feb 2024 06:03: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 4Tfm0n6CKCz4mnH; Wed, 21 Feb 2024 06:03:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708495401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=irxbaEztPSzbXhiLmcEt74pxQ1SEPP75lVZzN9QLEWI=; b=RBSAf31zwKgfIAh1yqzYluP6edv66OmNCDG1JQkBtREk6p8oMkd7MHrxbSErVbRoHjEXMf stDapAEpWeIA/KhCniVawBR1poTrtcLyn4nD3qNyGGNJBPHHR3qThC8Rizid6dpPLRv85K Kc0oquCSURcmjvIeN7IVgluu3GMlWZ/jGaQjXt1yxomZ2x0mG99b9WWudnP5YqnVGGBXuz 4JtX+4zkK+6DFF/LvJRXeWtZTCYUWc+MiCIYGbxEAZsTnvgS4LoZE0EB5JVSv7X8alomsm 1NVmIsE3+F0PNkUyygQ9++xy7G9Ka8DinVOgwhgRSHV1CQfULXpXZn/z36hF7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708495401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=irxbaEztPSzbXhiLmcEt74pxQ1SEPP75lVZzN9QLEWI=; b=UHq1o3TA1t+QcYf3A4c3JV79JXhvSYb3DPOp9BF5FLyW0QCLCzcZIviuX9FZnD6xaH4x85 Ry2lU56urQpJZSFheZv+RAWOZIQg0Qd49bax9hEgBqJuqOXm8l6LKPpqhnJkFwAS/itbHT 969UeZkVrSl5X69WrQLVErJOFzvvGe1Pks4jkrjCIZei9lhoSDa+bE7JQzkh+qZlVK4VD2 FdC2QMwA9BiROGVywPRXZTztKieNGdgjfBu8FvEozzyDt4Z/RaX2v9lnCAqrHmxf3O4dgT cWh+RYyLvQyWU99YQEfxV3Q+Tlk2pg0MrhLN1jbpfNJjmCr0A0XEqP+bGqFZYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708495401; a=rsa-sha256; cv=none; b=OlCsIKq4P3hA7JYhQgQ43TXZr4B0wS83rJhIIahimgil2L3XWEfwdztmXcLXTHciHX2z1O IW3/50URbUoAKeEH7DYV/jxYjgXjPp397acwTwHHcRKv7vLtSrz9hJWZ2gq+8r3rCGxz6p 8SVX+L6XximdyewX6eLnGGlpaUN0/NO5J2ctxSeM7MiUIFF+5vbvtvqV3BNWZIQgTBGJEq J2k0bRO+4oaKcRS2EkcaSzhp38HpykJVzZbtyK20bOZDa6CXDVYFXTA0gfvjA5XzhxQZV/ sHNINsb3+Ss0YfWU2vmP0Ok86dNm+8Hw7EQqjeG6iQ6nDsbNjii61GundaEqUg== 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 4Tfm0n5F5bzr80; Wed, 21 Feb 2024 06:03: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 41L63LfE073819; Wed, 21 Feb 2024 06:03:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L63Leb073816; Wed, 21 Feb 2024 06:03:21 GMT (envelope-from git) Date: Wed, 21 Feb 2024 06:03:21 GMT Message-Id: <202402210603.41L63Leb073816@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: c7d5cc6f5e64 - main - Revert "rc.d/mountlate: discard output from nextboot" 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: c7d5cc6f5e64961a054ad4fb0544102f8b0257fd Auto-Submitted: auto-generated The branch main has been updated by rew: URL: https://cgit.FreeBSD.org/src/commit/?id=c7d5cc6f5e64961a054ad4fb0544102f8b0257fd commit c7d5cc6f5e64961a054ad4fb0544102f8b0257fd Author: Robert Wing AuthorDate: 2024-02-21 06:04:15 +0000 Commit: Robert Wing CommitDate: 2024-02-21 06:04:15 +0000 Revert "rc.d/mountlate: discard output from nextboot" This reverts commit 4cea0cbcc9d3a6583e5325ca081c09c8a9423172. Requested by: imp --- libexec/rc/rc.d/mountlate | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/mountlate b/libexec/rc/rc.d/mountlate index 4547e8ec6876..133192ac183c 100755 --- a/libexec/rc/rc.d/mountlate +++ b/libexec/rc/rc.d/mountlate @@ -39,7 +39,7 @@ mountlate_start() # If we booted a special kernel remove the record # so we will boot the default kernel next time. if [ -x /sbin/nextboot ]; then - /sbin/nextboot -D > /dev/null 2>&1 + /sbin/nextboot -D fi } From nobody Wed Feb 21 06:04:50 2024 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 4Tfm2W35mxz5BXZK; Wed, 21 Feb 2024 06:04: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 4Tfm2V70Lfz4nPv; Wed, 21 Feb 2024 06:04:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708495491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SPzeNx+IMduEcE87qnMib71Poh9PBj43mQDoZYdDuEM=; b=kykbQdbd1ZvISGT6lsZCnoGsf/dCcnlusR8cBfQg6pCbrKl/6loxdHstEXq+oAb4DTGcm5 9h1+oWVH9a+v2NRMjNAR/fj3SxAt6wxgR1/aiSVruxFvOwgLJ/9zoqaKrRnAUO3qiMtRE7 xlGzAsmexcdZFTj4s3cm4Sm4E56frBWAwTPuk3bToHd6nBAsAIiHku0sDAKZLTGjM9BoG0 MAh1Fo5ZUdyRJb3vNmMHrWoUT18j+KN8j98ovx+Ua5ScacH03A8eNdCB9IudmTOcj2gCeU KuVMJBOIaXS714lDtpoWCJQHbgOQhIjZCpJ+TLQQGC3bbu+TpGbLaONXoS4L/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708495491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SPzeNx+IMduEcE87qnMib71Poh9PBj43mQDoZYdDuEM=; b=N33+ssbRt9BvyyAOb/gRpRjxdi2Ed+4x7kx3h/oT002KMdZUNHK+lhoC6xvE80KO5+QaM2 lV9tt315LacK+kVwRljMgtgy0jYcX5jW/KKEgE4U8GVWAqRggp6iOPGm10MbQSnsTnRMb+ X6ji/OJmH4ezmWeWQaSZMmXCA6xzH9a/Ck0xa+73tHdiShR4oWexlw653Yv2LXWnSSpAhK lDw4/u2XjAtzroSFJw9SgKOTeU0lF5PHZu2pqcJY1A+eka7FkrhhNHTlbyD93hAnrldgyH UBBAGd1NMFtNEcrmovCe28nhIK4/fWwT2Vd9PcpGvXxpL+/9WbwaqTbBXkONWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708495491; a=rsa-sha256; cv=none; b=VB2PSskmnlJ4gu89rVS+GiZXTvNT3EapLG1GLe59GldqA3tfKCX/5A+diJpLa+ZOoJefKj S4hJJUM/H/WENnju0KOhGLlUgMSNIhhEjtN8h768f9eDMXtdIEOcOxupfntSW++6Hxmk1o yrHTtKNOfOetb4w/dQsZ1vqgHTvRg/HS1XNymQ9gpuvtGmEuE1E5bD7uFX+9IG6fC3SPjN ahEaYYN1KFqJIKuvaEnVESze+ZlAX8pBvU2Y+aiWnEBQjK/2Shz03dd1OnDVnb7q4sRoyv 8MRk7A5qQBpC6XMsPxaV1Y8VW2aJWjiSVh107+IZ8on0iHr0YG9NW5+KaB/H6g== 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 4Tfm2V64Gqzr82; Wed, 21 Feb 2024 06:04: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 41L64oI7074165; Wed, 21 Feb 2024 06:04:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L64oJ2074162; Wed, 21 Feb 2024 06:04:50 GMT (envelope-from git) Date: Wed, 21 Feb 2024 06:04:50 GMT Message-Id: <202402210604.41L64oJ2074162@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: 07cba2ddcb19 - main - reboot: Emulate nextboot -D 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 07cba2ddcb196c6e595df26a49ec0d54b1f2efe1 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=07cba2ddcb196c6e595df26a49ec0d54b1f2efe1 commit 07cba2ddcb196c6e595df26a49ec0d54b1f2efe1 Author: Warner Losh AuthorDate: 2024-02-21 06:03:15 +0000 Commit: Warner Losh CommitDate: 2024-02-21 06:04:56 +0000 reboot: Emulate nextboot -D better It used to produce no output when the file couldn't be removed. Emulate that better by unlinking and ignoring errors. It's used at the end of reboot always, even when the file isn't going to be there. Sponsored by: Netflix Fixes: 2c479548119a --- sbin/reboot/reboot.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c index ac3927cc2432..e245c78d83bc 100644 --- a/sbin/reboot/reboot.c +++ b/sbin/reboot/reboot.c @@ -288,8 +288,7 @@ main(int argc, char *argv[]) errx(1, "-r and -k cannot be used together, there is no next kernel"); if (Dflag) { - if (unlink(PATH_NEXTBOOT) != 0) - err(1, "unlink %s", PATH_NEXTBOOT); + (void)unlink(PATH_NEXTBOOT); /* Say nothing if it's not there */ exit(0); } From nobody Wed Feb 21 06:58:03 2024 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 4TfnCw0MZZz5BcNc; Wed, 21 Feb 2024 06:58: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 4TfnCv5CHmz4sbZ; Wed, 21 Feb 2024 06: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=1708498683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=86ytu2tiQMjdPfzgplD0E3pt+3ig3B5v88RFm4YO03c=; b=X+4fyfj1G33GEzkDZUhAndQiwqq26awHCzpBqD3rHt2Jucv8eSvDbalIk7lhh/A9WjF0/H VB/F511ou7qxhWkjcaz3PkZFXLy0soMo1fD5TlTK9J0F+QVku5SR5QLvAXPg+M4fLxluI9 LRi1Fv6q9g/e/F5+FVb2tH09SE52hsXK1zkI88jQkvCGicNDrHZZpWGqx+EqYVjrfWLQqc CGlRBgN3G4Xy4xfJvAZ5eEAoqrPd4ayV/u+w4wbS4/8QDf/goSzpFDWGDZL/e/CQdDOYgc 3hT4dks0wkO+R/wWkm8BJlds8zWrPgq1pCYoU9u+65w+6B5m3OIo7TRR5iYF6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708498683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=86ytu2tiQMjdPfzgplD0E3pt+3ig3B5v88RFm4YO03c=; b=lY+Zsb9DD2flVWElr8M4DEyFUy1StgKfS2eOud2cQ3BpCMJimR/3uJgzoJJCeTU0boyUKe DgHA+nMRPEJp8RrBPm8o9B6gttQGkImQ8O7WkvvU6wRXF6NdT2zSQKrDwcjxL4n3aQml1T OZTSJ/07A8HtzugzxHuwYSfWB7UiqJNF3dt91ivsQBlMPpl/k1XobVfF069QmrkmHJ/TMX 8bBvoFwy1KNLOMV3Woh8aVlYW3cS5Na0A8/NN6NIQ4i22LVQysM/CPKMkpEuODYLTNVy72 phqsmXpxS0SbX2woJPtRmtcF8f56Dxxijz8Mhr06v7C01YyYNxLwoR3Tdw4xmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708498683; a=rsa-sha256; cv=none; b=c1q4FLxJl/jfLY/dx90lXd2afN5ryL0UsUZm5gmLJ9zBAvNnvTQo6VmJgojqloLIXOcsQZ NSDmxXXuSbJ3c/TFtHmr4zbIpubkXfjpCsVhXP3SWo7N0W3KZkhtovnq2rru8zM8qtx9D/ oguLolOTmAnhRNuayPdY1YA/i/RCdLOvNGCOKjn/HMz6LwjTQbYZPUqZi7wLHeL+Lv0hcZ UD8YZGcIsUuzXoF/BM9dSPRBfcX7/CeQcCsdfDMLOHPIckyOES4OOK14n+Y88+C6VU0W/M wZ0vqtTx0DVKgPfIZtrXp8n1nHUGtHF8VWbfxu6zgpm1WlL9pZKF33V8dv6wIw== 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 4TfnCv4G8yzs3g; Wed, 21 Feb 2024 06: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 41L6w3RT057499; Wed, 21 Feb 2024 06: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 41L6w3mB057496; Wed, 21 Feb 2024 06:58:03 GMT (envelope-from git) Date: Wed, 21 Feb 2024 06:58:03 GMT Message-Id: <202402210658.41L6w3mB057496@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 60cfaec917da - stable/13 - MFC: MFV: expat 2.6.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=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 60cfaec917dad12ceab7450a518616668d9f1ed0 Auto-Submitted: auto-generated The branch stable/13 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=60cfaec917dad12ceab7450a518616668d9f1ed0 commit 60cfaec917dad12ceab7450a518616668d9f1ed0 Author: Xin LI AuthorDate: 2024-02-17 21:56:56 +0000 Commit: Xin LI CommitDate: 2024-02-21 06:57:35 +0000 MFC: MFV: expat 2.6.0. (cherry picked from commit 4543ef516683042d46f3bd3bb8a4f3f746e00499) --- contrib/expat/Changes | 118 +- contrib/expat/Makefile.am | 10 +- contrib/expat/Makefile.in | 22 +- contrib/expat/README.md | 7 +- contrib/expat/configure.ac | 43 +- contrib/expat/doc/Makefile.in | 10 +- contrib/expat/doc/ok.min.css | 4 +- contrib/expat/doc/reference.html | 222 +- contrib/expat/doc/xmlwf.1 | 24 +- contrib/expat/doc/xmlwf.xml | 50 +- contrib/expat/examples/Makefile.am | 9 +- contrib/expat/examples/Makefile.in | 48 +- contrib/expat/examples/element_declarations.c | 234 + contrib/expat/expat_config.h.in | 8 +- contrib/expat/fuzz/xml_parse_fuzzer.c | 53 +- contrib/expat/fuzz/xml_parsebuffer_fuzzer.c | 68 +- contrib/expat/lib/Makefile.in | 10 +- contrib/expat/lib/expat.h | 28 +- contrib/expat/lib/internal.h | 8 +- contrib/expat/lib/siphash.h | 10 +- contrib/expat/lib/xmlparse.c | 558 +- contrib/expat/lib/xmlrole.c | 6 +- contrib/expat/lib/xmlrole.h | 6 +- contrib/expat/lib/xmltok.c | 29 +- contrib/expat/lib/xmltok.h | 8 +- contrib/expat/lib/xmltok_impl.c | 2 +- contrib/expat/tests/Makefile.am | 61 +- contrib/expat/tests/Makefile.in | 261 +- contrib/expat/tests/acc_tests.c | 396 + contrib/expat/tests/acc_tests.h | 56 + contrib/expat/tests/acc_tests_cxx.cpp | 32 + contrib/expat/tests/alloc_tests.c | 2127 ++++ contrib/expat/tests/alloc_tests.h | 56 + contrib/expat/tests/alloc_tests_cxx.cpp | 32 + contrib/expat/tests/basic_tests.c | 6076 +++++++++ contrib/expat/tests/basic_tests.h | 56 + contrib/expat/tests/basic_tests_cxx.cpp | 32 + contrib/expat/tests/benchmark/Makefile.in | 10 +- contrib/expat/tests/benchmark/benchmark.c | 14 +- contrib/expat/tests/chardata.c | 16 +- contrib/expat/tests/chardata_cxx.cpp | 32 + contrib/expat/tests/common.c | 325 + contrib/expat/tests/common.h | 162 + contrib/expat/tests/common_cxx.cpp | 32 + contrib/expat/tests/dummy.c | 261 + contrib/expat/tests/dummy.h | 150 + contrib/expat/tests/dummy_cxx.cpp | 32 + contrib/expat/tests/handlers.c | 1932 +++ contrib/expat/tests/handlers.h | 595 + contrib/expat/tests/handlers_cxx.cpp | 32 + contrib/expat/tests/memcheck.c | 21 +- contrib/expat/tests/memcheck_cxx.cpp | 32 + contrib/expat/tests/minicheck.c | 58 +- contrib/expat/tests/minicheck.h | 79 +- contrib/expat/tests/minicheck_cxx.cpp | 32 + contrib/expat/tests/misc_tests.c | 523 + contrib/expat/tests/misc_tests.h | 56 + contrib/expat/tests/misc_tests_cxx.cpp | 32 + contrib/expat/tests/ns_tests.c | 754 ++ contrib/expat/tests/ns_tests.h | 56 + contrib/expat/tests/ns_tests_cxx.cpp | 32 + contrib/expat/tests/nsalloc_tests.c | 1537 +++ contrib/expat/tests/nsalloc_tests.h | 56 + contrib/expat/tests/nsalloc_tests_cxx.cpp | 32 + contrib/expat/tests/runtests.c | 12479 +------------------ .../tests/{runtestspp.cpp => runtests_cxx.cpp} | 4 +- contrib/expat/tests/structdata.c | 37 +- contrib/expat/tests/structdata_cxx.cpp | 32 + contrib/expat/xmlwf/Makefile.in | 10 +- contrib/expat/xmlwf/readfilemap.c | 21 +- contrib/expat/xmlwf/xmlfile.c | 16 +- contrib/expat/xmlwf/xmlfile.h | 4 +- contrib/expat/xmlwf/xmlwf.c | 156 +- contrib/expat/xmlwf/xmlwf_helpgen.py | 31 +- lib/libexpat/expat_config.h | 16 +- lib/libexpat/libbsdxml.3 | 4 +- 76 files changed, 17368 insertions(+), 13115 deletions(-) diff --git a/contrib/expat/Changes b/contrib/expat/Changes index e67171056950..a7d4caf9ac81 100644 --- a/contrib/expat/Changes +++ b/contrib/expat/Changes @@ -2,6 +2,120 @@ NOTE: We are looking for help with a few things: https://github.com/libexpat/libexpat/labels/help%20wanted If you can help, please get in touch. Thanks! +Release 2.6.0 Tue February 6 2024 + Security fixes: + #789 #814 CVE-2023-52425 -- Fix quadratic runtime issues with big tokens + that can cause denial of service, in partial where + dealing with compressed XML input. Applications + that parsed a document in one go -- a single call to + functions XML_Parse or XML_ParseBuffer -- were not affected. + The smaller the chunks/buffers you use for parsing + previously, the bigger the problem prior to the fix. + Backporters should be careful to no omit parts of + pull request #789 and to include earlier pull request #771, + in order to not break the fix. + #777 CVE-2023-52426 -- Fix billion laughs attacks for users + compiling *without* XML_DTD defined (which is not common). + Users with XML_DTD defined have been protected since + Expat >=2.4.0 (and that was CVE-2013-0340 back then). + + Bug fixes: + #753 Fix parse-size-dependent "invalid token" error for + external entities that start with a byte order mark + #780 Fix NULL pointer dereference in setContext via + XML_ExternalEntityParserCreate for compilation with + XML_DTD undefined + #812 #813 Protect against closing entities out of order + + Other changes: + #723 Improve support for arc4random/arc4random_buf + #771 #788 Improve buffer growth in XML_GetBuffer and XML_Parse + #761 #770 xmlwf: Support --help and --version + #759 #770 xmlwf: Support custom buffer size for XML_GetBuffer and read + #744 xmlwf: Improve language and URL clickability in help output + #673 examples: Add new example "element_declarations.c" + #764 Be stricter about macro XML_CONTEXT_BYTES at build time + #765 Make inclusion to expat_config.h consistent + #726 #727 Autotools: configure.ac: Support --disable-maintainer-mode + #678 #705 .. + #706 #733 #792 Autotools: Sync CMake templates with CMake 3.26 + #795 Autotools: Make installation of shipped man page doc/xmlwf.1 + independent of docbook2man availability + #815 Autotools|CMake: Add missing -DXML_STATIC to pkg-config file + section "Cflags.private" in order to fix compilation + against static libexpat using pkg-config on Windows + #724 #751 Autotools|CMake: Require a C99 compiler + (a de-facto requirement already since Expat 2.2.2 of 2017) + #793 Autotools|CMake: Fix PACKAGE_BUGREPORT variable + #750 #786 Autotools|CMake: Make test suite require a C++11 compiler + #749 CMake: Require CMake >=3.5.0 + #672 CMake: Lowercase off_t and size_t to help a bug in Meson + #746 CMake: Sort xmlwf sources alphabetically + #785 CMake|Windows: Fix generation of DLL file version info + #790 CMake: Build tests/benchmark/benchmark.c as well for + a build with -DEXPAT_BUILD_TESTS=ON + #745 #757 docs: Document the importance of isFinal + adjust tests + accordingly + #736 docs: Improve use of "NULL" and "null" + #713 docs: Be specific about version of XML (XML 1.0r4) + and version of C (C99); (XML 1.0r5 will need a sponsor.) + #762 docs: reference.html: Promote function XML_ParseBuffer more + #779 docs: reference.html: Add HTML anchors to XML_* macros + #760 docs: reference.html: Upgrade to OK.css 1.2.0 + #763 #739 docs: Fix typos + #696 docs|CI: Use HTTPS URLs instead of HTTP at various places + #669 #670 .. + #692 #703 .. + #733 #772 Address compiler warnings + #798 #800 Address clang-tidy warnings + #775 #776 Version info bumped from 9:10:8 (libexpat*.so.1.8.10) + to 10:0:9 (libexpat*.so.1.9.0); see https://verbump.de/ + for what these numbers do + + Infrastructure: + #700 #701 docs: Document security policy in file SECURITY.md + #766 docs: Improve parse buffer variables in-code documentation + #674 #738 .. + #740 #747 .. + #748 #781 #782 Refactor coverage and conformance tests + #714 #716 Refactor debug level variables to unsigned long + #671 Improve handling of empty environment variable value + in function getDebugLevel (without visible user effect) + #755 #774 .. + #758 #783 .. + #784 #787 tests: Improve test coverage with regard to parse chunk size + #660 #797 #801 Fuzzing: Improve fuzzing coverage + #367 #799 Fuzzing|CI: Start running OSS-Fuzz fuzzing regression tests + #698 #721 CI: Resolve some Travis CI leftovers + #669 CI: Be robust towards absence of Git tags + #693 #694 CI: Set permissions to "contents: read" for security + #709 CI: Pin all GitHub Actions to specific commits for security + #739 CI: Reject spelling errors using codespell + #798 CI: Enforce clang-tidy clean code + #773 #808 .. + #809 #810 CI: Upgrade Clang from 15 to 18 + #796 CI: Start using Clang's Control Flow Integrity sanitizer + #675 #720 #722 CI: Adapt to breaking changes in GitHub Actions Ubuntu images + #689 CI: Adapt to breaking changes in Clang/LLVM Debian packaging + #763 CI: Adapt to breaking changes in codespell + #803 CI: Adapt to breaking changes in Cppcheck + + Special thanks to: + Ivan Galkin + Joyce Brum + Philippe Antoine + Rhodri James + Snild Dolkow + spookyahell + Steven Garske + and + Clang AddressSanitizer + Clang UndefinedBehaviorSanitizer + codespell + GCC Farm Project + OSS-Fuzz + Sony Mobile + Release 2.5.0 Tue October 25 2022 Security fixes: #616 #649 #650 CVE-2022-43680 -- Fix heap use-after-free after overeager @@ -11,7 +125,7 @@ Release 2.5.0 Tue October 25 2022 arbitrary code execution. Bug fixes: - #612 #645 Fix curruption from undefined entities + #612 #645 Fix corruption from undefined entities #613 #654 Fix case when parsing was suspended while processing nested entities #616 #652 #653 Stop leaking opening tag bindings after a closing tag @@ -318,7 +432,7 @@ Release 2.4.2 Sun December 19 2021 see https://verbump.de/ for what these numbers do Special thanks to: - Dong-hee Na + Donghee Na Joergen Ibsen Kai Pastor diff --git a/contrib/expat/Makefile.am b/contrib/expat/Makefile.am index 37ae3738edd3..9c2259d23e63 100644 --- a/contrib/expat/Makefile.am +++ b/contrib/expat/Makefile.am @@ -6,9 +6,10 @@ # \___/_/\_\ .__/ \__,_|\__| # |_| XML parser # -# Copyright (c) 2017-2021 Sebastian Pipping +# Copyright (c) 2017-2023 Sebastian Pipping # Copyright (c) 2018 KangLin # Copyright (c) 2022 Johnny Jazeix +# Copyright (c) 2023 Sony Corporation / Snild Dolkow # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -84,7 +85,7 @@ _EXTRA_DIST_WINDOWS = \ win32/expat.iss \ win32/MANIFEST.txt \ win32/README.txt \ - win32/version.rc + win32/version.rc.cmake EXTRA_DIST = \ $(_EXTRA_DIST_CMAKE) \ @@ -131,6 +132,11 @@ buildlib: run-benchmark: $(MAKE) -C tests/benchmark ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/recset.xml 65535 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_attr.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_cdata.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_comment.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_tag.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_text.xml 4096 3 .PHONY: download-xmlts-zip download-xmlts-zip: diff --git a/contrib/expat/Makefile.in b/contrib/expat/Makefile.in index 008c4109b793..f505224f6fa8 100644 --- a/contrib/expat/Makefile.in +++ b/contrib/expat/Makefile.in @@ -22,9 +22,10 @@ # \___/_/\_\ .__/ \__,_|\__| # |_| XML parser # -# Copyright (c) 2017-2021 Sebastian Pipping +# Copyright (c) 2017-2023 Sebastian Pipping # Copyright (c) 2018 KangLin # Copyright (c) 2022 Johnny Jazeix +# Copyright (c) 2023 Sony Corporation / Snild Dolkow # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -136,6 +137,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/conftools/ax-append-compile-flags.m4 \ $(top_srcdir)/conftools/ax-append-link-flags.m4 \ $(top_srcdir)/conftools/expatcfg-compiler-supports-visibility.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx-11.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -339,6 +342,7 @@ FGREP = @FGREP@ FILECMD = @FILECMD@ FILEMAP = @FILEMAP@ GREP = @GREP@ +HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -358,6 +362,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -478,7 +483,7 @@ _EXTRA_DIST_WINDOWS = \ win32/expat.iss \ win32/MANIFEST.txt \ win32/README.txt \ - win32/version.rc + win32/version.rc.cmake EXTRA_DIST = \ $(_EXTRA_DIST_CMAKE) \ @@ -506,7 +511,7 @@ all: expat_config.h .SUFFIXES: am--refresh: Makefile @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -532,9 +537,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): @@ -545,7 +550,7 @@ expat_config.h: stamp-h1 stamp-h1: $(srcdir)/expat_config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status expat_config.h -$(srcdir)/expat_config.h.in: $(am__configure_deps) +$(srcdir)/expat_config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ @@ -1092,6 +1097,11 @@ buildlib: run-benchmark: $(MAKE) -C tests/benchmark ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/recset.xml 65535 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_attr.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_cdata.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_comment.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_tag.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_text.xml 4096 3 .PHONY: download-xmlts-zip download-xmlts-zip: diff --git a/contrib/expat/README.md b/contrib/expat/README.md index e5e237fc9496..43c4f4f3dbb3 100644 --- a/contrib/expat/README.md +++ b/contrib/expat/README.md @@ -1,13 +1,14 @@ -[![Run Linux Travis CI tasks](https://github.com/libexpat/libexpat/actions/workflows/linux.yml/badge.svg)](https://github.com/libexpat/libexpat/actions/workflows/linux.yml) +[![Run Linux CI tasks](https://github.com/libexpat/libexpat/actions/workflows/linux.yml/badge.svg)](https://github.com/libexpat/libexpat/actions/workflows/linux.yml) [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/libexpat/libexpat?svg=true)](https://ci.appveyor.com/project/libexpat/libexpat) [![Packaging status](https://repology.org/badge/tiny-repos/expat.svg)](https://repology.org/metapackage/expat/versions) [![Downloads SourceForge](https://img.shields.io/sourceforge/dt/expat?label=Downloads%20SourceForge)](https://sourceforge.net/projects/expat/files/) [![Downloads GitHub](https://img.shields.io/github/downloads/libexpat/libexpat/total?label=Downloads%20GitHub)](https://github.com/libexpat/libexpat/releases) -# Expat, Release 2.5.0 +# Expat, Release 2.6.0 -This is Expat, a C library for parsing XML, started by +This is Expat, a C99 library for parsing +[XML 1.0 Fourth Edition](https://www.w3.org/TR/2006/REC-xml-20060816/), started by [James Clark](https://en.wikipedia.org/wiki/James_Clark_%28programmer%29) in 1997. Expat is a stream-oriented XML parser. This means that you register handlers with the parser before starting the parse. These handlers diff --git a/contrib/expat/configure.ac b/contrib/expat/configure.ac index d3642dea5864..a5d1ff9317c8 100644 --- a/contrib/expat/configure.ac +++ b/contrib/expat/configure.ac @@ -11,7 +11,7 @@ dnl Copyright (c) 2000 Clark Cooper dnl Copyright (c) 2000-2005 Fred L. Drake, Jr. dnl Copyright (c) 2001-2003 Greg Stein dnl Copyright (c) 2006-2012 Karl Waclawek -dnl Copyright (c) 2016-2022 Sebastian Pipping +dnl Copyright (c) 2016-2024 Sebastian Pipping dnl Copyright (c) 2017 S. P. Zeidler dnl Copyright (c) 2017 Stephen Groat dnl Copyright (c) 2017-2020 Joe Orton @@ -60,7 +60,7 @@ m4_define([expat_version], m4_ifdef([__gnu__], [esyscmd(conftools/get-version.sh lib/expat.h)], [2.2.x])) -AC_INIT([expat], expat_version, [expat-bugs@libexpat.org]) +AC_INIT([expat], expat_version, [https://github.com/libexpat/libexpat/issues]) m4_undefine([expat_version]) AC_CONFIG_SRCDIR([Makefile.in]) @@ -68,6 +68,7 @@ AC_CONFIG_AUX_DIR([conftools]) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_HOST AM_INIT_AUTOMAKE +AM_MAINTAINER_MODE([enable]) # to allow argument --disable-maintainer-mode dnl @@ -81,9 +82,9 @@ dnl dnl If the API changes incompatibly set LIBAGE back to 0 dnl -LIBCURRENT=9 # sync -LIBREVISION=10 # with -LIBAGE=8 # CMakeLists.txt! +LIBCURRENT=10 # sync +LIBREVISION=0 # with +LIBAGE=9 # CMakeLists.txt! AC_CONFIG_HEADERS([expat_config.h]) AH_TOP([#ifndef EXPAT_CONFIG_H @@ -105,6 +106,9 @@ AC_SUBST(LIBAGE) AC_LANG([C]) AC_PROG_CC_C99 +AS_IF([test "${ac_cv_prog_cc_c99}" = no], + [AC_MSG_ERROR([Expat requires a C99 compiler.])]) + AS_IF([test "$GCC" = yes], [AX_APPEND_COMPILE_FLAGS([-Wall -Wextra], [AM_CFLAGS]) dnl Be careful about adding the -fexceptions option; some versions of @@ -176,6 +180,8 @@ AC_ARG_WITH([tests], [with_tests=yes]) AM_CONDITIONAL([WITH_TESTS], [test x${with_tests} = xyes]) +AS_IF([test x${with_tests} = xyes], + [AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])]) AS_VAR_SET([EXPATCFG_ON_MINGW],[no]) AS_CASE("${host_os}", @@ -202,14 +208,16 @@ AS_IF([test "x${with_libbsd}" != xno], [], [AS_IF([test "x${with_libbsd}" = xyes], [AC_MSG_ERROR([Enforced use of libbsd cannot be satisfied.])])])]) -AC_MSG_CHECKING([for arc4random_buf (BSD or libbsd)]) +AC_MSG_CHECKING([for arc4random_buf (BSD, libbsd or glibc 2.36+)]) AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include /* for arc4random_buf on BSD, for NULL */ #if defined(HAVE_LIBBSD) # include + #else + # include /* for arc4random_buf on BSD */ #endif int main() { - arc4random_buf(NULL, 0U); + char dummy[[123]]; // double brackets for m4 + arc4random_buf(dummy, 0U); return 0; } ])], @@ -217,7 +225,7 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([ AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) - AC_MSG_CHECKING([for arc4random (BSD, macOS or libbsd)]) + AC_MSG_CHECKING([for arc4random (BSD, macOS, libbsd or glibc 2.36+)]) AC_LINK_IFELSE([AC_LANG_SOURCE([ #if defined(HAVE_LIBBSD) # include @@ -295,6 +303,8 @@ AC_SUBST(FILEMAP) dnl Some basic configuration: AC_DEFINE([XML_NS], 1, [Define to make XML Namespaces functionality available.]) +AC_DEFINE([XML_GE], 1, + [Define as 1/0 to enable/disable support for general entities.]) AC_DEFINE([XML_DTD], 1, [Define to make parameter entity parsing functionality available.]) AC_DEFINE([XML_DEV_URANDOM], 1, @@ -319,9 +329,10 @@ AS_HELP_STRING([--disable-xml-context], AS_IF([test "x${enable_xml_context}" != "xno"], [AS_IF([test "x${enable_xml_context}" = "xyes" \ -o "x${enable_xml_context}" = "x"], - [AS_VAR_SET(enable_xml_context,1024)]) - AC_DEFINE_UNQUOTED([XML_CONTEXT_BYTES], [${enable_xml_context}], - [Define to specify how much context to retain around the current parse point.])]) + [AS_VAR_SET(enable_xml_context,1024)])], + [AS_VAR_SET(enable_xml_context,0)]) +AC_DEFINE_UNQUOTED([XML_CONTEXT_BYTES], [${enable_xml_context}], + [Define to specify how much context to retain around the current parse point, 0 to disable.]) AC_ARG_WITH([docbook], [AS_HELP_STRING([--with-docbook], @@ -345,8 +356,12 @@ AS_IF([test "x${DOCBOOK_TO_MAN}" != x -a "x$with_docbook" != xno], You can also configure using --without-docbook if you can do without a man page for xmlwf.])])]) -AM_CONDITIONAL(WITH_DOCBOOK, [test "x${DOCBOOK_TO_MAN}" != x]) - +dnl This will make sure that a release tarball shipping a pre-rendered xmlwf man page will +dnl get it installed, independent of whether some flavor of docbook2man is available. +dnl This relies on file xmlwf.1 being at least as recent as its source file xmlwf.xml. +AS_IF([test -f "${srcdir}"/doc/xmlwf.1], + [AM_CONDITIONAL(WITH_DOCBOOK, [true])], + [AM_CONDITIONAL(WITH_DOCBOOK, [test "x${DOCBOOK_TO_MAN}" != x])]) dnl Configure CMake file templates dnl NOTE: The *_TRUE variables read here are Automake conditionals diff --git a/contrib/expat/doc/Makefile.in b/contrib/expat/doc/Makefile.in index 7fef3eda1897..18f86be3947b 100644 --- a/contrib/expat/doc/Makefile.in +++ b/contrib/expat/doc/Makefile.in @@ -132,6 +132,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/conftools/ax-append-compile-flags.m4 \ $(top_srcdir)/conftools/ax-append-link-flags.m4 \ $(top_srcdir)/conftools/expatcfg-compiler-supports-visibility.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx-11.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -241,6 +243,7 @@ FGREP = @FGREP@ FILECMD = @FILECMD@ FILEMAP = @FILEMAP@ GREP = @GREP@ +HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -260,6 +263,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -351,7 +355,7 @@ EXTRA_DIST = \ all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -375,9 +379,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): diff --git a/contrib/expat/doc/ok.min.css b/contrib/expat/doc/ok.min.css index 8b5f86e7042c..d324fabb2873 100644 --- a/contrib/expat/doc/ok.min.css +++ b/contrib/expat/doc/ok.min.css @@ -1,2 +1,2 @@ -/*! OK.css v1.0.3 | MIT License | github.com/andrewh0/okcss */@import url("https://rsms.me/inter/inter.css"); -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus -inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--ok-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue","Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Se goe UI Symbol","Noto Color Emoji";--ok-mono:! SFMono-Regular,Menlo,Monaco,Consolas,"Ubuntu Mono","Liberation Mono","Courier New",Courier,monospace;--ok-fw-0:400;--ok-fw-1:600;--ok-fw-2:700;--ok-fw-3:700;--ok-fs-0:2.5rem;--ok-fs-1:2rem;--ok-fs-2:1.5rem;--ok-fs-3:1.25rem;--ok-fs-4:1rem;--ok-fs-5:0.75rem;--ok-br:0.25rem;--ok-s-0:0;--ok-s-1:0.25rem;--ok-s-2:0.5rem;--ok-s-3:1rem;--ok-s-4:1.5rem;--ok-s-5:2rem;--ok-s-6:2.5rem;--ok-lh-body:1.5;--ok-lh-heading:1.25;--ok-t-hl:#ffcf30;--ok-accent-0:#3e67fa;--ok-accent-1:#4788ff;--ok-tc-accent:#3173de;--ok-tc-code:#c23a30;--ok-tc-0:#000;--ok-tc-1:#747474;--ok-tc-2:#848484;--ok-bg-0:#fff;--ok-bg-1:#f0f0f0;--ok-bg-2:#ccc;--ok-b-0:1px solid #cbcbcb;--ok-b-1:1px solid #848484;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23747474'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8 ' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23848484'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--ok-tc-accent:#5c9aff;--ok-tc-code:#ed5853;--ok-tc-0:#fff;--ok-tc-1:#ababab;--ok-tc-2:#929292;--ok-bg-0:#000;--ok-bg-1:#212121;--ok-bg-2:#3e3e3e;--ok-b-0:1px solid #747474;--ok-b-1:1px solid #929292;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23ababab'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23929292'/%3E%3C/svg%3E")}}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{font-family:var(--ok-sans);line-sizing:normal;line-height:var(--ok-lh-body);font-weight:var(--ok-fw-0);color:var(--ok-tc-0);b ackground-color:var(--ok-bg-0);-webkit-font-! smoothing! :antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility}@supports (font-variation-settings:normal){html{font-family:Inter var,var(--ok-sans)}}button,input,optgroup,select,textarea{font-family:inherit;line-height:var(--ok-lh-body)}[role=button],button{cursor:pointer}audio,canvas,embed,iframe,img,input,object,select,svg,textarea,video{display:block}img,video{max-width:100%;height:auto}body{padding:var(--ok-s-3);max-width:80ch;margin:auto}h1{font-size:var(--ok-fs-0);margin:0}h2{font-size:var(--ok-fs-1)}h3{font-size:var(--ok-fs-2)}h4{font-size:var(--ok-fs-3)}h5{font-size:var(--ok-fs-4)}h6{font-size:var(--ok-fs-5);text-transform:uppercase;font-weight:var(--ok-fw-1)}h1,h2,h3,h4,h5,h6{line-height:var(--ok-lh-heading);font-weight:var(--ok-fw-3)}p{font-size:var(--ok-fs-4)}small{font-size:var(--ok-fs-5)}b,dt,strong{font-weight:var(--ok-fw-2)}address,article,aside,a udio,blockquote,button,canvas,dd,details,dialog,div,dl,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,img,input,main,nav,object,ol,p,pre,section,select,summary,svg,table,textarea,ul,video{margin-bottom:var(--ok-s-4)}address:last-child,article:last-child,aside:last-child,blockquote:last-child,dd:last-child,details:last-child,dialog:last-child,div:last-child,dl:last-child,dt:last-child,fieldset:last-child,figcaption:last-child,figure:last-child,footer:last-child,form:last-child,h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,header:last-child,hgroup:last-child,hr:last-child,input[type=checkbox],input[type=radio],main:last-child,nav:last-child,ol:last-child,p:last-child,pre:last-child,section:last-child,table:last-child,ul:last-child{margin-bottom:0}fieldset{padding:var(--ok-s-3);border:var(--ok-b-0);border-radius:var(--ok-br)}legend{font-weight:var(--ok-fw-1);text-transform:uppercase;font-size:var(--ok-fs-5)}i nput,select{padding:var(--ok-s-2);background! :var(--ok! -bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-width:25ch}input:disabled,select:disabled,textarea:disabled{color:var(--ok-tc-2)}input::placeholder,textarea::placeholder{color:var(--ok-tc-2)}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--ok-tc-2)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--ok-tc-2)}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--ok-tc-2)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--ok-tc-2)}input::-webkit-clear-button,input::-webkit-inner-spin-button,input::-webkit-search-cancel-button,input::-webkit-search-results-button{display:none}input::-ms-clear,input::-ms-reveal{display:none}input:disabled,textarea:disabled{background-color:var(--ok-bg-1)}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=file]{max-width:300px}input[type=number]{-moz-appearance:textfield}input[type=checkbox],input[type= radio]{display:inline;min-width:auto}input[type=color]{height:2.5rem}input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week]{height:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative}input[type=date]:before,input[type=datetime-local]:before,input[type=month]:before,input[type=time]:before,input[type=week]:before{position:absolute;right:0;top:0;background-image:var(--ok-down-0);background-repeat:no-repeat;background-position:right .2em top 50%;background-size:2em auto;width:2.5rem;height:calc(2.5rem - 2px);content:""}input[type=date]:disabled:before,input[type=datetime-local]:disabled:before,input[type=month]:disabled:before,input[type=time]:disabled:before,input[type=week]:disabled:before{background-image:var(--ok-down-1)}input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;background-color:transparent;cursor:pointer;padding:0;width:2.5rem;height:calc(2.5rem - 2px);content:"";opacity:0}inp ut[type=range]{overflow:visible;line-height:! inherit;f! ont-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;outline:none;cursor:pointer;padding:0;vertical-align:middle;border:none;min-height:2rem;background-color:transparent}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;-webkit-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box;position:relative}input[type=range]::-moz-range-track{cursor:pointer;-moz-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-track{cursor:pointer;-ms-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(- -ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-fill-lower{background:transparent}input[type=range]::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;margin-top:calc(-.5rem - 1px)}input[type=range]::-moz-range-thumb{cursor:pointer;-moz-appearance:none;border:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem}input[type=range]::-ms-thumb{cursor:pointer;-ms-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;transform:translateY(.25rem)}input[type=range]:focus:not(:disabled)::-webkit-slider-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-moz-range-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-ms-thumb{background-color:var(--ok-accent-1)}input[type=range]:disabled{cursor:default}input[type=range]: disabled::-webkit-slider-runnable-track{curs! or:defaul! t}input[type=range]:disabled::-moz-range-track{cursor:default}input[type=range]:disabled::-ms-track{cursor:default}input[type=range]:disabled::-webkit-slider-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-moz-range-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-ms-thumb{background-color:var(--ok-bg-2);cursor:default}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--ok-b-0);border-radius:var(--ok-br);background-color:var(--ok-bg-0);min-height:2.5rem;color:var(--ok-tc-0)}select:not([multiple]){background-image:var(--ok-down-0);background-repeat:no-repeat,repeat;background-position:right .2em top 50%;background-size:2em auto;padding-right:2.5em;height:2.5rem}select::-ms-expand{display:none}select:not([multiple]):disabled{background-image:var(--ok-down-1);background-color:var(--ok-bg-1);cursor:default}select[multiple]{border-radius:var(--ok-br)}select[multiple]:disabled{background-color: var(--ok-bg-1)}select[multiple] option{color:var(--ok-t-)}select[multiple]:disabled option{color:var(--ok-tc-2)}textarea{padding:var(--ok-s-2);resize:vertical;background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-height:calc(2.5rem - 2px);min-width:25ch}button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap;min-width:auto}input::-webkit-file-upload-button{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap}input:disabled::-webkit-file-upload-button{cursor:default;opacity:.5}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer}input:not(:disabled)::-webkit-fil e-upload-button{cursor:pointer}button:disabl! ed,input[! type=button]:disabled,input[type=reset]:disabled,input[type=submit]:disabled{cursor:default;opacity:.5;background-color:var(--ok-accent-0)}button:focus:not(:disabled),input[type=button]:focus:not(:disabled),input[type=reset]:focus:not(:disabled),input[type=submit]:focus:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):focus::-webkit-file-upload-button{background-color:var(--ok-accent-1)}table{border-collapse:collapse;border-radius:var(--ok-br);display:block;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;margin-left:auto;margin-right:auto;overflow-x:auto;white-space:nowrap}tfoot,thead{border:var(--ok-b-0)}tfoot tr,thead tr{background-color:var(--ok-bg-1);font-size:var(--ok-fs-5);text-transform:uppercase;color:var(--ok-tc-0)}td,th{border:var(--ok-b-0) 0;text-align:left;padding:.5rem}td{white-space:normal;max-width:20ch}tr{border:var(--ok-b-0)}table caption{font-size:var(--ok-fs-4);font-weight:var(--ok-fw-3);padding:.5rem}code,samp {padding:.2em .4em;color:var(--ok-tc-code)}code,pre,samp{font-family:var(--ok-mono);line-height:var(--ok-lh-body);background-color:var(--ok-bg-1);border-radius:var(--ok-br);text-transform:none}pre{padding:var(--ok-s-3);white-space:pre;overflow-x:auto}pre,var{color:var(--ok-tc-0)}var{font-family:var(--ok-mono);font-style:normal}code pre,pre code{background:inherit;font-size:inherit;color:inherit;border:0;padding:0;margin:0}code pre{display:inline}kbd{background-color:var(--ok-bg-1);border:var(--ok-b-0);border-radius:var(--ok-br);border-bottom:2px solid var(--ok-bg-2);padding:var(--ok-s-1);font-family:var(--ok-sans);color:var(--ok-tc-0)}a{text-decoration:none;font-weight:var(--ok-fw-1)}a,a:visited{color:var(--ok-tc-accent)}ol,ul{padding-left:var(--ok-s-5)}nav ul{text-decoration:none;padding-left:0}nav ul li{display:inline;margin-right:1em}audio,img,video{margin-left:auto;margin-right:auto}img{border-radius:var(--ok-br)}figure>img:not(:last-child){margin-bottom:var(--ok-s-1)}figure>fig caption{text-align:center}figcaption,time{fo! nt-size:v! ar(--ok-fs-5);color:var(--ok-tc-1)}mark{padding:.2em .4em;background:var(--ok-t-hl);color:#000;border-radius:var(--ok-br)}iframe{border:var(--ok-b-0);border-radius:var(--ok-br);width:100%}hr{border:none;border-bottom:var(--ok-b-0)}footer{font-size:var(--ok-fs-5)}blockquote,footer{color:var(--ok-tc-1)}blockquote{position:relative;margin-left:0;margin-right:0;padding-left:var(--ok-s-5)}blockquote:before{position:absolute;height:100%;content:"";width:4px;left:0;border-radius:var(--ok-br);background-color:var(--ok-bg-1)}dd{padding-left:var(--ok-s-5)}abbr{cursor:help}@media (hover:hover){a:hover{text-decoration:underline}input:hover:not(:disabled):not(:focus):not([type=submit]):not([type=button]):not([type=reset]):not([type=range]),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-webkit-slider-runnable-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-moz-range-track{border:va r(--ok-b-1)}input[type=range]:hover:not(:disabled)::-ms-track{border:var(--ok-b-1)}select:not([multiple]):not(:disabled):hover{cursor:pointer}button:hover:not(:disabled),input[type=button]:hover:not(:disabled),input[type=reset]:hover:not(:disabled),input[type=submit]:hover:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):hover::-webkit-file-upload-button{background-color:var(--ok-accent-1)}} \ No newline at end of file +/*! OK.css v1.2.0 | MIT License | github.com/andrewh0/okcss */@import url("https://rsms.me/inter/inter.css"); +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus -inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--ok-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue","Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Se goe UI Symbol","Noto Color Emoji";--ok-mono:! SFMono-Regular,Menlo,Monaco,Consolas,"Ubuntu Mono","Liberation Mono","Courier New",Courier,monospace;--ok-fw-0:400;--ok-fw-1:600;--ok-fw-2:700;--ok-fw-3:700;--ok-fs-0:2.5rem;--ok-fs-1:2rem;--ok-fs-2:1.5rem;--ok-fs-3:1.25rem;--ok-fs-4:1rem;--ok-fs-5:0.75rem;--ok-br:0.25rem;--ok-s-0:0;--ok-s-1:0.25rem;--ok-s-2:0.5rem;--ok-s-3:1rem;--ok-s-4:1.5rem;--ok-s-5:2rem;--ok-s-6:2.5rem;--ok-lh-body:1.5;--ok-lh-heading:1.25;--ok-t-hl:#ffcf30;--ok-accent-0:#3e67fa;--ok-accent-1:#4788ff;--ok-tc-accent:#3173de;--ok-tc-code:#c23a30;--ok-tc-0:#000;--ok-tc-1:#747474;--ok-tc-2:#848484;--ok-bg-0:#fff;--ok-bg-1:#f0f0f0;--ok-bg-2:#ccc;--ok-b-0:1px solid #cbcbcb;--ok-b-1:1px solid #848484;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23747474'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8 ' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23848484'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--ok-tc-accent:#5c9aff;--ok-tc-code:#ed5853;--ok-tc-0:#fff;--ok-tc-1:#ababab;--ok-tc-2:#929292;--ok-bg-0:#000;--ok-bg-1:#212121;--ok-bg-2:#3e3e3e;--ok-b-0:1px solid #747474;--ok-b-1:1px solid #929292;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23ababab'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23929292'/%3E%3C/svg%3E")}}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{font-family:var(--ok-sans);line-sizing:normal;line-height:var(--ok-lh-body);font-weight:var(--ok-fw-0);color:var(--ok-tc-0);b ackground-color:var(--ok-bg-0);-webkit-font-! smoothing! :antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility;scroll-behavior:smooth}@supports (font-variation-settings:normal){html{font-family:Inter var,var(--ok-sans)}}button,input,optgroup,select,textarea{font-family:inherit;line-height:var(--ok-lh-body)}[role=button],button{cursor:pointer}audio,canvas,embed,iframe,img,input,object,select,svg,textarea,video{display:block}img,video{max-width:100%;height:auto}body{padding:var(--ok-s-3);max-width:80ch;margin:auto}article{padding-bottom:var(--ok-s-6)}h1{font-size:var(--ok-fs-0);margin:0}h2{font-size:var(--ok-fs-1)}h3{font-size:var(--ok-fs-2)}h4{font-size:var(--ok-fs-3)}h5{font-size:var(--ok-fs-4)}h6{font-size:var(--ok-fs-5);text-transform:uppercase;font-weight:var(--ok-fw-1)}h1,h2,h3,h4,h5,h6{line-height:var(--ok-lh-heading);font-weight:var(--ok-fw-3);margin-top:var(--ok-s-6);margin-bottom:var(--ok-s-3)}h1+*,h2 +*,h3+*,h4+*,h5+*,h6+*,hr+*{margin-top:0}p{font-size:var(--ok-fs-4)}small{font-size:var(--ok-fs-5)}b,dt,strong{font-weight:var(--ok-fw-2)}address,article,aside,audio,blockquote,button,canvas,dd,details,dialog,div,dl,embed,fieldset,figcaption,figure,footer,form,header,hgroup,hr,iframe,img,input,main,nav,object,ol,p,pre,section,select,summary,svg,table,textarea,ul,video{margin-bottom:var(--ok-s-4)}address:last-child,article:last-child,aside:last-child,blockquote:last-child,dd:last-child,details:last-child,dialog:last-child,div:last-child,dl:last-child,dt:last-child,fieldset:last-child,figcaption:last-child,figure:last-child,footer:last-child,form:last-child,h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,header:last-child,hgroup:last-child,hr:last-child,input[type=checkbox],input[type=radio],main:last-child,nav:last-child,ol:last-child,p:last-child,pre:last-child,section:last-child,table:last-child,ul:last-child{margin-bottom:0}fieldset{padding:var( --ok-s-3);border:var(--ok-b-0);border-radius! :var(--ok! -br)}legend{font-weight:var(--ok-fw-1);text-transform:uppercase;font-size:var(--ok-fs-5)}input,select{padding:var(--ok-s-2);background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-width:25ch}input:disabled,select:disabled,textarea:disabled{color:var(--ok-tc-2)}input::placeholder,textarea::placeholder{color:var(--ok-tc-2)}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--ok-tc-2)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--ok-tc-2)}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--ok-tc-2)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--ok-tc-2)}input::-webkit-clear-button,input::-webkit-inner-spin-button,input::-webkit-search-cancel-button,input::-webkit-search-results-button{display:none}input::-ms-clear,input::-ms-reveal{display:none}input:disabled,textarea:disabled{background-color:var(--ok-bg-1)}input[type=search]{-webkit-appearance:none;-moz -appearance:none;appearance:none}input[type=file]{max-width:300px}input[type=number]{-moz-appearance:textfield}input[type=checkbox],input[type=radio]{display:inline;min-width:auto}input[type=color]{height:2.5rem}input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week]{height:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative}input[type=date]:before,input[type=datetime-local]:before,input[type=month]:before,input[type=time]:before,input[type=week]:before{position:absolute;right:0;top:0;background-image:var(--ok-down-0);background-repeat:no-repeat;background-position:right .2em top 50%;background-size:2em auto;width:2.5rem;height:calc(2.5rem - 2px);content:""}input[type=date]:disabled:before,input[type=datetime-local]:disabled:before,input[type=month]:disabled:before,input[type=time]:disabled:before,input[type=week]:disabled:before{background-image:var(--ok-down-1)}input::-webkit-calendar-picker-indicator{positi on:absolute;top:0;right:0;background-color:t! ransparen! t;cursor:pointer;padding:0;width:2.5rem;height:calc(2.5rem - 2px);content:"";opacity:0}input[type=range]{overflow:visible;line-height:inherit;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;outline:none;cursor:pointer;padding:0;vertical-align:middle;border:none;min-height:2rem;background-color:transparent}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;-webkit-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box;position:relative}input[type=range]::-moz-range-track{cursor:pointer;-moz-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-track{cursor:pointer;-ms-appear ance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-fill-lower{background:transparent}input[type=range]::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;margin-top:calc(-.5rem - 1px)}input[type=range]::-moz-range-thumb{cursor:pointer;-moz-appearance:none;border:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem}input[type=range]::-ms-thumb{cursor:pointer;-ms-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;transform:translateY(.25rem)}input[type=range]:focus:not(:disabled)::-webkit-slider-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-moz-range-thumb{background-color:var(--ok-accent-1)}inp ut[type=range]:focus:not(:disabled)::-ms-thu! mb{backgr! ound-color:var(--ok-accent-1)}input[type=range]:disabled{cursor:default}input[type=range]:disabled::-webkit-slider-runnable-track{cursor:default}input[type=range]:disabled::-moz-range-track{cursor:default}input[type=range]:disabled::-ms-track{cursor:default}input[type=range]:disabled::-webkit-slider-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-moz-range-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-ms-thumb{background-color:var(--ok-bg-2);cursor:default}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--ok-b-0);border-radius:var(--ok-br);background-color:var(--ok-bg-0);min-height:2.5rem;color:var(--ok-tc-0)}select:not([multiple]){background-image:var(--ok-down-0);background-repeat:no-repeat,repeat;background-position:right .2em top 50%;background-size:2em auto;padding-right:2.5em;height:2.5rem}select::-ms-expand{display:none}select:not([multiple]):disabled{background-image:var(--ok -down-1);background-color:var(--ok-bg-1);cursor:default}select[multiple]{border-radius:var(--ok-br)}select[multiple]:disabled{background-color:var(--ok-bg-1)}select[multiple] option{color:var(--ok-t-)}select[multiple]:disabled option{color:var(--ok-tc-2)}textarea{padding:var(--ok-s-2);resize:vertical;background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-height:calc(2.5rem - 2px);min-width:25ch}button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap;min-width:auto}input::-webkit-file-upload-button{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap}input:disabled::-webkit-file-upload-b utton{cursor:default;opacity:.5}button,input! [type=but! ton],input[type=reset],input[type=submit]{cursor:pointer}input:not(:disabled)::-webkit-file-upload-button{cursor:pointer}button:disabled,input[type=button]:disabled,input[type=reset]:disabled,input[type=submit]:disabled{cursor:default;opacity:.5;background-color:var(--ok-accent-0)}button:focus:not(:disabled),input[type=button]:focus:not(:disabled),input[type=reset]:focus:not(:disabled),input[type=submit]:focus:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):focus::-webkit-file-upload-button{background-color:var(--ok-accent-1)}table{border-collapse:collapse;display:table;margin-left:auto;margin-right:auto;white-space:nowrap}tfoot,thead{border:var(--ok-b-0)}thead{position:-webkit-sticky;position:sticky;top:0}tfoot tr,thead tr{background-color:var(--ok-bg-1);font-size:var(--ok-fs-5);text-transform:uppercase;color:var(--ok-tc-0)}td,th{border:var(--ok-b-0) 0;text-align:left;padding:.5rem}td{white-space:normal;max-width:20ch}tr{border:var(--ok-b-0)}table caption{fo nt-size:var(--ok-fs-4);font-weight:var(--ok-fw-3);padding:.5rem}code,samp{padding:.2em .4em;color:var(--ok-tc-code)}code,pre,samp{font-family:var(--ok-mono);font-size:87.5%;line-height:var(--ok-lh-body);background-color:var(--ok-bg-1);border-radius:var(--ok-br);text-transform:none}pre{padding:var(--ok-s-3);white-space:pre;overflow-x:auto}pre,var{color:var(--ok-tc-0)}var{font-family:var(--ok-mono);font-style:normal}code pre,pre code{background:inherit;font-size:inherit;color:inherit;border:0;padding:0;margin:0}code pre{display:inline}kbd{background-color:var(--ok-bg-1);border:var(--ok-b-0);border-radius:var(--ok-br);border-bottom:2px solid var(--ok-bg-2);padding:var(--ok-s-1);font-family:var(--ok-sans);color:var(--ok-tc-0)}a{text-decoration:none;font-weight:var(--ok-fw-1)}a,a:visited,a code,a mark,a samp{color:var(--ok-tc-accent)}ol,ul{padding-left:var(--ok-s-5)}nav ul{text-decoration:none;padding-left:0}nav ul li{display:inline;margin-right:1em}li p{margin-bottom:0}li,li p+p{margin- top:.5em}audio,img,video{margin-left:auto;ma! rgin-righ! t:auto}img{border-radius:var(--ok-br)}figure>img:not(:last-child){margin-bottom:var(--ok-s-1)}figure>figcaption{text-align:center}figcaption,time{font-size:var(--ok-fs-5);color:var(--ok-tc-1)}mark{padding:.2em .4em;background:var(--ok-t-hl);color:#000;border-radius:var(--ok-br)}iframe{border:var(--ok-b-0);border-radius:var(--ok-br);width:100%}hr{border:none;border-bottom:var(--ok-b-0)}footer{font-size:var(--ok-fs-5)}blockquote,footer{color:var(--ok-tc-1)}blockquote{position:relative;margin-left:0;margin-right:0;padding-left:var(--ok-s-5)}blockquote:before{position:absolute;height:100%;content:"";width:4px;left:0;border-radius:var(--ok-br);background-color:var(--ok-bg-1)}dd{padding-left:var(--ok-s-5)}abbr{cursor:help}@media (hover:hover){a:hover{text-decoration:underline}input:hover:not(:disabled):not(:focus):not([type=submit]):not([type=button]):not([type=reset]):not([type=range]),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border:var(--ok-b-1)} input[type=range]:hover:not(:disabled)::-webkit-slider-runnable-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-moz-range-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-ms-track{border:var(--ok-b-1)}select:not([multiple]):not(:disabled):hover{cursor:pointer}button:hover:not(:disabled),input[type=button]:hover:not(:disabled),input[type=reset]:hover:not(:disabled),input[type=submit]:hover:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):hover::-webkit-file-upload-button{background-color:var(--ok-accent-1)}} \ No newline at end of file diff --git a/contrib/expat/doc/reference.html b/contrib/expat/doc/reference.html index 8b0d47d6dd7b..898f03a3364d 100644 --- a/contrib/expat/doc/reference.html +++ b/contrib/expat/doc/reference.html @@ -14,11 +14,13 @@ Copyright (c) 2000 Clark Cooper Copyright (c) 2000-2004 Fred L. Drake, Jr. Copyright (c) 2002-2012 Karl Waclawek - Copyright (c) 2017-2022 Sebastian Pipping + Copyright (c) 2017-2024 Sebastian Pipping Copyright (c) 2017 Jakub Wilk Copyright (c) 2021 Tomas Korbar Copyright (c) 2021 Nicolas Cavallari Copyright (c) 2022 Thijs Schreijer + Copyright (c) 2023 Hanno Böck + Copyright (c) 2023 Sony Corporation / Snild Dolkow Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining @@ -50,7 +52,7 @@

The Expat XML Parser - Release 2.5.0 + Release 2.6.0

@@ -68,11 +70,11 @@ Working Group at W3C that produced the XML specification.

This is free software, licensed under the MIT/X Consortium license. You may download it -from the Expat home page. +from the Expat home page.

The bulk of this document was originally commissioned as an article -by XML.com. They graciously allowed +by XML.com. They graciously allowed Clark Cooper to retain copyright and to distribute it with Expat. This version has been substantially extended to include documentation on features which have been added since the original article was @@ -151,10 +153,11 @@ interface.

  • - Billion Laughs Attack Protection + Attack Protection
  • Miscellaneous Functions @@ -305,7 +308,7 @@ shoveling the document to the parser so that it can do its work.

    The Expat distribution comes as a compressed (with GNU gzip) tar file. You may download the latest version from Source Forge. After +"https://sourceforge.net/projects/expat/" >Source Forge. After unpacking this, cd into the directory. Then follow either the Win32 directions or Unix directions below.

    @@ -359,37 +362,64 @@ and the definition of character types in the case of XML_UNICODE_WCHAR_T. The symbols are:

    -
    XML_DTD
    +
    XML_GE
    +
    +Added in Expat 2.6.0. +Include support for +general entities +(syntax &e1; to reference and +syntax <!ENTITY e1 'value1'> (an internal general entity) or +<!ENTITY e2 SYSTEM 'file2'> (an external general entity) to declare). +With XML_GE enabled, general entities will be replaced by their declared replacement text; +for this to work for external general entities, in addition an +XML_ExternalEntityRefHandler must be set using +XML_SetExternalEntityRefHandler. +Also, enabling XML_GE makes +the functions +XML_SetBillionLaughsAttackProtectionMaximumAmplification and + +XML_SetBillionLaughsAttackProtectionActivationThreshold available. +
    +With XML_GE disabled, Expat has a smaller memory footprint and can be faster, but will +not load external general entities and will replace all general entities +(except the predefined five: +amp, apos, gt, lt, quot) +with a self-reference: +for example, referencing an entity e1 via &e1; will be replaced +by text &e1;. +
    + +
    XML_DTD
    Include support for using and reporting DTD-based content. If this is defined, default attribute values from an external DTD subset are reported and attribute value normalization occurs based on the type of attributes defined in the external subset. Without this, Expat has a smaller memory footprint and can be faster, but will -not load external entities or process conditional sections. If defined, makes +not load external parameter entities or process conditional sections. If defined, makes the functions XML_SetBillionLaughsAttackProtectionMaximumAmplification and XML_SetBillionLaughsAttackProtectionActivationThreshold available.
    -
    XML_NS
    +
    XML_NS
    When defined, support for the Namespaces in XML +"https://www.w3.org/TR/REC-xml-names/" >Namespaces in XML specification is included.
    -
    XML_UNICODE
    +
    XML_UNICODE
    When defined, character data reported to the application is encoded in UTF-16 using wide characters of the type XML_Char. This is implied if XML_UNICODE_WCHAR_T is defined.
    -
    XML_UNICODE_WCHAR_T
    +
    XML_UNICODE_WCHAR_T
    If defined, causes the XML_Char character type to be defined using the wchar_t type; otherwise, unsigned short is used. Defining this implies XML_UNICODE.
    -
    XML_LARGE_SIZE
    +
    XML_LARGE_SIZE
    If defined, causes the XML_Size and XML_Index integer types to be at least 64 bits in size. This is intended to support processing of very large input streams, where the return values of @@ -399,23 +429,23 @@ processing of very large input streams, where the return values of could overflow. It may not be supported by all compilers, and is turned off by default.
    -
    XML_CONTEXT_BYTES
    +
    XML_CONTEXT_BYTES
    The number of input bytes of markup context which the parser will ensure are available for reporting via XML_GetInputContext. This is -normally set to 1024, and must be set to a positive integer. If this -is not defined, the input context will not be available and XML_GetInputContext will -always report NULL. Without this, Expat has a smaller memory +always report NULL. Without this, Expat has a smaller memory footprint and can be faster.
    -
    XML_STATIC
    +
    XML_STATIC
    On Windows, this should be set if Expat is going to be linked statically with the code that calls it; this is required to get all the right MSVC magic annotations correct. This is ignored on other platforms.
    -
    XML_ATTR_INFO
    +
    XML_ATTR_INFO
    If defined, makes the additional function XML_GetAttributeInfo available for reporting attribute byte offsets.
    @@ -669,8 +699,9 @@ function. The StartNamespaceDeclHandler is called prior to the start tag handler and the EndNamespaceDeclHandler is called after the corresponding end tag that ends the namespace's scope. The namespace start handler gets passed the prefix and URI for the namespace. For a -default namespace declaration (xmlns='...'), the prefix will be null. -The URI will be null for the case where the default namespace is being +default namespace declaration (xmlns='...'), the prefix will be +NULL. +The URI will be NULL for the case where the default namespace is being unset. The namespace end handler just gets the prefix for the closing scope.

    @@ -799,7 +830,7 @@ has already been passed into the parser. Applications for this include

      -
    • Supporting the Supporting the XInclude specification.
    • Delaying further processing until additional information is @@ -947,16 +978,20 @@ XML_Parser XMLCALL XML_ParserCreate(const XML_Char *encoding);
      -Construct a new parser. If encoding is non-null, it specifies a +

      +Construct a new parser. If encoding is non-NULL, it specifies a character encoding to use for the document. This overrides the document encoding declaration. There are four built-in encodings: +

      • US-ASCII
      • UTF-8
      • UTF-16
      • ISO-8859-1
      +

      Any other value will invoke a call to the UnknownEncodingHandler. +

      XML_ParserCreateNS

      @@ -1003,9 +1038,9 @@ typedef struct {

      Construct a new parser using the suite of memory handling functions -specified in ms. If ms is NULL, then use the +specified in ms. If ms is NULL, then use the standard set of memory management functions. If sep is -non NULL, then namespace processing is enabled in the created parser +non-NULL, then namespace processing is enabled in the created parser and the character pointed at by sep is used as the separator between the namespace URI and the local part of the name.

      @@ -1077,6 +1112,11 @@ exceed the maximum integer value. Input data at the end of a buffer will remain unprocessed if it is part of an XML token for which the end is not part of that buffer.

      +

      The application must make a concluding +XML_Parse or +XML_ParseBuffer call +with isFinal set to XML_TRUE.

      +

      XML_Parse

       enum XML_Status XMLCALL
      @@ -1092,17 +1132,50 @@ enum XML_Status {
       };
       
      +

      Parse some more of the document. The string s is a buffer containing part (or perhaps all) of the document. The number of bytes of s that are part of the document is indicated by len. This means -that s doesn't have to be null terminated. It also means that +that s doesn't have to be null-terminated. It also means that if len is larger than the number of bytes in the block of memory that s points at, then a memory fault is likely. The isFinal parameter informs the parser that this is the last piece of the document. Frequently, the last piece is empty (i.e. len is zero.) +

      + +

      If a parse error occurred, it returns XML_STATUS_ERROR. Otherwise it returns XML_STATUS_OK value. +Note that regardless of the return value, there is no guarantee that all +provided input has been parsed; only after the +concluding call will all handler callbacks and parsing errors have +happened. +

      + +

      +Simplified, XML_Parse can be considered a convenience wrapper +that is pairing calls +to XML_GetBuffer +and XML_ParseBuffer +(when Expat is built with macro XML_CONTEXT_BYTES +defined to a positive value, which is both common and default). +XML_Parse is then functionally equivalent to calling +XML_GetBuffer, +memcpy, and +XML_ParseBuffer. +

      + +

      +To avoid double copying of the input, direct use of functions +XML_GetBuffer and +XML_ParseBuffer is advised +for most production use, e.g. +if you're using read or similar functionality to fill your +buffers, fill directly into the buffer from +XML_GetBuffer, +then parse with XML_ParseBuffer. +

      XML_ParseBuffer

      @@ -1128,8 +1201,8 @@ XML_GetBuffer(XML_Parser p,
      Obtain a buffer of size len to read a piece of the document -into. A NULL value is returned if Expat can't allocate enough memory for -this buffer. A NULL value may also be returned if len is zero. +into. A NULL value is returned if Expat can't allocate enough memory for +this buffer. A NULL value may also be returned if len is zero. This has to be called prior to every call to XML_ParseBuffer. A typical use would look like this: @@ -1275,7 +1348,7 @@ typedef struct {

      Returns status of parser with respect to being initialized, parsing, finished, or suspended, and whether the final buffer is being processed. The status parameter must not be -NULL.

      +NULL.

      New in Expat 1.95.8.

      @@ -1290,7 +1363,7 @@ to ignore all text not descended from a para element. One way it could do this is to set the character handler when a para start tag is seen, and unset it for the corresponding end tag.

      -

      A handler may be unset by providing a NULL pointer to the +

      A handler may be unset by providing a NULL pointer to the appropriate handler setter. None of the handler setting functions have a return value.

      @@ -1318,7 +1391,7 @@ typedef void handler as a pointer to a vector of char pointers. Each attribute seen in a start (or empty) tag occupies 2 consecutive places in this vector: the attribute name followed by the attribute value. These pairs are terminated -by a null pointer.

      +by a NULL pointer.

      Note that an empty tag generates a call to both start and end handlers (in that order).

  • @@ -1368,7 +1441,7 @@ is NOT null-terminated. You have to use the length argument to deal with the end of the string. A single block of contiguous text free of markup may still result in a sequence of calls to this handler. In other words, if you're searching for a pattern in the text, it may -be split across calls to this handler. Note: Setting this handler to NULL +be split across calls to this handler. Note: Setting this handler to NULL may NOT immediately terminate call-backs if the parser is currently processing such a single block of contiguous markup-free text, as the parser will continue calling back until the end of the block is reached.

    @@ -1526,16 +1599,16 @@ the format expected by the context argument to XML_ExternalEntityParserCreate. code is valid only until the handler returns, so if the referenced entity is -to be parsed later, it must be copied. context is NULL +to be parsed later, it must be copied. context is NULL only when the entity is a parameter entity, which is how one can differentiate between general and parameter entities.

    The base parameter is the base to use for relative system identifiers. It is set by XML_SetBase and may be NULL. The +href="#XML_SetBase">XML_SetBase and may be NULL. The publicId parameter is the public id given in the entity -declaration and may be NULL. systemId is the system -identifier specified in the entity declaration and is never NULL.

    +declaration and may be NULL. systemId is the system +identifier specified in the entity declaration and is never NULL.

    There are a couple of ways in which this handler differs from others. First, this handler returns a status indicator (an @@ -1564,10 +1637,10 @@ XML_SetExternalEntityRefHandlerArg(XML_Parser p,

    Set the argument passed to the ExternalEntityRefHandler. If -arg is not NULL, it is the new value passed to the +arg is not NULL, it is the new value passed to the handler set using XML_SetExternalEntityRefHandler; if arg is -NULL, the argument passed to the handler function will be the parser +NULL, the argument passed to the handler function will be the parser object itself.

    Note: @@ -1650,14 +1723,14 @@ value is -1, then that byte is invalid as the initial byte in a sequence. If the value is -n, where n is an integer > 1, then n is the number of bytes in the sequence and the actual conversion is accomplished by a call to the function pointed at by convert. This function may return -1 -if the sequence itself is invalid. The convert pointer may be null if +if the sequence itself is invalid. The convert pointer may be NULL if there are only single byte codes. The data parameter passed to the convert function is the data pointer from XML_Encoding. The string s is NOT null-terminated and points at the sequence of bytes to be converted.

    The function pointed at by release is called by the -parser when it is finished with the encoding. It may be NULL.

    +parser when it is finished with the encoding. It may be NULL.

    @@ -1724,8 +1797,8 @@ typedef void

    Sets a handler that is called for XML declarations and also for text declarations discovered in external entities. The way to -distinguish is that the version parameter will be NULL -for text declarations. The encoding parameter may be NULL +distinguish is that the version parameter will be NULL +for text declarations. The encoding parameter may be NULL for an XML declaration. The standalone argument will contain -1, 0, or 1 indicating respectively that there was no standalone parameter in the declaration, that it was given as no, or @@ -1749,7 +1822,7 @@ typedef void

    Set a handler that is called at the start of a DOCTYPE declaration, before any external or internal subset is parsed. Both sysid -and pubid may be NULL. The has_internal_subset +and pubid may be NULL. The has_internal_subset will be non-zero if the DOCTYPE declaration has an internal subset.

    @@ -1831,7 +1904,7 @@ around and freed at a later stage.

    XML_Content nodes. If type equals XML_CTYPE_EMPTY or XML_CTYPE_ANY, then quant will be XML_CQUANT_NONE, and the other -fields will be zero or NULL. If type is +fields will be zero or NULL. If type is XML_CTYPE_MIXED, then quant will be XML_CQUANT_NONE or XML_CQUANT_REP and *** 32725 LINES SKIPPED *** From nobody Wed Feb 21 06:58:04 2024 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 4TfnCx2dVpz5BcNd; Wed, 21 Feb 2024 06:58: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 4TfnCx1W56z4sqL; Wed, 21 Feb 2024 06:58:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708498685; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6ShtgyECIWZV8Hq00nerN4Bua3lrntGAk/LFJSiSA5k=; b=jrXQ2NXlccaNlcnGdhdJVrnPeSyjaPFIQ+bemHDdtvRADKh1PTVe1ts8aDJRmXraB5JYxC GlANQgVbS5GqihPWR4JCuUX/weVUuvkYYbxH5MvhpSbCRLOfn1k5njyK6Zr+9VSFV2f7jp jMEfBTsRQAI2TvNwuAVPn4rpxCYp3g4J1Z30N/5ADDcvojR44t9N3Ll46FkVB0oScT+Pl+ 4UfJvsxcibJVZsxGJkKHRAX82LxAl4VdaqaaU7FVnbMwJua0DeJgOvBj2NAKb1R2KWXZ2p I6XVjpcXH/JLKT9rguZJ0JbHnmRadTgK+gt8VwB3bhTGTy+FHeW8oVZszN2hJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708498685; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6ShtgyECIWZV8Hq00nerN4Bua3lrntGAk/LFJSiSA5k=; b=ku5I+ymY1lLNjX1HsfsrqWp8d6Vf0AK7WGkbhd4YVr8hKTWcXNVQj9uQ+Bi4y7Adw1m46x 3F3EFUgfF2OmLI1MunfnGIsMHA5VJXkLZZt1SYyWq+g6+totwsmGK5tfHAaK2xoOofwWX2 nsxlvYtW6sttoyL88K+kMUz5BG9pEry5PnHc5lmqFoDtkTd/DYzio9mgx+a20fvBrMLfD1 2OJv712kmB7g6EwdgIKzZ5DsepDLnLnkKc/e+ytJVz/+T8TZsSXQQJE8WT4gmVFDYFCOoI wL0FMmT/Y4Fitt1tA+5anKJpY7XPYgsgA6ATyMMjzi8e4xfqIWTOncRjwuugVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708498685; a=rsa-sha256; cv=none; b=AamY9bTjIu51yh8JxzxTqQUArmcH5iywa0S7JZ3rjL4hRazEyjXc05kXHxISkhQVXBTadq hjmrbyNQAjZa45xp1pAP0YqEjSscDysQ+HvxWHDZtpnkT/Th0eaHXTA5uKVduWnFRiMYSq Tr2fl+No9+sjwHqpEXYUbObyJ3Vr7S6bDkK9NCJ+3jOJq9Y2EJkb+ocbVQ2+CanTXIKEGg 6Rv9STk00a5xSOwoz8wMaqVgky1vY+gWHlG7xBGXnVbFpW+psTX4fJgc9MBFSawI4OcZL6 zKuPtz8VKw3FVcejb9//rvvEYRk6u6rj3y6N+YMoeQyeb/mOfnwo8x8wM/LLhA== 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 4TfnCx0ZC9zsJD; Wed, 21 Feb 2024 06:58: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 41L6w5oW057550; Wed, 21 Feb 2024 06:58:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L6w459057547; Wed, 21 Feb 2024 06:58:04 GMT (envelope-from git) Date: Wed, 21 Feb 2024 06:58:04 GMT Message-Id: <202402210658.41L6w459057547@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 4b79ff18c3b5 - stable/14 - MFC: MFV: expat 2.6.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=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4b79ff18c3b5ea2e3fc2f50569d5cda9f74b8a94 Auto-Submitted: auto-generated The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=4b79ff18c3b5ea2e3fc2f50569d5cda9f74b8a94 commit 4b79ff18c3b5ea2e3fc2f50569d5cda9f74b8a94 Author: Xin LI AuthorDate: 2024-02-17 21:56:56 +0000 Commit: Xin LI CommitDate: 2024-02-21 06:52:29 +0000 MFC: MFV: expat 2.6.0. (cherry picked from commit 4543ef516683042d46f3bd3bb8a4f3f746e00499) --- contrib/expat/Changes | 118 +- contrib/expat/Makefile.am | 10 +- contrib/expat/Makefile.in | 22 +- contrib/expat/README.md | 7 +- contrib/expat/configure.ac | 43 +- contrib/expat/doc/Makefile.in | 10 +- contrib/expat/doc/ok.min.css | 4 +- contrib/expat/doc/reference.html | 222 +- contrib/expat/doc/xmlwf.1 | 24 +- contrib/expat/doc/xmlwf.xml | 50 +- contrib/expat/examples/Makefile.am | 9 +- contrib/expat/examples/Makefile.in | 48 +- contrib/expat/examples/element_declarations.c | 234 + contrib/expat/expat_config.h.in | 8 +- contrib/expat/fuzz/xml_parse_fuzzer.c | 53 +- contrib/expat/fuzz/xml_parsebuffer_fuzzer.c | 68 +- contrib/expat/lib/Makefile.in | 10 +- contrib/expat/lib/expat.h | 28 +- contrib/expat/lib/internal.h | 8 +- contrib/expat/lib/siphash.h | 10 +- contrib/expat/lib/xmlparse.c | 558 +- contrib/expat/lib/xmlrole.c | 6 +- contrib/expat/lib/xmlrole.h | 6 +- contrib/expat/lib/xmltok.c | 29 +- contrib/expat/lib/xmltok.h | 8 +- contrib/expat/lib/xmltok_impl.c | 2 +- contrib/expat/tests/Makefile.am | 61 +- contrib/expat/tests/Makefile.in | 261 +- contrib/expat/tests/acc_tests.c | 396 + contrib/expat/tests/acc_tests.h | 56 + contrib/expat/tests/acc_tests_cxx.cpp | 32 + contrib/expat/tests/alloc_tests.c | 2127 ++++ contrib/expat/tests/alloc_tests.h | 56 + contrib/expat/tests/alloc_tests_cxx.cpp | 32 + contrib/expat/tests/basic_tests.c | 6076 +++++++++ contrib/expat/tests/basic_tests.h | 56 + contrib/expat/tests/basic_tests_cxx.cpp | 32 + contrib/expat/tests/benchmark/Makefile.in | 10 +- contrib/expat/tests/benchmark/benchmark.c | 14 +- contrib/expat/tests/chardata.c | 16 +- contrib/expat/tests/chardata_cxx.cpp | 32 + contrib/expat/tests/common.c | 325 + contrib/expat/tests/common.h | 162 + contrib/expat/tests/common_cxx.cpp | 32 + contrib/expat/tests/dummy.c | 261 + contrib/expat/tests/dummy.h | 150 + contrib/expat/tests/dummy_cxx.cpp | 32 + contrib/expat/tests/handlers.c | 1932 +++ contrib/expat/tests/handlers.h | 595 + contrib/expat/tests/handlers_cxx.cpp | 32 + contrib/expat/tests/memcheck.c | 21 +- contrib/expat/tests/memcheck_cxx.cpp | 32 + contrib/expat/tests/minicheck.c | 58 +- contrib/expat/tests/minicheck.h | 79 +- contrib/expat/tests/minicheck_cxx.cpp | 32 + contrib/expat/tests/misc_tests.c | 523 + contrib/expat/tests/misc_tests.h | 56 + contrib/expat/tests/misc_tests_cxx.cpp | 32 + contrib/expat/tests/ns_tests.c | 754 ++ contrib/expat/tests/ns_tests.h | 56 + contrib/expat/tests/ns_tests_cxx.cpp | 32 + contrib/expat/tests/nsalloc_tests.c | 1537 +++ contrib/expat/tests/nsalloc_tests.h | 56 + contrib/expat/tests/nsalloc_tests_cxx.cpp | 32 + contrib/expat/tests/runtests.c | 12479 +------------------ .../tests/{runtestspp.cpp => runtests_cxx.cpp} | 4 +- contrib/expat/tests/structdata.c | 37 +- contrib/expat/tests/structdata_cxx.cpp | 32 + contrib/expat/xmlwf/Makefile.in | 10 +- contrib/expat/xmlwf/readfilemap.c | 21 +- contrib/expat/xmlwf/xmlfile.c | 16 +- contrib/expat/xmlwf/xmlfile.h | 4 +- contrib/expat/xmlwf/xmlwf.c | 156 +- contrib/expat/xmlwf/xmlwf_helpgen.py | 31 +- lib/libexpat/expat_config.h | 16 +- lib/libexpat/libbsdxml.3 | 4 +- 76 files changed, 17368 insertions(+), 13115 deletions(-) diff --git a/contrib/expat/Changes b/contrib/expat/Changes index e67171056950..a7d4caf9ac81 100644 --- a/contrib/expat/Changes +++ b/contrib/expat/Changes @@ -2,6 +2,120 @@ NOTE: We are looking for help with a few things: https://github.com/libexpat/libexpat/labels/help%20wanted If you can help, please get in touch. Thanks! +Release 2.6.0 Tue February 6 2024 + Security fixes: + #789 #814 CVE-2023-52425 -- Fix quadratic runtime issues with big tokens + that can cause denial of service, in partial where + dealing with compressed XML input. Applications + that parsed a document in one go -- a single call to + functions XML_Parse or XML_ParseBuffer -- were not affected. + The smaller the chunks/buffers you use for parsing + previously, the bigger the problem prior to the fix. + Backporters should be careful to no omit parts of + pull request #789 and to include earlier pull request #771, + in order to not break the fix. + #777 CVE-2023-52426 -- Fix billion laughs attacks for users + compiling *without* XML_DTD defined (which is not common). + Users with XML_DTD defined have been protected since + Expat >=2.4.0 (and that was CVE-2013-0340 back then). + + Bug fixes: + #753 Fix parse-size-dependent "invalid token" error for + external entities that start with a byte order mark + #780 Fix NULL pointer dereference in setContext via + XML_ExternalEntityParserCreate for compilation with + XML_DTD undefined + #812 #813 Protect against closing entities out of order + + Other changes: + #723 Improve support for arc4random/arc4random_buf + #771 #788 Improve buffer growth in XML_GetBuffer and XML_Parse + #761 #770 xmlwf: Support --help and --version + #759 #770 xmlwf: Support custom buffer size for XML_GetBuffer and read + #744 xmlwf: Improve language and URL clickability in help output + #673 examples: Add new example "element_declarations.c" + #764 Be stricter about macro XML_CONTEXT_BYTES at build time + #765 Make inclusion to expat_config.h consistent + #726 #727 Autotools: configure.ac: Support --disable-maintainer-mode + #678 #705 .. + #706 #733 #792 Autotools: Sync CMake templates with CMake 3.26 + #795 Autotools: Make installation of shipped man page doc/xmlwf.1 + independent of docbook2man availability + #815 Autotools|CMake: Add missing -DXML_STATIC to pkg-config file + section "Cflags.private" in order to fix compilation + against static libexpat using pkg-config on Windows + #724 #751 Autotools|CMake: Require a C99 compiler + (a de-facto requirement already since Expat 2.2.2 of 2017) + #793 Autotools|CMake: Fix PACKAGE_BUGREPORT variable + #750 #786 Autotools|CMake: Make test suite require a C++11 compiler + #749 CMake: Require CMake >=3.5.0 + #672 CMake: Lowercase off_t and size_t to help a bug in Meson + #746 CMake: Sort xmlwf sources alphabetically + #785 CMake|Windows: Fix generation of DLL file version info + #790 CMake: Build tests/benchmark/benchmark.c as well for + a build with -DEXPAT_BUILD_TESTS=ON + #745 #757 docs: Document the importance of isFinal + adjust tests + accordingly + #736 docs: Improve use of "NULL" and "null" + #713 docs: Be specific about version of XML (XML 1.0r4) + and version of C (C99); (XML 1.0r5 will need a sponsor.) + #762 docs: reference.html: Promote function XML_ParseBuffer more + #779 docs: reference.html: Add HTML anchors to XML_* macros + #760 docs: reference.html: Upgrade to OK.css 1.2.0 + #763 #739 docs: Fix typos + #696 docs|CI: Use HTTPS URLs instead of HTTP at various places + #669 #670 .. + #692 #703 .. + #733 #772 Address compiler warnings + #798 #800 Address clang-tidy warnings + #775 #776 Version info bumped from 9:10:8 (libexpat*.so.1.8.10) + to 10:0:9 (libexpat*.so.1.9.0); see https://verbump.de/ + for what these numbers do + + Infrastructure: + #700 #701 docs: Document security policy in file SECURITY.md + #766 docs: Improve parse buffer variables in-code documentation + #674 #738 .. + #740 #747 .. + #748 #781 #782 Refactor coverage and conformance tests + #714 #716 Refactor debug level variables to unsigned long + #671 Improve handling of empty environment variable value + in function getDebugLevel (without visible user effect) + #755 #774 .. + #758 #783 .. + #784 #787 tests: Improve test coverage with regard to parse chunk size + #660 #797 #801 Fuzzing: Improve fuzzing coverage + #367 #799 Fuzzing|CI: Start running OSS-Fuzz fuzzing regression tests + #698 #721 CI: Resolve some Travis CI leftovers + #669 CI: Be robust towards absence of Git tags + #693 #694 CI: Set permissions to "contents: read" for security + #709 CI: Pin all GitHub Actions to specific commits for security + #739 CI: Reject spelling errors using codespell + #798 CI: Enforce clang-tidy clean code + #773 #808 .. + #809 #810 CI: Upgrade Clang from 15 to 18 + #796 CI: Start using Clang's Control Flow Integrity sanitizer + #675 #720 #722 CI: Adapt to breaking changes in GitHub Actions Ubuntu images + #689 CI: Adapt to breaking changes in Clang/LLVM Debian packaging + #763 CI: Adapt to breaking changes in codespell + #803 CI: Adapt to breaking changes in Cppcheck + + Special thanks to: + Ivan Galkin + Joyce Brum + Philippe Antoine + Rhodri James + Snild Dolkow + spookyahell + Steven Garske + and + Clang AddressSanitizer + Clang UndefinedBehaviorSanitizer + codespell + GCC Farm Project + OSS-Fuzz + Sony Mobile + Release 2.5.0 Tue October 25 2022 Security fixes: #616 #649 #650 CVE-2022-43680 -- Fix heap use-after-free after overeager @@ -11,7 +125,7 @@ Release 2.5.0 Tue October 25 2022 arbitrary code execution. Bug fixes: - #612 #645 Fix curruption from undefined entities + #612 #645 Fix corruption from undefined entities #613 #654 Fix case when parsing was suspended while processing nested entities #616 #652 #653 Stop leaking opening tag bindings after a closing tag @@ -318,7 +432,7 @@ Release 2.4.2 Sun December 19 2021 see https://verbump.de/ for what these numbers do Special thanks to: - Dong-hee Na + Donghee Na Joergen Ibsen Kai Pastor diff --git a/contrib/expat/Makefile.am b/contrib/expat/Makefile.am index 37ae3738edd3..9c2259d23e63 100644 --- a/contrib/expat/Makefile.am +++ b/contrib/expat/Makefile.am @@ -6,9 +6,10 @@ # \___/_/\_\ .__/ \__,_|\__| # |_| XML parser # -# Copyright (c) 2017-2021 Sebastian Pipping +# Copyright (c) 2017-2023 Sebastian Pipping # Copyright (c) 2018 KangLin # Copyright (c) 2022 Johnny Jazeix +# Copyright (c) 2023 Sony Corporation / Snild Dolkow # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -84,7 +85,7 @@ _EXTRA_DIST_WINDOWS = \ win32/expat.iss \ win32/MANIFEST.txt \ win32/README.txt \ - win32/version.rc + win32/version.rc.cmake EXTRA_DIST = \ $(_EXTRA_DIST_CMAKE) \ @@ -131,6 +132,11 @@ buildlib: run-benchmark: $(MAKE) -C tests/benchmark ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/recset.xml 65535 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_attr.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_cdata.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_comment.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_tag.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_text.xml 4096 3 .PHONY: download-xmlts-zip download-xmlts-zip: diff --git a/contrib/expat/Makefile.in b/contrib/expat/Makefile.in index 008c4109b793..f505224f6fa8 100644 --- a/contrib/expat/Makefile.in +++ b/contrib/expat/Makefile.in @@ -22,9 +22,10 @@ # \___/_/\_\ .__/ \__,_|\__| # |_| XML parser # -# Copyright (c) 2017-2021 Sebastian Pipping +# Copyright (c) 2017-2023 Sebastian Pipping # Copyright (c) 2018 KangLin # Copyright (c) 2022 Johnny Jazeix +# Copyright (c) 2023 Sony Corporation / Snild Dolkow # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -136,6 +137,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/conftools/ax-append-compile-flags.m4 \ $(top_srcdir)/conftools/ax-append-link-flags.m4 \ $(top_srcdir)/conftools/expatcfg-compiler-supports-visibility.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx-11.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -339,6 +342,7 @@ FGREP = @FGREP@ FILECMD = @FILECMD@ FILEMAP = @FILEMAP@ GREP = @GREP@ +HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -358,6 +362,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -478,7 +483,7 @@ _EXTRA_DIST_WINDOWS = \ win32/expat.iss \ win32/MANIFEST.txt \ win32/README.txt \ - win32/version.rc + win32/version.rc.cmake EXTRA_DIST = \ $(_EXTRA_DIST_CMAKE) \ @@ -506,7 +511,7 @@ all: expat_config.h .SUFFIXES: am--refresh: Makefile @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -532,9 +537,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): @@ -545,7 +550,7 @@ expat_config.h: stamp-h1 stamp-h1: $(srcdir)/expat_config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status expat_config.h -$(srcdir)/expat_config.h.in: $(am__configure_deps) +$(srcdir)/expat_config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ @@ -1092,6 +1097,11 @@ buildlib: run-benchmark: $(MAKE) -C tests/benchmark ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/recset.xml 65535 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_attr.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_cdata.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_comment.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_tag.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_text.xml 4096 3 .PHONY: download-xmlts-zip download-xmlts-zip: diff --git a/contrib/expat/README.md b/contrib/expat/README.md index e5e237fc9496..43c4f4f3dbb3 100644 --- a/contrib/expat/README.md +++ b/contrib/expat/README.md @@ -1,13 +1,14 @@ -[![Run Linux Travis CI tasks](https://github.com/libexpat/libexpat/actions/workflows/linux.yml/badge.svg)](https://github.com/libexpat/libexpat/actions/workflows/linux.yml) +[![Run Linux CI tasks](https://github.com/libexpat/libexpat/actions/workflows/linux.yml/badge.svg)](https://github.com/libexpat/libexpat/actions/workflows/linux.yml) [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/libexpat/libexpat?svg=true)](https://ci.appveyor.com/project/libexpat/libexpat) [![Packaging status](https://repology.org/badge/tiny-repos/expat.svg)](https://repology.org/metapackage/expat/versions) [![Downloads SourceForge](https://img.shields.io/sourceforge/dt/expat?label=Downloads%20SourceForge)](https://sourceforge.net/projects/expat/files/) [![Downloads GitHub](https://img.shields.io/github/downloads/libexpat/libexpat/total?label=Downloads%20GitHub)](https://github.com/libexpat/libexpat/releases) -# Expat, Release 2.5.0 +# Expat, Release 2.6.0 -This is Expat, a C library for parsing XML, started by +This is Expat, a C99 library for parsing +[XML 1.0 Fourth Edition](https://www.w3.org/TR/2006/REC-xml-20060816/), started by [James Clark](https://en.wikipedia.org/wiki/James_Clark_%28programmer%29) in 1997. Expat is a stream-oriented XML parser. This means that you register handlers with the parser before starting the parse. These handlers diff --git a/contrib/expat/configure.ac b/contrib/expat/configure.ac index d3642dea5864..a5d1ff9317c8 100644 --- a/contrib/expat/configure.ac +++ b/contrib/expat/configure.ac @@ -11,7 +11,7 @@ dnl Copyright (c) 2000 Clark Cooper dnl Copyright (c) 2000-2005 Fred L. Drake, Jr. dnl Copyright (c) 2001-2003 Greg Stein dnl Copyright (c) 2006-2012 Karl Waclawek -dnl Copyright (c) 2016-2022 Sebastian Pipping +dnl Copyright (c) 2016-2024 Sebastian Pipping dnl Copyright (c) 2017 S. P. Zeidler dnl Copyright (c) 2017 Stephen Groat dnl Copyright (c) 2017-2020 Joe Orton @@ -60,7 +60,7 @@ m4_define([expat_version], m4_ifdef([__gnu__], [esyscmd(conftools/get-version.sh lib/expat.h)], [2.2.x])) -AC_INIT([expat], expat_version, [expat-bugs@libexpat.org]) +AC_INIT([expat], expat_version, [https://github.com/libexpat/libexpat/issues]) m4_undefine([expat_version]) AC_CONFIG_SRCDIR([Makefile.in]) @@ -68,6 +68,7 @@ AC_CONFIG_AUX_DIR([conftools]) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_HOST AM_INIT_AUTOMAKE +AM_MAINTAINER_MODE([enable]) # to allow argument --disable-maintainer-mode dnl @@ -81,9 +82,9 @@ dnl dnl If the API changes incompatibly set LIBAGE back to 0 dnl -LIBCURRENT=9 # sync -LIBREVISION=10 # with -LIBAGE=8 # CMakeLists.txt! +LIBCURRENT=10 # sync +LIBREVISION=0 # with +LIBAGE=9 # CMakeLists.txt! AC_CONFIG_HEADERS([expat_config.h]) AH_TOP([#ifndef EXPAT_CONFIG_H @@ -105,6 +106,9 @@ AC_SUBST(LIBAGE) AC_LANG([C]) AC_PROG_CC_C99 +AS_IF([test "${ac_cv_prog_cc_c99}" = no], + [AC_MSG_ERROR([Expat requires a C99 compiler.])]) + AS_IF([test "$GCC" = yes], [AX_APPEND_COMPILE_FLAGS([-Wall -Wextra], [AM_CFLAGS]) dnl Be careful about adding the -fexceptions option; some versions of @@ -176,6 +180,8 @@ AC_ARG_WITH([tests], [with_tests=yes]) AM_CONDITIONAL([WITH_TESTS], [test x${with_tests} = xyes]) +AS_IF([test x${with_tests} = xyes], + [AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])]) AS_VAR_SET([EXPATCFG_ON_MINGW],[no]) AS_CASE("${host_os}", @@ -202,14 +208,16 @@ AS_IF([test "x${with_libbsd}" != xno], [], [AS_IF([test "x${with_libbsd}" = xyes], [AC_MSG_ERROR([Enforced use of libbsd cannot be satisfied.])])])]) -AC_MSG_CHECKING([for arc4random_buf (BSD or libbsd)]) +AC_MSG_CHECKING([for arc4random_buf (BSD, libbsd or glibc 2.36+)]) AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include /* for arc4random_buf on BSD, for NULL */ #if defined(HAVE_LIBBSD) # include + #else + # include /* for arc4random_buf on BSD */ #endif int main() { - arc4random_buf(NULL, 0U); + char dummy[[123]]; // double brackets for m4 + arc4random_buf(dummy, 0U); return 0; } ])], @@ -217,7 +225,7 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([ AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) - AC_MSG_CHECKING([for arc4random (BSD, macOS or libbsd)]) + AC_MSG_CHECKING([for arc4random (BSD, macOS, libbsd or glibc 2.36+)]) AC_LINK_IFELSE([AC_LANG_SOURCE([ #if defined(HAVE_LIBBSD) # include @@ -295,6 +303,8 @@ AC_SUBST(FILEMAP) dnl Some basic configuration: AC_DEFINE([XML_NS], 1, [Define to make XML Namespaces functionality available.]) +AC_DEFINE([XML_GE], 1, + [Define as 1/0 to enable/disable support for general entities.]) AC_DEFINE([XML_DTD], 1, [Define to make parameter entity parsing functionality available.]) AC_DEFINE([XML_DEV_URANDOM], 1, @@ -319,9 +329,10 @@ AS_HELP_STRING([--disable-xml-context], AS_IF([test "x${enable_xml_context}" != "xno"], [AS_IF([test "x${enable_xml_context}" = "xyes" \ -o "x${enable_xml_context}" = "x"], - [AS_VAR_SET(enable_xml_context,1024)]) - AC_DEFINE_UNQUOTED([XML_CONTEXT_BYTES], [${enable_xml_context}], - [Define to specify how much context to retain around the current parse point.])]) + [AS_VAR_SET(enable_xml_context,1024)])], + [AS_VAR_SET(enable_xml_context,0)]) +AC_DEFINE_UNQUOTED([XML_CONTEXT_BYTES], [${enable_xml_context}], + [Define to specify how much context to retain around the current parse point, 0 to disable.]) AC_ARG_WITH([docbook], [AS_HELP_STRING([--with-docbook], @@ -345,8 +356,12 @@ AS_IF([test "x${DOCBOOK_TO_MAN}" != x -a "x$with_docbook" != xno], You can also configure using --without-docbook if you can do without a man page for xmlwf.])])]) -AM_CONDITIONAL(WITH_DOCBOOK, [test "x${DOCBOOK_TO_MAN}" != x]) - +dnl This will make sure that a release tarball shipping a pre-rendered xmlwf man page will +dnl get it installed, independent of whether some flavor of docbook2man is available. +dnl This relies on file xmlwf.1 being at least as recent as its source file xmlwf.xml. +AS_IF([test -f "${srcdir}"/doc/xmlwf.1], + [AM_CONDITIONAL(WITH_DOCBOOK, [true])], + [AM_CONDITIONAL(WITH_DOCBOOK, [test "x${DOCBOOK_TO_MAN}" != x])]) dnl Configure CMake file templates dnl NOTE: The *_TRUE variables read here are Automake conditionals diff --git a/contrib/expat/doc/Makefile.in b/contrib/expat/doc/Makefile.in index 7fef3eda1897..18f86be3947b 100644 --- a/contrib/expat/doc/Makefile.in +++ b/contrib/expat/doc/Makefile.in @@ -132,6 +132,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/conftools/ax-append-compile-flags.m4 \ $(top_srcdir)/conftools/ax-append-link-flags.m4 \ $(top_srcdir)/conftools/expatcfg-compiler-supports-visibility.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx-11.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -241,6 +243,7 @@ FGREP = @FGREP@ FILECMD = @FILECMD@ FILEMAP = @FILEMAP@ GREP = @GREP@ +HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -260,6 +263,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -351,7 +355,7 @@ EXTRA_DIST = \ all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -375,9 +379,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): diff --git a/contrib/expat/doc/ok.min.css b/contrib/expat/doc/ok.min.css index 8b5f86e7042c..d324fabb2873 100644 --- a/contrib/expat/doc/ok.min.css +++ b/contrib/expat/doc/ok.min.css @@ -1,2 +1,2 @@ -/*! OK.css v1.0.3 | MIT License | github.com/andrewh0/okcss */@import url("https://rsms.me/inter/inter.css"); -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus -inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--ok-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue","Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Se goe UI Symbol","Noto Color Emoji";--ok-mono:! SFMono-Regular,Menlo,Monaco,Consolas,"Ubuntu Mono","Liberation Mono","Courier New",Courier,monospace;--ok-fw-0:400;--ok-fw-1:600;--ok-fw-2:700;--ok-fw-3:700;--ok-fs-0:2.5rem;--ok-fs-1:2rem;--ok-fs-2:1.5rem;--ok-fs-3:1.25rem;--ok-fs-4:1rem;--ok-fs-5:0.75rem;--ok-br:0.25rem;--ok-s-0:0;--ok-s-1:0.25rem;--ok-s-2:0.5rem;--ok-s-3:1rem;--ok-s-4:1.5rem;--ok-s-5:2rem;--ok-s-6:2.5rem;--ok-lh-body:1.5;--ok-lh-heading:1.25;--ok-t-hl:#ffcf30;--ok-accent-0:#3e67fa;--ok-accent-1:#4788ff;--ok-tc-accent:#3173de;--ok-tc-code:#c23a30;--ok-tc-0:#000;--ok-tc-1:#747474;--ok-tc-2:#848484;--ok-bg-0:#fff;--ok-bg-1:#f0f0f0;--ok-bg-2:#ccc;--ok-b-0:1px solid #cbcbcb;--ok-b-1:1px solid #848484;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23747474'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8 ' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23848484'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--ok-tc-accent:#5c9aff;--ok-tc-code:#ed5853;--ok-tc-0:#fff;--ok-tc-1:#ababab;--ok-tc-2:#929292;--ok-bg-0:#000;--ok-bg-1:#212121;--ok-bg-2:#3e3e3e;--ok-b-0:1px solid #747474;--ok-b-1:1px solid #929292;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23ababab'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23929292'/%3E%3C/svg%3E")}}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{font-family:var(--ok-sans);line-sizing:normal;line-height:var(--ok-lh-body);font-weight:var(--ok-fw-0);color:var(--ok-tc-0);b ackground-color:var(--ok-bg-0);-webkit-font-! smoothing! :antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility}@supports (font-variation-settings:normal){html{font-family:Inter var,var(--ok-sans)}}button,input,optgroup,select,textarea{font-family:inherit;line-height:var(--ok-lh-body)}[role=button],button{cursor:pointer}audio,canvas,embed,iframe,img,input,object,select,svg,textarea,video{display:block}img,video{max-width:100%;height:auto}body{padding:var(--ok-s-3);max-width:80ch;margin:auto}h1{font-size:var(--ok-fs-0);margin:0}h2{font-size:var(--ok-fs-1)}h3{font-size:var(--ok-fs-2)}h4{font-size:var(--ok-fs-3)}h5{font-size:var(--ok-fs-4)}h6{font-size:var(--ok-fs-5);text-transform:uppercase;font-weight:var(--ok-fw-1)}h1,h2,h3,h4,h5,h6{line-height:var(--ok-lh-heading);font-weight:var(--ok-fw-3)}p{font-size:var(--ok-fs-4)}small{font-size:var(--ok-fs-5)}b,dt,strong{font-weight:var(--ok-fw-2)}address,article,aside,a udio,blockquote,button,canvas,dd,details,dialog,div,dl,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,img,input,main,nav,object,ol,p,pre,section,select,summary,svg,table,textarea,ul,video{margin-bottom:var(--ok-s-4)}address:last-child,article:last-child,aside:last-child,blockquote:last-child,dd:last-child,details:last-child,dialog:last-child,div:last-child,dl:last-child,dt:last-child,fieldset:last-child,figcaption:last-child,figure:last-child,footer:last-child,form:last-child,h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,header:last-child,hgroup:last-child,hr:last-child,input[type=checkbox],input[type=radio],main:last-child,nav:last-child,ol:last-child,p:last-child,pre:last-child,section:last-child,table:last-child,ul:last-child{margin-bottom:0}fieldset{padding:var(--ok-s-3);border:var(--ok-b-0);border-radius:var(--ok-br)}legend{font-weight:var(--ok-fw-1);text-transform:uppercase;font-size:var(--ok-fs-5)}i nput,select{padding:var(--ok-s-2);background! :var(--ok! -bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-width:25ch}input:disabled,select:disabled,textarea:disabled{color:var(--ok-tc-2)}input::placeholder,textarea::placeholder{color:var(--ok-tc-2)}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--ok-tc-2)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--ok-tc-2)}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--ok-tc-2)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--ok-tc-2)}input::-webkit-clear-button,input::-webkit-inner-spin-button,input::-webkit-search-cancel-button,input::-webkit-search-results-button{display:none}input::-ms-clear,input::-ms-reveal{display:none}input:disabled,textarea:disabled{background-color:var(--ok-bg-1)}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=file]{max-width:300px}input[type=number]{-moz-appearance:textfield}input[type=checkbox],input[type= radio]{display:inline;min-width:auto}input[type=color]{height:2.5rem}input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week]{height:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative}input[type=date]:before,input[type=datetime-local]:before,input[type=month]:before,input[type=time]:before,input[type=week]:before{position:absolute;right:0;top:0;background-image:var(--ok-down-0);background-repeat:no-repeat;background-position:right .2em top 50%;background-size:2em auto;width:2.5rem;height:calc(2.5rem - 2px);content:""}input[type=date]:disabled:before,input[type=datetime-local]:disabled:before,input[type=month]:disabled:before,input[type=time]:disabled:before,input[type=week]:disabled:before{background-image:var(--ok-down-1)}input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;background-color:transparent;cursor:pointer;padding:0;width:2.5rem;height:calc(2.5rem - 2px);content:"";opacity:0}inp ut[type=range]{overflow:visible;line-height:! inherit;f! ont-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;outline:none;cursor:pointer;padding:0;vertical-align:middle;border:none;min-height:2rem;background-color:transparent}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;-webkit-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box;position:relative}input[type=range]::-moz-range-track{cursor:pointer;-moz-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-track{cursor:pointer;-ms-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(- -ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-fill-lower{background:transparent}input[type=range]::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;margin-top:calc(-.5rem - 1px)}input[type=range]::-moz-range-thumb{cursor:pointer;-moz-appearance:none;border:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem}input[type=range]::-ms-thumb{cursor:pointer;-ms-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;transform:translateY(.25rem)}input[type=range]:focus:not(:disabled)::-webkit-slider-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-moz-range-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-ms-thumb{background-color:var(--ok-accent-1)}input[type=range]:disabled{cursor:default}input[type=range]: disabled::-webkit-slider-runnable-track{curs! or:defaul! t}input[type=range]:disabled::-moz-range-track{cursor:default}input[type=range]:disabled::-ms-track{cursor:default}input[type=range]:disabled::-webkit-slider-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-moz-range-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-ms-thumb{background-color:var(--ok-bg-2);cursor:default}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--ok-b-0);border-radius:var(--ok-br);background-color:var(--ok-bg-0);min-height:2.5rem;color:var(--ok-tc-0)}select:not([multiple]){background-image:var(--ok-down-0);background-repeat:no-repeat,repeat;background-position:right .2em top 50%;background-size:2em auto;padding-right:2.5em;height:2.5rem}select::-ms-expand{display:none}select:not([multiple]):disabled{background-image:var(--ok-down-1);background-color:var(--ok-bg-1);cursor:default}select[multiple]{border-radius:var(--ok-br)}select[multiple]:disabled{background-color: var(--ok-bg-1)}select[multiple] option{color:var(--ok-t-)}select[multiple]:disabled option{color:var(--ok-tc-2)}textarea{padding:var(--ok-s-2);resize:vertical;background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-height:calc(2.5rem - 2px);min-width:25ch}button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap;min-width:auto}input::-webkit-file-upload-button{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap}input:disabled::-webkit-file-upload-button{cursor:default;opacity:.5}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer}input:not(:disabled)::-webkit-fil e-upload-button{cursor:pointer}button:disabl! ed,input[! type=button]:disabled,input[type=reset]:disabled,input[type=submit]:disabled{cursor:default;opacity:.5;background-color:var(--ok-accent-0)}button:focus:not(:disabled),input[type=button]:focus:not(:disabled),input[type=reset]:focus:not(:disabled),input[type=submit]:focus:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):focus::-webkit-file-upload-button{background-color:var(--ok-accent-1)}table{border-collapse:collapse;border-radius:var(--ok-br);display:block;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;margin-left:auto;margin-right:auto;overflow-x:auto;white-space:nowrap}tfoot,thead{border:var(--ok-b-0)}tfoot tr,thead tr{background-color:var(--ok-bg-1);font-size:var(--ok-fs-5);text-transform:uppercase;color:var(--ok-tc-0)}td,th{border:var(--ok-b-0) 0;text-align:left;padding:.5rem}td{white-space:normal;max-width:20ch}tr{border:var(--ok-b-0)}table caption{font-size:var(--ok-fs-4);font-weight:var(--ok-fw-3);padding:.5rem}code,samp {padding:.2em .4em;color:var(--ok-tc-code)}code,pre,samp{font-family:var(--ok-mono);line-height:var(--ok-lh-body);background-color:var(--ok-bg-1);border-radius:var(--ok-br);text-transform:none}pre{padding:var(--ok-s-3);white-space:pre;overflow-x:auto}pre,var{color:var(--ok-tc-0)}var{font-family:var(--ok-mono);font-style:normal}code pre,pre code{background:inherit;font-size:inherit;color:inherit;border:0;padding:0;margin:0}code pre{display:inline}kbd{background-color:var(--ok-bg-1);border:var(--ok-b-0);border-radius:var(--ok-br);border-bottom:2px solid var(--ok-bg-2);padding:var(--ok-s-1);font-family:var(--ok-sans);color:var(--ok-tc-0)}a{text-decoration:none;font-weight:var(--ok-fw-1)}a,a:visited{color:var(--ok-tc-accent)}ol,ul{padding-left:var(--ok-s-5)}nav ul{text-decoration:none;padding-left:0}nav ul li{display:inline;margin-right:1em}audio,img,video{margin-left:auto;margin-right:auto}img{border-radius:var(--ok-br)}figure>img:not(:last-child){margin-bottom:var(--ok-s-1)}figure>fig caption{text-align:center}figcaption,time{fo! nt-size:v! ar(--ok-fs-5);color:var(--ok-tc-1)}mark{padding:.2em .4em;background:var(--ok-t-hl);color:#000;border-radius:var(--ok-br)}iframe{border:var(--ok-b-0);border-radius:var(--ok-br);width:100%}hr{border:none;border-bottom:var(--ok-b-0)}footer{font-size:var(--ok-fs-5)}blockquote,footer{color:var(--ok-tc-1)}blockquote{position:relative;margin-left:0;margin-right:0;padding-left:var(--ok-s-5)}blockquote:before{position:absolute;height:100%;content:"";width:4px;left:0;border-radius:var(--ok-br);background-color:var(--ok-bg-1)}dd{padding-left:var(--ok-s-5)}abbr{cursor:help}@media (hover:hover){a:hover{text-decoration:underline}input:hover:not(:disabled):not(:focus):not([type=submit]):not([type=button]):not([type=reset]):not([type=range]),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-webkit-slider-runnable-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-moz-range-track{border:va r(--ok-b-1)}input[type=range]:hover:not(:disabled)::-ms-track{border:var(--ok-b-1)}select:not([multiple]):not(:disabled):hover{cursor:pointer}button:hover:not(:disabled),input[type=button]:hover:not(:disabled),input[type=reset]:hover:not(:disabled),input[type=submit]:hover:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):hover::-webkit-file-upload-button{background-color:var(--ok-accent-1)}} \ No newline at end of file +/*! OK.css v1.2.0 | MIT License | github.com/andrewh0/okcss */@import url("https://rsms.me/inter/inter.css"); +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus -inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--ok-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue","Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Se goe UI Symbol","Noto Color Emoji";--ok-mono:! SFMono-Regular,Menlo,Monaco,Consolas,"Ubuntu Mono","Liberation Mono","Courier New",Courier,monospace;--ok-fw-0:400;--ok-fw-1:600;--ok-fw-2:700;--ok-fw-3:700;--ok-fs-0:2.5rem;--ok-fs-1:2rem;--ok-fs-2:1.5rem;--ok-fs-3:1.25rem;--ok-fs-4:1rem;--ok-fs-5:0.75rem;--ok-br:0.25rem;--ok-s-0:0;--ok-s-1:0.25rem;--ok-s-2:0.5rem;--ok-s-3:1rem;--ok-s-4:1.5rem;--ok-s-5:2rem;--ok-s-6:2.5rem;--ok-lh-body:1.5;--ok-lh-heading:1.25;--ok-t-hl:#ffcf30;--ok-accent-0:#3e67fa;--ok-accent-1:#4788ff;--ok-tc-accent:#3173de;--ok-tc-code:#c23a30;--ok-tc-0:#000;--ok-tc-1:#747474;--ok-tc-2:#848484;--ok-bg-0:#fff;--ok-bg-1:#f0f0f0;--ok-bg-2:#ccc;--ok-b-0:1px solid #cbcbcb;--ok-b-1:1px solid #848484;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23747474'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8 ' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23848484'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--ok-tc-accent:#5c9aff;--ok-tc-code:#ed5853;--ok-tc-0:#fff;--ok-tc-1:#ababab;--ok-tc-2:#929292;--ok-bg-0:#000;--ok-bg-1:#212121;--ok-bg-2:#3e3e3e;--ok-b-0:1px solid #747474;--ok-b-1:1px solid #929292;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23ababab'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23929292'/%3E%3C/svg%3E")}}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{font-family:var(--ok-sans);line-sizing:normal;line-height:var(--ok-lh-body);font-weight:var(--ok-fw-0);color:var(--ok-tc-0);b ackground-color:var(--ok-bg-0);-webkit-font-! smoothing! :antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility;scroll-behavior:smooth}@supports (font-variation-settings:normal){html{font-family:Inter var,var(--ok-sans)}}button,input,optgroup,select,textarea{font-family:inherit;line-height:var(--ok-lh-body)}[role=button],button{cursor:pointer}audio,canvas,embed,iframe,img,input,object,select,svg,textarea,video{display:block}img,video{max-width:100%;height:auto}body{padding:var(--ok-s-3);max-width:80ch;margin:auto}article{padding-bottom:var(--ok-s-6)}h1{font-size:var(--ok-fs-0);margin:0}h2{font-size:var(--ok-fs-1)}h3{font-size:var(--ok-fs-2)}h4{font-size:var(--ok-fs-3)}h5{font-size:var(--ok-fs-4)}h6{font-size:var(--ok-fs-5);text-transform:uppercase;font-weight:var(--ok-fw-1)}h1,h2,h3,h4,h5,h6{line-height:var(--ok-lh-heading);font-weight:var(--ok-fw-3);margin-top:var(--ok-s-6);margin-bottom:var(--ok-s-3)}h1+*,h2 +*,h3+*,h4+*,h5+*,h6+*,hr+*{margin-top:0}p{font-size:var(--ok-fs-4)}small{font-size:var(--ok-fs-5)}b,dt,strong{font-weight:var(--ok-fw-2)}address,article,aside,audio,blockquote,button,canvas,dd,details,dialog,div,dl,embed,fieldset,figcaption,figure,footer,form,header,hgroup,hr,iframe,img,input,main,nav,object,ol,p,pre,section,select,summary,svg,table,textarea,ul,video{margin-bottom:var(--ok-s-4)}address:last-child,article:last-child,aside:last-child,blockquote:last-child,dd:last-child,details:last-child,dialog:last-child,div:last-child,dl:last-child,dt:last-child,fieldset:last-child,figcaption:last-child,figure:last-child,footer:last-child,form:last-child,h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,header:last-child,hgroup:last-child,hr:last-child,input[type=checkbox],input[type=radio],main:last-child,nav:last-child,ol:last-child,p:last-child,pre:last-child,section:last-child,table:last-child,ul:last-child{margin-bottom:0}fieldset{padding:var( --ok-s-3);border:var(--ok-b-0);border-radius! :var(--ok! -br)}legend{font-weight:var(--ok-fw-1);text-transform:uppercase;font-size:var(--ok-fs-5)}input,select{padding:var(--ok-s-2);background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-width:25ch}input:disabled,select:disabled,textarea:disabled{color:var(--ok-tc-2)}input::placeholder,textarea::placeholder{color:var(--ok-tc-2)}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--ok-tc-2)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--ok-tc-2)}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--ok-tc-2)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--ok-tc-2)}input::-webkit-clear-button,input::-webkit-inner-spin-button,input::-webkit-search-cancel-button,input::-webkit-search-results-button{display:none}input::-ms-clear,input::-ms-reveal{display:none}input:disabled,textarea:disabled{background-color:var(--ok-bg-1)}input[type=search]{-webkit-appearance:none;-moz -appearance:none;appearance:none}input[type=file]{max-width:300px}input[type=number]{-moz-appearance:textfield}input[type=checkbox],input[type=radio]{display:inline;min-width:auto}input[type=color]{height:2.5rem}input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week]{height:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative}input[type=date]:before,input[type=datetime-local]:before,input[type=month]:before,input[type=time]:before,input[type=week]:before{position:absolute;right:0;top:0;background-image:var(--ok-down-0);background-repeat:no-repeat;background-position:right .2em top 50%;background-size:2em auto;width:2.5rem;height:calc(2.5rem - 2px);content:""}input[type=date]:disabled:before,input[type=datetime-local]:disabled:before,input[type=month]:disabled:before,input[type=time]:disabled:before,input[type=week]:disabled:before{background-image:var(--ok-down-1)}input::-webkit-calendar-picker-indicator{positi on:absolute;top:0;right:0;background-color:t! ransparen! t;cursor:pointer;padding:0;width:2.5rem;height:calc(2.5rem - 2px);content:"";opacity:0}input[type=range]{overflow:visible;line-height:inherit;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;outline:none;cursor:pointer;padding:0;vertical-align:middle;border:none;min-height:2rem;background-color:transparent}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;-webkit-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box;position:relative}input[type=range]::-moz-range-track{cursor:pointer;-moz-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-track{cursor:pointer;-ms-appear ance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-fill-lower{background:transparent}input[type=range]::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;margin-top:calc(-.5rem - 1px)}input[type=range]::-moz-range-thumb{cursor:pointer;-moz-appearance:none;border:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem}input[type=range]::-ms-thumb{cursor:pointer;-ms-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;transform:translateY(.25rem)}input[type=range]:focus:not(:disabled)::-webkit-slider-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-moz-range-thumb{background-color:var(--ok-accent-1)}inp ut[type=range]:focus:not(:disabled)::-ms-thu! mb{backgr! ound-color:var(--ok-accent-1)}input[type=range]:disabled{cursor:default}input[type=range]:disabled::-webkit-slider-runnable-track{cursor:default}input[type=range]:disabled::-moz-range-track{cursor:default}input[type=range]:disabled::-ms-track{cursor:default}input[type=range]:disabled::-webkit-slider-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-moz-range-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-ms-thumb{background-color:var(--ok-bg-2);cursor:default}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--ok-b-0);border-radius:var(--ok-br);background-color:var(--ok-bg-0);min-height:2.5rem;color:var(--ok-tc-0)}select:not([multiple]){background-image:var(--ok-down-0);background-repeat:no-repeat,repeat;background-position:right .2em top 50%;background-size:2em auto;padding-right:2.5em;height:2.5rem}select::-ms-expand{display:none}select:not([multiple]):disabled{background-image:var(--ok -down-1);background-color:var(--ok-bg-1);cursor:default}select[multiple]{border-radius:var(--ok-br)}select[multiple]:disabled{background-color:var(--ok-bg-1)}select[multiple] option{color:var(--ok-t-)}select[multiple]:disabled option{color:var(--ok-tc-2)}textarea{padding:var(--ok-s-2);resize:vertical;background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-height:calc(2.5rem - 2px);min-width:25ch}button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap;min-width:auto}input::-webkit-file-upload-button{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap}input:disabled::-webkit-file-upload-b utton{cursor:default;opacity:.5}button,input! [type=but! ton],input[type=reset],input[type=submit]{cursor:pointer}input:not(:disabled)::-webkit-file-upload-button{cursor:pointer}button:disabled,input[type=button]:disabled,input[type=reset]:disabled,input[type=submit]:disabled{cursor:default;opacity:.5;background-color:var(--ok-accent-0)}button:focus:not(:disabled),input[type=button]:focus:not(:disabled),input[type=reset]:focus:not(:disabled),input[type=submit]:focus:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):focus::-webkit-file-upload-button{background-color:var(--ok-accent-1)}table{border-collapse:collapse;display:table;margin-left:auto;margin-right:auto;white-space:nowrap}tfoot,thead{border:var(--ok-b-0)}thead{position:-webkit-sticky;position:sticky;top:0}tfoot tr,thead tr{background-color:var(--ok-bg-1);font-size:var(--ok-fs-5);text-transform:uppercase;color:var(--ok-tc-0)}td,th{border:var(--ok-b-0) 0;text-align:left;padding:.5rem}td{white-space:normal;max-width:20ch}tr{border:var(--ok-b-0)}table caption{fo nt-size:var(--ok-fs-4);font-weight:var(--ok-fw-3);padding:.5rem}code,samp{padding:.2em .4em;color:var(--ok-tc-code)}code,pre,samp{font-family:var(--ok-mono);font-size:87.5%;line-height:var(--ok-lh-body);background-color:var(--ok-bg-1);border-radius:var(--ok-br);text-transform:none}pre{padding:var(--ok-s-3);white-space:pre;overflow-x:auto}pre,var{color:var(--ok-tc-0)}var{font-family:var(--ok-mono);font-style:normal}code pre,pre code{background:inherit;font-size:inherit;color:inherit;border:0;padding:0;margin:0}code pre{display:inline}kbd{background-color:var(--ok-bg-1);border:var(--ok-b-0);border-radius:var(--ok-br);border-bottom:2px solid var(--ok-bg-2);padding:var(--ok-s-1);font-family:var(--ok-sans);color:var(--ok-tc-0)}a{text-decoration:none;font-weight:var(--ok-fw-1)}a,a:visited,a code,a mark,a samp{color:var(--ok-tc-accent)}ol,ul{padding-left:var(--ok-s-5)}nav ul{text-decoration:none;padding-left:0}nav ul li{display:inline;margin-right:1em}li p{margin-bottom:0}li,li p+p{margin- top:.5em}audio,img,video{margin-left:auto;ma! rgin-righ! t:auto}img{border-radius:var(--ok-br)}figure>img:not(:last-child){margin-bottom:var(--ok-s-1)}figure>figcaption{text-align:center}figcaption,time{font-size:var(--ok-fs-5);color:var(--ok-tc-1)}mark{padding:.2em .4em;background:var(--ok-t-hl);color:#000;border-radius:var(--ok-br)}iframe{border:var(--ok-b-0);border-radius:var(--ok-br);width:100%}hr{border:none;border-bottom:var(--ok-b-0)}footer{font-size:var(--ok-fs-5)}blockquote,footer{color:var(--ok-tc-1)}blockquote{position:relative;margin-left:0;margin-right:0;padding-left:var(--ok-s-5)}blockquote:before{position:absolute;height:100%;content:"";width:4px;left:0;border-radius:var(--ok-br);background-color:var(--ok-bg-1)}dd{padding-left:var(--ok-s-5)}abbr{cursor:help}@media (hover:hover){a:hover{text-decoration:underline}input:hover:not(:disabled):not(:focus):not([type=submit]):not([type=button]):not([type=reset]):not([type=range]),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border:var(--ok-b-1)} input[type=range]:hover:not(:disabled)::-webkit-slider-runnable-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-moz-range-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-ms-track{border:var(--ok-b-1)}select:not([multiple]):not(:disabled):hover{cursor:pointer}button:hover:not(:disabled),input[type=button]:hover:not(:disabled),input[type=reset]:hover:not(:disabled),input[type=submit]:hover:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):hover::-webkit-file-upload-button{background-color:var(--ok-accent-1)}} \ No newline at end of file diff --git a/contrib/expat/doc/reference.html b/contrib/expat/doc/reference.html index 8b0d47d6dd7b..898f03a3364d 100644 --- a/contrib/expat/doc/reference.html +++ b/contrib/expat/doc/reference.html @@ -14,11 +14,13 @@ Copyright (c) 2000 Clark Cooper Copyright (c) 2000-2004 Fred L. Drake, Jr. Copyright (c) 2002-2012 Karl Waclawek - Copyright (c) 2017-2022 Sebastian Pipping + Copyright (c) 2017-2024 Sebastian Pipping Copyright (c) 2017 Jakub Wilk Copyright (c) 2021 Tomas Korbar Copyright (c) 2021 Nicolas Cavallari Copyright (c) 2022 Thijs Schreijer + Copyright (c) 2023 Hanno Böck + Copyright (c) 2023 Sony Corporation / Snild Dolkow Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining @@ -50,7 +52,7 @@

    The Expat XML Parser - Release 2.5.0 + Release 2.6.0

    @@ -68,11 +70,11 @@ Working Group at W3C that produced the XML specification.

    This is free software, licensed under the MIT/X Consortium license. You may download it -from the Expat home page. +from the Expat home page.

    The bulk of this document was originally commissioned as an article -by XML.com. They graciously allowed +by XML.com. They graciously allowed Clark Cooper to retain copyright and to distribute it with Expat. This version has been substantially extended to include documentation on features which have been added since the original article was @@ -151,10 +153,11 @@ interface.

  • - Billion Laughs Attack Protection + Attack Protection
  • Miscellaneous Functions @@ -305,7 +308,7 @@ shoveling the document to the parser so that it can do its work.

    The Expat distribution comes as a compressed (with GNU gzip) tar file. You may download the latest version from Source Forge. After +"https://sourceforge.net/projects/expat/" >Source Forge. After unpacking this, cd into the directory. Then follow either the Win32 directions or Unix directions below.

    @@ -359,37 +362,64 @@ and the definition of character types in the case of XML_UNICODE_WCHAR_T. The symbols are:

    -
    XML_DTD
    +
    XML_GE
    +
    +Added in Expat 2.6.0. +Include support for +general entities +(syntax &e1; to reference and +syntax <!ENTITY e1 'value1'> (an internal general entity) or +<!ENTITY e2 SYSTEM 'file2'> (an external general entity) to declare). +With XML_GE enabled, general entities will be replaced by their declared replacement text; +for this to work for external general entities, in addition an +XML_ExternalEntityRefHandler must be set using +XML_SetExternalEntityRefHandler. +Also, enabling XML_GE makes +the functions +XML_SetBillionLaughsAttackProtectionMaximumAmplification and + +XML_SetBillionLaughsAttackProtectionActivationThreshold available. +
    +With XML_GE disabled, Expat has a smaller memory footprint and can be faster, but will +not load external general entities and will replace all general entities +(except the predefined five: +amp, apos, gt, lt, quot) +with a self-reference: +for example, referencing an entity e1 via &e1; will be replaced +by text &e1;. +
    + +
    XML_DTD
    Include support for using and reporting DTD-based content. If this is defined, default attribute values from an external DTD subset are reported and attribute value normalization occurs based on the type of attributes defined in the external subset. Without this, Expat has a smaller memory footprint and can be faster, but will -not load external entities or process conditional sections. If defined, makes +not load external parameter entities or process conditional sections. If defined, makes the functions XML_SetBillionLaughsAttackProtectionMaximumAmplification and XML_SetBillionLaughsAttackProtectionActivationThreshold available.
    -
    XML_NS
    +
    XML_NS
    When defined, support for the Namespaces in XML +"https://www.w3.org/TR/REC-xml-names/" >Namespaces in XML specification is included.
    -
    XML_UNICODE
    +
    XML_UNICODE
    When defined, character data reported to the application is encoded in UTF-16 using wide characters of the type XML_Char. This is implied if XML_UNICODE_WCHAR_T is defined.
    -
    XML_UNICODE_WCHAR_T
    +
    XML_UNICODE_WCHAR_T
    If defined, causes the XML_Char character type to be defined using the wchar_t type; otherwise, unsigned short is used. Defining this implies XML_UNICODE.
    -
    XML_LARGE_SIZE
    +
    XML_LARGE_SIZE
    If defined, causes the XML_Size and XML_Index integer types to be at least 64 bits in size. This is intended to support processing of very large input streams, where the return values of @@ -399,23 +429,23 @@ processing of very large input streams, where the return values of could overflow. It may not be supported by all compilers, and is turned off by default.
    -
    XML_CONTEXT_BYTES
    +
    XML_CONTEXT_BYTES
    The number of input bytes of markup context which the parser will ensure are available for reporting via XML_GetInputContext. This is -normally set to 1024, and must be set to a positive integer. If this -is not defined, the input context will not be available and XML_GetInputContext will -always report NULL. Without this, Expat has a smaller memory +always report NULL. Without this, Expat has a smaller memory footprint and can be faster.
    -
    XML_STATIC
    +
    XML_STATIC
    On Windows, this should be set if Expat is going to be linked statically with the code that calls it; this is required to get all the right MSVC magic annotations correct. This is ignored on other platforms.
    -
    XML_ATTR_INFO
    +
    XML_ATTR_INFO
    If defined, makes the additional function XML_GetAttributeInfo available for reporting attribute byte offsets.
    @@ -669,8 +699,9 @@ function. The StartNamespaceDeclHandler is called prior to the start tag handler and the EndNamespaceDeclHandler is called after the corresponding end tag that ends the namespace's scope. The namespace start handler gets passed the prefix and URI for the namespace. For a -default namespace declaration (xmlns='...'), the prefix will be null. -The URI will be null for the case where the default namespace is being +default namespace declaration (xmlns='...'), the prefix will be +NULL. +The URI will be NULL for the case where the default namespace is being unset. The namespace end handler just gets the prefix for the closing scope.

    @@ -799,7 +830,7 @@ has already been passed into the parser. Applications for this include

      -
    • Supporting the Supporting the XInclude specification.
    • Delaying further processing until additional information is @@ -947,16 +978,20 @@ XML_Parser XMLCALL XML_ParserCreate(const XML_Char *encoding);
      -Construct a new parser. If encoding is non-null, it specifies a +

      +Construct a new parser. If encoding is non-NULL, it specifies a character encoding to use for the document. This overrides the document encoding declaration. There are four built-in encodings: +

      • US-ASCII
      • UTF-8
      • UTF-16
      • ISO-8859-1
      +

      Any other value will invoke a call to the UnknownEncodingHandler. +

      XML_ParserCreateNS

      @@ -1003,9 +1038,9 @@ typedef struct {

      Construct a new parser using the suite of memory handling functions -specified in ms. If ms is NULL, then use the +specified in ms. If ms is NULL, then use the standard set of memory management functions. If sep is -non NULL, then namespace processing is enabled in the created parser +non-NULL, then namespace processing is enabled in the created parser and the character pointed at by sep is used as the separator between the namespace URI and the local part of the name.

      @@ -1077,6 +1112,11 @@ exceed the maximum integer value. Input data at the end of a buffer will remain unprocessed if it is part of an XML token for which the end is not part of that buffer.

      +

      The application must make a concluding +XML_Parse or +XML_ParseBuffer call +with isFinal set to XML_TRUE.

      +

      XML_Parse

       enum XML_Status XMLCALL
      @@ -1092,17 +1132,50 @@ enum XML_Status {
       };
       
      +

      Parse some more of the document. The string s is a buffer containing part (or perhaps all) of the document. The number of bytes of s that are part of the document is indicated by len. This means -that s doesn't have to be null terminated. It also means that +that s doesn't have to be null-terminated. It also means that if len is larger than the number of bytes in the block of memory that s points at, then a memory fault is likely. The isFinal parameter informs the parser that this is the last piece of the document. Frequently, the last piece is empty (i.e. len is zero.) +

      + +

      If a parse error occurred, it returns XML_STATUS_ERROR. Otherwise it returns XML_STATUS_OK value. +Note that regardless of the return value, there is no guarantee that all +provided input has been parsed; only after the +concluding call will all handler callbacks and parsing errors have +happened. +

      + +

      +Simplified, XML_Parse can be considered a convenience wrapper +that is pairing calls +to XML_GetBuffer +and XML_ParseBuffer +(when Expat is built with macro XML_CONTEXT_BYTES +defined to a positive value, which is both common and default). +XML_Parse is then functionally equivalent to calling +XML_GetBuffer, +memcpy, and +XML_ParseBuffer. +

      + +

      +To avoid double copying of the input, direct use of functions +XML_GetBuffer and +XML_ParseBuffer is advised +for most production use, e.g. +if you're using read or similar functionality to fill your +buffers, fill directly into the buffer from +XML_GetBuffer, +then parse with XML_ParseBuffer. +

      XML_ParseBuffer

      @@ -1128,8 +1201,8 @@ XML_GetBuffer(XML_Parser p,
      Obtain a buffer of size len to read a piece of the document -into. A NULL value is returned if Expat can't allocate enough memory for -this buffer. A NULL value may also be returned if len is zero. +into. A NULL value is returned if Expat can't allocate enough memory for +this buffer. A NULL value may also be returned if len is zero. This has to be called prior to every call to XML_ParseBuffer. A typical use would look like this: @@ -1275,7 +1348,7 @@ typedef struct {

      Returns status of parser with respect to being initialized, parsing, finished, or suspended, and whether the final buffer is being processed. The status parameter must not be -NULL.

      +NULL.

      New in Expat 1.95.8.

      @@ -1290,7 +1363,7 @@ to ignore all text not descended from a para element. One way it could do this is to set the character handler when a para start tag is seen, and unset it for the corresponding end tag.

      -

      A handler may be unset by providing a NULL pointer to the +

      A handler may be unset by providing a NULL pointer to the appropriate handler setter. None of the handler setting functions have a return value.

      @@ -1318,7 +1391,7 @@ typedef void handler as a pointer to a vector of char pointers. Each attribute seen in a start (or empty) tag occupies 2 consecutive places in this vector: the attribute name followed by the attribute value. These pairs are terminated -by a null pointer.

      +by a NULL pointer.

      Note that an empty tag generates a call to both start and end handlers (in that order).

  • @@ -1368,7 +1441,7 @@ is NOT null-terminated. You have to use the length argument to deal with the end of the string. A single block of contiguous text free of markup may still result in a sequence of calls to this handler. In other words, if you're searching for a pattern in the text, it may -be split across calls to this handler. Note: Setting this handler to NULL +be split across calls to this handler. Note: Setting this handler to NULL may NOT immediately terminate call-backs if the parser is currently processing such a single block of contiguous markup-free text, as the parser will continue calling back until the end of the block is reached.

    @@ -1526,16 +1599,16 @@ the format expected by the context argument to XML_ExternalEntityParserCreate. code is valid only until the handler returns, so if the referenced entity is -to be parsed later, it must be copied. context is NULL +to be parsed later, it must be copied. context is NULL only when the entity is a parameter entity, which is how one can differentiate between general and parameter entities.

    The base parameter is the base to use for relative system identifiers. It is set by XML_SetBase and may be NULL. The +href="#XML_SetBase">XML_SetBase and may be NULL. The publicId parameter is the public id given in the entity -declaration and may be NULL. systemId is the system -identifier specified in the entity declaration and is never NULL.

    +declaration and may be NULL. systemId is the system +identifier specified in the entity declaration and is never NULL.

    There are a couple of ways in which this handler differs from others. First, this handler returns a status indicator (an @@ -1564,10 +1637,10 @@ XML_SetExternalEntityRefHandlerArg(XML_Parser p,

    Set the argument passed to the ExternalEntityRefHandler. If -arg is not NULL, it is the new value passed to the +arg is not NULL, it is the new value passed to the handler set using XML_SetExternalEntityRefHandler; if arg is -NULL, the argument passed to the handler function will be the parser +NULL, the argument passed to the handler function will be the parser object itself.

    Note: @@ -1650,14 +1723,14 @@ value is -1, then that byte is invalid as the initial byte in a sequence. If the value is -n, where n is an integer > 1, then n is the number of bytes in the sequence and the actual conversion is accomplished by a call to the function pointed at by convert. This function may return -1 -if the sequence itself is invalid. The convert pointer may be null if +if the sequence itself is invalid. The convert pointer may be NULL if there are only single byte codes. The data parameter passed to the convert function is the data pointer from XML_Encoding. The string s is NOT null-terminated and points at the sequence of bytes to be converted.

    The function pointed at by release is called by the -parser when it is finished with the encoding. It may be NULL.

    +parser when it is finished with the encoding. It may be NULL.

    @@ -1724,8 +1797,8 @@ typedef void

    Sets a handler that is called for XML declarations and also for text declarations discovered in external entities. The way to -distinguish is that the version parameter will be NULL -for text declarations. The encoding parameter may be NULL +distinguish is that the version parameter will be NULL +for text declarations. The encoding parameter may be NULL for an XML declaration. The standalone argument will contain -1, 0, or 1 indicating respectively that there was no standalone parameter in the declaration, that it was given as no, or @@ -1749,7 +1822,7 @@ typedef void

    Set a handler that is called at the start of a DOCTYPE declaration, before any external or internal subset is parsed. Both sysid -and pubid may be NULL. The has_internal_subset +and pubid may be NULL. The has_internal_subset will be non-zero if the DOCTYPE declaration has an internal subset.

    @@ -1831,7 +1904,7 @@ around and freed at a later stage.

    XML_Content nodes. If type equals XML_CTYPE_EMPTY or XML_CTYPE_ANY, then quant will be XML_CQUANT_NONE, and the other -fields will be zero or NULL. If type is +fields will be zero or NULL. If type is XML_CTYPE_MIXED, then quant will be XML_CQUANT_NONE or XML_CQUANT_REP and *** 32725 LINES SKIPPED *** From nobody Wed Feb 21 07:18:09 2024 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 4Tfng610ZVz5Bdm2; Wed, 21 Feb 2024 07:18: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 4Tfng60DrCz4tvG; Wed, 21 Feb 2024 07:18:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708499890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qwbp0gcGEZ6WjPSP7RQ+k6L4dSrWHkzoZzxkUI+iNos=; b=g5UWiaakJpxt8EbrstsvCcxIw8uoBafSHkX67h5w2qDlvdm48c0z9wNFd5u9FfDeGNTUlf 67v+uJ6aSEEol8xUTYNfR6gIzH9vUxh4veS2nzSx6AEi1jl4Zpvg7uqqGFhQFvePfDxFkH TNdMlvJDtf2jiPL9JxPHEYRazBB/CNOgR/P75vU7w75qvgV3sEHl3BeW/5R7URyUHxMbgT 97gd2jyPsEjyvtWpNwgg7w/SnSCHeC0/cfYkhuaEkdrntwuUSNZVXdmpmXZvkNldWaP8a9 g7XgLH1cDHCXTwXTLPI33aAnSH2zEPCecV6veOGwN9LnUffB9lodmZVwf8ed/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708499890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qwbp0gcGEZ6WjPSP7RQ+k6L4dSrWHkzoZzxkUI+iNos=; b=u8dmitz7BTBeb3OYw5vGfbCHvzMUJg8coK45RH4MBy5z7Mfe64CsBN0TCUjPrQSY/GfEcy HC0XNYZNOmdD3Lx/EVLlUxzYqOpR8rGC/6le54d0BiScT0A+mcsbRIW4YZZM/Mg/6zmx3q KVP2SSE5dhGSXaN8zZ1dJe/TsyGiMTKwyfeJk8VjxTjSoAy7Y+/bdCBDNefUuKIoP1B1Jq 8vOZWJwsGoV8wxy/D1ramkFJL//rh3Bn3LiAw5DXpQ/9xHf4V2P0aEtNoYeIwqjviYIP1t XdgHZKPXu/tJCV7f8Ale9RzEEClDNHsKP8PeOhAqtw0LERiEgAhp5cXThS3Tnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708499890; a=rsa-sha256; cv=none; b=Q/iFY9O71WEkTNx2YYklWXEPVN6X4FjGG6OqxhSPdtRu4Expr1S7CtrzPaEXpwfLGeN1g1 S/gu7Ppk2sWyToGOI6JWbsanqFY5uZat6gw/ydrKmpdbRbYirLYJnEFCud1hcHxMK+N3Ya KLj03frSSS3GAv4hBr38XJh0lNltgMxAwOtS007opHIrg2fWat/ur+BX5hjiwaFAMmw4dA SM558mMmjsIDQ9Y/qT2yguaMa0xV6m7TLO4+kbssy5kqyEcA/ZCRDQWrf5i1mNbasXN7TQ SZRPLX6KyIDRtFohhOtdFQYJjooQ/ycs8lBuZGLUIi9dVPcDuQTHtcD38gZONQ== 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 4Tfng56PXbzsw5; Wed, 21 Feb 2024 07:18: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 41L7I9j4091903; Wed, 21 Feb 2024 07:18:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L7I9fH091900; Wed, 21 Feb 2024 07:18:09 GMT (envelope-from git) Date: Wed, 21 Feb 2024 07:18:09 GMT Message-Id: <202402210718.41L7I9fH091900@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: c71ed5dc63de - stable/14 - sctp(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/stable/14 X-Git-Reftype: branch X-Git-Commit: c71ed5dc63de35de352e9d223577a5e4a34593f9 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=c71ed5dc63de35de352e9d223577a5e4a34593f9 commit c71ed5dc63de35de352e9d223577a5e4a34593f9 Author: Gordon Bergling AuthorDate: 2024-02-18 12:01:04 +0000 Commit: Gordon Bergling CommitDate: 2024-02-21 07:17:54 +0000 sctp(4): Fix a typo in a source code comment - s/anthing/anything/ (cherry picked from commit 2fb174d18a42d1b2965164186843540ee65881ea) --- sys/netinet/sctp_indata.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/sctp_indata.c b/sys/netinet/sctp_indata.c index c195cce96f39..a30fd95fef30 100644 --- a/sys/netinet/sctp_indata.c +++ b/sys/netinet/sctp_indata.c @@ -1359,7 +1359,7 @@ out: /* * Dump onto the re-assembly queue, in its proper place. After dumping on the - * queue, see if anthing can be delivered. If so pull it off (or as much as + * queue, see if anything can be delivered. If so pull it off (or as much as * we can. If we run out of space then we must dump what we can and set the * appropriate flag to say we queued what we could. */ From nobody Wed Feb 21 07:18:45 2024 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 4Tfngn2vf1z5Bf36; Wed, 21 Feb 2024 07:18: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 4Tfngn2Pk4z4vbv; Wed, 21 Feb 2024 07:18:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708499925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IEf5sbmSZ148dhkePGe8BkF28r3M1FhGibQ3Q7tzr1A=; b=LG4Nn9MGyfSsVFEBFBFEgDk8sOTug5kv4n5I3jPaR7relkIpTJ66d57srChGTM+LQ7CCIU JRRWuJ7tDvDocZ+QIaqP+pO0fLhGNNiRWG/iaJMXtPzFYzzdnhyX6lpRCaYwsg5TkoAhLL ZmTZaw0lwSaIMQPr8QhwXyIihUwPcAJqN9JRplu7UoaRTnHkX5FllMkQtEbxnEZtVK9rMC sZlpDIousa2wW4Wi4vMVPHETunh8rgzRL0S0+/RtSeh+Rs+cNZ6D+JZ6+rlynx2rU3bCdu RACnsWjO0vKo+lpWWCto2A+52j08jCK6x47HhrBozKcMXZKHQo8haZh0krXgaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708499925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IEf5sbmSZ148dhkePGe8BkF28r3M1FhGibQ3Q7tzr1A=; b=kD3zkHOt4pk5JQBtMYPuyGr4shaGXOqjWuhbUZx/doR4+cJcDiqzpkvtLLVVTZfUdcHiVv +wVe5y6TGBR9vWU3MamYt+6BBE1Np33Y0THrbP+WmHPsTV/V0lQCgKezGyGpFMez6oBEpe 8exqfG5VPU5EcYoV0EFvVLvoLJ3/BcJjQs4Mrhg7ZX8imNFA11dr3JCpV+/jNgNucWhpPJ ZBDnBZcnz1oG3eVp4Q1YQa7rteJDoogjhlEPzcNMY7XDj3IYzMDdYrxtZvkS6QuTKmKOIA yyCHgqxGARJpfW3mkJxYkT2pOqasS8BS6DtUFEfSSbUzcgCcc6WjD0zdShYxFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708499925; a=rsa-sha256; cv=none; b=AdJValFxcKM2yLsJEULYNbm3JuvI05eeqfT0dTQK36fIrQGFRx+vvIQ+N4CFTU6L6wFNSJ MnL46CkgJdgje6830PpqaLSFhaceI7GzzPK2MWE7Gak/Aiqe6337T9xjAAcC28A2kRobbr KIY/ja+GBq2N2z2TbvQL6Bsk8Y1TKFOWIpk1+emT7S0grZr690O/pz6GZLbIYzkVXR5J80 /GEqq1F4f1+R76g1OId07BysfCxDBl+ujIoCutLbubWLPsyrwJrUHjxz5Tz5RNLZPGGFad i1Es5RVqUhlVZAoVbvs1Wix2CDLHegXnIMbdeq1pG94jvn3TttEV6rS3zNpJuw== 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 4Tfngn1Sb7ztCK; Wed, 21 Feb 2024 07:18: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 41L7Ij8W092093; Wed, 21 Feb 2024 07:18:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L7Ij8S092090; Wed, 21 Feb 2024 07:18:45 GMT (envelope-from git) Date: Wed, 21 Feb 2024 07:18:45 GMT Message-Id: <202402210718.41L7Ij8S092090@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: 0c3ca6ce1fca - stable/13 - sctp(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/stable/13 X-Git-Reftype: branch X-Git-Commit: 0c3ca6ce1fca963662d09bee0c43b3a026233222 Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=0c3ca6ce1fca963662d09bee0c43b3a026233222 commit 0c3ca6ce1fca963662d09bee0c43b3a026233222 Author: Gordon Bergling AuthorDate: 2024-02-18 12:01:04 +0000 Commit: Gordon Bergling CommitDate: 2024-02-21 07:18:29 +0000 sctp(4): Fix a typo in a source code comment - s/anthing/anything/ (cherry picked from commit 2fb174d18a42d1b2965164186843540ee65881ea) --- sys/netinet/sctp_indata.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/sctp_indata.c b/sys/netinet/sctp_indata.c index c195cce96f39..a30fd95fef30 100644 --- a/sys/netinet/sctp_indata.c +++ b/sys/netinet/sctp_indata.c @@ -1359,7 +1359,7 @@ out: /* * Dump onto the re-assembly queue, in its proper place. After dumping on the - * queue, see if anthing can be delivered. If so pull it off (or as much as + * queue, see if anything can be delivered. If so pull it off (or as much as * we can. If we run out of space then we must dump what we can and set the * appropriate flag to say we queued what we could. */ From nobody Wed Feb 21 07:39:36 2024 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 4Tfp7r6gM4z5BgSq; Wed, 21 Feb 2024 07:39: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 4Tfp7r6K1Lz3xSS; Wed, 21 Feb 2024 07:39:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708501176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1sC48S9cCJDVWYv48pXA9wHpNFi6M2P9mEPBz42yzAI=; b=jPJvFY0kYcvKqjza8EYnyFKTIW1utGw2y801BoqjB0OiIMYv13fX4B1aPhEGtNaoYDCepR jtt7Dswifw5dqWmI6ppo8vzxQ6P0/B+iSHToVX+fPb4BS78tm0U6Q7xhCdEET9urIA93Wk +2G44/Dfb15C7qStbaWnaXmF/GL+tK7BxE6UByHzozmGNLLFgv09MRQ+Va60aDe6VGKniY 9GRbAGoqR9K1O0nW7WOuugp92MRfL1aYAHwcsh55aFzChXd8V2my11rYzcvJeh0JKZngLi GeoNxZr6Uue4PZKioTATKj8ymIAkNftt1xHc2MsgpIdrUnitb1ZoPQ3kmyZS3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708501176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1sC48S9cCJDVWYv48pXA9wHpNFi6M2P9mEPBz42yzAI=; b=ulrkcOWuzeRuJnPk7+A9N+ZftxApzwiRqsi6Ew4yRD0QaX4yI9TRlw9b2xywgFpO5138AH OjwhqWdwfiSFnkIQX5BegqL8v/x2o/pfXJ12RwBqAEda7uEgVRUKpuZxmO+xA2iU5ZRbID WK9A0y8k8bbyO0i97oLyXFbYMIrNv82/C0c/eRApLEUmzEAdOEncgAZ9HxTYXbCkCE1rT0 n9dUZDiBYkp6+r8tLH9FFSoZwLSJUkQiBDFBqhOBDKgfQv/t08HwqbStrdGLmhAyJmc4bV QdHLXrTOcm90dFkrPL3GBSKCJDCcrLurjO6rktNE4ZIdF2h0FqYnO86wkSpIKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708501176; a=rsa-sha256; cv=none; b=CeeIE33fZY0TmrRLwQsJ/p7CCllOb3bOP9nj62SkvMWN8MzZ936ZaTnPxPgK9bWfV4FTnV lLP49YJQMJFF569UQRSRZIks1pP97EuxR3qSh6x6iguU4w/QhlFin54RZAj6UxCQsOcIOb jv+3zb08j2R63en3B5R0Oxb2UdahPj9l+JwkT+UvRwUwvfKlZSw3evsz4EDCdRJJAALsgj wz/b2c1ST5ujnN3lw0j6gilhQr1atZNAvy2EcsKu/6V3rDmdLKujAigU2sYTGBLV/BKWyh eEPHEStDXcloDmEjua3P/18/zzqfNhVoaa73pCm4fssKY3UzkvAEWI2FYqUrHw== 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 4Tfp7r5N4SztDZ; Wed, 21 Feb 2024 07:39: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 41L7daxe025708; Wed, 21 Feb 2024 07:39:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L7danu025705; Wed, 21 Feb 2024 07:39:36 GMT (envelope-from git) Date: Wed, 21 Feb 2024 07:39:36 GMT Message-Id: <202402210739.41L7danu025705@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 07ece5936ab1 - releng/13.3 - MFC: MFV: expat 2.6.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=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 07ece5936ab1129003231af9c593a9cb77f763b3 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=07ece5936ab1129003231af9c593a9cb77f763b3 commit 07ece5936ab1129003231af9c593a9cb77f763b3 Author: Xin LI AuthorDate: 2024-02-17 21:56:56 +0000 Commit: Xin LI CommitDate: 2024-02-21 07:39:10 +0000 MFC: MFV: expat 2.6.0. Approved by: re (cperciva) (cherry picked from commit 4543ef516683042d46f3bd3bb8a4f3f746e00499) (cherry picked from commit 60cfaec917dad12ceab7450a518616668d9f1ed0) --- contrib/expat/Changes | 118 +- contrib/expat/Makefile.am | 10 +- contrib/expat/Makefile.in | 22 +- contrib/expat/README.md | 7 +- contrib/expat/configure.ac | 43 +- contrib/expat/doc/Makefile.in | 10 +- contrib/expat/doc/ok.min.css | 4 +- contrib/expat/doc/reference.html | 222 +- contrib/expat/doc/xmlwf.1 | 24 +- contrib/expat/doc/xmlwf.xml | 50 +- contrib/expat/examples/Makefile.am | 9 +- contrib/expat/examples/Makefile.in | 48 +- contrib/expat/examples/element_declarations.c | 234 + contrib/expat/expat_config.h.in | 8 +- contrib/expat/fuzz/xml_parse_fuzzer.c | 53 +- contrib/expat/fuzz/xml_parsebuffer_fuzzer.c | 68 +- contrib/expat/lib/Makefile.in | 10 +- contrib/expat/lib/expat.h | 28 +- contrib/expat/lib/internal.h | 8 +- contrib/expat/lib/siphash.h | 10 +- contrib/expat/lib/xmlparse.c | 558 +- contrib/expat/lib/xmlrole.c | 6 +- contrib/expat/lib/xmlrole.h | 6 +- contrib/expat/lib/xmltok.c | 29 +- contrib/expat/lib/xmltok.h | 8 +- contrib/expat/lib/xmltok_impl.c | 2 +- contrib/expat/tests/Makefile.am | 61 +- contrib/expat/tests/Makefile.in | 261 +- contrib/expat/tests/acc_tests.c | 396 + contrib/expat/tests/acc_tests.h | 56 + contrib/expat/tests/acc_tests_cxx.cpp | 32 + contrib/expat/tests/alloc_tests.c | 2127 ++++ contrib/expat/tests/alloc_tests.h | 56 + contrib/expat/tests/alloc_tests_cxx.cpp | 32 + contrib/expat/tests/basic_tests.c | 6076 +++++++++ contrib/expat/tests/basic_tests.h | 56 + contrib/expat/tests/basic_tests_cxx.cpp | 32 + contrib/expat/tests/benchmark/Makefile.in | 10 +- contrib/expat/tests/benchmark/benchmark.c | 14 +- contrib/expat/tests/chardata.c | 16 +- contrib/expat/tests/chardata_cxx.cpp | 32 + contrib/expat/tests/common.c | 325 + contrib/expat/tests/common.h | 162 + contrib/expat/tests/common_cxx.cpp | 32 + contrib/expat/tests/dummy.c | 261 + contrib/expat/tests/dummy.h | 150 + contrib/expat/tests/dummy_cxx.cpp | 32 + contrib/expat/tests/handlers.c | 1932 +++ contrib/expat/tests/handlers.h | 595 + contrib/expat/tests/handlers_cxx.cpp | 32 + contrib/expat/tests/memcheck.c | 21 +- contrib/expat/tests/memcheck_cxx.cpp | 32 + contrib/expat/tests/minicheck.c | 58 +- contrib/expat/tests/minicheck.h | 79 +- contrib/expat/tests/minicheck_cxx.cpp | 32 + contrib/expat/tests/misc_tests.c | 523 + contrib/expat/tests/misc_tests.h | 56 + contrib/expat/tests/misc_tests_cxx.cpp | 32 + contrib/expat/tests/ns_tests.c | 754 ++ contrib/expat/tests/ns_tests.h | 56 + contrib/expat/tests/ns_tests_cxx.cpp | 32 + contrib/expat/tests/nsalloc_tests.c | 1537 +++ contrib/expat/tests/nsalloc_tests.h | 56 + contrib/expat/tests/nsalloc_tests_cxx.cpp | 32 + contrib/expat/tests/runtests.c | 12479 +------------------ .../tests/{runtestspp.cpp => runtests_cxx.cpp} | 4 +- contrib/expat/tests/structdata.c | 37 +- contrib/expat/tests/structdata_cxx.cpp | 32 + contrib/expat/xmlwf/Makefile.in | 10 +- contrib/expat/xmlwf/readfilemap.c | 21 +- contrib/expat/xmlwf/xmlfile.c | 16 +- contrib/expat/xmlwf/xmlfile.h | 4 +- contrib/expat/xmlwf/xmlwf.c | 156 +- contrib/expat/xmlwf/xmlwf_helpgen.py | 31 +- lib/libexpat/expat_config.h | 16 +- lib/libexpat/libbsdxml.3 | 4 +- 76 files changed, 17368 insertions(+), 13115 deletions(-) diff --git a/contrib/expat/Changes b/contrib/expat/Changes index e67171056950..a7d4caf9ac81 100644 --- a/contrib/expat/Changes +++ b/contrib/expat/Changes @@ -2,6 +2,120 @@ NOTE: We are looking for help with a few things: https://github.com/libexpat/libexpat/labels/help%20wanted If you can help, please get in touch. Thanks! +Release 2.6.0 Tue February 6 2024 + Security fixes: + #789 #814 CVE-2023-52425 -- Fix quadratic runtime issues with big tokens + that can cause denial of service, in partial where + dealing with compressed XML input. Applications + that parsed a document in one go -- a single call to + functions XML_Parse or XML_ParseBuffer -- were not affected. + The smaller the chunks/buffers you use for parsing + previously, the bigger the problem prior to the fix. + Backporters should be careful to no omit parts of + pull request #789 and to include earlier pull request #771, + in order to not break the fix. + #777 CVE-2023-52426 -- Fix billion laughs attacks for users + compiling *without* XML_DTD defined (which is not common). + Users with XML_DTD defined have been protected since + Expat >=2.4.0 (and that was CVE-2013-0340 back then). + + Bug fixes: + #753 Fix parse-size-dependent "invalid token" error for + external entities that start with a byte order mark + #780 Fix NULL pointer dereference in setContext via + XML_ExternalEntityParserCreate for compilation with + XML_DTD undefined + #812 #813 Protect against closing entities out of order + + Other changes: + #723 Improve support for arc4random/arc4random_buf + #771 #788 Improve buffer growth in XML_GetBuffer and XML_Parse + #761 #770 xmlwf: Support --help and --version + #759 #770 xmlwf: Support custom buffer size for XML_GetBuffer and read + #744 xmlwf: Improve language and URL clickability in help output + #673 examples: Add new example "element_declarations.c" + #764 Be stricter about macro XML_CONTEXT_BYTES at build time + #765 Make inclusion to expat_config.h consistent + #726 #727 Autotools: configure.ac: Support --disable-maintainer-mode + #678 #705 .. + #706 #733 #792 Autotools: Sync CMake templates with CMake 3.26 + #795 Autotools: Make installation of shipped man page doc/xmlwf.1 + independent of docbook2man availability + #815 Autotools|CMake: Add missing -DXML_STATIC to pkg-config file + section "Cflags.private" in order to fix compilation + against static libexpat using pkg-config on Windows + #724 #751 Autotools|CMake: Require a C99 compiler + (a de-facto requirement already since Expat 2.2.2 of 2017) + #793 Autotools|CMake: Fix PACKAGE_BUGREPORT variable + #750 #786 Autotools|CMake: Make test suite require a C++11 compiler + #749 CMake: Require CMake >=3.5.0 + #672 CMake: Lowercase off_t and size_t to help a bug in Meson + #746 CMake: Sort xmlwf sources alphabetically + #785 CMake|Windows: Fix generation of DLL file version info + #790 CMake: Build tests/benchmark/benchmark.c as well for + a build with -DEXPAT_BUILD_TESTS=ON + #745 #757 docs: Document the importance of isFinal + adjust tests + accordingly + #736 docs: Improve use of "NULL" and "null" + #713 docs: Be specific about version of XML (XML 1.0r4) + and version of C (C99); (XML 1.0r5 will need a sponsor.) + #762 docs: reference.html: Promote function XML_ParseBuffer more + #779 docs: reference.html: Add HTML anchors to XML_* macros + #760 docs: reference.html: Upgrade to OK.css 1.2.0 + #763 #739 docs: Fix typos + #696 docs|CI: Use HTTPS URLs instead of HTTP at various places + #669 #670 .. + #692 #703 .. + #733 #772 Address compiler warnings + #798 #800 Address clang-tidy warnings + #775 #776 Version info bumped from 9:10:8 (libexpat*.so.1.8.10) + to 10:0:9 (libexpat*.so.1.9.0); see https://verbump.de/ + for what these numbers do + + Infrastructure: + #700 #701 docs: Document security policy in file SECURITY.md + #766 docs: Improve parse buffer variables in-code documentation + #674 #738 .. + #740 #747 .. + #748 #781 #782 Refactor coverage and conformance tests + #714 #716 Refactor debug level variables to unsigned long + #671 Improve handling of empty environment variable value + in function getDebugLevel (without visible user effect) + #755 #774 .. + #758 #783 .. + #784 #787 tests: Improve test coverage with regard to parse chunk size + #660 #797 #801 Fuzzing: Improve fuzzing coverage + #367 #799 Fuzzing|CI: Start running OSS-Fuzz fuzzing regression tests + #698 #721 CI: Resolve some Travis CI leftovers + #669 CI: Be robust towards absence of Git tags + #693 #694 CI: Set permissions to "contents: read" for security + #709 CI: Pin all GitHub Actions to specific commits for security + #739 CI: Reject spelling errors using codespell + #798 CI: Enforce clang-tidy clean code + #773 #808 .. + #809 #810 CI: Upgrade Clang from 15 to 18 + #796 CI: Start using Clang's Control Flow Integrity sanitizer + #675 #720 #722 CI: Adapt to breaking changes in GitHub Actions Ubuntu images + #689 CI: Adapt to breaking changes in Clang/LLVM Debian packaging + #763 CI: Adapt to breaking changes in codespell + #803 CI: Adapt to breaking changes in Cppcheck + + Special thanks to: + Ivan Galkin + Joyce Brum + Philippe Antoine + Rhodri James + Snild Dolkow + spookyahell + Steven Garske + and + Clang AddressSanitizer + Clang UndefinedBehaviorSanitizer + codespell + GCC Farm Project + OSS-Fuzz + Sony Mobile + Release 2.5.0 Tue October 25 2022 Security fixes: #616 #649 #650 CVE-2022-43680 -- Fix heap use-after-free after overeager @@ -11,7 +125,7 @@ Release 2.5.0 Tue October 25 2022 arbitrary code execution. Bug fixes: - #612 #645 Fix curruption from undefined entities + #612 #645 Fix corruption from undefined entities #613 #654 Fix case when parsing was suspended while processing nested entities #616 #652 #653 Stop leaking opening tag bindings after a closing tag @@ -318,7 +432,7 @@ Release 2.4.2 Sun December 19 2021 see https://verbump.de/ for what these numbers do Special thanks to: - Dong-hee Na + Donghee Na Joergen Ibsen Kai Pastor diff --git a/contrib/expat/Makefile.am b/contrib/expat/Makefile.am index 37ae3738edd3..9c2259d23e63 100644 --- a/contrib/expat/Makefile.am +++ b/contrib/expat/Makefile.am @@ -6,9 +6,10 @@ # \___/_/\_\ .__/ \__,_|\__| # |_| XML parser # -# Copyright (c) 2017-2021 Sebastian Pipping +# Copyright (c) 2017-2023 Sebastian Pipping # Copyright (c) 2018 KangLin # Copyright (c) 2022 Johnny Jazeix +# Copyright (c) 2023 Sony Corporation / Snild Dolkow # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -84,7 +85,7 @@ _EXTRA_DIST_WINDOWS = \ win32/expat.iss \ win32/MANIFEST.txt \ win32/README.txt \ - win32/version.rc + win32/version.rc.cmake EXTRA_DIST = \ $(_EXTRA_DIST_CMAKE) \ @@ -131,6 +132,11 @@ buildlib: run-benchmark: $(MAKE) -C tests/benchmark ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/recset.xml 65535 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_attr.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_cdata.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_comment.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_tag.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_text.xml 4096 3 .PHONY: download-xmlts-zip download-xmlts-zip: diff --git a/contrib/expat/Makefile.in b/contrib/expat/Makefile.in index 008c4109b793..f505224f6fa8 100644 --- a/contrib/expat/Makefile.in +++ b/contrib/expat/Makefile.in @@ -22,9 +22,10 @@ # \___/_/\_\ .__/ \__,_|\__| # |_| XML parser # -# Copyright (c) 2017-2021 Sebastian Pipping +# Copyright (c) 2017-2023 Sebastian Pipping # Copyright (c) 2018 KangLin # Copyright (c) 2022 Johnny Jazeix +# Copyright (c) 2023 Sony Corporation / Snild Dolkow # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -136,6 +137,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/conftools/ax-append-compile-flags.m4 \ $(top_srcdir)/conftools/ax-append-link-flags.m4 \ $(top_srcdir)/conftools/expatcfg-compiler-supports-visibility.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx-11.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -339,6 +342,7 @@ FGREP = @FGREP@ FILECMD = @FILECMD@ FILEMAP = @FILEMAP@ GREP = @GREP@ +HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -358,6 +362,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -478,7 +483,7 @@ _EXTRA_DIST_WINDOWS = \ win32/expat.iss \ win32/MANIFEST.txt \ win32/README.txt \ - win32/version.rc + win32/version.rc.cmake EXTRA_DIST = \ $(_EXTRA_DIST_CMAKE) \ @@ -506,7 +511,7 @@ all: expat_config.h .SUFFIXES: am--refresh: Makefile @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -532,9 +537,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): @@ -545,7 +550,7 @@ expat_config.h: stamp-h1 stamp-h1: $(srcdir)/expat_config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status expat_config.h -$(srcdir)/expat_config.h.in: $(am__configure_deps) +$(srcdir)/expat_config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ @@ -1092,6 +1097,11 @@ buildlib: run-benchmark: $(MAKE) -C tests/benchmark ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/recset.xml 65535 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_attr.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_cdata.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_comment.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_tag.xml 4096 3 + ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/aaaaaa_text.xml 4096 3 .PHONY: download-xmlts-zip download-xmlts-zip: diff --git a/contrib/expat/README.md b/contrib/expat/README.md index e5e237fc9496..43c4f4f3dbb3 100644 --- a/contrib/expat/README.md +++ b/contrib/expat/README.md @@ -1,13 +1,14 @@ -[![Run Linux Travis CI tasks](https://github.com/libexpat/libexpat/actions/workflows/linux.yml/badge.svg)](https://github.com/libexpat/libexpat/actions/workflows/linux.yml) +[![Run Linux CI tasks](https://github.com/libexpat/libexpat/actions/workflows/linux.yml/badge.svg)](https://github.com/libexpat/libexpat/actions/workflows/linux.yml) [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/libexpat/libexpat?svg=true)](https://ci.appveyor.com/project/libexpat/libexpat) [![Packaging status](https://repology.org/badge/tiny-repos/expat.svg)](https://repology.org/metapackage/expat/versions) [![Downloads SourceForge](https://img.shields.io/sourceforge/dt/expat?label=Downloads%20SourceForge)](https://sourceforge.net/projects/expat/files/) [![Downloads GitHub](https://img.shields.io/github/downloads/libexpat/libexpat/total?label=Downloads%20GitHub)](https://github.com/libexpat/libexpat/releases) -# Expat, Release 2.5.0 +# Expat, Release 2.6.0 -This is Expat, a C library for parsing XML, started by +This is Expat, a C99 library for parsing +[XML 1.0 Fourth Edition](https://www.w3.org/TR/2006/REC-xml-20060816/), started by [James Clark](https://en.wikipedia.org/wiki/James_Clark_%28programmer%29) in 1997. Expat is a stream-oriented XML parser. This means that you register handlers with the parser before starting the parse. These handlers diff --git a/contrib/expat/configure.ac b/contrib/expat/configure.ac index d3642dea5864..a5d1ff9317c8 100644 --- a/contrib/expat/configure.ac +++ b/contrib/expat/configure.ac @@ -11,7 +11,7 @@ dnl Copyright (c) 2000 Clark Cooper dnl Copyright (c) 2000-2005 Fred L. Drake, Jr. dnl Copyright (c) 2001-2003 Greg Stein dnl Copyright (c) 2006-2012 Karl Waclawek -dnl Copyright (c) 2016-2022 Sebastian Pipping +dnl Copyright (c) 2016-2024 Sebastian Pipping dnl Copyright (c) 2017 S. P. Zeidler dnl Copyright (c) 2017 Stephen Groat dnl Copyright (c) 2017-2020 Joe Orton @@ -60,7 +60,7 @@ m4_define([expat_version], m4_ifdef([__gnu__], [esyscmd(conftools/get-version.sh lib/expat.h)], [2.2.x])) -AC_INIT([expat], expat_version, [expat-bugs@libexpat.org]) +AC_INIT([expat], expat_version, [https://github.com/libexpat/libexpat/issues]) m4_undefine([expat_version]) AC_CONFIG_SRCDIR([Makefile.in]) @@ -68,6 +68,7 @@ AC_CONFIG_AUX_DIR([conftools]) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_HOST AM_INIT_AUTOMAKE +AM_MAINTAINER_MODE([enable]) # to allow argument --disable-maintainer-mode dnl @@ -81,9 +82,9 @@ dnl dnl If the API changes incompatibly set LIBAGE back to 0 dnl -LIBCURRENT=9 # sync -LIBREVISION=10 # with -LIBAGE=8 # CMakeLists.txt! +LIBCURRENT=10 # sync +LIBREVISION=0 # with +LIBAGE=9 # CMakeLists.txt! AC_CONFIG_HEADERS([expat_config.h]) AH_TOP([#ifndef EXPAT_CONFIG_H @@ -105,6 +106,9 @@ AC_SUBST(LIBAGE) AC_LANG([C]) AC_PROG_CC_C99 +AS_IF([test "${ac_cv_prog_cc_c99}" = no], + [AC_MSG_ERROR([Expat requires a C99 compiler.])]) + AS_IF([test "$GCC" = yes], [AX_APPEND_COMPILE_FLAGS([-Wall -Wextra], [AM_CFLAGS]) dnl Be careful about adding the -fexceptions option; some versions of @@ -176,6 +180,8 @@ AC_ARG_WITH([tests], [with_tests=yes]) AM_CONDITIONAL([WITH_TESTS], [test x${with_tests} = xyes]) +AS_IF([test x${with_tests} = xyes], + [AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])]) AS_VAR_SET([EXPATCFG_ON_MINGW],[no]) AS_CASE("${host_os}", @@ -202,14 +208,16 @@ AS_IF([test "x${with_libbsd}" != xno], [], [AS_IF([test "x${with_libbsd}" = xyes], [AC_MSG_ERROR([Enforced use of libbsd cannot be satisfied.])])])]) -AC_MSG_CHECKING([for arc4random_buf (BSD or libbsd)]) +AC_MSG_CHECKING([for arc4random_buf (BSD, libbsd or glibc 2.36+)]) AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include /* for arc4random_buf on BSD, for NULL */ #if defined(HAVE_LIBBSD) # include + #else + # include /* for arc4random_buf on BSD */ #endif int main() { - arc4random_buf(NULL, 0U); + char dummy[[123]]; // double brackets for m4 + arc4random_buf(dummy, 0U); return 0; } ])], @@ -217,7 +225,7 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([ AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) - AC_MSG_CHECKING([for arc4random (BSD, macOS or libbsd)]) + AC_MSG_CHECKING([for arc4random (BSD, macOS, libbsd or glibc 2.36+)]) AC_LINK_IFELSE([AC_LANG_SOURCE([ #if defined(HAVE_LIBBSD) # include @@ -295,6 +303,8 @@ AC_SUBST(FILEMAP) dnl Some basic configuration: AC_DEFINE([XML_NS], 1, [Define to make XML Namespaces functionality available.]) +AC_DEFINE([XML_GE], 1, + [Define as 1/0 to enable/disable support for general entities.]) AC_DEFINE([XML_DTD], 1, [Define to make parameter entity parsing functionality available.]) AC_DEFINE([XML_DEV_URANDOM], 1, @@ -319,9 +329,10 @@ AS_HELP_STRING([--disable-xml-context], AS_IF([test "x${enable_xml_context}" != "xno"], [AS_IF([test "x${enable_xml_context}" = "xyes" \ -o "x${enable_xml_context}" = "x"], - [AS_VAR_SET(enable_xml_context,1024)]) - AC_DEFINE_UNQUOTED([XML_CONTEXT_BYTES], [${enable_xml_context}], - [Define to specify how much context to retain around the current parse point.])]) + [AS_VAR_SET(enable_xml_context,1024)])], + [AS_VAR_SET(enable_xml_context,0)]) +AC_DEFINE_UNQUOTED([XML_CONTEXT_BYTES], [${enable_xml_context}], + [Define to specify how much context to retain around the current parse point, 0 to disable.]) AC_ARG_WITH([docbook], [AS_HELP_STRING([--with-docbook], @@ -345,8 +356,12 @@ AS_IF([test "x${DOCBOOK_TO_MAN}" != x -a "x$with_docbook" != xno], You can also configure using --without-docbook if you can do without a man page for xmlwf.])])]) -AM_CONDITIONAL(WITH_DOCBOOK, [test "x${DOCBOOK_TO_MAN}" != x]) - +dnl This will make sure that a release tarball shipping a pre-rendered xmlwf man page will +dnl get it installed, independent of whether some flavor of docbook2man is available. +dnl This relies on file xmlwf.1 being at least as recent as its source file xmlwf.xml. +AS_IF([test -f "${srcdir}"/doc/xmlwf.1], + [AM_CONDITIONAL(WITH_DOCBOOK, [true])], + [AM_CONDITIONAL(WITH_DOCBOOK, [test "x${DOCBOOK_TO_MAN}" != x])]) dnl Configure CMake file templates dnl NOTE: The *_TRUE variables read here are Automake conditionals diff --git a/contrib/expat/doc/Makefile.in b/contrib/expat/doc/Makefile.in index 7fef3eda1897..18f86be3947b 100644 --- a/contrib/expat/doc/Makefile.in +++ b/contrib/expat/doc/Makefile.in @@ -132,6 +132,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/conftools/ax-append-compile-flags.m4 \ $(top_srcdir)/conftools/ax-append-link-flags.m4 \ $(top_srcdir)/conftools/expatcfg-compiler-supports-visibility.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx.m4 \ + $(top_srcdir)/conftools/ax-cxx-compile-stdcxx-11.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -241,6 +243,7 @@ FGREP = @FGREP@ FILECMD = @FILECMD@ FILEMAP = @FILEMAP@ GREP = @GREP@ +HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -260,6 +263,7 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -351,7 +355,7 @@ EXTRA_DIST = \ all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -375,9 +379,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): diff --git a/contrib/expat/doc/ok.min.css b/contrib/expat/doc/ok.min.css index 8b5f86e7042c..d324fabb2873 100644 --- a/contrib/expat/doc/ok.min.css +++ b/contrib/expat/doc/ok.min.css @@ -1,2 +1,2 @@ -/*! OK.css v1.0.3 | MIT License | github.com/andrewh0/okcss */@import url("https://rsms.me/inter/inter.css"); -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus -inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--ok-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue","Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Se goe UI Symbol","Noto Color Emoji";--ok-mono:! SFMono-Regular,Menlo,Monaco,Consolas,"Ubuntu Mono","Liberation Mono","Courier New",Courier,monospace;--ok-fw-0:400;--ok-fw-1:600;--ok-fw-2:700;--ok-fw-3:700;--ok-fs-0:2.5rem;--ok-fs-1:2rem;--ok-fs-2:1.5rem;--ok-fs-3:1.25rem;--ok-fs-4:1rem;--ok-fs-5:0.75rem;--ok-br:0.25rem;--ok-s-0:0;--ok-s-1:0.25rem;--ok-s-2:0.5rem;--ok-s-3:1rem;--ok-s-4:1.5rem;--ok-s-5:2rem;--ok-s-6:2.5rem;--ok-lh-body:1.5;--ok-lh-heading:1.25;--ok-t-hl:#ffcf30;--ok-accent-0:#3e67fa;--ok-accent-1:#4788ff;--ok-tc-accent:#3173de;--ok-tc-code:#c23a30;--ok-tc-0:#000;--ok-tc-1:#747474;--ok-tc-2:#848484;--ok-bg-0:#fff;--ok-bg-1:#f0f0f0;--ok-bg-2:#ccc;--ok-b-0:1px solid #cbcbcb;--ok-b-1:1px solid #848484;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23747474'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8 ' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23848484'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--ok-tc-accent:#5c9aff;--ok-tc-code:#ed5853;--ok-tc-0:#fff;--ok-tc-1:#ababab;--ok-tc-2:#929292;--ok-bg-0:#000;--ok-bg-1:#212121;--ok-bg-2:#3e3e3e;--ok-b-0:1px solid #747474;--ok-b-1:1px solid #929292;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23ababab'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23929292'/%3E%3C/svg%3E")}}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{font-family:var(--ok-sans);line-sizing:normal;line-height:var(--ok-lh-body);font-weight:var(--ok-fw-0);color:var(--ok-tc-0);b ackground-color:var(--ok-bg-0);-webkit-font-! smoothing! :antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility}@supports (font-variation-settings:normal){html{font-family:Inter var,var(--ok-sans)}}button,input,optgroup,select,textarea{font-family:inherit;line-height:var(--ok-lh-body)}[role=button],button{cursor:pointer}audio,canvas,embed,iframe,img,input,object,select,svg,textarea,video{display:block}img,video{max-width:100%;height:auto}body{padding:var(--ok-s-3);max-width:80ch;margin:auto}h1{font-size:var(--ok-fs-0);margin:0}h2{font-size:var(--ok-fs-1)}h3{font-size:var(--ok-fs-2)}h4{font-size:var(--ok-fs-3)}h5{font-size:var(--ok-fs-4)}h6{font-size:var(--ok-fs-5);text-transform:uppercase;font-weight:var(--ok-fw-1)}h1,h2,h3,h4,h5,h6{line-height:var(--ok-lh-heading);font-weight:var(--ok-fw-3)}p{font-size:var(--ok-fs-4)}small{font-size:var(--ok-fs-5)}b,dt,strong{font-weight:var(--ok-fw-2)}address,article,aside,a udio,blockquote,button,canvas,dd,details,dialog,div,dl,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,img,input,main,nav,object,ol,p,pre,section,select,summary,svg,table,textarea,ul,video{margin-bottom:var(--ok-s-4)}address:last-child,article:last-child,aside:last-child,blockquote:last-child,dd:last-child,details:last-child,dialog:last-child,div:last-child,dl:last-child,dt:last-child,fieldset:last-child,figcaption:last-child,figure:last-child,footer:last-child,form:last-child,h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,header:last-child,hgroup:last-child,hr:last-child,input[type=checkbox],input[type=radio],main:last-child,nav:last-child,ol:last-child,p:last-child,pre:last-child,section:last-child,table:last-child,ul:last-child{margin-bottom:0}fieldset{padding:var(--ok-s-3);border:var(--ok-b-0);border-radius:var(--ok-br)}legend{font-weight:var(--ok-fw-1);text-transform:uppercase;font-size:var(--ok-fs-5)}i nput,select{padding:var(--ok-s-2);background! :var(--ok! -bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-width:25ch}input:disabled,select:disabled,textarea:disabled{color:var(--ok-tc-2)}input::placeholder,textarea::placeholder{color:var(--ok-tc-2)}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--ok-tc-2)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--ok-tc-2)}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--ok-tc-2)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--ok-tc-2)}input::-webkit-clear-button,input::-webkit-inner-spin-button,input::-webkit-search-cancel-button,input::-webkit-search-results-button{display:none}input::-ms-clear,input::-ms-reveal{display:none}input:disabled,textarea:disabled{background-color:var(--ok-bg-1)}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=file]{max-width:300px}input[type=number]{-moz-appearance:textfield}input[type=checkbox],input[type= radio]{display:inline;min-width:auto}input[type=color]{height:2.5rem}input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week]{height:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative}input[type=date]:before,input[type=datetime-local]:before,input[type=month]:before,input[type=time]:before,input[type=week]:before{position:absolute;right:0;top:0;background-image:var(--ok-down-0);background-repeat:no-repeat;background-position:right .2em top 50%;background-size:2em auto;width:2.5rem;height:calc(2.5rem - 2px);content:""}input[type=date]:disabled:before,input[type=datetime-local]:disabled:before,input[type=month]:disabled:before,input[type=time]:disabled:before,input[type=week]:disabled:before{background-image:var(--ok-down-1)}input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;background-color:transparent;cursor:pointer;padding:0;width:2.5rem;height:calc(2.5rem - 2px);content:"";opacity:0}inp ut[type=range]{overflow:visible;line-height:! inherit;f! ont-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;outline:none;cursor:pointer;padding:0;vertical-align:middle;border:none;min-height:2rem;background-color:transparent}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;-webkit-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box;position:relative}input[type=range]::-moz-range-track{cursor:pointer;-moz-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-track{cursor:pointer;-ms-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(- -ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-fill-lower{background:transparent}input[type=range]::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;margin-top:calc(-.5rem - 1px)}input[type=range]::-moz-range-thumb{cursor:pointer;-moz-appearance:none;border:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem}input[type=range]::-ms-thumb{cursor:pointer;-ms-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;transform:translateY(.25rem)}input[type=range]:focus:not(:disabled)::-webkit-slider-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-moz-range-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-ms-thumb{background-color:var(--ok-accent-1)}input[type=range]:disabled{cursor:default}input[type=range]: disabled::-webkit-slider-runnable-track{curs! or:defaul! t}input[type=range]:disabled::-moz-range-track{cursor:default}input[type=range]:disabled::-ms-track{cursor:default}input[type=range]:disabled::-webkit-slider-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-moz-range-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-ms-thumb{background-color:var(--ok-bg-2);cursor:default}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--ok-b-0);border-radius:var(--ok-br);background-color:var(--ok-bg-0);min-height:2.5rem;color:var(--ok-tc-0)}select:not([multiple]){background-image:var(--ok-down-0);background-repeat:no-repeat,repeat;background-position:right .2em top 50%;background-size:2em auto;padding-right:2.5em;height:2.5rem}select::-ms-expand{display:none}select:not([multiple]):disabled{background-image:var(--ok-down-1);background-color:var(--ok-bg-1);cursor:default}select[multiple]{border-radius:var(--ok-br)}select[multiple]:disabled{background-color: var(--ok-bg-1)}select[multiple] option{color:var(--ok-t-)}select[multiple]:disabled option{color:var(--ok-tc-2)}textarea{padding:var(--ok-s-2);resize:vertical;background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-height:calc(2.5rem - 2px);min-width:25ch}button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap;min-width:auto}input::-webkit-file-upload-button{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap}input:disabled::-webkit-file-upload-button{cursor:default;opacity:.5}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer}input:not(:disabled)::-webkit-fil e-upload-button{cursor:pointer}button:disabl! ed,input[! type=button]:disabled,input[type=reset]:disabled,input[type=submit]:disabled{cursor:default;opacity:.5;background-color:var(--ok-accent-0)}button:focus:not(:disabled),input[type=button]:focus:not(:disabled),input[type=reset]:focus:not(:disabled),input[type=submit]:focus:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):focus::-webkit-file-upload-button{background-color:var(--ok-accent-1)}table{border-collapse:collapse;border-radius:var(--ok-br);display:block;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;margin-left:auto;margin-right:auto;overflow-x:auto;white-space:nowrap}tfoot,thead{border:var(--ok-b-0)}tfoot tr,thead tr{background-color:var(--ok-bg-1);font-size:var(--ok-fs-5);text-transform:uppercase;color:var(--ok-tc-0)}td,th{border:var(--ok-b-0) 0;text-align:left;padding:.5rem}td{white-space:normal;max-width:20ch}tr{border:var(--ok-b-0)}table caption{font-size:var(--ok-fs-4);font-weight:var(--ok-fw-3);padding:.5rem}code,samp {padding:.2em .4em;color:var(--ok-tc-code)}code,pre,samp{font-family:var(--ok-mono);line-height:var(--ok-lh-body);background-color:var(--ok-bg-1);border-radius:var(--ok-br);text-transform:none}pre{padding:var(--ok-s-3);white-space:pre;overflow-x:auto}pre,var{color:var(--ok-tc-0)}var{font-family:var(--ok-mono);font-style:normal}code pre,pre code{background:inherit;font-size:inherit;color:inherit;border:0;padding:0;margin:0}code pre{display:inline}kbd{background-color:var(--ok-bg-1);border:var(--ok-b-0);border-radius:var(--ok-br);border-bottom:2px solid var(--ok-bg-2);padding:var(--ok-s-1);font-family:var(--ok-sans);color:var(--ok-tc-0)}a{text-decoration:none;font-weight:var(--ok-fw-1)}a,a:visited{color:var(--ok-tc-accent)}ol,ul{padding-left:var(--ok-s-5)}nav ul{text-decoration:none;padding-left:0}nav ul li{display:inline;margin-right:1em}audio,img,video{margin-left:auto;margin-right:auto}img{border-radius:var(--ok-br)}figure>img:not(:last-child){margin-bottom:var(--ok-s-1)}figure>fig caption{text-align:center}figcaption,time{fo! nt-size:v! ar(--ok-fs-5);color:var(--ok-tc-1)}mark{padding:.2em .4em;background:var(--ok-t-hl);color:#000;border-radius:var(--ok-br)}iframe{border:var(--ok-b-0);border-radius:var(--ok-br);width:100%}hr{border:none;border-bottom:var(--ok-b-0)}footer{font-size:var(--ok-fs-5)}blockquote,footer{color:var(--ok-tc-1)}blockquote{position:relative;margin-left:0;margin-right:0;padding-left:var(--ok-s-5)}blockquote:before{position:absolute;height:100%;content:"";width:4px;left:0;border-radius:var(--ok-br);background-color:var(--ok-bg-1)}dd{padding-left:var(--ok-s-5)}abbr{cursor:help}@media (hover:hover){a:hover{text-decoration:underline}input:hover:not(:disabled):not(:focus):not([type=submit]):not([type=button]):not([type=reset]):not([type=range]),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-webkit-slider-runnable-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-moz-range-track{border:va r(--ok-b-1)}input[type=range]:hover:not(:disabled)::-ms-track{border:var(--ok-b-1)}select:not([multiple]):not(:disabled):hover{cursor:pointer}button:hover:not(:disabled),input[type=button]:hover:not(:disabled),input[type=reset]:hover:not(:disabled),input[type=submit]:hover:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):hover::-webkit-file-upload-button{background-color:var(--ok-accent-1)}} \ No newline at end of file +/*! OK.css v1.2.0 | MIT License | github.com/andrewh0/okcss */@import url("https://rsms.me/inter/inter.css"); +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus -inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--ok-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue","Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Se goe UI Symbol","Noto Color Emoji";--ok-mono:! SFMono-Regular,Menlo,Monaco,Consolas,"Ubuntu Mono","Liberation Mono","Courier New",Courier,monospace;--ok-fw-0:400;--ok-fw-1:600;--ok-fw-2:700;--ok-fw-3:700;--ok-fs-0:2.5rem;--ok-fs-1:2rem;--ok-fs-2:1.5rem;--ok-fs-3:1.25rem;--ok-fs-4:1rem;--ok-fs-5:0.75rem;--ok-br:0.25rem;--ok-s-0:0;--ok-s-1:0.25rem;--ok-s-2:0.5rem;--ok-s-3:1rem;--ok-s-4:1.5rem;--ok-s-5:2rem;--ok-s-6:2.5rem;--ok-lh-body:1.5;--ok-lh-heading:1.25;--ok-t-hl:#ffcf30;--ok-accent-0:#3e67fa;--ok-accent-1:#4788ff;--ok-tc-accent:#3173de;--ok-tc-code:#c23a30;--ok-tc-0:#000;--ok-tc-1:#747474;--ok-tc-2:#848484;--ok-bg-0:#fff;--ok-bg-1:#f0f0f0;--ok-bg-2:#ccc;--ok-b-0:1px solid #cbcbcb;--ok-b-1:1px solid #848484;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23747474'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8 ' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23848484'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--ok-tc-accent:#5c9aff;--ok-tc-code:#ed5853;--ok-tc-0:#fff;--ok-tc-1:#ababab;--ok-tc-2:#929292;--ok-bg-0:#000;--ok-bg-1:#212121;--ok-bg-2:#3e3e3e;--ok-b-0:1px solid #747474;--ok-b-1:1px solid #929292;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23ababab'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23929292'/%3E%3C/svg%3E")}}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{font-family:var(--ok-sans);line-sizing:normal;line-height:var(--ok-lh-body);font-weight:var(--ok-fw-0);color:var(--ok-tc-0);b ackground-color:var(--ok-bg-0);-webkit-font-! smoothing! :antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility;scroll-behavior:smooth}@supports (font-variation-settings:normal){html{font-family:Inter var,var(--ok-sans)}}button,input,optgroup,select,textarea{font-family:inherit;line-height:var(--ok-lh-body)}[role=button],button{cursor:pointer}audio,canvas,embed,iframe,img,input,object,select,svg,textarea,video{display:block}img,video{max-width:100%;height:auto}body{padding:var(--ok-s-3);max-width:80ch;margin:auto}article{padding-bottom:var(--ok-s-6)}h1{font-size:var(--ok-fs-0);margin:0}h2{font-size:var(--ok-fs-1)}h3{font-size:var(--ok-fs-2)}h4{font-size:var(--ok-fs-3)}h5{font-size:var(--ok-fs-4)}h6{font-size:var(--ok-fs-5);text-transform:uppercase;font-weight:var(--ok-fw-1)}h1,h2,h3,h4,h5,h6{line-height:var(--ok-lh-heading);font-weight:var(--ok-fw-3);margin-top:var(--ok-s-6);margin-bottom:var(--ok-s-3)}h1+*,h2 +*,h3+*,h4+*,h5+*,h6+*,hr+*{margin-top:0}p{font-size:var(--ok-fs-4)}small{font-size:var(--ok-fs-5)}b,dt,strong{font-weight:var(--ok-fw-2)}address,article,aside,audio,blockquote,button,canvas,dd,details,dialog,div,dl,embed,fieldset,figcaption,figure,footer,form,header,hgroup,hr,iframe,img,input,main,nav,object,ol,p,pre,section,select,summary,svg,table,textarea,ul,video{margin-bottom:var(--ok-s-4)}address:last-child,article:last-child,aside:last-child,blockquote:last-child,dd:last-child,details:last-child,dialog:last-child,div:last-child,dl:last-child,dt:last-child,fieldset:last-child,figcaption:last-child,figure:last-child,footer:last-child,form:last-child,h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,header:last-child,hgroup:last-child,hr:last-child,input[type=checkbox],input[type=radio],main:last-child,nav:last-child,ol:last-child,p:last-child,pre:last-child,section:last-child,table:last-child,ul:last-child{margin-bottom:0}fieldset{padding:var( --ok-s-3);border:var(--ok-b-0);border-radius! :var(--ok! -br)}legend{font-weight:var(--ok-fw-1);text-transform:uppercase;font-size:var(--ok-fs-5)}input,select{padding:var(--ok-s-2);background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-width:25ch}input:disabled,select:disabled,textarea:disabled{color:var(--ok-tc-2)}input::placeholder,textarea::placeholder{color:var(--ok-tc-2)}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--ok-tc-2)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--ok-tc-2)}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--ok-tc-2)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--ok-tc-2)}input::-webkit-clear-button,input::-webkit-inner-spin-button,input::-webkit-search-cancel-button,input::-webkit-search-results-button{display:none}input::-ms-clear,input::-ms-reveal{display:none}input:disabled,textarea:disabled{background-color:var(--ok-bg-1)}input[type=search]{-webkit-appearance:none;-moz -appearance:none;appearance:none}input[type=file]{max-width:300px}input[type=number]{-moz-appearance:textfield}input[type=checkbox],input[type=radio]{display:inline;min-width:auto}input[type=color]{height:2.5rem}input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week]{height:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative}input[type=date]:before,input[type=datetime-local]:before,input[type=month]:before,input[type=time]:before,input[type=week]:before{position:absolute;right:0;top:0;background-image:var(--ok-down-0);background-repeat:no-repeat;background-position:right .2em top 50%;background-size:2em auto;width:2.5rem;height:calc(2.5rem - 2px);content:""}input[type=date]:disabled:before,input[type=datetime-local]:disabled:before,input[type=month]:disabled:before,input[type=time]:disabled:before,input[type=week]:disabled:before{background-image:var(--ok-down-1)}input::-webkit-calendar-picker-indicator{positi on:absolute;top:0;right:0;background-color:t! ransparen! t;cursor:pointer;padding:0;width:2.5rem;height:calc(2.5rem - 2px);content:"";opacity:0}input[type=range]{overflow:visible;line-height:inherit;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;outline:none;cursor:pointer;padding:0;vertical-align:middle;border:none;min-height:2rem;background-color:transparent}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;-webkit-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box;position:relative}input[type=range]::-moz-range-track{cursor:pointer;-moz-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-track{cursor:pointer;-ms-appear ance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-fill-lower{background:transparent}input[type=range]::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;margin-top:calc(-.5rem - 1px)}input[type=range]::-moz-range-thumb{cursor:pointer;-moz-appearance:none;border:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem}input[type=range]::-ms-thumb{cursor:pointer;-ms-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;transform:translateY(.25rem)}input[type=range]:focus:not(:disabled)::-webkit-slider-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-moz-range-thumb{background-color:var(--ok-accent-1)}inp ut[type=range]:focus:not(:disabled)::-ms-thu! mb{backgr! ound-color:var(--ok-accent-1)}input[type=range]:disabled{cursor:default}input[type=range]:disabled::-webkit-slider-runnable-track{cursor:default}input[type=range]:disabled::-moz-range-track{cursor:default}input[type=range]:disabled::-ms-track{cursor:default}input[type=range]:disabled::-webkit-slider-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-moz-range-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-ms-thumb{background-color:var(--ok-bg-2);cursor:default}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--ok-b-0);border-radius:var(--ok-br);background-color:var(--ok-bg-0);min-height:2.5rem;color:var(--ok-tc-0)}select:not([multiple]){background-image:var(--ok-down-0);background-repeat:no-repeat,repeat;background-position:right .2em top 50%;background-size:2em auto;padding-right:2.5em;height:2.5rem}select::-ms-expand{display:none}select:not([multiple]):disabled{background-image:var(--ok -down-1);background-color:var(--ok-bg-1);cursor:default}select[multiple]{border-radius:var(--ok-br)}select[multiple]:disabled{background-color:var(--ok-bg-1)}select[multiple] option{color:var(--ok-t-)}select[multiple]:disabled option{color:var(--ok-tc-2)}textarea{padding:var(--ok-s-2);resize:vertical;background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-height:calc(2.5rem - 2px);min-width:25ch}button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap;min-width:auto}input::-webkit-file-upload-button{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap}input:disabled::-webkit-file-upload-b utton{cursor:default;opacity:.5}button,input! [type=but! ton],input[type=reset],input[type=submit]{cursor:pointer}input:not(:disabled)::-webkit-file-upload-button{cursor:pointer}button:disabled,input[type=button]:disabled,input[type=reset]:disabled,input[type=submit]:disabled{cursor:default;opacity:.5;background-color:var(--ok-accent-0)}button:focus:not(:disabled),input[type=button]:focus:not(:disabled),input[type=reset]:focus:not(:disabled),input[type=submit]:focus:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):focus::-webkit-file-upload-button{background-color:var(--ok-accent-1)}table{border-collapse:collapse;display:table;margin-left:auto;margin-right:auto;white-space:nowrap}tfoot,thead{border:var(--ok-b-0)}thead{position:-webkit-sticky;position:sticky;top:0}tfoot tr,thead tr{background-color:var(--ok-bg-1);font-size:var(--ok-fs-5);text-transform:uppercase;color:var(--ok-tc-0)}td,th{border:var(--ok-b-0) 0;text-align:left;padding:.5rem}td{white-space:normal;max-width:20ch}tr{border:var(--ok-b-0)}table caption{fo nt-size:var(--ok-fs-4);font-weight:var(--ok-fw-3);padding:.5rem}code,samp{padding:.2em .4em;color:var(--ok-tc-code)}code,pre,samp{font-family:var(--ok-mono);font-size:87.5%;line-height:var(--ok-lh-body);background-color:var(--ok-bg-1);border-radius:var(--ok-br);text-transform:none}pre{padding:var(--ok-s-3);white-space:pre;overflow-x:auto}pre,var{color:var(--ok-tc-0)}var{font-family:var(--ok-mono);font-style:normal}code pre,pre code{background:inherit;font-size:inherit;color:inherit;border:0;padding:0;margin:0}code pre{display:inline}kbd{background-color:var(--ok-bg-1);border:var(--ok-b-0);border-radius:var(--ok-br);border-bottom:2px solid var(--ok-bg-2);padding:var(--ok-s-1);font-family:var(--ok-sans);color:var(--ok-tc-0)}a{text-decoration:none;font-weight:var(--ok-fw-1)}a,a:visited,a code,a mark,a samp{color:var(--ok-tc-accent)}ol,ul{padding-left:var(--ok-s-5)}nav ul{text-decoration:none;padding-left:0}nav ul li{display:inline;margin-right:1em}li p{margin-bottom:0}li,li p+p{margin- top:.5em}audio,img,video{margin-left:auto;ma! rgin-righ! t:auto}img{border-radius:var(--ok-br)}figure>img:not(:last-child){margin-bottom:var(--ok-s-1)}figure>figcaption{text-align:center}figcaption,time{font-size:var(--ok-fs-5);color:var(--ok-tc-1)}mark{padding:.2em .4em;background:var(--ok-t-hl);color:#000;border-radius:var(--ok-br)}iframe{border:var(--ok-b-0);border-radius:var(--ok-br);width:100%}hr{border:none;border-bottom:var(--ok-b-0)}footer{font-size:var(--ok-fs-5)}blockquote,footer{color:var(--ok-tc-1)}blockquote{position:relative;margin-left:0;margin-right:0;padding-left:var(--ok-s-5)}blockquote:before{position:absolute;height:100%;content:"";width:4px;left:0;border-radius:var(--ok-br);background-color:var(--ok-bg-1)}dd{padding-left:var(--ok-s-5)}abbr{cursor:help}@media (hover:hover){a:hover{text-decoration:underline}input:hover:not(:disabled):not(:focus):not([type=submit]):not([type=button]):not([type=reset]):not([type=range]),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border:var(--ok-b-1)} input[type=range]:hover:not(:disabled)::-webkit-slider-runnable-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-moz-range-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-ms-track{border:var(--ok-b-1)}select:not([multiple]):not(:disabled):hover{cursor:pointer}button:hover:not(:disabled),input[type=button]:hover:not(:disabled),input[type=reset]:hover:not(:disabled),input[type=submit]:hover:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):hover::-webkit-file-upload-button{background-color:var(--ok-accent-1)}} \ No newline at end of file diff --git a/contrib/expat/doc/reference.html b/contrib/expat/doc/reference.html index 8b0d47d6dd7b..898f03a3364d 100644 --- a/contrib/expat/doc/reference.html +++ b/contrib/expat/doc/reference.html @@ -14,11 +14,13 @@ Copyright (c) 2000 Clark Cooper Copyright (c) 2000-2004 Fred L. Drake, Jr. Copyright (c) 2002-2012 Karl Waclawek - Copyright (c) 2017-2022 Sebastian Pipping + Copyright (c) 2017-2024 Sebastian Pipping Copyright (c) 2017 Jakub Wilk Copyright (c) 2021 Tomas Korbar Copyright (c) 2021 Nicolas Cavallari Copyright (c) 2022 Thijs Schreijer + Copyright (c) 2023 Hanno Böck + Copyright (c) 2023 Sony Corporation / Snild Dolkow Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining @@ -50,7 +52,7 @@

    The Expat XML Parser - Release 2.5.0 + Release 2.6.0

    @@ -68,11 +70,11 @@ Working Group at W3C that produced the XML specification.

    This is free software, licensed under the MIT/X Consortium license. You may download it -from the Expat home page. +from the Expat home page.

    The bulk of this document was originally commissioned as an article -by XML.com. They graciously allowed +by XML.com. They graciously allowed Clark Cooper to retain copyright and to distribute it with Expat. This version has been substantially extended to include documentation on features which have been added since the original article was @@ -151,10 +153,11 @@ interface.

  • - Billion Laughs Attack Protection + Attack Protection
  • Miscellaneous Functions @@ -305,7 +308,7 @@ shoveling the document to the parser so that it can do its work.

    The Expat distribution comes as a compressed (with GNU gzip) tar file. You may download the latest version from Source Forge. After +"https://sourceforge.net/projects/expat/" >Source Forge. After unpacking this, cd into the directory. Then follow either the Win32 directions or Unix directions below.

    @@ -359,37 +362,64 @@ and the definition of character types in the case of XML_UNICODE_WCHAR_T. The symbols are:

    -
    XML_DTD
    +
    XML_GE
    +
    +Added in Expat 2.6.0. +Include support for +general entities +(syntax &e1; to reference and +syntax <!ENTITY e1 'value1'> (an internal general entity) or +<!ENTITY e2 SYSTEM 'file2'> (an external general entity) to declare). +With XML_GE enabled, general entities will be replaced by their declared replacement text; +for this to work for external general entities, in addition an +XML_ExternalEntityRefHandler must be set using +XML_SetExternalEntityRefHandler. +Also, enabling XML_GE makes +the functions +XML_SetBillionLaughsAttackProtectionMaximumAmplification and + +XML_SetBillionLaughsAttackProtectionActivationThreshold available. +
    +With XML_GE disabled, Expat has a smaller memory footprint and can be faster, but will +not load external general entities and will replace all general entities +(except the predefined five: +amp, apos, gt, lt, quot) +with a self-reference: +for example, referencing an entity e1 via &e1; will be replaced +by text &e1;. +
    + +
    XML_DTD
    Include support for using and reporting DTD-based content. If this is defined, default attribute values from an external DTD subset are reported and attribute value normalization occurs based on the type of attributes defined in the external subset. Without this, Expat has a smaller memory footprint and can be faster, but will -not load external entities or process conditional sections. If defined, makes +not load external parameter entities or process conditional sections. If defined, makes the functions XML_SetBillionLaughsAttackProtectionMaximumAmplification and XML_SetBillionLaughsAttackProtectionActivationThreshold available.
    -
    XML_NS
    +
    XML_NS
    When defined, support for the Namespaces in XML +"https://www.w3.org/TR/REC-xml-names/" >Namespaces in XML specification is included.
    -
    XML_UNICODE
    +
    XML_UNICODE
    When defined, character data reported to the application is encoded in UTF-16 using wide characters of the type XML_Char. This is implied if XML_UNICODE_WCHAR_T is defined.
    -
    XML_UNICODE_WCHAR_T
    +
    XML_UNICODE_WCHAR_T
    If defined, causes the XML_Char character type to be defined using the wchar_t type; otherwise, unsigned short is used. Defining this implies XML_UNICODE.
    -
    XML_LARGE_SIZE
    +
    XML_LARGE_SIZE
    If defined, causes the XML_Size and XML_Index integer types to be at least 64 bits in size. This is intended to support processing of very large input streams, where the return values of @@ -399,23 +429,23 @@ processing of very large input streams, where the return values of could overflow. It may not be supported by all compilers, and is turned off by default.
    -
    XML_CONTEXT_BYTES
    +
    XML_CONTEXT_BYTES
    The number of input bytes of markup context which the parser will ensure are available for reporting via XML_GetInputContext. This is -normally set to 1024, and must be set to a positive integer. If this -is not defined, the input context will not be available and XML_GetInputContext will -always report NULL. Without this, Expat has a smaller memory +always report NULL. Without this, Expat has a smaller memory footprint and can be faster.
    -
    XML_STATIC
    +
    XML_STATIC
    On Windows, this should be set if Expat is going to be linked statically with the code that calls it; this is required to get all the right MSVC magic annotations correct. This is ignored on other platforms.
    -
    XML_ATTR_INFO
    +
    XML_ATTR_INFO
    If defined, makes the additional function XML_GetAttributeInfo available for reporting attribute byte offsets.
    @@ -669,8 +699,9 @@ function. The StartNamespaceDeclHandler is called prior to the start tag handler and the EndNamespaceDeclHandler is called after the corresponding end tag that ends the namespace's scope. The namespace start handler gets passed the prefix and URI for the namespace. For a -default namespace declaration (xmlns='...'), the prefix will be null. -The URI will be null for the case where the default namespace is being +default namespace declaration (xmlns='...'), the prefix will be +NULL. +The URI will be NULL for the case where the default namespace is being unset. The namespace end handler just gets the prefix for the closing scope.

    @@ -799,7 +830,7 @@ has already been passed into the parser. Applications for this include

      -
    • Supporting the Supporting the XInclude specification.
    • Delaying further processing until additional information is @@ -947,16 +978,20 @@ XML_Parser XMLCALL XML_ParserCreate(const XML_Char *encoding);
      -Construct a new parser. If encoding is non-null, it specifies a +

      +Construct a new parser. If encoding is non-NULL, it specifies a character encoding to use for the document. This overrides the document encoding declaration. There are four built-in encodings: +

      • US-ASCII
      • UTF-8
      • UTF-16
      • ISO-8859-1
      +

      Any other value will invoke a call to the UnknownEncodingHandler. +

      XML_ParserCreateNS

      @@ -1003,9 +1038,9 @@ typedef struct {

      Construct a new parser using the suite of memory handling functions -specified in ms. If ms is NULL, then use the +specified in ms. If ms is NULL, then use the standard set of memory management functions. If sep is -non NULL, then namespace processing is enabled in the created parser +non-NULL, then namespace processing is enabled in the created parser and the character pointed at by sep is used as the separator between the namespace URI and the local part of the name.

      @@ -1077,6 +1112,11 @@ exceed the maximum integer value. Input data at the end of a buffer will remain unprocessed if it is part of an XML token for which the end is not part of that buffer.

      +

      The application must make a concluding +XML_Parse or +XML_ParseBuffer call +with isFinal set to XML_TRUE.

      +

      XML_Parse

       enum XML_Status XMLCALL
      @@ -1092,17 +1132,50 @@ enum XML_Status {
       };
       
      +

      Parse some more of the document. The string s is a buffer containing part (or perhaps all) of the document. The number of bytes of s that are part of the document is indicated by len. This means -that s doesn't have to be null terminated. It also means that +that s doesn't have to be null-terminated. It also means that if len is larger than the number of bytes in the block of memory that s points at, then a memory fault is likely. The isFinal parameter informs the parser that this is the last piece of the document. Frequently, the last piece is empty (i.e. len is zero.) +

      + +

      If a parse error occurred, it returns XML_STATUS_ERROR. Otherwise it returns XML_STATUS_OK value. +Note that regardless of the return value, there is no guarantee that all +provided input has been parsed; only after the +concluding call will all handler callbacks and parsing errors have +happened. +

      + +

      +Simplified, XML_Parse can be considered a convenience wrapper +that is pairing calls +to XML_GetBuffer +and XML_ParseBuffer +(when Expat is built with macro XML_CONTEXT_BYTES +defined to a positive value, which is both common and default). +XML_Parse is then functionally equivalent to calling +XML_GetBuffer, +memcpy, and +XML_ParseBuffer. +

      + +

      +To avoid double copying of the input, direct use of functions +XML_GetBuffer and +XML_ParseBuffer is advised +for most production use, e.g. +if you're using read or similar functionality to fill your +buffers, fill directly into the buffer from +XML_GetBuffer, +then parse with XML_ParseBuffer. +

      XML_ParseBuffer

      @@ -1128,8 +1201,8 @@ XML_GetBuffer(XML_Parser p,
      Obtain a buffer of size len to read a piece of the document -into. A NULL value is returned if Expat can't allocate enough memory for -this buffer. A NULL value may also be returned if len is zero. +into. A NULL value is returned if Expat can't allocate enough memory for +this buffer. A NULL value may also be returned if len is zero. This has to be called prior to every call to XML_ParseBuffer. A typical use would look like this: @@ -1275,7 +1348,7 @@ typedef struct {

      Returns status of parser with respect to being initialized, parsing, finished, or suspended, and whether the final buffer is being processed. The status parameter must not be -NULL.

      +NULL.

      New in Expat 1.95.8.

      @@ -1290,7 +1363,7 @@ to ignore all text not descended from a para element. One way it could do this is to set the character handler when a para start tag is seen, and unset it for the corresponding end tag.

      -

      A handler may be unset by providing a NULL pointer to the +

      A handler may be unset by providing a NULL pointer to the appropriate handler setter. None of the handler setting functions have a return value.

      @@ -1318,7 +1391,7 @@ typedef void handler as a pointer to a vector of char pointers. Each attribute seen in a start (or empty) tag occupies 2 consecutive places in this vector: the attribute name followed by the attribute value. These pairs are terminated -by a null pointer.

      +by a NULL pointer.

      Note that an empty tag generates a call to both start and end handlers (in that order).

  • @@ -1368,7 +1441,7 @@ is NOT null-terminated. You have to use the length argument to deal with the end of the string. A single block of contiguous text free of markup may still result in a sequence of calls to this handler. In other words, if you're searching for a pattern in the text, it may -be split across calls to this handler. Note: Setting this handler to NULL +be split across calls to this handler. Note: Setting this handler to NULL may NOT immediately terminate call-backs if the parser is currently processing such a single block of contiguous markup-free text, as the parser will continue calling back until the end of the block is reached.

    @@ -1526,16 +1599,16 @@ the format expected by the context argument to XML_ExternalEntityParserCreate. code is valid only until the handler returns, so if the referenced entity is -to be parsed later, it must be copied. context is NULL +to be parsed later, it must be copied. context is NULL only when the entity is a parameter entity, which is how one can differentiate between general and parameter entities.

    The base parameter is the base to use for relative system identifiers. It is set by XML_SetBase and may be NULL. The +href="#XML_SetBase">XML_SetBase and may be NULL. The publicId parameter is the public id given in the entity -declaration and may be NULL. systemId is the system -identifier specified in the entity declaration and is never NULL.

    +declaration and may be NULL. systemId is the system +identifier specified in the entity declaration and is never NULL.

    There are a couple of ways in which this handler differs from others. First, this handler returns a status indicator (an @@ -1564,10 +1637,10 @@ XML_SetExternalEntityRefHandlerArg(XML_Parser p,

    Set the argument passed to the ExternalEntityRefHandler. If -arg is not NULL, it is the new value passed to the +arg is not NULL, it is the new value passed to the handler set using XML_SetExternalEntityRefHandler; if arg is -NULL, the argument passed to the handler function will be the parser +NULL, the argument passed to the handler function will be the parser object itself.

    Note: @@ -1650,14 +1723,14 @@ value is -1, then that byte is invalid as the initial byte in a sequence. If the value is -n, where n is an integer > 1, then n is the number of bytes in the sequence and the actual conversion is accomplished by a call to the function pointed at by convert. This function may return -1 -if the sequence itself is invalid. The convert pointer may be null if +if the sequence itself is invalid. The convert pointer may be NULL if there are only single byte codes. The data parameter passed to the convert function is the data pointer from XML_Encoding. The string s is NOT null-terminated and points at the sequence of bytes to be converted.

    The function pointed at by release is called by the -parser when it is finished with the encoding. It may be NULL.

    +parser when it is finished with the encoding. It may be NULL.

    @@ -1724,8 +1797,8 @@ typedef void

    Sets a handler that is called for XML declarations and also for text declarations discovered in external entities. The way to -distinguish is that the version parameter will be NULL -for text declarations. The encoding parameter may be NULL +distinguish is that the version parameter will be NULL +for text declarations. The encoding parameter may be NULL for an XML declaration. The standalone argument will contain -1, 0, or 1 indicating respectively that there was no standalone parameter in the declaration, that it was given as no, or @@ -1749,7 +1822,7 @@ typedef void

    Set a handler that is called at the start of a DOCTYPE declaration, before any external or internal subset is parsed. Both sysid -and pubid may be NULL. The has_internal_subset +and pubid may be NULL. The has_internal_subset will be non-zero if the DOCTYPE declaration has an internal subset.

    @@ -1831,7 +1904,7 @@ around and freed at a later stage.

    XML_Content nodes. If type equals XML_CTYPE_EMPTY or XML_CTYPE_ANY, then quant will be XML_CQUANT_NONE, and the other -fields will be zero or NULL. If type is *** 32728 LINES SKIPPED *** From nobody Wed Feb 21 08:09:08 2024 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 4Tfpnw3kLlz5Bjcj; Wed, 21 Feb 2024 08:09: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 4Tfpnw2cKtz415M; Wed, 21 Feb 2024 08:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708502948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZnBhJoYIlZdmSjVUn5gJGbCgvkxKcddfmBgscYuG5Xg=; b=NBfegqJkilXwOAiSPgViFqyn1bxV1TnpymDNct3l5g8THkiERRVj2JhDWGcXYZ8+UMw0mA XYoBj/RcDhZRFVyTcIuKj49XvDtapla1oBEGXPfzz72iYqn2qbfRHzxQyyJxI/ElQI14aO dwUUsO8gnzFG9ahyZ5UjJxCJO9MZPV3feoSSYFVKuf131pee5mh8vRSAD7dGNiCHYv2FvV /8OCc2fi9Aqf6nLCbnA/oV50IzNl75JVt7scq6e6PWe77PPVaC8WZmSJsYiAezhU286HSw 0dI6FfZa3hlNjU24RR6iHNHk2+cWm2mbfc102WlolhlNa6F6P4bh///i3iODtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708502948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZnBhJoYIlZdmSjVUn5gJGbCgvkxKcddfmBgscYuG5Xg=; b=EoUy9aUv1wpeVdWnrTYFyIGmzKwtrtNamMCVT/fK+NdyVMcTmjKRqh/QfTOLqlGr/jaMpJ d7EjvTO+hoF6AdiYOJRzb+cMhXQfe+dAcvaGCsE3Ui/N+Sifmr9NGC4zxbVMd1WdApVnvu PmkoSSscc6JZktq1UQCgJFDR1aqVTupgTIedq9B4iK5kQkl1uPKEE7cQkDY+RmvYylKawD d+6qyz093/lHqyOUkxpSAOshHeSyek8QuN8Te6xvpdO8WnkAPIx6739/U+Bdty4e0bNlNf BaCliujszOCdHk8JsRV/2QzmGflwuZasetz29RG2KTkAdK5KWUOhNq6v9pm3Cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708502948; a=rsa-sha256; cv=none; b=bZqPwJO2stgJBgJp2CXMYGqVmw/KjtB31GUNr6zUAdZ8BWodB0kSN5QuX2GO0QVdL9QOJp xtFesduwiGrkJba+dtikuhMoAfwMeJs+/U1iX4atTnWdZwMPrB8roBqxqsk/MHAf9FVuwO uGywRXHxQptt7qc00uW/CTgbZjDlozp8HIOzizr16RG7RSCrgOd6zUkktQq31G6RifffF5 /hXjsVyx3AMocH4Gbg9rrHKE/jJSAebm+3fuW7e7nO5y13xcfepuMIt9JXe7ZhbsKST3y7 V86G0nrV6b7WIq+IdgYy97tuuHwh+eKwExnsm91uWU7rr314252P6VmOkF59XA== 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 4Tfpnw1fVyzvXm; Wed, 21 Feb 2024 08:09: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 41L898Cc076803; Wed, 21 Feb 2024 08:09:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L898Oo076800; Wed, 21 Feb 2024 08:09:08 GMT (envelope-from git) Date: Wed, 21 Feb 2024 08:09:08 GMT Message-Id: <202402210809.41L898Oo076800@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: d111b1e4a0a7 - stable/13 - MFC: MFV: zlib 1.3.1. 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/stable/13 X-Git-Reftype: branch X-Git-Commit: d111b1e4a0a78aa4de8c0b68f031fdcec3a15ea0 Auto-Submitted: auto-generated The branch stable/13 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=d111b1e4a0a78aa4de8c0b68f031fdcec3a15ea0 commit d111b1e4a0a78aa4de8c0b68f031fdcec3a15ea0 Author: Xin LI AuthorDate: 2024-02-18 06:12:51 +0000 Commit: Xin LI CommitDate: 2024-02-21 08:08:02 +0000 MFC: MFV: zlib 1.3.1. Approved by: re (cperciva, expedited MFC) (cherry picked from commit 6255c67c3d1a268535c50de74d3300fd86d8f15d) --- sys/contrib/zlib/ChangeLog | 10 ++++++++ sys/contrib/zlib/FAQ | 3 +-- sys/contrib/zlib/README | 6 ++--- sys/contrib/zlib/deflate.c | 47 +++++++++++++++++++++++++++++--------- sys/contrib/zlib/deflate.h | 35 ++++++++++++++++++++++++++-- sys/contrib/zlib/doc/algorithm.txt | 2 +- sys/contrib/zlib/gzguts.h | 8 ++----- sys/contrib/zlib/gzlib.c | 12 +++++----- sys/contrib/zlib/inflate.c | 2 +- sys/contrib/zlib/inftrees.c | 6 ++--- sys/contrib/zlib/inftrees.h | 4 ++-- sys/contrib/zlib/test/example.c | 3 ++- sys/contrib/zlib/test/minigzip.c | 2 +- sys/contrib/zlib/trees.c | 20 +++++++++++++--- sys/contrib/zlib/zconf.h | 10 +------- sys/contrib/zlib/zconf.h.in | 10 +------- sys/contrib/zlib/zlib.3 | 6 ++--- sys/contrib/zlib/zlib.h | 22 +++++++++--------- sys/contrib/zlib/zutil.h | 27 +++------------------- 19 files changed, 137 insertions(+), 98 deletions(-) diff --git a/sys/contrib/zlib/ChangeLog b/sys/contrib/zlib/ChangeLog index 8707988ac18c..b801a1031ec0 100644 --- a/sys/contrib/zlib/ChangeLog +++ b/sys/contrib/zlib/ChangeLog @@ -1,6 +1,16 @@ ChangeLog file for zlib +Changes in 1.3.1 (22 Jan 2024) +- Reject overflows of zip header fields in minizip +- Fix bug in inflateSync() for data held in bit buffer +- Add LIT_MEM define to use more memory for a small deflate speedup +- Fix decision on the emission of Zip64 end records in minizip +- Add bounds checking to ERR_MSG() macro, used by zError() +- Neutralize zip file traversal attacks in miniunz +- Fix a bug in ZLIB_DEBUG compiles in check_match() +- Various portability and appearance improvements + Changes in 1.3 (18 Aug 2023) - Remove K&R function definitions and zlib2ansi - Fix bug in deflateBound() for level 0 and memLevel 9 diff --git a/sys/contrib/zlib/FAQ b/sys/contrib/zlib/FAQ index 55f1cdc22f6b..92f5d3e29fab 100644 --- a/sys/contrib/zlib/FAQ +++ b/sys/contrib/zlib/FAQ @@ -14,8 +14,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html 2. Where can I get a Windows DLL version? The zlib sources can be compiled without change to produce a DLL. See the - file win32/DLL_FAQ.txt in the zlib distribution. Pointers to the - precompiled DLL are found in the zlib web site at http://zlib.net/ . + file win32/DLL_FAQ.txt in the zlib distribution. 3. Where can I get a Visual Basic interface to zlib? diff --git a/sys/contrib/zlib/README b/sys/contrib/zlib/README index e02fc5aa206b..c5f917540b6f 100644 --- a/sys/contrib/zlib/README +++ b/sys/contrib/zlib/README @@ -1,6 +1,6 @@ ZLIB DATA COMPRESSION LIBRARY -zlib 1.3 is a general purpose data compression library. All the code is +zlib 1.3.1 is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and @@ -31,7 +31,7 @@ Mark Nelson wrote an article about zlib for the Jan. 1997 issue of Dr. Dobb's Journal; a copy of the article is available at https://marknelson.us/posts/1997/01/01/zlib-engine.html . -The changes made in version 1.3 are documented in the file ChangeLog. +The changes made in version 1.3.1 are documented in the file ChangeLog. Unsupported third party contributions are provided in directory contrib/ . @@ -83,7 +83,7 @@ Acknowledgments: Copyright notice: - (C) 1995-2023 Jean-loup Gailly and Mark Adler + (C) 1995-2024 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/sys/contrib/zlib/deflate.c b/sys/contrib/zlib/deflate.c index 06eb2c0f6de5..97b184a82868 100644 --- a/sys/contrib/zlib/deflate.c +++ b/sys/contrib/zlib/deflate.c @@ -1,5 +1,5 @@ /* deflate.c -- compress data using the deflation algorithm - * Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -52,7 +52,7 @@ #include "deflate.h" const char deflate_copyright[] = - " deflate 1.3 Copyright 1995-2023 Jean-loup Gailly and Mark Adler "; + " deflate 1.3.1 Copyright 1995-2024 Jean-loup Gailly and Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome in the documentation of your product. If for some reason you cannot @@ -493,7 +493,7 @@ int ZEXPORT deflateInit2_(z_streamp strm, int level, int method, * symbols from which it is being constructed. */ - s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 4); + s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, LIT_BUFS); s->pending_buf_size = (ulg)s->lit_bufsize * 4; if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || @@ -503,8 +503,14 @@ int ZEXPORT deflateInit2_(z_streamp strm, int level, int method, deflateEnd (strm); return Z_MEM_ERROR; } +#ifdef LIT_MEM + s->d_buf = (ushf *)(s->pending_buf + (s->lit_bufsize << 1)); + s->l_buf = s->pending_buf + (s->lit_bufsize << 2); + s->sym_end = s->lit_bufsize - 1; +#else s->sym_buf = s->pending_buf + s->lit_bufsize; s->sym_end = (s->lit_bufsize - 1) * 3; +#endif /* We avoid equality with lit_bufsize*3 because of wraparound at 64K * on 16 bit machines and because stored blocks are restricted to * 64K-1 bytes. @@ -720,9 +726,15 @@ int ZEXPORT deflatePrime(z_streamp strm, int bits, int value) { if (deflateStateCheck(strm)) return Z_STREAM_ERROR; s = strm->state; +#ifdef LIT_MEM + if (bits < 0 || bits > 16 || + (uchf *)s->d_buf < s->pending_out + ((Buf_size + 7) >> 3)) + return Z_BUF_ERROR; +#else if (bits < 0 || bits > 16 || s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) return Z_BUF_ERROR; +#endif do { put = Buf_size - s->bi_valid; if (put > bits) @@ -1294,7 +1306,7 @@ int ZEXPORT deflateCopy(z_streamp dest, z_streamp source) { ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); - ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, 4); + ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, LIT_BUFS); if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || ds->pending_buf == Z_NULL) { @@ -1305,10 +1317,15 @@ int ZEXPORT deflateCopy(z_streamp dest, z_streamp source) { zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte)); zmemcpy((voidpf)ds->prev, (voidpf)ss->prev, ds->w_size * sizeof(Pos)); zmemcpy((voidpf)ds->head, (voidpf)ss->head, ds->hash_size * sizeof(Pos)); - zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); + zmemcpy(ds->pending_buf, ss->pending_buf, ds->lit_bufsize * LIT_BUFS); ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); +#ifdef LIT_MEM + ds->d_buf = (ushf *)(ds->pending_buf + (ds->lit_bufsize << 1)); + ds->l_buf = ds->pending_buf + (ds->lit_bufsize << 2); +#else ds->sym_buf = ds->pending_buf + ds->lit_bufsize; +#endif ds->l_desc.dyn_tree = ds->dyn_ltree; ds->d_desc.dyn_tree = ds->dyn_dtree; @@ -1539,13 +1556,21 @@ local uInt longest_match(deflate_state *s, IPos cur_match) { */ local void check_match(deflate_state *s, IPos start, IPos match, int length) { /* check that the match is indeed a match */ - if (zmemcmp(s->window + match, - s->window + start, length) != EQUAL) { - fprintf(stderr, " start %u, match %u, length %d\n", - start, match, length); + Bytef *back = s->window + (int)match, *here = s->window + start; + IPos len = length; + if (match == (IPos)-1) { + /* match starts one byte before the current window -- just compare the + subsequent length-1 bytes */ + back++; + here++; + len--; + } + if (zmemcmp(back, here, len) != EQUAL) { + fprintf(stderr, " start %u, match %d, length %d\n", + start, (int)match, length); do { - fprintf(stderr, "%c%c", s->window[match++], s->window[start++]); - } while (--length != 0); + fprintf(stderr, "(%02x %02x)", *back++, *here++); + } while (--len != 0); z_error("invalid match"); } if (z_verbose > 1) { diff --git a/sys/contrib/zlib/deflate.h b/sys/contrib/zlib/deflate.h index 8696791429f2..300c6ada62b8 100644 --- a/sys/contrib/zlib/deflate.h +++ b/sys/contrib/zlib/deflate.h @@ -1,5 +1,5 @@ /* deflate.h -- internal compression state - * Copyright (C) 1995-2018 Jean-loup Gailly + * Copyright (C) 1995-2024 Jean-loup Gailly * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -23,6 +23,10 @@ # define GZIP #endif +/* define LIT_MEM to slightly increase the speed of deflate (order 1% to 2%) at + the cost of a larger memory footprint */ +/* #define LIT_MEM */ + /* =========================================================================== * Internal compression state. */ @@ -217,7 +221,14 @@ typedef struct internal_state { /* Depth of each subtree used as tie breaker for trees of equal frequency */ +#ifdef LIT_MEM +# define LIT_BUFS 5 + ushf *d_buf; /* buffer for distances */ + uchf *l_buf; /* buffer for literals/lengths */ +#else +# define LIT_BUFS 4 uchf *sym_buf; /* buffer for distances and literals/lengths */ +#endif uInt lit_bufsize; /* Size of match buffer for literals/lengths. There are 4 reasons for @@ -239,7 +250,7 @@ typedef struct internal_state { * - I can't count above 4 */ - uInt sym_next; /* running index in sym_buf */ + uInt sym_next; /* running index in symbol buffer */ uInt sym_end; /* symbol table full when sym_next reaches this */ ulg opt_len; /* bit length of current block with optimal trees */ @@ -318,6 +329,25 @@ void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf, extern const uch ZLIB_INTERNAL _dist_code[]; #endif +#ifdef LIT_MEM +# define _tr_tally_lit(s, c, flush) \ + { uch cc = (c); \ + s->d_buf[s->sym_next] = 0; \ + s->l_buf[s->sym_next++] = cc; \ + s->dyn_ltree[cc].Freq++; \ + flush = (s->sym_next == s->sym_end); \ + } +# define _tr_tally_dist(s, distance, length, flush) \ + { uch len = (uch)(length); \ + ush dist = (ush)(distance); \ + s->d_buf[s->sym_next] = dist; \ + s->l_buf[s->sym_next++] = len; \ + dist--; \ + s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \ + s->dyn_dtree[d_code(dist)].Freq++; \ + flush = (s->sym_next == s->sym_end); \ + } +#else # define _tr_tally_lit(s, c, flush) \ { uch cc = (c); \ s->sym_buf[s->sym_next++] = 0; \ @@ -337,6 +367,7 @@ void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf, s->dyn_dtree[d_code(dist)].Freq++; \ flush = (s->sym_next == s->sym_end); \ } +#endif #else # define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c) # define _tr_tally_dist(s, distance, length, flush) \ diff --git a/sys/contrib/zlib/doc/algorithm.txt b/sys/contrib/zlib/doc/algorithm.txt index c97f495020b4..029e5a313498 100644 --- a/sys/contrib/zlib/doc/algorithm.txt +++ b/sys/contrib/zlib/doc/algorithm.txt @@ -77,7 +77,7 @@ table took no time (and if you had infinite memory), then there would only be a first level table to cover all the way to the longest code. However, building the table ends up taking a lot longer for more bits since short codes are replicated many times in such a table. What inflate() does is -simply to make the number of bits in the first table a variable, and then +simply to make the number of bits in the first table a variable, and then to set that variable for the maximum speed. For inflate, which has 286 possible codes for the literal/length tree, the size diff --git a/sys/contrib/zlib/gzguts.h b/sys/contrib/zlib/gzguts.h index f9375047e8c5..eba72085bb75 100644 --- a/sys/contrib/zlib/gzguts.h +++ b/sys/contrib/zlib/gzguts.h @@ -1,5 +1,5 @@ /* gzguts.h -- zlib internal header definitions for gz* operations - * Copyright (C) 2004-2019 Mark Adler + * Copyright (C) 2004-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -210,9 +210,5 @@ char ZLIB_INTERNAL *gz_strwinerror(DWORD error); /* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t value -- needed when comparing unsigned to z_off64_t, which is signed (possible z_off64_t types off_t, off64_t, and long are all signed) */ -#ifdef INT_MAX -# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX) -#else unsigned ZLIB_INTERNAL gz_intmax(void); -# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) -#endif +#define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) diff --git a/sys/contrib/zlib/gzlib.c b/sys/contrib/zlib/gzlib.c index da6b2c56c380..75b3e675f5f7 100644 --- a/sys/contrib/zlib/gzlib.c +++ b/sys/contrib/zlib/gzlib.c @@ -1,5 +1,5 @@ /* gzlib.c -- zlib functions common to reading and writing gzip files - * Copyright (C) 2004-2019 Mark Adler + * Copyright (C) 2004-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -565,20 +565,20 @@ void ZLIB_INTERNAL gz_error(gz_statep state, int err, const char *msg) { #endif } -#ifndef INT_MAX /* portably return maximum value for an int (when limits.h presumed not available) -- we need to do this to cover cases where 2's complement not used, since C standard permits 1's complement and sign-bit representations, otherwise we could just use ((unsigned)-1) >> 1 */ unsigned ZLIB_INTERNAL gz_intmax(void) { - unsigned p, q; - - p = 1; +#ifdef INT_MAX + return INT_MAX; +#else + unsigned p = 1, q; do { q = p; p <<= 1; p++; } while (p > q); return q >> 1; -} #endif +} diff --git a/sys/contrib/zlib/inflate.c b/sys/contrib/zlib/inflate.c index c58ee237956a..395ae51bbf56 100644 --- a/sys/contrib/zlib/inflate.c +++ b/sys/contrib/zlib/inflate.c @@ -1387,7 +1387,7 @@ int ZEXPORT inflateSync(z_streamp strm) { /* if first time, start search in bit buffer */ if (state->mode != SYNC) { state->mode = SYNC; - state->hold <<= state->bits & 7; + state->hold >>= state->bits & 7; state->bits -= state->bits & 7; len = 0; while (state->bits >= 8) { diff --git a/sys/contrib/zlib/inftrees.c b/sys/contrib/zlib/inftrees.c index 8a208c2daa8c..98cfe164458c 100644 --- a/sys/contrib/zlib/inftrees.c +++ b/sys/contrib/zlib/inftrees.c @@ -1,5 +1,5 @@ /* inftrees.c -- generate Huffman trees for efficient decoding - * Copyright (C) 1995-2023 Mark Adler + * Copyright (C) 1995-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -9,7 +9,7 @@ #define MAXBITS 15 const char inflate_copyright[] = - " inflate 1.3 Copyright 1995-2023 Mark Adler "; + " inflate 1.3.1 Copyright 1995-2024 Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome in the documentation of your product. If for some reason you cannot @@ -57,7 +57,7 @@ int ZLIB_INTERNAL inflate_table(codetype type, unsigned short FAR *lens, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; static const unsigned short lext[31] = { /* Length codes 257..285 extra */ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, - 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 198, 203}; + 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 203, 77}; static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, diff --git a/sys/contrib/zlib/inftrees.h b/sys/contrib/zlib/inftrees.h index a10712d8cb5a..396f74b5da79 100644 --- a/sys/contrib/zlib/inftrees.h +++ b/sys/contrib/zlib/inftrees.h @@ -41,8 +41,8 @@ typedef struct { examples/enough.c found in the zlib distribution. The arguments to that program are the number of symbols, the initial root table size, and the maximum bit length of a code. "enough 286 9 15" for literal/length codes - returns returns 852, and "enough 30 6 15" for distance codes returns 592. - The initial root table size (9 or 6) is found in the fifth argument of the + returns 852, and "enough 30 6 15" for distance codes returns 592. The + initial root table size (9 or 6) is found in the fifth argument of the inflate_table() calls in inflate.c and infback.c. If the root table size is changed, then these maximum sizes would be need to be recalculated and updated. */ diff --git a/sys/contrib/zlib/test/example.c b/sys/contrib/zlib/test/example.c index f27ba8e2fdcb..c3521dd5934f 100644 --- a/sys/contrib/zlib/test/example.c +++ b/sys/contrib/zlib/test/example.c @@ -364,7 +364,8 @@ static void test_flush(Byte *compr, uLong *comprLen) { /* =========================================================================== * Test inflateSync() */ -static void test_sync(Byte *compr, uLong comprLen, Byte *uncompr, uLong uncomprLen) { +static void test_sync(Byte *compr, uLong comprLen, Byte *uncompr, + uLong uncomprLen) { int err; z_stream d_stream; /* decompression stream */ diff --git a/sys/contrib/zlib/test/minigzip.c b/sys/contrib/zlib/test/minigzip.c index c72356dbccf2..134e10e6c3e9 100644 --- a/sys/contrib/zlib/test/minigzip.c +++ b/sys/contrib/zlib/test/minigzip.c @@ -303,7 +303,7 @@ static void error(const char *msg) { #ifdef USE_MMAP /* MMAP version, Miguel Albrecht */ /* Try compressing the input file at once using mmap. Return Z_OK if - * if success, Z_ERRNO otherwise. + * success, Z_ERRNO otherwise. */ static int gz_compress_mmap(FILE *in, gzFile out) { int len; diff --git a/sys/contrib/zlib/trees.c b/sys/contrib/zlib/trees.c index 8dbdc40bacce..6a523ef34e3c 100644 --- a/sys/contrib/zlib/trees.c +++ b/sys/contrib/zlib/trees.c @@ -1,5 +1,5 @@ /* trees.c -- output deflated data using Huffman coding - * Copyright (C) 1995-2021 Jean-loup Gailly + * Copyright (C) 1995-2024 Jean-loup Gailly * detect_data_type() function provided freely by Cosmin Truta, 2006 * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -899,14 +899,19 @@ local void compress_block(deflate_state *s, const ct_data *ltree, const ct_data *dtree) { unsigned dist; /* distance of matched string */ int lc; /* match length or unmatched char (if dist == 0) */ - unsigned sx = 0; /* running index in sym_buf */ + unsigned sx = 0; /* running index in symbol buffers */ unsigned code; /* the code to send */ int extra; /* number of extra bits to send */ if (s->sym_next != 0) do { +#ifdef LIT_MEM + dist = s->d_buf[sx]; + lc = s->l_buf[sx++]; +#else dist = s->sym_buf[sx++] & 0xff; dist += (unsigned)(s->sym_buf[sx++] & 0xff) << 8; lc = s->sym_buf[sx++]; +#endif if (dist == 0) { send_code(s, lc, ltree); /* send a literal byte */ Tracecv(isgraph(lc), (stderr," '%c' ", lc)); @@ -931,8 +936,12 @@ local void compress_block(deflate_state *s, const ct_data *ltree, } } /* literal or match pair ? */ - /* Check that the overlay between pending_buf and sym_buf is ok: */ + /* Check for no overlay of pending_buf on needed symbols */ +#ifdef LIT_MEM + Assert(s->pending < 2 * (s->lit_bufsize + sx), "pendingBuf overflow"); +#else Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow"); +#endif } while (sx < s->sym_next); @@ -1082,9 +1091,14 @@ void ZLIB_INTERNAL _tr_flush_block(deflate_state *s, charf *buf, * the current block must be flushed. */ int ZLIB_INTERNAL _tr_tally(deflate_state *s, unsigned dist, unsigned lc) { +#ifdef LIT_MEM + s->d_buf[s->sym_next] = (ush)dist; + s->l_buf[s->sym_next++] = (uch)lc; +#else s->sym_buf[s->sym_next++] = (uch)dist; s->sym_buf[s->sym_next++] = (uch)(dist >> 8); s->sym_buf[s->sym_next++] = (uch)lc; +#endif if (dist == 0) { /* lc is the unmatched char */ s->dyn_ltree[lc].Freq++; diff --git a/sys/contrib/zlib/zconf.h b/sys/contrib/zlib/zconf.h index 4021363ba6c2..349914dbecca 100644 --- a/sys/contrib/zlib/zconf.h +++ b/sys/contrib/zlib/zconf.h @@ -1,5 +1,5 @@ /* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -311,14 +311,6 @@ # endif #endif -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - /* The following definitions for FAR are needed only for MSDOS mixed * model programming (small or medium model with some far allocations). * This was tested only with MSC; for other MSDOS compilers you may have diff --git a/sys/contrib/zlib/zconf.h.in b/sys/contrib/zlib/zconf.h.in index fb76ffe312ae..62adc8d8431f 100644 --- a/sys/contrib/zlib/zconf.h.in +++ b/sys/contrib/zlib/zconf.h.in @@ -1,5 +1,5 @@ /* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -300,14 +300,6 @@ # endif #endif -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - /* The following definitions for FAR are needed only for MSDOS mixed * model programming (small or medium model with some far allocations). * This was tested only with MSC; for other MSDOS compilers you may have diff --git a/sys/contrib/zlib/zlib.3 b/sys/contrib/zlib/zlib.3 index 4dd289675349..c716020ea9c4 100644 --- a/sys/contrib/zlib/zlib.3 +++ b/sys/contrib/zlib/zlib.3 @@ -1,4 +1,4 @@ -.TH ZLIB 3 "18 Aug 2023" +.TH ZLIB 3 "22 Jan 2024" .SH NAME zlib \- compression/decompression library .SH SYNOPSIS @@ -105,9 +105,9 @@ before asking for help. Send questions and/or comments to zlib@gzip.org, or (for the Windows DLL version) to Gilles Vollant (info@winimage.com). .SH AUTHORS AND LICENSE -Version 1.3 +Version 1.3.1 .LP -Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler +Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler .LP This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/sys/contrib/zlib/zlib.h b/sys/contrib/zlib/zlib.h index 48b95a64a830..04eaa04ce8d3 100644 --- a/sys/contrib/zlib/zlib.h +++ b/sys/contrib/zlib/zlib.h @@ -1,7 +1,7 @@ /* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.3, August 18th, 2023 + version 1.3.1, January 22nd, 2024 - Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -37,11 +37,11 @@ extern "C" { #endif -#define ZLIB_VERSION "1.3" -#define ZLIB_VERNUM 0x1300 +#define ZLIB_VERSION "1.3.1" +#define ZLIB_VERNUM 0x1310 #define ZLIB_VER_MAJOR 1 #define ZLIB_VER_MINOR 3 -#define ZLIB_VER_REVISION 0 +#define ZLIB_VER_REVISION 1 #define ZLIB_VER_SUBREVISION 0 /* @@ -936,10 +936,10 @@ ZEXTERN int ZEXPORT inflateSync(z_streamp strm); inflateSync returns Z_OK if a possible full flush point has been found, Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. - In the success case, the application may save the current current value of - total_in which indicates where valid compressed data was found. In the - error case, the application may repeatedly call inflateSync, providing more - input each time, until success or end of the input data. + In the success case, the application may save the current value of total_in + which indicates where valid compressed data was found. In the error case, + the application may repeatedly call inflateSync, providing more input each + time, until success or end of the input data. */ ZEXTERN int ZEXPORT inflateCopy(z_streamp dest, @@ -1761,14 +1761,14 @@ ZEXTERN uLong ZEXPORT crc32_combine(uLong crc1, uLong crc2, z_off_t len2); seq1 and seq2 with lengths len1 and len2, CRC-32 check values were calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and - len2. + len2. len2 must be non-negative. */ /* ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t len2); Return the operator corresponding to length len2, to be used with - crc32_combine_op(). + crc32_combine_op(). len2 must be non-negative. */ ZEXTERN uLong ZEXPORT crc32_combine_op(uLong crc1, uLong crc2, uLong op); diff --git a/sys/contrib/zlib/zutil.h b/sys/contrib/zlib/zutil.h index 9e0f3f9d0a2a..347597f50d3c 100644 --- a/sys/contrib/zlib/zutil.h +++ b/sys/contrib/zlib/zutil.h @@ -1,5 +1,5 @@ /* zutil.h -- internal interface and configuration of the compression library - * Copyright (C) 1995-2022 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -56,7 +56,7 @@ typedef unsigned long ulg; extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ /* (size given to avoid silly warnings with Visual C++) */ -#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)] +#define ERR_MSG(err) z_errmsg[(err) < -6 || (err) > 2 ? 9 : 2 - (err)] #define ERR_RETURN(strm,err) \ return (strm->msg = ERR_MSG(err), (err)) @@ -137,17 +137,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ # endif #endif -#if defined(MACOS) || defined(TARGET_OS_MAC) +#if defined(MACOS) # define OS_CODE 7 -# ifndef Z_SOLO -# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os -# include /* for fdopen */ -# else -# ifndef fdopen -# define fdopen(fd,mode) NULL /* No fdopen() */ -# endif -# endif -# endif #endif #ifdef __acorn @@ -170,18 +161,6 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ # define OS_CODE 19 #endif -#if defined(_BEOS_) || defined(RISCOS) -# define fdopen(fd,mode) NULL /* No fdopen() */ -#endif - -#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX -# if defined(_WIN32_WCE) -# define fdopen(fd,mode) NULL /* No fdopen() */ -# else -# define fdopen(fd,type) _fdopen(fd,type) -# endif -#endif - #if defined(__BORLANDC__) && !defined(MSDOS) #pragma warn -8004 #pragma warn -8008 From nobody Wed Feb 21 08:09:09 2024 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 4Tfpnx56Zwz5Bjck; Wed, 21 Feb 2024 08:09: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 4Tfpnx3XWbz417K; Wed, 21 Feb 2024 08:09:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708502949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AYl/fh8Ewb7xRm9zodPGRABphkYXhNbBb5GKMhIk5Rs=; b=nLkoOy+2r9M4CMHqxtSIzLP5l+puY9z4hWmnj1oD6l/g3sz1CnD8yyjO7l30BCWoaOnwsg X0l4TzHuGoMRFoBSquKJF2y2Wu5VC8mB9tiNPNo7q3yBb2RTYHEL/tn59kFtEgKRfpyLdK YgxBSCCLSlm0rFXCLnNEtCek0GLmF8npQ2NP83+/79TeNV4YQF5/gS9cQMlXTnJvtNCeCb i08mls664K+Ey6giJ4pLKBrnIErLhfWpVRqFihEjyZbir84EAg3suSpflhrIjIxncyOu7L /TbyFDorbjCWPPs+aeyM6Ff9PQaASFE7+hrWP9nScWE9rE0aM1MQWcGyWHt2DA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708502949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AYl/fh8Ewb7xRm9zodPGRABphkYXhNbBb5GKMhIk5Rs=; b=spt3O0sl5QSIJkv998MPtRPdH6e3crAhbCFnK+sjHOXjdI35FtWDrUWbc9nWD9atUvGrnV l933fU4Aweo/P8P3tHv5Y8rDIZp3RXkxYnpUyDU7yKudDwm08tMXmezGgtwPRof+OWitsM lMGTcvN0h6GFUznHDZ+s/EeBKFqkmX7pqgaVLXlb6NilCFUZ3wjfe6zDuXQraxAUZ9kWCE V9HmR+4YfNNbQ6YinHazqXdE1qN+4XXKb9pcQiziDbdTK1n8maP/ItOictNcTiMEBV0R+n AGV8YGev8fBwwWmmoSv5xPlAJiq2ys55DY/t1wEQuUocIE6PNx+6bgMzFCxNVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708502949; a=rsa-sha256; cv=none; b=wBaRPLlELriqEUYbKn6AaUglgL34bJytQzEZ8qeBXj+orH9eTuLmTmV2OeOdcmbeHGXNW1 1eG4qArmcxozkO2CaX8nOx0ffzfeKm9Ty7teCjTd9/bwHE3omTO2qvRZjbOHxGIPQKADps j+uiWBYINi5AAup6JCw9kucdBB92ndwvoGTH9rD8ZJuWSMNhaf60IK4VaxajA1OqlLbJEw gqk7VyLgJF/MK2JDHlGtlO90BMBF1J0F5lMIS6AcVvQCmpIVn3H0Wi0TfK35Dn+EgAXCuQ Vk0Eyg8V6RbZtiapSMmKk1FwSy/FJf0gHdUZGK1n6cNYscCfzM2RSdbwE+U+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 4Tfpnx2bkHztxy; Wed, 21 Feb 2024 08:09: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 41L899Ak076859; Wed, 21 Feb 2024 08:09:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L899xM076856; Wed, 21 Feb 2024 08:09:09 GMT (envelope-from git) Date: Wed, 21 Feb 2024 08:09:09 GMT Message-Id: <202402210809.41L899xM076856@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 10365e3c34a7 - stable/14 - MFC: MFV: zlib 1.3.1. 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 10365e3c34a7fdb31b40a2771fd98f31a442cc52 Auto-Submitted: auto-generated The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=10365e3c34a7fdb31b40a2771fd98f31a442cc52 commit 10365e3c34a7fdb31b40a2771fd98f31a442cc52 Author: Xin LI AuthorDate: 2024-02-18 06:12:51 +0000 Commit: Xin LI CommitDate: 2024-02-21 08:08:37 +0000 MFC: MFV: zlib 1.3.1. Approved by: re (cperciva, expedited MFC) (cherry picked from commit 6255c67c3d1a268535c50de74d3300fd86d8f15d) --- sys/contrib/zlib/ChangeLog | 10 ++++++++ sys/contrib/zlib/FAQ | 3 +-- sys/contrib/zlib/README | 6 ++--- sys/contrib/zlib/deflate.c | 47 +++++++++++++++++++++++++++++--------- sys/contrib/zlib/deflate.h | 35 ++++++++++++++++++++++++++-- sys/contrib/zlib/doc/algorithm.txt | 2 +- sys/contrib/zlib/gzguts.h | 8 ++----- sys/contrib/zlib/gzlib.c | 12 +++++----- sys/contrib/zlib/inflate.c | 2 +- sys/contrib/zlib/inftrees.c | 6 ++--- sys/contrib/zlib/inftrees.h | 4 ++-- sys/contrib/zlib/test/example.c | 3 ++- sys/contrib/zlib/test/minigzip.c | 2 +- sys/contrib/zlib/trees.c | 20 +++++++++++++--- sys/contrib/zlib/zconf.h | 10 +------- sys/contrib/zlib/zconf.h.in | 10 +------- sys/contrib/zlib/zlib.3 | 6 ++--- sys/contrib/zlib/zlib.h | 22 +++++++++--------- sys/contrib/zlib/zutil.h | 27 +++------------------- 19 files changed, 137 insertions(+), 98 deletions(-) diff --git a/sys/contrib/zlib/ChangeLog b/sys/contrib/zlib/ChangeLog index 8707988ac18c..b801a1031ec0 100644 --- a/sys/contrib/zlib/ChangeLog +++ b/sys/contrib/zlib/ChangeLog @@ -1,6 +1,16 @@ ChangeLog file for zlib +Changes in 1.3.1 (22 Jan 2024) +- Reject overflows of zip header fields in minizip +- Fix bug in inflateSync() for data held in bit buffer +- Add LIT_MEM define to use more memory for a small deflate speedup +- Fix decision on the emission of Zip64 end records in minizip +- Add bounds checking to ERR_MSG() macro, used by zError() +- Neutralize zip file traversal attacks in miniunz +- Fix a bug in ZLIB_DEBUG compiles in check_match() +- Various portability and appearance improvements + Changes in 1.3 (18 Aug 2023) - Remove K&R function definitions and zlib2ansi - Fix bug in deflateBound() for level 0 and memLevel 9 diff --git a/sys/contrib/zlib/FAQ b/sys/contrib/zlib/FAQ index 55f1cdc22f6b..92f5d3e29fab 100644 --- a/sys/contrib/zlib/FAQ +++ b/sys/contrib/zlib/FAQ @@ -14,8 +14,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html 2. Where can I get a Windows DLL version? The zlib sources can be compiled without change to produce a DLL. See the - file win32/DLL_FAQ.txt in the zlib distribution. Pointers to the - precompiled DLL are found in the zlib web site at http://zlib.net/ . + file win32/DLL_FAQ.txt in the zlib distribution. 3. Where can I get a Visual Basic interface to zlib? diff --git a/sys/contrib/zlib/README b/sys/contrib/zlib/README index e02fc5aa206b..c5f917540b6f 100644 --- a/sys/contrib/zlib/README +++ b/sys/contrib/zlib/README @@ -1,6 +1,6 @@ ZLIB DATA COMPRESSION LIBRARY -zlib 1.3 is a general purpose data compression library. All the code is +zlib 1.3.1 is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and @@ -31,7 +31,7 @@ Mark Nelson wrote an article about zlib for the Jan. 1997 issue of Dr. Dobb's Journal; a copy of the article is available at https://marknelson.us/posts/1997/01/01/zlib-engine.html . -The changes made in version 1.3 are documented in the file ChangeLog. +The changes made in version 1.3.1 are documented in the file ChangeLog. Unsupported third party contributions are provided in directory contrib/ . @@ -83,7 +83,7 @@ Acknowledgments: Copyright notice: - (C) 1995-2023 Jean-loup Gailly and Mark Adler + (C) 1995-2024 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/sys/contrib/zlib/deflate.c b/sys/contrib/zlib/deflate.c index 06eb2c0f6de5..97b184a82868 100644 --- a/sys/contrib/zlib/deflate.c +++ b/sys/contrib/zlib/deflate.c @@ -1,5 +1,5 @@ /* deflate.c -- compress data using the deflation algorithm - * Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -52,7 +52,7 @@ #include "deflate.h" const char deflate_copyright[] = - " deflate 1.3 Copyright 1995-2023 Jean-loup Gailly and Mark Adler "; + " deflate 1.3.1 Copyright 1995-2024 Jean-loup Gailly and Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome in the documentation of your product. If for some reason you cannot @@ -493,7 +493,7 @@ int ZEXPORT deflateInit2_(z_streamp strm, int level, int method, * symbols from which it is being constructed. */ - s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 4); + s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, LIT_BUFS); s->pending_buf_size = (ulg)s->lit_bufsize * 4; if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || @@ -503,8 +503,14 @@ int ZEXPORT deflateInit2_(z_streamp strm, int level, int method, deflateEnd (strm); return Z_MEM_ERROR; } +#ifdef LIT_MEM + s->d_buf = (ushf *)(s->pending_buf + (s->lit_bufsize << 1)); + s->l_buf = s->pending_buf + (s->lit_bufsize << 2); + s->sym_end = s->lit_bufsize - 1; +#else s->sym_buf = s->pending_buf + s->lit_bufsize; s->sym_end = (s->lit_bufsize - 1) * 3; +#endif /* We avoid equality with lit_bufsize*3 because of wraparound at 64K * on 16 bit machines and because stored blocks are restricted to * 64K-1 bytes. @@ -720,9 +726,15 @@ int ZEXPORT deflatePrime(z_streamp strm, int bits, int value) { if (deflateStateCheck(strm)) return Z_STREAM_ERROR; s = strm->state; +#ifdef LIT_MEM + if (bits < 0 || bits > 16 || + (uchf *)s->d_buf < s->pending_out + ((Buf_size + 7) >> 3)) + return Z_BUF_ERROR; +#else if (bits < 0 || bits > 16 || s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) return Z_BUF_ERROR; +#endif do { put = Buf_size - s->bi_valid; if (put > bits) @@ -1294,7 +1306,7 @@ int ZEXPORT deflateCopy(z_streamp dest, z_streamp source) { ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); - ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, 4); + ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, LIT_BUFS); if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || ds->pending_buf == Z_NULL) { @@ -1305,10 +1317,15 @@ int ZEXPORT deflateCopy(z_streamp dest, z_streamp source) { zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte)); zmemcpy((voidpf)ds->prev, (voidpf)ss->prev, ds->w_size * sizeof(Pos)); zmemcpy((voidpf)ds->head, (voidpf)ss->head, ds->hash_size * sizeof(Pos)); - zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); + zmemcpy(ds->pending_buf, ss->pending_buf, ds->lit_bufsize * LIT_BUFS); ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); +#ifdef LIT_MEM + ds->d_buf = (ushf *)(ds->pending_buf + (ds->lit_bufsize << 1)); + ds->l_buf = ds->pending_buf + (ds->lit_bufsize << 2); +#else ds->sym_buf = ds->pending_buf + ds->lit_bufsize; +#endif ds->l_desc.dyn_tree = ds->dyn_ltree; ds->d_desc.dyn_tree = ds->dyn_dtree; @@ -1539,13 +1556,21 @@ local uInt longest_match(deflate_state *s, IPos cur_match) { */ local void check_match(deflate_state *s, IPos start, IPos match, int length) { /* check that the match is indeed a match */ - if (zmemcmp(s->window + match, - s->window + start, length) != EQUAL) { - fprintf(stderr, " start %u, match %u, length %d\n", - start, match, length); + Bytef *back = s->window + (int)match, *here = s->window + start; + IPos len = length; + if (match == (IPos)-1) { + /* match starts one byte before the current window -- just compare the + subsequent length-1 bytes */ + back++; + here++; + len--; + } + if (zmemcmp(back, here, len) != EQUAL) { + fprintf(stderr, " start %u, match %d, length %d\n", + start, (int)match, length); do { - fprintf(stderr, "%c%c", s->window[match++], s->window[start++]); - } while (--length != 0); + fprintf(stderr, "(%02x %02x)", *back++, *here++); + } while (--len != 0); z_error("invalid match"); } if (z_verbose > 1) { diff --git a/sys/contrib/zlib/deflate.h b/sys/contrib/zlib/deflate.h index 8696791429f2..300c6ada62b8 100644 --- a/sys/contrib/zlib/deflate.h +++ b/sys/contrib/zlib/deflate.h @@ -1,5 +1,5 @@ /* deflate.h -- internal compression state - * Copyright (C) 1995-2018 Jean-loup Gailly + * Copyright (C) 1995-2024 Jean-loup Gailly * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -23,6 +23,10 @@ # define GZIP #endif +/* define LIT_MEM to slightly increase the speed of deflate (order 1% to 2%) at + the cost of a larger memory footprint */ +/* #define LIT_MEM */ + /* =========================================================================== * Internal compression state. */ @@ -217,7 +221,14 @@ typedef struct internal_state { /* Depth of each subtree used as tie breaker for trees of equal frequency */ +#ifdef LIT_MEM +# define LIT_BUFS 5 + ushf *d_buf; /* buffer for distances */ + uchf *l_buf; /* buffer for literals/lengths */ +#else +# define LIT_BUFS 4 uchf *sym_buf; /* buffer for distances and literals/lengths */ +#endif uInt lit_bufsize; /* Size of match buffer for literals/lengths. There are 4 reasons for @@ -239,7 +250,7 @@ typedef struct internal_state { * - I can't count above 4 */ - uInt sym_next; /* running index in sym_buf */ + uInt sym_next; /* running index in symbol buffer */ uInt sym_end; /* symbol table full when sym_next reaches this */ ulg opt_len; /* bit length of current block with optimal trees */ @@ -318,6 +329,25 @@ void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf, extern const uch ZLIB_INTERNAL _dist_code[]; #endif +#ifdef LIT_MEM +# define _tr_tally_lit(s, c, flush) \ + { uch cc = (c); \ + s->d_buf[s->sym_next] = 0; \ + s->l_buf[s->sym_next++] = cc; \ + s->dyn_ltree[cc].Freq++; \ + flush = (s->sym_next == s->sym_end); \ + } +# define _tr_tally_dist(s, distance, length, flush) \ + { uch len = (uch)(length); \ + ush dist = (ush)(distance); \ + s->d_buf[s->sym_next] = dist; \ + s->l_buf[s->sym_next++] = len; \ + dist--; \ + s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \ + s->dyn_dtree[d_code(dist)].Freq++; \ + flush = (s->sym_next == s->sym_end); \ + } +#else # define _tr_tally_lit(s, c, flush) \ { uch cc = (c); \ s->sym_buf[s->sym_next++] = 0; \ @@ -337,6 +367,7 @@ void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf, s->dyn_dtree[d_code(dist)].Freq++; \ flush = (s->sym_next == s->sym_end); \ } +#endif #else # define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c) # define _tr_tally_dist(s, distance, length, flush) \ diff --git a/sys/contrib/zlib/doc/algorithm.txt b/sys/contrib/zlib/doc/algorithm.txt index c97f495020b4..029e5a313498 100644 --- a/sys/contrib/zlib/doc/algorithm.txt +++ b/sys/contrib/zlib/doc/algorithm.txt @@ -77,7 +77,7 @@ table took no time (and if you had infinite memory), then there would only be a first level table to cover all the way to the longest code. However, building the table ends up taking a lot longer for more bits since short codes are replicated many times in such a table. What inflate() does is -simply to make the number of bits in the first table a variable, and then +simply to make the number of bits in the first table a variable, and then to set that variable for the maximum speed. For inflate, which has 286 possible codes for the literal/length tree, the size diff --git a/sys/contrib/zlib/gzguts.h b/sys/contrib/zlib/gzguts.h index f9375047e8c5..eba72085bb75 100644 --- a/sys/contrib/zlib/gzguts.h +++ b/sys/contrib/zlib/gzguts.h @@ -1,5 +1,5 @@ /* gzguts.h -- zlib internal header definitions for gz* operations - * Copyright (C) 2004-2019 Mark Adler + * Copyright (C) 2004-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -210,9 +210,5 @@ char ZLIB_INTERNAL *gz_strwinerror(DWORD error); /* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t value -- needed when comparing unsigned to z_off64_t, which is signed (possible z_off64_t types off_t, off64_t, and long are all signed) */ -#ifdef INT_MAX -# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX) -#else unsigned ZLIB_INTERNAL gz_intmax(void); -# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) -#endif +#define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) diff --git a/sys/contrib/zlib/gzlib.c b/sys/contrib/zlib/gzlib.c index da6b2c56c380..75b3e675f5f7 100644 --- a/sys/contrib/zlib/gzlib.c +++ b/sys/contrib/zlib/gzlib.c @@ -1,5 +1,5 @@ /* gzlib.c -- zlib functions common to reading and writing gzip files - * Copyright (C) 2004-2019 Mark Adler + * Copyright (C) 2004-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -565,20 +565,20 @@ void ZLIB_INTERNAL gz_error(gz_statep state, int err, const char *msg) { #endif } -#ifndef INT_MAX /* portably return maximum value for an int (when limits.h presumed not available) -- we need to do this to cover cases where 2's complement not used, since C standard permits 1's complement and sign-bit representations, otherwise we could just use ((unsigned)-1) >> 1 */ unsigned ZLIB_INTERNAL gz_intmax(void) { - unsigned p, q; - - p = 1; +#ifdef INT_MAX + return INT_MAX; +#else + unsigned p = 1, q; do { q = p; p <<= 1; p++; } while (p > q); return q >> 1; -} #endif +} diff --git a/sys/contrib/zlib/inflate.c b/sys/contrib/zlib/inflate.c index c58ee237956a..395ae51bbf56 100644 --- a/sys/contrib/zlib/inflate.c +++ b/sys/contrib/zlib/inflate.c @@ -1387,7 +1387,7 @@ int ZEXPORT inflateSync(z_streamp strm) { /* if first time, start search in bit buffer */ if (state->mode != SYNC) { state->mode = SYNC; - state->hold <<= state->bits & 7; + state->hold >>= state->bits & 7; state->bits -= state->bits & 7; len = 0; while (state->bits >= 8) { diff --git a/sys/contrib/zlib/inftrees.c b/sys/contrib/zlib/inftrees.c index 8a208c2daa8c..98cfe164458c 100644 --- a/sys/contrib/zlib/inftrees.c +++ b/sys/contrib/zlib/inftrees.c @@ -1,5 +1,5 @@ /* inftrees.c -- generate Huffman trees for efficient decoding - * Copyright (C) 1995-2023 Mark Adler + * Copyright (C) 1995-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -9,7 +9,7 @@ #define MAXBITS 15 const char inflate_copyright[] = - " inflate 1.3 Copyright 1995-2023 Mark Adler "; + " inflate 1.3.1 Copyright 1995-2024 Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome in the documentation of your product. If for some reason you cannot @@ -57,7 +57,7 @@ int ZLIB_INTERNAL inflate_table(codetype type, unsigned short FAR *lens, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; static const unsigned short lext[31] = { /* Length codes 257..285 extra */ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, - 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 198, 203}; + 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 203, 77}; static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, diff --git a/sys/contrib/zlib/inftrees.h b/sys/contrib/zlib/inftrees.h index a10712d8cb5a..396f74b5da79 100644 --- a/sys/contrib/zlib/inftrees.h +++ b/sys/contrib/zlib/inftrees.h @@ -41,8 +41,8 @@ typedef struct { examples/enough.c found in the zlib distribution. The arguments to that program are the number of symbols, the initial root table size, and the maximum bit length of a code. "enough 286 9 15" for literal/length codes - returns returns 852, and "enough 30 6 15" for distance codes returns 592. - The initial root table size (9 or 6) is found in the fifth argument of the + returns 852, and "enough 30 6 15" for distance codes returns 592. The + initial root table size (9 or 6) is found in the fifth argument of the inflate_table() calls in inflate.c and infback.c. If the root table size is changed, then these maximum sizes would be need to be recalculated and updated. */ diff --git a/sys/contrib/zlib/test/example.c b/sys/contrib/zlib/test/example.c index f27ba8e2fdcb..c3521dd5934f 100644 --- a/sys/contrib/zlib/test/example.c +++ b/sys/contrib/zlib/test/example.c @@ -364,7 +364,8 @@ static void test_flush(Byte *compr, uLong *comprLen) { /* =========================================================================== * Test inflateSync() */ -static void test_sync(Byte *compr, uLong comprLen, Byte *uncompr, uLong uncomprLen) { +static void test_sync(Byte *compr, uLong comprLen, Byte *uncompr, + uLong uncomprLen) { int err; z_stream d_stream; /* decompression stream */ diff --git a/sys/contrib/zlib/test/minigzip.c b/sys/contrib/zlib/test/minigzip.c index c72356dbccf2..134e10e6c3e9 100644 --- a/sys/contrib/zlib/test/minigzip.c +++ b/sys/contrib/zlib/test/minigzip.c @@ -303,7 +303,7 @@ static void error(const char *msg) { #ifdef USE_MMAP /* MMAP version, Miguel Albrecht */ /* Try compressing the input file at once using mmap. Return Z_OK if - * if success, Z_ERRNO otherwise. + * success, Z_ERRNO otherwise. */ static int gz_compress_mmap(FILE *in, gzFile out) { int len; diff --git a/sys/contrib/zlib/trees.c b/sys/contrib/zlib/trees.c index 8dbdc40bacce..6a523ef34e3c 100644 --- a/sys/contrib/zlib/trees.c +++ b/sys/contrib/zlib/trees.c @@ -1,5 +1,5 @@ /* trees.c -- output deflated data using Huffman coding - * Copyright (C) 1995-2021 Jean-loup Gailly + * Copyright (C) 1995-2024 Jean-loup Gailly * detect_data_type() function provided freely by Cosmin Truta, 2006 * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -899,14 +899,19 @@ local void compress_block(deflate_state *s, const ct_data *ltree, const ct_data *dtree) { unsigned dist; /* distance of matched string */ int lc; /* match length or unmatched char (if dist == 0) */ - unsigned sx = 0; /* running index in sym_buf */ + unsigned sx = 0; /* running index in symbol buffers */ unsigned code; /* the code to send */ int extra; /* number of extra bits to send */ if (s->sym_next != 0) do { +#ifdef LIT_MEM + dist = s->d_buf[sx]; + lc = s->l_buf[sx++]; +#else dist = s->sym_buf[sx++] & 0xff; dist += (unsigned)(s->sym_buf[sx++] & 0xff) << 8; lc = s->sym_buf[sx++]; +#endif if (dist == 0) { send_code(s, lc, ltree); /* send a literal byte */ Tracecv(isgraph(lc), (stderr," '%c' ", lc)); @@ -931,8 +936,12 @@ local void compress_block(deflate_state *s, const ct_data *ltree, } } /* literal or match pair ? */ - /* Check that the overlay between pending_buf and sym_buf is ok: */ + /* Check for no overlay of pending_buf on needed symbols */ +#ifdef LIT_MEM + Assert(s->pending < 2 * (s->lit_bufsize + sx), "pendingBuf overflow"); +#else Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow"); +#endif } while (sx < s->sym_next); @@ -1082,9 +1091,14 @@ void ZLIB_INTERNAL _tr_flush_block(deflate_state *s, charf *buf, * the current block must be flushed. */ int ZLIB_INTERNAL _tr_tally(deflate_state *s, unsigned dist, unsigned lc) { +#ifdef LIT_MEM + s->d_buf[s->sym_next] = (ush)dist; + s->l_buf[s->sym_next++] = (uch)lc; +#else s->sym_buf[s->sym_next++] = (uch)dist; s->sym_buf[s->sym_next++] = (uch)(dist >> 8); s->sym_buf[s->sym_next++] = (uch)lc; +#endif if (dist == 0) { /* lc is the unmatched char */ s->dyn_ltree[lc].Freq++; diff --git a/sys/contrib/zlib/zconf.h b/sys/contrib/zlib/zconf.h index 4021363ba6c2..349914dbecca 100644 --- a/sys/contrib/zlib/zconf.h +++ b/sys/contrib/zlib/zconf.h @@ -1,5 +1,5 @@ /* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -311,14 +311,6 @@ # endif #endif -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - /* The following definitions for FAR are needed only for MSDOS mixed * model programming (small or medium model with some far allocations). * This was tested only with MSC; for other MSDOS compilers you may have diff --git a/sys/contrib/zlib/zconf.h.in b/sys/contrib/zlib/zconf.h.in index fb76ffe312ae..62adc8d8431f 100644 --- a/sys/contrib/zlib/zconf.h.in +++ b/sys/contrib/zlib/zconf.h.in @@ -1,5 +1,5 @@ /* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -300,14 +300,6 @@ # endif #endif -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - /* The following definitions for FAR are needed only for MSDOS mixed * model programming (small or medium model with some far allocations). * This was tested only with MSC; for other MSDOS compilers you may have diff --git a/sys/contrib/zlib/zlib.3 b/sys/contrib/zlib/zlib.3 index 4dd289675349..c716020ea9c4 100644 --- a/sys/contrib/zlib/zlib.3 +++ b/sys/contrib/zlib/zlib.3 @@ -1,4 +1,4 @@ -.TH ZLIB 3 "18 Aug 2023" +.TH ZLIB 3 "22 Jan 2024" .SH NAME zlib \- compression/decompression library .SH SYNOPSIS @@ -105,9 +105,9 @@ before asking for help. Send questions and/or comments to zlib@gzip.org, or (for the Windows DLL version) to Gilles Vollant (info@winimage.com). .SH AUTHORS AND LICENSE -Version 1.3 +Version 1.3.1 .LP -Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler +Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler .LP This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/sys/contrib/zlib/zlib.h b/sys/contrib/zlib/zlib.h index 48b95a64a830..04eaa04ce8d3 100644 --- a/sys/contrib/zlib/zlib.h +++ b/sys/contrib/zlib/zlib.h @@ -1,7 +1,7 @@ /* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.3, August 18th, 2023 + version 1.3.1, January 22nd, 2024 - Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -37,11 +37,11 @@ extern "C" { #endif -#define ZLIB_VERSION "1.3" -#define ZLIB_VERNUM 0x1300 +#define ZLIB_VERSION "1.3.1" +#define ZLIB_VERNUM 0x1310 #define ZLIB_VER_MAJOR 1 #define ZLIB_VER_MINOR 3 -#define ZLIB_VER_REVISION 0 +#define ZLIB_VER_REVISION 1 #define ZLIB_VER_SUBREVISION 0 /* @@ -936,10 +936,10 @@ ZEXTERN int ZEXPORT inflateSync(z_streamp strm); inflateSync returns Z_OK if a possible full flush point has been found, Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. - In the success case, the application may save the current current value of - total_in which indicates where valid compressed data was found. In the - error case, the application may repeatedly call inflateSync, providing more - input each time, until success or end of the input data. + In the success case, the application may save the current value of total_in + which indicates where valid compressed data was found. In the error case, + the application may repeatedly call inflateSync, providing more input each + time, until success or end of the input data. */ ZEXTERN int ZEXPORT inflateCopy(z_streamp dest, @@ -1761,14 +1761,14 @@ ZEXTERN uLong ZEXPORT crc32_combine(uLong crc1, uLong crc2, z_off_t len2); seq1 and seq2 with lengths len1 and len2, CRC-32 check values were calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and - len2. + len2. len2 must be non-negative. */ /* ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t len2); Return the operator corresponding to length len2, to be used with - crc32_combine_op(). + crc32_combine_op(). len2 must be non-negative. */ ZEXTERN uLong ZEXPORT crc32_combine_op(uLong crc1, uLong crc2, uLong op); diff --git a/sys/contrib/zlib/zutil.h b/sys/contrib/zlib/zutil.h index 9e0f3f9d0a2a..347597f50d3c 100644 --- a/sys/contrib/zlib/zutil.h +++ b/sys/contrib/zlib/zutil.h @@ -1,5 +1,5 @@ /* zutil.h -- internal interface and configuration of the compression library - * Copyright (C) 1995-2022 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -56,7 +56,7 @@ typedef unsigned long ulg; extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ /* (size given to avoid silly warnings with Visual C++) */ -#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)] +#define ERR_MSG(err) z_errmsg[(err) < -6 || (err) > 2 ? 9 : 2 - (err)] #define ERR_RETURN(strm,err) \ return (strm->msg = ERR_MSG(err), (err)) @@ -137,17 +137,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ # endif #endif -#if defined(MACOS) || defined(TARGET_OS_MAC) +#if defined(MACOS) # define OS_CODE 7 -# ifndef Z_SOLO -# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os -# include /* for fdopen */ -# else -# ifndef fdopen -# define fdopen(fd,mode) NULL /* No fdopen() */ -# endif -# endif -# endif #endif #ifdef __acorn @@ -170,18 +161,6 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ # define OS_CODE 19 #endif -#if defined(_BEOS_) || defined(RISCOS) -# define fdopen(fd,mode) NULL /* No fdopen() */ -#endif - -#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX -# if defined(_WIN32_WCE) -# define fdopen(fd,mode) NULL /* No fdopen() */ -# else -# define fdopen(fd,type) _fdopen(fd,type) -# endif -#endif - #if defined(__BORLANDC__) && !defined(MSDOS) #pragma warn -8004 #pragma warn -8008 From nobody Wed Feb 21 08:09:40 2024 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 4TfppY0pQzz5Bjcp; Wed, 21 Feb 2024 08:09: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 4TfppY0Jj4z41FJ; Wed, 21 Feb 2024 08:09:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708502981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tph/u1gX8nLWKAxZeD3YwxZ0QVzPpYg9XWr1qyL7Fb4=; b=wC5KO0ztM4cSZRbkGe3hYnYOy9jgQbrvAUF1u9zd7+QURhO/8XVOU2BXX4J0YiFMBAVBii +WtkZtbG14V3SEORkobNXsuXGU6jzhicFGZ0jiHGEqA8+0ku4GVX69JPMQ9AiV2LEn4dFZ jvc3sY+HBXPvO+253uhIGJQraNKEUqg6nG5J9++1G1ooqYB4SQTtNTid6NGLGRD72Rbcpp HAoulUNjvuXBiBccL46Bx1HH2GgYUiajedsbyQiPqT5hWnsfWYieN0MHbJ49s+UWSGvLNa it5ROEuBMqNknUcCp/z+wfOXIStDp9XuSkmPvFKxOop1gPEqKNYS2IoxZrblbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708502981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tph/u1gX8nLWKAxZeD3YwxZ0QVzPpYg9XWr1qyL7Fb4=; b=nPfqkksHXaN96Q3af2dJPo/JZl/Khp4LSui5znJgzp8od3rFBrQ/tQuPvAoy6u/G+z7iXE oDKYCQar08NIRO3WSehVzjcFUUoQtX5ZyDJXvOVKEbrmuN20vz9Q+XIelK1XE0zS94HVN1 ZWK+HpqZGYWhBVSmFK2I9kCweadIj2cP5vpv/viKr5eiNi1xzCaKZhyKMwGx+IEXKXdU7v VtnzQZOup9m7H90M+/gyaD/QCHRqZRa3+XMB+5wf823LWnWyXKW1Z4eqN0+LGwwJXgy7CT 1o6HZZJwcoPrhh1UQO0KSWlGa6gyS7G65IQCxRkpGGqasiP1mgZrhmVEoT/Zwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708502981; a=rsa-sha256; cv=none; b=tQgeXqdtfq+Jgfhf1KgBWyYq/WEXdSiIboafdA0qwaSDglUI5su2Ee1FHAqoLkFSvvrXTA djCT4Nub/6AHbrwRqtYfRp5apa2i2JhR1EhWfQA8GYGmJBoKxNtO4xPqbmP7ORlsODTg8L 7k8jHVjnA46g3IhsrDOKjL/bo+bxvu/4P3qxjZmvpBX8T7uN7/vLrHCMtOHvVl38PJzRS2 nwAb1TmbJCv62UKSMIMvwncX7OXJkJEgQRyXSl08PKgBi8BeDd+207AOvkzL1tYYq/HayJ Eol+O9kZu4QcNm1yhpnubgxwSH6yavTtIR1rcQU7MgtT/tF2hw3vJTF1mCqDGQ== 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 4TfppX6TkGzvLX; Wed, 21 Feb 2024 08:09: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 41L89eck077057; Wed, 21 Feb 2024 08:09:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L89e9E077054; Wed, 21 Feb 2024 08:09:40 GMT (envelope-from git) Date: Wed, 21 Feb 2024 08:09:40 GMT Message-Id: <202402210809.41L89e9E077054@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: f2de7ba78a49 - releng/13.3 - MFS: MFC: MFV: zlib 1.3.1. 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: f2de7ba78a49427fc30964d1840454595239fc72 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=f2de7ba78a49427fc30964d1840454595239fc72 commit f2de7ba78a49427fc30964d1840454595239fc72 Author: Xin LI AuthorDate: 2024-02-18 06:12:51 +0000 Commit: Xin LI CommitDate: 2024-02-21 08:09:28 +0000 MFS: MFC: MFV: zlib 1.3.1. Approved by: re (cperciva) (cherry picked from commit 6255c67c3d1a268535c50de74d3300fd86d8f15d) (cherry picked from commit d111b1e4a0a78aa4de8c0b68f031fdcec3a15ea0) --- sys/contrib/zlib/ChangeLog | 10 ++++++++ sys/contrib/zlib/FAQ | 3 +-- sys/contrib/zlib/README | 6 ++--- sys/contrib/zlib/deflate.c | 47 +++++++++++++++++++++++++++++--------- sys/contrib/zlib/deflate.h | 35 ++++++++++++++++++++++++++-- sys/contrib/zlib/doc/algorithm.txt | 2 +- sys/contrib/zlib/gzguts.h | 8 ++----- sys/contrib/zlib/gzlib.c | 12 +++++----- sys/contrib/zlib/inflate.c | 2 +- sys/contrib/zlib/inftrees.c | 6 ++--- sys/contrib/zlib/inftrees.h | 4 ++-- sys/contrib/zlib/test/example.c | 3 ++- sys/contrib/zlib/test/minigzip.c | 2 +- sys/contrib/zlib/trees.c | 20 +++++++++++++--- sys/contrib/zlib/zconf.h | 10 +------- sys/contrib/zlib/zconf.h.in | 10 +------- sys/contrib/zlib/zlib.3 | 6 ++--- sys/contrib/zlib/zlib.h | 22 +++++++++--------- sys/contrib/zlib/zutil.h | 27 +++------------------- 19 files changed, 137 insertions(+), 98 deletions(-) diff --git a/sys/contrib/zlib/ChangeLog b/sys/contrib/zlib/ChangeLog index 8707988ac18c..b801a1031ec0 100644 --- a/sys/contrib/zlib/ChangeLog +++ b/sys/contrib/zlib/ChangeLog @@ -1,6 +1,16 @@ ChangeLog file for zlib +Changes in 1.3.1 (22 Jan 2024) +- Reject overflows of zip header fields in minizip +- Fix bug in inflateSync() for data held in bit buffer +- Add LIT_MEM define to use more memory for a small deflate speedup +- Fix decision on the emission of Zip64 end records in minizip +- Add bounds checking to ERR_MSG() macro, used by zError() +- Neutralize zip file traversal attacks in miniunz +- Fix a bug in ZLIB_DEBUG compiles in check_match() +- Various portability and appearance improvements + Changes in 1.3 (18 Aug 2023) - Remove K&R function definitions and zlib2ansi - Fix bug in deflateBound() for level 0 and memLevel 9 diff --git a/sys/contrib/zlib/FAQ b/sys/contrib/zlib/FAQ index 55f1cdc22f6b..92f5d3e29fab 100644 --- a/sys/contrib/zlib/FAQ +++ b/sys/contrib/zlib/FAQ @@ -14,8 +14,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html 2. Where can I get a Windows DLL version? The zlib sources can be compiled without change to produce a DLL. See the - file win32/DLL_FAQ.txt in the zlib distribution. Pointers to the - precompiled DLL are found in the zlib web site at http://zlib.net/ . + file win32/DLL_FAQ.txt in the zlib distribution. 3. Where can I get a Visual Basic interface to zlib? diff --git a/sys/contrib/zlib/README b/sys/contrib/zlib/README index e02fc5aa206b..c5f917540b6f 100644 --- a/sys/contrib/zlib/README +++ b/sys/contrib/zlib/README @@ -1,6 +1,6 @@ ZLIB DATA COMPRESSION LIBRARY -zlib 1.3 is a general purpose data compression library. All the code is +zlib 1.3.1 is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and @@ -31,7 +31,7 @@ Mark Nelson wrote an article about zlib for the Jan. 1997 issue of Dr. Dobb's Journal; a copy of the article is available at https://marknelson.us/posts/1997/01/01/zlib-engine.html . -The changes made in version 1.3 are documented in the file ChangeLog. +The changes made in version 1.3.1 are documented in the file ChangeLog. Unsupported third party contributions are provided in directory contrib/ . @@ -83,7 +83,7 @@ Acknowledgments: Copyright notice: - (C) 1995-2023 Jean-loup Gailly and Mark Adler + (C) 1995-2024 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/sys/contrib/zlib/deflate.c b/sys/contrib/zlib/deflate.c index 06eb2c0f6de5..97b184a82868 100644 --- a/sys/contrib/zlib/deflate.c +++ b/sys/contrib/zlib/deflate.c @@ -1,5 +1,5 @@ /* deflate.c -- compress data using the deflation algorithm - * Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -52,7 +52,7 @@ #include "deflate.h" const char deflate_copyright[] = - " deflate 1.3 Copyright 1995-2023 Jean-loup Gailly and Mark Adler "; + " deflate 1.3.1 Copyright 1995-2024 Jean-loup Gailly and Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome in the documentation of your product. If for some reason you cannot @@ -493,7 +493,7 @@ int ZEXPORT deflateInit2_(z_streamp strm, int level, int method, * symbols from which it is being constructed. */ - s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 4); + s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, LIT_BUFS); s->pending_buf_size = (ulg)s->lit_bufsize * 4; if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || @@ -503,8 +503,14 @@ int ZEXPORT deflateInit2_(z_streamp strm, int level, int method, deflateEnd (strm); return Z_MEM_ERROR; } +#ifdef LIT_MEM + s->d_buf = (ushf *)(s->pending_buf + (s->lit_bufsize << 1)); + s->l_buf = s->pending_buf + (s->lit_bufsize << 2); + s->sym_end = s->lit_bufsize - 1; +#else s->sym_buf = s->pending_buf + s->lit_bufsize; s->sym_end = (s->lit_bufsize - 1) * 3; +#endif /* We avoid equality with lit_bufsize*3 because of wraparound at 64K * on 16 bit machines and because stored blocks are restricted to * 64K-1 bytes. @@ -720,9 +726,15 @@ int ZEXPORT deflatePrime(z_streamp strm, int bits, int value) { if (deflateStateCheck(strm)) return Z_STREAM_ERROR; s = strm->state; +#ifdef LIT_MEM + if (bits < 0 || bits > 16 || + (uchf *)s->d_buf < s->pending_out + ((Buf_size + 7) >> 3)) + return Z_BUF_ERROR; +#else if (bits < 0 || bits > 16 || s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) return Z_BUF_ERROR; +#endif do { put = Buf_size - s->bi_valid; if (put > bits) @@ -1294,7 +1306,7 @@ int ZEXPORT deflateCopy(z_streamp dest, z_streamp source) { ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); - ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, 4); + ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, LIT_BUFS); if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || ds->pending_buf == Z_NULL) { @@ -1305,10 +1317,15 @@ int ZEXPORT deflateCopy(z_streamp dest, z_streamp source) { zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte)); zmemcpy((voidpf)ds->prev, (voidpf)ss->prev, ds->w_size * sizeof(Pos)); zmemcpy((voidpf)ds->head, (voidpf)ss->head, ds->hash_size * sizeof(Pos)); - zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); + zmemcpy(ds->pending_buf, ss->pending_buf, ds->lit_bufsize * LIT_BUFS); ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); +#ifdef LIT_MEM + ds->d_buf = (ushf *)(ds->pending_buf + (ds->lit_bufsize << 1)); + ds->l_buf = ds->pending_buf + (ds->lit_bufsize << 2); +#else ds->sym_buf = ds->pending_buf + ds->lit_bufsize; +#endif ds->l_desc.dyn_tree = ds->dyn_ltree; ds->d_desc.dyn_tree = ds->dyn_dtree; @@ -1539,13 +1556,21 @@ local uInt longest_match(deflate_state *s, IPos cur_match) { */ local void check_match(deflate_state *s, IPos start, IPos match, int length) { /* check that the match is indeed a match */ - if (zmemcmp(s->window + match, - s->window + start, length) != EQUAL) { - fprintf(stderr, " start %u, match %u, length %d\n", - start, match, length); + Bytef *back = s->window + (int)match, *here = s->window + start; + IPos len = length; + if (match == (IPos)-1) { + /* match starts one byte before the current window -- just compare the + subsequent length-1 bytes */ + back++; + here++; + len--; + } + if (zmemcmp(back, here, len) != EQUAL) { + fprintf(stderr, " start %u, match %d, length %d\n", + start, (int)match, length); do { - fprintf(stderr, "%c%c", s->window[match++], s->window[start++]); - } while (--length != 0); + fprintf(stderr, "(%02x %02x)", *back++, *here++); + } while (--len != 0); z_error("invalid match"); } if (z_verbose > 1) { diff --git a/sys/contrib/zlib/deflate.h b/sys/contrib/zlib/deflate.h index 8696791429f2..300c6ada62b8 100644 --- a/sys/contrib/zlib/deflate.h +++ b/sys/contrib/zlib/deflate.h @@ -1,5 +1,5 @@ /* deflate.h -- internal compression state - * Copyright (C) 1995-2018 Jean-loup Gailly + * Copyright (C) 1995-2024 Jean-loup Gailly * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -23,6 +23,10 @@ # define GZIP #endif +/* define LIT_MEM to slightly increase the speed of deflate (order 1% to 2%) at + the cost of a larger memory footprint */ +/* #define LIT_MEM */ + /* =========================================================================== * Internal compression state. */ @@ -217,7 +221,14 @@ typedef struct internal_state { /* Depth of each subtree used as tie breaker for trees of equal frequency */ +#ifdef LIT_MEM +# define LIT_BUFS 5 + ushf *d_buf; /* buffer for distances */ + uchf *l_buf; /* buffer for literals/lengths */ +#else +# define LIT_BUFS 4 uchf *sym_buf; /* buffer for distances and literals/lengths */ +#endif uInt lit_bufsize; /* Size of match buffer for literals/lengths. There are 4 reasons for @@ -239,7 +250,7 @@ typedef struct internal_state { * - I can't count above 4 */ - uInt sym_next; /* running index in sym_buf */ + uInt sym_next; /* running index in symbol buffer */ uInt sym_end; /* symbol table full when sym_next reaches this */ ulg opt_len; /* bit length of current block with optimal trees */ @@ -318,6 +329,25 @@ void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf, extern const uch ZLIB_INTERNAL _dist_code[]; #endif +#ifdef LIT_MEM +# define _tr_tally_lit(s, c, flush) \ + { uch cc = (c); \ + s->d_buf[s->sym_next] = 0; \ + s->l_buf[s->sym_next++] = cc; \ + s->dyn_ltree[cc].Freq++; \ + flush = (s->sym_next == s->sym_end); \ + } +# define _tr_tally_dist(s, distance, length, flush) \ + { uch len = (uch)(length); \ + ush dist = (ush)(distance); \ + s->d_buf[s->sym_next] = dist; \ + s->l_buf[s->sym_next++] = len; \ + dist--; \ + s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \ + s->dyn_dtree[d_code(dist)].Freq++; \ + flush = (s->sym_next == s->sym_end); \ + } +#else # define _tr_tally_lit(s, c, flush) \ { uch cc = (c); \ s->sym_buf[s->sym_next++] = 0; \ @@ -337,6 +367,7 @@ void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf, s->dyn_dtree[d_code(dist)].Freq++; \ flush = (s->sym_next == s->sym_end); \ } +#endif #else # define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c) # define _tr_tally_dist(s, distance, length, flush) \ diff --git a/sys/contrib/zlib/doc/algorithm.txt b/sys/contrib/zlib/doc/algorithm.txt index c97f495020b4..029e5a313498 100644 --- a/sys/contrib/zlib/doc/algorithm.txt +++ b/sys/contrib/zlib/doc/algorithm.txt @@ -77,7 +77,7 @@ table took no time (and if you had infinite memory), then there would only be a first level table to cover all the way to the longest code. However, building the table ends up taking a lot longer for more bits since short codes are replicated many times in such a table. What inflate() does is -simply to make the number of bits in the first table a variable, and then +simply to make the number of bits in the first table a variable, and then to set that variable for the maximum speed. For inflate, which has 286 possible codes for the literal/length tree, the size diff --git a/sys/contrib/zlib/gzguts.h b/sys/contrib/zlib/gzguts.h index f9375047e8c5..eba72085bb75 100644 --- a/sys/contrib/zlib/gzguts.h +++ b/sys/contrib/zlib/gzguts.h @@ -1,5 +1,5 @@ /* gzguts.h -- zlib internal header definitions for gz* operations - * Copyright (C) 2004-2019 Mark Adler + * Copyright (C) 2004-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -210,9 +210,5 @@ char ZLIB_INTERNAL *gz_strwinerror(DWORD error); /* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t value -- needed when comparing unsigned to z_off64_t, which is signed (possible z_off64_t types off_t, off64_t, and long are all signed) */ -#ifdef INT_MAX -# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX) -#else unsigned ZLIB_INTERNAL gz_intmax(void); -# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) -#endif +#define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) diff --git a/sys/contrib/zlib/gzlib.c b/sys/contrib/zlib/gzlib.c index da6b2c56c380..75b3e675f5f7 100644 --- a/sys/contrib/zlib/gzlib.c +++ b/sys/contrib/zlib/gzlib.c @@ -1,5 +1,5 @@ /* gzlib.c -- zlib functions common to reading and writing gzip files - * Copyright (C) 2004-2019 Mark Adler + * Copyright (C) 2004-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -565,20 +565,20 @@ void ZLIB_INTERNAL gz_error(gz_statep state, int err, const char *msg) { #endif } -#ifndef INT_MAX /* portably return maximum value for an int (when limits.h presumed not available) -- we need to do this to cover cases where 2's complement not used, since C standard permits 1's complement and sign-bit representations, otherwise we could just use ((unsigned)-1) >> 1 */ unsigned ZLIB_INTERNAL gz_intmax(void) { - unsigned p, q; - - p = 1; +#ifdef INT_MAX + return INT_MAX; +#else + unsigned p = 1, q; do { q = p; p <<= 1; p++; } while (p > q); return q >> 1; -} #endif +} diff --git a/sys/contrib/zlib/inflate.c b/sys/contrib/zlib/inflate.c index c58ee237956a..395ae51bbf56 100644 --- a/sys/contrib/zlib/inflate.c +++ b/sys/contrib/zlib/inflate.c @@ -1387,7 +1387,7 @@ int ZEXPORT inflateSync(z_streamp strm) { /* if first time, start search in bit buffer */ if (state->mode != SYNC) { state->mode = SYNC; - state->hold <<= state->bits & 7; + state->hold >>= state->bits & 7; state->bits -= state->bits & 7; len = 0; while (state->bits >= 8) { diff --git a/sys/contrib/zlib/inftrees.c b/sys/contrib/zlib/inftrees.c index 8a208c2daa8c..98cfe164458c 100644 --- a/sys/contrib/zlib/inftrees.c +++ b/sys/contrib/zlib/inftrees.c @@ -1,5 +1,5 @@ /* inftrees.c -- generate Huffman trees for efficient decoding - * Copyright (C) 1995-2023 Mark Adler + * Copyright (C) 1995-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -9,7 +9,7 @@ #define MAXBITS 15 const char inflate_copyright[] = - " inflate 1.3 Copyright 1995-2023 Mark Adler "; + " inflate 1.3.1 Copyright 1995-2024 Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome in the documentation of your product. If for some reason you cannot @@ -57,7 +57,7 @@ int ZLIB_INTERNAL inflate_table(codetype type, unsigned short FAR *lens, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; static const unsigned short lext[31] = { /* Length codes 257..285 extra */ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, - 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 198, 203}; + 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 203, 77}; static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, diff --git a/sys/contrib/zlib/inftrees.h b/sys/contrib/zlib/inftrees.h index a10712d8cb5a..396f74b5da79 100644 --- a/sys/contrib/zlib/inftrees.h +++ b/sys/contrib/zlib/inftrees.h @@ -41,8 +41,8 @@ typedef struct { examples/enough.c found in the zlib distribution. The arguments to that program are the number of symbols, the initial root table size, and the maximum bit length of a code. "enough 286 9 15" for literal/length codes - returns returns 852, and "enough 30 6 15" for distance codes returns 592. - The initial root table size (9 or 6) is found in the fifth argument of the + returns 852, and "enough 30 6 15" for distance codes returns 592. The + initial root table size (9 or 6) is found in the fifth argument of the inflate_table() calls in inflate.c and infback.c. If the root table size is changed, then these maximum sizes would be need to be recalculated and updated. */ diff --git a/sys/contrib/zlib/test/example.c b/sys/contrib/zlib/test/example.c index f27ba8e2fdcb..c3521dd5934f 100644 --- a/sys/contrib/zlib/test/example.c +++ b/sys/contrib/zlib/test/example.c @@ -364,7 +364,8 @@ static void test_flush(Byte *compr, uLong *comprLen) { /* =========================================================================== * Test inflateSync() */ -static void test_sync(Byte *compr, uLong comprLen, Byte *uncompr, uLong uncomprLen) { +static void test_sync(Byte *compr, uLong comprLen, Byte *uncompr, + uLong uncomprLen) { int err; z_stream d_stream; /* decompression stream */ diff --git a/sys/contrib/zlib/test/minigzip.c b/sys/contrib/zlib/test/minigzip.c index c72356dbccf2..134e10e6c3e9 100644 --- a/sys/contrib/zlib/test/minigzip.c +++ b/sys/contrib/zlib/test/minigzip.c @@ -303,7 +303,7 @@ static void error(const char *msg) { #ifdef USE_MMAP /* MMAP version, Miguel Albrecht */ /* Try compressing the input file at once using mmap. Return Z_OK if - * if success, Z_ERRNO otherwise. + * success, Z_ERRNO otherwise. */ static int gz_compress_mmap(FILE *in, gzFile out) { int len; diff --git a/sys/contrib/zlib/trees.c b/sys/contrib/zlib/trees.c index 8dbdc40bacce..6a523ef34e3c 100644 --- a/sys/contrib/zlib/trees.c +++ b/sys/contrib/zlib/trees.c @@ -1,5 +1,5 @@ /* trees.c -- output deflated data using Huffman coding - * Copyright (C) 1995-2021 Jean-loup Gailly + * Copyright (C) 1995-2024 Jean-loup Gailly * detect_data_type() function provided freely by Cosmin Truta, 2006 * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -899,14 +899,19 @@ local void compress_block(deflate_state *s, const ct_data *ltree, const ct_data *dtree) { unsigned dist; /* distance of matched string */ int lc; /* match length or unmatched char (if dist == 0) */ - unsigned sx = 0; /* running index in sym_buf */ + unsigned sx = 0; /* running index in symbol buffers */ unsigned code; /* the code to send */ int extra; /* number of extra bits to send */ if (s->sym_next != 0) do { +#ifdef LIT_MEM + dist = s->d_buf[sx]; + lc = s->l_buf[sx++]; +#else dist = s->sym_buf[sx++] & 0xff; dist += (unsigned)(s->sym_buf[sx++] & 0xff) << 8; lc = s->sym_buf[sx++]; +#endif if (dist == 0) { send_code(s, lc, ltree); /* send a literal byte */ Tracecv(isgraph(lc), (stderr," '%c' ", lc)); @@ -931,8 +936,12 @@ local void compress_block(deflate_state *s, const ct_data *ltree, } } /* literal or match pair ? */ - /* Check that the overlay between pending_buf and sym_buf is ok: */ + /* Check for no overlay of pending_buf on needed symbols */ +#ifdef LIT_MEM + Assert(s->pending < 2 * (s->lit_bufsize + sx), "pendingBuf overflow"); +#else Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow"); +#endif } while (sx < s->sym_next); @@ -1082,9 +1091,14 @@ void ZLIB_INTERNAL _tr_flush_block(deflate_state *s, charf *buf, * the current block must be flushed. */ int ZLIB_INTERNAL _tr_tally(deflate_state *s, unsigned dist, unsigned lc) { +#ifdef LIT_MEM + s->d_buf[s->sym_next] = (ush)dist; + s->l_buf[s->sym_next++] = (uch)lc; +#else s->sym_buf[s->sym_next++] = (uch)dist; s->sym_buf[s->sym_next++] = (uch)(dist >> 8); s->sym_buf[s->sym_next++] = (uch)lc; +#endif if (dist == 0) { /* lc is the unmatched char */ s->dyn_ltree[lc].Freq++; diff --git a/sys/contrib/zlib/zconf.h b/sys/contrib/zlib/zconf.h index 4021363ba6c2..349914dbecca 100644 --- a/sys/contrib/zlib/zconf.h +++ b/sys/contrib/zlib/zconf.h @@ -1,5 +1,5 @@ /* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -311,14 +311,6 @@ # endif #endif -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - /* The following definitions for FAR are needed only for MSDOS mixed * model programming (small or medium model with some far allocations). * This was tested only with MSC; for other MSDOS compilers you may have diff --git a/sys/contrib/zlib/zconf.h.in b/sys/contrib/zlib/zconf.h.in index fb76ffe312ae..62adc8d8431f 100644 --- a/sys/contrib/zlib/zconf.h.in +++ b/sys/contrib/zlib/zconf.h.in @@ -1,5 +1,5 @@ /* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -300,14 +300,6 @@ # endif #endif -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - /* The following definitions for FAR are needed only for MSDOS mixed * model programming (small or medium model with some far allocations). * This was tested only with MSC; for other MSDOS compilers you may have diff --git a/sys/contrib/zlib/zlib.3 b/sys/contrib/zlib/zlib.3 index 4dd289675349..c716020ea9c4 100644 --- a/sys/contrib/zlib/zlib.3 +++ b/sys/contrib/zlib/zlib.3 @@ -1,4 +1,4 @@ -.TH ZLIB 3 "18 Aug 2023" +.TH ZLIB 3 "22 Jan 2024" .SH NAME zlib \- compression/decompression library .SH SYNOPSIS @@ -105,9 +105,9 @@ before asking for help. Send questions and/or comments to zlib@gzip.org, or (for the Windows DLL version) to Gilles Vollant (info@winimage.com). .SH AUTHORS AND LICENSE -Version 1.3 +Version 1.3.1 .LP -Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler +Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler .LP This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/sys/contrib/zlib/zlib.h b/sys/contrib/zlib/zlib.h index 48b95a64a830..04eaa04ce8d3 100644 --- a/sys/contrib/zlib/zlib.h +++ b/sys/contrib/zlib/zlib.h @@ -1,7 +1,7 @@ /* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.3, August 18th, 2023 + version 1.3.1, January 22nd, 2024 - Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -37,11 +37,11 @@ extern "C" { #endif -#define ZLIB_VERSION "1.3" -#define ZLIB_VERNUM 0x1300 +#define ZLIB_VERSION "1.3.1" +#define ZLIB_VERNUM 0x1310 #define ZLIB_VER_MAJOR 1 #define ZLIB_VER_MINOR 3 -#define ZLIB_VER_REVISION 0 +#define ZLIB_VER_REVISION 1 #define ZLIB_VER_SUBREVISION 0 /* @@ -936,10 +936,10 @@ ZEXTERN int ZEXPORT inflateSync(z_streamp strm); inflateSync returns Z_OK if a possible full flush point has been found, Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. - In the success case, the application may save the current current value of - total_in which indicates where valid compressed data was found. In the - error case, the application may repeatedly call inflateSync, providing more - input each time, until success or end of the input data. + In the success case, the application may save the current value of total_in + which indicates where valid compressed data was found. In the error case, + the application may repeatedly call inflateSync, providing more input each + time, until success or end of the input data. */ ZEXTERN int ZEXPORT inflateCopy(z_streamp dest, @@ -1761,14 +1761,14 @@ ZEXTERN uLong ZEXPORT crc32_combine(uLong crc1, uLong crc2, z_off_t len2); seq1 and seq2 with lengths len1 and len2, CRC-32 check values were calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and - len2. + len2. len2 must be non-negative. */ /* ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t len2); Return the operator corresponding to length len2, to be used with - crc32_combine_op(). + crc32_combine_op(). len2 must be non-negative. */ ZEXTERN uLong ZEXPORT crc32_combine_op(uLong crc1, uLong crc2, uLong op); diff --git a/sys/contrib/zlib/zutil.h b/sys/contrib/zlib/zutil.h index 9e0f3f9d0a2a..347597f50d3c 100644 --- a/sys/contrib/zlib/zutil.h +++ b/sys/contrib/zlib/zutil.h @@ -1,5 +1,5 @@ /* zutil.h -- internal interface and configuration of the compression library - * Copyright (C) 1995-2022 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -56,7 +56,7 @@ typedef unsigned long ulg; extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ /* (size given to avoid silly warnings with Visual C++) */ -#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)] +#define ERR_MSG(err) z_errmsg[(err) < -6 || (err) > 2 ? 9 : 2 - (err)] #define ERR_RETURN(strm,err) \ return (strm->msg = ERR_MSG(err), (err)) @@ -137,17 +137,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ # endif #endif -#if defined(MACOS) || defined(TARGET_OS_MAC) +#if defined(MACOS) # define OS_CODE 7 -# ifndef Z_SOLO -# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os -# include /* for fdopen */ -# else -# ifndef fdopen -# define fdopen(fd,mode) NULL /* No fdopen() */ -# endif -# endif -# endif #endif #ifdef __acorn @@ -170,18 +161,6 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ # define OS_CODE 19 #endif -#if defined(_BEOS_) || defined(RISCOS) -# define fdopen(fd,mode) NULL /* No fdopen() */ -#endif - -#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX -# if defined(_WIN32_WCE) -# define fdopen(fd,mode) NULL /* No fdopen() */ -# else -# define fdopen(fd,type) _fdopen(fd,type) -# endif -#endif - #if defined(__BORLANDC__) && !defined(MSDOS) #pragma warn -8004 #pragma warn -8008 From nobody Wed Feb 21 09:59:40 2024 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 4TfsFT3c2Qz5BsnR for ; Wed, 21 Feb 2024 09:59: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 4TfsFT0bPPz4CjB; Wed, 21 Feb 2024 09:59:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708509581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1rPX3BGsKrLmaldSeA9ZDpKF4vjPRm+Ulk+zkBt8RMQ=; b=nblYcPq6SzX7CVoXxl6PQLnwc/T5IKcAerLKgN32P0K6FvUvzxsrIUZSr2phirdR+4Ribu zcN8h7CtFWFC+GP4KUMdlWEGTKPsbiiFUbBXwZq4Uf289qoQfYm/cWZisuSID9uTn6Sd6r TDZZEQZX06E9aYIUFQOsDfE5HcpNry8rB05ttVWE7lqQrMDy/G94IY+DgIows7M6vEIID2 Ml8zbqpie2ZKMF7nnxIIe+OZeRVoHxvLZo4Bke7mX9C23KZDy41XyunC951pSv5zh0jMB6 Idyxd2VoBKfM9xTmRT6RM2lw026J5WjB9dmhOBGHOopkeEHwkCO7CGI42V0eOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708509581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1rPX3BGsKrLmaldSeA9ZDpKF4vjPRm+Ulk+zkBt8RMQ=; b=MO+6BXnP9enFhFCQQ+h+ZlUliITkhHkt97ck4AblopIeizPyin12lOVL4hcRncu/pw5Wtt XAJW1n1WIstyrYhCVKZdlFRS6D1y08vTXZktIAx3B5iK4mTAcX+zt6s1xAtyFACsyq3WEB hWlmPr2dFXnzwfnpq9ifwfnA0YYLpRQ7/JhjMm/Qk0wCf69+irzwKESaVWv4MUc8Sxq9Ua /Df9oLVZxEABG6aT4cVQuAH9SVb9Vd2N+v9qpKRqON9ehrbgCKZPFDrgZNY8XhzTIWIhGS 9Fhu/e9Gj1lIbnv4tLlPH3J2vB6OLFYW6z5TqKIibb7kqtSbzbhpUHljzn85CA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708509581; a=rsa-sha256; cv=none; b=ZTFoYMDvq2yznE04P++/u0opLI5ygPYf60ucL8MNSeKkm7tdCaGitaB9+qID2Ecrj6NMbg uOCxwXb7wAUdqKK3pVL2dAktvhq42ZWEigGWm/l6N02p3xT2MQ4qPbvD9qElzoNwYIHUSJ aaGHs4OxZcuRiWUgSrT53puKEZpHEHDAEruxq7ghAwEbCOeOqTOQCB0yEJCyoeeoVB58s/ gEx2FJAYQo9N4gxtx4VFcQyvaR5G7ooUcRHePNrZyo9wDorwcelui7giaqDfllj5eZVjIq ZymHIp5yOANU3vIdo8kcYKjxWDzaSguQAheSBCgho8Ym2NHzNP+JPl2iwv1GIA== 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 4TfsFS6VhjzyDq; Wed, 21 Feb 2024 09:59: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 41L9xeSV061042; Wed, 21 Feb 2024 09:59:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41L9xeje061041; Wed, 21 Feb 2024 09:59:40 GMT (envelope-from git) Date: Wed, 21 Feb 2024 09:59:40 GMT Message-Id: <202402210959.41L9xeje061041@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Dimitry Andric Subject: git: e15a4f0a320e..b3ca86c61e06 - vendor/llvm-project/release-18.x - 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/vendor/llvm-project/release-18.x X-Git-Reftype: branch X-Git-Commit: b3ca86c61e0626b777466609594a8da23ef637e8 X-Git-Oldrev: e15a4f0a320e3c1248539511adee55a201e9ed2e X-Git-Newrev: b3ca86c61e0626b777466609594a8da23ef637e8 Auto-Submitted: auto-generated The branch vendor/llvm-project/release-18.x has been updated by dim: URL: https://cgit.FreeBSD.org/src/log/?id=e15a4f0a320e..b3ca86c61e06 b3ca86c61e06 Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc3-0-g6c90f8dd5463. From nobody Wed Feb 21 10:55:33 2024 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 4TftTx5yHhz5ByKV; Wed, 21 Feb 2024 10:55: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 4TftTx5CRqz4H6k; Wed, 21 Feb 2024 10:55:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708512933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qnbkoiCdja2izpYfJtKybD082+gIod5jEN5uf7g/tYM=; b=O7bnjnMQQe3o6R1Fq6AH6Ds9qE0rzozBvieb8whJJQnPGkdikuuUcbbFAEVz5ahmD2eESM uYr68JsxAm5z7CCNf0GMqGlrDgyX6GMgk3ZOJeQTJaP6wB3omiV0G0CcII+BEeD5SAdwGC iuq0juaO8awrZnGBMNeLP01KY8y2uRcu0CwR3dqCu7to6z6KH6xYQU/dmL4mD2fHy7KKUH /bMQvpC7Fla1gEV1BWB2ubToI3A+ZDiDim4WVBCEPfZld9jVo+PEyOVZZgrhlrDkzNZX94 6PvfKmSYZxpoqNvOfzrI+OfNMLZeO7EQ9Gwi5n1F09fuCoUjhGmiLImHQ+WcAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708512933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qnbkoiCdja2izpYfJtKybD082+gIod5jEN5uf7g/tYM=; b=o1m90LFeWnsl6Sbw/DC+TmCFM6dGwP6WBdYMG9/7MtV/QmXIUCdPej3YfzASap8bpCLLOG 6+IuzDrC55eoQf/GJBlsr8EsYMEuQCJkhMCf4qJZJKefy+wpVyHiSA3vOQLnyKB2jqQdEb UjzC6r/c9BiEeXhKcl5JLoCB1DagQOG8Rg4TMZkcicfYgn/Z3HasWpPAG/rVFy9Sl6Asik SbNtGEnDEihzD8m3vLI/Y+RQ8Y2VYwwiG09NByyBrK94cgAHLHXV33rDLXhfZpJzUB1xRK 9m2JAsSPFC9cVAg33KYwmttRFmqy3DnT2bIiUd7wnNPZsQq2XUkhnExAVgzcNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708512933; a=rsa-sha256; cv=none; b=OvP40iZC23Ghq0eknYjU087/VjQfEogQ/SZ/M78GVHVhSn5O1PS4Ha/IjR9W8f4CHt5tMN /o2BtQnsh3hcyB7HR8rjQS5qroh/241A756vvIsFY4DzDmdarVzUvOHULET2kjmylzSbXt xoHywb+PcwKngBcZu/4LlBtCGb3rsL6XFrhQEJCE+/bf2endx3RMWnIgVBdN5m7WAO0ZZq kSz+DepFE2mFngSLIIZdguCpuwHhXaWnrFJvZ+lgRHPM2OSfi4EOMIpDhY/ueaFR0oyvAD Dc3FaLcliBrB9pigMl43eCcg4u00WpR+yk62U9cqJ87/2n5V9gBJ9MOPzrxARw== 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 4TftTx4H2hz10Qq; Wed, 21 Feb 2024 10:55: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 41LAtXHr061543; Wed, 21 Feb 2024 10:55:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LAtXVq061540; Wed, 21 Feb 2024 10:55:33 GMT (envelope-from git) Date: Wed, 21 Feb 2024 10:55:33 GMT Message-Id: <202402211055.41LAtXVq061540@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: ffea732c5192 - main - ls.1: Mention CLICOLOR environment variable 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: ffea732c5192070a6877409428b0a2cc1728aa16 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=ffea732c5192070a6877409428b0a2cc1728aa16 commit ffea732c5192070a6877409428b0a2cc1728aa16 Author: Gordon Bergling AuthorDate: 2024-02-21 10:54:58 +0000 Commit: Gordon Bergling CommitDate: 2024-02-21 10:54:58 +0000 ls.1: Mention CLICOLOR environment variable Mention CLICOLOR environment variable in the manual page. PR: 276556 Submitted by: bsdcode at disroot dot org Reviewed by: imp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D43970 --- bin/ls/ls.1 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bin/ls/ls.1 b/bin/ls/ls.1 index d3daf6e12019..9d4c55b9b17d 100644 --- a/bin/ls/ls.1 +++ b/bin/ls/ls.1 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 12, 2024 +.Dd February 21, 2024 .Dt LS 1 .Os .Sh NAME @@ -244,9 +244,11 @@ but only if .Dv stdout is a tty and either the .Fl G -flag is specified or the +flag is specified or one of the environment variables .Ev COLORTERM -environment variable is set and not empty. +or +.Ev CLICOLOR +is set and not empty. .Pp .Cm never will disable color regardless of environment variables. From nobody Wed Feb 21 11:27:49 2024 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 4TfvCB1ZJNz5C1Wc; Wed, 21 Feb 2024 11:27: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 4TfvCB13Szz4MdF; Wed, 21 Feb 2024 11:27:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708514870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wATlgJ2I9v856BhHiLzlXsVSu6es/pPUpDCLZ9KS8Os=; b=wOn0tsvjYBaM+hg/XsUAYpd/GwZV9sjY3EJtLKWJXSWQeXgTlJJQkFwIXltsE2rn4BH4Ot XMNZDDdgdKmdd5OxN/MeizKO+vnfXkpgXW+zuF+KZBHFku1HELCD9Qtqn2ALQ83Cd7C5g8 KSOl0EmI67wzgbO7rtjo/lYCvlUGJSzPBTAvojA/dALCM/fm7O+wsDfmHJwBN62M5Kt5eQ tEWuGk8dhTPPnMpOghIJOs1MkrxWh2ahAdaeBqUs6d/drJMLxGzJtnxAHLMcsO2bemxFPf bG0PXCus/dx+Z3daVDJdGJelZFRdrxBJFnEH9eZsayIqwHROHbt5hqQFT9d1Fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708514870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wATlgJ2I9v856BhHiLzlXsVSu6es/pPUpDCLZ9KS8Os=; b=nflLe7+nChNsx5jiyE0Tf7IOwBwSsI6yL6iNKZ0FyNwjgs0XfELFz5brOfX1oVPIIUs0sn /lFrJJ+3ukEg1onj+Im17/V7hCu2K52cm0Sq/d70YS81UJQ7Q8H3eqj4HMDZhbfyeGcmMC Cim66LQyCjgIC4utflcaqyltodje9wahAoCDz898UuDoQ1R8CqymCGRmFrMSDPA1kL78g6 LxStsb2XsgGXPAoMLrvcFmYcksoGKKrlWOKE63o6H+1GfSGBpCH1UMbDZkhKLvYW+fTWRd YApwx77Qov4G3qhvTLhfogdzzXxl3DBfnMcihHEzpRSfZ6mnO9fJFG+CC07rVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708514870; a=rsa-sha256; cv=none; b=ndZ5Xq7XYy1rGQxfgYh5U9VVGgsOlZMYVXYbnn7a6j3M9GAHAx9mYN/SfK4yseaYxho73E v6U+dcgDA5IMhigLBBkKfYqdw40fU0T0uzDbu4KEfchD4+Dn1Anu1ewapY/wfK7oHEH6tu Cd48nRzszJGUuy9PHHRtrk5pMw0oZJSjAElOwwq2HlBfubidWnynJPjnxRqDsV4owGUCsQ OQhC7JFVFFwD8M06/jvXRPt7MFHdGCkUCJgeICRTvlnAk0sRLAN6Bh02ulzdEnnFPKwVDn LLsL/ILT9jzcj/pMri+F5BJqiYMGhfGWAhAUNmsAwWJptqvhI3xXfpJKaLkR0g== 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 4TfvCB00twz11RD; Wed, 21 Feb 2024 11:27: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 41LBRnlt013269; Wed, 21 Feb 2024 11:27:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LBRnM2013266; Wed, 21 Feb 2024 11:27:49 GMT (envelope-from git) Date: Wed, 21 Feb 2024 11:27:49 GMT Message-Id: <202402211127.41LBRnM2013266@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: 5e7941b6c979 - main - arm64: Add CurrentEL register definitions 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: 5e7941b6c979a55dc67baf316db6932c09b14022 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5e7941b6c979a55dc67baf316db6932c09b14022 commit 5e7941b6c979a55dc67baf316db6932c09b14022 Author: Andrew Turner AuthorDate: 2024-02-19 14:57:34 +0000 Commit: Andrew Turner CommitDate: 2024-02-21 11:00:19 +0000 arm64: Add CurrentEL register definitions Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43971 --- sys/arm64/include/armreg.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index c43ec1f5b97c..0ff42de90f46 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -190,6 +190,14 @@ #define CTR_ILINE_VAL(reg) ((reg) & CTR_ILINE_MASK) #define CTR_ILINE_SIZE(reg) (4 << (CTR_ILINE_VAL(reg) >> CTR_ILINE_SHIFT)) +/* CurrentEL - Current Exception Level */ +#define CURRENTEL_EL_SHIFT 2 +#define CURRENTEL_EL_MASK (0x3 << CURRENTEL_EL_SHIFT) +#define CURRENTEL_EL_EL0 (0x0 << CURRENTEL_EL_SHIFT) +#define CURRENTEL_EL_EL1 (0x1 << CURRENTEL_EL_SHIFT) +#define CURRENTEL_EL_EL2 (0x2 << CURRENTEL_EL_SHIFT) +#define CURRENTEL_EL_EL3 (0x3 << CURRENTEL_EL_SHIFT) + /* DAIFSet/DAIFClear */ #define DAIF_D (1 << 3) #define DAIF_A (1 << 2) From nobody Wed Feb 21 11:27:51 2024 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 4TfvCC3Z1bz5C1Wd; Wed, 21 Feb 2024 11:27: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 4TfvCC1dF7z4MgB; Wed, 21 Feb 2024 11:27:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708514871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=me3rCigNej2nlXSP0EW+jFoCFetscY8ROwPEUClSshA=; b=IUurXCCqLrIEmIbFuAOujpGP+BpjAHf+CBaFRXa1IAvAMl0XpkIzRglWGX4oPKo/du+cRv ITcEGB6VrMaTeDDLP5X6oRxxw7YxCb558zCfjLrrdsxuAqrcLS/xXRLE3X2D+x3PSpJoPd pdp+rza09s81qnwn9LFX9My48oGtTW/Kt5Bbos/SSya6fY6blf70e1Vj9JB79f74OBod0K KlnF1N/P2oI751pRrlw6Qae0P8Az7gKjG9BF1kpZuw/v8u/NuMrUOvm1hERTQYLYM3o4h2 P3rTXHS4PEsY3Ci0g2WJzTFwcwlrQgeu7rlmlwVxbFQdVRwbt6HCBGfJmIR4qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708514871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=me3rCigNej2nlXSP0EW+jFoCFetscY8ROwPEUClSshA=; b=Ccjtj3yeh6IWGC876TEooalXEaeLcayBzI6bHIzdjflucLVJt6tU5+vM/d9NLpefcxw/v1 HAgMmG7b1Pll2+Z1oVCmSscuuLM5efKJuHNqxxlOMtrmNVeaF2R+to0huf1BpUzHzc5JRs 1/lePsGWAomROzkV3tX9gqeONQhXv6rUVQxxUEwmwNRaODYXaYxMcYXi4G4Ro1im0FW7SJ 8V0vd1ZPIoiUuJ9W/osYMtQDxFNrZ2x5xBIeBr0ulC+9wZOsUYuTOtgO5/Wp9iAT6LrwRM ezXvMNY73+29b1VMAz+LsnkV7k57sHz+zcV7Ivc5thp5+J9sGtpVvFIB8knBIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708514871; a=rsa-sha256; cv=none; b=C2PHGM3rEJ2F1mw4b1KUABRxSQ7y2dmD9VrlkrzIexLF3w4C7+f9F81CZbThmXp5DgNIyh /9dU37xPFdd4c84pJ1+pCaHvntXRRh3/3NFszOx/mVHYky7BjcGpJ2iczE79XfEPGYPR+1 tdNB7iw70WF3E175a1wnEZjU8zzOuFtZh6dX2ULxXasAqQ+qNMXT4tsy5zFbNs7kRkV+Hb HN0IfGm/1vXUQq2qWGBY5VXjq1FM49DwvveppCFGgGLn0Y4VqPTQjaUXd8cLa1VNcyInNT 2rHSRoJ9EtvUwnnHw+lB/mZV41aqDOWwMXDRwRf7E6pdHuqyyULgGFXJQ+4eMg== 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 4TfvCC0jLqz11GK; Wed, 21 Feb 2024 11:27: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 41LBRpIR013314; Wed, 21 Feb 2024 11:27:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LBRpgi013311; Wed, 21 Feb 2024 11:27:51 GMT (envelope-from git) Date: Wed, 21 Feb 2024 11:27:51 GMT Message-Id: <202402211127.41LBRpgi013311@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: 37563d39efd1 - main - arm64: Use the new CurrentEL macros 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: 37563d39efd115c7e6ccddb5f2dc1e0d089b2b8b Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=37563d39efd115c7e6ccddb5f2dc1e0d089b2b8b commit 37563d39efd115c7e6ccddb5f2dc1e0d089b2b8b Author: Andrew Turner AuthorDate: 2024-02-15 16:13:09 +0000 Commit: Andrew Turner CommitDate: 2024-02-21 11:23:58 +0000 arm64: Use the new CurrentEL macros Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43972 --- sys/arm64/arm64/locore.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index b246ed3f2a41..638c4a542891 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -267,8 +267,8 @@ END(mpentry) */ LENTRY(drop_to_el1) mrs x23, CurrentEL - lsr x23, x23, #2 - cmp x23, #0x2 + and x23, x23, #(CURRENTEL_EL_MASK) + cmp x23, #(CURRENTEL_EL_EL2) b.eq 1f ret 1: From nobody Wed Feb 21 11:27:52 2024 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 4TfvCD5cp6z5C1Wh; Wed, 21 Feb 2024 11:27: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 4TfvCD2jWKz4N41; Wed, 21 Feb 2024 11:27:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708514872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yVjdrBsG0rmAwmGuTF4GDAPW92dzP7rsiHJHo2/80r0=; b=UE0BWxnTomsk7/pRc3A63jZhDwxWdYN4U+jev+Ir0h7rJHeDGdjyDl46jtx3e80KtSPjke c6SECZcz1JhG4OnCdczYQwZGTPsmXCYyjv1/Vwwng5OrPuI6fxsQcZgat9Xj/GBBe7mEY1 XNfShI5x436OsX63KYFnRVMDZrWHb4fjLez7LvQhA5CcOCOQZsasS/2hX2X8R+3Z9dZCXm L5Sd9q+hfRgvEXZXMvMx+oe0hSHFiwlwNad7SEbjPHTPM92fX2ZhVz5ZzqOuzUpcEuJweU 51EFqV758W1sDcTrqurT48GokLUvjR4AgBgcrPtf03aW/aWBfd9tsEbhC6nnRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708514872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yVjdrBsG0rmAwmGuTF4GDAPW92dzP7rsiHJHo2/80r0=; b=ibG7nLxct3+NC6tDgko6CQahcoH9y9na12CJZspOxyW1NAGmDVuAHJW4444kaI5WgvrDap lNUSEP8Zz5hGRKotHXo0wJn5jKBrpcvOkKYAcpWnp2IyKT6dLP6gCk/K8LWJXOh8FXYvyH EaKIwCvcCJQq1Xco5tQ/KtdO0xFfuHIziXeDsj3DI2v9/wsU4S0JikMH3Z79l1e2LfDRWh eP2aG43e392R3aBXd7ZpQBnElJPmNfoY5iZlAOSsBtMYo7bnPNiTWL/Uhx21Vl8T+dp80C 7zrQo4+mbDmWrHCoc6KD9Xc2pQcQjUUPulBDGs7A8DtLFk3gyiFqXZTYWBPeOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708514872; a=rsa-sha256; cv=none; b=Jm+gzaGU7gYJ2PHT6ZLE/rZGNnkG0iAunkbttH3fPo37HSC/xLEDgJp/qZ5xzDvtvGBIEM 8Wpiy+2dsJWbrJVLMBs4LU/yp2LA4l/qAR8meB/rLQTcJW2yD+jOq2J3DhKtpRXw3+TxaV xQkEKg9BcCXa2XJNciX6LNy35LfHLAfx0x/vqQAXyO1zl16fdph2riqXrbJtX6rGcG97dm K82vmsC4qZNebCvOieDDRvc3LZ9xe9k6wP4rZBaapn/F4MxJ1lSZRWN6ZgpkO7h+NyVqys pa8kDHFPIUOmRaZ1URzJK8JonuWNEPB7HPRiRvjrrtqG3dgRqD8WrSRy/HtxtA== 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 4TfvCD1nW4z10bS; Wed, 21 Feb 2024 11:27: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 41LBRqPE013374; Wed, 21 Feb 2024 11:27:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LBRq4E013371; Wed, 21 Feb 2024 11:27:52 GMT (envelope-from git) Date: Wed, 21 Feb 2024 11:27:52 GMT Message-Id: <202402211127.41LBRq4E013371@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: 353b6a5bcb5a - main - arm64: Add in_vhe() to find if the kernel is in VHE 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: 353b6a5bcb5ae6943903b38ebcc0922b059ff8b8 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=353b6a5bcb5ae6943903b38ebcc0922b059ff8b8 commit 353b6a5bcb5ae6943903b38ebcc0922b059ff8b8 Author: Andrew Turner AuthorDate: 2024-01-11 17:01:52 +0000 Commit: Andrew Turner CommitDate: 2024-02-21 11:26:29 +0000 arm64: Add in_vhe() to find if the kernel is in VHE Add a function to support devices that may need to know if the kernel has enabled the Armv8.1 Virtulization Host Extensions (FEAT_VHE). Some devices, e.g. the generic timer, will need to know, e.g. use a different interrupt. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43973 --- sys/arm64/arm64/machdep.c | 8 ++++++++ sys/arm64/include/machdep.h | 1 + 2 files changed, 9 insertions(+) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 9ce1c40b674c..c7f451543687 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -215,6 +215,14 @@ has_hyp(void) return (boot_el == 2 && (hcr_el2 & HCR_E2H) == 0); } +bool +in_vhe(void) +{ + /* If we are currently in EL2 then must be in VHE */ + return ((READ_SPECIALREG(CurrentEL) & CURRENTEL_EL_MASK) == + CURRENTEL_EL_EL2); +} + static void cpu_startup(void *dummy) { diff --git a/sys/arm64/include/machdep.h b/sys/arm64/include/machdep.h index 80cb28bcfbeb..2f2960ae39f2 100644 --- a/sys/arm64/include/machdep.h +++ b/sys/arm64/include/machdep.h @@ -48,6 +48,7 @@ extern enum arm64_bus arm64_bus_method; void dbg_init(void); bool has_hyp(void); +bool in_vhe(void); void initarm(struct arm64_bootparams *); vm_offset_t parse_boot_param(struct arm64_bootparams *abp); #ifdef FDT From nobody Wed Feb 21 12:40:25 2024 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 4Tfwpx3L4Dz5C6qp; Wed, 21 Feb 2024 12:40: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 4Tfwpx2pJfz4Tjj; Wed, 21 Feb 2024 12:40:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708519225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=es/q6NxXtQgxSICSk0+C8FBhXQ41/adxez8yfDEdGHQ=; b=WmwsGlgcAXOMBLxsglfnI+vay9SWgDmVwoXI3e8x5obQP4fgAIBnJFYCKlotet1FZ/BB4m 7laPj4htSKyEElBPXaxA0l5NUCt0uZMJ4kC0sf01JLLQc2NnrL4kDgezJ+aDjU6eEPVNJ8 dhZvDdgdZ6Dn/LB4GeCe8/wBUL5hGdB6T/jcjC8wEiGLUkAQ4tCvtd5iu9flWCEkT0okiz 1/yWoGBV3WM0Yv7Gr261C+ulyGUXvIOCELFuaa+QfKGU3toChG+xOb1EQV1k9H+9k/fg6A fKea75aGmfCBhEkx+tE7Bj9ivn/J/x51kSK4BPAURyqwAyfa/S0Mx9IRV3z+OQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708519225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=es/q6NxXtQgxSICSk0+C8FBhXQ41/adxez8yfDEdGHQ=; b=fDYRHWd6IVYWhiQumaKcJtRyj12e+PL2Qhz+stAz4fSaPFDZUZfOnMxhg0yJfmRojeRcS4 KdkXTjjCX9b7NTT43ObGJLNrTINAwbrTSYl76D4JShgZHutx1GMTKGUFnrF42Y0YlPiz+v XdWK/0uETVsuk4zRmw4ilz9dlLt7NmA8IXJye0zxJ4J1FTaQhQ/9pXT/cR//+h++JAUg4F Nc/7iMRZGfBcJEU+LMy458fkB36O4c4KtRt/vicVVKB5jNKHMVxeX0NjAD47NlPumLcSu9 7nqA4pih/Rk5ShcKSDK0zH7UobzZD7CKITri/uwVRa//ptQ4y1ONZXjp8s/RJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708519225; a=rsa-sha256; cv=none; b=VuvEq7q8kUBBz5rt7EV56vu2oY710TvkMsRvFZY9ltshF/MXIShe5+2HoPt3OLWFov1MEr p3diABtA/XzIBvFw+WH6BxdBd1PkbIIpHH9F9ptJtKuxwFblms+3fJz56soQdppnOiL7IU r+v4zWNDdlju4GOjnlnQysVp8IyGzoy1bZo8zFnSnmsBb4voBHNe4jmimOB/oIWQZPCfgf 11yI4XzOxr99t8DclFPdFrnUf3R6LN8o89RbLJsEoNrpZexkTA4xI9xYTVAlTPN8YbTuX1 z8KqwLxM0YzH/dYCk0WoEvDawi49xusF4rUgRt7GO2uI9zkxkUB3G5QbYgGL5Q== 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 4Tfwpx1slfz12WR; Wed, 21 Feb 2024 12:40: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 41LCePxk040034; Wed, 21 Feb 2024 12:40:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LCePmx040031; Wed, 21 Feb 2024 12:40:25 GMT (envelope-from git) Date: Wed, 21 Feb 2024 12:40:25 GMT Message-Id: <202402211240.41LCePmx040031@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: 58df49801d9d - main - arm64: Fix the has_hyp 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 58df49801d9d58e61cc2adc8fd1e6848b64d2453 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=58df49801d9d58e61cc2adc8fd1e6848b64d2453 commit 58df49801d9d58e61cc2adc8fd1e6848b64d2453 Author: Andrew Turner AuthorDate: 2024-02-21 12:38:49 +0000 Commit: Andrew Turner CommitDate: 2024-02-21 12:38:49 +0000 arm64: Fix the has_hyp check boot_el is now the CurrentEL.EL field value. Use the new macros to implement the has_hyp() check. Sponsored by: Arm Ltd --- sys/arm64/arm64/machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index c7f451543687..2716182ca442 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -212,7 +212,7 @@ has_hyp(void) * XXX The E2H check is wrong, but it's close enough for now. Needs to * be re-evaluated once we're running regularly in EL2. */ - return (boot_el == 2 && (hcr_el2 & HCR_E2H) == 0); + return (boot_el == CURRENTEL_EL_EL2 && (hcr_el2 & HCR_E2H) == 0); } bool From nobody Wed Feb 21 13:24:32 2024 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 4Tfxnr42Shz5CBKw; Wed, 21 Feb 2024 13:24: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 4Tfxnr375Tz4YmL; Wed, 21 Feb 2024 13:24:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708521872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=55/N8biJUXWNfWZ6a0plToUgGW3D7WDGR1H5cgavSCE=; b=BreRGoQD9DGAVH4FrsilxlYqG5Sd84Qq2TPx8AywQBfbkj0ir0/gIN5oqt9BSUIM4OykkQ gCcMVBgVDO7lpBUQFK1oVsqkXm5pP/5OmZ0OLc6Y0NjM0eYI9qflbQSp7aEUegfqra2gFe KE/ELL2M/gIm79oKNFJU17PzoUgFEoOGO2svdu+PHE8D+WPgcN0QYq8TbdKlIhtR3kn0OK PjgadeScmgfEbJ5R+rkQMaO3QzPyXXRtupO0SU8hpsocnyRZRg72QIeR+kEDsaSsOJjTBa rV4e8c1+Im7pREDe2lPYXBEe2UnAnt649ECPL6qJLZMP/cNPRDeOuftPAjHoKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708521872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=55/N8biJUXWNfWZ6a0plToUgGW3D7WDGR1H5cgavSCE=; b=LwOa3mCPWzzxCAFNjYlb/Hi9Dchxln3lxCxWkWG9R2G8EJi/Tn6Q0l+afwA9lAi69zQ94N B4Hlisx0TfutQWNRa8eFmpOUxKgjgjg5TswR/CCE4KJmCHCC8I1CRwidX55OdFGBe0thCS D+XKXbiU8AMT/g2BC5Oo2H2JZT5kopxM5lZiw9LZcTUipNbUPTmnW8IMP0AMIb7YHh+D2K kaHSmb6JbX2D7IWMWmEIFjZecy0aG6G2P+/Ubn6HZCvvssoLV23MsHBkz57yI4gASRK1Nc HF8cGOpZ6qXU0J8fXk/RQUZvovCSy8/M46KzLW4dMRdGuT+lhgVrbZ8SVntRYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708521872; a=rsa-sha256; cv=none; b=d9eYrjLaXhEQrXcSd6stQkZM6p1c5S0ItXx6q/PXB08spa1NVix+K0brO3ddMlELP98GZD ej/3/yt9a3sFwEJnN1Q8VclEw6tK9llZysxtzJLI6vfqeRZu8DmIo6AD21bCGhBZp8XkVu S9uWEZWxrba4OlhRbUjWG4WULEMNnYoz1cJVo0zamkhAQmulBSryN3ojs0qHuN2TYzDurR Eavkvuk4YZv2X3niAnQqBOAdF0w2pPgFZKNfQ00djg7qEZPWvGXTAP7Ic/BK8m3JcsTiiP FDt9CpTIQq+pcrCZQIfHDatgdS3Mvm2Fu25a6Kari4uasMfnXSBQyK0vzVEBCw== 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 4Tfxnr20XSz145k; Wed, 21 Feb 2024 13:24: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 41LDOWCm015473; Wed, 21 Feb 2024 13:24:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDOWbh015470; Wed, 21 Feb 2024 13:24:32 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:24:32 GMT Message-Id: <202402211324.41LDOWbh015470@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: c5f972e7fced - stable/14 - bhyve: Add support for the 'p' query 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: c5f972e7fced3aa1825564d70b05e58c88fac678 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c5f972e7fced3aa1825564d70b05e58c88fac678 commit c5f972e7fced3aa1825564d70b05e58c88fac678 Author: Mark Johnston AuthorDate: 2024-02-07 13:46:59 +0000 Commit: Mark Johnston CommitDate: 2024-02-21 13:16:12 +0000 bhyve: Add support for the 'p' query This lets gdb query individual registers. It's easy to implement and is used by gdb when attaching to a CHERI target, so let's support it. Sponsored by: Innovate UK Reviewed by: corvink, jhb MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D43664 (cherry picked from commit e6516294f4c7afa9da40a39caab86a5cd2aeb35a) --- usr.sbin/bhyve/gdb.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/gdb.c b/usr.sbin/bhyve/gdb.c index f2976622c79a..6bdfbc5e8536 100644 --- a/usr.sbin/bhyve/gdb.c +++ b/usr.sbin/bhyve/gdb.c @@ -1036,6 +1036,29 @@ gdb_read_regs(void) finish_packet(); } +static void +gdb_read_one_reg(const uint8_t *data, size_t len) +{ + uint64_t regval; + uintmax_t reg; + + reg = parse_integer(data, len); + if (reg >= nitems(gdb_regset)) { + send_error(EINVAL); + return; + } + + if (vm_get_register(vcpus[cur_vcpu], gdb_regset[reg].id, ®val) == + -1) { + send_error(errno); + return; + } + + start_packet(); + append_unsigned_native(regval, gdb_regset[reg].size); + finish_packet(); +} + static void gdb_read_mem(const uint8_t *data, size_t len) { @@ -1598,10 +1621,12 @@ handle_command(const uint8_t *data, size_t len) /* TODO: Resume any stopped CPUs. */ break; - case 'g': { + case 'g': gdb_read_regs(); break; - } + case 'p': + gdb_read_one_reg(data + 1, len - 1); + break; case 'H': { int tid; @@ -1673,7 +1698,6 @@ handle_command(const uint8_t *data, size_t len) case 'v': /* Handle 'vCont' */ /* 'vCtrlC' */ - case 'p': /* TODO */ case 'P': /* TODO */ case 'Q': /* TODO */ case 't': /* TODO */ From nobody Wed Feb 21 13:24:33 2024 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 4Tfxns4cHvz5CBbf; Wed, 21 Feb 2024 13:24: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 4Tfxns3YYdz4Z36; Wed, 21 Feb 2024 13:24:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708521873; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ogDovwIsFobZFrM7eNKdR+b3bA0lWrCNwEY1qV5hxSE=; b=v1xOy4vOYWC7XeRNgcHcr6QK4CaiP287rzSHR8vRIW2koy9dbzCLk8rEW6sp8056V2kxUG PoPeFNPlcZ0Y6LUPExiUkHvOG7u5/wmDCw5Pa4VkaURAiNjsi3Hd1opGc2BE/PM7fzuIS5 463Z7AgPY4lERLcF6jwy9R5gAgwXHiVGmQHiHOG/Uri/4pd6RvQ27FqxD8WQxrPnhbo6iW nMBtsmGZIstb4bgmRtNu0ym9d8WEnuKzXp+6L3zJYbQ4HVoeJHDGxf7hM38LRiFBQlUAkz xXvlEsSW1/aYi8K+7m79PbCvYv9LpVDGHIeXvH5VyYxhEEYSdGVDkc/pYJe1FA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708521873; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ogDovwIsFobZFrM7eNKdR+b3bA0lWrCNwEY1qV5hxSE=; b=S8E3tA32oalY9oUtx/JeifMAU1u23xi2gAfEQOoqiP74U4sXO/rwcWQQzI4ZaHdomn/R03 HXe3DzLiOAVz0Y1b/YUAVWU3NwFubHlkgnsPDE7jdskbDZppK+C5UeC79zoi11aWbwcNaO gVeLqK2V3R0jb4miDPK03FG0XnE93kclDdmc3+bAOQTf7fIb+9diKpIWcrHP8em3hh0y0c U1vE3tnvCRMS2rJrV5rXup3cuPcSlMFzCxpb0Il7wLOfHkAsTf/Z/zqJ9YFFTxg+aLiguV cZkmnjN1yLoUenMIp8TQidL/1EjMXIsPrfDVSPAJP1aa7jEqhLvIpaP4LtrWjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708521873; a=rsa-sha256; cv=none; b=In25Cos0bqCDvsETmBeVckV47MtTI0d1srRhAz9yyYLip6y1TiEBib2XLewNNK/kFNqXgQ XACY7TRWrgjWcbATbkD7EtAneqT8C5F+s7n0tS4h6fBENGRt9HA8nXArdYD49STY1wZMtm PRQ8lTLoTZv6mYy5AWP4kR6QDredDBvuVk0Z71c3CLYe6vcuGq8FcmE4cK7Sl0V5EEd9Cv jqBMaOo/6oZmgR6ohpM/V5Jq44mhH9u9brG2tcgzDxN/OwStWn2ApucqCndI2EWpU0E93f iSNjo2TdBcL6rY9WwAlcuyNGlBVy3ir7Sf4kmYJGXTCmjbmO89hygQpcmnqpUQ== 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 4Tfxns2fk9z13ws; Wed, 21 Feb 2024 13:24: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 41LDOXBU015526; Wed, 21 Feb 2024 13:24:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDOXod015523; Wed, 21 Feb 2024 13:24:33 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:24:33 GMT Message-Id: <202402211324.41LDOXod015523@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: 3b3ab2abb694 - stable/14 - build: Do not run ctfconvert on VDSO 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 3b3ab2abb694368ab27ab518963ca73564720305 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3b3ab2abb694368ab27ab518963ca73564720305 commit 3b3ab2abb694368ab27ab518963ca73564720305 Author: Mark Johnston AuthorDate: 2024-02-13 23:06:58 +0000 Commit: Mark Johnston CommitDate: 2024-02-21 13:16:22 +0000 build: Do not run ctfconvert on VDSO files Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43877 (cherry picked from commit f48cd806e04a7d6f459cfd93dba283465d40e190) --- sys/conf/files.amd64 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index dfbe278f0c46..5ef285b70c55 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -14,12 +14,14 @@ include "conf/files.x86" elf-vdso.so.o standard \ dependency "$S/amd64/amd64/sigtramp.S assym.inc $S/conf/vdso_amd64.ldscript $S/tools/amd64_vdso.sh" \ compile-with "env AWK='${AWK}' NM='${NM}' LD='${LD}' CC='${CC}' DEBUG='${DEBUG}' OBJCOPY='${OBJCOPY}' ELFDUMP='${ELFDUMP}' S='${S}' sh $S/tools/amd64_vdso.sh" \ + no-ctfconvert \ no-implicit-rule before-depend \ clean "elf-vdso.so.o elf-vdso.so.1 vdso_offsets.h sigtramp.pico" # elf-vdso32.so.o optional compat_freebsd32 \ dependency "$S/amd64/ia32/ia32_sigtramp.S ia32_assym.h $S/conf/vdso_amd64_ia32.ldscript $S/tools/amd64_ia32_vdso.sh" \ compile-with "env AWK='${AWK}' NM='${NM}' LD='${LD}' CC='${CC}' DEBUG='${DEBUG}' OBJCOPY='${OBJCOPY}' ELFDUMP='${ELFDUMP}' S='${S}' sh $S/tools/amd64_ia32_vdso.sh" \ + no-ctfconvert \ no-implicit-rule before-depend \ clean "elf-vdso32.so.o elf-vdso32.so.1 vdso_ia32_offsets.h ia32_sigtramp.pico" # From nobody Wed Feb 21 13:31:49 2024 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 4TfxyG2x1zz5CBn2; Wed, 21 Feb 2024 13:31: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 4TfxyG0Dwzz4Zhy; Wed, 21 Feb 2024 13: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=1708522310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xxs7Fro/hGm2PZHLOrVC7TUAfgab9E4DJQuycfSC3rw=; b=re2vKm0AX4nsy6iowaH5q89i9wkQwLQjbl2s3yCw3rlzjLSh6z1a4hTMIiJHY3ahuVoa5n fVqMO3GG+iuobRCdgb1wc52QpOXPBxiAF7Ang/A7z6PjMuPKDn6/VNzNUM6ViMtX1ESqDj TldNqw+QBk/txupp3018f1HVDp4DAnAzAoYk28iaMTcoOsTqanNn999yo++gDUdXgN9Pnu gWB9MLUzd3XDo68ExSHqddbR95byRzQvML+AKuP7qcYLoNSG0IQeodJ3g61vtpzk1xP7/B zzujJI1VZJDvqoHT744LCtY0OPoJ6JePMzkTZTXbIpbsFTq7gFipNQcWEJedRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708522310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xxs7Fro/hGm2PZHLOrVC7TUAfgab9E4DJQuycfSC3rw=; b=m718Lhlovw7JfiNVw5AKF7nPdBikG3nCohVQewdEsDHHNlwKhmyp4WNJ4hXJN1OwoT5h1R d4KgdjH1k0vSBAZ5N9KQewE48pWxNAByOyRcK5s/gaEppu9FmkuauYd3NbotS14E29LxaW 5ALb6HeWMWiZWqaAHP9VE6uxZT8XXimqr7lv7N9c6TjrtDTsF44t49cOwkqX5SjSlJa2qz XbZtMRIPoTJZ6Cf/uP4F3qaHZyyFa470pEGizJCgbJsprFQxURl49cFQiuwC1/Pc0Wpm+V OdSoraVH/7VWvLuDAmqSy0/dv7g4v+Zml2vMNWdOMkP7unlRNSOdTZPjOLZN0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708522310; a=rsa-sha256; cv=none; b=Kdh3rkbSP3E+7BK7x2UDmFvdVcjDvhfPHIlbj0+MFQEVsS/x4JatUsX/yehgG1Wt7T2RHi JTvLI8y7akkfr45s1coF3J+Qb+FSA6ehWQGoounKnNxdvDp09JmJ6AUN4wQ7nBr8CG+y3w Lu/MwNrm0PmneD3KIMuuRBhOBhm+30a+4TeQAGcZegFY+xvLQt5SxBxGoUU5hSuhBUUagn DconsTTCbVQQ4qn6jz5zkpCcq0rQrR8naYNoDq76harctZwf5e7Rmjd0QRQq7Kvt41EzK3 BKjq3qWbKrS2Aey34Q/Gubr9toTyzm61isCxmkyanbey32GOn/uUvaQcPk60sQ== 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 4TfxyF6QJ2z14VR; Wed, 21 Feb 2024 13:31: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 41LDVngq026014; Wed, 21 Feb 2024 13:31:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDVnL4026011; Wed, 21 Feb 2024 13:31:49 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:31:49 GMT Message-Id: <202402211331.41LDVnL4026011@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Stefan =?utf-8?Q?E=C3=9Fer?= Subject: git: 00c958f12c3d - releng/13.3 - msdosfs: fix directory corruption after rename operation 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: se X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 00c958f12c3da158fe79c6976337eee870714fa3 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=00c958f12c3da158fe79c6976337eee870714fa3 commit 00c958f12c3da158fe79c6976337eee870714fa3 Author: Stefan Eßer AuthorDate: 2024-02-17 21:04:49 +0000 Commit: Stefan Eßer CommitDate: 2024-02-21 13:31:26 +0000 msdosfs: fix directory corruption after rename operation PR: 268005 Reviewed by: mckusick Approved by: re (cperciva) (cherry picked from commit 8b67c670a49b4efe7e1557121b5bbae682ea3bc7) (cherry picked from commit 5f4753501e9cc59e0d15f849c9459478ea5c8dc7) --- sys/fs/msdosfs/msdosfs_vnops.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 1d296c019331..7d18ac623af4 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -1192,8 +1192,10 @@ relock: memcpy(oldname, fip->de_Name, 11); memcpy(fip->de_Name, toname, 11); /* update denode */ error = msdosfs_lookup_ino(tdvp, NULL, tcnp, &scn, &blkoff); - if (error == EJUSTRETURN) + if (error == EJUSTRETURN) { + tdip->de_fndoffset = to_diroffset; error = createde(fip, tdip, NULL, tcnp); + } if (error != 0) { memcpy(fip->de_Name, oldname, 11); goto unlock; From nobody Wed Feb 21 13:43:12 2024 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 4TfyCN6HMKz5CCyX; Wed, 21 Feb 2024 13:43: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 4TfyCN5lZ0z4cfB; Wed, 21 Feb 2024 13:43:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708522992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dW/SaKMAx6lFa4eVnsACqKY+kWL5IygR58J30s/vR2I=; b=VXKOCLmfzVLCEfL4eKcPZMXAHIpnzJSNaZTSNvTSAwNVnLmf+sdkT/kT9N2NdjFSRWJMvG I9rJi36jkBkoIpFp3vLIOOZa/Va2Frg9mVgjTB8JUMT08mFKlEC5XO+ZedXRgRA9bvxara nFPvovqso2n4HrSkBnWz07iMA2q4y2i8ZjK7I/pS66yBR36lLezK9EzXdge2/WAFL5E/Nv w9UTSMbEXw6gzCccwTgdlgPNFOlEYcCqc5mSVE5W4lV0rjbdy7XQdxUE7OQLo+h547j7aQ 28lA4WOC2+uyHWUMynA5TT0azb3+qvNARwt41Al4fXHiAPG3GMSgPOq1Wl3SLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708522992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dW/SaKMAx6lFa4eVnsACqKY+kWL5IygR58J30s/vR2I=; b=VuUxFbqI3UbTeQvlNBCPU16QbjsP0g0BWmRRW2Bw0k3k6JLMhCD+PHH+sD854vv+XsND6V RDzvLrw2WECEaAVBN0a/XQyTqShsPayjdLqb08dwDoM42HHkAJZRaiaqZ/X4ndu+N5LYLu RkinE0RmbvCmQ9wdEmm2MNJnXUH4O9uNL9pwhBIpyV2euGV1bkcTRGLfchMmPORYirRAd/ VUb8kWWYR4QLjXsHIbQT2lwYqcQU6nDsDB9IT4rVgUIDvl/JYRaRt3AxpDfDVWemvfbbGl lyxNLw/+jYXjNede5LfrqQ9wyG8mF5dR2gXqirqWnntHpHk+OoWILh/OgjuqCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708522992; a=rsa-sha256; cv=none; b=PKRcnzBqxg7BdNicwzzYcc6Nj+KEwh51JVDrIDr57Fcy98NOBxoTJ5plV6ca8pzEVW0rc8 meRJLEiyy+aI9eRylTAa9SsqfF+1f8wP4oA6Dz2V0xSKF1QCVCdA5WMwizp7PWEVC2l7rl lq3lhyg9BLusf3ZCL7QLl0WqdJSKmlHDdBGEzXrY/8kUzGIw4a1F5Pm117tkjN7pxgWCO3 Updw22wB9slSMNlAxdPAIVSPXkhcVZSJ1/Cm7dWK9P3REfXgGkypCMqLBC2R76fiVjEFi6 fwiJRmPY10HzDxk5sioNwOiADZ4nIBttPE+l22/6tT7AOLIpSji8cFjrAO1SMA== 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 4TfyCN4qLjz14cs; Wed, 21 Feb 2024 13:43: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 41LDhCvi048281; Wed, 21 Feb 2024 13:43:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDhCaY048278; Wed, 21 Feb 2024 13:43:12 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:43:12 GMT Message-Id: <202402211343.41LDhCaY048278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 4712696c8f46 - stable/14 - Heimdal: Fix transit path validation CVE-2017-6594 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4712696c8f4697b4466407a3e1fa2318f7213eed Auto-Submitted: auto-generated The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=4712696c8f4697b4466407a3e1fa2318f7213eed commit 4712696c8f4697b4466407a3e1fa2318f7213eed Author: Cy Schubert AuthorDate: 2024-02-14 19:56:18 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 13:42:58 +0000 Heimdal: Fix transit path validation CVE-2017-6594 Apply upstream b1e699103. This fixes a bug introduced by upstream f469fc6 which may in some cases enable bypass of capath policy. Upstream writes in their commit log: Note, this may break sites that rely on the bug. With the bug some incomplete [capaths] worked, that should not have. These may now break authentication in some cross-realm configurations. Reported by: emaste Security: CVE-2017-6594 Obtained from: upstream b1e699103 (cherry picked from commit f8041e3628bd70cf5562a9c13eb3d6af8463e720) --- crypto/heimdal/kdc/krb5tgs.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/crypto/heimdal/kdc/krb5tgs.c b/crypto/heimdal/kdc/krb5tgs.c index 19d669798830..cde869522e23 100644 --- a/crypto/heimdal/kdc/krb5tgs.c +++ b/crypto/heimdal/kdc/krb5tgs.c @@ -655,8 +655,12 @@ fix_transited_encoding(krb5_context context, "Decoding transited encoding"); return ret; } + + /* + * If the realm of the presented tgt is neither the client nor the server + * realm, it is a transit realm and must be added to transited set. + */ if(strcmp(client_realm, tgt_realm) && strcmp(server_realm, tgt_realm)) { - /* not us, so add the previous realm to transited set */ if (num_realms + 1 > UINT_MAX/sizeof(*realms)) { ret = ERANGE; goto free_realms; @@ -737,6 +741,7 @@ tgs_make_reply(krb5_context context, const char *server_name, hdb_entry_ex *client, krb5_principal client_principal, + const char *tgt_realm, hdb_entry_ex *krbtgt, krb5_enctype krbtgt_etype, krb5_principals spp, @@ -798,7 +803,7 @@ tgs_make_reply(krb5_context context, &tgt->transited, &et, krb5_principal_get_realm(context, client_principal), krb5_principal_get_realm(context, server->entry.principal), - krb5_principal_get_realm(context, krbtgt->entry.principal)); + tgt_realm); if(ret) goto out; @@ -1494,6 +1499,8 @@ tgs_build_reply(krb5_context context, krb5_keyblock sessionkey; krb5_kvno kvno; krb5_data rspac; + const char *tgt_realm = /* Realm of TGT issuer */ + krb5_principal_get_realm(context, krbtgt->entry.principal); hdb_entry_ex *krbtgt_out = NULL; @@ -2240,6 +2247,7 @@ server_lookup: spn, client, cp, + tgt_realm, krbtgt_out, krbtgt_etype, spp, From nobody Wed Feb 21 13:43:13 2024 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 4TfyCQ0Ghdz5CCp2; Wed, 21 Feb 2024 13:43: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 4TfyCP6lbPz4cbq; Wed, 21 Feb 2024 13:43:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708522994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MyiLWUa46bVGY2bVO2tSDoDnwkjbv1rHA6txLrmVmnY=; b=Cg8zaImvEspIUjL3VI+y+u0/hToNjsStwBFn8KePbXKoSN6mgXcez+urjIUBf+jJp+dMLg Uw0nnJqH3G7vcdtNiRcXUUbLfZrMHDtj1wQtB9QR6uUGwTHxIfBQcRWZieEW79y6upM2fK /ac43hpjnXVKmoS+IQoDoy9Y3Oie0CnspSaA6MV50kZJvh64z3d02x47LdwHd4fI3bFs14 BVcv6XUkT9sPRPqo5uCYybI7NeTF1tqkfKCdUUgIi8/cb2VJAjaUZA9u719NMIO+i/RNBY U+IJI1VviIIq3ix7NpipUWTP7x67J9JqGWeOy/IPgGlIivUmBmIeG+WXnWm+Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708522994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MyiLWUa46bVGY2bVO2tSDoDnwkjbv1rHA6txLrmVmnY=; b=Jq8i9WNiWJLXH+h4TTEX6JaI7F8Q5OmK+aXpQR1mEDOuh0B1zPv9fBGPWnpPTMbIkQTTtX 93BAJp4MIQ0ncfbDrXlophrRdsUtQ4ypQUmzAXskpF3RYno62HA5pR9ceANDHLtnTnn9mn ycdT2Alrk/66VdsJlA0AGsYycoMr83B58vNxjtay2bfDDD4lUFPuQlARRDzr/yXIifNJTM Cz70u25KHKdtDeay8E66dLPYZuij3Q2d9VeYyCS3lBY9Utcty7czyEuul6JwLavT1OvSrR oWW1Zee5fl7ofASpjQKiHrFWMkWKYS3wcMB1YIJtkIQoqrI1aZM/CSazFOhfvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708522994; a=rsa-sha256; cv=none; b=pbi8vjFLs0klGLiXxELdOo7aptk7XDx+WbZI+bGLWgrgKmot4cMM1RAH+hziiRV9LC7jqd /SnokR4qVY3U9XOmAcYLcgo/iMWiTrTTuP4mEvsg7rdze7LVEldVlbrHPnOzViMBvkILgY nJ8PUN2Wj2zkty3oj7nYR2FjiQDB65NKa8+LXK7LQKQ2onhF5dpjxGMT5wF5oDXkuuMD0E ZBTuhIWczg9LjU7ibFFhBtNnwMOVUYkyhjijwCZgc4Dgxji7dXy5Meucqjkr/tPlIXX+1l r5UALegkzjKa6eZPokoqc899HlipjuHI+1D6WqlPRjpOJJo1wrjp+tPxN+aRQw== 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 4TfyCP5Wj8z14L2; Wed, 21 Feb 2024 13:43: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 41LDhD9J048335; Wed, 21 Feb 2024 13:43:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDhDDf048332; Wed, 21 Feb 2024 13:43:13 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:43:13 GMT Message-Id: <202402211343.41LDhDDf048332@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 5482dc8b9eaf - stable/14 - Heimdal: CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed checksum 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 5482dc8b9eaf455f4633a436460371f00fd1c355 Auto-Submitted: auto-generated The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=5482dc8b9eaf455f4633a436460371f00fd1c355 commit 5482dc8b9eaf455f4633a436460371f00fd1c355 Author: Cy Schubert AuthorDate: 2024-02-14 20:04:30 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 13:42:58 +0000 Heimdal: CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed checksum Upstream's explanation of the problem: S4U2Self is an extension to Kerberos used in Active Directory to allow a service to request a kerberos ticket to itself from the Kerberos Key Distribution Center (KDC) for a non-Kerberos authenticated user (principal in Kerboros parlance). This is useful to allow internal code paths to be standardized around Kerberos. S4U2Proxy (constrained-delegation) is an extension of this mechanism allowing this impersonation to a second service over the network. It allows a privileged server that obtained a S4U2Self ticket to itself to then assert the identity of that principal to a second service and present itself as that principal to get services from the second service. There is a flaw in Samba's AD DC in the Heimdal KDC. When the Heimdal KDC checks the checksum that is placed on the S4U2Self packet by the server to protect the requested principal against modification, it does not confirm that the checksum algorithm that protects the user name (principal) in the request is keyed. This allows a man-in-the-middle attacker who can intercept the request to the KDC to modify the packet by replacing the user name (principal) in the request with any desired user name (principal) that exists in the KDC and replace the checksum protecting that name with a CRC32 checksum (which requires no prior knowledge to compute). This would allow a S4U2Self ticket requested on behalf of user name (principal) user@EXAMPLE.COM to any service to be changed to a S4U2Self ticket with a user name (principal) of Administrator@EXAMPLE.COM. This ticket would then contain the PAC of the modified user name (principal). Reported by: emaste Security: CVE-2018-16860 Obtained from: Upstream c6257cc2c (cherry picked from commit 24339377490f9e362d040712b534d2963decd2d7) --- crypto/heimdal/kdc/krb5tgs.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crypto/heimdal/kdc/krb5tgs.c b/crypto/heimdal/kdc/krb5tgs.c index cde869522e23..cf1cd3dc1ad0 100644 --- a/crypto/heimdal/kdc/krb5tgs.c +++ b/crypto/heimdal/kdc/krb5tgs.c @@ -1892,6 +1892,13 @@ server_lookup: goto out; } + if (!krb5_checksum_is_keyed(context, self.cksum.cksumtype)) { + free_PA_S4U2Self(&self); + kdc_log(context, config, 0, "Reject PA-S4U2Self with unkeyed checksum"); + ret = KRB5KRB_AP_ERR_INAPP_CKSUM; + goto out; + } + ret = _krb5_s4u2self_to_checksumdata(context, &self, &datack); if (ret) goto out; From nobody Wed Feb 21 13:43:14 2024 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 4TfyCR1nN1z5CCqZ; Wed, 21 Feb 2024 13:43: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 4TfyCR0fyBz4cYp; Wed, 21 Feb 2024 13:43:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708522995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1MOi2jlwEfKoxD+IjmX95SeqNMB0tB6dC395mQUr0Q0=; b=chnCKKPsxvSuRlVwz0q4cqTwO/Kw3jYwMv31A5uhV8m83iTbjdmUctzmZjSl6CJOZXqGJi HMEBQPGMGEL5hB99Oy7BSGuxXPuV5ON+qA6+cax8BOQBh87ntzH9B3eLKj0ktRhAQC7+fE ljCq/iTh7/Q4JjkOrwE/2s+WBL4ge4NxcPL+Br4hAAkP8T8DcA7DaccWn87Bf1zW1PahQQ ObRzsPhFsmoawLB26IsLP4rczWBwU0Px1DIhe4Lv3VBila7fj22kIg5glSK8cZ0pyHOBRr CCUeifpt/rarpj9CXRhmCE+Ki95fX/vgeGlpo7ruiF5ArdROTKDAvf/CqZFUJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708522995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1MOi2jlwEfKoxD+IjmX95SeqNMB0tB6dC395mQUr0Q0=; b=EvfQjlGlbeLTRopbUaAzOXp/yaGolCnjbjwsCIsyNwnfLfjScERFwT56LTGvAYkrBW8CU0 Ng2nw1uEWH62ur7HKYbcTgd5hxjerZ6yVSqM48LKKJ93nreLLc1ZsCRRnguTCbH3al3FJC taPg23IkILKy0NOB0q52bdsE+WraDwp/Ti4YBr0Xj8nh0i1ZAWrhl/LNxLF13IYmVFccUO 7TgVRsQrZ0KyaGJ0SLvkCKEWw897DbmQ71gvRqwwyY6mnzGdeiDAfJHX1Omjv4fl18HTr/ kFRPLYo6bW/NRSiMGFc4BIqoJJAxwgfJbgl/4QADIAimXnnN3g5Q6IKh1tfgsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708522995; a=rsa-sha256; cv=none; b=wgV9X7c7vpQ6y+4bGMnaCbBbg8cPEgEgzqwoTqu3HjIxmJ0zkIJzdBfcZ8BJypHwFtvc6X ghCEsD7kJirSL7Nna7QU6WHABXYnOxpb3GnGCo1IX4eK75l7WwQOhFTiFQNHgO0ccjljVq UlTj5Q2E2M96An1jXscSAYpQQsSS87Qx0Jrprfjg7mSGaaKiAF9lLDlj0VjYxO36BVStcT DWsvo70pAkKYhvCfD6fTZzp9ji3+EsLdv8qGLoqmm3wdsoK/6xK0EmVtJFopXRkA18OiQo Zzz9yogNBRW5X7gv34WUreIP+u/DWOSEhOuZiiVWHLWk/elD/req3xnaCcqKjw== 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 4TfyCQ6YsYz14nP; Wed, 21 Feb 2024 13:43: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 41LDhEAs048389; Wed, 21 Feb 2024 13:43:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDhE0Q048386; Wed, 21 Feb 2024 13:43:14 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:43:14 GMT Message-Id: <202402211343.41LDhE0Q048386@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: b1b256dd0f4d - stable/14 - heimdal: always confirm PA-PKINIT-KX for anon PKINIT 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/stable/14 X-Git-Reftype: branch X-Git-Commit: b1b256dd0f4dd9ec7c03caf5a60e9928dc0fe39a Auto-Submitted: auto-generated The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=b1b256dd0f4dd9ec7c03caf5a60e9928dc0fe39a commit b1b256dd0f4dd9ec7c03caf5a60e9928dc0fe39a Author: Cy Schubert AuthorDate: 2024-02-15 01:58:06 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 13:42:58 +0000 heimdal: always confirm PA-PKINIT-KX for anon PKINIT Import upstream 38c797e1a. Upstream notes: RFC8062 Section 7 requires verification of the PA-PKINIT-KX key excahnge when anonymous PKINIT is used. Failure to do so can permit an active attacker to become a man-in-the-middle. Reported by: emaste Obtained from: upstream 38c797e1a Security: CVE-2019-12098 (cherry picked from commit 60616b445eb5b01597092fef5b14549f95000130) --- crypto/heimdal/lib/krb5/krb5_locl.h | 1 + crypto/heimdal/lib/krb5/pkinit.c | 92 +++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/crypto/heimdal/lib/krb5/krb5_locl.h b/crypto/heimdal/lib/krb5/krb5_locl.h index d0c68927ffbd..0ea132f94c82 100644 --- a/crypto/heimdal/lib/krb5/krb5_locl.h +++ b/crypto/heimdal/lib/krb5/krb5_locl.h @@ -240,6 +240,7 @@ struct _krb5_get_init_creds_opt_private { #define KRB5_INIT_CREDS_CANONICALIZE 1 #define KRB5_INIT_CREDS_NO_C_CANON_CHECK 2 #define KRB5_INIT_CREDS_NO_C_NO_EKU_CHECK 4 +#define KRB5_INIT_CREDS_PKINIT_KX_VALID 32 struct { krb5_gic_process_last_req func; void *ctx; diff --git a/crypto/heimdal/lib/krb5/pkinit.c b/crypto/heimdal/lib/krb5/pkinit.c index 7164a118c34a..3c914bb31f35 100644 --- a/crypto/heimdal/lib/krb5/pkinit.c +++ b/crypto/heimdal/lib/krb5/pkinit.c @@ -1306,6 +1306,98 @@ pk_rd_pa_reply_enckey(krb5_context context, return ret; } +/* + * RFC 8062 section 7: + * + * The client then decrypts the KDC contribution key and verifies that + * the ticket session key in the returned ticket is the combined key of + * the KDC contribution key and the reply key. + */ +KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL +_krb5_pk_kx_confirm(krb5_context context, + krb5_pk_init_ctx ctx, + krb5_keyblock *reply_key, + krb5_keyblock *session_key, + PA_DATA *pa_pkinit_kx) +{ + krb5_error_code ret; + EncryptedData ed; + krb5_keyblock ck, sk_verify; + krb5_crypto ck_crypto = NULL; + krb5_crypto rk_crypto = NULL; + size_t len; + krb5_data data; + krb5_data p1 = { sizeof("PKINIT") - 1, "PKINIT" }; + krb5_data p2 = { sizeof("KEYEXCHANGE") - 1, "KEYEXCHANGE" }; + + heim_assert(ctx != NULL, "PKINIT context is non-NULL"); + heim_assert(reply_key != NULL, "reply key is non-NULL"); + heim_assert(session_key != NULL, "session key is non-NULL"); + + /* PA-PKINIT-KX is optional unless anonymous */ + if (pa_pkinit_kx == NULL) + return ctx->anonymous ? KRB5_KDCREP_MODIFIED : 0; + + memset(&ed, 0, sizeof(ed)); + krb5_keyblock_zero(&ck); + krb5_keyblock_zero(&sk_verify); + krb5_data_zero(&data); + + ret = decode_EncryptedData(pa_pkinit_kx->padata_value.data, + pa_pkinit_kx->padata_value.length, + &ed, &len); + if (ret) + goto out; + + if (len != pa_pkinit_kx->padata_value.length) { + ret = KRB5_KDCREP_MODIFIED; + goto out; + } + + ret = krb5_crypto_init(context, reply_key, 0, &rk_crypto); + if (ret) + goto out; + + ret = krb5_decrypt_EncryptedData(context, rk_crypto, + KRB5_KU_PA_PKINIT_KX, + &ed, &data); + if (ret) + goto out; + + ret = decode_EncryptionKey(data.data, data.length, + &ck, &len); + if (ret) + goto out; + + ret = krb5_crypto_init(context, &ck, 0, &ck_crypto); + if (ret) + goto out; + + ret = krb5_crypto_fx_cf2(context, ck_crypto, rk_crypto, + &p1, &p2, session_key->keytype, + &sk_verify); + if (ret) + goto out; + + if (sk_verify.keytype != session_key->keytype || + krb5_data_ct_cmp(&sk_verify.keyvalue, &session_key->keyvalue) != 0) { + ret = KRB5_KDCREP_MODIFIED; + goto out; + } + +out: + free_EncryptedData(&ed); + krb5_free_keyblock_contents(context, &ck); + krb5_free_keyblock_contents(context, &sk_verify); + if (ck_crypto) + krb5_crypto_destroy(context, ck_crypto); + if (rk_crypto) + krb5_crypto_destroy(context, rk_crypto); + krb5_data_free(&data); + + return ret; +} + static krb5_error_code pk_rd_pa_reply_dh(krb5_context context, const heim_octet_string *indata, From nobody Wed Feb 21 13:43:15 2024 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 4TfyCS3gRVz5CCqb; Wed, 21 Feb 2024 13:43: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 4TfyCS1P9Bz4ctm; Wed, 21 Feb 2024 13:43:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708522996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=74MRrMgvoHMReNU73plaOVIMSNLMSMcp40tgviSi2Rg=; b=yvViM1C72xI39ri2rGupc9AEP/pu29HFpoApbYPgiHtkn5tAkXnevyqNM9PVV40NtvqXIV 4K1GnRGJqz8fTquPZwIi98ovVYQJyo4OLg9l6DI+nxQAO2AZsXtWIGhcsKkCvylR0fPDkY LSBN+X214ZsPIZm6pAqu7Jv0q6n6jcFfgr9Q37KQAuXQxl5htIrliqz25pVGaqBvhKAOF0 ESBy46GB/UUwfS/uouxIP/6Fo6AEQXjmY7iHNG8qvKOqhe++/NRBqplu2edxY71yB26f0R O8Pg45S2XHPBALDQWhUQzoiprbnb892gK0Zx9JJ+an+myI6enVpYsLVFJdzAZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708522996; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=74MRrMgvoHMReNU73plaOVIMSNLMSMcp40tgviSi2Rg=; b=YYgeFyBjv9lrQL2ROClfZIgjQjJO9qoXdvGReAP8PXJ7OY68TPh9Z+oi/t1vkGIaepv0Bu mGvLbK0yTUCkqX6bOIQKdqzWfJEtQGQndqQvhKPQlsS4a0yoI/JTzQcPTtJxmOT2Z3oyn7 PuRhtBIzMWL/pckSfjCOHQwNXgCO1AlXUDwTbqNvVvSS7Uc86mKYjx/IVShN02oeH+NWIF QTBA95y8HoyVpoobKc6w6wqKijI731S9uZIebh9lLuzT2h6lHC4Xhxx8caCibltH1BHQoY Evsh8xlFUoqa6zKQhq4N+haf1HynZQPvZZ96n9FemhEeRhheoBpLY5FiauzVqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708522996; a=rsa-sha256; cv=none; b=igG/nGT2ZhAFPRIDLi7Az1583LJDrlBiys0rvEe61Tly+Zs56K3KZovmodBdYUqt9ZmIAg OX0eCXZaz8w/zOp8Kw0dvr/18jl3KJY29+T1eBmC1Gd3zhSSICcB6G0/zJ6QqAKh1a+//A LMtCe0pDxxeop814qSoWeRVWuheZJ0VUWj6Iwg3hybVq1+aKYo3Dl7gWeHgmzozmilv0Ca 5otxbRwXL6q2g7WPNquslZwktlrOfYpcyeWhvX2weqezQZ9Ie761K17SWACRcxgmUuUN6Q 8Z+pRB+x7IzyMCmY86w3SOGasnzYIgmZHcNN81EM74dhxkU+++x1ztf1VtL/qg== 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 4TfyCS0Ldhz14L3; Wed, 21 Feb 2024 13:43: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 41LDhFuq048438; Wed, 21 Feb 2024 13:43:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDhFOm048435; Wed, 21 Feb 2024 13:43:15 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:43:15 GMT Message-Id: <202402211343.41LDhFOm048435@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 5b7c923d9581 - stable/14 - heimdal: Fix NULL deref 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 5b7c923d9581597ee30dece578e256f455ea09ce Auto-Submitted: auto-generated The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=5b7c923d9581597ee30dece578e256f455ea09ce commit 5b7c923d9581597ee30dece578e256f455ea09ce Author: Cy Schubert AuthorDate: 2024-02-15 15:41:07 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 13:42:58 +0000 heimdal: Fix NULL deref A flawed logical condition allows a malicious actor to remotely trigger a NULL pointer dereference using a crafted negTokenInit token. Upstream notes: Reported to Heimdal by Michał Kępień . From the report: Acknowledgement --------------- This flaw was found while working on addressing ZDI-CAN-12302: ISC BIND TKEY Query Heap-based Buffer Overflow Remote Code Execution Vulnerability, which was reported to ISC by Trend Micro's Zero Day Security: CVE-2022-3116 Obtained from: upstream 7a19658c1 (cherry picked from commit fc773115fa2dbb6c01377f2ed47dabf79a4e361a) --- crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c b/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c index b60dc19ad8e3..48542f06fcbe 100644 --- a/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c +++ b/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c @@ -605,7 +605,7 @@ acceptor_start * If opportunistic token failed, lets try the other mechs. */ - if (!first_ok && ni->mechToken != NULL) { + if (!first_ok) { size_t j; preferred_mech_type = GSS_C_NO_OID; From nobody Wed Feb 21 13:44:19 2024 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 4TfyDh0rSSz5CCyk; Wed, 21 Feb 2024 13:44: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 4TfyDh0HGbz4dcB; Wed, 21 Feb 2024 13:44:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708523060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q6STD5yAN0Fvr/MnVsSowGXLjF6mt2UwpTlMfM9S0zs=; b=AHv5od/OMelFnI2cTfp5r++hM6FMwvvDubLzocdZap4PAdnT90atSawVjXZ/uJ8xuHJPlZ +KxlBEyJajkXX0NqtQRcfLq9fomzE2rZq1ykcMboFfW6T6rYElX/3rz0nr9UdPycccOF5u +aVj3BbTDlbc9di6Lvb0paboJqneDwJRb4maOa0cy+izaYb8Tw243fedRkZDUaOG8qyZ76 leI5ObcaZbtlKEis9KxD+0k6/y/ISiyit6xtiREcbBG2AAOKslYLLIGAtpBZjYRwJlv39r Ghhmiv11VMjKhheiyM1BYKAHfqYk1z3TZPrJLPE09Qb2/ZkwfS1vqxww1iPLNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708523060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q6STD5yAN0Fvr/MnVsSowGXLjF6mt2UwpTlMfM9S0zs=; b=AjlkI1CJBqoAtaLwIDoV25pQV61rRcqknImj6hSNeLvGL9bt0NenzNggw8pCmoATUaxxT0 vts2ay4/spXR+fxz4i0zcvOVTMF4XBMqYsBooYgoSh2rOyEGL4eYNm9ZXEPAXVlJAkRXy2 Rjlz4+I83+DkcnR4GTjfsTROfk0WzvKI+OPSJ7yyIVpNYmuKErnf+zxxotN7TuCiDcghi8 +VsFag9+QPiM3kOljNkRg/28ePWc+Iivwu/Jynfr/V1Nr7j+FOzQD8uxQYKKZDUtJeRgqr xpQt5w53NYH05hdKXrdb7J1P0IeC8ApoBpdyrSH8uN5jdyepx+gi/Fvo7mIEfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708523060; a=rsa-sha256; cv=none; b=AIHj8XaOr6OtEWlgV24GY2w2D5QxkgNdtKawJLd8btSgs2up9COuVzqG/i7JISgx00f9w4 1TBCoXImG9uhQiSc7wqdDBnNCqbVHe+v17JjzOImsTt3AKhfCW1opjL8FJ+l2WFv6LxZpo WZ2t3V8anetu6e+NsuCZs4IM3CflH4MHpte9v0SEU0dwUNhLViTgRzVo24O3JVhQ+68ogA BMT9+hxZ2UBT+YUIyPxyTBIUl8/vCrY+G+Bbnr/e5tcOR/6kO+F7b4rBAhk5V9ePNAp4pX M9NDegAkGh8Cqj92FyRD5rF5Nem0OLHXmiusi+82bp0hlIwnG1gqqmc6DkfI1A== 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 4TfyDg6Spqz14L4; Wed, 21 Feb 2024 13:44: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 41LDiJh6048752; Wed, 21 Feb 2024 13:44:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDiJSG048749; Wed, 21 Feb 2024 13:44:19 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:44:19 GMT Message-Id: <202402211344.41LDiJSG048749@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 9a7121454dc0 - stable/13 - Heimdal: Fix transit path validation CVE-2017-6594 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 9a7121454dc0f68af2687699d5feabf736692fa6 Auto-Submitted: auto-generated The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=9a7121454dc0f68af2687699d5feabf736692fa6 commit 9a7121454dc0f68af2687699d5feabf736692fa6 Author: Cy Schubert AuthorDate: 2024-02-14 19:56:18 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 13:44:08 +0000 Heimdal: Fix transit path validation CVE-2017-6594 Apply upstream b1e699103. This fixes a bug introduced by upstream f469fc6 which may in some cases enable bypass of capath policy. Upstream writes in their commit log: Note, this may break sites that rely on the bug. With the bug some incomplete [capaths] worked, that should not have. These may now break authentication in some cross-realm configurations. Reported by: emaste Security: CVE-2017-6594 Obtained from: upstream b1e699103 (cherry picked from commit f8041e3628bd70cf5562a9c13eb3d6af8463e720) --- crypto/heimdal/kdc/krb5tgs.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/crypto/heimdal/kdc/krb5tgs.c b/crypto/heimdal/kdc/krb5tgs.c index 19d669798830..cde869522e23 100644 --- a/crypto/heimdal/kdc/krb5tgs.c +++ b/crypto/heimdal/kdc/krb5tgs.c @@ -655,8 +655,12 @@ fix_transited_encoding(krb5_context context, "Decoding transited encoding"); return ret; } + + /* + * If the realm of the presented tgt is neither the client nor the server + * realm, it is a transit realm and must be added to transited set. + */ if(strcmp(client_realm, tgt_realm) && strcmp(server_realm, tgt_realm)) { - /* not us, so add the previous realm to transited set */ if (num_realms + 1 > UINT_MAX/sizeof(*realms)) { ret = ERANGE; goto free_realms; @@ -737,6 +741,7 @@ tgs_make_reply(krb5_context context, const char *server_name, hdb_entry_ex *client, krb5_principal client_principal, + const char *tgt_realm, hdb_entry_ex *krbtgt, krb5_enctype krbtgt_etype, krb5_principals spp, @@ -798,7 +803,7 @@ tgs_make_reply(krb5_context context, &tgt->transited, &et, krb5_principal_get_realm(context, client_principal), krb5_principal_get_realm(context, server->entry.principal), - krb5_principal_get_realm(context, krbtgt->entry.principal)); + tgt_realm); if(ret) goto out; @@ -1494,6 +1499,8 @@ tgs_build_reply(krb5_context context, krb5_keyblock sessionkey; krb5_kvno kvno; krb5_data rspac; + const char *tgt_realm = /* Realm of TGT issuer */ + krb5_principal_get_realm(context, krbtgt->entry.principal); hdb_entry_ex *krbtgt_out = NULL; @@ -2240,6 +2247,7 @@ server_lookup: spn, client, cp, + tgt_realm, krbtgt_out, krbtgt_etype, spp, From nobody Wed Feb 21 13:44:20 2024 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 4TfyDj2NPQz5CCZ8; Wed, 21 Feb 2024 13:44: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 4TfyDj1bz5z4dh7; Wed, 21 Feb 2024 13:44:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708523061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DEPmYaEBk6QCh7ZVvWuAwE1eSo+Y3KZPd15jqgf0jEs=; b=G6alDlRXZ+LlBXVbRnLzJuZiwsn4sN6elQJuJrTJnCfV6PInTmn5iOd0cwQmiYHguLwp9q i3a3Fm1En8PDb/dfam3ATZyMqg4w1UNuyuKOZVX0OlEXvMUikGtIuSUoUvcmO3+SAurYvQ 07M+AH82eROBX0BP7fTy1TkiLxDOFoKk3Sy+OJ37pP13XMS4jQknh4tORbgq1sPPfobkXs MofmvZShj8J+81ONeQ8703rwfmYmFFmi6ReRsKUoLbUIpne8Hl3mHDXTOvwrBFPDLXL6IY xbvpkWv51JbpriDyKfsg8Ap/KRUdvU7REVjNYfxImvBby2Ioh2qYAVWRNFlNtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708523061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DEPmYaEBk6QCh7ZVvWuAwE1eSo+Y3KZPd15jqgf0jEs=; b=UfEr2JUAOZZsojfZ4aEBg8fclgOuKH/LFI4348JQfL0lXqXbDCC694uX2nNH0chwOpyzvE ORlDDZdc0HwSwpGAMbkhj7YTTd+lQhAeKoUlppEvhtvNq00cy7fvt9JaWCWeT4Vih6W7q2 jOWFM7HdHlhU64Qo0FWDFNxRJFingq+m472kB8ulPna+DM2Nphd7D3M9Q4U0694Dpx2sz5 UZdsqR6jr+LXmtMOygGdNq/p/bWsst9lqm6m2cPwpWDdJaZq4EC+7+JGYIwzxYPjERBTYx 19uu2phiuh0m1JiQpwp5sJCTl9kHuTce9Gm6EAYq2Y7kXiTwcc2ObjOO545tAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708523061; a=rsa-sha256; cv=none; b=pDSN8wsjt0t+p0Qr2nrInXDS1btDrHdyjFbkikK5fqszX3VuVLb5ImS8BFStHWjEF6pfnB UXxJC1WR19a9iKCxkF+8dhJ2DiAN28nGmYDwbWkcMMaSJVR3fy02js5YoU0+eBolwZSXMK FdXis7+Y/1QlAzuE3jq97l0UTwV1MqC6ISLfVsa21QSVFDsWsxy1UgE1W8YujmC18yPt/w ON9DII6KSdumqIbUkHDQNRMdr8kWLWJR0VfiYGz/gDjBiAyRSd72qJuYgDIo4oU9JS2u8U XKWOXszzz28NjS8oF1F/g9nqyQG/D3cZ80AuA/lFqTvcy6i642TrDtsikJWP2A== 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 4TfyDj0NFGz14ct; Wed, 21 Feb 2024 13:44: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 41LDiKFD048806; Wed, 21 Feb 2024 13:44:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDiKqM048803; Wed, 21 Feb 2024 13:44:20 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:44:20 GMT Message-Id: <202402211344.41LDiKqM048803@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 143a962d0e87 - stable/13 - Heimdal: CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed checksum 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 143a962d0e871c60b91589aa1045afdeca13742b Auto-Submitted: auto-generated The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=143a962d0e871c60b91589aa1045afdeca13742b commit 143a962d0e871c60b91589aa1045afdeca13742b Author: Cy Schubert AuthorDate: 2024-02-14 20:04:30 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 13:44:08 +0000 Heimdal: CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed checksum Upstream's explanation of the problem: S4U2Self is an extension to Kerberos used in Active Directory to allow a service to request a kerberos ticket to itself from the Kerberos Key Distribution Center (KDC) for a non-Kerberos authenticated user (principal in Kerboros parlance). This is useful to allow internal code paths to be standardized around Kerberos. S4U2Proxy (constrained-delegation) is an extension of this mechanism allowing this impersonation to a second service over the network. It allows a privileged server that obtained a S4U2Self ticket to itself to then assert the identity of that principal to a second service and present itself as that principal to get services from the second service. There is a flaw in Samba's AD DC in the Heimdal KDC. When the Heimdal KDC checks the checksum that is placed on the S4U2Self packet by the server to protect the requested principal against modification, it does not confirm that the checksum algorithm that protects the user name (principal) in the request is keyed. This allows a man-in-the-middle attacker who can intercept the request to the KDC to modify the packet by replacing the user name (principal) in the request with any desired user name (principal) that exists in the KDC and replace the checksum protecting that name with a CRC32 checksum (which requires no prior knowledge to compute). This would allow a S4U2Self ticket requested on behalf of user name (principal) user@EXAMPLE.COM to any service to be changed to a S4U2Self ticket with a user name (principal) of Administrator@EXAMPLE.COM. This ticket would then contain the PAC of the modified user name (principal). Reported by: emaste Security: CVE-2018-16860 Obtained from: Upstream c6257cc2c (cherry picked from commit 24339377490f9e362d040712b534d2963decd2d7) --- crypto/heimdal/kdc/krb5tgs.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crypto/heimdal/kdc/krb5tgs.c b/crypto/heimdal/kdc/krb5tgs.c index cde869522e23..cf1cd3dc1ad0 100644 --- a/crypto/heimdal/kdc/krb5tgs.c +++ b/crypto/heimdal/kdc/krb5tgs.c @@ -1892,6 +1892,13 @@ server_lookup: goto out; } + if (!krb5_checksum_is_keyed(context, self.cksum.cksumtype)) { + free_PA_S4U2Self(&self); + kdc_log(context, config, 0, "Reject PA-S4U2Self with unkeyed checksum"); + ret = KRB5KRB_AP_ERR_INAPP_CKSUM; + goto out; + } + ret = _krb5_s4u2self_to_checksumdata(context, &self, &datack); if (ret) goto out; From nobody Wed Feb 21 13:44:22 2024 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 4TfyDk3rJ6z5CCp9; Wed, 21 Feb 2024 13:44: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 4TfyDk21Frz4dhC; Wed, 21 Feb 2024 13:44:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708523062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RbOifIY4PA2bJCXVHcqgEqvvftoNDgTAl0Sd10Ou3nk=; b=sJ7l+cobafr9K0l41YQHb5q8kH+KPHhvDkjCw0wWXJ3j5J4y3dqzzYdjxScmDWpuujVfkE RsZM1k0PIxdVBaybeR1al3/QEXJJWhVgYM7fLbcDZr30IcAUlJvC3bUhgipk1++263MQ21 GtRPh3+Jay4GKfePQ2t6wsAUjPIo85+0D7TbMpQWOiyfTylo/tMLzhh7RmcQekOR4zK5sM tB09RdsK9ou/jFKqzgKkiygNiV9fB0/anVpHKRLDDrng2xM50BfOIto7J+ZkRDEGIZIzAp qtz5zZzkMb0REE/l1tN0w00zBodZAkIAHiFLPlLo4Tovcu5xXul3rXZ8mDMQwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708523062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RbOifIY4PA2bJCXVHcqgEqvvftoNDgTAl0Sd10Ou3nk=; b=P9DjuMd5uOno6R4qqcR4wNNn36OKj258jJ3BQndN0SOBUKR7Awz/bt6aH2Qfc8hXn7HI9d lMyYmrcyCYi6zIdppBknGEe2+Fiwy2X/Q++CqRYcYrgNknMM1x2iB/JNH/gWxn05QkXFhm pTr+/SQn/8CzQG0WGavDyutV6p8yDSfS1JXUF8BiC5jcmdaOw4roHmgbXYoXm8Jkm4PQvb GPy4IO+KmQvB9FO0JknfK+SrKY4rce+kpT2MpBaNH6bmMlBHU4QdXIRaoivS8NPJhm5a8E anZHbcRovbDYDeu/1G6grRiZxcOud6yKx/JuPoGu7SeZ2uu8FLEA3cNcVzxQDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708523062; a=rsa-sha256; cv=none; b=Dh3Ef7sIL00lpR2qksc/5rJdMvFzVbqasxldFxxjSDG5gTJC8bC0LKt6GOa43P7oKeG2TU STe5gF0Vt4t3RzslaMfrEwfCe9dnaLpaQrl4mbqeqJU9kmBokbFSIRX9xVsG//AV/2G5iP 3iaCaOEVR9QMIEl3oQgsUiTC4nE/RxMc3QbxliUdyZ7hqUb469ed37hCgC0a0PQ9hfM4bx 4PeY9hrmELOnHFQMoc4IC+1mpQbn2wDBOedTnRb7bNeCFEcnkjRSHxytCwS2FfilDTutk+ AQ/D9LVK5kKOJ5PB1SdGO79rz4n6wNett93CFRhG05iCsh9GQhch2Ui1mVXqOQ== 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 4TfyDk16rYz14w6; Wed, 21 Feb 2024 13:44: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 41LDiM7x048854; Wed, 21 Feb 2024 13:44:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDiMeR048851; Wed, 21 Feb 2024 13:44:22 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:44:22 GMT Message-Id: <202402211344.41LDiMeR048851@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: a311b9d70863 - stable/13 - heimdal: always confirm PA-PKINIT-KX for anon PKINIT 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/stable/13 X-Git-Reftype: branch X-Git-Commit: a311b9d70863f78c232d5622ee579c6cd45bb1d8 Auto-Submitted: auto-generated The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=a311b9d70863f78c232d5622ee579c6cd45bb1d8 commit a311b9d70863f78c232d5622ee579c6cd45bb1d8 Author: Cy Schubert AuthorDate: 2024-02-15 01:58:06 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 13:44:09 +0000 heimdal: always confirm PA-PKINIT-KX for anon PKINIT Import upstream 38c797e1a. Upstream notes: RFC8062 Section 7 requires verification of the PA-PKINIT-KX key excahnge when anonymous PKINIT is used. Failure to do so can permit an active attacker to become a man-in-the-middle. Reported by: emaste Obtained from: upstream 38c797e1a Security: CVE-2019-12098 (cherry picked from commit 60616b445eb5b01597092fef5b14549f95000130) --- crypto/heimdal/lib/krb5/krb5_locl.h | 1 + crypto/heimdal/lib/krb5/pkinit.c | 92 +++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/crypto/heimdal/lib/krb5/krb5_locl.h b/crypto/heimdal/lib/krb5/krb5_locl.h index d0c68927ffbd..0ea132f94c82 100644 --- a/crypto/heimdal/lib/krb5/krb5_locl.h +++ b/crypto/heimdal/lib/krb5/krb5_locl.h @@ -240,6 +240,7 @@ struct _krb5_get_init_creds_opt_private { #define KRB5_INIT_CREDS_CANONICALIZE 1 #define KRB5_INIT_CREDS_NO_C_CANON_CHECK 2 #define KRB5_INIT_CREDS_NO_C_NO_EKU_CHECK 4 +#define KRB5_INIT_CREDS_PKINIT_KX_VALID 32 struct { krb5_gic_process_last_req func; void *ctx; diff --git a/crypto/heimdal/lib/krb5/pkinit.c b/crypto/heimdal/lib/krb5/pkinit.c index 7164a118c34a..3c914bb31f35 100644 --- a/crypto/heimdal/lib/krb5/pkinit.c +++ b/crypto/heimdal/lib/krb5/pkinit.c @@ -1306,6 +1306,98 @@ pk_rd_pa_reply_enckey(krb5_context context, return ret; } +/* + * RFC 8062 section 7: + * + * The client then decrypts the KDC contribution key and verifies that + * the ticket session key in the returned ticket is the combined key of + * the KDC contribution key and the reply key. + */ +KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL +_krb5_pk_kx_confirm(krb5_context context, + krb5_pk_init_ctx ctx, + krb5_keyblock *reply_key, + krb5_keyblock *session_key, + PA_DATA *pa_pkinit_kx) +{ + krb5_error_code ret; + EncryptedData ed; + krb5_keyblock ck, sk_verify; + krb5_crypto ck_crypto = NULL; + krb5_crypto rk_crypto = NULL; + size_t len; + krb5_data data; + krb5_data p1 = { sizeof("PKINIT") - 1, "PKINIT" }; + krb5_data p2 = { sizeof("KEYEXCHANGE") - 1, "KEYEXCHANGE" }; + + heim_assert(ctx != NULL, "PKINIT context is non-NULL"); + heim_assert(reply_key != NULL, "reply key is non-NULL"); + heim_assert(session_key != NULL, "session key is non-NULL"); + + /* PA-PKINIT-KX is optional unless anonymous */ + if (pa_pkinit_kx == NULL) + return ctx->anonymous ? KRB5_KDCREP_MODIFIED : 0; + + memset(&ed, 0, sizeof(ed)); + krb5_keyblock_zero(&ck); + krb5_keyblock_zero(&sk_verify); + krb5_data_zero(&data); + + ret = decode_EncryptedData(pa_pkinit_kx->padata_value.data, + pa_pkinit_kx->padata_value.length, + &ed, &len); + if (ret) + goto out; + + if (len != pa_pkinit_kx->padata_value.length) { + ret = KRB5_KDCREP_MODIFIED; + goto out; + } + + ret = krb5_crypto_init(context, reply_key, 0, &rk_crypto); + if (ret) + goto out; + + ret = krb5_decrypt_EncryptedData(context, rk_crypto, + KRB5_KU_PA_PKINIT_KX, + &ed, &data); + if (ret) + goto out; + + ret = decode_EncryptionKey(data.data, data.length, + &ck, &len); + if (ret) + goto out; + + ret = krb5_crypto_init(context, &ck, 0, &ck_crypto); + if (ret) + goto out; + + ret = krb5_crypto_fx_cf2(context, ck_crypto, rk_crypto, + &p1, &p2, session_key->keytype, + &sk_verify); + if (ret) + goto out; + + if (sk_verify.keytype != session_key->keytype || + krb5_data_ct_cmp(&sk_verify.keyvalue, &session_key->keyvalue) != 0) { + ret = KRB5_KDCREP_MODIFIED; + goto out; + } + +out: + free_EncryptedData(&ed); + krb5_free_keyblock_contents(context, &ck); + krb5_free_keyblock_contents(context, &sk_verify); + if (ck_crypto) + krb5_crypto_destroy(context, ck_crypto); + if (rk_crypto) + krb5_crypto_destroy(context, rk_crypto); + krb5_data_free(&data); + + return ret; +} + static krb5_error_code pk_rd_pa_reply_dh(krb5_context context, const heim_octet_string *indata, From nobody Wed Feb 21 13:44:23 2024 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 4TfyDl5SNxz5CCZD; Wed, 21 Feb 2024 13:44: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 4TfyDl3HvMz4dmk; Wed, 21 Feb 2024 13:44:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708523063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/c4vY/MwaQSOm/b+g/a0CgeetAxQV6GNPVyhSE22UIo=; b=MjmQxr5Rr2TCZAR/SeXqHz4JR67Auvzdv4kStZJ+d077Eq0r8dSwHKNUwKr+lcRGkdKABQ e1r1t7KaRuj0Vt5bdCtkWeQgd/5Bz2+xoiRacriJkszJBwoOhVfypEFG07QR28tCEyK6J5 UJCJfT7XBaxzChj4VaOPBiakpjYPCvyyG1UVGoKOIAAaA5JQcVyp0k+D+yljK8E2nurXlW IyPjb78YVLr2jHgoZXxWF3J6svlgxiL31bvMRWByC211jm7ebyP0JDVz9A8v/4RZl2/U4G 8kzOLd5uL57amnwy2HOfR1tZdZI3T/h5HRrEsEFLn7ca+SDDPLQVxNt+QHLtlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708523063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/c4vY/MwaQSOm/b+g/a0CgeetAxQV6GNPVyhSE22UIo=; b=ZK9SxmPsQ5cyvLf6hDU/N18nUEIvhjSbubG0dahFYwIoa5VRHJqpzUi4C0SBxTlPOrPfcX C/DzWjidaK1VPLwy4DZZAVAKzMDapmREfOP2e3Z3mipBdn/LV9AG4/DfMz133UsjbHJato NX2EXXETQGWCmlPU1vnZ7wQVKOB1xaIhU0rdup3TkMbkf/ZTVRI0RQeh2IwkQJu0UtMnAc uZ0x9AAIl5HUwqsfCCmKHOLVKZ9cipr79+Omk2FRaVXV0UpbeM6Re5rgVMa73D1Are/l9N d4/aQcgALAjH7HNBSEZiTvHeqhovRBFBkao44h+vnNdpe6pIDalWgZJBNl1HBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708523063; a=rsa-sha256; cv=none; b=ENMOTnCt7LMt4gAVgqwhisOt6EZgcE16EQR9g8Vsp7UXvaQx3O3wa/ghZwlcTIpobyDQlR OVwYBKvX1WTTscKr5PpvZ+hF1xcpNphsVSWcHrXKwwwr9mSYmyJHh3AZQEZSQz1A8beIkJ 2WSu0/+vXqX+u6eeJOCzCXKjDBr2OLugNl26wEFxTyyF0bHSUfeLYeYCnZxOJhADfIu1eS FDa2xuvra2i3iitfiVJv3Onz6TQ7HUTj0bL2DgZ7kCWe8i9kPmrhbIC2j0mVR+XsEOj57U 9VGwI3Xg4TMjQxvaB7AOesw1M6ZY4rpYNoYHtUPiC1XPYw6lOYcRC8m2BeMMjw== 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 4TfyDl2NfJz14hh; Wed, 21 Feb 2024 13:44: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 41LDiNvu048896; Wed, 21 Feb 2024 13:44:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LDiNH4048893; Wed, 21 Feb 2024 13:44:23 GMT (envelope-from git) Date: Wed, 21 Feb 2024 13:44:23 GMT Message-Id: <202402211344.41LDiNH4048893@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 6b421e431a2d - stable/13 - heimdal: Fix NULL deref 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 6b421e431a2de6eb9e8bd670efffe76e6617d520 Auto-Submitted: auto-generated The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=6b421e431a2de6eb9e8bd670efffe76e6617d520 commit 6b421e431a2de6eb9e8bd670efffe76e6617d520 Author: Cy Schubert AuthorDate: 2024-02-15 15:41:07 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 13:44:09 +0000 heimdal: Fix NULL deref A flawed logical condition allows a malicious actor to remotely trigger a NULL pointer dereference using a crafted negTokenInit token. Upstream notes: Reported to Heimdal by Michał Kępień . From the report: Acknowledgement --------------- This flaw was found while working on addressing ZDI-CAN-12302: ISC BIND TKEY Query Heap-based Buffer Overflow Remote Code Execution Vulnerability, which was reported to ISC by Trend Micro's Zero Day Security: CVE-2022-3116 Obtained from: upstream 7a19658c1 (cherry picked from commit fc773115fa2dbb6c01377f2ed47dabf79a4e361a) --- crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c b/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c index b60dc19ad8e3..48542f06fcbe 100644 --- a/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c +++ b/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c @@ -605,7 +605,7 @@ acceptor_start * If opportunistic token failed, lets try the other mechs. */ - if (!first_ok && ni->mechToken != NULL) { + if (!first_ok) { size_t j; preferred_mech_type = GSS_C_NO_OID; From nobody Wed Feb 21 14:01:53 2024 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 4Tfycy0Ft3z5CF0N; Wed, 21 Feb 2024 14:01: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 4Tfycx6ky5z4gbB; Wed, 21 Feb 2024 14:01:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708524113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AUHeoH+AqH5WVl/rCQaDGoRvZTtBu1MDDU4VzJZ1GyI=; b=wlfoPdLzf4bIoKp76FX9T9y4dvhdQhB1048I9DdfTGXEi7LjOBoiQmHG7B1uNI7dbjiSYA o+tw6WWzSch8tJtIiiafhiKL3JrpJd6XcohjzWkSw2ez1SZnlPI3c1RR+FVKFqn4dCNPX0 NV+CDLzEq/007Bo0fOBJ/DDRHPb3LSjN+1HLbRU/aDebp4palBpnPVbSdBbyiaO+7w/qC9 w9Vau5ye3eD74e90bgxEv9RehmY0RMNulD6y4HpQi9mnmN3pImYrOi9RDlF2GwWxua/vjf 0ujAl+VtFuLia4vJB75QbyX6hdHsSJRxbHaNMtDq5hY+4FqyHZw4b/4ax35BlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708524113; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AUHeoH+AqH5WVl/rCQaDGoRvZTtBu1MDDU4VzJZ1GyI=; b=iKS4hosWawY1auFNvzXuw9oTp0A1aLX3gc2w70pJQaVb97YOwlon3prpFQPfaLB6C4/oLt HhgKi1d7ic9ocZD65GI0ii/Pm0+ROM0qZ1U+zobhjZieoNL2Bqypob5NJ/0XJXAge/SWYL bSHZwjQSXSD9hAaRP0OI+1xVpKNrwLRpFJ8FSUlKp4ukrDuqkuDU9lvLMXTxObKo8eGXwQ CQ6RuYAenWr7U+fGbr2orTSDtJPHGvWFUZQIkr5aOddSiyq4apNpvAbLOtmNMsHuldPUdx hQm40cGl1XlWDwwOq2sDXkR9yUMe4S4sU42LvpdHODD8bhqUH8uUYv0+MqymXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708524113; a=rsa-sha256; cv=none; b=CRzuUJfBIkYhdp8VIwbPhQcmkBZ+k7JYt/xYpdCMHPN/e3mM/FO/nHMG+nHbMLObjEPoER FkV7XiuZXK2P5GSgqFIPCRQAnU7uiJuy7T+eTnmS9Bbzx804UoqmLS493/V2/2KpipdPoM /6qF2dxFQZRuTTnAgejYjl+hNP1Gcz+NmQ1MykUF59s9BG928vEv1SvFE9Ljg7Wmg2llwM 7VC/exW45GxE3jG8HgU+NzUVwl6IjyTZ7fabUCNCRks4bqti4lf2/mkqH2Gglf6LNpmWaZ jWsPgjVjQ7bc6S1xa+EAJUSlJRXUHXdamBKtkhNMZyYl6vOX8FaEsCm8hrJXcg== 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 4Tfycx5p7gz158T; Wed, 21 Feb 2024 14:01: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 41LE1rwR080196; Wed, 21 Feb 2024 14:01:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LE1rde080193; Wed, 21 Feb 2024 14:01:53 GMT (envelope-from git) Date: Wed, 21 Feb 2024 14:01:53 GMT Message-Id: <202402211401.41LE1rde080193@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: aac9dda7f844 - releng/13.3 - Heimdal: Fix transit path validation CVE-2017-6594 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: aac9dda7f8446c2c3badecb9fa3473ab008ee59b Auto-Submitted: auto-generated The branch releng/13.3 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=aac9dda7f8446c2c3badecb9fa3473ab008ee59b commit aac9dda7f8446c2c3badecb9fa3473ab008ee59b Author: Cy Schubert AuthorDate: 2024-02-14 19:56:18 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 14:01:48 +0000 Heimdal: Fix transit path validation CVE-2017-6594 Apply upstream b1e699103. This fixes a bug introduced by upstream f469fc6 which may in some cases enable bypass of capath policy. Upstream writes in their commit log: Note, this may break sites that rely on the bug. With the bug some incomplete [capaths] worked, that should not have. These may now break authentication in some cross-realm configurations. Reported by: emaste Security: CVE-2017-6594 Obtained from: upstream b1e699103 MFS requested by: re (cperciva Approved by: re (cperciva) (cherry picked from commit f8041e3628bd70cf5562a9c13eb3d6af8463e720) (cherry picked from commit 9a7121454dc0f68af2687699d5feabf736692fa6) --- crypto/heimdal/kdc/krb5tgs.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/crypto/heimdal/kdc/krb5tgs.c b/crypto/heimdal/kdc/krb5tgs.c index 19d669798830..cde869522e23 100644 --- a/crypto/heimdal/kdc/krb5tgs.c +++ b/crypto/heimdal/kdc/krb5tgs.c @@ -655,8 +655,12 @@ fix_transited_encoding(krb5_context context, "Decoding transited encoding"); return ret; } + + /* + * If the realm of the presented tgt is neither the client nor the server + * realm, it is a transit realm and must be added to transited set. + */ if(strcmp(client_realm, tgt_realm) && strcmp(server_realm, tgt_realm)) { - /* not us, so add the previous realm to transited set */ if (num_realms + 1 > UINT_MAX/sizeof(*realms)) { ret = ERANGE; goto free_realms; @@ -737,6 +741,7 @@ tgs_make_reply(krb5_context context, const char *server_name, hdb_entry_ex *client, krb5_principal client_principal, + const char *tgt_realm, hdb_entry_ex *krbtgt, krb5_enctype krbtgt_etype, krb5_principals spp, @@ -798,7 +803,7 @@ tgs_make_reply(krb5_context context, &tgt->transited, &et, krb5_principal_get_realm(context, client_principal), krb5_principal_get_realm(context, server->entry.principal), - krb5_principal_get_realm(context, krbtgt->entry.principal)); + tgt_realm); if(ret) goto out; @@ -1494,6 +1499,8 @@ tgs_build_reply(krb5_context context, krb5_keyblock sessionkey; krb5_kvno kvno; krb5_data rspac; + const char *tgt_realm = /* Realm of TGT issuer */ + krb5_principal_get_realm(context, krbtgt->entry.principal); hdb_entry_ex *krbtgt_out = NULL; @@ -2240,6 +2247,7 @@ server_lookup: spn, client, cp, + tgt_realm, krbtgt_out, krbtgt_etype, spp, From nobody Wed Feb 21 14:01:54 2024 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 4Tfycz2Kp3z5CDxH; Wed, 21 Feb 2024 14:01: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 4Tfycz0Wjcz4gfw; Wed, 21 Feb 2024 14:01:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708524115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wC9k7C7RZ+mrU+ftGabS1WJKzjjeXJzLfr59KJWqGuk=; b=WA18zbKmu5zWT6p5F1wlZ6WQVOvZv6IRl3GLIzqJAI/3/wyDYDMEr0Z9W2QHUq0nSMvJtF J26uFcWjifNng13jVsQyGzpIpM62pim3xTDTIJ262q8Zny7gcqrKe9v7CvXAWWsgPmDVIS OmpFqaS5jkgH7VEPOr3rDFOqwoJA+NTIRFMaU46RIWcJIS+GfeQ8e+1W/kfawo/sg6YZhd GKR+xmXA4yb+7OFjjsidsuJzgnAbhTxEWpkwaAQTGrB5XQHcueyGMbyctV88fzVx16nq0K 6iFB1cbTzPNdjJB943FlmR5eBgviBx8Xd4tAixXrbQG8+v4YaInW0ST6dkDTXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708524115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wC9k7C7RZ+mrU+ftGabS1WJKzjjeXJzLfr59KJWqGuk=; b=PCWPEnMKauBI97lwxreBVL5haMd3YR86OOa9Ms3PLOwj3nH7AihKsxFJVNjXE8OHsdlEsP IggG5L2woqe9JwY+S7WyQjRGI2f+lZC07kD/Lx5h8lVmf4aIEe24UmbT9pl+6xTikeWH5d PtSaaVTONUCNTm66/ofuKqyd6JLWkQ+62ZaiVT+1QgNrcpYfyKEMZhIHo9X+d2lq0hNZmb yXYM/LyIHaHPR6fnXd4LrGCOc4PeVhw6r6xa2TmqdJ4Hw8HyaI+fLwezILCXghJjgc2Iry /MGcNV5HchQHr9ARm2VtJemMSYPom9Vcovjlu+bjqdaBDkEO8b1rGo/YUDkbZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708524115; a=rsa-sha256; cv=none; b=fVLorKPk7OUFWu0rQmjUFlhNySgADJMNYQiMBpWS1qtogoAvmbLNWo6zA6qCGc2L14fcWN TDvI4rA4s0Of0oiSjItw9MSmElWbTqsly9iGKx2OtzkoPJXSLTMJlvMkfm3JPfbrXSjGhB bIm85WsfdFHsq8E5gJOCR4AQrdBUzT3RIG543ct1gblLoY+ut2W7eueD98F7d/m2uxHtBY DtaE9cNUAzlRyzGlq9O9G7UlWshonAGc9XlPajBBxpZEkLcr5NjKRc41dD6YHPL854hTDW zg3JB1KuWazVdV6oD/vMbvZfjFNIQI7zKME7qxVBJXOiFu67PALU63XaOjtGPw== 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 4Tfycy6h2Gz15Mm; Wed, 21 Feb 2024 14:01: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 41LE1s0x080250; Wed, 21 Feb 2024 14:01:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LE1sQV080247; Wed, 21 Feb 2024 14:01:54 GMT (envelope-from git) Date: Wed, 21 Feb 2024 14:01:54 GMT Message-Id: <202402211401.41LE1sQV080247@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 776fe3ce5799 - releng/13.3 - Heimdal: CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed checksum 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 776fe3ce57994f404a12a7b74e27fb50d6d530af Auto-Submitted: auto-generated The branch releng/13.3 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=776fe3ce57994f404a12a7b74e27fb50d6d530af commit 776fe3ce57994f404a12a7b74e27fb50d6d530af Author: Cy Schubert AuthorDate: 2024-02-14 20:04:30 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 14:01:48 +0000 Heimdal: CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed checksum Upstream's explanation of the problem: S4U2Self is an extension to Kerberos used in Active Directory to allow a service to request a kerberos ticket to itself from the Kerberos Key Distribution Center (KDC) for a non-Kerberos authenticated user (principal in Kerboros parlance). This is useful to allow internal code paths to be standardized around Kerberos. S4U2Proxy (constrained-delegation) is an extension of this mechanism allowing this impersonation to a second service over the network. It allows a privileged server that obtained a S4U2Self ticket to itself to then assert the identity of that principal to a second service and present itself as that principal to get services from the second service. There is a flaw in Samba's AD DC in the Heimdal KDC. When the Heimdal KDC checks the checksum that is placed on the S4U2Self packet by the server to protect the requested principal against modification, it does not confirm that the checksum algorithm that protects the user name (principal) in the request is keyed. This allows a man-in-the-middle attacker who can intercept the request to the KDC to modify the packet by replacing the user name (principal) in the request with any desired user name (principal) that exists in the KDC and replace the checksum protecting that name with a CRC32 checksum (which requires no prior knowledge to compute). This would allow a S4U2Self ticket requested on behalf of user name (principal) user@EXAMPLE.COM to any service to be changed to a S4U2Self ticket with a user name (principal) of Administrator@EXAMPLE.COM. This ticket would then contain the PAC of the modified user name (principal). Reported by: emaste Security: CVE-2018-16860 Obtained from: Upstream c6257cc2c MFS requested by: re (cperciva) Approved by: re (cperciva) (cherry picked from commit 24339377490f9e362d040712b534d2963decd2d7) (cherry picked from commit 143a962d0e871c60b91589aa1045afdeca13742b) --- crypto/heimdal/kdc/krb5tgs.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crypto/heimdal/kdc/krb5tgs.c b/crypto/heimdal/kdc/krb5tgs.c index cde869522e23..cf1cd3dc1ad0 100644 --- a/crypto/heimdal/kdc/krb5tgs.c +++ b/crypto/heimdal/kdc/krb5tgs.c @@ -1892,6 +1892,13 @@ server_lookup: goto out; } + if (!krb5_checksum_is_keyed(context, self.cksum.cksumtype)) { + free_PA_S4U2Self(&self); + kdc_log(context, config, 0, "Reject PA-S4U2Self with unkeyed checksum"); + ret = KRB5KRB_AP_ERR_INAPP_CKSUM; + goto out; + } + ret = _krb5_s4u2self_to_checksumdata(context, &self, &datack); if (ret) goto out; From nobody Wed Feb 21 14:01:55 2024 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 4Tfyd069gJz5CF0Q; Wed, 21 Feb 2024 14:01: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 4Tfyd01b9wz4h0g; Wed, 21 Feb 2024 14:01:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708524116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/9iL6LcGMYQQXHsLtxchKyJ9eg1eGp0mTSEy3poJDo8=; b=p+k8YubMSNoLqaO6rsDvdOBbhNy7H6nG0NV6yzOuUh/1OXdqSRBWp7L2BYeEfCdGpio8p8 JZ65NHuBL5zTRnISBLj3YYmZ/Aw0aoIrkfVaVGPS13hVLwD88bu0KI7g3PsP6XN39SkrOu CSGdKOp5iJ8v2X1MuwuQfLnZnZlJJWMSX0UtKBjwngZvpSxuYl+S6cY6+1lgkLc+V9tIO/ miNXpfxdKWpC+bHEWtrPRXVfkGz4F6nj/iD4JGThU4CS5jfGzUBjY0CcQQeuwztIW2gP7m WuBv5BguJbcRfkDQRSMlS/1qcH5Nkn4mH8Z2d2ycnrdJJ6zwWnFNkwPVL8I40A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708524116; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/9iL6LcGMYQQXHsLtxchKyJ9eg1eGp0mTSEy3poJDo8=; b=OacTE117pnFFGrkp4ePKqSY6U4AXW0QQDToEaeQnGXyHRc9f32/QAEkzc6QZ2uCquFgpvB CtHZpcne8CQZc1hOr7gNswda5548+Zgg/LoS/748iKCtEr+cQwobZVX1r3mTGv0qTqbTjE 1hZfEAhsQYZUPOo8cWhKT1eMcoYo0tcgSDf7hzu54B+PvNrEdZQLC/5iaij0zgVKY8nd8R HDAV3SY5qMX1SqzcXRfo0bvL15RLrNcl93Ci5tfjTfbf+ctubarJUC5mGNofUNza36gRQa 2yPiYu0f28kNIyimsnVHWBZ4Zqt+DjVng/SLI+rUjQcul0VRuQzpoBLZMqnfxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708524116; a=rsa-sha256; cv=none; b=EnZWaKiYyBkDidhjmpWSHN8Ow6CTxP5AqIqvgRzBDkhwwxsn0xN4Cw7+DMFNS5r8hKynM4 Q4ZneVJ13GPfvWU8IPJ1jwyv2gH6gfajXbGM+UNSDdm4joeUL4nK3aRGwdefVWtKyfBBRJ ZPB4E0Ztq2ey1foNgiE9Ujf5WmL6WyUJFGG79HJYeL0cb+bRu9n3Ij5y3uNYmehQ7Bu516 cnjdaH2Tzqfa8OJvMKHy4T34Y5R8XKYQABQL6zL11AVUJva+EYV0SkyMxAPFBAsPD4TH3t dNcPGETmL+8bLMEWhkLMwBFfa7CKZN+mn3JkMuot3/EQEGhyDFIE5KEKIaDWzA== 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 4Tfyd00dBbz14jc; Wed, 21 Feb 2024 14:01: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 41LE1tHe080298; Wed, 21 Feb 2024 14:01:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LE1teR080295; Wed, 21 Feb 2024 14:01:55 GMT (envelope-from git) Date: Wed, 21 Feb 2024 14:01:55 GMT Message-Id: <202402211401.41LE1teR080295@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 9f2e70a87d6e - releng/13.3 - heimdal: always confirm PA-PKINIT-KX for anon PKINIT 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 9f2e70a87d6ed48df418e1f7a3ccc09b469c2dad Auto-Submitted: auto-generated The branch releng/13.3 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=9f2e70a87d6ed48df418e1f7a3ccc09b469c2dad commit 9f2e70a87d6ed48df418e1f7a3ccc09b469c2dad Author: Cy Schubert AuthorDate: 2024-02-15 01:58:06 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 14:01:48 +0000 heimdal: always confirm PA-PKINIT-KX for anon PKINIT Import upstream 38c797e1a. Upstream notes: RFC8062 Section 7 requires verification of the PA-PKINIT-KX key excahnge when anonymous PKINIT is used. Failure to do so can permit an active attacker to become a man-in-the-middle. Reported by: emaste Obtained from: upstream 38c797e1a Security: CVE-2019-12098 MFS requested by: re (cperciva) Approved by: re (cperciva) (cherry picked from commit 60616b445eb5b01597092fef5b14549f95000130) (cherry picked from commit a311b9d70863f78c232d5622ee579c6cd45bb1d8) --- crypto/heimdal/lib/krb5/krb5_locl.h | 1 + crypto/heimdal/lib/krb5/pkinit.c | 92 +++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) diff --git a/crypto/heimdal/lib/krb5/krb5_locl.h b/crypto/heimdal/lib/krb5/krb5_locl.h index d0c68927ffbd..0ea132f94c82 100644 --- a/crypto/heimdal/lib/krb5/krb5_locl.h +++ b/crypto/heimdal/lib/krb5/krb5_locl.h @@ -240,6 +240,7 @@ struct _krb5_get_init_creds_opt_private { #define KRB5_INIT_CREDS_CANONICALIZE 1 #define KRB5_INIT_CREDS_NO_C_CANON_CHECK 2 #define KRB5_INIT_CREDS_NO_C_NO_EKU_CHECK 4 +#define KRB5_INIT_CREDS_PKINIT_KX_VALID 32 struct { krb5_gic_process_last_req func; void *ctx; diff --git a/crypto/heimdal/lib/krb5/pkinit.c b/crypto/heimdal/lib/krb5/pkinit.c index 7164a118c34a..3c914bb31f35 100644 --- a/crypto/heimdal/lib/krb5/pkinit.c +++ b/crypto/heimdal/lib/krb5/pkinit.c @@ -1306,6 +1306,98 @@ pk_rd_pa_reply_enckey(krb5_context context, return ret; } +/* + * RFC 8062 section 7: + * + * The client then decrypts the KDC contribution key and verifies that + * the ticket session key in the returned ticket is the combined key of + * the KDC contribution key and the reply key. + */ +KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL +_krb5_pk_kx_confirm(krb5_context context, + krb5_pk_init_ctx ctx, + krb5_keyblock *reply_key, + krb5_keyblock *session_key, + PA_DATA *pa_pkinit_kx) +{ + krb5_error_code ret; + EncryptedData ed; + krb5_keyblock ck, sk_verify; + krb5_crypto ck_crypto = NULL; + krb5_crypto rk_crypto = NULL; + size_t len; + krb5_data data; + krb5_data p1 = { sizeof("PKINIT") - 1, "PKINIT" }; + krb5_data p2 = { sizeof("KEYEXCHANGE") - 1, "KEYEXCHANGE" }; + + heim_assert(ctx != NULL, "PKINIT context is non-NULL"); + heim_assert(reply_key != NULL, "reply key is non-NULL"); + heim_assert(session_key != NULL, "session key is non-NULL"); + + /* PA-PKINIT-KX is optional unless anonymous */ + if (pa_pkinit_kx == NULL) + return ctx->anonymous ? KRB5_KDCREP_MODIFIED : 0; + + memset(&ed, 0, sizeof(ed)); + krb5_keyblock_zero(&ck); + krb5_keyblock_zero(&sk_verify); + krb5_data_zero(&data); + + ret = decode_EncryptedData(pa_pkinit_kx->padata_value.data, + pa_pkinit_kx->padata_value.length, + &ed, &len); + if (ret) + goto out; + + if (len != pa_pkinit_kx->padata_value.length) { + ret = KRB5_KDCREP_MODIFIED; + goto out; + } + + ret = krb5_crypto_init(context, reply_key, 0, &rk_crypto); + if (ret) + goto out; + + ret = krb5_decrypt_EncryptedData(context, rk_crypto, + KRB5_KU_PA_PKINIT_KX, + &ed, &data); + if (ret) + goto out; + + ret = decode_EncryptionKey(data.data, data.length, + &ck, &len); + if (ret) + goto out; + + ret = krb5_crypto_init(context, &ck, 0, &ck_crypto); + if (ret) + goto out; + + ret = krb5_crypto_fx_cf2(context, ck_crypto, rk_crypto, + &p1, &p2, session_key->keytype, + &sk_verify); + if (ret) + goto out; + + if (sk_verify.keytype != session_key->keytype || + krb5_data_ct_cmp(&sk_verify.keyvalue, &session_key->keyvalue) != 0) { + ret = KRB5_KDCREP_MODIFIED; + goto out; + } + +out: + free_EncryptedData(&ed); + krb5_free_keyblock_contents(context, &ck); + krb5_free_keyblock_contents(context, &sk_verify); + if (ck_crypto) + krb5_crypto_destroy(context, ck_crypto); + if (rk_crypto) + krb5_crypto_destroy(context, rk_crypto); + krb5_data_free(&data); + + return ret; +} + static krb5_error_code pk_rd_pa_reply_dh(krb5_context context, const heim_octet_string *indata, From nobody Wed Feb 21 14:01:57 2024 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 4Tfyd14GFHz5CF0T; Wed, 21 Feb 2024 14:01: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 4Tfyd12FyGz4gdh; Wed, 21 Feb 2024 14:01:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708524117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eetsiB6vW2oZBJfO8zwI/8y4PPfUSt8jQk4r8Q606j8=; b=PV47524qj9/jgre8P3ywC79MQZ2ASj+YUFWDl0olg8WxtlQeBA6YbpxUrqud/3QHL6mFSZ nPjg4EQ5ppIwH7/9QtvWuvlZuNc55S7TvhX3EPMW0hWwdC8XL2YVKGCrikYAVy6aOC9deh 7RS3VWmmKh1Y/37Q/Rt5KK8tmLcVvY9heg32mYGjhY1lXLnH+/LSoyWV3AQR05ARwbItUm DZZHJTJ0YQLpy8DRDH5VN09IRI7EFKvxauXb5npC9oGNVM8qpMRfHcPRDeSDbNxalmwACq jMi5zD+nwUkS5r+YzcS6iJUx5G/LVjWG1qdpWFd7+21pHQRIw+Qu6uaL1qdkMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708524117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eetsiB6vW2oZBJfO8zwI/8y4PPfUSt8jQk4r8Q606j8=; b=xHGBnY4JDBNWFU2E4ZwHKeCpb7pwtcTBW+K5ZLeeUi0KkbaZyKS8sLT7ji7uF27AfR+IoV wzOeUOMGEw5CDvMYWy/RyahDKu2BL19Bu7K/WP8BPbp7y7nZDsqf/zWQrLMW22Yg/indjm g3IIm1OUx0/TgvtMmvzmHgldy5WKTcsVs/NhF1jupD8UKBnJowv3/gRF5AOqiF4qge8Rjt vwU/XHlLhTgH4HeAejSnjF+WU3ObLaYZySZvBdFREPhfI1Be0J8L81osbs5pSDGcnJEPj5 PThWcy0Rxuv+Aps8bFQGQNt+r9st9G70nJCrBiLLQL1nnrp7+/xvt7eftZe7+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708524117; a=rsa-sha256; cv=none; b=NVD0/dFrQEA+Cb3gg8Jz7Tf/AgOPuHz9mn0PDMSupmtJHubIUI+B2BiHcoIiXta04+RiIg CH9QrLzPq/emb5tIDF5srLjMfcyGG7RnwVbb5HuAJRX0qPix7fanqSSzXZGpYhxI1fRQPG 3jj0E3y1VyC+H0bqXCl+fge8osa6wkjvREarFjH0dPQAxCpbHB4fnnrF2vTbiBTxSW1vg1 ckFvQwU5lOIuYih8SFs0FEZ6aCPJ/WWyVsIm5+DrgXWosCtZJCpuHlYp9ngotW0DgalRsH F45aVa6Sd9Z4h79nDtbyLUMN2w1OgccCwKOWFY12mtseYGVUoM9FYTO+p9pFRw== 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 4Tfyd11MTPz1569; Wed, 21 Feb 2024 14:01: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 41LE1vNi080339; Wed, 21 Feb 2024 14:01:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LE1vSv080336; Wed, 21 Feb 2024 14:01:57 GMT (envelope-from git) Date: Wed, 21 Feb 2024 14:01:57 GMT Message-Id: <202402211401.41LE1vSv080336@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 88bdc4bb60df - releng/13.3 - heimdal: Fix NULL deref 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 88bdc4bb60df6aab4457d244c5fbf4b56b22ff6d Auto-Submitted: auto-generated The branch releng/13.3 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=88bdc4bb60df6aab4457d244c5fbf4b56b22ff6d commit 88bdc4bb60df6aab4457d244c5fbf4b56b22ff6d Author: Cy Schubert AuthorDate: 2024-02-15 15:41:07 +0000 Commit: Cy Schubert CommitDate: 2024-02-21 14:01:48 +0000 heimdal: Fix NULL deref A flawed logical condition allows a malicious actor to remotely trigger a NULL pointer dereference using a crafted negTokenInit token. Upstream notes: Reported to Heimdal by Michał Kępień . From the report: Acknowledgement --------------- This flaw was found while working on addressing ZDI-CAN-12302: ISC BIND TKEY Query Heap-based Buffer Overflow Remote Code Execution Vulnerability, which was reported to ISC by Trend Micro's Zero Day Security: CVE-2022-3116 Obtained from: upstream 7a19658c1 MFS requested by: re (cperciva) Approved by: re (cperciva) (cherry picked from commit fc773115fa2dbb6c01377f2ed47dabf79a4e361a) (cherry picked from commit 6b421e431a2de6eb9e8bd670efffe76e6617d520) --- crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c b/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c index b60dc19ad8e3..48542f06fcbe 100644 --- a/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c +++ b/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c @@ -605,7 +605,7 @@ acceptor_start * If opportunistic token failed, lets try the other mechs. */ - if (!first_ok && ni->mechToken != NULL) { + if (!first_ok) { size_t j; preferred_mech_type = GSS_C_NO_OID; From nobody Wed Feb 21 14:17:52 2024 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 4Tfyzh1g53z5CGDc; Wed, 21 Feb 2024 14:18:08 +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 4Tfyzg0rg1z4kLP; Wed, 21 Feb 2024 14:18:06 +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.18.1/8.18.1) with ESMTP id 41LEHqx1053572; Wed, 21 Feb 2024 16:17:55 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 41LEHqx1053572 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 41LEHqxj053571; Wed, 21 Feb 2024 16:17:52 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 21 Feb 2024 16:17:52 +0200 From: Konstantin Belousov To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: 8271d9b99a3b - main - libsys: remove usage of pthread_once and _once_stub Message-ID: References: <202402210029.41L0TOH5000231@gitrepo.freebsd.org> <964A29A2-4C51-4037-8EBE-320008D48AE0@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=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <964A29A2-4C51-4037-8EBE-320008D48AE0@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-Queue-Id: 4Tfyzg0rg1z4kLP 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] On Wed, Feb 21, 2024 at 12:51:04AM +0000, Jessica Clarke wrote: > On 21 Feb 2024, at 00:29, Konstantin Belousov wrote: > > > > The branch main has been updated by kib: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=8271d9b99a3b98c662ee9a6257a144284b7e1728 > > > > commit 8271d9b99a3b98c662ee9a6257a144284b7e1728 > > Author: Konstantin Belousov > > AuthorDate: 2024-02-20 14:45:29 +0000 > > Commit: Konstantin Belousov > > CommitDate: 2024-02-21 00:26:11 +0000 > > > > libsys: remove usage of pthread_once and _once_stub > > > > that existed in auxv.c, use simple bool gate instead. This leaves a > > small window if two threads try to call _elf_aux_info(3) simultaneously. > > The situation is safe because auxv parsing is really idempotent. The > > parsed data is the same, and we store atomic types (int/long/ptr) so > > double-init does not matter. > > You still need to load acquire and store release aux_once though, > otherwise you can see aux_once as true yet read the pre-initialised > data. In practice that’s surely very hard to hit, but the code as > written is now wrong. Also, idempotence should probably be made > unnecessary by using 0/1/2 state for uninitialised/initialising/ > initialised, as it’s still technically UB from a C AM perspective due > to not being data race free if two threads initialise at the same time. > Better to just do the correct thing rather than risk things going wrong. There is too much to handle 'in process' state for loosing thread, I need the whole libthr machinery. I added the fences, thanks for noting. WRT being UB from pure C, we already have much more assumptions about atomicity. From nobody Wed Feb 21 14:19:01 2024 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 4Tfz0j4YgNz5CGPd; Wed, 21 Feb 2024 14:19: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 4Tfz0j3sJtz4krg; Wed, 21 Feb 2024 14:19:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708525141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S2CuHsh/b2dgCS1+/wyvY88r+hvJggCKFILtiF247qU=; b=uSDr1/gvTuBYmMOK8ZLu4dz6HykoG6wGIxzcbswkOMKtV7q6cuOKTwwFSo4Xc0uRHAJeDa ha+BYsgxAu8Kg3pGmgve2dbt3/gvF0HIz1jfYzIJSyVs2ohSn/4luYKuzBRcLoaZx5c/z3 rsizGtEz1viMZoNdAyDT2C/TgMqs3nwPGNxEE+zje8CEvaWcEY8tuyZKQeWNGWH4jVzuhZ 6SIiOsKWp2cBkQKQYJbDDS+0X758VbgK/UOwAlDTe9B181N4tbYzIW9nrR+L8DpBS4WKhH PEq1ziFpYsBLjFD2EVoS8OnJ5UrVufPmr3YVzR1MKsg4mkFOzp6k0dKaf416Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708525141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S2CuHsh/b2dgCS1+/wyvY88r+hvJggCKFILtiF247qU=; b=tfWu4AaOVjL4dlSTvmZQBEkJDgUSP9q4ovjt7ZjHfNEeLp1VJrNxY3VveMlPtYdPC7Cgtf dphNnuzRzSqUBI5j4fiVg0UyP3WbxRX9/oBWReETsNAYaPQkOkxToYZqJ32olOUvQ5i3X9 lttVQG7gwiWDywsStKtgnptfUUuULTCA3WvqVGLh0WLrB5qRulfM5wuV3daq6z+nQkCHJj A/uQe6Z8agcIc3DQlmcso5VC+HW9Lz64b3jd3g2ri+X1WrGx8QlA2gDIKmNhyBIO0+wQ7l mIuBeUUxHovcHbCuFMvJgYMKaLRPvuRaPwCco/RzGBtU/Pgu4mA6X6bf3UESrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708525141; a=rsa-sha256; cv=none; b=AKRZ6qY6cyxEHt/7pzZqsCiSy427+yuEpiBVXYxptFJv6kZiKyZU0nXJ7W5ggbve3d08mB ojZ3ONvC3ywaLM6Ue/+He4nwYb7gqFl3Bjroowq4shgg7OXvPbdXJWqgcXjgxEgqq7gf4r L4rydg42YV3VFA7rBSdyWFIHj09RJ3rSPNbFZxUe1SALCKTgYb5hhUn5NTEeIp7+6Watmh l0DRmehG+BQVf25jME+t7dpp5eOmm/gJf4wiwMBA6m7LR+CdxobxQH6VDaUkIKugUZUujH jgykxnJVBnjOcgq6Nyj94rqyzzmXeoP0midWZlwY0WkAcV9MX9QiQHulUYlPvg== 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 4Tfz0j2yQZz15dM; Wed, 21 Feb 2024 14:19: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 41LEJ1xN000740; Wed, 21 Feb 2024 14:19:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LEJ19I000737; Wed, 21 Feb 2024 14:19:01 GMT (envelope-from git) Date: Wed, 21 Feb 2024 14:19:01 GMT Message-Id: <202402211419.41LEJ19I000737@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: 2f4cbf459d4a - main - libsys auxv.c: add fences needed to ensure that flag works 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: 2f4cbf459d4af41977be30eab2f6f7d7e9f9b5b5 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2f4cbf459d4af41977be30eab2f6f7d7e9f9b5b5 commit 2f4cbf459d4af41977be30eab2f6f7d7e9f9b5b5 Author: Konstantin Belousov AuthorDate: 2024-02-21 14:12:12 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-21 14:18:10 +0000 libsys auxv.c: add fences needed to ensure that flag works Noted by: jrtc27 Sponsored by: The FreeBSD Foundation --- lib/libsys/auxv.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/libsys/auxv.c b/lib/libsys/auxv.c index 88f49ef53be1..1a4fd352950e 100644 --- a/lib/libsys/auxv.c +++ b/lib/libsys/auxv.c @@ -36,6 +36,7 @@ #include #include "un-namespace.h" #include "libc_private.h" +#include extern int _DYNAMIC; #pragma weak _DYNAMIC @@ -66,7 +67,7 @@ __init_elf_aux_vector(void) } #endif -static bool aux_once = false; +static int aux_once; static int pagesize, osreldate, canary_len, ncpus, pagesizes_len, bsdflags; static int hwcap_present, hwcap2_present; static char *canary, *pagesizes, *execpath; @@ -92,7 +93,7 @@ init_aux(void) { Elf_Auxinfo *aux; - if (aux_once) + if (atomic_load_acq_int(&aux_once)) return; for (aux = __elf_aux_vector; aux->a_type != AT_NULL; aux++) { switch (aux->a_type) { @@ -179,7 +180,7 @@ init_aux(void) _init_aux_powerpc_fixup(); #endif - aux_once = true; + atomic_store_rel_int(&aux_once, 1); } #ifdef __powerpc__ From nobody Wed Feb 21 15:51:37 2024 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 4Tg13Z4Vx7z59pw5; Wed, 21 Feb 2024 15:51: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 4Tg13Y6m0Tz4HpQ; Wed, 21 Feb 2024 15:51:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708530697; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xL1w+AqE2wY00K6xOXzduJvQ9xm+EJz70bO3bSogjiY=; b=lF8xI1mxW6lQ9J4Sa2UVRzdVs2qgjodvk+MHW430V/nrnvZtAOfA5MG+t0B1e9cCD6Dkev QgSIURN6M8M1JjVtnlYoSNsREHO0PEUEokbL4hFF5Ou9gKnpQO8Dsxb3hCUQRM7QYBVWqL eMxwJRXRAbHh0h6UyKweHJ+bMr+IN06Ay5Po1pKeSNk6YHWi4IuriRt1ErjziQp28ZKZF0 nkutPIseSvYc4DpbPUh7bDPipWDHghi+BwUYY9FNrco8xcGvHlbf639wjYdkCmHqvTE56U dIlW3BTXf8tBPk82rklOtWTI1BF3Rm9RW5SP+hi13FhcOOip2ICiNzYf/ty1uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708530697; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xL1w+AqE2wY00K6xOXzduJvQ9xm+EJz70bO3bSogjiY=; b=dnCtgY1QUBcCK9HuDsEb9KGgYb8qlAijRfx/Q83Os3Ccr6pdVMUIMNLYdkVH0MVRccegse +bg0+yDwQ5DyNeZPda5T/tUehyNs8lLPonCHqW4GFLlWzwG7J2Qj3rFDUtTFol6PuoyPh6 rCqeJRwsIQP9W3ACjUpfzqQz0Zc9Nsk+mk90m4bBOZoc18Bxm/zt+fw73/opTTN9ddp+93 Ifcnh5kh2viYpctgBsYb9JI82dzeK5R2pw+VCxnvSetBGNfFhC446p3G6wIU6je+K+t/DS S1+zQVyG2ho7p1VpuTnDVpl+981gcyjlBnvOvXb/+bHZoRPmexiHBxQquzwbsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708530697; a=rsa-sha256; cv=none; b=Kiv+/IRlYgiH37rEYfb8kmu4LprHemqXc4A46aeI7RQSPAS0qL5cwjHGXNx9HobJZs24XC uM3yIqwP/hHP1GPjkBgbO6gXN6hXpimqc+1JbBi92EWKwRXeCP+GqHs3uvZSjZdcGvjVQ3 MYz5tQRdTWfLzCUuc1FROlS0G0oPPjdmEOvXKT7fGr5yf/lDpTYBC9L2dFLTtkfeyR7SYh IXULZQu2RdGxWM4DhYsYjlYmI5kuPEvKFXLAaYOqdEBeI9zIkbAQUFiodmxbt8U5ETc+tY 7PL5ma9xNYaimPqfwdUNCpVAD2kv+4glIhggSkTv6kOBIXBXycVPgL1eRmXnlw== 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 4Tg13Y5sNvz18Cl; Wed, 21 Feb 2024 15:51: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 41LFpbNk023898; Wed, 21 Feb 2024 15:51:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LFpbHF023895; Wed, 21 Feb 2024 15:51:37 GMT (envelope-from git) Date: Wed, 21 Feb 2024 15:51:37 GMT Message-Id: <202402211551.41LFpbHF023895@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: 32568e5f2435 - main - loader: Retire CTASSERT 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: 32568e5f2435a2539b0c4177a6fefe7a9e0a0c89 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=32568e5f2435a2539b0c4177a6fefe7a9e0a0c89 commit 32568e5f2435a2539b0c4177a6fefe7a9e0a0c89 Author: Warner Losh AuthorDate: 2024-02-21 15:48:32 +0000 Commit: Warner Losh CommitDate: 2024-02-21 15:51:34 +0000 loader: Retire CTASSERT The project is moving away from CTASSERT in favor of _Static_assert. Cleanup the few instances in the loader proactively. Sponsored by: Netflix Reviewed by: manu, tsoome Differential Revision: https://reviews.freebsd.org/D44006 --- stand/common/bootstrap.h | 4 ---- stand/efi/loader/arch/amd64/multiboot2.c | 2 +- stand/i386/libi386/multiboot.c | 2 +- stand/i386/loader/main.c | 9 ++++----- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index 7387569ad65a..b7d6e538f9be 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -382,8 +382,4 @@ int gen_setcurrdev(struct env_var *ev, int flags, const void *value); int mount_currdev(struct env_var *, int, const void *); void set_currdev(const char *devname); -#ifndef CTASSERT -#define CTASSERT(x) _Static_assert(x, "compile-time assertion failed") -#endif - #endif /* !_BOOTSTRAP_H_ */ diff --git a/stand/efi/loader/arch/amd64/multiboot2.c b/stand/efi/loader/arch/amd64/multiboot2.c index 4d7b2713685d..6c96d7dc0073 100644 --- a/stand/efi/loader/arch/amd64/multiboot2.c +++ b/stand/efi/loader/arch/amd64/multiboot2.c @@ -334,7 +334,7 @@ exec(struct preloaded_file *fp) struct mb2hdr *hdr; - CTASSERT(sizeof(header) <= PAGE_SIZE); + _Static_assert(sizeof(header) <= PAGE_SIZE, "header too big"); if ((md = file_findmetadata(fp, MODINFOMD_NOCOPY | MODINFOMD_MB2HDR)) == NULL) { diff --git a/stand/i386/libi386/multiboot.c b/stand/i386/libi386/multiboot.c index e11da0444fcd..b69895de9706 100644 --- a/stand/i386/libi386/multiboot.c +++ b/stand/i386/libi386/multiboot.c @@ -165,7 +165,7 @@ multiboot_exec(struct preloaded_file *fp) int error, mod_num; struct xen_header header; - CTASSERT(sizeof(header) <= PAGE_SIZE); + _Static_assert(sizeof(header) <= PAGE_SIZE, "header too large for page"); /* * Don't pass the memory size found by the bootloader, the memory diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c index 97c4448afdc3..8a3c1cbc6a42 100644 --- a/stand/i386/loader/main.c +++ b/stand/i386/loader/main.c @@ -51,14 +51,13 @@ #include "libzfs.h" #endif -CTASSERT(sizeof(struct bootargs) == BOOTARGS_SIZE); -CTASSERT(offsetof(struct bootargs, bootinfo) == BA_BOOTINFO); -CTASSERT(offsetof(struct bootargs, bootflags) == BA_BOOTFLAGS); -CTASSERT(offsetof(struct bootinfo, bi_size) == BI_SIZE); +_Static_assert(sizeof(struct bootargs) == BOOTARGS_SIZE, "Bootarg size bad"); +_Static_assert(offsetof(struct bootargs, bootinfo) == BA_BOOTINFO, "BA_BOOTINFO"); +_Static_assert(offsetof(struct bootargs, bootflags) == BA_BOOTFLAGS, "BA_BOOTFLAGS"); +_Static_assert(offsetof(struct bootinfo, bi_size) == BI_SIZE, "BI_SIZE"); /* Arguments passed in from the boot1/boot2 loader */ static struct bootargs *kargs; - static uint32_t initial_howto; static uint32_t initial_bootdev; static struct bootinfo *initial_bootinfo; From nobody Wed Feb 21 15:51:38 2024 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 4Tg13b57WLz59pss; Wed, 21 Feb 2024 15:51: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 4Tg13b0LtLz4HmD; Wed, 21 Feb 2024 15:51:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708530699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bMZrX4YnS56F5g9F8d/Q7tB7cEy4z7DrKIfI82bEIAk=; b=qwdrD1kRDSczG7p2cFSlMkOKzGXd1vMtkUtGFOOojWseZ1X8SdwFaRoQx2awAgl6hZUWAU yXMKWi/dlPQtFjeZAEcLbt9MFzXJlGB3JAztS8/NON799r/PPbfUsEvSmu9+bseyPQGzaT 3Zg+kzW8m9ltO8IC/+zbPeoYbNN8A2j2+JCym3mBcCXo5nfY8TA27ZOGXUwMopQBKGrs7w MdPMn7RNvG13VdNJahf1zDkKDXjVa92Ebt5Z+W9RoTh6KFwQD0RfWkihYjcgMcl726cJmQ tjsq3dfKWJ7vNfZqiDbTh7IeHcq1sykIAhmTiSiyBM54u5hkWvk3Xyub1MzpPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708530699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bMZrX4YnS56F5g9F8d/Q7tB7cEy4z7DrKIfI82bEIAk=; b=r7jmdD1fYfwnrHocfbjRVa56hoaZ1mCpz057xl7k26y376tzBl+mVQTDO/+W6Wd3rz62b/ UILydpDf2XYAEmrOmEoaoLcK4hQeBRAPl7OteIgxzBeQEOYTYunOAudbVfqIX6hG5Qj2OV oPVsOSM0c4qN4TJC6hEvPVqxAibJVkG/v7dtOTkHzW3iO+AI89FGmKZTxZpq0RtoLWbmvY H2imn3B+Yh2zRnOGMrPImFsQkDLW6Pi7opNdVwFfyuKoyVGaAP3VRXuw6m2fSzM78cbP5K bFpGnZUfYnBRVw3TyOeHCjuNqx5mW6r4xsnAH5b5pMT6h5Yvwm6RZYKs2gi9wA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708530699; a=rsa-sha256; cv=none; b=Iqz7gbrmJynPlBQ6BIMvI59U3V2m3wSV23VGbTUV2wZrnlkcP7bz+ArI2RduW9VAiY1Zro zBCxmlVGrGNkINpx9Uvu6aJkMP5AyTEeQeTyXaanpgpSpY9GrW+h5Gc6cbg8bCLQAeFy8u NtlFQ17HeepxH0PSPIdq3M3wrpT6v1VxUHBWUdkzXR/5HWd1ZoXfWMmmn9LQbl/7hU/lPD 0Oj1Xe9hDzPhAyj+54sd8r+OUMgJzQHue2bGOkTBr6H7oT7AJri2hd2JjmIv8/PK7AF7kP UtHrwmPH2oAS8SQn8AA2CzWo4EMZPvaO99O320YQPEXU3RsAx2JEKY8Fs2PMaw== 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 4Tg13Z6YKwz18MB; Wed, 21 Feb 2024 15:51: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 41LFpccp023946; Wed, 21 Feb 2024 15:51:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LFpcpZ023943; Wed, 21 Feb 2024 15:51:38 GMT (envelope-from git) Date: Wed, 21 Feb 2024 15:51:38 GMT Message-Id: <202402211551.41LFpcpZ023943@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: b2822c40f61d - main - loader/efi: Make gcc friendlier by move md_dev 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: b2822c40f61d351bf8a4cac87e12521db06ff962 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b2822c40f61d351bf8a4cac87e12521db06ff962 commit b2822c40f61d351bf8a4cac87e12521db06ff962 Author: Warner Losh AuthorDate: 2024-02-21 15:50:31 +0000 Commit: Warner Losh CommitDate: 2024-02-21 15:51:34 +0000 loader/efi: Make gcc friendlier by move md_dev Move the extern struct devsw md_dev out of the function. gcc is happier with this arrangemnt often. However, we really should move it to a header file, but that requires a bit of a rework of md support and config. Sponsored by: Netflix Reviewed by: manu, tsoome Differential Revision: https://reviews.freebsd.org/D44008 --- stand/efi/loader/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index d7cffe5f6df9..5944c383574e 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -278,10 +278,11 @@ probe_zfs_currdev(uint64_t guid) #endif #ifdef MD_IMAGE_SIZE +extern struct devsw md_dev; + static bool probe_md_currdev(void) { - extern struct devsw md_dev; bool rv; set_currdev_devsw(&md_dev, 0); From nobody Wed Feb 21 16:31:10 2024 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 4Tg1xC0cYwz59t4b; Wed, 21 Feb 2024 16:31: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 4Tg1xB267Vz4cmX; Wed, 21 Feb 2024 16:31:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708533070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=00ZXB4kVRCQs4toXc8PNk6hxY+LsetKKTb4wLSTFxJE=; b=BSXSyfPiJ9wuQLIwuJyULm4vjFZPsXywJPA3eB0nlxYpuDmSZ3qYEd7Yr+97xE3lsS0CQC b8kA/VSRE/RTUXtONOyaxSx6EVndRByr8cEAjX7NBTZ3w+VDPnR7X80LPJzofcDcZBycFr JahoLHTnxsFh3hfL6CKQZNFlccHoPrLhtxUTfZwz5xn8RhH17dMnTdMV7mKsJusPxsNAPT /1CRwSF8VC92nVer6yglgewbmeGDuBfs6YCTChnNYd45XjZ8Sy/5+YXZ7rtx2QjqgfIpl2 OKoO3SvB19OEEe4XlnJZjlrQR8u1wObr5JNPN0iRgvS+gTyVIWinyg71D/usWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708533070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=00ZXB4kVRCQs4toXc8PNk6hxY+LsetKKTb4wLSTFxJE=; b=ksBHU1L7Ms/s08pWiTjoLRiyKtq7pJXoXdbmRe8SGAoQ99JHj0jXwxdH6/jeXxZnbJHuvh OB+et07c6SaQGFAfgjAZc3pVJEOQ3gRSHCdalP/QeihnLMJI9dBdVpGCuAlrN5oWeQX+Ie Zt5KGQmdpQBr/ybMTHB5QNCOyt3rxba+Vozev7fNmBuwIoSm6gNbZJaEtoEtRGVAwGnX5U YVO6siwCteS96GYo14iXJGuKu3exjL+XUpWjZtGBuG2UAWf0GUP8UlPbeQ5l+hzGHVfKG2 PRjsX5iyQ1eEAVfmj4i4x13e8ER6iE+Yu8ACq49+BhYp79cLjzGpHnMOB9zGUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708533070; a=rsa-sha256; cv=none; b=uTPbfC4HSheixLcg1FpjEoUPHAiz56WUaN4tS7GLnMoH8M4z572IoyytQdz1bjwoRh8+++ 0PF8IlsmpqcvTR/N2h9vT7q/G4eblKZFxhHwYUDdKximRKVbPyPS8yj7vrBnoTwOA+VNaF pNk85O8i8iwWQ8jvv+ohJV9dQ603N0w5sPrLaL0uE8HU/LTdU9ILHa5sxICJMm4+uZjb5E um5K7Zat2X+U1B3pTnxziw/K489EaTPiqA30XDS59w2n3uNQx1EHUOUdjZzlNBsj9Q1E4N unPTRUdrGUTUBidPU424yQCElVpGbojIgNTY+FaMNVyjZANcgp1ouxQeE/rPwA== 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 4Tg1xB1BHJz19W6; Wed, 21 Feb 2024 16:31: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 41LGVAqU093465; Wed, 21 Feb 2024 16:31:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LGVAU5093462; Wed, 21 Feb 2024 16:31:10 GMT (envelope-from git) Date: Wed, 21 Feb 2024 16:31:10 GMT Message-Id: <202402211631.41LGVAU5093462@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: 64963dd2f0a2 - main - arm64: Add more spsr_el1 register values 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: 64963dd2f0a2a47e94fb3f7c56198c475b9821a3 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=64963dd2f0a2a47e94fb3f7c56198c475b9821a3 commit 64963dd2f0a2a47e94fb3f7c56198c475b9821a3 Author: Andrew Turner AuthorDate: 2024-02-21 15:58:20 +0000 Commit: Andrew Turner CommitDate: 2024-02-21 16:27:36 +0000 arm64: Add more spsr_el1 register values Sponsored by: Arm Ltd --- sys/arm64/include/armreg.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 0ff42de90f46..46d13d253746 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -2077,8 +2077,15 @@ #define PSR_DAIF (PSR_D | PSR_A | PSR_I | PSR_F) /* The default DAIF mask. These bits are valid in spsr_el1 and daif */ #define PSR_DAIF_DEFAULT (PSR_F) +#define PSR_BTYPE 0x00000c00UL +#define PSR_SSBS 0x00001000UL +#define PSR_ALLINT 0x00002000UL #define PSR_IL 0x00100000UL #define PSR_SS 0x00200000UL +#define PSR_PAN 0x00400000UL +#define PSR_UAO 0x00800000UL +#define PSR_DIT 0x01000000UL +#define PSR_TCO 0x02000000UL #define PSR_V 0x10000000UL #define PSR_C 0x20000000UL #define PSR_Z 0x40000000UL From nobody Wed Feb 21 16:46:46 2024 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 4Tg2HB2myzz59vMK; Wed, 21 Feb 2024 16:46: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 4Tg2HB2FP3z4gXV; Wed, 21 Feb 2024 16:46:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708534006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K1lnpryqSIttJewclyC60koxvB+8I3MHFJeSjzrvnt0=; b=YLm196Kj2iw4s+rxWKjd6az/Lrh/InwBYgfM4iO0DpWGbTOd+0sRo+wGc4g1t0sqSolGa4 auT2Ty2mnnGVuM6NexP4BD5GyXEqdbgxGyQXFDSkgFMa+S863dAKkraHum2QuyOEP8Blw+ 4gh8lAbbdPiXrOYreRsTi+zvgjVA6OVOICVoYqojLWSTWNMr0+EyzRDZGHP+cvYfzFDc1e FvdEWW2bGfABCdxKVuLi0XkEMk/c6YgM7xgr7TefZq8noB98ujZuO5+ieQRbnGSFHnXVJ5 T4B9iIFhrlv50F1l5SQHf9bn53EvHKv3uJBUMcW/WeaXaeONoaIScq8qh2GDYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708534006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K1lnpryqSIttJewclyC60koxvB+8I3MHFJeSjzrvnt0=; b=q0u0QfyoXYqZ/sIqxv/XZGgFyexoLuMEalMcNJrqqrdcagXpVJHCMdIlAUPghLmiKlweTz T+y0V1aLwzCnVfr0IGx7b4ic2o6TUA3DHwImCXE3zccY5UMzJr42XGCkhxOMF3SiB3CiQY 66Qoh/4tzd7pjkkXfuhR1wUDGsK7s7ZgWELi7IxgY0p0VHWkUqk7Aof6l3WjtF7XpvoM6q orvrmG8ZyKtv3E+cl833drDilObaDjHKa/c08mhU/BCiaH5HtgRDgIYqOV8ySyR8QH7/Bc pCt4PsEbgbZZZfcKbpMaWArrGPZ7Gr2hW9UTR4Enz+2ECoDnWTAEwC0BQnclzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708534006; a=rsa-sha256; cv=none; b=QtnJRN7+S74CpFFoN2mxlxKEgWSAhrjVmiwSrjqdofwt1QY5x4XYCyzc7Uh9cOl7HgRsSA /az0i/2s4A76K2KQM699xMp0SR/UOK1C3waqfe3m+qi0is7nQxaxzbqgD/d2h04mtFBYAQ ElQJ0g268HsSCqoJNHi+UfszUF24Vf7lpucjUyE0o4hTNINYeptAcd4S+EVkN+1Sv4RO1u o8rY65PltuqRuVUEb9FGFwi1FVGPcHVMPa3mQ2NRU1G5kop6J/xKcBbB78buZA0dPO4bYu 14jBibk0cIsBdh0eXSrqtBZ95BjUkGCx7VhQAXwm0LPphM+SIrgOTdp7yLJPDQ== 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 4Tg2HB1HtFz19kB; Wed, 21 Feb 2024 16:46: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 41LGkkHd015078; Wed, 21 Feb 2024 16:46:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LGkk5p015075; Wed, 21 Feb 2024 16:46:46 GMT (envelope-from git) Date: Wed, 21 Feb 2024 16:46:46 GMT Message-Id: <202402211646.41LGkk5p015075@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: c81df1c11262 - main - iicbus/mux/pca954x: add support for PCA9546 I2C Switch 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c81df1c112621803abe6a43aa89238c830e86b72 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c81df1c112621803abe6a43aa89238c830e86b72 commit c81df1c112621803abe6a43aa89238c830e86b72 Author: Bjoern A. Zeeb AuthorDate: 2024-02-21 09:10:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-21 16:46:15 +0000 iicbus/mux/pca954x: add support for PCA9546 I2C Switch Add support for the 4 channel I2C switch from NXP by adding a new description struct and the list entries. Compared to x=[2345] which require code to support the INT, for this one no further changes are needed. Tested on: WHLE-LS1088A using a SPF+ MFC after: 1 week Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44009 --- sys/dev/iicbus/mux/pca954x.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/dev/iicbus/mux/pca954x.c b/sys/dev/iicbus/mux/pca954x.c index aebd55d6c311..befa0db39172 100644 --- a/sys/dev/iicbus/mux/pca954x.c +++ b/sys/dev/iicbus/mux/pca954x.c @@ -3,7 +3,7 @@ * * Copyright (c) 2019 Ian Lepore * Copyright (c) 2020-2021 Andriy Gapon - * Copyright (c) 2022 Bjoern A. Zeeb + * Copyright (c) 2022-2024 Bjoern A. Zeeb * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -69,6 +69,13 @@ static struct pca954x_descr pca9540_descr = { .enable = 0x04, }; +static struct pca954x_descr pca9546_descr = { + .partname = "pca9546", + .description = "PCA9546 I2C Switch", + .type = PCA954X_SW, + .numchannels = 4, +}; + static struct pca954x_descr pca9547_descr = { .partname = "pca9547", .description = "PCA9547 I2C Mux", @@ -87,6 +94,7 @@ static struct pca954x_descr pca9548_descr = { #ifdef FDT static struct ofw_compat_data compat_data[] = { { "nxp,pca9540", (uintptr_t)&pca9540_descr }, + { "nxp,pca9546", (uintptr_t)&pca9546_descr }, { "nxp,pca9547", (uintptr_t)&pca9547_descr }, { "nxp,pca9548", (uintptr_t)&pca9548_descr }, { NULL, 0 }, @@ -94,6 +102,7 @@ static struct ofw_compat_data compat_data[] = { #else static struct pca954x_descr *part_descrs[] = { &pca9540_descr, + &pca9546_descr, &pca9547_descr, &pca9548_descr, }; From nobody Wed Feb 21 17:23:10 2024 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 4Tg35S1cDDz59yyk for ; Wed, 21 Feb 2024 17:23:24 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (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 4Tg35R3d9Dz4mJn for ; Wed, 21 Feb 2024 17:23:23 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-3394b892691so3829327f8f.1 for ; Wed, 21 Feb 2024 09:23:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708536202; x=1709141002; 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=lfaz/mBcCkRHXE0Fbn5HIcxkL6EKby/AwuiGFignCOk=; b=W6RHzxPGod258mBZBGNy4JwdlMutNYBlVNWhv5j0hSeR7eZadusVTeJQiZ1FPpUiLN O4WJ12SGuN+8hp8LioiS6mBikpYjKd91BnaNAAiY0MRyUh18iHVwyAzPrzbMi4ESlXuw 95t1jy8D4DZ7VMM1A9C181bmna91F+QKgzcpwMQh44DCq0Tc1pkyJTqnOUIiFbszSaNh FSH1z2uSi7WbwbXLItQ6jzCdDzxOQ/v/H0ohHoTnI3CejNxxi4qxno1Zbd0U/cj9Lp3i JbKs5rIPrsU40b2qoOlnca744Hi39+Okg0LCe1PBoHBapV+SZ3KxlZX+VKd80NJR6owJ BBug== X-Forwarded-Encrypted: i=1; AJvYcCWpuwVMohuKSTdRx2H1jMV9dVqQmsea15Xv5R2WewV4/zFpVEBtx5A/y67TS2f3i71nxC7N2FuHdPiwG0jxYYF/ih1i+uhI0GL0+iwjsR9b X-Gm-Message-State: AOJu0YxfF7nGaie4RE6QrUfVGYo6pXl8GudOpxhkMOyJwM/sNwB5YTBw 69EkkC0M0gfXANU8qbKPfui4whLd3b9mkFyU3VwCtzaS2A8rE8rmTj/SkDycVITh4OiV+dIDHbi l X-Google-Smtp-Source: AGHT+IGTP4AHl49j7DhFU3z1V74cudhSGvHngciyNefkwSbP5r5mWpXWKRffo/TNvSxsQHD3IH89Qg== X-Received: by 2002:adf:e742:0:b0:33d:3e02:a5b0 with SMTP id c2-20020adfe742000000b0033d3e02a5b0mr135601wrn.11.1708536201650; Wed, 21 Feb 2024 09:23:21 -0800 (PST) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id o11-20020adfcf0b000000b0033b4dae972asm17489417wrj.37.2024.02.21.09.23.21 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Feb 2024 09:23:21 -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: 8271d9b99a3b - main - libsys: remove usage of pthread_once and _once_stub From: Jessica Clarke In-Reply-To: Date: Wed, 21 Feb 2024 17:23:10 +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: <4715B319-B7DE-4D06-9F27-00CFE5AF89A7@freebsd.org> References: <202402210029.41L0TOH5000231@gitrepo.freebsd.org> <964A29A2-4C51-4037-8EBE-320008D48AE0@freebsd.org> To: Konstantin Belousov X-Mailer: Apple Mail (2.3774.200.91.1.1) X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4Tg35R3d9Dz4mJn 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] On 21 Feb 2024, at 14:17, Konstantin Belousov = wrote: >=20 > On Wed, Feb 21, 2024 at 12:51:04AM +0000, Jessica Clarke wrote: >> On 21 Feb 2024, at 00:29, Konstantin Belousov = wrote: >>>=20 >>> The branch main has been updated by kib: >>>=20 >>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D8271d9b99a3b98c662ee9a6257a14428= 4b7e1728 >>>=20 >>> commit 8271d9b99a3b98c662ee9a6257a144284b7e1728 >>> Author: Konstantin Belousov >>> AuthorDate: 2024-02-20 14:45:29 +0000 >>> Commit: Konstantin Belousov >>> CommitDate: 2024-02-21 00:26:11 +0000 >>>=20 >>> libsys: remove usage of pthread_once and _once_stub >>>=20 >>> that existed in auxv.c, use simple bool gate instead. This leaves = a >>> small window if two threads try to call _elf_aux_info(3) = simultaneously. >>> The situation is safe because auxv parsing is really idempotent. = The >>> parsed data is the same, and we store atomic types (int/long/ptr) = so >>> double-init does not matter. >>=20 >> You still need to load acquire and store release aux_once though, >> otherwise you can see aux_once as true yet read the pre-initialised >> data. In practice that=E2=80=99s surely very hard to hit, but the = code as >> written is now wrong. Also, idempotence should probably be made >> unnecessary by using 0/1/2 state for uninitialised/initialising/ >> initialised, as it=E2=80=99s still technically UB from a C AM = perspective due >> to not being data race free if two threads initialise at the same = time. >> Better to just do the correct thing rather than risk things going = wrong. >=20 > There is too much to handle 'in process' state for loosing thread, I = need > the whole libthr machinery. What do you need libthr for? In pseudo-C: x =3D load_acquire(&aux_once) if (__predict_true(x =3D=3D 2)) return; if (x =3D=3D 1 || !compare_exchange_strong_acquire(&aux_once, &x, 1)) { while (x !=3D 2) { yield(); x =3D load_acquire(&aux_once) } return; } /* initialise as before */ store_release(&aux_once, 2); I believe that=E2=80=99s all you need. Or compare exchange 0 to 1 as the initial operation; makes the source code shorter at the expense of a more expensive fast path: x =3D 0; if (__predict_true(!compare_exchange_strong_acquire(&aux_once, &x, 1)) { while (__predict_false(x !=3D 2)) { yield(); x =3D load_acquire(&aux_once) } return; } /* initialise as before */ store_release(&aux_once, 2); I probably have bugs in the above, but you get the gist. > I added the fences, thanks for noting. Thanks. Jess > WRT being UB from pure C, we already have much more assumptions about > atomicity. From nobody Wed Feb 21 18:55:50 2024 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 4Tg586337Wz5B8FQ; Wed, 21 Feb 2024 18:55: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 4Tg5862TLhz3xXD; Wed, 21 Feb 2024 18:55:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708541750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CMHLT4eJFYkj/PeDIG0zRvsNg8ejY5ZY3w7Zvymn7Kk=; b=TqbU701OrU3iischBsA4ibdGaGNET2llz6zFxsjlfgZ7lEiI7Ptzh0rj5nAFSeccmiYMH+ 9oOxZZ7eCtiCc/xDp+8s5Ys8hRy7eS7ssKK8JNEEdwSgS8zCHstwuwUIftgdWHvLVpYP4g vx3k8YVNo/+/SDb9NHowx2uREgwgJwB0poebuziQZ88MAFhmGhWT0oxMH8oqFb1mW8W6d+ 9ieCuWnh9Gd2UlSbYsU5QQk00sfB+n5xUghLBiZQjkCkwXZxRNrnViHGsIJMBXivOBVD+4 0ySKioXAiU9ZUHMEfC49do/3H3kyXu4p41yDtK6zO3hse5o7wZAEokdrqe7E4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708541750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CMHLT4eJFYkj/PeDIG0zRvsNg8ejY5ZY3w7Zvymn7Kk=; b=cVVbVnTXkHqnDiZbIKW9Ti6oSHavwyxYm9128dAgG96+BiJqJbblXtMI9+k5DAE0jDnefL x3CXFNoCKaFR/c22lyktJfDvomqJTJ06XDNOiN1X6odAx/r4+NGoysf3pa3+utZN6vRn2J xkQRf/54JoIz3vCpY4cjpBWVIqz4SAyRlaWlkTChwDWvqZcSqStQpVPKpUAW59sdGHXP8m BoNg0wcmbQK0hdPkzYstFx8O1gU0vXOcTe/0UZ0pzj+rZyQ1LbOSXrq1bcjgia2D6pfc5K i2ZfvAfW62AjbRnuJwvT3RwqwjId03qxGDGt3dzmYOrYkZhsf4pOe9sl1VMnfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708541750; a=rsa-sha256; cv=none; b=wT1nQSH01CrR6oor9m/F3zJpcd1DSBSfcNZCQiZ/cKcYYsbPEjjno6OAm6KlfpESjPAqQk J2n+dvL86B9E+SKAr8OwA/t2Iy23n7r8sPk9b+NkLY4dWZ5X2QbOh8AS+rC8w8O2SfOFVP QH8wm+s5vnrzrrkRXIUIGoTu7rwwjzL4phAR+56ooTLWzGBHjbA889BiMkkNVC7xD4tkJ3 EA6gK8NXfxZWuJz4RBVaO/xLvuHjnhPgG4efS/anyDrfE2QkIpVmQyeWUk99Zi9mDoOBNR tlC59ZQKtPgJ1kxs+RIKR3oQayIQlWYvB7dzF8CspWTRfKSdBa/mb0CcARP8hg== 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 4Tg5861HJHz1F6m; Wed, 21 Feb 2024 18:55: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 41LIto4N033435; Wed, 21 Feb 2024 18:55:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LItoqE033432; Wed, 21 Feb 2024 18:55:50 GMT (envelope-from git) Date: Wed, 21 Feb 2024 18:55:50 GMT Message-Id: <202402211855.41LItoqE033432@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: 09ac9cf8971a - main - arm64: Add ISS_MSR_REG for ESR_ELx.ISS values 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: 09ac9cf8971a0709bb8d5a3a703cd3dbff882b6f Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=09ac9cf8971a0709bb8d5a3a703cd3dbff882b6f commit 09ac9cf8971a0709bb8d5a3a703cd3dbff882b6f Author: Andrew Turner AuthorDate: 2024-02-21 18:10:19 +0000 Commit: Andrew Turner CommitDate: 2024-02-21 18:55:32 +0000 arm64: Add ISS_MSR_REG for ESR_ELx.ISS values Add a macro to get the ESR_ELx ISS value when we trap accessing a special register. --- sys/arm64/include/armreg.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 46d13d253746..41ab55a49c76 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -365,6 +365,12 @@ #define ISS_MSR_REG_MASK \ (ISS_MSR_OP0_MASK | ISS_MSR_OP2_MASK | ISS_MSR_OP1_MASK | \ ISS_MSR_CRn_MASK | ISS_MSR_CRm_MASK) +#define ISS_MSR_REG(reg) \ + (((reg ## _op0) << ISS_MSR_OP0_SHIFT) | \ + ((reg ## _op1) << ISS_MSR_OP1_SHIFT) | \ + ((reg ## _CRn) << ISS_MSR_CRn_SHIFT) | \ + ((reg ## _CRm) << ISS_MSR_CRm_SHIFT) | \ + ((reg ## _op2) << ISS_MSR_OP2_SHIFT)) #define ISS_DATA_ISV_SHIFT 24 #define ISS_DATA_ISV (0x01 << ISS_DATA_ISV_SHIFT) From nobody Wed Feb 21 18:55:51 2024 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 4Tg58743FGz5B8KG; Wed, 21 Feb 2024 18:55: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 4Tg5872jcwz3xfm; Wed, 21 Feb 2024 18:55:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708541751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5AP3sQLPYBr9WNzcqaL3MSrswUmsAfiUDxhLNaYJC84=; b=q2TakAQyT3IsVy97gV2hNVYs6k+EoE1NF8BcpZHDJ/C2cs7TSglO6y/AS43RitAhgYS/oa AirSsBkih1eDaZY6OTxvxQMMj4xkW1cIOkmF3p78wsAxmE1xfiU2K1VuRLXAOnMlLXUsM1 p2xxCwkK9R8+HUdnZcqOdMVQknV1U/QtPp9CgNO5nER0JOsBbh11hBPSdwUCL1V2JqVYN2 CUa6zl9h9vgXRLTabgH/t3TGZe5YpsEzWeOmTkgxipcQHzB0anhcTCFa1r9Qysqs+78lZ/ S8kqLT+DCEeOWlW4lM9sslWwjMvoDgT3GjGwLYUEC1bIQs1pP6sZR0Utc2+78g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708541751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5AP3sQLPYBr9WNzcqaL3MSrswUmsAfiUDxhLNaYJC84=; b=A27h50PGdI6GnpN2VeZIAAN3Oq9w/Qea9ZNezLAhcRPn1FW6Wy/7iiwVNF3kQbYi8UwD+h gl6P3/jg1Z2kXVrbDVf5T2ZVc7pvmJ7eTzWQa7+PG3VxlVNi8eP0PZfFsB8EGep7DVH+LP tdD87DGTDvgFYI9s9dlVJaozufllr0oFmrzCyiOe//Jb1DX6gkwwUkbDu6X2v9wP7QiAnI DRsMYLfljCq+PVFE0JN8iQKkbcRmnJGAkpVxdQdBkYOZIY5WeKmc8iXzRNfCNUKariWIoT QHB8rM//hW7BcYbDzU5uc8VUCuEZ5VWb2fdshqpUpaWRHCFlcxgKlgI5QvYQEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708541751; a=rsa-sha256; cv=none; b=jNgKj7ZUzwchxbJ2pjKb0IoF63ofi2tV/Lz/tM8GGbXVfXn2F6DeWVZ7ksd3SV1w0SxlVm 9hhzbemOeII0C6GYHSozMQ81GYGkFVrAmonsFjRXWOUi0zNkCXp7GtY21ktV2xEDhiCaSE cY+zmfw+1E8vvAHTNqVbK2RV4rYYs1HU73plwevRJexH2OVAqFtCuqklBuD1Kjyn5DU5Sq do/ebeFpk9YgLMlk2TwEB2OqQ6lnWqZ/bxT1Q8jCEay+53R3xvTFI1dqlcrnzDCfpgLid+ 4u8ZVOwJx7mp1m6v1sAoK0iOlQCyAzPi85WhWCnL/+syztppKb938qvqgWSHgQ== 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 4Tg5871ldcz1Dw6; Wed, 21 Feb 2024 18:55: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 41LItpRG033477; Wed, 21 Feb 2024 18:55:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LItpuu033474; Wed, 21 Feb 2024 18:55:51 GMT (envelope-from git) Date: Wed, 21 Feb 2024 18:55:51 GMT Message-Id: <202402211855.41LItpuu033474@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: 9c52f98c9f1a - main - arm64: Add the TCR_EL2.PS mask 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: 9c52f98c9f1abfe6577335522b6007659f759adc Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9c52f98c9f1abfe6577335522b6007659f759adc commit 9c52f98c9f1abfe6577335522b6007659f759adc Author: Andrew Turner AuthorDate: 2024-02-21 18:16:43 +0000 Commit: Andrew Turner CommitDate: 2024-02-21 18:55:32 +0000 arm64: Add the TCR_EL2.PS mask --- sys/arm64/include/hypervisor.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index 589d6e9cbdbe..18f173c77720 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -169,6 +169,7 @@ #define TCR_EL2_TG0_64K (0x1UL << TCR_EL2_TG0_SHIFT) #define TCR_EL2_TG0_16K (0x2UL << TCR_EL2_TG0_SHIFT) #define TCR_EL2_PS_SHIFT 16 +#define TCR_EL2_PS_MASK (0xfUL << TCR_EL2_PS_SHIFT) #define TCR_EL2_PS_32BITS (0UL << TCR_EL2_PS_SHIFT) #define TCR_EL2_PS_36BITS (1UL << TCR_EL2_PS_SHIFT) #define TCR_EL2_PS_40BITS (2UL << TCR_EL2_PS_SHIFT) From nobody Wed Feb 21 18:55:52 2024 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 4Tg5884fGVz5B8KM; Wed, 21 Feb 2024 18:55: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 4Tg5883HRWz3xnP; Wed, 21 Feb 2024 18:55:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708541752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nLhLXfW3liWWFTD8jdPRWb5Jcqw3+FAn4NoRi/CxWro=; b=NEQseQlqcSS8BLGyUJB9eOpkJBvgJ6AfIFOjYDqxRnX8QoXT7Rrd/hDByacGhRI9PrgI5R M2Y9WZ8ECzdfpFyI4jxOQBnLvU8CUGKsfeQqmb1IfQM2EI3WAWd0YC8bL/BShUfcDZRgLe r5Pqm6G+6x+V8z8C4Ic1rxHY5BW90Cx42IsHWNHFllPn3DTXwaNVMTwVpApto1JFAyjl/V wkkA6fm+8E9F2VeswJVL4hgmpbrEwhW/8JH7Airxi2quClYzF5K4ysWYG7ehgXg2Xc1hvU BOqpMvv6Ib5MmEEhfwcDVFib3z8x6voQ0uuIL/X28+TiwJrbD63WV9IDGsSNcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708541752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nLhLXfW3liWWFTD8jdPRWb5Jcqw3+FAn4NoRi/CxWro=; b=hTgAHXQLYs+nJ5aY/65Pz9pN2iEnJh7ZwT635cqTfe32VUIujXX4wnIW7Qu+9BKDfCFhX9 F3o9LzDNV5s4A3K6WGDhMb5q3ad/lrV/1/x4pqWI6RvfOzvrTaCF5P20IRKLEMD/7TcUkN guCObzIPmSSx5t7wzBpEvut7qnNTCa3A0E7K6LJx9EX4nvo9bFEiaDjNr3chRNeyhI2byw 4QK/Nwgc1ANoshNJzUbReCSScKUqtMy7BQjkAdRYG62LPB0kc9Q95U5dpLrswlJU/aSqBJ 7lvgxCYbT+bnIUMcw6il93dL/IGfYwFwH5VGbVE8UVt345u/HDclf3iwfeCKRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708541752; a=rsa-sha256; cv=none; b=TEo3r8apQE6mf95T+OVkREN6fH3wtNGQjHOfbD8FcW2k5KcnZcLVu6rJG4bB7W5swXrEY8 uFytDNHho0EZGJvugnv+yXTsOCxeirgmrNk429tN/f+wpWtGxRsc/lKFGupuYeCa9RUTSE cN52pTOugUXMv+fQiMQmyyIUDFEQwMKBf47/0b/OQQlqycJ86jDQw5z2/7XHLf7rtAgxXH Ecugh5FuZFZHPSV+mkwD4CpDAAMAOq0Vjs3y/Q31mBx8pIbyh6EMqFpG8SsIB+8bExIOpC 3Iomol2hFFUOMqs6oEI3J+d7PhIO8rTgMTzK9E9NYW0N0qH8qlj4DL5xkGFn+Q== 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 4Tg5882PJpz1Dyw; Wed, 21 Feb 2024 18:55: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 41LItqq7033534; Wed, 21 Feb 2024 18:55:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LItq0g033531; Wed, 21 Feb 2024 18:55:52 GMT (envelope-from git) Date: Wed, 21 Feb 2024 18:55:52 GMT Message-Id: <202402211855.41LItq0g033531@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: b3bbec37ba03 - main - arm64: Add a macro to find a VM fault address 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: b3bbec37ba039a46f7166f6fa3571f38da4253e9 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b3bbec37ba039a46f7166f6fa3571f38da4253e9 commit b3bbec37ba039a46f7166f6fa3571f38da4253e9 Author: Andrew Turner AuthorDate: 2024-02-21 18:17:47 +0000 Commit: Andrew Turner CommitDate: 2024-02-21 18:55:32 +0000 arm64: Add a macro to find a VM fault address Add a macro to find which bits from far_el2 are needed to be copied to get the full intermediate physical address (IPA). The hpfar_el2 register only contains a 4k aligned fault address. We need to include the lower bits from far_el2 if we need the full faulting IPA. --- sys/arm64/include/hypervisor.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index 18f173c77720..85ac5cda7037 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -126,6 +126,8 @@ /* HPFAR_EL2_FIPA holds the 4k page address */ #define HPFAR_EL2_FIPA_ADDR(x) \ (HPFAR_EL2_FIPA_GET(x) << 12) +/* The bits from FAR_EL2 we need to add to HPFAR_EL2_FIPA_ADDR */ +#define FAR_EL2_HPFAR_PAGE_MASK (0xffful) /* ICC_SRE_EL2 */ #define ICC_SRE_EL2_SRE (1UL << 0) From nobody Wed Feb 21 18:55:53 2024 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 4Tg5895ZVnz5B85N; Wed, 21 Feb 2024 18:55: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 4Tg5893xMtz3xjf; Wed, 21 Feb 2024 18:55:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708541753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yqMoX48H2og7iN+0Y/KOmJkpfULM4OJxDWC70DOYUtQ=; b=bX2WBQ1grGW3G4tJ6otCXv/huvt28Mj1V3eqNnNyXa6RmL2HNs/65LOQNl4M5345ZCAN9N 3lV/unWjwl9gknBDVlDHWHY0kdxp+9tFSuDZaOdHl9hnXQiFrLAB89QIm0Fly1omF+AmNN tHI17ECvdSF1fyXzOQQwur/1nB6bfaRI/CJYfzFg1SnLqtLJTjXmUOTxdzcFiWcCg7djXT ntDs++d4H4EtKFwFn9/UcUTPEcWdLfIc072vVXMef32FPfFOnJartkXJ7m6W760zXkkXv/ iBAM/gw3fQRpRbaPprS1MNuy2ntM27/jTLP0I4P24eFgBAI50IStx204rD9MUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708541753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yqMoX48H2og7iN+0Y/KOmJkpfULM4OJxDWC70DOYUtQ=; b=QFBmQfK2GtVZoFByh2y3VVAe2m35SSCOi6n8VsnGBwN7WYchUu/jpv/gwJnPhqbDl5BKV3 krZ7LMswKwCm3oB1lC9tAQCtoiR1SRNRD6LpmA3+PZbfTDuKjMiUhsx2g6wUS04VgrTXH2 +H+ZsjJ8KWRts3EAUWw4mH4f12ZA5dyQ4h3aS1G3hcHkX4xUu2skdwuP3IsMIFGyhL4Eoh bsxqNN1tOG9OtDL8ORjWE6xV1ukFvC5k4Iioje5Y4WVCi7K4BYuVpmcWN59JCPz3Frm6YB s/roU3MgcOMSnvPti1ekcTdXfc2iSNz2LkKOLPOFG9B4/YkIw9wSKd6ZLhvlng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708541753; a=rsa-sha256; cv=none; b=Bs6h4G7s6oyDJzJW4D85ulz9t/PLQgV4CJkqJ8Aetm0qCYDRHv0rSivBuAU/yNNTwNEWg7 LxdE5ddYDPXK4JcLGuLITMwW4QaTUeDBXoDxBbYfc692goDP/mmp/REhMMBQOAcK1JIQwG HKBlwdvbTPjdwXKT3r6nLCh03UuU/CDJVfAxRcg9UZCnlLc1nJ6AtbwQqWUyFrOLggzxLf llhf8juOj4l3h/KSW8vaUrX3eevg5sd2HsAmpUeBhDS0T7bCOKoTK3mXTpeBo7TNtwBZiJ M8vdNV0oqak7xJ/zygW0fp2EmPvAN0hZtdui13pGxqGLd5hXkWTojCjLWVUsfg== 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 4Tg5892zK9z1Dkg; Wed, 21 Feb 2024 18:55: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 41LItrB7033591; Wed, 21 Feb 2024 18:55:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LItrK1033588; Wed, 21 Feb 2024 18:55:53 GMT (envelope-from git) Date: Wed, 21 Feb 2024 18:55:53 GMT Message-Id: <202402211855.41LItrK1033588@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: 0f4071978e3d - main - arm64: Add TF_LR, it will be used by bhyve 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f4071978e3dae6637d4988212661164115f6be8 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0f4071978e3dae6637d4988212661164115f6be8 commit 0f4071978e3dae6637d4988212661164115f6be8 Author: Andrew Turner AuthorDate: 2024-02-21 18:24:04 +0000 Commit: Andrew Turner CommitDate: 2024-02-21 18:55:32 +0000 arm64: Add TF_LR, it will be used by bhyve asm --- sys/arm64/arm64/genassym.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/arm64/genassym.c b/sys/arm64/arm64/genassym.c index 2907dd2081a7..c4f52ae61a77 100644 --- a/sys/arm64/arm64/genassym.c +++ b/sys/arm64/arm64/genassym.c @@ -71,6 +71,7 @@ ASSYM(TD_MD_CANARY, offsetof(struct thread, td_md.md_canary)); ASSYM(TF_SIZE, sizeof(struct trapframe)); ASSYM(TF_SP, offsetof(struct trapframe, tf_sp)); +ASSYM(TF_LR, offsetof(struct trapframe, tf_lr)); ASSYM(TF_ELR, offsetof(struct trapframe, tf_elr)); ASSYM(TF_SPSR, offsetof(struct trapframe, tf_spsr)); ASSYM(TF_ESR, offsetof(struct trapframe, tf_esr)); From nobody Wed Feb 21 18:55:54 2024 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 4Tg58B6hSkz5B8GY; Wed, 21 Feb 2024 18:55: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 4Tg58B5VnWz3xgM; Wed, 21 Feb 2024 18:55:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708541754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qfmS8gzRtzID0WHWufW3G/UJiYrHZg11OEj/y286Qjk=; b=Y0ubnYYEFoBcjxb92iHFIZ568BimmGy4EfarOZ42DXmaaiR3CT6P5aJ/RYfQ/QN2pMvfid Kjv5feSIyFFY3lQEQiYD4hTImJQUFBeS0XAdk+5ajm75IJy1iZt0BMSGe21mTuhEFrtWjp E6FI+gwbrUJTW7Lkc9jbxqYRGdBfecVDA54WNUBTAtrfQphan2b9QuGFyYR1qdnT4oc1cp hEqJY9vhR6F+P5mSie/WNmMTV4KcD6Pwouh6VsF6pxZ6qdcFVuRSVhS1FLF8d0yLjYpkaz TqVFz3H2F8ax0L9kw4xmASXatvI2tJ3KSj1ycT3C91qBuPDNNKPdeg1cPXo2Zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708541754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qfmS8gzRtzID0WHWufW3G/UJiYrHZg11OEj/y286Qjk=; b=FYXuGPlLgOCKgXw7rSG6yH8H+fBwf+wvTAxEkKdBVSr37nP0lyOolZlLvU7H5w4U2Z3ure Q4bVjTRS39va1ikHxBwT/8HgURWLCHIR/2Vla6TwBvlQvBtLpdo/rl3xwAeSC83UD2BVmY YCchhMypyP2etu2yWMbtUe6hOrGX5qWN1LePESZnsDirHd2+YHbl47BmgLYW+tJl1sqHKI 41NTscTBkhcaqWMAMnqTz4Jrs0luQfqP8p8cbumwGZ2HkaufhzKc+pGYcgth0Emh969CjT kWAZZFcam2I/ENGeA9vI4gMKo1+M8u2Vvgxc35lFx4aN6ugxV3Fd1SeEwZLFvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708541754; a=rsa-sha256; cv=none; b=IVLzFYaXtpv1KtbscpOoln+GbWIkaV/bN8VqHFa98gR3E3N6cgayemVkZQOwFfBaUGvLIA aHv6xibjmJXthXgIimXyEvK7DhAuOKtUJMa1BOB30DC9gXnwflM3imAeWilI/CF+6do5cP UDxhoblLdEcUm9yWEpdvZkO6K6CwQxcl5scf6RH8cdxZIKm6R9R1e01e/3IXqVjA4IGMJq EHUJdewnWa3JOYWnr9mYVceVV/7CVOxmzoNMYHyGOzZGGZYoIppL7BHKElkySh5U0ZpPXv 56gBL1OvX6RRGcVzpaJ9iM3iSoyc87b25sCTWGb4OgMguKYRsztxrL79EXV9NA== 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 4Tg58B4bp0z1Dw7; Wed, 21 Feb 2024 18:55: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 41LItsiE033637; Wed, 21 Feb 2024 18:55:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LItsm2033633; Wed, 21 Feb 2024 18:55:54 GMT (envelope-from git) Date: Wed, 21 Feb 2024 18:55:54 GMT Message-Id: <202402211855.41LItsm2033633@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: 47e073941f4e - main - Import the kernel parts of bhyve/arm64 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: 47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b commit 47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b Author: Andrew Turner AuthorDate: 2024-01-09 15:22:27 +0000 Commit: Andrew Turner CommitDate: 2024-02-21 18:55:32 +0000 Import the kernel parts of bhyve/arm64 To support virtual machines on arm64 add the vmm code. This is based on earlier work by Mihai Carabas and Alexandru Elisei at University Politehnica of Bucharest, with further work by myself and Mark Johnston. All AArch64 CPUs should work, however only the GICv3 interrupt controller is supported. There is initial support to allow the GICv2 to be supported in the future. Only pure Armv8.0 virtualisation is supported, the Virtualization Host Extensions are not currently used. With a separate userspace patch and U-Boot port FreeBSD guests are able to boot to multiuser mode, and the hypervisor can be tested with the kvm unit tests. Linux partially boots, but hangs before entering userspace. Other operating systems are untested. Sponsored by: Arm Ltd Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation Sponsored by: University Politehnica of Bucharest Differential Revision: https://reviews.freebsd.org/D37428 --- sys/arm64/include/vmm.h | 362 +++++ sys/arm64/include/vmm_dev.h | 272 ++++ sys/arm64/include/vmm_instruction_emul.h | 83 ++ sys/arm64/include/vmm_snapshot.h | 1 + sys/arm64/vmm/arm64.h | 165 +++ sys/arm64/vmm/hyp.h | 114 ++ sys/arm64/vmm/io/vgic.c | 122 ++ sys/arm64/vmm/io/vgic.h | 52 + sys/arm64/vmm/io/vgic_if.m | 104 ++ sys/arm64/vmm/io/vgic_v3.c | 2348 ++++++++++++++++++++++++++++++ sys/arm64/vmm/io/vgic_v3.h | 57 + sys/arm64/vmm/io/vgic_v3_reg.h | 129 ++ sys/arm64/vmm/io/vtimer.c | 503 +++++++ sys/arm64/vmm/io/vtimer.h | 85 ++ sys/arm64/vmm/mmu.h | 52 + sys/arm64/vmm/reset.h | 33 + sys/arm64/vmm/vmm.c | 1803 +++++++++++++++++++++++ sys/arm64/vmm/vmm_arm64.c | 1337 +++++++++++++++++ sys/arm64/vmm/vmm_call.S | 39 + sys/arm64/vmm/vmm_dev.c | 1054 ++++++++++++++ sys/arm64/vmm/vmm_hyp.c | 735 ++++++++++ sys/arm64/vmm/vmm_hyp_el2.S | 39 + sys/arm64/vmm/vmm_hyp_exception.S | 384 +++++ sys/arm64/vmm/vmm_instruction_emul.c | 102 ++ sys/arm64/vmm/vmm_ktr.h | 69 + sys/arm64/vmm/vmm_mmu.c | 430 ++++++ sys/arm64/vmm/vmm_reset.c | 177 +++ sys/arm64/vmm/vmm_stat.c | 165 +++ sys/arm64/vmm/vmm_stat.h | 145 ++ sys/conf/files.arm64 | 33 + sys/conf/ldscript.arm64 | 2 + sys/conf/options.arm64 | 3 + sys/modules/Makefile | 2 + sys/modules/vmm/Makefile | 78 +- 34 files changed, 11066 insertions(+), 13 deletions(-) diff --git a/sys/arm64/include/vmm.h b/sys/arm64/include/vmm.h new file mode 100644 index 000000000000..8e2c9c868635 --- /dev/null +++ b/sys/arm64/include/vmm.h @@ -0,0 +1,362 @@ +/* + * Copyright (C) 2015 Mihai Carabas + * 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. + * + * 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. + */ + +#ifndef _VMM_H_ +#define _VMM_H_ + +#include +#include +#include +#include + +#include "pte.h" +#include "pmap.h" + +struct vcpu; + +enum vm_suspend_how { + VM_SUSPEND_NONE, + VM_SUSPEND_RESET, + VM_SUSPEND_POWEROFF, + VM_SUSPEND_HALT, + VM_SUSPEND_LAST +}; + +/* + * Identifiers for architecturally defined registers. + */ +enum vm_reg_name { + VM_REG_GUEST_X0 = 0, + VM_REG_GUEST_X1, + VM_REG_GUEST_X2, + VM_REG_GUEST_X3, + VM_REG_GUEST_X4, + VM_REG_GUEST_X5, + VM_REG_GUEST_X6, + VM_REG_GUEST_X7, + VM_REG_GUEST_X8, + VM_REG_GUEST_X9, + VM_REG_GUEST_X10, + VM_REG_GUEST_X11, + VM_REG_GUEST_X12, + VM_REG_GUEST_X13, + VM_REG_GUEST_X14, + VM_REG_GUEST_X15, + VM_REG_GUEST_X16, + VM_REG_GUEST_X17, + VM_REG_GUEST_X18, + VM_REG_GUEST_X19, + VM_REG_GUEST_X20, + VM_REG_GUEST_X21, + VM_REG_GUEST_X22, + VM_REG_GUEST_X23, + VM_REG_GUEST_X24, + VM_REG_GUEST_X25, + VM_REG_GUEST_X26, + VM_REG_GUEST_X27, + VM_REG_GUEST_X28, + VM_REG_GUEST_X29, + VM_REG_GUEST_LR, + VM_REG_GUEST_SP, + VM_REG_GUEST_PC, + VM_REG_GUEST_CPSR, + + VM_REG_GUEST_SCTLR_EL1, + VM_REG_GUEST_TTBR0_EL1, + VM_REG_GUEST_TTBR1_EL1, + VM_REG_GUEST_TCR_EL1, + VM_REG_GUEST_TCR2_EL1, + VM_REG_LAST +}; + +#define VM_INTINFO_VECTOR(info) ((info) & 0xff) +#define VM_INTINFO_DEL_ERRCODE 0x800 +#define VM_INTINFO_RSVD 0x7ffff000 +#define VM_INTINFO_VALID 0x80000000 +#define VM_INTINFO_TYPE 0x700 +#define VM_INTINFO_HWINTR (0 << 8) +#define VM_INTINFO_NMI (2 << 8) +#define VM_INTINFO_HWEXCEPTION (3 << 8) +#define VM_INTINFO_SWINTR (4 << 8) + +#define VM_MAX_SUFFIXLEN 15 + +#define VM_GUEST_BASE_IPA 0x80000000UL /* Guest kernel start ipa */ + +#ifdef _KERNEL + +#define VM_MAX_NAMELEN 32 + +struct vm; +struct vm_exception; +struct vm_exit; +struct vm_run; +struct vm_object; +struct vm_guest_paging; +struct vm_vgic_descr; +struct pmap; + +struct vm_eventinfo { + void *rptr; /* rendezvous cookie */ + int *sptr; /* suspend cookie */ + int *iptr; /* reqidle cookie */ +}; + +int vm_create(const char *name, struct vm **retvm); +struct vcpu *vm_alloc_vcpu(struct vm *vm, int vcpuid); +void vm_slock_vcpus(struct vm *vm); +void vm_unlock_vcpus(struct vm *vm); +void vm_destroy(struct vm *vm); +int vm_reinit(struct vm *vm); +const char *vm_name(struct vm *vm); + +/* + * APIs that modify the guest memory map require all vcpus to be frozen. + */ +void vm_slock_memsegs(struct vm *vm); +void vm_xlock_memsegs(struct vm *vm); +void vm_unlock_memsegs(struct vm *vm); +int vm_mmap_memseg(struct vm *vm, vm_paddr_t gpa, int segid, vm_ooffset_t off, + size_t len, int prot, int flags); +int vm_munmap_memseg(struct vm *vm, vm_paddr_t gpa, size_t len); +int vm_alloc_memseg(struct vm *vm, int ident, size_t len, bool sysmem); +void vm_free_memseg(struct vm *vm, int ident); + +/* + * APIs that inspect the guest memory map require only a *single* vcpu to + * be frozen. This acts like a read lock on the guest memory map since any + * modification requires *all* vcpus to be frozen. + */ +int vm_mmap_getnext(struct vm *vm, vm_paddr_t *gpa, int *segid, + vm_ooffset_t *segoff, size_t *len, int *prot, int *flags); +int vm_get_memseg(struct vm *vm, int ident, size_t *len, bool *sysmem, + struct vm_object **objptr); +vm_paddr_t vmm_sysmem_maxaddr(struct vm *vm); +void *vm_gpa_hold(struct vcpu *vcpu, vm_paddr_t gpa, size_t len, + int prot, void **cookie); +void *vm_gpa_hold_global(struct vm *vm, vm_paddr_t gpa, size_t len, + int prot, void **cookie); +void vm_gpa_release(void *cookie); +bool vm_mem_allocated(struct vcpu *vcpu, vm_paddr_t gpa); + +int vm_gla2gpa_nofault(struct vcpu *vcpu, struct vm_guest_paging *paging, + uint64_t gla, int prot, uint64_t *gpa, int *is_fault); + +uint16_t vm_get_maxcpus(struct vm *vm); +void vm_get_topology(struct vm *vm, uint16_t *sockets, uint16_t *cores, + uint16_t *threads, uint16_t *maxcpus); +int vm_set_topology(struct vm *vm, uint16_t sockets, uint16_t cores, + uint16_t threads, uint16_t maxcpus); +int vm_get_register(struct vcpu *vcpu, int reg, uint64_t *retval); +int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val); +int vm_run(struct vcpu *vcpu); +int vm_suspend(struct vm *vm, enum vm_suspend_how how); +void* vm_get_cookie(struct vm *vm); +int vcpu_vcpuid(struct vcpu *vcpu); +void *vcpu_get_cookie(struct vcpu *vcpu); +struct vm *vcpu_vm(struct vcpu *vcpu); +struct vcpu *vm_vcpu(struct vm *vm, int cpu); +int vm_get_capability(struct vcpu *vcpu, int type, int *val); +int vm_set_capability(struct vcpu *vcpu, int type, int val); +int vm_activate_cpu(struct vcpu *vcpu); +int vm_suspend_cpu(struct vm *vm, struct vcpu *vcpu); +int vm_resume_cpu(struct vm *vm, struct vcpu *vcpu); +int vm_inject_exception(struct vcpu *vcpu, uint64_t esr, uint64_t far); +int vm_attach_vgic(struct vm *vm, struct vm_vgic_descr *descr); +int vm_assert_irq(struct vm *vm, uint32_t irq); +int vm_deassert_irq(struct vm *vm, uint32_t irq); +int vm_raise_msi(struct vm *vm, uint64_t msg, uint64_t addr, int bus, int slot, + int func); +struct vm_exit *vm_exitinfo(struct vcpu *vcpu); +void vm_exit_suspended(struct vcpu *vcpu, uint64_t pc); +void vm_exit_debug(struct vcpu *vcpu, uint64_t pc); +void vm_exit_rendezvous(struct vcpu *vcpu, uint64_t pc); +void vm_exit_astpending(struct vcpu *vcpu, uint64_t pc); + +cpuset_t vm_active_cpus(struct vm *vm); +cpuset_t vm_debug_cpus(struct vm *vm); +cpuset_t vm_suspended_cpus(struct vm *vm); + +static __inline bool +virt_enabled(void) +{ + + return (has_hyp()); +} + +static __inline int +vcpu_rendezvous_pending(struct vm_eventinfo *info) +{ + + return (*((uintptr_t *)(info->rptr)) != 0); +} + +static __inline int +vcpu_suspended(struct vm_eventinfo *info) +{ + + return (*info->sptr); +} + +int vcpu_debugged(struct vcpu *vcpu); + +enum vcpu_state { + VCPU_IDLE, + VCPU_FROZEN, + VCPU_RUNNING, + VCPU_SLEEPING, +}; + +int vcpu_set_state(struct vcpu *vcpu, enum vcpu_state state, bool from_idle); +enum vcpu_state vcpu_get_state(struct vcpu *vcpu, int *hostcpu); + +static int __inline +vcpu_is_running(struct vcpu *vcpu, int *hostcpu) +{ + return (vcpu_get_state(vcpu, hostcpu) == VCPU_RUNNING); +} + +#ifdef _SYS_PROC_H_ +static int __inline +vcpu_should_yield(struct vcpu *vcpu) +{ + struct thread *td; + + td = curthread; + return (td->td_ast != 0 || td->td_owepreempt != 0); +} +#endif + +void *vcpu_stats(struct vcpu *vcpu); +void vcpu_notify_event(struct vcpu *vcpu); + +enum vm_reg_name vm_segment_name(int seg_encoding); + +struct vm_copyinfo { + uint64_t gpa; + size_t len; + void *hva; + void *cookie; +}; + +#endif /* _KERNEL */ + +#define VM_DIR_READ 0 +#define VM_DIR_WRITE 1 + +#define VM_GP_M_MASK 0x1f +#define VM_GP_MMU_ENABLED (1 << 5) + +struct vm_guest_paging { + uint64_t ttbr0_addr; + uint64_t ttbr1_addr; + uint64_t tcr_el1; + uint64_t tcr2_el1; + int flags; + int padding; +}; + +struct vie { + uint8_t access_size:4, sign_extend:1, dir:1, unused:2; + enum vm_reg_name reg; +}; + +struct vre { + uint32_t inst_syndrome; + uint8_t dir:1, unused:7; + enum vm_reg_name reg; +}; + +/* + * Identifiers for optional vmm capabilities + */ +enum vm_cap_type { + VM_CAP_HALT_EXIT, + VM_CAP_MTRAP_EXIT, + VM_CAP_PAUSE_EXIT, + VM_CAP_UNRESTRICTED_GUEST, + VM_CAP_MAX +}; + +enum vm_exitcode { + VM_EXITCODE_BOGUS, + VM_EXITCODE_INST_EMUL, + VM_EXITCODE_REG_EMUL, + VM_EXITCODE_HVC, + VM_EXITCODE_SUSPENDED, + VM_EXITCODE_HYP, + VM_EXITCODE_WFI, + VM_EXITCODE_PAGING, + VM_EXITCODE_SMCCC, + VM_EXITCODE_DEBUG, + VM_EXITCODE_MAX +}; + +struct vm_exit { + enum vm_exitcode exitcode; + int inst_length; + uint64_t pc; + union { + /* + * ARM specific payload. + */ + struct { + uint32_t exception_nr; + uint32_t pad; + uint64_t esr_el2; /* Exception Syndrome Register */ + uint64_t far_el2; /* Fault Address Register */ + uint64_t hpfar_el2; /* Hypervisor IPA Fault Address Register */ + } hyp; + struct { + struct vre vre; + } reg_emul; + struct { + uint64_t gpa; + uint64_t esr; + } paging; + struct { + uint64_t gpa; + struct vm_guest_paging paging; + struct vie vie; + } inst_emul; + + /* + * A SMCCC call, e.g. starting a core via PSCI. + * Further arguments can be read by asking the kernel for + * all register values. + */ + struct { + uint64_t func_id; + uint64_t args[7]; + } smccc_call; + + struct { + enum vm_suspend_how how; + } suspended; + } u; +}; + +#endif /* _VMM_H_ */ diff --git a/sys/arm64/include/vmm_dev.h b/sys/arm64/include/vmm_dev.h new file mode 100644 index 000000000000..9e229665a71e --- /dev/null +++ b/sys/arm64/include/vmm_dev.h @@ -0,0 +1,272 @@ +/* + * Copyright (C) 2015 Mihai Carabas + * 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. + * + * 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. + */ + +#ifndef _VMM_DEV_H_ +#define _VMM_DEV_H_ + +#ifdef _KERNEL +void vmmdev_init(void); +int vmmdev_cleanup(void); +#endif + +struct vm_memmap { + vm_paddr_t gpa; + int segid; /* memory segment */ + vm_ooffset_t segoff; /* offset into memory segment */ + size_t len; /* mmap length */ + int prot; /* RWX */ + int flags; +}; +#define VM_MEMMAP_F_WIRED 0x01 + +struct vm_munmap { + vm_paddr_t gpa; + size_t len; +}; + +#define VM_MEMSEG_NAME(m) ((m)->name[0] != '\0' ? (m)->name : NULL) +struct vm_memseg { + int segid; + size_t len; + char name[VM_MAX_SUFFIXLEN + 1]; +}; + +struct vm_register { + int cpuid; + int regnum; /* enum vm_reg_name */ + uint64_t regval; +}; + +struct vm_register_set { + int cpuid; + unsigned int count; + const int *regnums; /* enum vm_reg_name */ + uint64_t *regvals; +}; + +struct vm_run { + int cpuid; + cpuset_t *cpuset; /* CPU set storage */ + size_t cpusetsize; + struct vm_exit *vm_exit; +}; + +struct vm_exception { + int cpuid; + uint64_t esr; + uint64_t far; +}; + +struct vm_msi { + uint64_t msg; + uint64_t addr; + int bus; + int slot; + int func; +}; + +struct vm_capability { + int cpuid; + enum vm_cap_type captype; + int capval; + int allcpus; +}; + +#define MAX_VM_STATS 64 +struct vm_stats { + int cpuid; /* in */ + int index; /* in */ + int num_entries; /* out */ + struct timeval tv; + uint64_t statbuf[MAX_VM_STATS]; +}; +struct vm_stat_desc { + int index; /* in */ + char desc[128]; /* out */ +}; + +struct vm_suspend { + enum vm_suspend_how how; +}; + +struct vm_gla2gpa { + int vcpuid; /* inputs */ + int prot; /* PROT_READ or PROT_WRITE */ + uint64_t gla; + struct vm_guest_paging paging; + int fault; /* outputs */ + uint64_t gpa; +}; + +struct vm_activate_cpu { + int vcpuid; +}; + +struct vm_cpuset { + int which; + int cpusetsize; + cpuset_t *cpus; +}; +#define VM_ACTIVE_CPUS 0 +#define VM_SUSPENDED_CPUS 1 +#define VM_DEBUG_CPUS 2 + +struct vm_vgic_version { + u_int version; + u_int flags; +}; + +struct vm_vgic_descr { + struct vm_vgic_version ver; + union { + struct { + uint64_t dist_start; + uint64_t dist_size; + uint64_t redist_start; + uint64_t redist_size; + } v3_regs; + }; +}; + +struct vm_irq { + uint32_t irq; +}; + +struct vm_cpu_topology { + uint16_t sockets; + uint16_t cores; + uint16_t threads; + uint16_t maxcpus; +}; + +enum { + /* general routines */ + IOCNUM_ABIVERS = 0, + IOCNUM_RUN = 1, + IOCNUM_SET_CAPABILITY = 2, + IOCNUM_GET_CAPABILITY = 3, + IOCNUM_SUSPEND = 4, + IOCNUM_REINIT = 5, + + /* memory apis */ + IOCNUM_GET_GPA_PMAP = 12, + IOCNUM_GLA2GPA_NOFAULT = 13, + IOCNUM_ALLOC_MEMSEG = 14, + IOCNUM_GET_MEMSEG = 15, + IOCNUM_MMAP_MEMSEG = 16, + IOCNUM_MMAP_GETNEXT = 17, + IOCNUM_MUNMAP_MEMSEG = 18, + + /* register/state accessors */ + IOCNUM_SET_REGISTER = 20, + IOCNUM_GET_REGISTER = 21, + IOCNUM_SET_REGISTER_SET = 24, + IOCNUM_GET_REGISTER_SET = 25, + + /* statistics */ + IOCNUM_VM_STATS = 50, + IOCNUM_VM_STAT_DESC = 51, + + /* CPU Topology */ + IOCNUM_SET_TOPOLOGY = 63, + IOCNUM_GET_TOPOLOGY = 64, + + /* interrupt injection */ + IOCNUM_ASSERT_IRQ = 80, + IOCNUM_DEASSERT_IRQ = 81, + IOCNUM_RAISE_MSI = 82, + IOCNUM_INJECT_EXCEPTION = 83, + + /* vm_cpuset */ + IOCNUM_ACTIVATE_CPU = 90, + IOCNUM_GET_CPUSET = 91, + IOCNUM_SUSPEND_CPU = 92, + IOCNUM_RESUME_CPU = 93, + + /* vm_attach_vgic */ + IOCNUM_GET_VGIC_VERSION = 110, + IOCNUM_ATTACH_VGIC = 111, +}; + +#define VM_RUN \ + _IOWR('v', IOCNUM_RUN, struct vm_run) +#define VM_SUSPEND \ + _IOW('v', IOCNUM_SUSPEND, struct vm_suspend) +#define VM_REINIT \ + _IO('v', IOCNUM_REINIT) +#define VM_ALLOC_MEMSEG \ + _IOW('v', IOCNUM_ALLOC_MEMSEG, struct vm_memseg) +#define VM_GET_MEMSEG \ + _IOWR('v', IOCNUM_GET_MEMSEG, struct vm_memseg) +#define VM_MMAP_MEMSEG \ + _IOW('v', IOCNUM_MMAP_MEMSEG, struct vm_memmap) +#define VM_MMAP_GETNEXT \ + _IOWR('v', IOCNUM_MMAP_GETNEXT, struct vm_memmap) +#define VM_MUNMAP_MEMSEG \ + _IOW('v', IOCNUM_MUNMAP_MEMSEG, struct vm_munmap) +#define VM_SET_REGISTER \ + _IOW('v', IOCNUM_SET_REGISTER, struct vm_register) +#define VM_GET_REGISTER \ + _IOWR('v', IOCNUM_GET_REGISTER, struct vm_register) +#define VM_SET_REGISTER_SET \ + _IOW('v', IOCNUM_SET_REGISTER_SET, struct vm_register_set) +#define VM_GET_REGISTER_SET \ + _IOWR('v', IOCNUM_GET_REGISTER_SET, struct vm_register_set) +#define VM_SET_CAPABILITY \ + _IOW('v', IOCNUM_SET_CAPABILITY, struct vm_capability) +#define VM_GET_CAPABILITY \ + _IOWR('v', IOCNUM_GET_CAPABILITY, struct vm_capability) +#define VM_STATS \ + _IOWR('v', IOCNUM_VM_STATS, struct vm_stats) +#define VM_STAT_DESC \ + _IOWR('v', IOCNUM_VM_STAT_DESC, struct vm_stat_desc) +#define VM_ASSERT_IRQ \ + _IOW('v', IOCNUM_ASSERT_IRQ, struct vm_irq) +#define VM_DEASSERT_IRQ \ + _IOW('v', IOCNUM_DEASSERT_IRQ, struct vm_irq) +#define VM_RAISE_MSI \ + _IOW('v', IOCNUM_RAISE_MSI, struct vm_msi) +#define VM_INJECT_EXCEPTION \ + _IOW('v', IOCNUM_INJECT_EXCEPTION, struct vm_exception) +#define VM_SET_TOPOLOGY \ + _IOW('v', IOCNUM_SET_TOPOLOGY, struct vm_cpu_topology) +#define VM_GET_TOPOLOGY \ + _IOR('v', IOCNUM_GET_TOPOLOGY, struct vm_cpu_topology) +#define VM_GLA2GPA_NOFAULT \ + _IOWR('v', IOCNUM_GLA2GPA_NOFAULT, struct vm_gla2gpa) +#define VM_ACTIVATE_CPU \ + _IOW('v', IOCNUM_ACTIVATE_CPU, struct vm_activate_cpu) +#define VM_GET_CPUS \ + _IOW('v', IOCNUM_GET_CPUSET, struct vm_cpuset) +#define VM_SUSPEND_CPU \ + _IOW('v', IOCNUM_SUSPEND_CPU, struct vm_activate_cpu) +#define VM_RESUME_CPU \ + _IOW('v', IOCNUM_RESUME_CPU, struct vm_activate_cpu) +#define VM_GET_VGIC_VERSION \ + _IOR('v', IOCNUM_GET_VGIC_VERSION, struct vm_vgic_version) +#define VM_ATTACH_VGIC \ + _IOW('v', IOCNUM_ATTACH_VGIC, struct vm_vgic_descr) +#endif diff --git a/sys/arm64/include/vmm_instruction_emul.h b/sys/arm64/include/vmm_instruction_emul.h new file mode 100644 index 000000000000..a295f7cce127 --- /dev/null +++ b/sys/arm64/include/vmm_instruction_emul.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2015 Mihai Carabas + * 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. + * + * 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. + */ + +#ifndef _VMM_INSTRUCTION_EMUL_H_ +#define _VMM_INSTRUCTION_EMUL_H_ + +/* + * Callback functions to read and write memory regions. + */ +typedef int (*mem_region_read_t)(struct vcpu *vcpu, uint64_t gpa, + uint64_t *rval, int rsize, void *arg); +typedef int (*mem_region_write_t)(struct vcpu *vcpu, uint64_t gpa, + uint64_t wval, int wsize, void *arg); + +/* + * Callback functions to read and write registers. + */ +typedef int (*reg_read_t)(struct vcpu *vcpu, uint64_t *rval, void *arg); +typedef int (*reg_write_t)(struct vcpu *vcpu, uint64_t wval, void *arg); + +/* + * Emulate the decoded 'vie' instruction when it contains a memory operation. + * + * The callbacks 'mrr' and 'mrw' emulate reads and writes to the memory region + * containing 'gpa'. 'mrarg' is an opaque argument that is passed into the + * callback functions. + * + * 'void *vm' should be 'struct vm *' when called from kernel context and + * 'struct vmctx *' when called from user context. + * + */ +int vmm_emulate_instruction(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, + struct vm_guest_paging *paging, mem_region_read_t mrr, + mem_region_write_t mrw, void *mrarg); + +/* + * Emulate the decoded 'vre' instruction when it contains a register access. + * + * The callbacks 'regread' and 'regwrite' emulate reads and writes to the + * register from 'vie'. 'regarg' is an opaque argument that is passed into the + * callback functions. + * + * 'void *vm' should be 'struct vm *' when called from kernel context and + * 'struct vmctx *' when called from user context. + * + */ +int vmm_emulate_register(struct vcpu *vcpu, struct vre *vre, reg_read_t regread, + reg_write_t regwrite, void *regarg); + +#ifdef _KERNEL +void vm_register_reg_handler(struct vm *vm, uint64_t iss, uint64_t mask, + reg_read_t reg_read, reg_write_t reg_write, void *arg); +void vm_deregister_reg_handler(struct vm *vm, uint64_t iss, uint64_t mask); + +void vm_register_inst_handler(struct vm *vm, uint64_t start, uint64_t size, + mem_region_read_t mmio_read, mem_region_write_t mmio_write); +void vm_deregister_inst_handler(struct vm *vm, uint64_t start, uint64_t size); +#endif + +#endif /* _VMM_INSTRUCTION_EMUL_H_ */ diff --git a/sys/arm64/include/vmm_snapshot.h b/sys/arm64/include/vmm_snapshot.h new file mode 100644 index 000000000000..da23dbe43a4f --- /dev/null +++ b/sys/arm64/include/vmm_snapshot.h @@ -0,0 +1 @@ +/* $FreeBSD$ */ diff --git a/sys/arm64/vmm/arm64.h b/sys/arm64/vmm/arm64.h new file mode 100644 index 000000000000..43459d14e143 --- /dev/null +++ b/sys/arm64/vmm/arm64.h @@ -0,0 +1,165 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2015 Mihai Carabas + * 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. + * + * 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. + */ +#ifndef _VMM_ARM64_H_ +#define _VMM_ARM64_H_ + +#include +#include +#include + +#include "mmu.h" +#include "io/vgic_v3.h" +#include "io/vtimer.h" + +struct vgic_v3; +struct vgic_v3_cpu; + +struct hypctx { + struct trapframe tf; + + /* + * EL1 control registers. + */ + uint64_t elr_el1; /* Exception Link Register */ + uint64_t sp_el0; /* Stack pointer */ + uint64_t tpidr_el0; /* EL0 Software ID Register */ + uint64_t tpidrro_el0; /* Read-only Thread ID Register */ + uint64_t tpidr_el1; /* EL1 Software ID Register */ + uint64_t vbar_el1; /* Vector Base Address Register */ + + uint64_t actlr_el1; /* Auxiliary Control Register */ + uint64_t afsr0_el1; /* Auxiliary Fault Status Register 0 */ + uint64_t afsr1_el1; /* Auxiliary Fault Status Register 1 */ + uint64_t amair_el1; /* Auxiliary Memory Attribute Indirection Register */ + uint64_t contextidr_el1; /* Current Process Identifier */ + uint64_t cpacr_el1; /* Architectural Feature Access Control Register */ + uint64_t csselr_el1; /* Cache Size Selection Register */ + uint64_t esr_el1; /* Exception Syndrome Register */ + uint64_t far_el1; /* Fault Address Register */ + uint64_t mair_el1; /* Memory Attribute Indirection Register */ + uint64_t mdccint_el1; /* Monitor DCC Interrupt Enable Register */ + uint64_t mdscr_el1; /* Monitor Debug System Control Register */ + uint64_t par_el1; /* Physical Address Register */ + uint64_t sctlr_el1; /* System Control Register */ + uint64_t tcr_el1; /* Translation Control Register */ + uint64_t tcr2_el1; /* Translation Control Register 2 */ + uint64_t ttbr0_el1; /* Translation Table Base Register 0 */ + uint64_t ttbr1_el1; /* Translation Table Base Register 1 */ + uint64_t spsr_el1; /* Saved Program Status Register */ + + uint64_t pmcr_el0; /* Performance Monitors Control Register */ + uint64_t pmccntr_el0; + uint64_t pmccfiltr_el0; + uint64_t pmcntenset_el0; + uint64_t pmintenset_el1; + uint64_t pmovsset_el0; + uint64_t pmselr_el0; + uint64_t pmuserenr_el0; + uint64_t pmevcntr_el0[31]; + uint64_t pmevtyper_el0[31]; + + uint64_t dbgbcr_el1[16]; /* Debug Breakpoint Control Registers */ + uint64_t dbgbvr_el1[16]; /* Debug Breakpoint Value Registers */ + uint64_t dbgwcr_el1[16]; /* Debug Watchpoint Control Registers */ + uint64_t dbgwvr_el1[16]; /* Debug Watchpoint Value Registers */ + + /* EL2 control registers */ + uint64_t cptr_el2; /* Architectural Feature Trap Register */ + uint64_t hcr_el2; /* Hypervisor Configuration Register */ + uint64_t mdcr_el2; /* Monitor Debug Configuration Register */ + uint64_t vpidr_el2; /* Virtualization Processor ID Register */ + uint64_t vmpidr_el2; /* Virtualization Multiprocessor ID Register */ + uint64_t el2_addr; /* The address of this in el2 space */ + struct hyp *hyp; + struct vcpu *vcpu; + struct { + uint64_t far_el2; /* Fault Address Register */ + uint64_t hpfar_el2; /* Hypervisor IPA Fault Address Register */ + } exit_info; + + struct vtimer_cpu vtimer_cpu; + + struct vgic_v3_regs vgic_v3_regs; + struct vgic_v3_cpu *vgic_cpu; + bool has_exception; +}; + +struct hyp { + struct vm *vm; + struct vtimer vtimer; + uint64_t vmid_generation; + uint64_t vttbr_el2; + uint64_t el2_addr; /* The address of this in el2 space */ + bool vgic_attached; + struct vgic_v3 *vgic; + struct hypctx *ctx[]; +}; + +#define DEFINE_VMMOPS_IFUNC(ret_type, opname, args) \ + ret_type vmmops_##opname args; + +DEFINE_VMMOPS_IFUNC(int, modinit, (int ipinum)) +DEFINE_VMMOPS_IFUNC(int, modcleanup, (void)) +DEFINE_VMMOPS_IFUNC(void *, init, (struct vm *vm, struct pmap *pmap)) +DEFINE_VMMOPS_IFUNC(int, gla2gpa, (void *vcpui, struct vm_guest_paging *paging, + uint64_t gla, int prot, uint64_t *gpa, int *is_fault)) +DEFINE_VMMOPS_IFUNC(int, run, (void *vcpui, register_t pc, struct pmap *pmap, + struct vm_eventinfo *info)) +DEFINE_VMMOPS_IFUNC(void, cleanup, (void *vmi)) +DEFINE_VMMOPS_IFUNC(void *, vcpu_init, (void *vmi, struct vcpu *vcpu, + int vcpu_id)) +DEFINE_VMMOPS_IFUNC(void, vcpu_cleanup, (void *vcpui)) +DEFINE_VMMOPS_IFUNC(int, exception, (void *vcpui, uint64_t esr, uint64_t far)) +DEFINE_VMMOPS_IFUNC(int, getreg, (void *vcpui, int num, uint64_t *retval)) +DEFINE_VMMOPS_IFUNC(int, setreg, (void *vcpui, int num, uint64_t val)) +DEFINE_VMMOPS_IFUNC(int, getcap, (void *vcpui, int num, int *retval)) +DEFINE_VMMOPS_IFUNC(int, setcap, (void *vcpui, int num, int val)) +DEFINE_VMMOPS_IFUNC(struct vmspace *, vmspace_alloc, (vm_offset_t min, + vm_offset_t max)) +DEFINE_VMMOPS_IFUNC(void, vmspace_free, (struct vmspace *vmspace)) +#ifdef notyet +#ifdef BHYVE_SNAPSHOT +DEFINE_VMMOPS_IFUNC(int, snapshot, (void *vmi, struct vm_snapshot_meta *meta)) +DEFINE_VMMOPS_IFUNC(int, vcpu_snapshot, (void *vcpui, + struct vm_snapshot_meta *meta)) +DEFINE_VMMOPS_IFUNC(int, restore_tsc, (void *vcpui, uint64_t now)) +#endif +#endif + +uint64_t vmm_call_hyp(uint64_t, ...); + +#if 0 +#define eprintf(fmt, ...) printf("%s:%d " fmt, __func__, __LINE__, ##__VA_ARGS__) +#else +#define eprintf(fmt, ...) do {} while(0) +#endif + +struct hypctx *arm64_get_active_vcpu(void); +void raise_data_insn_abort(struct hypctx *, uint64_t, bool, int); + +#endif /* !_VMM_ARM64_H_ */ diff --git a/sys/arm64/vmm/hyp.h b/sys/arm64/vmm/hyp.h new file mode 100644 index 000000000000..0b2977c73960 --- /dev/null +++ b/sys/arm64/vmm/hyp.h *** 10428 LINES SKIPPED *** From nobody Wed Feb 21 20:26:02 2024 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 4Tg78B675Zz5BJ5P; Wed, 21 Feb 2024 20:26: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 4Tg78B5gSyz4Ck5; Wed, 21 Feb 2024 20:26:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708547162; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fPJN8VZN0EHFOH5wzRub/UaaE+DMxnr8pDVsjS3zyow=; b=bNaumxq7HGm4RW28a/BFvXrOCsR4TWOYdQGYQG6ir0vrZeOxkfv6ipcxns1eF6RLLTDLsh Kn7Wk89OD6URUUiCnbfFEju9rZROsr1arBYkabQYy5FQAZpq4t4lDNcXzhFIrC5obslqdK Ui/8wr1ZVAXahR8SbKVZgec3Motg3QTkgplOHwsTPpuq/WxYOLahnNIiDTDQKrdH7qaclg gx4zbNpLcjyHLvqU0a/tka2+7oKR0bvsEz3C6zQy64lPFAm63NEUdeuYE72PP9pmorpGBf CLYmC5aA4Jb+nuVd/SvnisorSQuJa1VdLbaMcOk8gLF9B7QIDBWzMwF5/MMuvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708547162; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fPJN8VZN0EHFOH5wzRub/UaaE+DMxnr8pDVsjS3zyow=; b=Uz/N6pOqc0RxHWWHiPXNwr8uwbLKtokRwlqcMpTBlIvL6NitlqKCq8wM9m8YYn4sX1UxD9 7EgeEHmirlXNAk9ZlRZLXvuLijEMIE8eqmH97JFVDOpCF6XDUsH++eUkhTP/Ssbhk5zoCO dCQz4NJTrIwNt3IIo/KQLBKCKdjmFqkJqLOICOVFSiWg5XKZ7IaK2oaHvKBNscXgYrq1Wj iXW0gakrcua2wG0QLwbC0c1hfbPACvymrgDJVnOzLlm71ZRv04a9BDeVToISpGOmdEiJ4z Twr+Ar/Kd+uc9HfQDnI9piJjHb695Jldqn8ZscJwqBrV4WafO4dvGCUG/thfXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708547162; a=rsa-sha256; cv=none; b=wIhZ/GNZpi6ZmXQgv9AvJW5XGmuaOQfTk6WSrpBs7arm1usS7XccLqAqs3tonkwjSs8NrL dR4VzPu3TSYS1iWX7MAI48ohrA5xKK2CYYBo7B0t3NmxTz4PPscVnc28O4f/FXh9V0ijZi l96r9P/QrfLIrW1yDoUxiT+XSsb/+12SkCN+UZXKuo/78tpWzA3hlPPYE0xe1LXjoRIfN6 kJNwA4BaIaUZr6VE7HWORTdHzmdjfrlboGv0zCP5ZwQHrWL9Bv56fHwfOaGMCtp/VvSUPu qQ1/XeqEQhCZg/2X3NPJQpaPjso6jvxULn5FkVh6qJsFutSh8/HXkZUre0vxww== 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 4Tg78B4Z1rz1H8x; Wed, 21 Feb 2024 20:26: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 41LKQ2HJ086115; Wed, 21 Feb 2024 20:26:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LKQ2Ow086112; Wed, 21 Feb 2024 20:26:02 GMT (envelope-from git) Date: Wed, 21 Feb 2024 20:26:02 GMT Message-Id: <202402212026.41LKQ2Ow086112@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: bec5e729ceef - stable/12 - heimdal: Fix NULL deref 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/stable/12 X-Git-Reftype: branch X-Git-Commit: bec5e729ceef12259609dbd8f5191e19464be95d Auto-Submitted: auto-generated The branch stable/12 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=bec5e729ceef12259609dbd8f5191e19464be95d commit bec5e729ceef12259609dbd8f5191e19464be95d Author: Cy Schubert AuthorDate: 2024-02-15 15:41:07 +0000 Commit: Ed Maste CommitDate: 2024-02-21 20:24:16 +0000 heimdal: Fix NULL deref A flawed logical condition allows a malicious actor to remotely trigger a NULL pointer dereference using a crafted negTokenInit token. Upstream notes: Reported to Heimdal by Michał Kępień . From the report: Acknowledgement --------------- This flaw was found while working on addressing ZDI-CAN-12302: ISC BIND TKEY Query Heap-based Buffer Overflow Remote Code Execution Vulnerability, which was reported to ISC by Trend Micro's Zero Day Security: CVE-2022-3116 Obtained from: upstream 7a19658c1 (cherry picked from commit fc773115fa2dbb6c01377f2ed47dabf79a4e361a) (cherry picked from commit 6b421e431a2de6eb9e8bd670efffe76e6617d520) --- crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c b/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c index b60dc19ad8e3..48542f06fcbe 100644 --- a/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c +++ b/crypto/heimdal/lib/gssapi/spnego/accept_sec_context.c @@ -605,7 +605,7 @@ acceptor_start * If opportunistic token failed, lets try the other mechs. */ - if (!first_ok && ni->mechToken != NULL) { + if (!first_ok) { size_t j; preferred_mech_type = GSS_C_NO_OID; From nobody Wed Feb 21 20:32:36 2024 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 4Tg7Hm5w5yz5BJQh; Wed, 21 Feb 2024 20:32: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 4Tg7Hm5PXsz4DBX; Wed, 21 Feb 2024 20:32:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708547556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n3PowMyswH05b/P/S4ykNKcBiiiSgv4BCapKZoLQQTY=; b=Tpn2ivYdjfwL3QhnXQ5cSJyWfUSQ+whtYU4UuCDIlx9HsznJTTSNCBkJXslW63aZriNZCn oe6En6FEbqCOucmIEmjf1MRUNrhUMtW7uLel7VriiUKnOL+PJT+LTWq2okw6qicm9fRlGJ KeA4mGi70hSg4xao9mczeXITS8LstgpJfY1A4vtlM0pzLWLP99f1TgxWjOBAqvR0LlJ4op Hk0LOEdixdvpYq+vF81riB+dec2/nRgrnZA+MLwdm8l5lFvnkUa+a5P9csO7Vu1ejMQVeI AUSSDzSRo9t6fvSbde3oWHBX/ShKRU1puYtSvq+eZfRx0suj8/x4Tnw2auzoqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708547556; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n3PowMyswH05b/P/S4ykNKcBiiiSgv4BCapKZoLQQTY=; b=anpuNBxme9YGRThnhkMvt7ZjF4zQEH8W1zZmAhzLSo4Si0s3SpC7efR+Tt6P41Oiwc+H0W 1KgLuSHLCD0hCAu0TcXGGTUNty2qLUV20h7FpgpMnuUNjazMtpvK2uC8eacb3NWY8c1tJK iZ6ZknxPWQkn0OSfTY03tIxJInLdtLDtZ0XYu7WhqIJpUimfNsXCkc0T0kqSlpqqVXplyH aZcPih7aqBFg7bS8DxUYQ09TSUq5UpeyiJ2tcmYncTJmvwWAdGNzt6AXoCysmjSre2gph6 fZghdx3aB3L4zKXYllX0dFaaGDwdjZcyXZMFeD9pcGj0yel4IrwUh8e2eAyGdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708547556; a=rsa-sha256; cv=none; b=gX45+7rlg+jYW56LPhE1gpBMZ291an2b8aAC7mhGpXK14yYE6zfclwPryu+mtlScgyauWo joTMu2AD4nxBvGEnEgvOPCVfnoAby0nNntdfQVxW5ZxmP3pDDJQI0PIEcNKKliaP5vMVLC bpYqboZO7Tyslrp4ll2kt15uAs0Sk0jNMI6d2JVdW4VyXuyxzHbudchv+zvLtHoPjqeH6w duNAN5utE8izuP7IHO/i9b3oQ9is+P/FBqJAk/1RylabNbIFgDwfPSlS/ZIivaBiInzfmD eyfNz5wgMXtrTvkDsACVlu+MfXs6HFUW3yQ0TsYn7V/j5oUXGDNCLed5PpESsA== 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 4Tg7Hm4TRzz1Hfq; Wed, 21 Feb 2024 20:32: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 41LKWaht002249; Wed, 21 Feb 2024 20:32:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LKWaxr002246; Wed, 21 Feb 2024 20:32:36 GMT (envelope-from git) Date: Wed, 21 Feb 2024 20:32:36 GMT Message-Id: <202402212032.41LKWaxr002246@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: c85e6a5c2250 - main - bcm5974(4): Report proper width and depth for Apple Magic Trackpads 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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c85e6a5c2250f180620edd147b989a6782acb80e Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=c85e6a5c2250f180620edd147b989a6782acb80e commit c85e6a5c2250f180620edd147b989a6782acb80e Author: Vladimir Kondratyev AuthorDate: 2024-02-21 20:31:38 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-02-21 20:31:38 +0000 bcm5974(4): Report proper width and depth for Apple Magic Trackpads The size of modern Apple Magic Trackpad is about 160x110mm Sponsored by: Serenity Cyber Security MFC after: 1 month --- sys/dev/hid/bcm5974.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/hid/bcm5974.c b/sys/dev/hid/bcm5974.c index 6f15c6030ccc..749f1e7d4b2b 100644 --- a/sys/dev/hid/bcm5974.c +++ b/sys/dev/hid/bcm5974.c @@ -395,8 +395,8 @@ static const struct bcm5974_dev_params bcm5974_dev_params[BCM5974_FLAG_MAX] = { .tp = tp + TYPE_MT2U, .p = { SN_PRESSURE, 0, 256, 256 }, .w = { SN_WIDTH, 0, 2048, 0 }, - .x = { SN_COORD, -3678, 3934, 48 }, - .y = { SN_COORD, -2478, 2587, 44 }, + .x = { SN_COORD, -3678, 3934, 157 }, + .y = { SN_COORD, -2478, 2587, 107 }, .o = { SN_ORIENT, -3, 4, 0 }, }, }; From nobody Wed Feb 21 20:32:37 2024 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 4Tg7Hp0Lzyz5BJGG; Wed, 21 Feb 2024 20:32: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 4Tg7Hn6cpwz4D8S; Wed, 21 Feb 2024 20:32:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708547557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lz3rDz5/2BT9tBNz5fOAdMcn7ff1zGMyCgTe+PUXF1I=; b=Ebf+oFxDvtFtvy0s7n6D25GbtFuY19DutzzPFSFFsXoBBlGFb2D4jrnPbXy+yZPg8gLb+v OnpFGRU+CuHojlSfcjUYdmW83eGYNAcouUWavcejQyD7ET29ghu535oIK/ghcT9uZY+GFz vmhwAg/Nr0LLxSZzZnDQrbxC2eHRmhtf6elC8Y93yLGzopL7brWPRKIg1IqJhbBpFYQdLR Oww+MNGlwue+MiHnzezNyDZuyvSfKRgXRcRsZxDQMhwrqEJWuC0g+fMDYVcZReT6vRzEp+ rYhDy44z4jIs+HTbw2nypMAJjtQZ1EU4ol1ySY8nvZnh224CTlCVfcLJu9ulMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708547557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lz3rDz5/2BT9tBNz5fOAdMcn7ff1zGMyCgTe+PUXF1I=; b=WW1V6nhXBFaBrmVqI6yP9IJ0DEVVRNiJRVkW1LfZXgRfKJPj599P8iMuuV/cHq29wG90T8 KBy2R8nc8d0fmQey9aju9Rh6OGCe+7ELGfgEtX5VwrTwhKWcxQvDDYOvzX8RpxGa//o5VX uzF+grBw1mhA/r+6wLK9UKTfO7xunj4Kf3NG4Q71byW9hLVbpgvIsPdSKU6NgwJykTS3Bq 4VImupw9/DBSbnzxTDV1in9NTvBGjREMfcPL5oQvREuVXjvk6iDebFQNMHTeYbssDXjQHK b4hzVIJhUT3m1RGYO8ZMP40jMggiUtD6V4YK8Er+X6SADEnoKv/b8E/Wvunkdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708547557; a=rsa-sha256; cv=none; b=Scqhmg4dr3Fp6BXA5oD0H/+wBiT9A492fiCXtehyb/HiN2Si6C7H0jErMJwQ25fOD2Bfzm M4c1vZ2Qc2JCsnN0Ry6TAXJ3tgSx3e7UWHdtkoO9E5gVMvwwkf1pWN5EB50Ejio1EQZ9j2 tNIhAx5dyu0pgADi2c0tXT67NNkhw0xlt+69aXzTUW8CKssLn5QPqqi0pOKBUuW+5E/WBQ IFXqv7YO5l6Xr83NlpKFRuoRrHm6VvDxMP4iRAo0BhEX2bbMtATWFSZ4pUMzosMbV8Zf1j fXaSBSrKzg3R9z0nu5eYMWwuoe/62wBjHT58YGW1IoyQrymkhmrmwEsgNsLxIw== 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 4Tg7Hn5gpjz1HPC; Wed, 21 Feb 2024 20:32: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 41LKWbQJ002304; Wed, 21 Feb 2024 20:32:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LKWb2c002301; Wed, 21 Feb 2024 20:32:37 GMT (envelope-from git) Date: Wed, 21 Feb 2024 20:32:37 GMT Message-Id: <202402212032.41LKWb2c002301@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 4f345989700f - main - bcm5974(4): Respect HID_DEBUG option and fix debugging printf 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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f345989700ff962e1f012d732881f1770946c9e Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=4f345989700ff962e1f012d732881f1770946c9e commit 4f345989700ff962e1f012d732881f1770946c9e Author: Vladimir Kondratyev AuthorDate: 2024-02-21 20:31:39 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-02-21 20:31:39 +0000 bcm5974(4): Respect HID_DEBUG option and fix debugging printf Sponsored by: Serenity Cyber Security MFC after: 1 month --- sys/dev/hid/bcm5974.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/hid/bcm5974.c b/sys/dev/hid/bcm5974.c index 749f1e7d4b2b..e76e3dfa805c 100644 --- a/sys/dev/hid/bcm5974.c +++ b/sys/dev/hid/bcm5974.c @@ -27,6 +27,8 @@ * SUCH DAMAGE. */ +#include "opt_hid.h" + #include #include #include @@ -826,7 +828,7 @@ bcm5974_intr(void *context, void *data, hid_size_t len) if ((len < params->tp->offset + fsize) || ((len - params->tp->offset) % fsize) != 0) { DPRINTFN(BCM5974_LLEVEL_INFO, "Invalid length: %d, %x, %x\n", - len, sc->tp_data[0], sc->tp_data[1]); + len, params->tp->offset, fsize); return; } From nobody Wed Feb 21 20:32:38 2024 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 4Tg7Hq30S2z5BJNS; Wed, 21 Feb 2024 20:32: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 4Tg7Hq0sKlz4D8c; Wed, 21 Feb 2024 20:32:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708547559; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WX1mhbDQ9llb0yJr8EpWCu+a//pFshMj6plJx7bLeOY=; b=hL088DxTovsNI2Uqckxp2nzbZEDhxorXpOXKuiMZklSxzQHPF3a64/NXcZ+IOHDfIxxgme eNgJZOMwxhwiFV6Sx3CoYGsgVlSpic1va8SfVaF6JBrgakjs5T2lmna1LAEd1K6BDw0+q7 Lo7E49ARqxktMRyrPj1sVOJDDyMuacWrlInS26qOTF5imCQbEFMRVQ+Gvqo25e+gVxdw89 C1nS1X60iUrmDznQna8Nbt7QHS9CLCsr0cA2ZB/UVqId6njfVksqsFn9ZObbqNTfqEyIQR 1SBCt+TTW748uDzZbA9DOM95bf8r5i4R7Q1S3AseJWkcgL9OBuy6n/0vDIO8Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708547559; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WX1mhbDQ9llb0yJr8EpWCu+a//pFshMj6plJx7bLeOY=; b=PI2k8+rkn/AZb+ohGAkgPhnUKXGci9E7tF8zzdP8s/ShMpdVB9QGy4Y5hyDIgi1ZcnZNtT x+a98s8hEaNYZC7wiG9tIvCyR6GEjUQuNFv7i3jZVNBmv2waV10AIMmdVT1KOh932NG9ZO TFRuFLrDvzpINBEwfTu2Z6+3Jzm9MEjSVrzTIojP+QWb14SoZI8WYtaRix3jmn1hLN9lRF cxUX2bOb31r+5V+ATasE68WnXBf/y5IyG5TShzGEAPuOgaC+xPCD1z1oVan1FePY8j6h+2 5pidJneW5C/AblRw6wADiVMvecDe4w3sZ1ynPybmVpSE2Hyya7M7gTXhwf0zxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708547559; a=rsa-sha256; cv=none; b=dLqvl2zbWRz4Or1MDWLAxmC/YhJrvYVrdaB/mGjQepgWjXzGsbF0Husv9KNEfJ+xuG3vfh hjjCMaVT+4pIkKYmeqsWyCv2PbPalhUSFg9u09pKdrOLwni/Ct4+7CQ+Ad0el/tKKoFbHQ TCMaI5wQq/U+SY8Ny6SXT0CvpxFA730q0KxhzQ8ONnH42GYLE0SqJM6F9N6DEI0Ldh11q4 jXZBx07YP9ok0PIkzpkT4SJfJS5XvjONpBavyV6fkzM7RmM52xT74DlOUWOjSdEmAit7W+ T0RY437pmKI2sZSIoER/raMYmpUOsX+KcqL+y9XzpRSvQg3/tPjsGaYIpnqS1w== 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 4Tg7Hp6jFWz1HPD; Wed, 21 Feb 2024 20:32: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 41LKWcax002358; Wed, 21 Feb 2024 20:32:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LKWc4H002355; Wed, 21 Feb 2024 20:32:38 GMT (envelope-from git) Date: Wed, 21 Feb 2024 20:32:38 GMT Message-Id: <202402212032.41LKWc4H002355@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 9097284b98be - main - bcm5974(4): Properly assign MT-slot on Apple Magic Trackpad 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: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9097284b98be57e2e2bf12942844fa3c920dd1a7 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=9097284b98be57e2e2bf12942844fa3c920dd1a7 commit 9097284b98be57e2e2bf12942844fa3c920dd1a7 Author: Vladimir Kondratyev AuthorDate: 2024-02-21 20:31:39 +0000 Commit: Vladimir Kondratyev CommitDate: 2024-02-21 20:31:39 +0000 bcm5974(4): Properly assign MT-slot on Apple Magic Trackpad Assign multi-touch slot number based on internal evdev MT state and reported tracking ID of contact rather than on sequentional number of contact in report. Sponsored by: Serenity Cyber Security Fixes: ef8397c28e98 ("add Magic Trackpad 2 (USB only) support") MFC after: 1 month --- sys/dev/hid/bcm5974.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sys/dev/hid/bcm5974.c b/sys/dev/hid/bcm5974.c index e76e3dfa805c..442e8905e9bc 100644 --- a/sys/dev/hid/bcm5974.c +++ b/sys/dev/hid/bcm5974.c @@ -820,6 +820,7 @@ bcm5974_intr(void *context, void *data, hid_size_t len) int ibt; /* button status */ int i; int slot; + uint8_t id; uint8_t fsize = sizeof(struct tp_finger) + params->tp->delta; if ((params->tp->caps & USES_COMPACT_REPORT) != 0) @@ -840,18 +841,20 @@ bcm5974_intr(void *context, void *data, hid_size_t len) fc = (struct tp_finger_compact *)(((uint8_t *)data) + params->tp->offset + params->tp->delta + i * fsize); coords = (int)le32toh(fc->coords); + id = fc->id_ori & 0x0f; + slot = evdev_mt_id_to_slot(sc->sc_evdev, id); DPRINTFN(BCM5974_LLEVEL_INFO, "[%d]ibt=%d, taps=%d, x=%5d, y=%5d, state=%4d, " "tchmaj=%4d, tchmin=%4d, size=%4d, pressure=%4d, " - "ot=%4x, id=%4x\n", + "ot=%4x, id=%4x, slot=%d\n", i, ibt, ntouch, coords << 19 >> 19, coords << 6 >> 19, (u_int)coords >> 30, fc->touch_major, fc->touch_minor, fc->size, - fc->pressure, fc->id_ori >> 5, fc->id_ori & 0x0f); - if (fc->touch_major == 0) + fc->pressure, fc->id_ori >> 5, id, slot); + if (fc->touch_major == 0 || slot == -1) continue; slot_data = (union evdev_mt_slot) { - .id = fc->id_ori & 0x0f, + .id = id, .x = coords << 19 >> 19, .y = params->y.min + params->y.max - ((coords << 6) >> 19), @@ -861,7 +864,6 @@ bcm5974_intr(void *context, void *data, hid_size_t len) .ori = (int)(fc->id_ori >> 5) - 4, }; evdev_mt_push_slot(sc->sc_evdev, slot, &slot_data); - slot++; continue; } f = (struct tp_finger *)(((uint8_t *)data) + From nobody Wed Feb 21 20:59:18 2024 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 4Tg7tb0fl6z5BMFt; Wed, 21 Feb 2024 20:59: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 4Tg7tb07VRz4H6b; Wed, 21 Feb 2024 20:59:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708549159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=onoGPZ7QNl5xM3EXkOgDHS9cdoFQVDKGbwGVv7PAY2o=; b=kWTlUDlu2O15gQ5xJnD5nskczy3F5PJKhKoht7eCcZ49EnnSwEHfzzb2hZlLECDdOQgsbd 4Dkkt6TPj+9aToooGiZ/mw3AjCTXyCFZ8EdIluaNVxC7KhbKudH/h/JJJUPK3uDI1wFzP6 3FhFyrD4JiChmZL2Clvyj6JqC9jAY/DQaI6Nh6ipwil2DYZZ15ZPlo3C6GZi+9/zJEJqOg Zcq4d7sUY0MfBVJhjOOJMJ6IOBxBS0h2ctPhT/H42/GdVDF6y2ikguwT5vNn4iJDsh5a5F GDeD4ZSu9tlwzPQgdSi5HY0clbqdOx4OkxKZcEwgKBTVrv8WT3z9WRCgZIoXLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708549159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=onoGPZ7QNl5xM3EXkOgDHS9cdoFQVDKGbwGVv7PAY2o=; b=Mg85d0ITeViCr7GSVyOR4T+IVOkUQLePfxebWGpE/k8U4CITBk9Dgl2udgDSOIRIgtqPRM T9OsjvQTuIA8SsOhNpWTDnak8453E0XdsBdQMTyuER1U9kZ4yMMdvX5UofFlsGOsxRCwQA ZSNn0X15YOeD210tqBnRTCLHxzqAbxXl4xPKqFVWgGFyxogZ9zYQBaonXZ87Z0Q4Zn69E7 l45gC1boRKdSW+Aa6izK0L8I5jMOAXv0Qg9gLdUVGmPDR46kTYZNkRTLSo8kTooaEKT/HA /WRYLehwKU/LUzNCX3ZAxQtsJdReptLJ+G/nG1qyKNuBlYP8koxRFUhUZ/WJcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708549159; a=rsa-sha256; cv=none; b=RzQ8Vfl+gty0QeAuW+JuxSi5Sb/uku/GBvnAC0hyXg0/xvIy3PrIFk9lFW8j2sAezlDmXz pFLwgsBUIfV8D9j4V3Ae4A+rvIiynoG1NfjFTmj4CgVo6mKklh2DQpchg1TA0YTc6VZiBV chf/1O9GzfHgifD74/ebAl+8MoVtORhms9EP4kfw1LqONTPlcY+HkDCjuv/mIkNkxg8yIW P4Vk3Ipnp1fLe2Fpuu6R9dNdBy4mqOMwtZeSwUhPUgqWPOENkxn9J7FehHLpN4Hw3md0Fb K9CUs7YymHaFl4I4xU9vsBYAFp3VbOFc74UTe+rZ/SLwGKwuEsAmb3115QDxsw== 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 4Tg7tZ6BV6z1HyT; Wed, 21 Feb 2024 20:59: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 41LKxIE8036950; Wed, 21 Feb 2024 20:59:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LKxIeJ036947; Wed, 21 Feb 2024 20:59:18 GMT (envelope-from git) Date: Wed, 21 Feb 2024 20:59:18 GMT Message-Id: <202402212059.41LKxIeJ036947@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: e257a38de4d5 - stable/14 - Update tzcode to 2024a. 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/stable/14 X-Git-Reftype: branch X-Git-Commit: e257a38de4d57bb1884d5c7196131a81192d5252 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e257a38de4d57bb1884d5c7196131a81192d5252 commit e257a38de4d57bb1884d5c7196131a81192d5252 Author: Dag-Erling Smørgrav AuthorDate: 2024-02-13 20:20:44 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-21 20:33:23 +0000 Update tzcode to 2024a. MFC after: 3 weeks Sponsored by: Klara, Inc. (cherry picked from commit 46c599340f187db577b9212ab18022f3c7380c68) --- contrib/tzcode/Makefile | 261 +++++++---- contrib/tzcode/NEWS | 193 +++++++- contrib/tzcode/README | 19 +- contrib/tzcode/date.1 | 14 +- contrib/tzcode/localtime.c | 128 +++--- contrib/tzcode/newctime.3 | 16 +- contrib/tzcode/newstrftime.3 | 152 ++++++- contrib/tzcode/newtzset.3 | 206 +++++---- contrib/tzcode/private.h | 44 +- contrib/tzcode/strftime.c | 7 +- contrib/tzcode/theory.html | 37 +- contrib/tzcode/tz-art.html | 419 ++++++++---------- contrib/tzcode/tz-link.html | 118 +++-- contrib/tzcode/tzdir.h | 6 + contrib/tzcode/tzfile.5 | 32 +- contrib/tzcode/tzfile.h | 14 +- contrib/tzcode/tzselect.8 | 2 +- contrib/tzcode/tzselect.ksh | 1006 +++++++++++++++++++++++------------------- contrib/tzcode/version | 2 +- contrib/tzcode/zdump.c | 2 +- contrib/tzcode/zic.8 | 35 +- contrib/tzcode/zic.c | 239 +++++----- lib/libc/gen/sysconf.c | 2 +- lib/libc/stdtime/strftime.c | 2 +- 24 files changed, 1767 insertions(+), 1189 deletions(-) diff --git a/contrib/tzcode/Makefile b/contrib/tzcode/Makefile index 0e56af89e2a4..d48354c72df4 100644 --- a/contrib/tzcode/Makefile +++ b/contrib/tzcode/Makefile @@ -1,7 +1,25 @@ # Make and install tzdb code and data. - # This file is in the public domain, so clarified as of # 2009-05-17 by Arthur David Olson. +# Request POSIX conformance; this must be the first non-comment line. +.POSIX: +# On older platforms you may need to scrounge for a POSIX-conforming 'make'. +# For example, on Solaris 10 (2005), use /usr/sfw/bin/gmake or +# /usr/xpg4/bin/make, not /usr/ccs/bin/make. + +# To affect how this Makefile works, you can run a shell script like this: +# +# #!/bin/sh +# make CC='gcc -std=gnu11' "$@" +# +# This example script is appropriate for a pre-2017 GNU/Linux system +# where a non-default setting is needed to support this package's use of C99. +# +# Alternatively, you can simply edit this Makefile to tailor the following +# macro definitions. + +############################################################################### +# Start of macros that one plausibly might want to tailor. # Package name for the code distribution. PACKAGE= tzcode @@ -35,7 +53,7 @@ DATAFORM= main LOCALTIME= Factory -# The POSIXRULES macro controls interpretation of POSIX-like TZ +# The POSIXRULES macro controls interpretation of POSIX-2017.1-like TZ # settings like TZ='EET-2EEST' that lack DST transition rules. # If POSIXRULES is '-', no template is installed; this is the default. # Any other value for POSIXRULES is obsolete and should not be relied on, as: @@ -191,8 +209,9 @@ UTF8_LOCALE= en_US.utf8 # On some hosts, this should have -lintl unless CFLAGS has -DHAVE_GETTEXT=0. LDLIBS= -# Add the following to the end of the "CFLAGS=" line as needed to override -# defaults specified in the source code. "-DFOO" is equivalent to "-DFOO=1". +# Add the following to an uncommented "CFLAGS=" line as needed +# to override defaults specified in the source code or by the system. +# "-DFOO" is equivalent to "-DFOO=1". # -DDEPRECATE_TWO_DIGIT_YEARS for optional runtime warnings about strftime # formats that generate only the last two digits of year numbers # -DEPOCH_LOCAL if the 'time' function returns local time not UT @@ -234,11 +253,16 @@ LDLIBS= # -DHAVE_UNISTD_H=0 if does not work* # -DHAVE_UTMPX_H=0 if does not work* # -Dlocale_t=XXX if your system uses XXX instead of locale_t -# -DPORT_TO_C89 if tzcode should also run on C89 platforms+ +# -DPORT_TO_C89 if tzcode should also run on mostly-C89 platforms+ +# Typically it is better to use a later standard. For example, +# with GCC 4.9.4 (2016), prefer '-std=gnu11' to '-DPORT_TO_C89'. +# Even with -DPORT_TO_C89, the code needs at least one C99 +# feature (integers at least 64 bits wide) and maybe more. # -DRESERVE_STD_EXT_IDS if your platform reserves standard identifiers # with external linkage, e.g., applications cannot define 'localtime'. # -Dssize_t=long on hosts like MS-Windows that lack ssize_t # -DSUPPORT_C89 if the tzcode library should support C89 callers+ +# However, this might trigger latent bugs in C99-or-later callers. # -DSUPPRESS_TZDIR to not prepend TZDIR to file names; this has # security implications and is not recommended for general use # -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; @@ -250,7 +274,7 @@ LDLIBS= # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; # the default is system-supplied, typically "/usr/lib/locale" # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified -# DST transitions for POSIX-style TZ strings lacking them, +# DST transitions for POSIX.1-2017-style TZ strings lacking them, # in the usual case where POSIXRULES is '-'. If not specified, # TZDEFRULESTRING defaults to US rules for future DST transitions. # This mishandles some past timestamps, as US DST rules have changed. @@ -270,11 +294,15 @@ LDLIBS= # -DZIC_MAX_ABBR_LEN_WO_WARN=3 # (or some other number) to set the maximum time zone abbreviation length # that zic will accept without a warning (the default is 6) +# -g to generate symbolic debugging info +# -Idir to include from directory 'dir' +# -O0 to disable optimization; other -O options to enable more optimization +# -Uname to remove any definition of the macro 'name' # $(GCC_DEBUG_FLAGS) if you are using recent GCC and want lots of checking # # * Options marked "*" can be omitted if your compiler is C23 compatible. # * Options marked "+" are obsolescent and are planned to be removed -# once the code assumes C99 or later. +# once the code assumes C99 or later, say in the year 2029. # # Select instrumentation via "make GCC_INSTRUMENT='whatever'". GCC_INSTRUMENT = \ @@ -312,9 +340,10 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this. # Similarly, if your system has a "zone abbreviation" field, define # -DTM_ZONE=tm_zone -# and define NO_TM_ZONE to suppress any guessing. Although these two fields -# not required by POSIX, a future version of POSIX is planned to require them -# and they are widely available on GNU/Linux and BSD systems. +# and define NO_TM_ZONE to suppress any guessing. +# Although these two fields are not required by POSIX.1-2017, +# POSIX 202x/D4 requires them and they are widely available +# on GNU/Linux and BSD systems. # # The next batch of options control support for external variables # exported by tzcode. In practice these variables are less useful @@ -324,7 +353,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DHAVE_TZNAME=0 # do not support "tzname" # # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library # # -DHAVE_TZNAME=2 # support and define "tzname" -# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later. +# # to the "CFLAGS=" line. "tzname" is required by POSIX.1-1988 and later. # # If not defined, the code attempts to guess HAVE_TZNAME from other macros. # # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause # # crashes when combined with some platforms' standard libraries, @@ -334,8 +363,8 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # -DUSG_COMPAT=0 # do not support # # -DUSG_COMPAT=1 # support, and variables are defined by system library # # -DUSG_COMPAT=2 # support and define variables -# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by -# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later. +# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by Unix +# # Systems Group code and are required by POSIX.1-2008 and later (with XSI). # # If not defined, the code attempts to guess USG_COMPAT from other macros. # # # # To support the external variable "altzone", add @@ -353,10 +382,11 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # functions to be added to the time conversion library. # "offtime" is like "gmtime" except that it accepts a second (long) argument # that gives an offset to add to the time_t when converting it. -# "offtime_r" is to "offtime" what "gmtime_r" is to "gmtime". -# "timelocal" is equivalent to "mktime". +# I.e., "offtime" is like calling "localtime_rz" with a fixed-offset zone. +# "timelocal" is nearly equivalent to "mktime". # "timeoff" is like "timegm" except that it accepts a second (long) argument # that gives an offset to use when converting to a time_t. +# I.e., "timeoff" is like calling "mktime_z" with a fixed-offset zone. # "posix2time" and "time2posix" are described in an included manual page. # X3J11's work does not describe any of these functions. # These functions may well disappear in future releases of the time @@ -379,7 +409,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # # NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put # out by the National Institute of Standards and Technology -# which claims to test C and Posix conformance. If you want to pass PCTS, add +# which claims to test C and POSIX conformance. If you want to pass PCTS, add # -DPCTS # to the end of the "CFLAGS=" line. # @@ -389,19 +419,33 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \ # 53 as a week number (rather than 52 or 53) for January days before # January's first Monday when a "%V" format is used and January 1 # falls on a Friday, Saturday, or Sunday. +# +# POSIX says CFLAGS defaults to "-O 1". +# Uncomment the following line and edit its contents as needed. -CFLAGS= +#CFLAGS= -O 1 -# Linker flags. Default to $(LFLAGS) for backwards compatibility -# to release 2012h and earlier. -LDFLAGS= $(LFLAGS) +# The name of a POSIX-like library archiver, its flags, C compiler, +# linker flags, and 'make' utility. Ordinarily the defaults suffice. +# The commented-out values are the defaults specified by POSIX.1-202x/D4. +#AR = ar +#ARFLAGS = -rv +#CC = c17 +#LDFLAGS = +#MAKE = make # For leap seconds, this Makefile uses LEAPSECONDS='-L leapseconds' in # submake command lines. The default is no leap seconds. LEAPSECONDS= +# Where to fetch leap-seconds.list from. +leaplist_URI = \ + https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list +# The file is generated by the IERS Earth Orientation Centre, in Paris. +leaplist_TZ = Europe/Paris + # The zic command and its arguments. zic= ./zic @@ -419,22 +463,23 @@ ZFLAGS= ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' $(LEAPSECONDS) -# The name of a Posix-compliant 'awk' on your system. +# The name of a POSIX-compliant 'awk' on your system. # mawk 1.3.3 and Solaris 10 /usr/bin/awk do not work. # Also, it is better (though not essential) if 'awk' supports UTF-8, # and unfortunately mawk and busybox awk do not support UTF-8. # Try AWK=gawk or AWK=nawk if your awk has the abovementioned problems. AWK= awk -# The full path name of a Posix-compliant shell, preferably one that supports +# The full path name of a POSIX-compliant shell, preferably one that supports # the Korn shell's 'select' statement as an extension. # These days, Bash is the most popular. # It should be OK to set this to /bin/sh, on platforms where /bin/sh -# lacks 'select' or doesn't completely conform to Posix, but /bin/bash +# lacks 'select' or doesn't completely conform to POSIX, but /bin/bash # is typically nicer if it works. KSHELL= /bin/bash -# Name of curl , used for HTML validation. +# Name of curl , used for HTML validation +# and to fetch leap-seconds.list from upstream. CURL= curl # Name of GNU Privacy Guard , used to sign distributions. @@ -504,17 +549,16 @@ GZIPFLAGS= -9n DIFF_TZS= diff -u$$(! diff -u -F'^TZ=' - - <>/dev/null >&0 2>&1 \ || echo ' -F^TZ=') -############################################################################### - -#MAKE= make +# ':' on typical hosts; 'ranlib' on the ancient hosts that still need ranlib. +RANLIB= : -cc= cc -CC= $(cc) -DTZDIR='"$(TZDIR)"' +# POSIX prohibits defining or using SHELL. However, csh users on systems +# that use the user shell for Makefile commands may need to define SHELL. +#SHELL= /bin/sh -AR= ar +# End of macros that one plausibly might want to tailor. +############################################################################### -# ':' on typical hosts; 'ranlib' on the ancient hosts that still need ranlib. -RANLIB= : TZCOBJS= zic.o TZDOBJS= zdump.o localtime.o asctime.o strftime.o @@ -544,7 +588,7 @@ YDATA= $(PRIMARY_YDATA) etcetera NDATA= factory TDATA_TO_CHECK= $(YDATA) $(NDATA) backward TDATA= $(YDATA) $(NDATA) $(BACKWARD) -ZONETABLES= zone1970.tab zone.tab +ZONETABLES= zone.tab zone1970.tab zonenow.tab TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES) LEAP_DEPS= leapseconds.awk leap-seconds.list TZDATA_ZI_DEPS= ziguard.awk zishrink.awk version $(TDATA) \ @@ -552,7 +596,7 @@ TZDATA_ZI_DEPS= ziguard.awk zishrink.awk version $(TDATA) \ DSTDATA_ZI_DEPS= ziguard.awk $(TDATA) $(PACKRATDATA) $(PACKRATLIST) DATA= $(TDATA_TO_CHECK) backzone iso3166.tab leap-seconds.list \ leapseconds $(ZONETABLES) -AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk \ +AWK_SCRIPTS= checklinks.awk checknow.awk checktab.awk leapseconds.awk \ ziguard.awk zishrink.awk MISC= $(AWK_SCRIPTS) TZS_YEAR= 2050 @@ -573,7 +617,7 @@ VERSION_DEPS= \ calendars CONTRIBUTING LICENSE Makefile NEWS README SECURITY \ africa antarctica asctime.c asia australasia \ backward backzone \ - checklinks.awk checktab.awk \ + checklinks.awk checknow.awk checktab.awk \ date.1 date.c difftime.c \ etcetera europe factory iso3166.tab \ leap-seconds.list leapseconds.awk localtime.c \ @@ -583,12 +627,7 @@ VERSION_DEPS= \ tzfile.5 tzfile.h tzselect.8 tzselect.ksh \ workman.sh zdump.8 zdump.c zic.8 zic.c \ ziguard.awk zishrink.awk \ - zone.tab zone1970.tab - -# And for the benefit of csh users on systems that assume the user -# shell should be used to handle commands in Makefiles. . . - -SHELL= /bin/sh + zone.tab zone1970.tab zonenow.tab all: tzselect zic zdump libtz.a $(TABDATA) \ vanguard.zi main.zi rearguard.zi @@ -658,6 +697,16 @@ tzdata.zi: $(DATAFORM).zi version zishrink.awk $(DATAFORM).zi >$@.out mv $@.out $@ +tzdir.h: + printf '%s\n' >$@.out \ + '#ifndef TZDEFAULT' \ + '# define TZDEFAULT "$(TZDEFAULT)" /* default zone */' \ + '#endif' \ + '#ifndef TZDIR' \ + '# define TZDIR "$(TZDIR)" /* TZif directory */' \ + '#endif' + mv $@.out $@ + version.h: version VERSION=`cat version` && printf '%s\n' \ 'static char const PKGVERSION[]="($(PACKAGE)) ";' \ @@ -677,6 +726,28 @@ leapseconds: $(LEAP_DEPS) -f leapseconds.awk leap-seconds.list >$@.out mv $@.out $@ +# Awk script to extract a Git-style author from leap-seconds.list comments. +EXTRACT_AUTHOR = \ + author_line { sub(/^.[[:space:]]*/, ""); \ + sub(/:[[:space:]]*/, " <"); \ + printf "%s>\n", $$0; \ + success = 1; \ + exit \ + } \ + /Questions or comments to:/ { author_line = 1 } \ + END { exit !success } + +# Fetch leap-seconds.list from upstream. +fetch-leap-seconds.list: + $(CURL) -OR $(leaplist_URI) + +# Fetch leap-seconds.list from upstream and commit it to the local repository. +commit-leap-seconds.list: fetch-leap-seconds.list + author=$$($(AWK) '$(EXTRACT_AUTHOR)' leap-seconds.list) && \ + date=$$(TZ=$(leaplist_TZ) stat -c%y leap-seconds.list) && \ + git commit --author="$$author" --date="$$date" -m'make $@' \ + leap-seconds.list + # Arguments to pass to submakes of install_data. # They can be overridden by later submake arguments. INSTALLARGS = \ @@ -764,7 +835,7 @@ force_tzs: $(TZS_NEW) libtz.a: $(LIBOBJS) rm -f $@ - $(AR) -rc $@ $(LIBOBJS) + $(AR) $(ARFLAGS) $@ $(LIBOBJS) $(RANLIB) $@ date: $(DATEOBJS) @@ -772,26 +843,32 @@ date: $(DATEOBJS) tzselect: tzselect.ksh version VERSION=`cat version` && sed \ - -e 's|#!/bin/bash|#!$(KSHELL)|g' \ - -e 's|AWK=[^}]*|AWK='\''$(AWK)'\''|g' \ - -e 's|\(PKGVERSION\)=.*|\1='\''($(PACKAGE)) '\''|' \ - -e 's|\(REPORT_BUGS_TO\)=.*|\1=$(BUGEMAIL)|' \ - -e 's|TZDIR=[^}]*|TZDIR=$(TZDIR)|' \ - -e 's|\(TZVERSION\)=.*|\1='"$$VERSION"'|' \ - <$@.ksh >$@.out + -e "s'#!/bin/bash'#!"'$(KSHELL)'\' \ + -e s\''\(AWK\)=[^}]*'\''\1=\'\''$(AWK)\'\'\' \ + -e s\''\(PKGVERSION\)=.*'\''\1=\'\''($(PACKAGE)) \'\'\' \ + -e s\''\(REPORT_BUGS_TO\)=.*'\''\1=\'\''$(BUGEMAIL)\'\'\' \ + -e s\''\(TZDIR\)=[^}]*'\''\1=\'\''$(TZDIR)\'\'\' \ + -e s\''\(TZVERSION\)=.*'\''\1=\'"'$$VERSION\\''" \ + <$@.ksh >$@.out chmod +x $@.out mv $@.out $@ check: check_back check_mild check_mild: check_character_set check_white_space check_links \ - check_name_lengths check_slashed_abbrs check_sorted \ + check_name_lengths check_now \ + check_slashed_abbrs check_sorted \ check_tables check_web check_ziguard check_zishrink check_tzs +# True if UTF8_LOCALE does not work; +# otherwise, false but with LC_ALL set to $(UTF8_LOCALE). +UTF8_LOCALE_MISSING = \ + { test ! '$(UTF8_LOCALE)' \ + || ! printf 'A\304\200B\n' \ + | LC_ALL='$(UTF8_LOCALE)' grep -q '^A.B$$' >/dev/null 2>&1 \ + || { LC_ALL='$(UTF8_LOCALE)'; export LC_ALL; false; }; } + check_character_set: $(ENCHILADA) - test ! '$(UTF8_LOCALE)' || \ - ! printf 'A\304\200B\n' | \ - LC_ALL='$(UTF8_LOCALE)' grep -q '^A.B$$' >/dev/null 2>&1 || { \ - LC_ALL='$(UTF8_LOCALE)' && export LC_ALL && \ + $(UTF8_LOCALE_MISSING) || { \ sharp='#' && \ ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \ $(MISC) $(SOURCES) $(WEB_PAGES) \ @@ -806,12 +883,12 @@ check_character_set: $(ENCHILADA) touch $@ check_white_space: $(ENCHILADA) + $(UTF8_LOCALE_MISSING) || { \ patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \ - ! grep -En "$$pat" \ - $$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list) - ! grep -n '[$s]$$' \ - $$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list) - touch $@ + ! grep -En "$$pat|[$s]\$$" \ + $$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list); \ + } + touch $@ PRECEDES_FILE_NAME = ^(Zone|Link[$s]+[^$s]+)[$s]+ FILE_NAME_COMPONENT_TOO_LONG = $(PRECEDES_FILE_NAME)[^$s]*[^/$s]{15} @@ -852,7 +929,29 @@ check_links: checklinks.awk tzdata.zi -f checklinks.awk tzdata.zi touch $@ -check_tables: checktab.awk $(YDATA) backward $(ZONETABLES) +# Check timestamps from now through 28 years from now, to make sure +# that zonenow.tab contains all sequences of planned timestamps, +# without any duplicate sequences. In theory this might require +# 2800 years but that would take a long time to check. +CHECK_NOW_TIMESTAMP = `./date +%s` +CHECK_NOW_FUTURE_YEARS = 28 +CHECK_NOW_FUTURE_SECS = $(CHECK_NOW_FUTURE_YEARS) '*' 366 '*' 24 '*' 60 '*' 60 +check_now: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab + rm -fr $@.dir + mkdir $@.dir + ./zic -d $@.dir tzdata.zi + now=$(CHECK_NOW_TIMESTAMP) && \ + future=`expr $(CHECK_NOW_FUTURE_SECS) + $$now` && \ + ./zdump -i -t $$now,$$future \ + $$(find $$PWD/$@.dir/????*/ -type f) \ + >$@.dir/zdump.tab + $(AWK) \ + -v zdump_table=$@.dir/zdump.tab \ + -f checknow.awk zonenow.tab + rm -fr $@.dir + touch $@ + +check_tables: checktab.awk $(YDATA) backward zone.tab zone1970.tab for tab in $(ZONETABLES); do \ test "$$tab" = zone.tab && links='$(BACKWARD)' || links=''; \ $(AWK) -f checktab.awk -v zone_table=$$tab $(YDATA) $$links \ @@ -912,10 +1011,10 @@ check_zishrink_posix check_zishrink_right: \ touch $@ clean_misc: - rm -fr check_*.dir + rm -fr check_*.dir typecheck_*.dir rm -f *.o *.out $(TIME_T_ALTERNATIVES) \ check_* core typecheck_* \ - date tzselect version.h zdump zic libtz.a + date tzdir.h tzselect version.h zdump zic libtz.a clean: clean_misc rm -fr *.dir tzdb-*/ rm -f *.zi $(TZS_NEW) @@ -953,12 +1052,18 @@ $(MANTXTS): workman.sh # plus N if GNU ls and touch are available. SET_TIMESTAMP_N = sh -c '\ n=$$0 dest=$$1; shift; \ - touch -cmr `ls -t "$$@" | sed 1q` "$$dest" && \ + <"$$dest" && \ if test $$n != 0 && \ - lsout=`ls -n --time-style="+%s" "$$dest" 2>/dev/null`; then \ + lsout=`ls -nt --time-style="+%s" "$$@" 2>/dev/null`; then \ set x $$lsout && \ - touch -cmd @`expr $$7 + $$n` "$$dest"; \ - else :; fi' + timestamp=`expr $$7 + $$n` && \ + echo "+ touch -md @$$timestamp $$dest" && \ + touch -md @$$timestamp "$$dest"; \ + else \ + newest=`ls -t "$$@" | sed 1q` && \ + echo "+ touch -mr $$newest $$dest" && \ + touch -mr "$$newest" "$$dest"; \ + fi' # If DEST depends on A B C ... in this Makefile, callers should use # $(SET_TIMESTAMP_DEP) DEST A B C ..., for the benefit of any # downstream 'make' that considers equal timestamps to be out of date. @@ -983,8 +1088,12 @@ set-timestamps.out: $(EIGHT_YARDS) rm -f test.out && \ for file in $$files; do \ if git diff --quiet $$file; then \ - time=`git log -1 --format='tformat:%ct' $$file` && \ - touch -cmd @$$time $$file; \ + time=`TZ=UTC0 git log -1 \ + --format='tformat:%cd' \ + --date='format:%Y-%m-%dT%H:%M:%SZ' \ + $$file` && \ + echo "+ touch -md $$time $$file" && \ + touch -md $$time $$file; \ else \ echo >&2 "$$file: warning: does not match repository"; \ fi || exit; \ @@ -1009,7 +1118,8 @@ check_public: $(VERSION_DEPS) rm -fr public.dir mkdir public.dir ln $(VERSION_DEPS) public.dir - cd public.dir && $(MAKE) CFLAGS='$(GCC_DEBUG_FLAGS)' ALL + cd public.dir \ + && $(MAKE) CFLAGS='$(GCC_DEBUG_FLAGS)' TZDIR='$(TZDIR)' ALL for i in $(TDATA_TO_CHECK) public.dir/tzdata.zi \ public.dir/vanguard.zi public.dir/main.zi \ public.dir/rearguard.zi; \ @@ -1140,7 +1250,7 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out sed '1s/$$/-rearguard/' $@.dir/version : The dummy pacificnew pacifies TZUpdater 2.3.1 and earlier. $(CREATE_EMPTY) $@.dir/pacificnew - touch -cmr version $@.dir/version + touch -mr version $@.dir/version LC_ALL=C && export LC_ALL && \ (cd $@.dir && \ tar $(TARFLAGS) -cf - \ @@ -1164,7 +1274,7 @@ tzdata$(VERSION)-tailored.tar.gz: set-timestamps.out `test $(DATAFORM) = vanguard || echo pacificnew` (grep '^#' tzdata.zi && echo && cat $(DATAFORM).zi) \ >$@.dir/etcetera - touch -cmr tzdata.zi $@.dir/etcetera + touch -mr tzdata.zi $@.dir/etcetera sed -n \ -e '/^# *version *\(.*\)/h' \ -e '/^# *ddeps */H' \ @@ -1175,7 +1285,7 @@ tzdata$(VERSION)-tailored.tar.gz: set-timestamps.out -e 's/ /-/g' \ -e 'p' \ $@.dir/version - touch -cmr version $@.dir/version + touch -mr version $@.dir/version links= && \ for file in $(TZDATA_DIST); do \ test -f $@.dir/$$file || links="$$links $$file"; \ @@ -1227,15 +1337,16 @@ zonenames: tzdata.zi asctime.o: private.h tzfile.h date.o: private.h difftime.o: private.h -localtime.o: private.h tzfile.h +localtime.o: private.h tzfile.h tzdir.h strftime.o: private.h tzfile.h zdump.o: version.h -zic.o: private.h tzfile.h version.h +zic.o: private.h tzfile.h tzdir.h version.h .PHONY: ALL INSTALL all .PHONY: check check_mild check_time_t_alternatives .PHONY: check_web check_zishrink -.PHONY: clean clean_misc dummy.zd force_tzs +.PHONY: clean clean_misc commit-leap-seconds.list dummy.zd +.PHONY: fetch-leap-seconds.list force_tzs .PHONY: install install_data maintainer-clean names .PHONY: posix_only posix_right public .PHONY: rearguard_signatures rearguard_signatures_version diff --git a/contrib/tzcode/NEWS b/contrib/tzcode/NEWS index b54538aa4a82..d407342a50e6 100644 --- a/contrib/tzcode/NEWS +++ b/contrib/tzcode/NEWS @@ -1,5 +1,177 @@ News for the tz database +Release 2024a - 2024-02-01 09:28:56 -0800 + + Briefly: + Kazakhstan unifies on UTC+5 beginning 2024-03-01. + Palestine springs forward a week later after Ramadan. + zic no longer pretends to support indefinite-past DST. + localtime no longer mishandles Ciudad Juárez in 2422. + + Changes to future timestamps + + Kazakhstan unifies on UTC+5. This affects Asia/Almaty and + Asia/Qostanay which together represent the eastern portion of the + country that will transition from UTC+6 on 2024-03-01 at 00:00 to + join the western portion. (Thanks to Zhanbolat Raimbekov.) + + Palestine springs forward a week later than previously predicted + in 2024 and 2025. (Thanks to Heba Hamad.) Change spring-forward + predictions to the second Saturday after Ramadan, not the first; + this also affects other predictions starting in 2039. + + Changes to past timestamps + + Asia/Ho_Chi_Minh's 1955-07-01 transition occurred at 01:00 + not 00:00. (Thanks to Đoàn Trần Công Danh.) + + From 1947 through 1949, Toronto's transitions occurred at 02:00 + not 00:00. (Thanks to Chris Walton.) + + In 1911 Miquelon adopted standard time on June 15, not May 15. + + Changes to code + + The FROM and TO columns of Rule lines can no longer be "minimum" + or an abbreviation of "minimum", because TZif files do not support + DST rules that extend into the indefinite past - although these + rules were supported when TZif files had only 32-bit data, this + stopped working when 64-bit TZif files were introduced in 1995. + This should not be a problem for realistic data, since DST was + first used in the 20th century. As a transition aid, FROM columns + like "minimum" are now diagnosed and then treated as if they were + the year 1900; this should suffice for TZif files on old systems + with only 32-bit time_t, and it is more compatible with bugs in + 2023c-and-earlier localtime.c. (Problem reported by Yoshito + Umaoka.) + + localtime and related functions no longer mishandle some + timestamps that occur about 400 years after a switch to a time + zone with a DST schedule. In 2023d data this problem was visible + for some timestamps in November 2422, November 2822, etc. in + America/Ciudad_Juarez. (Problem reported by Gilmore Davidson.) + + strftime %s now uses tm_gmtoff if available. (Problem and draft + patch reported by Dag-Erling Smørgrav.) + + Changes to build procedure + + The leap-seconds.list file is now copied from the IERS instead of + from its downstream counterpart at NIST, as the IERS version is + now in the public domain too and tends to be more up-to-date. + (Thanks to Martin Burnicki for liaisoning with the IERS.) + + Changes to documentation + + The strftime man page documents which struct tm members affect + which conversion specs, and that tzset is called. (Problems + reported by Robert Elz and Steve Summit.) + + +Release 2023d - 2023-12-21 20:02:24 -0800 + + Briefly: + Ittoqqortoormiit, Greenland changes time zones on 2024-03-31. + Vostok, Antarctica changed time zones on 2023-12-18. + Casey, Antarctica changed time zones five times since 2020. + Code and data fixes for Palestine timestamps starting in 2072. + A new data file zonenow.tab for timestamps starting now. + + Changes to future timestamps + + Ittoqqortoormiit, Greenland (America/Scoresbysund) joins most of + the rest of Greenland's timekeeping practice on 2024-03-31, by + changing its time zone from -01/+00 to -02/-01 at the same moment + as the spring-forward transition. Its clocks will therefore not + spring forward as previously scheduled. The time zone change + reverts to its common practice before 1981. + + Fix predictions for DST transitions in Palestine in 2072-2075, + correcting a typo introduced in 2023a. + + Changes to past and future timestamps + + Vostok, Antarctica changed to +05 on 2023-12-18. It had been at + +07 (not +06) for years. (Thanks to Zakhary V. Akulov.) + + Change data for Casey, Antarctica to agree with timeanddate.com, + by adding five time zone changes since 2020. Casey is now at +08 + instead of +11. + + Changes to past tm_isdst flags + + Much of Greenland, represented by America/Nuuk, changed its + standard time from -03 to -02 on 2023-03-25, not on 2023-10-28. + This does not affect UTC offsets, only the tm_isdst flag. + (Thanks to Thomas M. Steenholdt.) + + New data file + + A new data file zonenow.tab helps configure applications that use + timestamps dated from now on. This simplifies configuration, + since users choose from a smaller Zone set. The file's format is + experimental and subject to change. + + Changes to code + + localtime.c no longer mishandles TZif files that contain a single + transition into a DST regime. Previously, it incorrectly assumed + DST was in effect before the transition too. (Thanks to Alois + Treindl for debugging help.) + + localtime.c's timeoff no longer collides with OpenBSD 7.4. + + The C code now uses _Generic only if __STDC_VERSION__ says the + compiler is C11 or later. + + tzselect now optionally reads zonenow.tab, to simplify when + configuring only for timestamps dated from now on. + + tzselect no longer creates temporary files. + + tzselect no longer mishandles the following: + + Spaces and most other special characters in BUGEMAIL, PACKAGE, + TZDIR, and VERSION. + + TZ strings when using mawk 1.4.3, which mishandles regular + expressions of the form /X{2,}/. + + ISO 6709 coordinates when using an awk that lacks the GNU + extension of newlines in -v option-arguments. + + Non UTF-8 locales when using an iconv command that lacks the GNU + //TRANSLIT extension. + + zic no longer mishandles data for Palestine after the year 2075. + Previously, it incorrectly omitted post-2075 transitions that are + predicted for just before and just after Ramadan. (Thanks to Ken + Murchison for debugging help.) + + zic now works again on Linux 2.6.16 and 2.6.17 (2006). + (Problem reported by Rune Torgersen.) + + Changes to build procedure + + The Makefile is now more compatible with POSIX: + * It no longer defines AR, CC, CFLAGS, LDFLAGS, and SHELL. + * It no longer uses its own 'cc' in place of CC. + * It now uses ARFLAGS, with default specified by POSIX. + * It does not use LFLAGS incompatibly with POSIX. + * It uses the special .POSIX target. + * It quotes special characters more carefully. + * It no longer mishandles builds in an ISO 8859 locale. + Due to the CC changes, TZDIR is now #defined in a file tzfile.h + built by 'make', not in a $(CC) -D option. Also, TZDEFAULT is + now treated like TZDIR as they have similar roles. + + Changes to commentary + + Limitations and hazards of the optional support for obsolescent + C89 platforms are documented better, along with a tentative + schedule for removing this support. + + Release 2023c - 2023-03-28 12:42:14 -0700 Changes to past and future timestamps @@ -76,11 +248,14 @@ Release 2023a - 2023-03-22 12:39:33 -0700 platform dependent and abbreviations were silently truncated to 16 bytes even when the limit was greater than 16. - The code by default is now designed for C99 or later. To build in - a C89 environment, compile with -DPORT_TO_C89. To support C89 - callers of the tzcode library, compile with -DSUPPORT_C89. The - two new macros are transitional aids planned to be removed in a - future version, when C99 or later will be required. + The code by default is now designed for C99 or later. To build on + a mostly-C89 platform, compile with -DPORT_TO_C89; this should + work on C89 platforms that also support C99 'long long' and + perhaps a few other extensions to C89. To support C89 callers of + tzcode's library, compile with -DSUPPORT_C89; however, this could + trigger latent bugs in C99-or-later callers. The two new macros + are transitional aids planned to be removed in a future version + (say, in 2029), when C99 or later will be required. The code now builds again on pre-C99 platforms, if you compile with -DPORT_TO_C89. This fixes a bug introduced in 2022f. @@ -723,6 +898,8 @@ Release 2021b - 2021-09-24 16:23:00 -0700 them, set the EXPIRES_LINE Makefile variable. If a TZif file uses this new feature it is marked with a new TZif version number 4, a format intended to be documented in a successor to RFC 8536. + The old-format "#expires" comments are now treated solely as + comments and have no effect on the TZif files. zic -L LEAPFILE -r @LO no longer generates an invalid TZif file that omits leap second information for the range LO..B when LO @@ -4302,7 +4479,7 @@ Release 2012j - 2012-11-12 18:34:49 -0800 now uses tz@iana.org rather than the old elsie address. zic -v now complains about abbreviations that are less than 3 - or more than 6 characters, as per Posix. Formerly, it checked + or more than 6 characters, as per POSIX. Formerly, it checked for abbreviations that were more than 3. 'make public' no longer puts its temporary directory under /tmp, @@ -4467,8 +4644,8 @@ Release data2011m - 2011-10-24 21:42:16 +0700 In particular, the typos in comments in the data (2011-11-17 should have been 2011-10-17 as Alan Barrett noted, and spelling of Tiraspol that Tim Parenti noted) have been fixed, and the change for Ukraine has been - made in all 4 Ukrainian zones, rather than just Kiev (again, thanks to - Tim Parenti, and also Denys Gavrysh) + made in all 4 Ukrainian zones, rather than just Europe/Kiev + (again, thanks to Tim Parenti, and also Denys Gavrysh). In addition, I added Europe/Tiraspol to zone.tab. diff --git a/contrib/tzcode/README b/contrib/tzcode/README index 145aacd495b7..edabd2e0690f 100644 --- a/contrib/tzcode/README +++ b/contrib/tzcode/README @@ -11,14 +11,17 @@ changes made by political bodies to time zone boundaries, UTC offsets, and daylight-saving rules. See or the -file tz-link.html for how to acquire the code and data. Once acquired, -read the comments in the file 'Makefile' and make any changes needed -to make things right for your system, especially if you are using some -platform other than GNU/Linux. Then run the following commands, -substituting your desired installation directory for "$HOME/tzdir": - - make TOPDIR=$HOME/tzdir install - $HOME/tzdir/usr/bin/zdump -v America/Los_Angeles +file tz-link.html for how to acquire the code and data. + +Once acquired, read the leading comments in the file "Makefile" +and make any changes needed to make things right for your system, +especially when using a platform other than current GNU/Linux. + +Then run the following commands, substituting your desired +installation directory for "$HOME/tzdir": + + make TOPDIR="$HOME/tzdir" install + "$HOME/tzdir/usr/bin/zdump" -v America/Los_Angeles See the file tz-how-to.html for examples of how to read the data files. diff --git a/contrib/tzcode/date.1 b/contrib/tzcode/date.1 index e8107212364d..01907bc76e2c 100644 --- a/contrib/tzcode/date.1 +++ b/contrib/tzcode/date.1 @@ -154,15 +154,11 @@ hexadecimal (leading 0x), preceded by an optional sign. .br /usr/lib/locale/\f2L\fP/LC_TIME description of time locale \f2L\fP .br -/usr/share/zoneinfo timezone information directory +/usr/share/zoneinfo timezone directory .br -/usr/share/zoneinfo/posixrules default DST rules (obsolete, - and can cause bugs if present) +/usr/share/zoneinfo/posixrules default DST rules (obsolete) .br /usr/share/zoneinfo/GMT for UTC leap seconds -.sp -If -.B /usr/share/zoneinfo/GMT -is absent, -UTC leap seconds are loaded from -.BR /usr/share/zoneinfo/posixrules . +.PP +If /usr/share/zoneinfo/GMT is absent, +UTC leap seconds are loaded from /usr/share/zoneinfo/GMT0 if present. diff --git a/contrib/tzcode/localtime.c b/contrib/tzcode/localtime.c index 3bf9378fe673..2b33cce1ec50 100644 --- a/contrib/tzcode/localtime.c +++ b/contrib/tzcode/localtime.c @@ -7,7 +7,7 @@ /* ** Leap second handling from Bradley White. -** POSIX-style TZ environment variable handling from Guy Harris. +** POSIX.1-1988 style TZ environment variable handling from Guy Harris. */ /*LINTLIBRARY*/ @@ -27,6 +27,7 @@ #include "private.h" #include "un-namespace.h" +#include "tzdir.h" #include "tzfile.h" #include "libc_private.h" @@ -124,12 +125,17 @@ static char const UNSPEC[] = "-00"; for ttunspecified to work without crashing. */ enum { CHARS_EXTRA = max(sizeof UNSPEC, 2) - 1 }; -/* Limit to time zone abbreviation length in POSIX-style TZ strings. +/* Limit to time zone abbreviation length in POSIX.1-2017-style TZ strings. This is distinct from TZ_MAX_CHARS, which limits TZif file contents. */ #ifndef TZNAME_MAXIMUM # define TZNAME_MAXIMUM 255 #endif +/* A representation of the contents of a TZif file. Ideally this + would have no size limits; the following sizes should suffice for + practical use. This struct should not be too large, as instances + are put on the stack and stacks are relatively small on some platforms. + See tzfile.h for more about the sizes. */ struct state { int leapcnt; int timecnt; @@ -172,8 +178,7 @@ static int_fast32_t leapcorr(struct state const *, time_t); static bool normalize_overflow32(int_fast32_t *, int *, int); static struct tm *timesub(time_t const *, int_fast32_t, struct state const *, struct tm *); -static bool typesequiv(struct state const *, int, int); -static bool tzparse(char const *, struct state *, struct state *); +static bool tzparse(char const *, struct state *, struct state const *); #ifdef ALL_STATE static struct state * lclptr; @@ -438,7 +443,8 @@ union input_buffer { /* The first part of the buffer, interpreted as a header. */ struct tzhead tzhead; - /* The entire buffer. */ + /* The entire buffer. Ideally this would have no size limits; + the following should suffice for practical use. */ char buf[2 * sizeof(struct tzhead) + 2 * sizeof(struct state) + 4 * TZ_MAX_TIMES]; }; @@ -457,7 +463,12 @@ union local_storage { struct state st; } u; - /* The file name to be opened. */ + /* The name of the file to be opened. Ideally this would have no + size limits, to support arbitrarily long Zone names. + Limiting Zone names to 1024 bytes should suffice for practical use. + However, there is no need for this to be smaller than struct + file_analysis as that struct is allocated anyway, as the other + union member. */ char fullname[max(sizeof(struct file_analysis), sizeof tzdirslash + 1024)]; }; @@ -737,14 +748,18 @@ tzloadbody(char const *name, struct state *sp, bool doextend, == sp->types[sp->timecnt - 2])) sp->timecnt--; - for (i = 0; - i < ts->timecnt && sp->timecnt < TZ_MAX_TIMES; - i++) { + sp->goahead = ts->goahead; + + for (i = 0; i < ts->timecnt; i++) { time_t t = ts->ats[i]; if (increment_overflow_time(&t, leapcorr(sp, t)) || (0 < sp->timecnt && t <= sp->ats[sp->timecnt - 1])) continue; + if (TZ_MAX_TIMES <= sp->timecnt) { + sp->goahead = false; + break; + } sp->ats[sp->timecnt] = t; sp->types[sp->timecnt] = (sp->typecnt + ts->types[i]); @@ -757,28 +772,6 @@ tzloadbody(char const *name, struct state *sp, bool doextend, } if (sp->typecnt == 0) return EINVAL; - if (sp->timecnt > 1) { - if (sp->ats[0] <= TIME_T_MAX - SECSPERREPEAT) { - time_t repeatat = sp->ats[0] + SECSPERREPEAT; - int repeattype = sp->types[0]; - for (i = 1; i < sp->timecnt; ++i) - if (sp->ats[i] == repeatat - && typesequiv(sp, sp->types[i], repeattype)) { - sp->goback = true; - break; - } - } - if (TIME_T_MIN + SECSPERREPEAT <= sp->ats[sp->timecnt - 1]) { - time_t repeatat = sp->ats[sp->timecnt - 1] - SECSPERREPEAT; - int repeattype = sp->types[sp->timecnt - 1]; - for (i = sp->timecnt - 2; i >= 0; --i) - if (sp->ats[i] == repeatat *** 3862 LINES SKIPPED *** From nobody Wed Feb 21 20:59:19 2024 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 4Tg7tc1wyWz5BM6T; Wed, 21 Feb 2024 20:59: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 4Tg7tc0lX7z4HWL; Wed, 21 Feb 2024 20:59:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708549160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=louh48h4odhmqZBou2vPIdpyotU3qPuzhVDPhTA2emE=; b=A/n0txwJIE365abmjtfHcDAhlAxmgK8f9yvrgyYgIoAGGQ1B6njfuktRdhrx7h4UXDccff 3khZkE0vBMzymg/pueiQ+mcI47USmAd1zDY3AxKq8TLBUZ9WWvZxacWX4sqUVO06FnavSx BVoQQyHhL6bfS+ADshZnmhN4QIrBfRBYyWjP0nn6heBk+rBMjUjOxkJULblZKmSA5Jw6p1 U2bfVHZkacXd8QQNNymhYPQMi6HgccBLiNcVOpmR9CSbYtBVObdPMCdlEe/XDjlIbhgGui Q26m1WZrB/5UUp63LdrAllKFyaFhloIuyUHPRdOJfVp/1NRhTnugeb8pyl0Fjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708549160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=louh48h4odhmqZBou2vPIdpyotU3qPuzhVDPhTA2emE=; b=Wl/Gxsnf3NysDvfXvw+K+07pAcqBWka0OLhT/IwDGAnLMGSYQsIMCSe9/q1v/HLTiMcEz1 S2NKCS4yfjlPCxFXT3Xd2OmbDRdEfy8RpyRelmFYz2RmIMs7Fjt7KZ7zFkHcEpEMAzaViv jM6e7ytXGKXXPrDfRgr/GiZVwQsNYvUjQ1UFKrGt8qJTfnaWWOc+u8Ruk6JT2ZSX2fskJp 6lZuLCf1rDQUT+t5/5Lxucr5CNXYY5Gm9pSYijxrJhsenh/OvWLLEjMZjzM75Q7KaM3S5R Wa0afpdt5kQazke2KJxPluJTFq8TY8aI1BTkS4/JHKeoHMze4kV7RypSqwlqAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708549160; a=rsa-sha256; cv=none; b=hA0HxvWcmWIblQp3J0ZiJ9BaAJVIDlHhnlwNwLqH6SPAhJhe1m8HbTNVWcWd9wAa69no1d yzOslIt/43QKB+XsjTvQ6xg65/LXyX565Uit4Ag33YnE2jDnIQoNfhceXS/DYUsW3XksEb 5TizghJSkw9IJmh995Hkklkx1B19Yy2H+O9v0/jX0UKBtqv8WPLurOYzYAEHSyLLq2FpRL 5T5z4nxbI2B+khWewdR3rarNtQaxgN7A6xIgWBPyKJoVEf3noY0lB2alFBuGuft/s5Fu9C UYYT/bWVFySI/QtU35YDouiAZAFyFW0ge/S7lV+UtK3mDHzYPjpEymafQ109rg== 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 4Tg7tb6yWqz1JFx; Wed, 21 Feb 2024 20:59: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 41LKxJqB037001; Wed, 21 Feb 2024 20:59:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LKxJ0e036998; Wed, 21 Feb 2024 20:59:19 GMT (envelope-from git) Date: Wed, 21 Feb 2024 20:59:19 GMT Message-Id: <202402212059.41LKxJ0e036998@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 245844372d7e - stable/14 - tzcode: Fix overflow handling in TZ parser. 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 245844372d7e4dd7c633816b67c0da59be75b812 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=245844372d7e4dd7c633816b67c0da59be75b812 commit 245844372d7e4dd7c633816b67c0da59be75b812 Author: Dag-Erling Smørgrav AuthorDate: 2024-02-18 09:48:08 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-21 20:33:23 +0000 tzcode: Fix overflow handling in TZ parser. Obtained from: upstream 9fc11a27 MFC after: 1 week PR: 276281 (cherry picked from commit 1365bb722af1365baee6ea1e3d44917533908d53) --- contrib/tzcode/localtime.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contrib/tzcode/localtime.c b/contrib/tzcode/localtime.c index 2b33cce1ec50..25a65385256b 100644 --- a/contrib/tzcode/localtime.c +++ b/contrib/tzcode/localtime.c @@ -1246,11 +1246,13 @@ tzparse(const char *name, struct state *sp, struct state const *basep) do { int_fast32_t yearsecs = year_lengths[isleap(yearbeg - 1)] * SECSPERDAY; + time_t janfirst1 = janfirst; yearbeg--; - if (increment_overflow_time(&janfirst, -yearsecs)) { + if (increment_overflow_time(&janfirst1, -yearsecs)) { janoffset = -yearsecs; break; } + janfirst = janfirst1; } while (atlo < janfirst && EPOCH_YEAR - YEARSPERREPEAT / 2 < yearbeg); From nobody Wed Feb 21 20:59:36 2024 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 4Tg7tx0bB5z5BLjD; Wed, 21 Feb 2024 20:59:37 +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 4Tg7tx04crz4Hy6; Wed, 21 Feb 2024 20:59:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708549177; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qxVf6EW4m5rFDkHpXrCce9NmyrH41L06vRTfIQBjKFY=; b=t/B5fvwDUTTGWxBb+j07lbE9QtY/R1ApuxATn1FnrW5NcCc/FAZkbaQ6uh/3QETqLlQGOG D3mQzDJGJKmF3VGyAfNFy2L2/hucJGTiVAVp4WN7GoYLDJY1pKyF+/z6NG1YGR3p5nitEY QN4udDdzl/DBpR/t9xEL1oS/NwlLKYx1Dd7d4Rb5OZxBzyfSVvdqaRNRbiALrgifrpNLPz ENvh9h+mzalriWCon77SK7hWIvZUC6/t0f6Va/QWRMRgYoULx3oJ2Yf26GdQrDJqoMmLW+ 9c+Rid8zheOGw/NeKezwYxQ4JguP5lpFp+voVEVbkLt0sT4RbQUifhZQOwGSFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708549177; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qxVf6EW4m5rFDkHpXrCce9NmyrH41L06vRTfIQBjKFY=; b=LyGSodqI4hS6GfWNEPLccFK42rIliQDTBxzgS2/jyC1GaQTgmc2JP+9YnfZf0rz8kkENvJ e2mD3bdhxgLhBNp9msDMdgQ0a17WaFNV2oRj67FSZDy3QXqAHsBGQ9SlOwTtEOB2fjh5vS j+IMRNN4FlxftbsAzEoirUswid0c+d2dNdRbt0zY5XArBsp2sPIKkl/odwT/Fb0Tjj5zU0 8pueLhB8Ga0vzqOmyIhMrmV+D0oMMgDuEeE6JtDXnalS90OBov0odqoC+3jy8c2itBnzWC WutWAU9T9eV6GNmgAxgF+gqHXUsJSs9DKlT+RksWewurOL+WA3iJsQdyKQD/eg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708549177; a=rsa-sha256; cv=none; b=Ci3f3x5pufcWejnOueRpuHf3xpcLAosECFZ2QAveiSSuwKfMjS9VtY+YPddvqqcTAa1NdK 1JdPsMNqanWT679p9AFHZl+TvhrxEeGV8q0kPQgEkH6nWCWsMxSA1+bz4vTcRyiAec42+I pAdWRZDADcpli6rcoOHsKLhdk3J4OjGZEzrNDn6L2NzbeR+rR6+hf119gtsR+AjhDf03hF oW/axdxbxamL+pxDuww955WkHiEs5BeZsyeru7ShPgib4anSDUTg0Y+ZaH4EXLTdh6Tqef 8lEXb8qRM9cNNWzIUWHAk89qQbbp5I5pHiKSPR0Kop7GvoxvYs7ynujoylJ7kQ== 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 4Tg7tw6F7wz1JCR; Wed, 21 Feb 2024 20:59: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 41LKxawM037202; Wed, 21 Feb 2024 20:59:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41LKxaJo037199; Wed, 21 Feb 2024 20:59:36 GMT (envelope-from git) Date: Wed, 21 Feb 2024 20:59:36 GMT Message-Id: <202402212059.41LKxaJo037199@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: beb958dca02a - stable/13 - tzcode: Fix overflow handling in TZ parser. 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/stable/13 X-Git-Reftype: branch X-Git-Commit: beb958dca02abf79a2172e702c2d24bbccde60fa Auto-Submitted: auto-generated The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=beb958dca02abf79a2172e702c2d24bbccde60fa commit beb958dca02abf79a2172e702c2d24bbccde60fa Author: Dag-Erling Smørgrav AuthorDate: 2024-02-18 09:48:08 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-21 20:59:26 +0000 tzcode: Fix overflow handling in TZ parser. Obtained from: upstream 9fc11a27 MFC after: 1 week PR: 276281 Approved by: re (cperciva) (cherry picked from commit 1365bb722af1365baee6ea1e3d44917533908d53) --- contrib/tzcode/localtime.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contrib/tzcode/localtime.c b/contrib/tzcode/localtime.c index 3bf9378fe673..8bf4fcb17d2d 100644 --- a/contrib/tzcode/localtime.c +++ b/contrib/tzcode/localtime.c @@ -1277,11 +1277,13 @@ tzparse(const char *name, struct state *sp, struct state *basep) do { int_fast32_t yearsecs = year_lengths[isleap(yearbeg - 1)] * SECSPERDAY; + time_t janfirst1 = janfirst; yearbeg--; - if (increment_overflow_time(&janfirst, -yearsecs)) { + if (increment_overflow_time(&janfirst1, -yearsecs)) { janoffset = -yearsecs; break; } + janfirst = janfirst1; } while (atlo < janfirst && EPOCH_YEAR - YEARSPERREPEAT / 2 < yearbeg); From nobody Thu Feb 22 01:11:22 2024 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 4TgFTY14pFz5BkgT; Thu, 22 Feb 2024 01:11:29 +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 4TgFTX6W1cz4gSR; Thu, 22 Feb 2024 01:11:28 +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.18.1/8.18.1) with ESMTP id 41M1BMTG016477; Thu, 22 Feb 2024 03:11:25 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 41M1BMTG016477 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 41M1BMos016476; Thu, 22 Feb 2024 03:11:22 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 22 Feb 2024 03:11:22 +0200 From: Konstantin Belousov To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: 8271d9b99a3b - main - libsys: remove usage of pthread_once and _once_stub Message-ID: References: <202402210029.41L0TOH5000231@gitrepo.freebsd.org> <964A29A2-4C51-4037-8EBE-320008D48AE0@freebsd.org> <4715B319-B7DE-4D06-9F27-00CFE5AF89A7@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=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4715B319-B7DE-4D06-9F27-00CFE5AF89A7@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-Queue-Id: 4TgFTX6W1cz4gSR 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] On Wed, Feb 21, 2024 at 05:23:10PM +0000, Jessica Clarke wrote: > On 21 Feb 2024, at 14:17, Konstantin Belousov wrote: > > > > On Wed, Feb 21, 2024 at 12:51:04AM +0000, Jessica Clarke wrote: > >> On 21 Feb 2024, at 00:29, Konstantin Belousov wrote: > >>> > >>> The branch main has been updated by kib: > >>> > >>> URL: https://cgit.FreeBSD.org/src/commit/?id=8271d9b99a3b98c662ee9a6257a144284b7e1728 > >>> > >>> commit 8271d9b99a3b98c662ee9a6257a144284b7e1728 > >>> Author: Konstantin Belousov > >>> AuthorDate: 2024-02-20 14:45:29 +0000 > >>> Commit: Konstantin Belousov > >>> CommitDate: 2024-02-21 00:26:11 +0000 > >>> > >>> libsys: remove usage of pthread_once and _once_stub > >>> > >>> that existed in auxv.c, use simple bool gate instead. This leaves a > >>> small window if two threads try to call _elf_aux_info(3) simultaneously. > >>> The situation is safe because auxv parsing is really idempotent. The > >>> parsed data is the same, and we store atomic types (int/long/ptr) so > >>> double-init does not matter. > >> > >> You still need to load acquire and store release aux_once though, > >> otherwise you can see aux_once as true yet read the pre-initialised > >> data. In practice that’s surely very hard to hit, but the code as > >> written is now wrong. Also, idempotence should probably be made > >> unnecessary by using 0/1/2 state for uninitialised/initialising/ > >> initialised, as it’s still technically UB from a C AM perspective due > >> to not being data race free if two threads initialise at the same time. > >> Better to just do the correct thing rather than risk things going wrong. > > > > There is too much to handle 'in process' state for loosing thread, I need > > the whole libthr machinery. > > What do you need libthr for? In pseudo-C: > > x = load_acquire(&aux_once) > if (__predict_true(x == 2)) > return; > if (x == 1 || !compare_exchange_strong_acquire(&aux_once, &x, 1)) { > while (x != 2) { > yield(); > x = load_acquire(&aux_once) > } > return; > } > /* initialise as before */ > store_release(&aux_once, 2); > > I believe that’s all you need. Or compare exchange 0 to 1 as the > initial operation; makes the source code shorter at the expense of a > more expensive fast path: > > x = 0; > if (__predict_true(!compare_exchange_strong_acquire(&aux_once, &x, 1)) { > while (__predict_false(x != 2)) { > yield(); > x = load_acquire(&aux_once) > } > return; > } > /* initialise as before */ > store_release(&aux_once, 2); > > I probably have bugs in the above, but you get the gist. The bug in the fragment above is with the yield(). If low-priority thread enters the '1' (in progress) block, and then is preempted by high-priority thread also entering init_auxv(), the process would never make a progress. This is why I said that we need libthr (or umtx), to use real locking and move the waiting thread off cpu. In kernel, yield can be used in similar situations because we can bump the priority, although it is tricky. > > > I added the fences, thanks for noting. > > Thanks. > > Jess > > > WRT being UB from pure C, we already have much more assumptions about > > atomicity. > > From nobody Thu Feb 22 01:23:08 2024 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 4TgFlF3JWcz5Blkm for ; Thu, 22 Feb 2024 01:23:21 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 4TgFlF13ZFz4jKP for ; Thu, 22 Feb 2024 01:23:21 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-41270d0b919so17304135e9.1 for ; Wed, 21 Feb 2024 17:23:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708564999; x=1709169799; 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=GwpFvLKQQKeZvLnn326m21S5WjmEDf570EsB3M7L2rs=; b=Xyqnyw6ml6pzI1pwoXiu75tN2BjFD3iSq2cEOvfssK4kHT3i54Ni1iTXVqi29ED2GA cbz4QeYeNCY2XilUaxGectoDGHY4nja0L314wxsBbNo3cdR7hBW1GqiJdfsvKuHfWpDf JA02LEMdUB1XukoAlBxYYZqCQoShZnpfAMgsvp2EQs5RwCddQnADzeOYnl5lwXhygZPn KcwuBBTtxEn0Pbj+E44TwV+bPOddTWh4tngV+V6v0n5IxA34WFP9VStUp13hl4eIyALP G1lQA9+0YSGfaW1CLUlcYjHEqxW2seYEhzLOlxgzEOcmNo9tIBuzbNh9nwuqJK5t6gSZ bkhQ== X-Forwarded-Encrypted: i=1; AJvYcCXq7FqhAyRK49QTdSeq+rbFKQP6a69pcP0UgTxFw3T7ZEXUx9KYazZFHJb8nI93tBEQzxNfLwXcqVXMph8CVTfARDMK234dwg9FS28S2zi/ X-Gm-Message-State: AOJu0YwunJLa2hOihLRrCVaulO3w/HX4UEqpHcsO0cy2xwdCEZ9dXB5p NbyX1M96yjezMWGKBJKPlm0tc+9fLP4MJIp7DkChYLciMYv5hKw7+N/xUPOQQs3sfQ5ymm5zJqO Y X-Google-Smtp-Source: AGHT+IEjqUnjc++rPljqaNoTqfxqJlwzbZFXOuz6t++L4U9Jc4bMggxltBcp6VraA4qjklWbopgB6w== X-Received: by 2002:a5d:5f91:0:b0:33d:4c06:8614 with SMTP id dr17-20020a5d5f91000000b0033d4c068614mr8124188wrb.37.1708564999371; Wed, 21 Feb 2024 17:23:19 -0800 (PST) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id b7-20020adfe647000000b0033b406bc689sm18678602wrn.75.2024.02.21.17.23.18 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Feb 2024 17:23:18 -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: 8271d9b99a3b - main - libsys: remove usage of pthread_once and _once_stub From: Jessica Clarke In-Reply-To: Date: Thu, 22 Feb 2024 01:23:08 +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: References: <202402210029.41L0TOH5000231@gitrepo.freebsd.org> <964A29A2-4C51-4037-8EBE-320008D48AE0@freebsd.org> <4715B319-B7DE-4D06-9F27-00CFE5AF89A7@freebsd.org> To: Konstantin Belousov X-Mailer: Apple Mail (2.3774.200.91.1.1) X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4TgFlF13ZFz4jKP 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] On 22 Feb 2024, at 01:11, Konstantin Belousov = wrote: >=20 > On Wed, Feb 21, 2024 at 05:23:10PM +0000, Jessica Clarke wrote: >> On 21 Feb 2024, at 14:17, Konstantin Belousov = wrote: >>>=20 >>> On Wed, Feb 21, 2024 at 12:51:04AM +0000, Jessica Clarke wrote: >>>> On 21 Feb 2024, at 00:29, Konstantin Belousov = wrote: >>>>>=20 >>>>> The branch main has been updated by kib: >>>>>=20 >>>>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D8271d9b99a3b98c662ee9a6257a14428= 4b7e1728 >>>>>=20 >>>>> commit 8271d9b99a3b98c662ee9a6257a144284b7e1728 >>>>> Author: Konstantin Belousov >>>>> AuthorDate: 2024-02-20 14:45:29 +0000 >>>>> Commit: Konstantin Belousov >>>>> CommitDate: 2024-02-21 00:26:11 +0000 >>>>>=20 >>>>> libsys: remove usage of pthread_once and _once_stub >>>>>=20 >>>>> that existed in auxv.c, use simple bool gate instead. This leaves = a >>>>> small window if two threads try to call _elf_aux_info(3) = simultaneously. >>>>> The situation is safe because auxv parsing is really idempotent. = The >>>>> parsed data is the same, and we store atomic types (int/long/ptr) = so >>>>> double-init does not matter. >>>>=20 >>>> You still need to load acquire and store release aux_once though, >>>> otherwise you can see aux_once as true yet read the pre-initialised >>>> data. In practice that=E2=80=99s surely very hard to hit, but the = code as >>>> written is now wrong. Also, idempotence should probably be made >>>> unnecessary by using 0/1/2 state for uninitialised/initialising/ >>>> initialised, as it=E2=80=99s still technically UB from a C AM = perspective due >>>> to not being data race free if two threads initialise at the same = time. >>>> Better to just do the correct thing rather than risk things going = wrong. >>>=20 >>> There is too much to handle 'in process' state for loosing thread, I = need >>> the whole libthr machinery. >>=20 >> What do you need libthr for? In pseudo-C: >>=20 >> x =3D load_acquire(&aux_once) >> if (__predict_true(x =3D=3D 2)) >> return; >> if (x =3D=3D 1 || !compare_exchange_strong_acquire(&aux_once, &x, 1)) = { >> while (x !=3D 2) { >> yield(); >> x =3D load_acquire(&aux_once) >> } >> return; >> } >> /* initialise as before */ >> store_release(&aux_once, 2); >>=20 >> I believe that=E2=80=99s all you need. Or compare exchange 0 to 1 as = the >> initial operation; makes the source code shorter at the expense of a >> more expensive fast path: >>=20 >> x =3D 0; >> if (__predict_true(!compare_exchange_strong_acquire(&aux_once, &x, = 1)) { >> while (__predict_false(x !=3D 2)) { >> yield(); >> x =3D load_acquire(&aux_once) >> } >> return; >> } >> /* initialise as before */ >> store_release(&aux_once, 2); >>=20 >> I probably have bugs in the above, but you get the gist. > The bug in the fragment above is with the yield(). If low-priority = thread > enters the '1' (in progress) block, and then is preempted by = high-priority > thread also entering init_auxv(), the process would never make a = progress. >=20 > This is why I said that we need libthr (or umtx), to use real locking = and > move the waiting thread off cpu. In kernel, yield can be used in = similar > situations because we can bump the priority, although it is tricky. Yes, priority inversion is an issue here. But this is (without all the C++ abstraction) how libcxxrt implements __cxa_guard_acquire, so if it=E2=80=99s good enough for C++ constructors for static storage = duration objects declared at local scope, surely it=E2=80=99s also good enough = for aux_once? And if it=E2=80=99s not good enough for aux_once then libcxxrt = should be deemed broken... One could easily adapt the above to use UMTX_OP_WAIT/WAKE though. Jess >>> I added the fences, thanks for noting. >>=20 >> Thanks. >>=20 >> Jess >>=20 >>> WRT being UB from pure C, we already have much more assumptions = about >>> atomicity. From nobody Thu Feb 22 01:27:54 2024 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 4TgFrW11zwz5Bm09; Thu, 22 Feb 2024 01:27: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 4TgFrV4np3z4k1g; Thu, 22 Feb 2024 01:27:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708565274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/TbuVI0kNqCLKd0WvNYdzMU7hFGuIevQH3cyXxQib5U=; b=yPw41TaK1zsIntWUYYvNziaEXgaI193VxOYpWKbQUgob7moV7k89zdGI0MsS2wHZ/TO8GC oILDZ4apVHwqip2UbUCo3lV4D1/3FhLCNSofWJDCGOmW0ZRMT8FKM6/bx2PAY/B+fwjsCQ UaPbMSrbN4P8Mx+19deEe9gkjd1Scqf6sj855kJifn9jmwXh8jmsz6cjp56UtXnbQCi5J9 bpdnluUo1O1XdRgBblzNvURy8OEBq7Wur0C7NxsBRp2dccvteHmctt6x1Ev2qv8EbHit0O MVlG1DW5+Y1zQdDaY7Jh73HO/6UH9JnNWUoUChGX5H089pxmdGuLDyBuA78w5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708565274; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/TbuVI0kNqCLKd0WvNYdzMU7hFGuIevQH3cyXxQib5U=; b=WqdxgfgZtCWvzOG9Nb0EoFs71318vo2rxBtEYwJlkuJcHz2iRrdJF+vm/BgRTIGMBdC1m4 eCWr+qwYR+PY1CAaihHOvaDKfLbqwHCBm6xJI2//Kr8378R5OJ406PjL5bO4VQfAsr2Mle s5vshcpNvVGhov1yp9UIW449Zm2HkHz6JYb/mFkYJ5Js7eC5bAb2AifKH7yPhonn7ufjgE a+1/6le5uqt/cYwNjo2dviD7ZHhUFKKlinO6fCRlbkl7UZ05V6d01FmZ0/LeEiicXVkGCq gcfN7ddhAaWP7J5v4h5h8kDQ+pUDLZQDB+vY7T9tM9ODujxL+CDsEEK6vTM8SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708565274; a=rsa-sha256; cv=none; b=D/s7UM81IdWq+ZzWMgqKlcCV7VOUmtwwaRW1pOqDE+lWzygZvJob8xbwE3oIeWfPO3I5V4 yTT2rjIC61CFee1+DtrFiCkxulvrL2NF7HgPDq9qFOJ0rwg/dYYOWkT81UzJ1kEmXb3Tzd fbsCgztGP/VwzcxT6Ky6bggwhAZ09BpOOxn6QcX2zHCr+0NNMflwVRuA9CMrqzJ6kuxPwe JXDHXiu7b/t+h+kM70DLx5/yact8U5JLSMgp+z4H8shQsQQhcEE+kE6ZF0NIA8/pme6xY5 KWWENjTUmk2In1x8SyjjkxZSlR9HvOOT9QTpYl093LNcYRypXva16WmBUZ7yEA== 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 4TgFrV3sMhz1QrN; Thu, 22 Feb 2024 01:27: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 41M1RsFb092299; Thu, 22 Feb 2024 01:27:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41M1RsBj092296; Thu, 22 Feb 2024 01:27:54 GMT (envelope-from git) Date: Thu, 22 Feb 2024 01:27:54 GMT Message-Id: <202402220127.41M1RsBj092296@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: 452c5e9995ab - main - fdlopen(3): do not create a new object mapping if already loaded 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: 452c5e9995ab4cd6c7ea230cffe0c53bfa65c1ab Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=452c5e9995ab4cd6c7ea230cffe0c53bfa65c1ab commit 452c5e9995ab4cd6c7ea230cffe0c53bfa65c1ab Author: Konstantin Belousov AuthorDate: 2024-02-22 01:18:06 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-22 01:27:09 +0000 fdlopen(3): do not create a new object mapping if already loaded This is expected behavior for both dlopen(3) and fdlopen(3). PR: 277169 Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D44019 --- libexec/rtld-elf/rtld.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 7d6b8ae52703..30ed48b5c615 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -2752,8 +2752,9 @@ load_object(const char *name, int fd_u, const Obj_Entry *refobj, int flags) if (obj->ino == sb.st_ino && obj->dev == sb.st_dev) break; } - if (obj != NULL && name != NULL) { - object_add_name(obj, name); + if (obj != NULL) { + if (name != NULL) + object_add_name(obj, name); free(path); close(fd); return (obj); From nobody Thu Feb 22 01:32:06 2024 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 4TgFxL5Yp3z5BmXD; Thu, 22 Feb 2024 01:32: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 4TgFxL56fcz4kRJ; Thu, 22 Feb 2024 01:32:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708565526; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fZasIXO8yrxggtCqMhTlitxkrz8DKhot5fzsxK87wBw=; b=hI0/OqM3hbnI2xU0F0yOrvfLuSXOIO056SMWrVD5C8bEMXo4yIEjJ72kwA8FsSfuXJSOyp dgdj4PiYSYP/FvRGEpFxphnE+4reL07ofA0AJEAT+pOOFB9bFgmc0nD6yQaHQt7I2lhYcV pYFC1A0Fg9caG1Sismd1CNfkcEXsALFz52ozRJ0WkkkF2pked+nSqTTRm4eBo9MFywx/i2 MjF/efv7EpeYEMce6mFh8Yx9Ti7Gln2IUTaw29TsnjTYvuHns7xGpwrTQoGHzvoGaOYCit xMMpaUt5RzWgqQPE9Sm9yMhcJaQbLBKGPma3tbZWHaVjlV8AbGoD38i/c6S9oA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708565526; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fZasIXO8yrxggtCqMhTlitxkrz8DKhot5fzsxK87wBw=; b=TvcSszvo/bgrQCvcoL0qJz5Xwbu1uJPQk33wsEcLxbX0VQStGUdqqPWS/HGEuv5bPByGg9 jvAT3pRN+4mhyUaNXi0/wo3vg3PFcgb/DlQHFzPn9sn5bIc7KYkzdaP2jXGpaexl+DBeW1 O2s5sHIojf5dnb++mgnm1yKWuOoZ53U9GnxDmEsNtaMpFPUgYQGfM1Npqbmfy2yUi3bXnn ZnbNB9OkFnkKq33F8ScQgTxvmasisLgU2E4oH1CsFUP15C3YAkKBiCTVCsFbHDOYFLuAnP cfKDbJP2wP9Kr1kqWTLhnh6vtRqghMdvr2KES84M0uZN+etCQI6N/6XoqQCUog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708565526; a=rsa-sha256; cv=none; b=qANhTIfZjQp5OUK5uzrQnZSi/YmpC1MzOTQzaf4TiUJMithkHiK7cfjecOsLoudhpEUVp/ SFKDts2UGRAbdOSqfK2IHjIsPPEv/bTwaMGLerrxosITL9I0/0qCsYAIlwhqfaQs17GZ1D R9RKE4pxxVjWgqfa+xQz4AZXuXG5WkeFTT+mbvmtxeS7+IAvbC/d+qx4Ekm7ImibkgjiAh 1WhYRYx6rXqpmAMYceGiQ2BZ0tV1gsg+gde0AS1QE0FyaKAOrj9BsRTknkGWauBUbj/4BC kGMTATRVzk6P5WoSwf+9PeVLTRKRugU7hNoiRe/pWh4ocCIOSpea87bgGMdYHw== 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 4TgFxL4B34z1Qxc; Thu, 22 Feb 2024 01:32: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 41M1W6Ma007148; Thu, 22 Feb 2024 01:32:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41M1W6ib007145; Thu, 22 Feb 2024 01:32:06 GMT (envelope-from git) Date: Thu, 22 Feb 2024 01:32:06 GMT Message-Id: <202402220132.41M1W6ib007145@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: 99fa799a19ab - main - linux_pwd_onexec: do not abort image activation if emul path does not 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 99fa799a19abeb70b1034f65407c276b64709bdc Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=99fa799a19abeb70b1034f65407c276b64709bdc commit 99fa799a19abeb70b1034f65407c276b64709bdc Author: Konstantin Belousov AuthorDate: 2024-02-10 05:02:18 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-22 01:31:39 +0000 linux_pwd_onexec: do not abort image activation if emul path does not exist Instead clear the altroot, if any. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D43833 --- sys/compat/linux/linux_util.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/sys/compat/linux/linux_util.c b/sys/compat/linux/linux_util.c index 020eb57ea68e..e0c010cb5e48 100644 --- a/sys/compat/linux/linux_util.c +++ b/sys/compat/linux/linux_util.c @@ -79,22 +79,14 @@ int linux_pwd_onexec(struct thread *td) { struct nameidata nd; - struct pwd *pwd; int error; NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, linux_emul_path); error = namei(&nd); if (error != 0) { - /* - * Do not bother if we are in chroot or jail. - */ - pwd = pwd_hold(td); - if (pwd->pwd_rdir != rootvnode) { - pwd_drop(pwd); - return (0); - } - pwd_drop(pwd); - return (error); + /* Do not prevent execution if altroot is non-existent. */ + pwd_altroot(td, NULL); + return (0); } NDFREE_PNBUF(&nd); pwd_altroot(td, nd.ni_vp); From nobody Thu Feb 22 03:11:45 2024 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 4TgJ8K3QXrz5BhLl; Thu, 22 Feb 2024 03:11: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 4TgJ8K2z9kz40bp; Thu, 22 Feb 2024 03:11:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708571505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1T65xQ4ExVX6hlUp4m4ijUmCmvv5EL34LONNjn4zriw=; b=JbA4w7et8ptOIpdOHD/F9yyhfDmT+G/J5tG5g0q8lBCXMBSz4iNIuG9rnZipGxyZcydpmg J+HtVZ98epwqDfvi6hyoNVY434ggZQQ4PScS2+rXvDjvvNc/7LgHQlxQQ5AKt2Uzhvvcra 6cgjUnbiQzqCLxy/skdsPjVzyLicC6VjzZQe9fhV5ZsUG9GHirBB3llA53YcP3Jm08cj+n P2NZIAVQxnyKu4SUaBfYwYsfEyiqM4Xr6+t/Y0ZlPWbPl1SiR5hGEkDWwPgnVkjvzfoHXf 8IAiCtdfXD3sFT7MjllnuV/g0w2sH9wiuYGOBZRPTpAhAmhFm5WJ2QkssHXmyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708571505; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1T65xQ4ExVX6hlUp4m4ijUmCmvv5EL34LONNjn4zriw=; b=dhNm8Psf/bMaQiEmfQzGId6BpRho/gHEAn7Kd8uqaoRKCVSrRoPFattbwYQ01PlECBH/7B RIONKpg62vWyuznO48yAjbZyW/CPmLLHoGqycn5ge1G8tEP2cT7xPixgW/8WCAbTrpwxFN n+QfpHJpqQXsqXINdiv3+NdJj3MWsd8ModB697NC81N9xygA+MX/r4vtsRB3ItrrqM2EUB uD3SEWh55tPwglvMTBCSSo932TVfTvWSNANAaX5onWyZWs9I9Kr2GTdS1S6GBVZ0QfiV4u m++8/t1uWLSQ+0nP5nWlmn07dNLpknw6winzSks5KcwTkCu8j18fJf0Cea7PIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708571505; a=rsa-sha256; cv=none; b=UShfLfBiU8UDzMiZiglDuKxDxFNSvxhXsExIOnhQU+1pEYzMJf6vECWQY7IFKZeEPoX0Oc RuyCOmrP8wyICSJVyzlBML1JoQbZ3bFRT+eQodG5Tgv5it8HKGxfcSXJk3gwVXArwsRuHT 1+3O38V5Dk1GgtC5GDBZUtBMgBSKuv/CSS3ba0yJLlbP2zMT36ptj7MHTKWcO4QGH7gUaW veVU2UnfGTR5uSbZ554iFtGl50riNmPbFcjf8lU8dBsFnDy5kxvT+gpX8UWEd/+TKf0pge f/vSY578EgO3suDDUolve5ONfTRe8nelWgIvpkfpdPnqT5QYOHYo6qFp+YJ8Ww== 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 4TgJ8K20t0zF3V; Thu, 22 Feb 2024 03:11: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 41M3Bj1X073978; Thu, 22 Feb 2024 03:11:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41M3Bjso073975; Thu, 22 Feb 2024 03:11:45 GMT (envelope-from git) Date: Thu, 22 Feb 2024 03:11:45 GMT Message-Id: <202402220311.41M3Bjso073975@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: bad90cb4f686 - main - nextboot: check unlink, but only warn on !ENOENT 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: bad90cb4f6860657917a485893ee790545286018 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=bad90cb4f6860657917a485893ee790545286018 commit bad90cb4f6860657917a485893ee790545286018 Author: Warner Losh AuthorDate: 2024-02-22 03:10:45 +0000 Commit: Warner Losh CommitDate: 2024-02-22 03:10:45 +0000 nextboot: check unlink, but only warn on !ENOENT Emulate rm -f from the nextboot.sh script: Report all errors, except ENOENT. This problems show through, except the expected one when nextboot.conf isn't there. Sponsored by: Netflix Reviewed by: rew Differential Revision: https://reviews.freebsd.org/D44013 --- sbin/reboot/reboot.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c index e245c78d83bc..3cc77aebe4d4 100644 --- a/sbin/reboot/reboot.c +++ b/sbin/reboot/reboot.c @@ -288,7 +288,8 @@ main(int argc, char *argv[]) errx(1, "-r and -k cannot be used together, there is no next kernel"); if (Dflag) { - (void)unlink(PATH_NEXTBOOT); /* Say nothing if it's not there */ + if (unlink(PATH_NEXTBOOT) != 0 && errno != ENOENT) + warn("unlink " PATH_NEXTBOOT); exit(0); } From nobody Thu Feb 22 04:27:08 2024 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 4TgKqT2zxgz5Bnx3; Thu, 22 Feb 2024 04:27:17 +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 4TgKqS2snLz46pv; Thu, 22 Feb 2024 04:27:16 +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.18.1/8.18.1) with ESMTP id 41M4R8vF065353; Thu, 22 Feb 2024 06:27:12 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 41M4R8vF065353 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 41M4R83Y065352; Thu, 22 Feb 2024 06:27:08 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 22 Feb 2024 06:27:08 +0200 From: Konstantin Belousov To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: 8271d9b99a3b - main - libsys: remove usage of pthread_once and _once_stub Message-ID: References: <202402210029.41L0TOH5000231@gitrepo.freebsd.org> <964A29A2-4C51-4037-8EBE-320008D48AE0@freebsd.org> <4715B319-B7DE-4D06-9F27-00CFE5AF89A7@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=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: 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-Queue-Id: 4TgKqS2snLz46pv 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] On Thu, Feb 22, 2024 at 01:23:08AM +0000, Jessica Clarke wrote: > On 22 Feb 2024, at 01:11, Konstantin Belousov wrote: > > > > On Wed, Feb 21, 2024 at 05:23:10PM +0000, Jessica Clarke wrote: > >> On 21 Feb 2024, at 14:17, Konstantin Belousov wrote: > >>> > >>> On Wed, Feb 21, 2024 at 12:51:04AM +0000, Jessica Clarke wrote: > >>>> On 21 Feb 2024, at 00:29, Konstantin Belousov wrote: > >>>>> > >>>>> The branch main has been updated by kib: > >>>>> > >>>>> URL: https://cgit.FreeBSD.org/src/commit/?id=8271d9b99a3b98c662ee9a6257a144284b7e1728 > >>>>> > >>>>> commit 8271d9b99a3b98c662ee9a6257a144284b7e1728 > >>>>> Author: Konstantin Belousov > >>>>> AuthorDate: 2024-02-20 14:45:29 +0000 > >>>>> Commit: Konstantin Belousov > >>>>> CommitDate: 2024-02-21 00:26:11 +0000 > >>>>> > >>>>> libsys: remove usage of pthread_once and _once_stub > >>>>> > >>>>> that existed in auxv.c, use simple bool gate instead. This leaves a > >>>>> small window if two threads try to call _elf_aux_info(3) simultaneously. > >>>>> The situation is safe because auxv parsing is really idempotent. The > >>>>> parsed data is the same, and we store atomic types (int/long/ptr) so > >>>>> double-init does not matter. > >>>> > >>>> You still need to load acquire and store release aux_once though, > >>>> otherwise you can see aux_once as true yet read the pre-initialised > >>>> data. In practice that’s surely very hard to hit, but the code as > >>>> written is now wrong. Also, idempotence should probably be made > >>>> unnecessary by using 0/1/2 state for uninitialised/initialising/ > >>>> initialised, as it’s still technically UB from a C AM perspective due > >>>> to not being data race free if two threads initialise at the same time. > >>>> Better to just do the correct thing rather than risk things going wrong. > >>> > >>> There is too much to handle 'in process' state for loosing thread, I need > >>> the whole libthr machinery. > >> > >> What do you need libthr for? In pseudo-C: > >> > >> x = load_acquire(&aux_once) > >> if (__predict_true(x == 2)) > >> return; > >> if (x == 1 || !compare_exchange_strong_acquire(&aux_once, &x, 1)) { > >> while (x != 2) { > >> yield(); > >> x = load_acquire(&aux_once) > >> } > >> return; > >> } > >> /* initialise as before */ > >> store_release(&aux_once, 2); > >> > >> I believe that’s all you need. Or compare exchange 0 to 1 as the > >> initial operation; makes the source code shorter at the expense of a > >> more expensive fast path: > >> > >> x = 0; > >> if (__predict_true(!compare_exchange_strong_acquire(&aux_once, &x, 1)) { > >> while (__predict_false(x != 2)) { > >> yield(); > >> x = load_acquire(&aux_once) > >> } > >> return; > >> } > >> /* initialise as before */ > >> store_release(&aux_once, 2); > >> > >> I probably have bugs in the above, but you get the gist. > > The bug in the fragment above is with the yield(). If low-priority thread > > enters the '1' (in progress) block, and then is preempted by high-priority > > thread also entering init_auxv(), the process would never make a progress. > > > > This is why I said that we need libthr (or umtx), to use real locking and > > move the waiting thread off cpu. In kernel, yield can be used in similar > > situations because we can bump the priority, although it is tricky. > > Yes, priority inversion is an issue here. But this is (without all the > C++ abstraction) how libcxxrt implements __cxa_guard_acquire, so if > it’s good enough for C++ constructors for static storage duration > objects declared at local scope, surely it’s also good enough for > aux_once? And if it’s not good enough for aux_once then libcxxrt should > be deemed broken... > > One could easily adapt the above to use UMTX_OP_WAIT/WAKE though. As I noted, umtx(2) should be the solution. Might be we should provide some park/unpark interface in libc, to hide the umtx interface. Its use started to proliferate recently. > > Jess > > >>> I added the fences, thanks for noting. > >> > >> Thanks. > >> > >> Jess > >> > >>> WRT being UB from pure C, we already have much more assumptions about > >>> atomicity. > > From nobody Thu Feb 22 09:39:04 2024 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 4TgSlF0FNsz5CHCW; Thu, 22 Feb 2024 09:39: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 4TgSlD6XgKz4dw1; Thu, 22 Feb 2024 09:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708594744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=brwLjS70IXNS4WPsmIddeOsPSjq65rphxfhjS9aHcck=; b=Uyx0ddf9mu/fiIcx0TPTTdrGXWGA4RdGVkUcxuR6e7Wt7nn/BAPEMSC1rVidjl24nWgwfx 8sOQpjjJ89InLaqmcJrVgC/w2hbEg2hD0ipOSdF2ln2q+oti+EZs/lYq33pa3tGZOqNV7Y Hkg8ryjpQUMblBlqJYTlWU58QUT/74Y2v8xUGTe2mFv2jWJTBxIpJp4EYjoq+Po3zXGjCE qU9TMLYYytE9D7HDAWL0XAHXrzi+R80RlZQGQjQc/bsxe5QNcoQcuLY/nSLNMKLtqli21G 0XpP8HOxY9CBV/ldyte4DMGKWEJJe05MR5jLm6IiwNiaIieuD137OZHukm4PkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708594744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=brwLjS70IXNS4WPsmIddeOsPSjq65rphxfhjS9aHcck=; b=RvgiN8LyoJH1gmJPf7IRoOGPO52a16XaNFpu+g5l1Msiq7KgNyOcDzO8mm/RUB9DxDRRKe 5Kdl8xFoCV9p3r7MulB3TSvT0ZXxLZnyeOOlxmlfoqI16crKgR2LueXVjOBE0ZkYQwNYNJ dCBZ/k0BXyjAWuq6lxeQTdridbiBOCIlKGLEYKSm4Qql44xerC/OQnTbDeIdz2DfHwZaJy ktAZabIILANWMrVV6mEuBRtkLX8GUevM96rKDyp+UpCF8ZdUye9//SoWz9fTkpoAFj2dej itkd3dYtWQ6VX/Drb2QQ5XqoJsJqr9wViL8NupQYrRJMPb3bwfHMYGI4MS15hA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708594744; a=rsa-sha256; cv=none; b=P1BFR15ZV7hku1A21SaLyPHtXpMey5CkB9GlJoMP5sDeR6e6Xe4B9EVSW0yLnNq+1ePUKd HKUUIovJZH3xkDfZ17e0HEpuV26RT5XV/0AUwdJp2K0TyEscKQZNEfkP1FW8cXY65Owhry gADH/CGnkFpaqGGb8/ZCZE3lx6Y2moVq7YTrky7eyBjKF2gYElKTRa8H+Nu3H0+jjf6Ahy elnpBIp5I38HFRkyieW1RaOvcusu4Zlia9GBQOWMwH+1NmzZ1ofPuWKEfp7ghFv+csXkRD uhH3H8cZ/6wO93dwwAfE5zwtImmVkBrxXPrUFvAofnRT7m3Q/4crUzu8PZINew== 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 4TgSlD5bp5zR0V; Thu, 22 Feb 2024 09:39: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 41M9d4Pn020888; Thu, 22 Feb 2024 09:39:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41M9d4Aj020885; Thu, 22 Feb 2024 09:39:04 GMT (envelope-from git) Date: Thu, 22 Feb 2024 09:39:04 GMT Message-Id: <202402220939.41M9d4Aj020885@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: 13c7c0e5659b - stable/12 - iov.h: 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/stable/12 X-Git-Reftype: branch X-Git-Commit: 13c7c0e5659b5632720e2d20cc34da07de482988 Auto-Submitted: auto-generated The branch stable/12 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=13c7c0e5659b5632720e2d20cc34da07de482988 commit 13c7c0e5659b5632720e2d20cc34da07de482988 Author: Gordon Bergling AuthorDate: 2024-02-19 11:02:57 +0000 Commit: Gordon Bergling CommitDate: 2024-02-22 09:38:54 +0000 iov.h: Fix a typo in a source code comment - s/subystem/subsystem/ (cherry picked from commit f24c816daa00852f4a1d37649d00905a0d67f1b3) --- sys/sys/iov.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/iov.h b/sys/sys/iov.h index 3be01180a107..e1ec11a4dd7f 100644 --- a/sys/sys/iov.h +++ b/sys/sys/iov.h @@ -211,7 +211,7 @@ struct pci_iov_schema * (PF or individual VF). * Note: We will refer to the section of the configuration schema that * specifies the parameters for this subsystem and device - * configuration as the device/subystem schema. + * configuration as the device/subsystem schema. * 2) The subsystem node must contain only keys that correspond to parameters * that are specified in the device/subsystem schema. * 3) Every parameter specified as required in the device/subsystem schema is From nobody Thu Feb 22 09:39:14 2024 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 4TgSlQ49qDz5CHHK; Thu, 22 Feb 2024 09:39: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 4TgSlQ3k6Qz4dv8; Thu, 22 Feb 2024 09:39:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708594754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FAHQNxHSYyD6jzXDZ32s3hli7DJQvilUI7baOTCsO4E=; b=L1EKpLzVkV61cTivr2eR7p8Tw3fWDM9BNpWO9oRfeWyi1+TkRJid1hG4Ae0y/f1QHqIJfd sWRls1/4bvHTMF4SE+cikPT7/5ZJNGwE1hOE3fmxe6chH1UI/Y8Rda6Vw9GBIrK4DdHa7w itVdRgxL2pBegbKtwjokyM/rndaJSmfo5Qqm8B89r+niOhA8j66Cd7Un6Zd0GOtqpUKEKv SPANb1nicPwmbcncbRWdVaUgGUuhz9O2CMZU8YkJsu2lKQFZ00OhcnRCx6KoZWZVe1VXeM SHxhrxS4tvoWGQGe359PFW09QU8coYyH6wrJZuu+yo0zweoBT12zLSrP2GBLiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708594754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FAHQNxHSYyD6jzXDZ32s3hli7DJQvilUI7baOTCsO4E=; b=GQ/vq/W4m4SLC5Hz5yBAyZoVSbu26bxulfLqxvJqC21N2BVgAlkJP/oWpjx6uMhB6Rnqng U5wHMQUaRMbQrUDuHlOCvAL2NGWznCfdsSdgtmMuoxdK80xf35aRS1V6RfSYnlgGahMAa1 bS6+gHdwxqlo4wKCII9kYsn7+n0qzE5mx3luz0n2rZin0zPgeWiCL+wTwz2HrkZnFxw7XU RLI6jLVG/8FkXj+UOYF0JEjyAXTwhYvUUhwMVSTQaZ8cad2nWusPYwUKJ3HK7NxjKiaYOL EyraMbxVdCztiwqwaKS+rKXSM9rR8SBpPB/ZpKlH9MBcv+H3uXbxc5PNPcqm+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708594754; a=rsa-sha256; cv=none; b=JlIMxVT/j6z7aC8d/7sdPSnPQLk9ATLSkox7T8LSmRmjTXESuWXCrhhoKGb4TOoUuXFzlC sScwntqYGMPIxlWtkxO+0xp9VElgYDVwD/qX8KLbpjL8yRnZvOeUgzvUHPviomG76HgYbK xVBHat58u1fyMpC+2Y5TutXIehyS9Ss36+LvC20ry/kYOy7Aq2F9z170ouBpFWYZ7ZlMpr o4IYTtyDe0HGZ5F4lOoW7uo/WrHc7SpV87S0FIaHohXdM7oJtU4Je1DVZ4TnzsnKoHzY/i GKUQHs3zsn2hxwND2s6Legdwr+YlEC2TmGTuyf04iUl23SxX0S7aUFEkYUmHFA== 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 4TgSlQ2pd8zR0W; Thu, 22 Feb 2024 09:39: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 41M9dEYG021051; Thu, 22 Feb 2024 09:39:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41M9dEpP021048; Thu, 22 Feb 2024 09:39:14 GMT (envelope-from git) Date: Thu, 22 Feb 2024 09:39:14 GMT Message-Id: <202402220939.41M9dEpP021048@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: f7a47daa384e - stable/13 - iov.h: 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/stable/13 X-Git-Reftype: branch X-Git-Commit: f7a47daa384e6d4f366e6f13530cc425021d90dc Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=f7a47daa384e6d4f366e6f13530cc425021d90dc commit f7a47daa384e6d4f366e6f13530cc425021d90dc Author: Gordon Bergling AuthorDate: 2024-02-19 11:02:57 +0000 Commit: Gordon Bergling CommitDate: 2024-02-22 09:38:41 +0000 iov.h: Fix a typo in a source code comment - s/subystem/subsystem/ (cherry picked from commit f24c816daa00852f4a1d37649d00905a0d67f1b3) --- sys/sys/iov.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/iov.h b/sys/sys/iov.h index cc9074489559..0171fc5a98cf 100644 --- a/sys/sys/iov.h +++ b/sys/sys/iov.h @@ -209,7 +209,7 @@ struct pci_iov_schema * (PF or individual VF). * Note: We will refer to the section of the configuration schema that * specifies the parameters for this subsystem and device - * configuration as the device/subystem schema. + * configuration as the device/subsystem schema. * 2) The subsystem node must contain only keys that correspond to parameters * that are specified in the device/subsystem schema. * 3) Every parameter specified as required in the device/subsystem schema is From nobody Thu Feb 22 09:39:22 2024 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 4TgSlZ6ncXz5CHHM; Thu, 22 Feb 2024 09:39: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 4TgSlZ5jMXz4fBZ; Thu, 22 Feb 2024 09:39:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708594762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LDzCHSymDx6yaFAPDYw115tbDKSS4lN+91gbV6mq7pk=; b=G2xWdOHM0oAiy5Yrdf8WEl3htU+EfcvgZXtb/MsliAiwa60ofd6Cwt28Juv65iM/pvApxQ FOTkHt4PTpIwi+295+3dgyQpWofrFhbQNrTnVRAoxCySrjwr39l0gaPVkBrAOtHGcgyadV 70eqI1Ztah2eiWMp3VHqKB9YxKzMczS+Gd8RuePSy9Sdau5UgVOPi1WzPFKMe5TtJQH2lc GSH5ykDdH6XNWW5ggAU8pz6p8wQ/2dBWSz8FxzYc5UJaBh2RkUdS9Yexg+8YwktWuRHlP1 TkfIbMw4MiDiz8GOit6xlrvyfc4E8UanHjGW2fj0z3IltRdsN4QA0bc9UrKbYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708594762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LDzCHSymDx6yaFAPDYw115tbDKSS4lN+91gbV6mq7pk=; b=uOJMDKzFyLGOIBxb4bw1xLAHJgE/1gUQJJFs8O7yyjSQKzEVKo8xIOmxsX4DMio+Vykpag 3WJmyvqfoh/vfVwHIByaNGxzWFk3Z7GZQu3W+s2ktbfint7u6AVPJkRGY8KK6iEUK1KcVg gGebTbEf8XIA6WEZfDBp8J366hfVFHR6hYi4REbNM+x09iIOKpj0nIndwE8tvjPb7NR5li KpoMwhaV0UZwmkdfqf7bS8yNzfgztA/pSPV456FukUyNTMKZygupYV02RNahtWfuGyHPqt DpouslNNT2UPFMEy2x+ZkxzHbU4B+WoTDDdFk9Uoi8XdMln4QgyrUf1W/vIoGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708594762; a=rsa-sha256; cv=none; b=KVg367eRB2zVqnQIeCXZfUOlI68DQYlngaLC+ht9Xqis/iQY9wfFD/uMVN/PsV5TkDqa56 GhN5It+LVD7jpaLDVjn4HTTqfJ/D41evrNq1jeo2IaXA3R8mIC0JPRcQKQlkDEqRaQbj96 emUaeB6oVFSF72nxrIPRrS/1Fg7hYd0txfdBJP0qSCUlYIc0GBKwxj+cZNGYI6XT396jce iWKG2mKxEevFI90Iszlln9RoRGwhDTWVBvDT8RVsbpASrJiyAgiPS1Z9Nunn/8KYAnYvdf I9/Ag6MxKVW6XNU3JA6RMmV/ZFwhBUeCNJE48b2yTq3tR1r5qvnZ/Tmp0tEB3w== 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 4TgSlZ4nR7zRGX; Thu, 22 Feb 2024 09:39: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 41M9dMIZ021212; Thu, 22 Feb 2024 09:39:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41M9dMZg021209; Thu, 22 Feb 2024 09:39:22 GMT (envelope-from git) Date: Thu, 22 Feb 2024 09:39:22 GMT Message-Id: <202402220939.41M9dMZg021209@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: 2710ac0c9c92 - stable/14 - iov.h: 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 2710ac0c9c92dd77170eeb6b93db0fbf8861efb0 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=2710ac0c9c92dd77170eeb6b93db0fbf8861efb0 commit 2710ac0c9c92dd77170eeb6b93db0fbf8861efb0 Author: Gordon Bergling AuthorDate: 2024-02-19 11:02:57 +0000 Commit: Gordon Bergling CommitDate: 2024-02-22 09:38:28 +0000 iov.h: Fix a typo in a source code comment - s/subystem/subsystem/ (cherry picked from commit f24c816daa00852f4a1d37649d00905a0d67f1b3) --- sys/sys/iov.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/iov.h b/sys/sys/iov.h index cc9074489559..0171fc5a98cf 100644 --- a/sys/sys/iov.h +++ b/sys/sys/iov.h @@ -209,7 +209,7 @@ struct pci_iov_schema * (PF or individual VF). * Note: We will refer to the section of the configuration schema that * specifies the parameters for this subsystem and device - * configuration as the device/subystem schema. + * configuration as the device/subsystem schema. * 2) The subsystem node must contain only keys that correspond to parameters * that are specified in the device/subsystem schema. * 3) Every parameter specified as required in the device/subsystem schema is From nobody Thu Feb 22 10:31:17 2024 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 4TgTvT4QsDz5CMDN; Thu, 22 Feb 2024 10:31: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 4TgTvT3sVDz4kRZ; Thu, 22 Feb 2024 10:31:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VlSGbcSbBXMkwVRdyYQMTDsbdwCPSxSfGCDNAYTZLcI=; b=P84P8i7qHPz1NzhUN+o6IvNQDMK+8wFWhK+D641CGFbdF4TZ9yytJMIWxZRsRKYa+BmefZ me+Nyvy5xmq+N2QVAejCZ/ahDaUAyaEKlx/nDzx4oDhJlhNLUfwzANqyMzdpwHWsLMhhyz CM+S++Npv6IMtdUxi6mJXr2ktyoJ+BD8TYpUQxu2w2C2sK7BbpTynh3uosC0mpX/2WzOwH HX/Up+gm3hVoIaBPVkGvMq+66JVEikwWJ6NJpO68AKl5I8GEMDeSjZS7BhafE8bOHuqdYY lG5GWSbm3DGY0u/WWEv/WonE9SR/RfNouelvELK0WxnFDshRKS6UiH/UA2lEeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VlSGbcSbBXMkwVRdyYQMTDsbdwCPSxSfGCDNAYTZLcI=; b=Juq2c1MIM6kCQu1Vyz6VZB4PnHWM7m4xod8viYgoj5LVM3ehJ+Se1rBi08/9r6iahY00ao MUrc0Qex4uowUs9yM23+nK+izezcUavGjEuYIvGG3Wvalf4yd1Ix8L6Ed2s+TDytXPsD/i JZ1TQAa/A7JGc7OWBd5h2Z9CGd6mYyxCAWqzJ8/il/vXsiUZRp+xRZw97bKQUlQhFBGDRg vPB288MGs6N6zPZPcHBO8+SM05FW+PFFc0xnegGwr1bTsHuo0klguIxLoG+TxiO9WjsNe7 x/qETKS9gNb4Yiwm+NEu6vqcvdiiPuowkwVgZz8F2hu8FBwQNpO2oeRrlVUcPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597877; a=rsa-sha256; cv=none; b=qswvuT6JAYnMD4PDgSZWX6XpmZDncF4GYwX0fI3zfEthgPjw/OIq6HVjK5/qx6SFg8oroa cXCtGaSt1LYGJ347m+DAM4+Hq/aDb0ShIr23vh2YNBwapXcoop2b3dvywPCFmhWKLZmbIj eP5EA3uq+dI1Z6pxbYQKUXrZQvzvSu49LT8ZtPKFyjwORJ6ToCqe8VnClPowJSpQZ/0wFw cKbeIrlCD9A6Xp6zfuLhlwoEh35a9zbTq/rWzBVOeA9lK2bIwKnkEQ5yi+uKcmHXEDFYMX I0g5vU3kr3YMQ/0wOUv+vA/0E4XJ97EJvic+fAFQXBneJuvBDanqm/bAUskxhA== 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 4TgTvT2xCFzSK9; Thu, 22 Feb 2024 10:31: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 41MAVHML016538; Thu, 22 Feb 2024 10:31:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVHj1016535; Thu, 22 Feb 2024 10:31:17 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:17 GMT Message-Id: <202402221031.41MAVHj1016535@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 4ece79968e70 - main - x86/xen: fix out of bounds access to the event channel masks on resume 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4ece79968e70b96d3283f202635d49a4bf04a7e7 Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=4ece79968e70b96d3283f202635d49a4bf04a7e7 commit 4ece79968e70b96d3283f202635d49a4bf04a7e7 Author: Roger Pau Monné AuthorDate: 2024-02-05 10:47:25 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:03 +0000 x86/xen: fix out of bounds access to the event channel masks on resume When resuming from migration or suspension all regular event channels ports are reset to the INVALID_EVTCHN value, and drivers should re-initialize them according to the new value provided by the other end of the connection. However, the driver would first attempt to unbind the event channel handler before attempting to bind it using the newly provided port. This unbind uses the stale event channel port that has been set to INVALID_EVTCHN for some operations (notably as a result of the handler removal the interrupt subsystem ends up calling disable intr and source PIC hooks). This was fine when INVALID_EVTCHN was 0, as then the operation would just result in pointless setting of the 0 bit in the different event channel related control arrays (evtchn_{pending,mask} for example). However with the change to define INVALID_EVTCHN as ~0 the write is no longer pointless, and we end up triggering a page-fault, or corrupting random data that happens to be mapped at the array position + ~0 bits. In hindsight the change of INVALID_EVTCHN from 0 to ~0 was way more risky than initially assessed, and I believe has end up resulting in more fragile code for no real benefit. Fix the disable intr and source wrappers to check whether the event channel is valid before attempting to use it. Also introduce some extra KASSERTs in several array accesses in order to avoid out of bounds accesses if INVALID_EVTCHN ever reaches those functions. Fixes: 1797ff962769 ('xen/intr: cleanup event channel number use') MFC after: 1 week Sponsored by: Cloud Software Group Reviewed by: markj Differential revision: https://reviews.freebsd.org/D43928 --- sys/dev/xen/bus/xen_intr.c | 8 ++++++-- sys/xen/evtchn/evtchnvar.h | 7 +++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/sys/dev/xen/bus/xen_intr.c b/sys/dev/xen/bus/xen_intr.c index 3fc8fb0fe83a..609f31b5418a 100644 --- a/sys/dev/xen/bus/xen_intr.c +++ b/sys/dev/xen/bus/xen_intr.c @@ -166,6 +166,7 @@ evtchn_cpu_mask_port(u_int cpu, evtchn_port_t port) struct xen_intr_pcpu_data *pcpu; pcpu = DPCPU_ID_PTR(cpu, xen_intr_pcpu); + KASSERT(is_valid_evtchn(port), ("Invalid event channel port")); xen_clear_bit(port, pcpu->evtchn_enabled); } @@ -188,6 +189,7 @@ evtchn_cpu_unmask_port(u_int cpu, evtchn_port_t port) struct xen_intr_pcpu_data *pcpu; pcpu = DPCPU_ID_PTR(cpu, xen_intr_pcpu); + KASSERT(is_valid_evtchn(port), ("Invalid event channel port")); xen_set_bit(port, pcpu->evtchn_enabled); } @@ -619,7 +621,8 @@ void xen_intr_disable_intr(struct xenisrc *isrc) { - evtchn_mask_port(isrc->xi_port); + if (__predict_true(is_valid_evtchn(isrc->xi_port))) + evtchn_mask_port(isrc->xi_port); } /** @@ -706,7 +709,8 @@ xen_intr_disable_source(struct xenisrc *isrc) * unmasked by the generic interrupt code. The event channel * device will unmask them when needed. */ - isrc->xi_masked = !!evtchn_test_and_set_mask(isrc->xi_port); + if (__predict_true(is_valid_evtchn(isrc->xi_port))) + isrc->xi_masked = !!evtchn_test_and_set_mask(isrc->xi_port); } /* diff --git a/sys/xen/evtchn/evtchnvar.h b/sys/xen/evtchn/evtchnvar.h index 455f7bcbd620..3e6575748f6b 100644 --- a/sys/xen/evtchn/evtchnvar.h +++ b/sys/xen/evtchn/evtchnvar.h @@ -37,8 +37,11 @@ #include /* Macros for accessing event channel values */ -#define EVTCHN_PTR(type, port) \ - (HYPERVISOR_shared_info->evtchn_##type + ((port) / __LONG_BIT)) +#define EVTCHN_PTR(type, port) ({ \ + KASSERT(port < nitems(HYPERVISOR_shared_info->evtchn_##type) * \ + sizeof(xen_ulong_t) * 8, ("Invalid event channel port")); \ + (HYPERVISOR_shared_info->evtchn_##type + ((port) / __LONG_BIT));\ +}) #define EVTCHN_BIT(port) ((port) & (__LONG_BIT - 1)) #define EVTCHN_MASK(port) (1UL << EVTCHN_BIT(port)) From nobody Thu Feb 22 10:31:18 2024 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 4TgTvV5nz1z5CM5J; Thu, 22 Feb 2024 10:31: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 4TgTvV4qVtz4kXV; Thu, 22 Feb 2024 10:31:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/y1dyd/yiWdO+49/9WWllpUTyBDEclF5EdMNcu6NpWg=; b=dwFBY+EjgAy47AAGl0vrHIzFc4aLWIXQfpCKGHTOVxKa+7vgURTwuNvLxgSbHO05BUdZL4 J5LAkdJ87iOzmxlsBJeVt9jS/Huq/2vvkUOIxRHRSGCJC0k0c7wWccwX8DB6n3U4OKtG+o 3UrecD0TzRULuUQBncIUgu0+m+WMLuYUoQT+HaLZyGEhCXBlkClVNUVuKfsU+NUEXED5Hj c6Xic1h/j2Aob0lW0cg6Ky1HNXKVFdL1zsnpotoodQ93CAHN9cG6r7y5SaTI+CNNWuJkl8 t3pYkf0TjMnzA353HVxe9LR0X6CnPX8+4sKlWy99S8TGhM50Vvxadn3ltqdtgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/y1dyd/yiWdO+49/9WWllpUTyBDEclF5EdMNcu6NpWg=; b=gN016fy/5Qn0ScDHVZ2E38f1EG8Ub0hWHAQcCb/Hk4bk72Wt/wlqT75kvXbjAi4/h6p0uQ qciZ6kx4R3DBq4gvkLP9P4RObbhnCBllW8DsPGid+bOcbuV+1pFMeWuRIg1XZNAqj1FWB6 MRsbWgthm7Dp+WN3iee0GtnyuwU7pYY00wTPVi8bihLZ7YucSGqzHilzsFoVnVocfphpNc AjW0WSyIRCrBaMDIp/QtrSxxWSvGqXKbmMWm6idhXsMNFA2rQId/1BZHUxEHhtb5yIMyet 1oh73wjEf1GLkn6AyGfY0hQHEJCO4vpCxPK0h1hD7sfyPdVbWXfqF2CrEAYeMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597878; a=rsa-sha256; cv=none; b=vZkeKdqlFtZay5UHhZYl4YAotKdPEcbVN5L2lTTNA3OlBhngUp0blnOuv4E58wHuAHlNPW pNx0DCOvxdNi9rhObSJM78FTdHn2vU+RL4FKuvUoEinxnjUIJATL6IGCIDsFxAkqnuwTbQ zhhCV4Oa50/muInTxoZXaBxCYlvid1PZiDz/z/EOYDiJp2qH3ArVxXobbP3Pgi1eKrXbKw mpnEwhk6pnaLVJWe+izPQ2DxNMSMfmQ37ZuTX0HBILjJ+zdKHsyWgv0xSkGqKCL2Bgf6Iy 39cNX1vj/uSzuzZCejHdZHPlL5/mzdho9d52vX63xR8HTAh9S+xM/5C/7CiPhQ== 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 4TgTvV3t6mzS74; Thu, 22 Feb 2024 10:31: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 41MAVIhe016589; Thu, 22 Feb 2024 10:31:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVIts016586; Thu, 22 Feb 2024 10:31:18 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:18 GMT Message-Id: <202402221031.41MAVIts016586@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 399386f190f1 - main - x86/xen: introduce non-hypercall based emergency print 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 399386f190f157073baaa56925e92cc90edded8c Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=399386f190f157073baaa56925e92cc90edded8c commit 399386f190f157073baaa56925e92cc90edded8c Author: Roger Pau Monné AuthorDate: 2024-01-22 13:20:25 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:03 +0000 x86/xen: introduce non-hypercall based emergency print The current xc_printf() function uses an hypercall in order to send character buffers to the hypervisor for it to print on the hypervisor console (if the hypervisor is configured to print such messages). This requires the hypercall page to be initialized, which is extra work and can go wrong. On x86 instead of using the console IO hypercall use the debug console IO port, also called "port E9 hack". This allows sending characters to Xen using an outb instruction, without any initialization required. Keep the previous hypervisor based implementation by using the weak attribute, which allows each architecture to provide an alternate (arch-specific) implementation. Sponsored by: Cloud Software Group Reviewed by: markj Differential revision: https://reviews.freebsd.org/D43929 --- sys/dev/xen/console/xen_console.c | 15 ++++++++++----- sys/x86/xen/hvm.c | 5 +++++ sys/xen/xen-os.h | 7 +++++++ 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/sys/dev/xen/console/xen_console.c b/sys/dev/xen/console/xen_console.c index d232dd4e0c1c..f1a298a2aefa 100644 --- a/sys/dev/xen/console/xen_console.c +++ b/sys/dev/xen/console/xen_console.c @@ -138,6 +138,13 @@ struct putchar_arg { size_t n_next; }; +void __weak_symbol +xen_emergency_print(const char *str, size_t size) +{ + KASSERT((xen_domain()), ("call to xc_printf from non Xen guest")); + HYPERVISOR_console_write(str, size); +} + static void putchar(int c, void *arg) { @@ -150,12 +157,12 @@ putchar(int c, void *arg) * We have no buffer, output directly to the * console char by char. */ - HYPERVISOR_console_write((char *)&c, 1); + xen_emergency_print((char *)&c, 1); } else { pca->buf[pca->n_next++] = c; if ((pca->size == pca->n_next) || (c = '\0')) { /* Flush the buffer */ - HYPERVISOR_console_write(pca->buf, pca->n_next); + xen_emergency_print(pca->buf, pca->n_next); pca->n_next = 0; } } @@ -177,15 +184,13 @@ xc_printf(const char *fmt, ...) pca.size = 0; #endif - KASSERT((xen_domain()), ("call to xc_printf from non Xen guest")); - va_start(ap, fmt); kvprintf(fmt, putchar, &pca, 10, ap); va_end(ap); #ifdef PRINTF_BUFR_SIZE if (pca.n_next != 0) - HYPERVISOR_console_write(buf, pca.n_next); + xen_emergency_print(buf, pca.n_next); #endif } diff --git a/sys/x86/xen/hvm.c b/sys/x86/xen/hvm.c index b8125e230b6f..6411b790a2be 100644 --- a/sys/x86/xen/hvm.c +++ b/sys/x86/xen/hvm.c @@ -95,6 +95,11 @@ TUNABLE_INT("hw.xen.disable_pv_nics", &xen_disable_pv_nics); /*---------------------- XEN Hypervisor Probe and Setup ----------------------*/ +void xen_emergency_print(const char *str, size_t size) +{ + outsb(XEN_HVM_DEBUGCONS_IOPORT, str, size); +} + uint32_t xen_cpuid_base; static uint32_t diff --git a/sys/xen/xen-os.h b/sys/xen/xen-os.h index d7e9b3ca8632..98be41124846 100644 --- a/sys/xen/xen-os.h +++ b/sys/xen/xen-os.h @@ -151,6 +151,13 @@ int xenmem_free(device_t dev, int res_id, struct resource *res); /* Debug/emergency function, prints directly to hypervisor console */ void xc_printf(const char *, ...) __printflike(1, 2); +/* + * Emergency print function, can be defined per-arch, otherwise defaults to + * HYPERVISOR_console_write. Should not be called directly, use xc_printf + * instead. + */ +void xen_emergency_print(const char *str, size_t size); + #ifndef xen_mb #define xen_mb() mb() #endif From nobody Thu Feb 22 10:31:19 2024 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 4TgTvX2Chrz5CMB2; Thu, 22 Feb 2024 10:31: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 4TgTvX0Y0Zz4kcw; Thu, 22 Feb 2024 10:31:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1op4LSRuMN5oboEiAxzC01fvvJaFwyxFIwfce+VSkuM=; b=sqHqhSCagEeJbHI2ROU2GY02GbHgE5FymH6s6pZYSZFOVclUqgXX7HMkYxFb5Ttdf08lFb rYtcIBpq81m8vtxpxSJnLT+5LrZEbbWbvoe1l0Dzepzjv1sS22NIbRSfzsGG0QM1MBF5ZR yzNOzC6CzlaWAqhjW0dWfFCaX5shRynKu4C0kPltvtAT5rekj8N3oEC6oH+ptfhCA0e//7 YPSdI3C6yYNd+ROtLkdMwKrzSaKDISLTAck3q8/sY0oMMKzVgBa5uiapBmideKn6Xaksq3 71EPcV8XZ62aMijfwdX1PYby+ScabdamtrWVl79HUnwiMjM6SU1o/gKglD525Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1op4LSRuMN5oboEiAxzC01fvvJaFwyxFIwfce+VSkuM=; b=U9AG6Ti+PAAyT7mEspR2gNPHG7FAl2CG0mxcnOB/7t/H23bQ33CeuAAxEINkZB1eb7VbPf 0kORVOCoVcpKouLw+auoweto7d3/kS6xPZvzvVRdsZrhYJcBh1lT/xxx/WF0afGt4VYojy lYqwIyZG96enrwdbOJJ+fqnmsVWDUZQKSGwjmkwGPzvVBBINJKokzxeIAorsveb11z3Tes ZI0xsA+A3HitcRpB5To9+a1VACoUjtN9FYHNUbEWf8jWVOt8R0fMNm6BtveALUM3CZkx6D MpN/G1VzvQoiAE8rvERFf3fhSzdtV40MXo+uM6x5MfG0Nt3SOFuOutHt/BzF4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597880; a=rsa-sha256; cv=none; b=xJmSI70Tq0fDf7EemlWUB5ReSC58v/IBjAA7QqXrTqxPYcAW6qU3bRBhlPSSZRTRaSxjrZ NlWEatDv7JAVmEPus67YaRp98ZbJdAzQhJG3RIB2nZA/RJy2zBiJmxaEZLVbepj5orNXh0 hYDCacB1XbJoDIpPynBfYByLtr1aAMl1BbMT1IAW3UZJ1XLSB1WfvdLdwc4SbFkBK5qy/k fySqY0+0nArMTcO/95gJQfN0VpoO6MDYa4iM3VxxwjNpFo5mRY+KvUmtul6lr4XFprk3Qw RQbBnU9Nyf2jezKeqXKPPNyugKM+lgd57gWCCeKWWOFpl18T8elxprjuNMw3Hw== 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 4TgTvW56P1zSb6; Thu, 22 Feb 2024 10:31: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 41MAVJeR016634; Thu, 22 Feb 2024 10:31:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVJuL016631; Thu, 22 Feb 2024 10:31:19 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:19 GMT Message-Id: <202402221031.41MAVJuL016631@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 6744fd8e7503 - main - x86/cpu: improve hypervisor 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6744fd8e75032c893e6a80bced8be3a991fa2901 Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=6744fd8e75032c893e6a80bced8be3a991fa2901 commit 6744fd8e75032c893e6a80bced8be3a991fa2901 Author: Roger Pau Monné AuthorDate: 2024-01-19 09:15:17 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:04 +0000 x86/cpu: improve hypervisor detection Some hypervisors can expose multiple signatures, for example Xen will expose both the Xen and the HyperV signatures if Viridian extensions are enabled for the guest. Presence of multiple signatures is currently not handled by FreeBSD, that will exit once a known signature is found in cpuid output. Exposing the HyperV signature on hypervisors different than HyperV is not uncommon, this is done so that such hypervisor can expose a (subset) of the Viridian extensions to Windows guests for performance reasons. Likely for compatibility purposes the HyperV signature is always exposed on the first leaf, and the Xen signature is exposed in the secondary leaf. Fix the specific case of HyperV by not exiting from the scan if the HyperV signature is found, and prefer a second signature if one is found. Note that long term we might wish to convert vm_guest into a bitmap, so that it can signal detection of multiple hypervisor interfaces. Fixes: b0165dc4539f ('x86/xen: fix HVM guest hypercall page setup') PR: 276421 Sponsored by: Cloud Software Group Reviewed by: markj kib Differential revision: https://reviews.freebsd.org/D43508 --- sys/x86/x86/identcpu.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 9c82f9f8a882..df24c5bddffd 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -1385,6 +1385,8 @@ identify_hypervisor_cpuid_base(void) regs[0] = leaf + 1; if (regs[0] >= leaf) { + enum VM_GUEST prev_vm_guest = vm_guest; + for (i = 0; i < nitems(vm_cpuids); i++) if (strncmp((const char *)®s[1], vm_cpuids[i].vm_cpuid, 12) == 0) { @@ -1397,7 +1399,7 @@ identify_hypervisor_cpuid_base(void) * specific hypervisor, record the base, high value, * and vendor identifier. */ - if (vm_guest != VM_GUEST_VM || leaf == 0x40000000) { + if (vm_guest != prev_vm_guest || leaf == 0x40000000) { hv_base = leaf; hv_high = regs[0]; ((u_int *)&hv_vendor)[0] = regs[1]; @@ -1409,7 +1411,18 @@ identify_hypervisor_cpuid_base(void) * If we found a specific hypervisor, then * we are finished. */ - if (vm_guest != VM_GUEST_VM) + if (vm_guest != VM_GUEST_VM && + /* + * Xen and other hypervisors can expose the + * HyperV signature in addition to the + * native one in order to support Viridian + * extensions for Windows guests. + * + * Do the full cpuid scan if HyperV is + * detected, as the native hypervisor is + * preferred. + */ + vm_guest != VM_GUEST_HV) return; } } From nobody Thu Feb 22 10:31:20 2024 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 4TgTvY35p8z5CMB3; Thu, 22 Feb 2024 10:31: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 4TgTvX6p29z4knb; Thu, 22 Feb 2024 10:31:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tBSEtycKBPwVq/BrrUgXMMuotw78kzmFz1UTd5qr3Vk=; b=D693hTdC8m0YhXhzn+U+ZQF4UUfGve3A4a18Ppy9JveLElYUxFpwHJ4uWOMClAqjgCDYIO cErQ/WV1I/PGvUkTP3yPmCBPibfs9WnjfTcsae2VBWuLpkgOIoviTd5YvZb4TPvlUWLoWL pr9kbVpRYNTXTJAj0jsYsaAHc57LWY/h/it9wyiMJw5PKvhPkxQpNn4hMP8S8lSqNoBV0T e1B2UOoiGAfgEaX4IeUQzwDQX3KCogMd11NS3NtvndeLACo0SXBj4F6rFc+QNxm2MYJ0EL NzxTy3GxhUzLKraST45t+JpFjMVqwx4x+yhpEa2hkYfbkqOQmoSZvXXgwXvqBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tBSEtycKBPwVq/BrrUgXMMuotw78kzmFz1UTd5qr3Vk=; b=Yp8jrgfyT4xkj/RvATjBWJNjnx3dYS0XDj1LuhNXtWTbmLEsed7oa75YZ1a6NIz84Wm0LC OPkF8h3VkSsJ73kWWOPm1CRSt9SKXJn0s76AFkiudS9jdvA+yfB+fIyiKO+f2VwG4hF38c kOm0LX9cbI3HaHQMS/5toy8rU2bttaBuIFI25wiF2Mr2I1O5MOmQYOXB7fNkMBGPrDeNAJ aGWlQrGsIOMuOdtemlOXwhHcwRts4EcQj4WusIgqtLDmfSjmPfHfpHcaL+jOCRAXHnSrlf q4FBAAjI8FYh++pRKGNS3rPmdEuFdEOEUFm4LgyNDXGrZ1or1GaPt4raVkvsTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597881; a=rsa-sha256; cv=none; b=FfZyx6lniItbjtoArAXrciP2WvkhA/kAATAFxdMIN5fVdDggCOuDkBfOdJG9Zah3rmj+/R CYgv1LH0WflXx73/Zjfy9yyCArm6SfsS80V0QzOABtGXRxaxFue6QSxg5KIXJDNi8ZLQIx SK2RwxZHKQc4+ewJJvl++pdcyUh+ZgXLrhuzFTanDkTcUiPICN/AEMadSRXgu6spYL1tKm +NcftyKLl6c7WsHsZ31GUK3ADSFQyJCcTxgnOYeLkP3mcXYVP3qANc2ulMvFcshImLZ5Ca PIj+JZ24wpYft2U/X9c56aO0gUtZYDlFsLnt6g/Or1T0axi9SJ+eMm0qk8D4MQ== 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 4TgTvX5v8bzSKB; Thu, 22 Feb 2024 10:31: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 41MAVKoY016692; Thu, 22 Feb 2024 10:31:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVKDV016689; Thu, 22 Feb 2024 10:31:20 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:20 GMT Message-Id: <202402221031.41MAVKDV016689@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: e283c994ab27 - main - x86/xen: fill hypercall page with int3 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e283c994ab270706142ef5dde9092950000af901 Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=e283c994ab270706142ef5dde9092950000af901 commit e283c994ab270706142ef5dde9092950000af901 Author: Roger Pau Monné AuthorDate: 2024-02-02 08:50:16 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:04 +0000 x86/xen: fill hypercall page with int3 Filling the hypercall page with nops is not helpful from a debugging point of view, as for example attempting to execute an hypercall before the page is initialized will result in the execution flow falling through into xen_start32, making the mistake less obvious to spot. Instead fill the page with int3 (0xcc) which will result in a #BP trap. Sponsored by: Cloud Software Group Reviewed by: markj Differential revision: https://reviews.freebsd.org/D43930 --- sys/amd64/amd64/xen-locore.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/amd64/xen-locore.S b/sys/amd64/amd64/xen-locore.S index db949af1e7ca..ed2aae038b6d 100644 --- a/sys/amd64/amd64/xen-locore.S +++ b/sys/amd64/amd64/xen-locore.S @@ -67,7 +67,7 @@ .p2align PAGE_SHIFT, 0x90 /* Hypercall_page needs to be PAGE aligned */ ENTRY(hypercall_page) - .skip 0x1000, 0x90 /* Fill with "nop"s */ + .skip 0x1000, 0xcc /* Fill with `int3` to generate a #BP trap. */ /* PVH entry point. */ .code32 From nobody Thu Feb 22 10:31:21 2024 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 4TgTvZ3csNz5CLvJ; Thu, 22 Feb 2024 10:31: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 4TgTvZ0hVDz4ktg; Thu, 22 Feb 2024 10:31:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jm/o4vSTLFgA2GZ+QINpIRmPYeE4papFbATDQ+FmebM=; b=lFbxAJmuqzRH7+uxi+DlG5oK+BRTwUedhLFBvDAqBJ0GcwB3C5ZGVdNwocBpNRNvE3N6Tj uOEFuMg9ct04dNyYW3NXZ4NK0Ife/kDkSee+J3I0DtWwmrZJ0lswKijGuKVeduDSOffw/A VZ3Lnsz8xf+pFjHpO4RnE0yNPEE/kuOQPJfri4lGU49Zu+eR/I69oLMcBZmgtM0y6nPTKn ARWizkoqsAyoZcnme8y7DuiCJST3gEOhkadgPYCwE6mTpfNFKulBzUL5OPE3W9aDVZ6v7F vKJDJARua1JDGgiBNzGjkxyDbjjL/44MvWuYsrLAuUUdFjAtuSHcTJ/knO1zyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jm/o4vSTLFgA2GZ+QINpIRmPYeE4papFbATDQ+FmebM=; b=kIweKOUpuotsHpDXisGjVw5QH52jqJaPxWEYgPte6DvgvimjVhrd8DFbvYEFbjszyMKy+Y hHiQ5dtZNDLRDxA6bYs+fLitgjmY6w3tE0xj6yy/XRUCtNsjnIjQiGIP6y65SwO4/byp+A EPGKOgfJNQAHbAJPM/seoZdHfWYJwxQ/JN8O0qmwJmVvbNChcro3y+t6/FjMz2AXeDeL9v jZ5JGwJyI3cYpeJ/5IYiQHUGxR9V8Km1yYPgk49q3x3xJczFfBqK1ErN7nK304UU05udsi +gs0a3CkKsvwb/XhGsya8T9YHlj3zviQZxB7GL7bbO3r29muopizVnhnsztIlw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597882; a=rsa-sha256; cv=none; b=Y7noyKGrK7rJ1zVCB4+nsl8hQb33bjvz3voTwFr0+fAiYbn+fL5qXcoA2zFcffjmEKO/3f EkgyitEdt9hwPAtrqaRjblBhjWqMKVspZp7m84y3KabJmBzFUuxgiUBP5vK//tzaejnqKF 8DRwJN4xMg+Pi55WOMn1HkRYQ2GDPi780Rc1/Zrgcjdxjp1OLoUeQsz6E2fEZVWZwfe8kX VOOOuJKqhfrFzqppFzKh/TAg/LFR7uba4Lp0Q3woPiWMGxA7fBqk9J6dfOfqGNLm3fYAAy 72T99kfocgttUfm0UBJ9ZGnfT68biw98d4aPsgTHVKMlkQMaCXp2VNVC2dgcFg== 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 4TgTvY6vfhzSb8; Thu, 22 Feb 2024 10:31: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 41MAVLe4016743; Thu, 22 Feb 2024 10:31:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVLib016740; Thu, 22 Feb 2024 10:31:21 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:21 GMT Message-Id: <202402221031.41MAVLib016740@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 848e2719af50 - main - x86/xen: remove parameter from fixup_console() 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 848e2719af508516452b447047ddf6642ce42d0f Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=848e2719af508516452b447047ddf6642ce42d0f commit 848e2719af508516452b447047ddf6642ce42d0f Author: Roger Pau Monné AuthorDate: 2024-02-02 08:32:15 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:04 +0000 x86/xen: remove parameter from fixup_console() And instead fetch the metadata inside of the function. This is done in preparation for changing the call site of fixup_console(), which will no longer have the kernel metedata pointer in context. No functional change intended. Sponsored by: Cloud Software Group Reviewed by: markj Differential revision: https://reviews.freebsd.org/D43931 --- sys/x86/xen/pv.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c index 9ea276caee81..75c345ff3a2c 100644 --- a/sys/x86/xen/pv.c +++ b/sys/x86/xen/pv.c @@ -335,7 +335,7 @@ xen_pvh_parse_symtab(void) #endif static void -fixup_console(caddr_t kmdp) +fixup_console(void) { struct xen_platform_op op = { .cmd = XENPF_get_dom0_console, @@ -346,10 +346,19 @@ fixup_console(caddr_t kmdp) struct vbe_fb vbe; } *fb = NULL; int size; + caddr_t kmdp; + + kmdp = preload_search_by_type("elf kernel"); + if (kmdp == NULL) + kmdp = preload_search_by_type("elf64 kernel"); + if (kmdp == NULL) { + xc_printf("Unable to find kernel metadata\n"); + return; + } size = HYPERVISOR_platform_op(&op); if (size < 0) { - xc_printf("Failed to get dom0 video console info: %d\n", size); + xc_printf("Failed to get video console info: %d\n", size); return; } @@ -486,7 +495,7 @@ xen_pvh_parse_preload_data(uint64_t modulep) else strlcpy(bootmethod, "BIOS", sizeof(bootmethod)); - fixup_console(kmdp); + fixup_console(); } else { /* Parse the extra boot information given by Xen */ if (start_info->cmdline_paddr != 0) From nobody Thu Feb 22 10:31:23 2024 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 4TgTvb5Dw3z5CMGc; Thu, 22 Feb 2024 10:31: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 4TgTvb1wJ4z4ktw; Thu, 22 Feb 2024 10:31:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S5ZRIYeImaBweCxrnuhMJOKa/e/Agqih8Mc3nXSAVDs=; b=VV+AJmN5V+CVsiHjHjKQQjaC82n36swI+5vjVVGLn4EXhHvvB4SOU0797n/VunRSYAVREO 9Dihi0hu9/TB0fPdEUaRGizxTWiUz7dx+XfJtE09v6/1JA7vDobFaAi4CD1SCgekyrMmZ/ DnNUMt9gTurNBOBNcyelYIUgzkwo7AWkNUfcSF2P7Takmr2J7xzP0fmtrZNOLmiFgAQnAR D4wpuPcTFfnG3sx1PN2z99vu1M8znh87d2o5nQ00g4iQsKvPuK6huk3H4bGJNRe+03iGRi OaG4Vz4gkIktPM9Eg+DzCKHOohzYm6RgeATbp93hNJeqARSuN6gq5iDOV7vX5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S5ZRIYeImaBweCxrnuhMJOKa/e/Agqih8Mc3nXSAVDs=; b=JeB4ybXFQnkfTEifE0lZK6A4tz/jKGrU9ADoOMIU3kV22UotaW5J7XyDT5YGgpIR9f69RK rKz/OUcFmL9C6UMPYUdPmsQqkp+ZLP2PQaMa3D5ZVgr/JJBSXbqjhX8aEbvxBWXzntwy5u NPIhF9TkElPsvrjKGLeb6MUCNZsgrMG3MjWcYQNJJBybJhm/V0RK6XAk9//r6/uLZhDaBa qyr5RiKJyVhkUteigv4eXlibTsZdqElrfp/qGBBehhzLnbvRWNt8OnLzrt73mnt9/hGCxr 364cBjET8768qwQ+7r1b5qatkyn1SoHLV6kGs5ZNmRR2ryhra0UPmBOUKgR8hQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597883; a=rsa-sha256; cv=none; b=Vcg9k5jEajIEO9wpwoGUiLbXgFJz4FPqzmWTUUjCOntDV2ynCb/OlqxphXmv51k8dQjvft iQpoVUVzkKVeVtvQo6FtzMNYac9O04zWlicZd8AILrGf9NLK+91RuOmPPXnU5yjlzMlizP 5p0g8a3mJMAa9/FHYxmodd4ricnvrSHTZmr9M+8OppFYtC9firGHpwbP04CIXzxl11H7zb nlNt68f9LribdCyP8zBdeMR1pjIboiqjeXx3gisvp2FReCASOmInSXWG0XOSmk++TlEO55 Xnj8EoHTkPiLoxCWTnT7WPZPmtiF/zqW7fnEmcc398TvrcH+0mpadFpWY5E/Hg== 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 4TgTvb0wsvzS5X; Thu, 22 Feb 2024 10:31: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 41MAVN7J016802; Thu, 22 Feb 2024 10:31:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVNLv016799; Thu, 22 Feb 2024 10:31:23 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:23 GMT Message-Id: <202402221031.41MAVNLv016799@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 9a687d1fe3af - main - x86/xen: introduce a Xen early init 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a687d1fe3af460cdc39c3ed08d1e33cc99b8141 Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=9a687d1fe3af460cdc39c3ed08d1e33cc99b8141 commit 9a687d1fe3af460cdc39c3ed08d1e33cc99b8141 Author: Roger Pau Monné AuthorDate: 2024-02-02 10:00:31 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:04 +0000 x86/xen: introduce a Xen early init function Start by moving the hyeprcall setup to such function. The aim is to have a function that does all the required Xen early initialization for both HVM and PVH, instead of having it scattered across different paths. Sponsored by: Cloud Software Group Reviewed by: markj Differential revision: https://reviews.freebsd.org/D43932 --- sys/x86/include/xen/xen-os.h | 3 +++ sys/x86/xen/hvm.c | 48 ++++++++++++++++++++++++++++++++++++++++++++ sys/x86/xen/pv.c | 9 ++++----- 3 files changed, 55 insertions(+), 5 deletions(-) diff --git a/sys/x86/include/xen/xen-os.h b/sys/x86/include/xen/xen-os.h index 12942375be43..ec0d4b1ab9f1 100644 --- a/sys/x86/include/xen/xen-os.h +++ b/sys/x86/include/xen/xen-os.h @@ -96,6 +96,9 @@ xen_pv_nics_disabled(void) bool xen_has_iommu_maps(void); +/* (Very) early initialization. */ +void xen_early_init(void); + #endif /* !__ASSEMBLY__ */ #endif /* _MACHINE_X86_XEN_XEN_OS_H_ */ diff --git a/sys/x86/xen/hvm.c b/sys/x86/xen/hvm.c index 6411b790a2be..9d9a64dd29ea 100644 --- a/sys/x86/xen/hvm.c +++ b/sys/x86/xen/hvm.c @@ -41,8 +41,10 @@ #include +#include #include #include +#include #include #include @@ -184,6 +186,52 @@ out: return (0); } +/* + * Translate linear to physical address when still running on the bootloader + * created page-tables. + */ +static vm_paddr_t +early_init_vtop(void *addr) +{ + + /* + * Using a KASSERT won't print anything, as this is before console + * initialization. + */ + if (__predict_false((uintptr_t)addr < KERNBASE)) { + xc_printf("invalid linear address: %#lx\n", (uintptr_t)addr); + halt(); + } + + return ((uintptr_t)addr - KERNBASE +#ifdef __amd64__ + + kernphys - KERNLOAD +#endif + ); +} + +/* Early initialization when running as a Xen guest. */ +void +xen_early_init(void) +{ + uint32_t regs[4]; + + xen_cpuid_base = xen_hvm_cpuid_base(); + if (xen_cpuid_base == 0) + return; + + /* Find the hypercall pages. */ + do_cpuid(xen_cpuid_base + 2, regs); + if (regs[0] != 1) { + xc_printf("Invalid number of hypercall pages %u\n", + regs[0]); + vm_guest = VM_GUEST_VM; + return; + } + + wrmsr(regs[1], early_init_vtop(&hypercall_page)); +} + static void xen_hvm_init_shared_info_page(void) { diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c index 75c345ff3a2c..3c22d9e5cf6f 100644 --- a/sys/x86/xen/pv.c +++ b/sys/x86/xen/pv.c @@ -162,14 +162,13 @@ hammer_time_xen(vm_paddr_t start_info_paddr) struct xen_add_to_physmap xatp; uint64_t physfree; char *kenv; - int rc; if (isxen()) { vm_guest = VM_GUEST_XEN; - rc = xen_hvm_init_hypercall_stubs(XEN_HVM_INIT_EARLY); - if (rc) { - xc_printf("ERROR: failed to initialize hypercall page: %d\n", - rc); + xen_early_init(); + if (xen_cpuid_base == 0) { + xc_printf( + "ERROR: failed to initialize hypercall page\n"); HYPERVISOR_shutdown(SHUTDOWN_crash); } } From nobody Thu Feb 22 10:31:25 2024 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 4TgTvd6zKLz5CM81; Thu, 22 Feb 2024 10:31: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 4TgTvd45xmz4kvW; Thu, 22 Feb 2024 10:31:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NXN3QMFAv30+qKzFEmdzCMIEisk+jQ2WeSOPOFmnwLw=; b=h6AS92pKkr5vpr4PBozBQFJvyUPw6XsU5aiPW+u0gVcTxSd4Lb/ewxtnBpub4Ef/XrGarf XiHwv7BGWs1L8msB20QKtBY9dU0c7NFeh1Y5cxicEW8+M3MYzZSmjEjT2Bb8GpnK6J6J/1 puGKG6MPRFHHc3HH7PCTId24JKDicW+RDWsvGYvg2Y43i42/apV7lwOdTav8n4OG51w5cV n9YrAhFHqo6aCLWAlTsPPIN8ZGBUnOnTL+xG7hj3C/rWhgpZRNJwejeurVlz6DhHaAe7W9 9rhaNiK853UgfLr7C3/5j+KCW9yuZo/iwkvF7k97t6dbG3bFFcCY6LB1u1y8jQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NXN3QMFAv30+qKzFEmdzCMIEisk+jQ2WeSOPOFmnwLw=; b=oUTm2gz782u/gA1ujo4LJXgaifjk320mxohlgee6d85CcCte7vRA2mE8zJMRMdowqQ5yk2 +n/wzwhfU5y87PtUVG6WwPKFj3uodFOgKTJtt/EHwD460aGObZ6heQssGUTSGX1iYaoxjO WqULwBlpEyx+G7t5E3TtfPLlfPm1wqCHhSTKTkCkgwvLh4k+Luk+tPA+gKQK/KPAKP8hVb w78KQ+dnb7XduRPZ9eu7AQYDm8NX22QFy7XClO59IVHoyPuUce3haueoTLcHR1JR78IOi0 erxCsbjo5mdRpOTBbtQcBX1rxGQfpzFLqZVNEVGpvKBuRr9UaP9wooDzXBz5Rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597885; a=rsa-sha256; cv=none; b=QLpCA255sIgKegPdXCwScGHpZ2i2BmvlETWkPIPo+nQXFxqyNhQktQZ3m7Begsnkoa/fPQ ybzX5sXqPh6+dv06HJNiN+70lxGOdppe9xnfknuZ2/cgbji/HkvHYxN6JCCr9m1yUkrSO9 yGuHpiaFdx2J8+wGzsxM7QfVa5ODuJ1UV/DxQMsD8ikQfjV51Rd45S+sgVLi3WwbaUMpCW tsiYbGrzcLtFFDXcHK+qL9wgsC5YM/Z/vwUmIolUCzWA28cmWZXgGbZe/agE6k3CgZGUNk OsEj+zNhZjhACtJWLQQjLZdpCkgGJxOWF/2ies9LJdXMgdsdTWbKFTOIcHN2TA== 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 4TgTvd2MYyzSdk; Thu, 22 Feb 2024 10:31: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 41MAVPJr018169; Thu, 22 Feb 2024 10:31:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVP4J018166; Thu, 22 Feb 2024 10:31:25 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:25 GMT Message-Id: <202402221031.41MAVP4J018166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 027b66d64b54 - main - x86/xen: do video console fixup as part of early initialization 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 027b66d64b547b2133c11b596a7e308ea8c83ccb Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=027b66d64b547b2133c11b596a7e308ea8c83ccb commit 027b66d64b547b2133c11b596a7e308ea8c83ccb Author: Roger Pau Monné AuthorDate: 2024-02-02 10:29:57 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:05 +0000 x86/xen: do video console fixup as part of early initialization When FreeBSD is running as dom0 the video console metadata provided by the bootloader might not be accurate, as Xen has very likely taken over the console and possibly changed the mode. Adjust the video console information in the kernel metadata as part of early Xen initialization. Sponsored by: Cloud Software Group Reviewed by: imp Differential revision: https://reviews.freebsd.org/D43934 --- sys/x86/xen/hvm.c | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ sys/x86/xen/pv.c | 83 ---------------------------------------------------- 2 files changed, 87 insertions(+), 83 deletions(-) diff --git a/sys/x86/xen/hvm.c b/sys/x86/xen/hvm.c index 9dc9360d719c..85f274175ac6 100644 --- a/sys/x86/xen/hvm.c +++ b/sys/x86/xen/hvm.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -45,6 +46,7 @@ #include #include #include +#include #include #include @@ -246,6 +248,87 @@ map_shared_info(void) return (rc); } +static void +fixup_console(void) +{ + struct xen_platform_op op = { + .cmd = XENPF_get_dom0_console, + }; + xenpf_dom0_console_t *console = &op.u.dom0_console; + union { + struct efi_fb efi; + struct vbe_fb vbe; + } *fb = NULL; + int size; + caddr_t kmdp; + + kmdp = preload_search_by_type("elf kernel"); + if (kmdp == NULL) + kmdp = preload_search_by_type("elf64 kernel"); + if (kmdp == NULL) { + xc_printf("Unable to find kernel metadata\n"); + return; + } + + size = HYPERVISOR_platform_op(&op); + if (size < 0) { + xc_printf("Failed to get video console info: %d\n", size); + return; + } + + switch (console->video_type) { + case XEN_VGATYPE_VESA_LFB: + fb = (__typeof__ (fb))preload_search_info(kmdp, + MODINFO_METADATA | MODINFOMD_VBE_FB); + + if (fb == NULL) { + xc_printf("No VBE FB in kernel metadata\n"); + return; + } + + _Static_assert(offsetof(struct vbe_fb, fb_bpp) == + offsetof(struct efi_fb, fb_mask_reserved) + + sizeof(fb->efi.fb_mask_reserved), + "Bad structure overlay\n"); + fb->vbe.fb_bpp = console->u.vesa_lfb.bits_per_pixel; + /* FALLTHROUGH */ + case XEN_VGATYPE_EFI_LFB: + if (fb == NULL) { + fb = (__typeof__ (fb))preload_search_info(kmdp, + MODINFO_METADATA | MODINFOMD_EFI_FB); + if (fb == NULL) { + xc_printf("No EFI FB in kernel metadata\n"); + return; + } + } + + fb->efi.fb_addr = console->u.vesa_lfb.lfb_base; + if (size > + offsetof(xenpf_dom0_console_t, u.vesa_lfb.ext_lfb_base)) + fb->efi.fb_addr |= + (uint64_t)console->u.vesa_lfb.ext_lfb_base << 32; + fb->efi.fb_size = console->u.vesa_lfb.lfb_size << 16; + fb->efi.fb_height = console->u.vesa_lfb.height; + fb->efi.fb_width = console->u.vesa_lfb.width; + fb->efi.fb_stride = (console->u.vesa_lfb.bytes_per_line << 3) / + console->u.vesa_lfb.bits_per_pixel; +#define FBMASK(c) \ + ((~0u << console->u.vesa_lfb.c ## _pos) & \ + (~0u >> (32 - console->u.vesa_lfb.c ## _pos - \ + console->u.vesa_lfb.c ## _size))) + fb->efi.fb_mask_red = FBMASK(red); + fb->efi.fb_mask_green = FBMASK(green); + fb->efi.fb_mask_blue = FBMASK(blue); + fb->efi.fb_mask_reserved = FBMASK(rsvd); +#undef FBMASK + break; + + default: + xc_printf("Video console type unsupported\n"); + return; + } +} + /* Early initialization when running as a Xen guest. */ void xen_early_init(void) @@ -273,6 +356,10 @@ xen_early_init(void) vm_guest = VM_GUEST_VM; return; } + + if (xen_initial_domain()) + /* Fixup video console information in case Xen changed the mode. */ + fixup_console(); } static void diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c index 515e5c58d304..e33fa41c83d7 100644 --- a/sys/x86/xen/pv.c +++ b/sys/x86/xen/pv.c @@ -319,87 +319,6 @@ xen_pvh_parse_symtab(void) } #endif -static void -fixup_console(void) -{ - struct xen_platform_op op = { - .cmd = XENPF_get_dom0_console, - }; - xenpf_dom0_console_t *console = &op.u.dom0_console; - union { - struct efi_fb efi; - struct vbe_fb vbe; - } *fb = NULL; - int size; - caddr_t kmdp; - - kmdp = preload_search_by_type("elf kernel"); - if (kmdp == NULL) - kmdp = preload_search_by_type("elf64 kernel"); - if (kmdp == NULL) { - xc_printf("Unable to find kernel metadata\n"); - return; - } - - size = HYPERVISOR_platform_op(&op); - if (size < 0) { - xc_printf("Failed to get video console info: %d\n", size); - return; - } - - switch (console->video_type) { - case XEN_VGATYPE_VESA_LFB: - fb = (__typeof__ (fb))preload_search_info(kmdp, - MODINFO_METADATA | MODINFOMD_VBE_FB); - - if (fb == NULL) { - xc_printf("No VBE FB in kernel metadata\n"); - return; - } - - _Static_assert(offsetof(struct vbe_fb, fb_bpp) == - offsetof(struct efi_fb, fb_mask_reserved) + - sizeof(fb->efi.fb_mask_reserved), - "Bad structure overlay\n"); - fb->vbe.fb_bpp = console->u.vesa_lfb.bits_per_pixel; - /* FALLTHROUGH */ - case XEN_VGATYPE_EFI_LFB: - if (fb == NULL) { - fb = (__typeof__ (fb))preload_search_info(kmdp, - MODINFO_METADATA | MODINFOMD_EFI_FB); - if (fb == NULL) { - xc_printf("No EFI FB in kernel metadata\n"); - return; - } - } - - fb->efi.fb_addr = console->u.vesa_lfb.lfb_base; - if (size > - offsetof(xenpf_dom0_console_t, u.vesa_lfb.ext_lfb_base)) - fb->efi.fb_addr |= - (uint64_t)console->u.vesa_lfb.ext_lfb_base << 32; - fb->efi.fb_size = console->u.vesa_lfb.lfb_size << 16; - fb->efi.fb_height = console->u.vesa_lfb.height; - fb->efi.fb_width = console->u.vesa_lfb.width; - fb->efi.fb_stride = (console->u.vesa_lfb.bytes_per_line << 3) / - console->u.vesa_lfb.bits_per_pixel; -#define FBMASK(c) \ - ((~0u << console->u.vesa_lfb.c ## _pos) & \ - (~0u >> (32 - console->u.vesa_lfb.c ## _pos - \ - console->u.vesa_lfb.c ## _size))) - fb->efi.fb_mask_red = FBMASK(red); - fb->efi.fb_mask_green = FBMASK(green); - fb->efi.fb_mask_blue = FBMASK(blue); - fb->efi.fb_mask_reserved = FBMASK(rsvd); -#undef FBMASK - break; - - default: - xc_printf("Video console type unsupported\n"); - return; - } -} - static caddr_t xen_pvh_parse_preload_data(uint64_t modulep) { @@ -479,8 +398,6 @@ xen_pvh_parse_preload_data(uint64_t modulep) strlcpy(bootmethod, "UEFI", sizeof(bootmethod)); else strlcpy(bootmethod, "BIOS", sizeof(bootmethod)); - - fixup_console(); } else { /* Parse the extra boot information given by Xen */ if (start_info->cmdline_paddr != 0) From nobody Thu Feb 22 10:31:24 2024 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 4TgTvd4sjyz5CMJw; Thu, 22 Feb 2024 10:31: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 4TgTvc3bjGz4kb5; Thu, 22 Feb 2024 10:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PLNdz/va8uhf1VlV6dgq7/kJfd347v7bwO3c3gUnQdo=; b=WSDhEad2k6NDNMC8AX9bqLLq7EE8KNuM1XLmunpDCm++b4KI9YsPysK94Usyyivg9KXr8m IPdePoTVZyht3MzNU4HyAOGsN5Zpb6V4lHNcIKO1aX7GFJlC0E0lP0CxAzxIQD5MFKVPF/ 674XMfwUCa3iELumAYoglNBKuvv1/g4l4aiNOR9ekoLc6cjP2R8MYHNJQTyHVFNHR6a1NP OtlPFvrkst0QpaGRBCXyRO8rgepgfOjl1c1Eze7SW95qBPnn5b5b/lHdb7i09iKk/l93Uo 1eMt31wWnXTUT/5WsFUWmtXMFk/oOgDuKzAayTKv5ixB+ITZ8ZvwO5j97EmDYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PLNdz/va8uhf1VlV6dgq7/kJfd347v7bwO3c3gUnQdo=; b=g3OaKAKOwFtT8AbYqvr4VUjwMGFHoblTpftSNK27PwuDNXDHdSzfsSR8lIfjEJ2nnmy+wK +z/yxU2jcxUaALdpHTGBAQSo8Al2l1MXTQL61DBsmZ9pbWj/03xPkjLnuBDFnILNvzT/Dt IFo+l79b6X/0iE5IXC3dNR0hWrnWIexW2JGSfKMg3a5f6y48WDJRgXAvHeubFh3lmBI9Hn 5l0gG4zq2mhHbq6+6qC3+W2ST+DGqox+m3aljoR6i6jdUH1x6gKBjlp/GZM5uuThfpx5re PgNZxdUBNmZPcgkTjHE+fp7knEkuLvyXWHK/wQkzPeMFJ4yOSw68uP8c1Uxrog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597884; a=rsa-sha256; cv=none; b=LLz2oWw+gYAQfZNctwEdWpNfs7+V/XaRjLxbss013d+DOHBBVoIoNQMWdgdEGf8Vtwcq14 Jhw5fl/8+70pj0DInD55pv1YYOkOy7YSTs9QnYGMLKKcElOQLZDeATgPiu60wegmjf8HHU 51Pmf6lqIifpIhHdfuLQEdZDeaUXYNrakAoB0sQ7zydgSrSLPggPqDbCbG1HQ+fxNFc3H3 Y4o/aH1nos4zhGbGlEeAp8RtM+3JVgt28mHjPuMcZPW3OABe2qJSQ532QAWEurzb2FChEM VKVTZ/c6iMyRZh+322luHP5G/l8aHzKVdwLmeU6LbWnR7c9FsvnoehxMdk2gHA== 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 4TgTvc1tJPzSPT; Thu, 22 Feb 2024 10:31:24 +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 41MAVO7V017915; Thu, 22 Feb 2024 10:31:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVOFW017903; Thu, 22 Feb 2024 10:31:24 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:24 GMT Message-Id: <202402221031.41MAVOFW017903@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 5d62aba742ac - main - x86/xen: move shared page setup to early init 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d62aba742ace4f020be5d5e843cf0f89024930b Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=5d62aba742ace4f020be5d5e843cf0f89024930b commit 5d62aba742ace4f020be5d5e843cf0f89024930b Author: Roger Pau Monné AuthorDate: 2024-02-02 10:20:33 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:05 +0000 x86/xen: move shared page setup to early init handler As done with the hypercall page, move the setup fo the shared info page into the newly introduced helper, which the aim of having a single helper and call site used by both HVM and PV in order to setup the basic Xen environment. Sponsored by: Cloud Software Group Reviewed by: markj Differential revision: https://reviews.freebsd.org/D43933 --- sys/x86/xen/hvm.c | 43 +++++++++++++++++++++++++++++++++++++++++++ sys/x86/xen/pv.c | 14 -------------- 2 files changed, 43 insertions(+), 14 deletions(-) diff --git a/sys/x86/xen/hvm.c b/sys/x86/xen/hvm.c index 9d9a64dd29ea..9dc9360d719c 100644 --- a/sys/x86/xen/hvm.c +++ b/sys/x86/xen/hvm.c @@ -210,11 +210,48 @@ early_init_vtop(void *addr) ); } +static int +map_shared_info(void) +{ + /* + * TODO shared info page should be mapped in an unpopulated (IOW: + * non-RAM) address. But finding one at this point in boot is + * complicated, hence re-use a RAM address for the time being. This + * sadly causes super-page shattering in the second stage translation + * page tables. + */ + static union { + shared_info_t shared_info; + uint8_t raw[PAGE_SIZE]; + } shared_page __attribute__((aligned(PAGE_SIZE))); + static struct xen_add_to_physmap xatp = { + .domid = DOMID_SELF, + .space = XENMAPSPACE_shared_info, + }; + int rc; + + _Static_assert(sizeof(shared_page) == PAGE_SIZE, + "invalid Xen shared_info struct size"); + + if (xatp.gpfn == 0) + xatp.gpfn = atop(early_init_vtop(&shared_page.shared_info)); + + rc = HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp); + if (rc != 0) { + xc_printf("cannot map shared info page: %d\n", rc); + HYPERVISOR_shared_info = NULL; + } else if (HYPERVISOR_shared_info == NULL) + HYPERVISOR_shared_info = &shared_page.shared_info; + + return (rc); +} + /* Early initialization when running as a Xen guest. */ void xen_early_init(void) { uint32_t regs[4]; + int rc; xen_cpuid_base = xen_hvm_cpuid_base(); if (xen_cpuid_base == 0) @@ -230,6 +267,12 @@ xen_early_init(void) } wrmsr(regs[1], early_init_vtop(&hypercall_page)); + + rc = map_shared_info(); + if (rc != 0) { + vm_guest = VM_GUEST_VM; + return; + } } static void diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c index 3c22d9e5cf6f..515e5c58d304 100644 --- a/sys/x86/xen/pv.c +++ b/sys/x86/xen/pv.c @@ -159,7 +159,6 @@ uint64_t hammer_time_xen(vm_paddr_t start_info_paddr) { struct hvm_modlist_entry *mod; - struct xen_add_to_physmap xatp; uint64_t physfree; char *kenv; @@ -210,19 +209,6 @@ hammer_time_xen(vm_paddr_t start_info_paddr) PAGE_SIZE), physfree); } - if (isxen()) { - xatp.domid = DOMID_SELF; - xatp.idx = 0; - xatp.space = XENMAPSPACE_shared_info; - xatp.gpfn = atop(physfree); - if (HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp)) { - xc_printf("ERROR: failed to setup shared_info page\n"); - HYPERVISOR_shutdown(SHUTDOWN_crash); - } - HYPERVISOR_shared_info = (shared_info_t *)(physfree + KERNBASE); - physfree += PAGE_SIZE; - } - /* * Init a static kenv using a free page. The contents will be filled * from the parse_preload_data hook. From nobody Thu Feb 22 10:31:26 2024 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 4TgTvg1Q5rz5CMM0; Thu, 22 Feb 2024 10:31: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 4TgTvf4Fm5z4krx; Thu, 22 Feb 2024 10:31:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597886; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VrjEDvD+ZTQg0+1FKa9dlUKcjDlG+tLEycs1zeQ5BmQ=; b=YI9PjQ0ALolknl9zUSXkhCqwClRg2yxhFnQ5/2acnAnUp7rpsXaYg4qm9sJ8pkoBijee9c aDGFuzuL/nnLwX3R0Eev3TkR+/7QhWTijGaaqaj25k6h4dZS34KXqZawiw4nG2Qfryjrf5 VurtQWtpWuAGK3VYQio9wrlArFGnBHfi7UD4c3B523r6NgaCaBqxBJZJdArxmI/X+xKSbh MHSJus2l26YpdWnHUNuEXwC8kWD1YiC7p0Bau8Uku4Ky2GpnmjOT6PSBVanUWRa0sq6ndI 4FWcdxJH8UIWNMekR+M6sCyYguGzkHWvgJE66BgsnmBXFdaiOv3enW0LveYI1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597886; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VrjEDvD+ZTQg0+1FKa9dlUKcjDlG+tLEycs1zeQ5BmQ=; b=wd4b0cYbilMpZuHr48FAP0hK2KFOrtGrtnYw6hDqvExnQ/LGOVGGFu/elSw8NgkdnvEddE oBN1dKVn5W1on3/7KRQAVtPPyqwwsasSVDOT7sO9WoNbNAvAnpfoCBKRtOrgsafvtTF0RJ AMiD2Zxt0msWr3o7mIms3vpfqAKBAf3K1IYE8mTIrxjYOfizW5lX1nO0WV0iV0Jnpa0ecF RryXf2VdQYCACn7j8HBdjWLIMhKiRDP9vqmkQ9JRcQKvNTP8aCU7rmDKTaYZXGLvxsTniJ P+VOnM9rw+nWhbRxcb+babzcHLWu28xifLfgMUFy8ihBHhmJwwvtOVVXEqp6YQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597886; a=rsa-sha256; cv=none; b=V08GRxsRXbV+Kr889YbL/tRYxS1GtyfeFwCXNUv1svkikY0pyLUrzyLYDyO+jNyysrRLXH VH6BBIY6stwXj2sDMIrtocjVSDF1P59VZLnSRvKKWGp9f4/utLTPcLTNWtlBOb8U3N4xDB PhOcSIBVeNvj/VKY5kCH9+ueBubtvON9pfmQvtA/JmOYidtggsneNFQE34HvBBhT2+jPyr I80k9PTXoRgrTDGg8GvRkSRwiKH9P8tH/FzvOpeXMoSd7IXgzZS7h0tKD3TY6+9xHWBXdL xVYonT5MvdzuBqNGafLKRfLypyvULnlYhGHGINGph6aE4cOV0JwAiiW93vAPuA== 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 4TgTvf3Bm0zSKH; Thu, 22 Feb 2024 10:31: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 41MAVQQQ018224; Thu, 22 Feb 2024 10:31:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVQ1h018221; Thu, 22 Feb 2024 10:31:26 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:26 GMT Message-Id: <202402221031.41MAVQ1h018221@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: f0cf86c075cd - main - x86/xen: replace xen_cpuid_base with hv_base 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f0cf86c075cda435c1481fe59440d6c4bbf855dd Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=f0cf86c075cda435c1481fe59440d6c4bbf855dd commit f0cf86c075cda435c1481fe59440d6c4bbf855dd Author: Roger Pau Monné AuthorDate: 2024-02-02 11:04:50 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:05 +0000 x86/xen: replace xen_cpuid_base with hv_base Where possible, replace the usage of xen_cpuid_base for hv_base in preparation for removing xen_cpuid_base. No functional change intended. Sponsored by: Cloud Software Group Reviewed by: markj Differential revision: https://reviews.freebsd.org/D43935 --- sys/x86/xen/hvm.c | 10 +++++----- sys/x86/xen/xen_apic.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/x86/xen/hvm.c b/sys/x86/xen/hvm.c index 85f274175ac6..6336602c8bc4 100644 --- a/sys/x86/xen/hvm.c +++ b/sys/x86/xen/hvm.c @@ -147,7 +147,7 @@ hypervisor_version(void) uint32_t regs[4]; int major, minor; - do_cpuid(xen_cpuid_base + 1, regs); + do_cpuid(hv_base + 1, regs); major = regs[0] >> 16; minor = regs[0] & 0xffff; @@ -595,8 +595,8 @@ xen_hvm_cpu_init(void) * Set vCPU ID. If available fetch the ID from CPUID, if not just use * the ACPI ID. */ - KASSERT(xen_cpuid_base != 0, ("Invalid base Xen CPUID leaf")); - cpuid_count(xen_cpuid_base + 4, 0, regs); + KASSERT(hv_base != 0, ("Invalid base Xen CPUID leaf")); + cpuid_count(hv_base + 4, 0, regs); KASSERT((regs[0] & XEN_HVM_CPUID_VCPU_ID_PRESENT) || !xen_pv_domain(), ("Xen PV domain without vcpu_id in cpuid")); @@ -626,8 +626,8 @@ xen_has_iommu_maps(void) { uint32_t regs[4]; - KASSERT(xen_cpuid_base != 0, ("Invalid base Xen CPUID leaf")); - cpuid_count(xen_cpuid_base + 4, 0, regs); + KASSERT(hv_base != 0, ("Invalid base Xen CPUID leaf")); + cpuid_count(hv_base + 4, 0, regs); return (regs[0] & XEN_HVM_CPUID_IOMMU_MAPPINGS); } diff --git a/sys/x86/xen/xen_apic.c b/sys/x86/xen/xen_apic.c index 4f2b03879227..994dc3e0804c 100644 --- a/sys/x86/xen/xen_apic.c +++ b/sys/x86/xen/xen_apic.c @@ -343,8 +343,8 @@ xen_setup_cpus(void) * that's faster than using event channels because it avoids the VM * exit. */ - KASSERT(xen_cpuid_base != 0, ("Invalid base Xen CPUID leaf")); - cpuid_count(xen_cpuid_base + 4, 0, regs); + KASSERT(hv_base != 0, ("Invalid base Xen CPUID leaf")); + cpuid_count(hv_base + 4, 0, regs); if ((x2apic_mode && (regs[0] & XEN_HVM_CPUID_X2APIC_VIRT)) || (!x2apic_mode && (regs[0] & XEN_HVM_CPUID_APIC_ACCESS_VIRT))) return; From nobody Thu Feb 22 10:31:27 2024 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 4TgTvg6hwvz5CM83; Thu, 22 Feb 2024 10:31: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 4TgTvg4d3Gz4kw0; Thu, 22 Feb 2024 10:31:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597887; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3RRZtIl3/J9FjMp1uKOtt4pkZHgZlgy6Hm7j7OSZTDU=; b=cyfUNGFBMtEelkgQ+mr2ipWs9FMiL3WoJaM4wMjm1YckqaM+vcJv00iEN1eMIonzn7EgGQ qlTlibwu5/9kHG6RQeWTvYnqMFCrOUXdH5gAKSfz5W9wq628SWhJDwCtYJw6loeCmLooUT k7ToS7DIqbmikFFnWhWIhWA+7dMnkcWpjYv5AIIKwmYjMSTxufbPvQ3/q1IrYgjjPi3LmX InFm63oq7uSbEPr4h2YMUwUN91fqkwBcNEE9XJlk2+PiS8ll4uhHHJecYjkLsynhZwZmhS MwEmqeQ225GQSjCKobWilBSkskV2Orin1zL8Xtav3ONpdTdhC8NtjrGH5sgrJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597887; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3RRZtIl3/J9FjMp1uKOtt4pkZHgZlgy6Hm7j7OSZTDU=; b=ipxwYyciVb76hNIZPEAyd/ov5ammg+KNweS9SWQkBQX7U9waO3hp1RyzdBBOLlevKKAUwo H4JI+99ar7Rb8VyhT8JV933ReZchVsYEyFXnAxJPCZbitzuvZKnsWOU5qVdReFJ99SmVPQ Tgab+EC/Mvo2kHxRAzod/7HFPvzAlVKBKsmGF7Qdm2787kICDiXkhhubDu/OVaTlq5YWzU IZ95Xv0KaN/s4u41e1gHYkd9T6kBYNfBURvPH/U8J7KAXKtjAoVlHyBihQDRkTe+leUz/Q Mo3wVrGNAZIV8f2A4KAWyr8JReQkehVvPQpoc+C9y9RCPfkDO5r4YEL4WQEC4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597887; a=rsa-sha256; cv=none; b=McxPtlneBxB+xRMvSJuFX1UcCI/SZ8cibMkKLSSQW8rr7Lb98HZWLOZ42GRQ6vo0vLwfvZ JFCMeXb+bHoxEcBl2Tq7TbitqoJzMIMlFVOfZ74CXjW2CtT5JD4ls3y4UiWoWp8861UV8P lwZmN76PeFQPqKuHZ9jvavnwEXma8Wdiag05hGHw4L6Bkyf5cEX/YGcofw6e8CR6tOqoP9 zkZ+ZXC67jMIkRQfs3tl1MjttQIWtj0D1ldxR2FcyPnnQKQn3xgOMO0NvIHMxhPIZApINv 0QW5cPSTkxxzyWRfG1+zNDo74/ym8A+a1YGOCStG+OL5/4rcRh4KoY4KDi9yQA== 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 4TgTvg3jSszSKJ; Thu, 22 Feb 2024 10:31: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 41MAVREt018291; Thu, 22 Feb 2024 10:31:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVRsT018288; Thu, 22 Feb 2024 10:31:27 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:27 GMT Message-Id: <202402221031.41MAVRsT018288@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 4401b0685163 - main - x86/cpu: introduce an optional hook for early hypervisor initialization 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4401b0685163c0a460c1f41b107225b0b0ee2062 Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=4401b0685163c0a460c1f41b107225b0b0ee2062 commit 4401b0685163c0a460c1f41b107225b0b0ee2062 Author: Roger Pau Monné AuthorDate: 2024-02-02 10:36:52 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:05 +0000 x86/cpu: introduce an optional hook for early hypervisor initialization Hypervisor detection is done very early on x86, and so can be used to also do some very early hypervisor related initialization. Such initialization is required when running as a Xen PVH guest, as for example the PIT needs to be replaced with an hypervisor based timecounter. Introduce an optional hook that gets called as part of the early hypervisor detection. No functional change intended. Sponsored by: Cloud Software Group Reviewed by: markj kib Differential revision: https://reviews.freebsd.org/D43763 --- sys/x86/x86/identcpu.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index df24c5bddffd..6df138bccba1 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -1343,6 +1343,7 @@ SYSINIT(hook_tsc_freq, SI_SUB_CONFIGURE, SI_ORDER_ANY, hook_tsc_freq, NULL); static struct { const char *vm_cpuid; int vm_guest; + void (*init)(void); } vm_cpuids[] = { { "XenVMMXenVMM", VM_GUEST_XEN }, /* XEN */ { "Microsoft Hv", VM_GUEST_HV }, /* Microsoft Hyper-V */ @@ -1355,6 +1356,7 @@ static struct { static void identify_hypervisor_cpuid_base(void) { + void (*init_fn)(void) = NULL; u_int leaf, regs[4]; int i; @@ -1391,6 +1393,7 @@ identify_hypervisor_cpuid_base(void) if (strncmp((const char *)®s[1], vm_cpuids[i].vm_cpuid, 12) == 0) { vm_guest = vm_cpuids[i].vm_guest; + init_fn = vm_cpuids[i].init; break; } @@ -1423,10 +1426,13 @@ identify_hypervisor_cpuid_base(void) * preferred. */ vm_guest != VM_GUEST_HV) - return; + break; } } } + + if (init_fn != NULL) + init_fn(); } void From nobody Thu Feb 22 10:31:28 2024 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 4TgTvj10B3z5CMDW; Thu, 22 Feb 2024 10:31: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 4TgTvh5F6Bz4kn0; Thu, 22 Feb 2024 10:31:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W/YYLxXq4VEz9QxlqfODU+aiqHoTVJdDmUvFK6B1dXM=; b=LoxiWS7AaydXHYMxI7OQecFF8HnNtr6ZFrAX7VWy9P2PHOu06Jxd1oHMQjtd/2L85TPV6w H48jdRvPFUb33oDj05wzbwOZH9wXPfzqqYvfCd2eoqvBqS0+mstkt4dn55qZEmapQSxp3s /mfSSJd0Q6soWBXbSkxK5k8ZN7Fr5j4Or/6iERXM7SDct2RuBUyAGsViqd2UMeUSctJSAO 1tL+Iq955Y/TH9XJ1zSvVfzB7BgYPfrDTq/pjjBmVSiqyW2S68giIHF0C763Td0+3l3I6M hdbibn4jepPzJipuViZglhjOrGIMH3CYTtzqzVewUAwi4oOr0vxD/S50dTItuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708597888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W/YYLxXq4VEz9QxlqfODU+aiqHoTVJdDmUvFK6B1dXM=; b=D4SAGvUM2I6N0KjewYKTe0gi/cEgmCg+4Lz5KsE+WnrnvANg5oK5JYHZ7ufPpBEAUHjeKp 29C5qlIo/2XMSqg13/Jg4iSNuSuEaqgKrkyrk6G41b5m9cwi9Fn01CGRxxzdF6DpKf76zE 4FpMc4fk7z4plHdHf0LirRZ7Q0PpvvZtyo1qdPwfnSQY5iXl+jUrm9n6YTiL0Gju5hm2uM 4Vf/rgh59Up+oFIHjm4abO/gI0GILOMTgCmxlTnda4PdbIY7nrCcjfPInypos+syCJ40Xp YR3o2VYR5d1jor4SPyuDQluN+YEAhCQl5m9TP95Z4HoqPl/6FSMGumzwVW7owA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708597888; a=rsa-sha256; cv=none; b=h0JIHwQ2GWc0aqg6NbbP/uxkVScWYJ4zaJGzKQ76GWm4PMP+OZ7wU0DA92LuNot35aXNbu acib96Lqkw+QpzVcIoHzm/HghdE5MCWx1iqD6XQcpaYZ7oicXyCirBYq4mat4Ob3P3EJTt 9UFu7VgvAwlIag4PFqJDRmE2qZUhGwFcHHsMLdDonZaaViZq60C88hME+k9IG64gtqvapC unr+S4NS/odktH9ncwas5V2vw3AeMXFxXKNtFbpcEYrllUhUsL0X67ykrknmfT64FiQqGE 2ESCRLte62ZIfx3eknP02+bwdRSMuen/RXtOkUHkO8ccC3AGC7q+i5PC8JviRQ== 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 4TgTvh4LkgzS75; Thu, 22 Feb 2024 10:31: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 41MAVS5F018341; Thu, 22 Feb 2024 10:31:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MAVSjF018338; Thu, 22 Feb 2024 10:31:28 GMT (envelope-from git) Date: Thu, 22 Feb 2024 10:31:28 GMT Message-Id: <202402221031.41MAVSjF018338@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: 8f5406c77f1b - main - x86/xen: implement early init 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8f5406c77f1b7009c36df4e025fd8789a46d33ce Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=8f5406c77f1b7009c36df4e025fd8789a46d33ce commit 8f5406c77f1b7009c36df4e025fd8789a46d33ce Author: Roger Pau Monné AuthorDate: 2024-02-02 10:56:32 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 10:08:05 +0000 x86/xen: implement early init hook Unify the HVM and PVH early setup, byt making both rely on the hypervisor initialization hook part of identify_hypervisor(). The current initialization takes care of the hypercall page, the sahred info page and does any fixup necessary to metadata video console information if FreeBSD is booted as the initial domain (so the video console is handed from Xen into FreeBSD). Note this has the nice side effect of also allowing to use the Xen console on HVM guests, which allows to get rid of the QEMU emulated uart and still get a nice text console. Sponsored by: Cloud Software Group Reviewed by: markj Differential revision: https://reviews.freebsd.org/D43764 --- sys/x86/include/xen/xen-os.h | 2 - sys/x86/x86/identcpu.c | 10 ++++- sys/x86/xen/hvm.c | 105 +++++-------------------------------------- sys/x86/xen/pv.c | 17 +------ 4 files changed, 22 insertions(+), 112 deletions(-) diff --git a/sys/x86/include/xen/xen-os.h b/sys/x86/include/xen/xen-os.h index ec0d4b1ab9f1..d3f21e2a6c45 100644 --- a/sys/x86/include/xen/xen-os.h +++ b/sys/x86/include/xen/xen-os.h @@ -52,8 +52,6 @@ extern int xen_disable_pv_disks; /* tunable for disabling PV nics */ extern int xen_disable_pv_nics; -extern uint32_t xen_cpuid_base; - /* compatibility for accessing xen_ulong_t with atomics */ #define atomic_clear_xen_ulong atomic_clear_long #define atomic_set_xen_ulong atomic_set_long diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 6df138bccba1..919dda722d71 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -67,6 +67,10 @@ #include #include +#ifdef XENHVM +#include +#endif + #ifdef __i386__ #define IDENTBLUE_CYRIX486 0 #define IDENTBLUE_IBMCPU 1 @@ -1345,7 +1349,11 @@ static struct { int vm_guest; void (*init)(void); } vm_cpuids[] = { - { "XenVMMXenVMM", VM_GUEST_XEN }, /* XEN */ + { "XenVMMXenVMM", VM_GUEST_XEN, +#ifdef XENHVM + &xen_early_init, +#endif + }, /* XEN */ { "Microsoft Hv", VM_GUEST_HV }, /* Microsoft Hyper-V */ { "VMwareVMware", VM_GUEST_VMWARE }, /* VMware VM */ { "KVMKVMKVM", VM_GUEST_KVM }, /* KVM */ diff --git a/sys/x86/xen/hvm.c b/sys/x86/xen/hvm.c index 6336602c8bc4..17500516debf 100644 --- a/sys/x86/xen/hvm.c +++ b/sys/x86/xen/hvm.c @@ -104,22 +104,6 @@ void xen_emergency_print(const char *str, size_t size) outsb(XEN_HVM_DEBUGCONS_IOPORT, str, size); } -uint32_t xen_cpuid_base; - -static uint32_t -xen_hvm_cpuid_base(void) -{ - uint32_t base, regs[4]; - - for (base = 0x40000000; base < 0x40010000; base += 0x100) { - do_cpuid(base, regs); - if (!memcmp("XenVMMXenVMM", ®s[1], 12) - && (regs[0] - base) >= 2) - return (base); - } - return (0); -} - static void hypervisor_quirks(unsigned int major, unsigned int minor) { @@ -156,38 +140,6 @@ hypervisor_version(void) hypervisor_quirks(major, minor); } -/* - * Allocate and fill in the hypcall page. - */ -int -xen_hvm_init_hypercall_stubs(enum xen_hvm_init_type init_type) -{ - uint32_t regs[4]; - - if (xen_cpuid_base != 0) - /* Already setup. */ - goto out; - - xen_cpuid_base = xen_hvm_cpuid_base(); - if (xen_cpuid_base == 0) - return (ENXIO); - - /* - * Find the hypercall pages. - */ - do_cpuid(xen_cpuid_base + 2, regs); - if (regs[0] != 1) - return (EINVAL); - - wrmsr(regs[1], (init_type == XEN_HVM_INIT_EARLY) - ? (vm_paddr_t)((uintptr_t)&hypercall_page - KERNBASE) - : vtophys(&hypercall_page)); - -out: - hypervisor_version(); - return (0); -} - /* * Translate linear to physical address when still running on the bootloader * created page-tables. @@ -336,12 +288,14 @@ xen_early_init(void) uint32_t regs[4]; int rc; - xen_cpuid_base = xen_hvm_cpuid_base(); - if (xen_cpuid_base == 0) + if (hv_high < hv_base + 2) { + xc_printf("Invalid maximum leaves for hv_base\n"); + vm_guest = VM_GUEST_VM; return; + } /* Find the hypercall pages. */ - do_cpuid(xen_cpuid_base + 2, regs); + do_cpuid(hv_base + 2, regs); if (regs[0] != 1) { xc_printf("Invalid number of hypercall pages %u\n", regs[0]); @@ -362,33 +316,6 @@ xen_early_init(void) fixup_console(); } -static void -xen_hvm_init_shared_info_page(void) -{ - struct xen_add_to_physmap xatp; - - if (xen_pv_domain()) { - /* - * Already setup in the PV case, shared_info is passed inside - * of the start_info struct at start of day. - */ - return; - } - - if (HYPERVISOR_shared_info == NULL) { - HYPERVISOR_shared_info = malloc(PAGE_SIZE, M_XENHVM, M_NOWAIT); - if (HYPERVISOR_shared_info == NULL) - panic("Unable to allocate Xen shared info page"); - } - - xatp.domid = DOMID_SELF; - xatp.idx = 0; - xatp.space = XENMAPSPACE_shared_info; - xatp.gpfn = vtophys(HYPERVISOR_shared_info) >> PAGE_SHIFT; - if (HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp)) - panic("HYPERVISOR_memory_op failed"); -} - static int set_percpu_callback(unsigned int vcpu) { @@ -505,32 +432,29 @@ xen_hvm_disable_emulated_devices(void) static void xen_hvm_init(enum xen_hvm_init_type init_type) { - int error; - int i; + unsigned int i; if (!xen_domain() || init_type == XEN_HVM_INIT_CANCELLED_SUSPEND) return; - error = xen_hvm_init_hypercall_stubs(init_type); + hypervisor_version(); switch (init_type) { case XEN_HVM_INIT_LATE: - if (error != 0) - return; - setup_xen_features(); #ifdef SMP cpu_ops = xen_hvm_cpu_ops; #endif break; case XEN_HVM_INIT_RESUME: - if (error != 0) - panic("Unable to init Xen hypercall stubs on resume"); - /* Clear stale vcpu_info. */ CPU_FOREACH(i) DPCPU_ID_SET(i, vcpu_info, NULL); + + if (map_shared_info() != 0) + panic("cannot map Xen shared info page"); + break; default: panic("Unsupported HVM initialization type"); @@ -540,13 +464,6 @@ xen_hvm_init(enum xen_hvm_init_type init_type) xen_evtchn_needs_ack = false; xen_hvm_set_callback(NULL); - /* - * On (PV)HVM domains we need to request the hypervisor to - * fill the shared info page, for PVH guest the shared_info page - * is passed inside the start_info struct and is already set, so this - * functions are no-ops. - */ - xen_hvm_init_shared_info_page(); xen_hvm_disable_emulated_devices(); } diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c index e33fa41c83d7..0e6492b124b8 100644 --- a/sys/x86/xen/pv.c +++ b/sys/x86/xen/pv.c @@ -147,12 +147,9 @@ isxen(void) } #define CRASH(...) do { \ - if (isxen()) { \ + if (isxen()) \ xc_printf(__VA_ARGS__); \ - HYPERVISOR_shutdown(SHUTDOWN_crash); \ - } else { \ - halt(); \ - } \ + halt(); \ } while (0) uint64_t @@ -162,16 +159,6 @@ hammer_time_xen(vm_paddr_t start_info_paddr) uint64_t physfree; char *kenv; - if (isxen()) { - vm_guest = VM_GUEST_XEN; - xen_early_init(); - if (xen_cpuid_base == 0) { - xc_printf( - "ERROR: failed to initialize hypercall page\n"); - HYPERVISOR_shutdown(SHUTDOWN_crash); - } - } - start_info = (struct hvm_start_info *)(start_info_paddr + KERNBASE); if (start_info->magic != XEN_HVM_START_MAGIC_VALUE) { CRASH("Unknown magic value in start_info struct: %#x\n", From nobody Thu Feb 22 13:14:38 2024 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 4TgYWy2pdHz5CbCc; Thu, 22 Feb 2024 13:14: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 4TgYWy2Bnyz56jM; Thu, 22 Feb 2024 13:14:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708607678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4U4fkfw7GEEpMYwi3mqxU7xW2pzmQBV65rvZkRZhFYM=; b=PDFoYPBAc3ajOHiwTOBrMcUBe79XCHOuRIvol8FfEJ2MUO44u9cx0j1dlABFMruHQltgHv nuy0JiYJ0FKwYhE1HOCEgGTFt1+F7Dg3mRst5EdYYGlXKJHBbpsgYLb8y+fMMWTDsmfbMH hs6E5KWu4EQ1H98mYiQJ6Wntpidi8tH3c4LmgJbh0v09Mmw7LZZiwB/ttSzegSAqNH709G IvgMUs3hmC40JkF3VY/Kg7b+YaEVrSSzIQl276MI9pxlKxuL5INzGIWjP6Gt0VxQFpqS5d CmOE9Oi/IfXJaLmOxjOqNUTW+gPJoifFKxHNCwrS5klTOIqKKVYAooVPyEJMFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708607678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4U4fkfw7GEEpMYwi3mqxU7xW2pzmQBV65rvZkRZhFYM=; b=wMOy2NFAlxeeQt5fmL1Essm+OR8EaE/bUXWm6nQYFGA83IqysQGQE2gLi0OrD2tVYefjMp 5XKjzPStBamrTWNfjM/oGhAq3fcK85IlbQOO3s76BDq4ihlCJX6Fjp0BUnPw2TlSBOXtn3 Dy/3wkmLzCOH1iQT9hulf8N3nWiab+RGUYAV0wYFhgDKXfK9TnfIXe4LQfokfPWtpq4Ywt Yf2/TSxqF3rZe5TwMLVNcVqrLUDielpjthhk/dPpNzTzy2hkNJgkRBA1HxxzzYu+/RZwUK iK3eWUtHfkYB5oy5AQsCDVeIlGehMuiidGMfdfiBO4OwH9vYDDJ50NrGi8fMYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708607678; a=rsa-sha256; cv=none; b=RcgjAtCeJALcHVF7BLuBZOEr2AMe3IW2D8gD2SG8MExq+JizZvdCfG4ZzVUtETNgTMpUre XBhyo4e7WCGxSHMf+hCQjj2mgoBOOdHLRIOQGt7Zl6kk6qdF7VUBXNz8RekcRIGUpQGCN4 V57WOuApqw5z0m84xMnsz2bPGIldNoXg8/eh8QvpbdpNpcl83ASoYoRjE8zLQKhVfQ2d6Z OCOrt56KSqZ5/fX/vkLUHJfqarvauIwu2UzppMIMPNDQ3ThXxaFByq+Dyy24qJEEjKtVkB cADFEyfUI69bMgaZX2C9+tBRgRLMwPm60X6LgwISOH+9BVgPF8s5lAMR51LD+Q== 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 4TgYWy1FPNzYpb; Thu, 22 Feb 2024 13:14: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 41MDEcIS093249; Thu, 22 Feb 2024 13:14:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MDEc4R093246; Thu, 22 Feb 2024 13:14:38 GMT (envelope-from git) Date: Thu, 22 Feb 2024 13:14:38 GMT Message-Id: <202402221314.41MDEc4R093246@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: 059fd69e7499 - main - umcs(4): Fix two typos in source code comments 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: 059fd69e749953c12b2cf099b34d3323d9c67d11 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=059fd69e749953c12b2cf099b34d3323d9c67d11 commit 059fd69e749953c12b2cf099b34d3323d9c67d11 Author: Gordon Bergling AuthorDate: 2024-02-22 13:14:08 +0000 Commit: Gordon Bergling CommitDate: 2024-02-22 13:14:08 +0000 umcs(4): Fix two typos in source code comments - s/frequences/frequencies/ MFC after: 3 days --- sys/dev/usb/serial/umcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/serial/umcs.c b/sys/dev/usb/serial/umcs.c index ec8c89ab1f8b..18135e3bf67d 100644 --- a/sys/dev/usb/serial/umcs.c +++ b/sys/dev/usb/serial/umcs.c @@ -1047,7 +1047,7 @@ umcs7840_set_baudrate(struct umcs7840_softc *sc, uint8_t portno, uint32_t rate) } DPRINTF("Port %d set speed: %d (%02x / %d)\n", portno, rate, clk, divisor); - /* Set clock source for standard BAUD frequences */ + /* Set clock source for standard BAUD frequencies */ err = umcs7840_get_reg_sync(sc, umcs7840_port_registers[portno].reg_sp, &data); if (err) return (err); @@ -1078,7 +1078,7 @@ umcs7840_set_baudrate(struct umcs7840_softc *sc, uint8_t portno, uint32_t rate) return (0); } -/* Maximum speeds for standard frequences, when PLL is not used */ +/* Maximum speeds for standard frequencies, when PLL is not used */ static const uint32_t umcs7840_baudrate_divisors[] = {0, 115200, 230400, 403200, 460800, 806400, 921600, 1572864, 3145728,}; static const uint8_t umcs7840_baudrate_divisors_len = nitems(umcs7840_baudrate_divisors); From nobody Thu Feb 22 13:50:51 2024 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 4TgZKy4W1sz5Cf1w; Thu, 22 Feb 2024 13:51:02 +0000 (UTC) (envelope-from bapt@nours.eu) 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) by mx1.freebsd.org (Postfix) with ESMTPS id 4TgZKx4j61z41B7; Thu, 22 Feb 2024 13:51:01 +0000 (UTC) (envelope-from bapt@nours.eu) Authentication-Results: mx1.freebsd.org; none Received: from [IPv6:::1] (unknown [IPv6:2a01:e0a:9a1:e510:e757:27e8:1d54:bfb5]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aniel.nours.eu (Postfix) with ESMTPSA id E0D1977208; Thu, 22 Feb 2024 14:50:53 +0100 (CET) Date: Thu, 22 Feb 2024 14:50:51 +0100 From: Baptiste Daroussin To: =?ISO-8859-1?Q?Roger_Pau_Monn=E9?= , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 8f5406c77f1b - main - x86/xen: implement early init hook User-Agent: K-9 Mail for Android In-Reply-To: <202402221031.41MAVSjF018338@gitrepo.freebsd.org> References: <202402221031.41MAVSjF018338@gitrepo.freebsd.org> Message-ID: <69A06BC5-5DF4-4A39-8E70-3B16AC7D3C6C@nours.eu> 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=----X3FJVLSHKXFQGXUY681CX7HTPDB8CZ Content-Transfer-Encoding: 7bit X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4TgZKx4j61z41B7 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:16276, ipnet:176.31.0.0/16, country:FR] ------X3FJVLSHKXFQGXUY681CX7HTPDB8CZ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Le 22 f=C3=A9vrier 2024 11:31:28 GMT+01:00, "Roger Pau Monn=C3=A9" a =C3=A9crit=C2=A0: >The branch main has been updated by royger: > >URL: https://cgit=2EFreeBSD=2Eorg/src/commit/?id=3D8f5406c77f1b7009c36df4= e025fd8789a46d33ce > >commit 8f5406c77f1b7009c36df4e025fd8789a46d33ce >Author: Roger Pau Monn=C3=A9 >AuthorDate: 2024-02-02 10:56:32 +0000 >Commit: Roger Pau Monn=C3=A9 >CommitDate: 2024-02-22 10:08:05 +0000 > > x86/xen: implement early init hook > =20 > Unify the HVM and PVH early setup, byt making both rely on the hyperv= isor > initialization hook part of identify_hypervisor()=2E > =20 > The current initialization takes care of the hypercall page, the sahr= ed info > page and does any fixup necessary to metadata video console informati= on if > FreeBSD is booted as the initial domain (so the video console is hand= ed from > Xen into FreeBSD)=2E > =20 > Note this has the nice side effect of also allowing to use the Xen co= nsole on > HVM guests, which allows to get rid of the QEMU emulated uart and sti= ll get > a nice text console=2E > =20 > Sponsored by: Cloud Software Group > Reviewed by: markj > Differential revision: https://reviews=2Efreebsd=2Eorg/D43764 >--- > sys/x86/include/xen/xen-os=2Eh | 2 - > sys/x86/x86/identcpu=2Ec | 10 ++++- > sys/x86/xen/hvm=2Ec | 105 +++++------------------------------= -------- > sys/x86/xen/pv=2Ec | 17 +------ > 4 files changed, 22 insertions(+), 112 deletions(-) > >diff --git a/sys/x86/include/xen/xen-os=2Eh b/sys/x86/include/xen/xen-os= =2Eh >index ec0d4b1ab9f1=2E=2Ed3f21e2a6c45 100644 >--- a/sys/x86/include/xen/xen-os=2Eh >+++ b/sys/x86/include/xen/xen-os=2Eh >@@ -52,8 +52,6 @@ extern int xen_disable_pv_disks; > /* tunable for disabling PV nics */ > extern int xen_disable_pv_nics; >=20 >-extern uint32_t xen_cpuid_base; >- > /* compatibility for accessing xen_ulong_t with atomics */ > #define atomic_clear_xen_ulong atomic_clear_long > #define atomic_set_xen_ulong atomic_set_long >diff --git a/sys/x86/x86/identcpu=2Ec b/sys/x86/x86/identcpu=2Ec >index 6df138bccba1=2E=2E919dda722d71 100644 >--- a/sys/x86/x86/identcpu=2Ec >+++ b/sys/x86/x86/identcpu=2Ec >@@ -67,6 +67,10 @@ > #include > #include >=20 >+#ifdef XENHVM >+#include >+#endif >+ > #ifdef __i386__ > #define IDENTBLUE_CYRIX486 0 > #define IDENTBLUE_IBMCPU 1 >@@ -1345,7 +1349,11 @@ static struct { > int vm_guest; > void (*init)(void); > } vm_cpuids[] =3D { >- { "XenVMMXenVMM", VM_GUEST_XEN }, /* XEN */ >+ { "XenVMMXenVMM", VM_GUEST_XEN, >+#ifdef XENHVM >+ &xen_early_init, >+#endif >+ }, /* XEN */ > { "Microsoft Hv", VM_GUEST_HV }, /* Microsoft Hyper-V */ > { "VMwareVMware", VM_GUEST_VMWARE }, /* VMware VM */ > { "KVMKVMKVM", VM_GUEST_KVM }, /* KVM */ >diff --git a/sys/x86/xen/hvm=2Ec b/sys/x86/xen/hvm=2Ec >index 6336602c8bc4=2E=2E17500516debf 100644 >--- a/sys/x86/xen/hvm=2Ec >+++ b/sys/x86/xen/hvm=2Ec >@@ -104,22 +104,6 @@ void xen_emergency_print(const char *str, size_t siz= e) > outsb(XEN_HVM_DEBUGCONS_IOPORT, str, size); > } >=20 >-uint32_t xen_cpuid_base; >- >-static uint32_t >-xen_hvm_cpuid_base(void) >-{ >- uint32_t base, regs[4]; >- >- for (base =3D 0x40000000; base < 0x40010000; base +=3D 0x100) { >- do_cpuid(base, regs); >- if (!memcmp("XenVMMXenVMM", ®s[1], 12) >- && (regs[0] - base) >=3D 2) >- return (base); >- } >- return (0); >-} >- > static void > hypervisor_quirks(unsigned int major, unsigned int minor) > { >@@ -156,38 +140,6 @@ hypervisor_version(void) > hypervisor_quirks(major, minor); > } >=20 >-/* >- * Allocate and fill in the hypcall page=2E >- */ >-int >-xen_hvm_init_hypercall_stubs(enum xen_hvm_init_type init_type) >-{ >- uint32_t regs[4]; >- >- if (xen_cpuid_base !=3D 0) >- /* Already setup=2E */ >- goto out; >- >- xen_cpuid_base =3D xen_hvm_cpuid_base(); >- if (xen_cpuid_base =3D=3D 0) >- return (ENXIO); >- >- /* >- * Find the hypercall pages=2E >- */ >- do_cpuid(xen_cpuid_base + 2, regs); >- if (regs[0] !=3D 1) >- return (EINVAL); >- >- wrmsr(regs[1], (init_type =3D=3D XEN_HVM_INIT_EARLY) >- ? (vm_paddr_t)((uintptr_t)&hypercall_page - KERNBASE) >- : vtophys(&hypercall_page)); >- >-out: >- hypervisor_version(); >- return (0); >-} >- > /* > * Translate linear to physical address when still running on the bootlo= ader > * created page-tables=2E >@@ -336,12 +288,14 @@ xen_early_init(void) > uint32_t regs[4]; > int rc; >=20 >- xen_cpuid_base =3D xen_hvm_cpuid_base(); >- if (xen_cpuid_base =3D=3D 0) >+ if (hv_high < hv_base + 2) { >+ xc_printf("Invalid maximum leaves for hv_base\n"); >+ vm_guest =3D VM_GUEST_VM; > return; >+ } >=20 > /* Find the hypercall pages=2E */ >- do_cpuid(xen_cpuid_base + 2, regs); >+ do_cpuid(hv_base + 2, regs); > if (regs[0] !=3D 1) { > xc_printf("Invalid number of hypercall pages %u\n", > regs[0]); >@@ -362,33 +316,6 @@ xen_early_init(void) > fixup_console(); > } >=20 >-static void >-xen_hvm_init_shared_info_page(void) >-{ >- struct xen_add_to_physmap xatp; >- >- if (xen_pv_domain()) { >- /* >- * Already setup in the PV case, shared_info is passed inside >- * of the start_info struct at start of day=2E >- */ >- return; >- } >- >- if (HYPERVISOR_shared_info =3D=3D NULL) { >- HYPERVISOR_shared_info =3D malloc(PAGE_SIZE, M_XENHVM, M_NOWAIT); >- if (HYPERVISOR_shared_info =3D=3D NULL) >- panic("Unable to allocate Xen shared info page"); >- } >- >- xatp=2Edomid =3D DOMID_SELF; >- xatp=2Eidx =3D 0; >- xatp=2Espace =3D XENMAPSPACE_shared_info; >- xatp=2Egpfn =3D vtophys(HYPERVISOR_shared_info) >> PAGE_SHIFT; >- if (HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp)) >- panic("HYPERVISOR_memory_op failed"); >-} >- > static int > set_percpu_callback(unsigned int vcpu) > { >@@ -505,32 +432,29 @@ xen_hvm_disable_emulated_devices(void) > static void > xen_hvm_init(enum xen_hvm_init_type init_type) > { >- int error; >- int i; >+ unsigned int i; >=20 > if (!xen_domain() || > init_type =3D=3D XEN_HVM_INIT_CANCELLED_SUSPEND) > return; >=20 >- error =3D xen_hvm_init_hypercall_stubs(init_type); >+ hypervisor_version(); >=20 > switch (init_type) { > case XEN_HVM_INIT_LATE: >- if (error !=3D 0) >- return; >- > setup_xen_features(); > #ifdef SMP > cpu_ops =3D xen_hvm_cpu_ops; > #endif > break; > case XEN_HVM_INIT_RESUME: >- if (error !=3D 0) >- panic("Unable to init Xen hypercall stubs on resume"); >- > /* Clear stale vcpu_info=2E */ > CPU_FOREACH(i) > DPCPU_ID_SET(i, vcpu_info, NULL); >+ >+ if (map_shared_info() !=3D 0) >+ panic("cannot map Xen shared info page"); >+ > break; > default: > panic("Unsupported HVM initialization type"); >@@ -540,13 +464,6 @@ xen_hvm_init(enum xen_hvm_init_type init_type) > xen_evtchn_needs_ack =3D false; > xen_hvm_set_callback(NULL); >=20 >- /* >- * On (PV)HVM domains we need to request the hypervisor to >- * fill the shared info page, for PVH guest the shared_info page >- * is passed inside the start_info struct and is already set, so this >- * functions are no-ops=2E >- */ >- xen_hvm_init_shared_info_page(); > xen_hvm_disable_emulated_devices(); > }=20 >=20 >diff --git a/sys/x86/xen/pv=2Ec b/sys/x86/xen/pv=2Ec >index e33fa41c83d7=2E=2E0e6492b124b8 100644 >--- a/sys/x86/xen/pv=2Ec >+++ b/sys/x86/xen/pv=2Ec >@@ -147,12 +147,9 @@ isxen(void) > } >=20 > #define CRASH(=2E=2E=2E) do { \ >- if (isxen()) { \ >+ if (isxen()) \ > xc_printf(__VA_ARGS__); \ >- HYPERVISOR_shutdown(SHUTDOWN_crash); \ >- } else { \ >- halt(); \ >- } \ >+ halt(); \ > } while (0) >=20 > uint64_t >@@ -162,16 +159,6 @@ hammer_time_xen(vm_paddr_t start_info_paddr) > uint64_t physfree; > char *kenv; >=20 >- if (isxen()) { >- vm_guest =3D VM_GUEST_XEN; >- xen_early_init(); >- if (xen_cpuid_base =3D=3D 0) { >- xc_printf( >- "ERROR: failed to initialize hypercall page\n"); >- HYPERVISOR_shutdown(SHUTDOWN_crash); >- } >- } >- > start_info =3D (struct hvm_start_info *)(start_info_paddr + KERNBASE); > if (start_info->magic !=3D XEN_HVM_START_MAGIC_VALUE) { > CRASH("Unknown magic value in start_info struct: %#x\n", This breaks i386 kernel build /home/bapt/worktrees/main/sys/x86/xen/hvm=2Ec:156:47: error: format specif= ies type 'unsigned long' but the argument has type 'uintptr_t' (aka 'unsign= ed int') [-Werror,-Wformat] Bapt ------X3FJVLSHKXFQGXUY681CX7HTPDB8CZ Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
    Le 22= f=C3=A9vrier 2024 11:31:28 GMT+01:00, "Roger Pau Monn=C3=A9" <royger@Fr= eeBSD=2Eorg> a =C3=A9crit=C2=A0:
    The branch main has been updated b= y royger:

    URL: https://cgit=2EFreeBSD=2Eorg/= src/commit/?id=3D8f5406c77f1b7009c36df4e025fd8789a46d33ce

    commit= 8f5406c77f1b7009c36df4e025fd8789a46d33ce
    Author: Roger Pau Monn=C3= =A9 <royger@FreeBSD=2Eorg>
    AuthorDate: 2024-02-02 10:56:32 +0000Commit: Roger Pau Monn=C3=A9 <royger@FreeBSD=2Eorg>
    CommitDa= te: 2024-02-22 10:08:05 +0000

    x86/xen: implement early init hook=

    Unify the HVM and PVH early setup, byt making both rely on = the hypervisor
    initialization hook part of identify_hypervisor()=2E<= br>
    The current initialization takes care of the hypercall page,= the sahred info
    page and does any fixup necessary to metadata video= console information if
    FreeBSD is booted as the initial domain (so = the video console is handed from
    Xen into FreeBSD)=2E

    = Note this has the nice side effect of also allowing to use the Xen console= on
    HVM guests, which allows to get rid of the QEMU emulated uart an= d still get
    a nice text console=2E

    Sponsored by: Clou= d Software Group
    Reviewed by: markj
    Differential revision: https://reviews=2Efreebsd= =2Eorg/D43764
    sys/x86/include/xen/xen-os=2Eh | 2 -
    sys/x86/x8= 6/identcpu=2Ec | 10 ++++-
    sys/x86/xen/hvm=2Ec | 105 += ++++--------------------------------------
    sys/x86/xen/pv=2Ec = | 17 +------
    4 files changed, 22 insertions(+), 112 deletions(-)
    diff --git a/sys/x86/include/xen/xen-os=2Eh b/sys/x86/include/xen/xen-= os=2Eh
    index ec0d4b1ab9f1=2E=2Ed3f21e2a6c45 100644
    --- a/sys/x86/incl= ude/xen/xen-os=2Eh
    +++ b/sys/x86/include/xen/xen-os=2Eh
    @@ -52,8 +52,= 6 @@ extern int xen_disable_pv_disks;
    /* tunable for disabling PV nics = */
    extern int xen_disable_pv_nics;

    -extern uint32_t xen_cpuid_b= ase;
    -
    /* compatibility for accessing xen_ulong_t with atomics */ #define atomic_clear_xen_ulong atomic_clear_long
    #define atomic_set_= xen_ulong atomic_set_long
    diff --git a/sys/x86/x86/identcpu=2Ec b/sys/x= 86/x86/identcpu=2Ec
    index 6df138bccba1=2E=2E919dda722d71 100644
    --- a= /sys/x86/x86/identcpu=2Ec
    +++ b/sys/x86/x86/identcpu=2Ec
    @@ -67,6 +67= ,10 @@
    #include <x86/isa/icu=2Eh>
    #include <x86/vmware=2Eh= >

    +#ifdef XENHVM
    +#include <xen/xen-os=2Eh>
    +#endif<= br>+
    #ifdef __i386__
    #define IDENTBLUE_CYRIX486 0
    #define IDENT= BLUE_IBMCPU 1
    @@ -1345,7 +1349,11 @@ static struct {
    int vm_guest;=
    void (*init)(void);
    } vm_cpuids[] =3D {
    - { "XenVMMXenVMM", V= M_GUEST_XEN }, /* XEN */
    + { "XenVMMXenVMM", VM_GUEST_XEN,
    +#ifdef X= ENHVM
    + &xen_early_init,
    +#endif
    + }, /* XEN */
    { = "Microsoft Hv", VM_GUEST_HV }, /* Microsoft Hyper-V */
    { "VMwareVMwar= e", VM_GUEST_VMWARE }, /* VMware VM */
    { "KVMKVMKVM", VM_GUEST_KVM },= /* KVM */
    diff --git a/sys/x86/xen/hvm=2Ec b/sys/x86/xen/hvm=2Ec
    in= dex 6336602c8bc4=2E=2E17500516debf 100644
    --- a/sys/x86/xen/hvm=2Ec
    += ++ b/sys/x86/xen/hvm=2Ec
    @@ -104,22 +104,6 @@ void xen_emergency_print(c= onst char *str, size_t size)
    outsb(XEN_HVM_DEBUGCONS_IOPORT, str, size= );
    }

    -uint32_t xen_cpuid_base;
    -
    -static uint32_t
    -xen= _hvm_cpuid_base(void)
    -{
    - uint32_t base, regs[4];
    -
    - for (bas= e =3D 0x40000000; base < 0x40010000; base +=3D 0x100) {
    - do_cpuid(b= ase, regs);
    - if (!memcmp("XenVMMXenVMM", &regs[1], 12)
    - &= amp;& (regs[0] - base) >=3D 2)
    - return (base);
    - }
    - ret= urn (0);
    -}
    -
    static void
    hypervisor_quirks(unsigned int majo= r, unsigned int minor)
    {
    @@ -156,38 +140,6 @@ hypervisor_version(voi= d)
    hypervisor_quirks(major, minor);
    }

    -/*
    - * Allocate = and fill in the hypcall page=2E
    - */
    -int
    -xen_hvm_init_hypercall_= stubs(enum xen_hvm_init_type init_type)
    -{
    - uint32_t regs[4];
    -- if (xen_cpuid_base !=3D 0)
    - /* Already setup=2E */
    - goto out;=
    -
    - xen_cpuid_base =3D xen_hvm_cpuid_base();
    - if (xen_cpuid_base= =3D=3D 0)
    - return (ENXIO);
    -
    - /*
    - * Find the hypercall pa= ges=2E
    - */
    - do_cpuid(xen_cpuid_base + 2, regs);
    - if (regs[0] != =3D 1)
    - return (EINVAL);
    -
    - wrmsr(regs[1], (init_type =3D=3D XE= N_HVM_INIT_EARLY)
    - ? (vm_paddr_t)((uintptr_t)&hypercall_page - = KERNBASE)
    - : vtophys(&hypercall_page));
    -
    -out:
    - hype= rvisor_version();
    - return (0);
    -}
    -
    /*
    * Translate linea= r to physical address when still running on the bootloader
    * created p= age-tables=2E
    @@ -336,12 +288,14 @@ xen_early_init(void)
    uint32_t r= egs[4];
    int rc;

    - xen_cpuid_base =3D xen_hvm_cpuid_base();
    = - if (xen_cpuid_base =3D=3D 0)
    + if (hv_high < hv_base + 2) {
    + x= c_printf("Invalid maximum leaves for hv_base\n");
    + vm_guest =3D VM_GUE= ST_VM;
    return;
    + }

    /* Find the hypercall pages=2E */
    = - do_cpuid(xen_cpuid_base + 2, regs);
    + do_cpuid(hv_base + 2, regs);
    = if (regs[0] !=3D 1) {
    xc_printf("Invalid number of hypercall pages = %u\n",
    regs[0]);
    @@ -362,33 +316,6 @@ xen_early_init(void)
    = fixup_console();
    }

    -static void
    -xen_hvm_init_shared_i= nfo_page(void)
    -{
    - struct xen_add_to_physmap xatp;
    -
    - if (xen= _pv_domain()) {
    - /*
    - * Already setup in the PV case, shared_info= is passed inside
    - * of the start_info struct at start of day=2E
    -= */
    - return;
    - }
    -
    - if (HYPERVISOR_shared_info =3D=3D NULL= ) {
    - HYPERVISOR_shared_info =3D malloc(PAGE_SIZE, M_XENHVM, M_NOWAIT);=
    - if (HYPERVISOR_shared_info =3D=3D NULL)
    - panic("Unable to allo= cate Xen shared info page");
    - }
    -
    - xatp=2Edomid =3D DOMID_SELF;<= br>- xatp=2Eidx =3D 0;
    - xatp=2Espace =3D XENMAPSPACE_shared_info;
    - = xatp=2Egpfn =3D vtophys(HYPERVISOR_shared_info) >> PAGE_SHIFT;
    - i= f (HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp))
    - panic("HYP= ERVISOR_memory_op failed");
    -}
    -
    static int
    set_percpu_callba= ck(unsigned int vcpu)
    {
    @@ -505,32 +432,29 @@ xen_hvm_disable_emulat= ed_devices(void)
    static void
    xen_hvm_init(enum xen_hvm_init_type in= it_type)
    {
    - int error;
    - int i;
    + unsigned int i;

    i= f (!xen_domain() ||
    init_type =3D=3D XEN_HVM_INIT_CANCELLED_SUSPEN= D)
    return;

    - error =3D xen_hvm_init_hypercall_stubs(init_type= );
    + hypervisor_version();

    switch (init_type) {
    case XEN_= HVM_INIT_LATE:
    - if (error !=3D 0)
    - return;
    -
    setup_xen_= features();
    #ifdef SMP
    cpu_ops =3D xen_hvm_cpu_ops;
    #endif break;
    case XEN_HVM_INIT_RESUME:
    - if (error !=3D 0)
    - pa= nic("Unable to init Xen hypercall stubs on resume");
    -
    /* Clear st= ale vcpu_info=2E */
    CPU_FOREACH(i)
    DPCPU_ID_SET(i, vcpu_info, = NULL);
    +
    + if (map_shared_info() !=3D 0)
    + panic("cannot map Xe= n shared info page");
    +
    break;
    default:
    panic("Unsuppor= ted HVM initialization type");
    @@ -540,13 +464,6 @@ xen_hvm_init(enum xe= n_hvm_init_type init_type)
    xen_evtchn_needs_ack =3D false;
    xen_hv= m_set_callback(NULL);

    - /*
    - * On (PV)HVM domains we need to re= quest the hypervisor to
    - * fill the shared info page, for PVH guest th= e shared_info page
    - * is passed inside the start_info struct and is al= ready set, so this
    - * functions are no-ops=2E
    - */
    - xen_hvm_in= it_shared_info_page();
    xen_hvm_disable_emulated_devices();
    }
    =
    diff --git a/sys/x86/xen/pv=2Ec b/sys/x86/xen/pv=2Ec
    index e33fa41c8= 3d7=2E=2E0e6492b124b8 100644
    --- a/sys/x86/xen/pv=2Ec
    +++ b/sys/x86/x= en/pv=2Ec
    @@ -147,12 +147,9 @@ isxen(void)
    }

    #define CRASH(= =2E=2E=2E) do { \
    - if (isxen()) { \
    + if (isxen()) \
    = xc_printf(__VA_ARGS__); \
    - HYPERVISOR_shutdown(SHUTDOWN_crash); \=
    - } else { \
    - halt(); \
    - } \
    + halt(); \<= br> } while (0)

    uint64_t
    @@ -162,16 +159,6 @@ hammer_time_xen(v= m_paddr_t start_info_paddr)
    uint64_t physfree;
    char *kenv;
    - if (isxen()) {
    - vm_guest =3D VM_GUEST_XEN;
    - xen_early_init();=
    - if (xen_cpuid_base =3D=3D 0) {
    - xc_printf(
    - "ERROR: = failed to initialize hypercall page\n");
    - HYPERVISOR_shutdown(SHUTDOW= N_crash);
    - }
    - }
    -
    start_info =3D (struct hvm_start_info *)= (start_info_paddr + KERNBASE);
    if (start_info->magic !=3D XEN_HVM_S= TART_MAGIC_VALUE) {
    CRASH("Unknown magic value in start_info struct: = %#x\n",

    This breaks i386 kernel build

    /home/bapt/worktrees/main/sys/x86/x= en/hvm=2Ec:156:47: error: format specifies type 'unsigned long' but the arg= ument has type 'uintptr_t' (aka 'unsigned int') [-Werror,-Wformat]

    B= apt
    ------X3FJVLSHKXFQGXUY681CX7HTPDB8CZ-- From nobody Thu Feb 22 14:40:32 2024 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 4TgbR42Wtdz5CjbN; Thu, 22 Feb 2024 14:40: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 4TgbR41yRFz46Jn; Thu, 22 Feb 2024 14:40:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708612832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N7ekdBNUOxLiucva1CiiyE8kKMtaOgphWqSb/6fkLPc=; b=SoqrOBCVd6MTJmuDMQ5yxgfTUTu3yP9F4I7iMWuTw+F89mQ4l4huDBivo1IlgVIaL7HWDk uzsv5s+V/WnpPVNRnvFSSDzw1KFg1fYJBOVf/HU+82+BqMPt1+JFXWHKJifQ6lzHDROijO 1BBqAotTr7EXJwxcTvi61WXL1DmThSqJqTaL++iZL0iAk7mDNsNUAYJLkNHgfgO3toLiQm at01IWeeMoBEbPT0r3MY3TY4xoZxkmkF/x+qkbn5mbWjp0IUG0ZqG3CO7Fo+v/8sastmXI 11fasmLVlVlSpWyWabI4BrI8DScpx1R41PQ4xMqrYi/2kLdg/PL7mBR9Z6lEQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708612832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N7ekdBNUOxLiucva1CiiyE8kKMtaOgphWqSb/6fkLPc=; b=GaTZxeQHcuf1AmsDmVgpYwhdWY0TetOCJJdJS10KsTQiZqay0b9DwLynDjEZwoza1WXq2X iNjhpBF3XCVU4abHcRrhqltibsA+qirIiTtMHmSqfchAX3KzbCR37Wp0ERGubobkxbR4OM Tubn662Is/Mgy7CzwDZjfci2xYG67gADm419b9Njz3OjLDZbIesS6INZKmwrjIiN8dd0OC TsHoLrhTwQ9selDBPU6Iioh5XdowqaCH8WE2DN9RBuYOGhn5nNRmY2rqfaRSuLoWHFdMRj 4rTGkqhn56h4rNQ0siVxUli7xzvNpIrlLcgo10l8koMyHGDfMVz0Z6OdFfnXuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708612832; a=rsa-sha256; cv=none; b=LBAdHM3e1GVPy981fL9HQ6tsapC0iridvZ9ys/g4TPET5B8TinLXzajGRf8RUzBb2fOn6L clF1ABY2yXFLWPhe5KCE7c27aNB73JN6rZgUGzaME6QPo9zvZHSRTijONG6/uSkb4r51lI /WlUVSOMFd8/mx/VSy/C/xolYTvncACvNVoCZstudhHG7nr7wczsmB5S4alyzuwupFwRPb PQKl/1vESt2MSFMOvLQHGEA0tR1mCuxd7uwrfGzDGVO7dTxLue2meLYkWkxm6pqqHAJcKK q7hTMuL+a6YaVfmsftCtRTmy3FS7V/yfqFaaDOIcIJYdo7f/nR0151oZDcJ8oQ== 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 4TgbR410dBzbGP; Thu, 22 Feb 2024 14:40: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 41MEeWkt039681; Thu, 22 Feb 2024 14:40:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MEeW9B039678; Thu, 22 Feb 2024 14:40:32 GMT (envelope-from git) Date: Thu, 22 Feb 2024 14:40:32 GMT Message-Id: <202402221440.41MEeW9B039678@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Roger Pau =?utf-8?Q?Monn=C3=A9?= Subject: git: f62d90e5e938 - main - x86/xen: use correct printf specifier. 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: royger X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f62d90e5e938ce72249bc9f5e5e2834ed4727fc4 Auto-Submitted: auto-generated The branch main has been updated by royger: URL: https://cgit.FreeBSD.org/src/commit/?id=f62d90e5e938ce72249bc9f5e5e2834ed4727fc4 commit f62d90e5e938ce72249bc9f5e5e2834ed4727fc4 Author: Roger Pau Monné AuthorDate: 2024-02-22 14:26:56 +0000 Commit: Roger Pau Monné CommitDate: 2024-02-22 14:32:36 +0000 x86/xen: use correct printf specifier. Use %p instead of wrongly casting to uintptr_t and printing with %lx. Reported by: bapt Fixes: 9a687d1fe3af ('x86/xen: introduce a Xen early init function') Sponsored by: Cloud Software Group --- sys/x86/xen/hvm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/x86/xen/hvm.c b/sys/x86/xen/hvm.c index 17500516debf..22f070213f9b 100644 --- a/sys/x86/xen/hvm.c +++ b/sys/x86/xen/hvm.c @@ -153,7 +153,7 @@ early_init_vtop(void *addr) * initialization. */ if (__predict_false((uintptr_t)addr < KERNBASE)) { - xc_printf("invalid linear address: %#lx\n", (uintptr_t)addr); + xc_printf("invalid linear address: %p\n", addr); halt(); } From nobody Thu Feb 22 15:56:01 2024 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 4Tgd6B25qdz59rcY; Thu, 22 Feb 2024 15:56: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 4Tgd696v1Jz4FsX; Thu, 22 Feb 2024 15:56:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708617362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Aw20vqJkMV+TyqU7EGgmGi0DySraBSHWy5DDxog+ddc=; b=k2Hb6/Iq8YEiv1RkmmsjzVpUPcj1dCskZJxfNbrOusM9rch1L/qF4juQOu+tmzepwyzvBY zgrZYbFzgjrXqAAYglqjiVDrBcGMl5hIeILVyje5Jubj3X0Z05Sl513A+GR+ZECP07dp/M spAx8IWU4fcI7wgP7uinldY67S1WGOq7Oq+Jqo27sEmzAgSM7g+XAWhBYjsLjEek1TgvBF juZGrdlh3ismVbMgokqpokC9JKG/HkymFC38JkwZaDu4C9ucgTZS8yvKz0ehtaL8BQn1Ve Rlt+P/5QCixhnaWbbd9rppFLd0kii/Zd98L9jIuRfimXZxJSaQ3HfHE7G5ZolQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708617362; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Aw20vqJkMV+TyqU7EGgmGi0DySraBSHWy5DDxog+ddc=; b=XUku+OPKBqtlIqpeU8l0oHkwcISAvnq+2l4dppucm5rhdKL5LVbGmnn7O51DILrvoElOQ1 Y/xTnXrfPdZ+iFkxp1y4GySrU1YLSerNIx7BZjzVkEsKEGMVrm0Jll5Yuffepil30MBsUr 19TvPce6Ms90zQqk9evChrLdT57G37K+j1TofFhW25N7NndYdM8ye+G+7XYC8L2dG0vsdx 9Wu6OZUqgT7xFCvRwx00BSFd/SRakjCc5yWbk+fnqFyjVwiGDhCCaY3DCvEtZa4vbNzhEV Zbx1QeuIvHY9f2b086oqBcCG1GU4ps3VJmiigBA5ueFekcY6cNxjM8HqOukpmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708617362; a=rsa-sha256; cv=none; b=pyn6av8zzBQlP7nJu/yF2NtDIiGWnKMxVHUjHhTHVqcxk8AnpTcPmiKgYbZJ+y+U8ArpZw bcv5Kfz+XrZQ1Sn4Gw//vwSN2n67Yz5N2iEbb87eHCEFXIaEZs1nozvDAYLlJSzFD3OI2r czuIZxX8vZHCreKaexxBQr9DAYs8tb1biP8TVjOpOSMrH4DIgyTdfu15V5hY7O2O/nWgAv qZt30tBcNyQbQAV7eVHrxcAJt2Ehh42xNT9IXn+58mapshaVnuJRXI7px+l5WVPr9NQYMW g8yKirm8UINfvXnSxSnCsasfxaOk/1bmO6s0k4vuiyYW/B0MrhTCeLxIRMDKUA== 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 4Tgd69610YzdrC; Thu, 22 Feb 2024 15:56: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 41MFu16K064192; Thu, 22 Feb 2024 15:56:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MFu1w3064189; Thu, 22 Feb 2024 15:56:01 GMT (envelope-from git) Date: Thu, 22 Feb 2024 15:56:01 GMT Message-Id: <202402221556.41MFu1w3064189@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: 5e89e34f846a - main - random(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: 5e89e34f846a233fb97302c05af5a47c694405a1 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=5e89e34f846a233fb97302c05af5a47c694405a1 commit 5e89e34f846a233fb97302c05af5a47c694405a1 Author: Gordon Bergling AuthorDate: 2024-02-22 15:54:50 +0000 Commit: Gordon Bergling CommitDate: 2024-02-22 15:54:50 +0000 random(4): Fix a typo in a source code comment - s/parmeter/parameter/ MFC after: 3 days --- sys/dev/random/hash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/random/hash.c b/sys/dev/random/hash.c index 8e63d0f638f3..90ac65f42241 100644 --- a/sys/dev/random/hash.c +++ b/sys/dev/random/hash.c @@ -124,7 +124,7 @@ randomdev_encrypt_init(union randomdev_key *context, const void *data) /* * Create a pseudorandom output stream of 'bytecount' bytes using a CTR-mode - * cipher or similar. The 128-bit counter is supplied in the in-out parmeter + * cipher or similar. The 128-bit counter is supplied in the in-out parameter * 'ctr.' The output stream goes to 'd_out.' * * If AES is used, 'bytecount' is guaranteed to be a multiple of From nobody Thu Feb 22 15:56:02 2024 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 4Tgd6C1zrfz59rX5; Thu, 22 Feb 2024 15:56: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 4Tgd6C0b5bz4GHd; Thu, 22 Feb 2024 15:56:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708617363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LgVmPBJDwdoXsxkuzfttmC+cRNanppeYAWWwBLMk28g=; b=qTyRUQRvYy2iI2pbWYw1Uen99iAHhQVDqE2b/jwuKeEGIipyk5o4fbrLounQj4CsX08Ph+ BLL/IQZ88DgDAZdcq7WqrCgQXPctYD42C/xTCw0HjdLTYymadN5m2mYYMORB/dRyCCBswM BpzDX03CaPymEOwwpag0/PCzSDXAnZQCfwchDpCsNT1n7pUX/AZHeTXNKaFBgir6exVOnK c8dadf7UmaBEsArJaaG1fg34xWjOEIGttBEYrUisKdNno01BUTdHw3W3tXt0UDVbCvkTK9 sRH8ZV98r91fmVXd3G+qrU+5bvqpu7j6FCccRZmLWY6m4u5TyojDnrS5Sp3lpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708617363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LgVmPBJDwdoXsxkuzfttmC+cRNanppeYAWWwBLMk28g=; b=YaLov5l2hKMYf28yq0uv8LBzMtA5zHyHzU+ZZUhuOz3r7VQWSbRCm5k1FarGhoWgSZBaVe PgEqzph18hlVWUu1r6KxqL1nOUmi9xe95q0ipDKFclLc9kezo5Jxyz5v0LJWLvi8zFYeU0 DlZzfjyWv4qAHzU8RzwwRzx3vqAsouXhtue//jVtGCa2I50JnNB5923YRg9sAyRE+Ioqzk cjNlSEJdSuqIlmzLvAbEZRpiSwXE2Brglc+ujv6w50g7lx4LB1nzZH/KkQSIjl8riF4r7K WU9b/qGOHvrz6/Bpj5lGFUpx2wB1v8VCvUfYRQcDxUeb1ik7e+2JRRaMeOyEAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708617363; a=rsa-sha256; cv=none; b=NHpBjow1oKrbCKTk5v2IodmDibfJGrFpfXQteEkjL9A7EkJjMG+BUn3D7k5Mli6u7BZto6 biIfPVbp9+u2URMNrqY4pfPqGmOs6nz175qkMHpvw1n/xp620duS8pZxLbkODwLQmImIZS KdfXF9mxI1RXtkNgFI+0vto0mRka8g2A5MRAuz56YAq8HmoSqIpd59qpH+d4mWQ1gEXQjF WRKkfdo/2ffagbat90eeAl5qY1aN/xd5ghyeWjuTGHmwtR5x6iosJak9ETetJDgJESupyz V3XMonh/pnPYmpXcJRM3BKMNKj1RhDOs2MX6yA1JIec1dBpr2qD206FwUHpVrw== 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 4Tgd6B6mfczdZ7; Thu, 22 Feb 2024 15:56: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 41MFu2wn064246; Thu, 22 Feb 2024 15:56:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MFu2eX064243; Thu, 22 Feb 2024 15:56:02 GMT (envelope-from git) Date: Thu, 22 Feb 2024 15:56:02 GMT Message-Id: <202402221556.41MFu2eX064243@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: 5a476e64b543 - main - uath(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: 5a476e64b543dc63fae7fcd243dc066dced31c3b Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=5a476e64b543dc63fae7fcd243dc066dced31c3b commit 5a476e64b543dc63fae7fcd243dc066dced31c3b Author: Gordon Bergling AuthorDate: 2024-02-22 15:55:51 +0000 Commit: Gordon Bergling CommitDate: 2024-02-22 15:55:51 +0000 uath(4): Fix a typo in a source code comment - s/parmeter/parameter/ MFC after: 3 days --- sys/dev/usb/wlan/if_uathreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/wlan/if_uathreg.h b/sys/dev/usb/wlan/if_uathreg.h index 47ec13267e17..91e5f04bc902 100644 --- a/sys/dev/usb/wlan/if_uathreg.h +++ b/sys/dev/usb/wlan/if_uathreg.h @@ -50,7 +50,7 @@ struct uath_fwblock { * parameter 2 * ... * - * A variable-length parameter, or a parmeter that is larger than + * A variable-length parameter, or a parameter that is larger than * 32 bits is passed as pair, where length is a * 32-bit quantity and data is padded to 32 bits. */ From nobody Thu Feb 22 16:17:25 2024 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 4TgdZs5Nhxz59ttC; Thu, 22 Feb 2024 16:17: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 4TgdZs36cFz4J0c; Thu, 22 Feb 2024 16:17:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708618645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NzMi6+LUPrWq/YC/FaGTqfSzj7O3UkhLvAsGYIna5zY=; b=TJnTVQKAnnZ18gdtEA45NJN04ssDfk24r5a3r0DzY74omo5PEDEK+t9OiN7GrJybEbvNw0 oEqj0dF3kqeJIBiU/w1Su8dkUQKij7lDJnV6k0bLdBT8pkEwha8X/+Bh/UtzbroA9EgWtb L/LPh6TCbofM3xrT+3oYKz2DrwnJ5HA0eNnJ3kKiOXHXAK4etALL8ZBKL0rL//245kLMlQ tOBjN+Ze2XWN507ige3t6yBpR70SVXMs7gocdVeRLV3f7O+brmHTS+ID7Tbgh9gIEaqk0K cPU9pwMWY2coy7NvsZvWKTHwth0Yf41P6vSWz9DwwI7oHWBSVBX5ekMZwBHWfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708618645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NzMi6+LUPrWq/YC/FaGTqfSzj7O3UkhLvAsGYIna5zY=; b=pWwMTMSE26eTT2V0il+uo7wkM4QbwRGoxMJdukuIUNDLjXSubKJbYJ9Vvd1hRCdsTxkx1e iGev1wjV9ZQSKuQg8teGGXq5SqdrU8rfZ1rCv7eTeS5snAplySA4BuN6QeAk7FDOQ2/F5t UMyDIyBsQEHs+23VMiU4UUcyYy4m73XA5TaN4xka84KFOwiEYlqP2GvM4T9AP0+Lbf/HKo 4GmtBEJrao96MtDtBdaxad9s/KowGwesStQweWxViXoRVQ9LFjDn/qx+ETgmxNswhOL4L7 ldh0Ldnj7C+MvL93PudV66rokoXc19wyPMmTqsp0VDUHG3TfTgJKiJKrK6Ag8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708618645; a=rsa-sha256; cv=none; b=ceEYlB/3RWwdsLryeDguard5kUxuAqHvVcTTIGTvhPHPqW+cpZH7T2bDSncG6A6pAp+IZo +GiHK4WV5G4N8Kmvlc/F7lLjrp16A3lGY4WifP+jDw2CsVAU7Ikf9IBuPHLPTVIqQ6mlmX S/sMfIci7AfkIPr8HD6B5ccymgNMwZeDgLIdBoasiiYh6w9lkGw+7M4xBeyRCPi8tGw40z 6EWCpyPYt9+w8vBPq5k2ImlAHJfXZWKoCBnitz2QHVLtHv1HR0uc9GdWKwoSVsbNvZU+ir sONX1daUMbYT7r2R72z+5ZVh++vo9fJrkq8UKgShcc9cu2wOXo4V2m9SON2KCg== 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 4TgdZs25CGzfT3; Thu, 22 Feb 2024 16:17: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 41MGHPFT098319; Thu, 22 Feb 2024 16:17:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MGHPN3098316; Thu, 22 Feb 2024 16:17:25 GMT (envelope-from git) Date: Thu, 22 Feb 2024 16:17:25 GMT Message-Id: <202402221617.41MGHPN3098316@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: a53204c22790 - main - sk(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: a53204c22790a94a15f0e3c153f7fa12f9d57d27 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=a53204c22790a94a15f0e3c153f7fa12f9d57d27 commit a53204c22790a94a15f0e3c153f7fa12f9d57d27 Author: Gordon Bergling AuthorDate: 2024-02-22 16:16:49 +0000 Commit: Gordon Bergling CommitDate: 2024-02-22 16:16:49 +0000 sk(4): Fix a typo in a source code comment - /integeated/integrated/ - s/extented/extended/ Obtained from: NetBSD MFC after: 3 days --- sys/dev/sk/if_skreg.h | 2 +- sys/dev/sk/xmaciireg.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/sk/if_skreg.h b/sys/dev/sk/if_skreg.h index 29284025463d..63452e30f575 100644 --- a/sys/dev/sk/if_skreg.h +++ b/sys/dev/sk/if_skreg.h @@ -405,7 +405,7 @@ * fiber-based cards or BCOM for 1000baseT cards with a Broadcom * PHY. */ -#define SK_PHYTYPE_XMAC 0 /* integeated XMAC II PHY */ +#define SK_PHYTYPE_XMAC 0 /* integrated XMAC II PHY */ #define SK_PHYTYPE_BCOM 1 /* Broadcom BCM5400 */ #define SK_PHYTYPE_LONE 2 /* Level One LXT1000 */ #define SK_PHYTYPE_NAT 3 /* National DP83891 */ diff --git a/sys/dev/sk/xmaciireg.h b/sys/dev/sk/xmaciireg.h index ff836dd48903..dcd91e1640ab 100644 --- a/sys/dev/sk/xmaciireg.h +++ b/sys/dev/sk/xmaciireg.h @@ -335,7 +335,7 @@ #define XM_PHY_ANEXP 0x0006 /* autoneg expansion */ #define XM_PHY_NEXTP 0x0007 /* nextpage */ #define XM_PHY_LPNEXTP 0x0008 /* link partner's nextpage */ -#define XM_PHY_EXTSTS 0x000F /* extented status */ +#define XM_PHY_EXTSTS 0x000F /* extended status */ #define XM_PHY_RESAB 0x0010 /* resolved ability */ #define XM_BMCR_DUPLEX 0x0100 From nobody Thu Feb 22 16:28:03 2024 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 4Tgdq82CsMz59wPh; Thu, 22 Feb 2024 16:28: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 4Tgdq806Ssz4JhC; Thu, 22 Feb 2024 16:28:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e+NAsISze0ielcyJ8yWim/swGxC20K89xeqh440xfoE=; b=UlZ7PWjlEbV24tSAGh3QAzkktTLCbeXrJmBKkEMKD9iuKfYqrmOuYxWImS//JMP74WBQc8 4/9peDFV42vO/NHq28ncENhRf41A4OV4cEIK/3P17BKdFIngNsl3o/uPfKNSL1wwz0GcxC xIzEZUZnxgsPFmvl2dtvrmG8Mu2lvITZsCMZUGXAlrAuYAc3BcwrAarGZ+rX7UmXJTZBx4 MGgXKBO81jInGPaWD3LydCiPosxWsJSTFg6nEwkyF8Q9ie9estbrFiuasNQzKLMV6XtY4i 42pmvjIEs6f2JpGbqwvZReBxAIFj3gzTK+WCvcjmx9kxe9AS8JHDelgxJ5cPEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e+NAsISze0ielcyJ8yWim/swGxC20K89xeqh440xfoE=; b=iW74IHPAxwxoOlBueYyfRdQIXTisdr01HFXAwEEaA5fAfSmSJ03KM4ldCe8v8Pqg4GOwg9 o8MYZxyHpFeQMa90pH4uo4hY1ngjIL8H4DbWHBUA8qSxG8PetwRoL4UmUjneKvGV6QyhcO WCp1cGg2wJICh/Ozqg1fELJK2x8pDDwpgNqfI7kFMOSvsYW1FBa49sM4rrzWZ/HHFsmvdL lXM0M0pJqrqNILk21YOJ7UCEs1YHMoXDCkIEaTnOehBQE+MAzcbft/cRSDV0/SMGFeGr75 mwtaxIWnE9j/HHo6Cg+kiPUpU3d0PutEIaQg8GTavtQ3RI90cEjIrKsMVkKHQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708619284; a=rsa-sha256; cv=none; b=KUwd3DyX0ziM4oRxPoh8aWDeLCe6G+wBq0fBEwFmnlXWkmJek/RFCJX/XL7LoKPcGiBUfT Jh4vLMKx4cdySg8l6iEaQYKxoclWdQk+G1wCr+Rxc7iTd/3XhBR7BcI5D9dp/UFywzJsin UyDFLveZIUTQtG4Q6Ult5xSCUipYX6r/HZTQoCQgR5hmyX+2/7UNH2mfvK6eJqLQ89Y8lP 1YXzisiYRlXsaDddlEbV5kNKiRAda3blTzc8vXOBLGmVl6VsOKN+qhEawKRVYYqxiBjXGd GIwgqXppbLxZRXhQfobxxGOMAozWxH3wQTkpCEdlUcyRMo/VO+hbIICt+7NUTQ== 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 4Tgdq76JtwzfGL; Thu, 22 Feb 2024 16:28: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 41MGS3En015332; Thu, 22 Feb 2024 16:28:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MGS3cb015329; Thu, 22 Feb 2024 16:28:03 GMT (envelope-from git) Date: Thu, 22 Feb 2024 16:28:03 GMT Message-Id: <202402221628.41MGS3cb015329@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: d3eae160b21f - main - arm64: Add BTI support to pmap 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: d3eae160b21f12c769f1e275901ad8ef18901744 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d3eae160b21f12c769f1e275901ad8ef18901744 commit d3eae160b21f12c769f1e275901ad8ef18901744 Author: Andrew Turner AuthorDate: 2023-04-05 12:31:41 +0000 Commit: Andrew Turner CommitDate: 2024-02-22 16:27:47 +0000 arm64: Add BTI support to pmap Add a rangeset to the arm64 pmap to describe which address space needs the Branch Target Identification (BTI) Guard Page flag set in the page table. On hardware that supports BTI the Guard Page flag tells the hardware to raise an exception if the target of a BR* and BLR* instruction is not an appropriate landing pad instruction. To support this in userspace we need to know which address space should be guarded. For this add a rangeset to the arm64 pmap when the hardware supports BTI. The kernel can then use pmap_bti_set and pmap_bti_clear mark and unmark which address space is guarded. Sponsored by: Arm Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42328 --- sys/arm64/arm64/pmap.c | 270 ++++++++++++++++++++++++++++++++++++++++++++--- sys/arm64/include/pmap.h | 13 +-- 2 files changed, 263 insertions(+), 20 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index d9b6425cc20e..21912535bb6a 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -119,6 +119,7 @@ #include #include #include +#include #include #include #include @@ -432,6 +433,12 @@ SYSCTL_INT(_vm_pmap, OID_AUTO, superpages_enabled, CTLFLAG_RDTUN | CTLFLAG_NOFETCH, &superpages_enabled, 0, "Are large page mappings enabled?"); +/* + * True when Branch Target Identification should be used by userspace. This + * allows pmap to mark pages as guarded with ATTR_S1_GP. + */ +__read_mostly static bool pmap_bti_support = false; + /* * Internal flags for pmap_enter()'s helper functions. */ @@ -478,7 +485,14 @@ 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 uma_zone_t pmap_bti_ranges_zone; +static bool pmap_bti_same(pmap_t pmap, vm_offset_t sva, vm_offset_t eva); static pt_entry_t pmap_pte_bti(pmap_t pmap, vm_offset_t va); +static void pmap_bti_on_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva); +static void *bti_dup_range(void *ctx, void *data); +static void bti_free_range(void *ctx, void *node); +static int pmap_bti_copy(pmap_t dst_pmap, pmap_t src_pmap); +static void pmap_bti_deassign_all(pmap_t pmap); /* * These load the old table data and store the new value. @@ -2320,6 +2334,7 @@ pmap_pinit0(pmap_t pmap) pmap->pm_levels = 4; pmap->pm_ttbr = pmap->pm_l0_paddr; pmap->pm_asid_set = &asids; + pmap->pm_bti = NULL; PCPU_SET(curpmap, pmap); } @@ -2345,9 +2360,16 @@ pmap_pinit_stage(pmap_t pmap, enum pmap_stage stage, int levels) MPASS(levels == 3 || levels == 4); pmap->pm_levels = levels; pmap->pm_stage = stage; + pmap->pm_bti = NULL; switch (stage) { case PM_STAGE1: pmap->pm_asid_set = &asids; + if (pmap_bti_support) { + pmap->pm_bti = malloc(sizeof(struct rangeset), M_DEVBUF, + M_ZERO | M_WAITOK); + rangeset_init(pmap->pm_bti, bti_dup_range, + bti_free_range, pmap, M_NOWAIT); + } break; case PM_STAGE2: pmap->pm_asid_set = &vmids; @@ -2652,7 +2674,7 @@ void pmap_release(pmap_t pmap) { bool rv __diagused; - struct spglist free; + struct spglist freelist; struct asid_set *set; vm_page_t m; int asid; @@ -2665,13 +2687,13 @@ pmap_release(pmap_t pmap) KASSERT((pmap->pm_l0[0] & ATTR_DESCR_VALID) == ATTR_DESCR_VALID, ("pmap_release: Invalid l0 entry: %lx", pmap->pm_l0[0])); - SLIST_INIT(&free); + SLIST_INIT(&freelist); m = PHYS_TO_VM_PAGE(pmap->pm_ttbr); PMAP_LOCK(pmap); - rv = pmap_unwire_l3(pmap, 0, m, &free); + rv = pmap_unwire_l3(pmap, 0, m, &freelist); PMAP_UNLOCK(pmap); MPASS(rv == true); - vm_page_free_pages_toq(&free, true); + vm_page_free_pages_toq(&freelist, true); } KASSERT(pmap->pm_stats.resident_count == 0, @@ -2699,6 +2721,11 @@ pmap_release(pmap_t pmap) bit_clear(set->asid_set, asid); } mtx_unlock_spin(&set->asid_set_mutex); + + if (pmap->pm_bti != NULL) { + rangeset_fini(pmap->pm_bti); + free(pmap->pm_bti, M_DEVBUF); + } } m = PHYS_TO_VM_PAGE(pmap->pm_l0_paddr); @@ -3631,14 +3658,8 @@ pmap_remove_l3_range(pmap_t pmap, pd_entry_t l2e, vm_offset_t sva, pmap_invalidate_range(pmap, va, sva, true); } -/* - * Remove the given range of addresses from the specified map. - * - * It is assumed that the start and end are properly - * rounded to the page size. - */ -void -pmap_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +static void +pmap_remove1(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, bool map_delete) { struct rwlock *lock; vm_offset_t va_next; @@ -3655,6 +3676,8 @@ pmap_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) SLIST_INIT(&free); PMAP_LOCK(pmap); + if (map_delete) + pmap_bti_on_remove(pmap, sva, eva); lock = NULL; for (; sva < eva; sva = va_next) { @@ -3737,6 +3760,18 @@ pmap_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) vm_page_free_pages_toq(&free, true); } +/* + * Remove the given range of addresses from the specified map. + * + * It is assumed that the start and end are properly + * rounded to the page size. + */ +void +pmap_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +{ + pmap_remove1(pmap, sva, eva, false); +} + /* * Remove the given range of addresses as part of a logical unmap * operation. This has the effect of calling pmap_remove(), but @@ -3746,7 +3781,7 @@ pmap_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) void pmap_map_delete(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) { - pmap_remove(pmap, sva, eva); + pmap_remove1(pmap, sva, eva, true); } /* @@ -4355,6 +4390,8 @@ pmap_enter_largepage(pmap_t pmap, vm_offset_t va, pt_entry_t newpte, int flags, PTE_TO_PHYS(newpte), newpte, psind)); restart: + if (!pmap_bti_same(pmap, va, va + pagesizes[psind])) + return (KERN_PROTECTION_FAILURE); if (psind == 2) { PMAP_ASSERT_L1_BLOCKS_SUPPORTED; @@ -4848,6 +4885,14 @@ pmap_enter_l2(pmap_t pmap, vm_offset_t va, pd_entry_t new_l2, u_int flags, return (KERN_RESOURCE_SHORTAGE); } + /* + * If bti is not the same for the whole l2 range, return failure + * and let vm_fault() cope. Check after l2 allocation, since + * it could sleep. + */ + if (!pmap_bti_same(pmap, va, va + L2_SIZE)) + return (KERN_PROTECTION_FAILURE); + /* * If there are existing mappings, either abort or remove them. */ @@ -5496,6 +5541,38 @@ out: PMAP_UNLOCK(dst_pmap); } +int +pmap_vmspace_copy(pmap_t dst_pmap, pmap_t src_pmap) +{ + int error; + + if (dst_pmap->pm_stage != src_pmap->pm_stage) + return (EINVAL); + + if (dst_pmap->pm_stage != PM_STAGE1 || src_pmap->pm_bti == NULL) + return (0); + + for (;;) { + if (dst_pmap < src_pmap) { + PMAP_LOCK(dst_pmap); + PMAP_LOCK(src_pmap); + } else { + PMAP_LOCK(src_pmap); + PMAP_LOCK(dst_pmap); + } + error = pmap_bti_copy(dst_pmap, src_pmap); + /* Clean up partial copy on failure due to no memory. */ + if (error == ENOMEM) + pmap_bti_deassign_all(dst_pmap); + PMAP_UNLOCK(src_pmap); + PMAP_UNLOCK(dst_pmap); + if (error != ENOMEM) + break; + vm_wait(NULL); + } + return (error); +} + /* * pmap_zero_page zeros the specified hardware page by mapping * the page into KVM and using bzero to clear its contents. @@ -5907,6 +5984,7 @@ pmap_remove_pages(pmap_t pmap) if (lock != NULL) rw_wunlock(lock); pmap_invalidate_all(pmap); + pmap_bti_deassign_all(pmap); free_pv_chunk_batch(free_chunks); PMAP_UNLOCK(pmap); vm_page_free_pages_toq(&free, true); @@ -7436,6 +7514,29 @@ pmap_set_cnp(void *arg) isb(); } +/* + * Defer enabling some features until we have read the ID registers to know + * if they are supported on all CPUs. + */ +static void +pmap_init_mp(void *dummy __unused) +{ + uint64_t reg; + + if (get_kernel_reg(ID_AA64PFR1_EL1, ®)) { + if (ID_AA64PFR1_BT_VAL(reg) != ID_AA64PFR1_BT_NONE) { + if (bootverbose) + printf("Enabling BTI\n"); + pmap_bti_support = true; + + pmap_bti_ranges_zone = uma_zcreate("BTI ranges", + sizeof(struct rs_el), NULL, NULL, NULL, NULL, + UMA_ALIGN_PTR, 0); + } + } +} +SYSINIT(pmap_init_mp, SI_SUB_CPU, SI_ORDER_ANY, pmap_init_mp, NULL); + /* * Defer enabling CnP until we have read the ID registers to know if it's * supported on all CPUs. @@ -7871,8 +7972,85 @@ pmap_is_valid_memattr(pmap_t pmap __unused, vm_memattr_t mode) return (mode >= VM_MEMATTR_DEVICE && mode <= VM_MEMATTR_WRITE_THROUGH); } +static void * +bti_dup_range(void *ctx __unused, void *data) +{ + struct rs_el *node, *new_node; + + new_node = uma_zalloc(pmap_bti_ranges_zone, M_NOWAIT); + if (new_node == NULL) + return (NULL); + node = data; + memcpy(new_node, node, sizeof(*node)); + return (new_node); +} + +static void +bti_free_range(void *ctx __unused, void *node) +{ + + uma_zfree(pmap_bti_ranges_zone, node); +} + +static int +pmap_bti_assign(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +{ + struct rs_el *rs; + int error; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + PMAP_ASSERT_STAGE1(pmap); + MPASS(pmap->pm_bti != NULL); + rs = uma_zalloc(pmap_bti_ranges_zone, M_NOWAIT); + if (rs == NULL) + return (ENOMEM); + error = rangeset_insert(pmap->pm_bti, sva, eva, rs); + if (error != 0) + uma_zfree(pmap_bti_ranges_zone, rs); + return (error); +} + +static void +pmap_bti_deassign_all(pmap_t pmap) +{ + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + if (pmap->pm_bti != NULL) + rangeset_remove_all(pmap->pm_bti); +} + +static bool +pmap_bti_same(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +{ + struct rs_el *prev_rs, *rs; + vm_offset_t va; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + KASSERT(ADDR_IS_CANONICAL(sva), + ("%s: Start address not in canonical form: %lx", __func__, sva)); + KASSERT(ADDR_IS_CANONICAL(eva), + ("%s: End address not in canonical form: %lx", __func__, eva)); + + if (pmap->pm_bti == NULL || ADDR_IS_KERNEL(sva)) + return (true); + MPASS(!ADDR_IS_KERNEL(eva)); + for (va = sva; va < eva; prev_rs = rs) { + rs = rangeset_lookup(pmap->pm_bti, va); + if (va == sva) + prev_rs = rs; + else if ((rs == NULL) ^ (prev_rs == NULL)) + return (false); + if (rs == NULL) { + va += PAGE_SIZE; + continue; + } + va = rs->re_end; + } + return (true); +} + static pt_entry_t -pmap_pte_bti(pmap_t pmap, vm_offset_t va __diagused) +pmap_pte_bti(pmap_t pmap, vm_offset_t va) { PMAP_LOCK_ASSERT(pmap, MA_OWNED); MPASS(ADDR_IS_CANONICAL(va)); @@ -7881,9 +8059,73 @@ pmap_pte_bti(pmap_t pmap, vm_offset_t va __diagused) return (0); if (pmap == kernel_pmap) return (ATTR_KERN_GP); + if (pmap->pm_bti != NULL && rangeset_lookup(pmap->pm_bti, va) != NULL) + return (ATTR_S1_GP); return (0); } +static void +pmap_bti_on_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +{ + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + if (pmap->pm_bti != NULL) + rangeset_remove(pmap->pm_bti, sva, eva); +} + +static int +pmap_bti_copy(pmap_t dst_pmap, pmap_t src_pmap) +{ + + PMAP_LOCK_ASSERT(dst_pmap, MA_OWNED); + PMAP_LOCK_ASSERT(src_pmap, MA_OWNED); + MPASS(src_pmap->pm_stage == dst_pmap->pm_stage); + MPASS(src_pmap->pm_bti != NULL); + MPASS(dst_pmap->pm_bti != NULL); + if (src_pmap->pm_bti->rs_data_ctx == NULL) + return (0); + return (rangeset_copy(dst_pmap->pm_bti, src_pmap->pm_bti)); +} + +static void +pmap_bti_update_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, bool set) +{ + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + PMAP_ASSERT_STAGE1(pmap); + + pmap_mask_set_locked(pmap, sva, eva, ATTR_S1_GP, set ? ATTR_S1_GP : 0, + true); +} + +int +pmap_bti_set(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +{ + int error; + + if (pmap->pm_bti == NULL) + return (0); + if (!ADDR_IS_CANONICAL(sva) || !ADDR_IS_CANONICAL(eva)) + return (EINVAL); + if (pmap->pm_stage != PM_STAGE1) + return (EINVAL); + if (eva <= sva || ADDR_IS_KERNEL(eva)) + return (EFAULT); + + sva = trunc_page(sva); + eva = round_page(eva); + for (;;) { + PMAP_LOCK(pmap); + error = pmap_bti_assign(pmap, sva, eva); + if (error == 0) + pmap_bti_update_range(pmap, sva, eva, true); + PMAP_UNLOCK(pmap); + if (error != ENOMEM) + break; + vm_wait(NULL); + } + return (error); +} + #if defined(KASAN) || defined(KMSAN) static pd_entry_t *pmap_san_early_l2; diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index 4b4d47ccc7af..d69924080610 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -63,6 +63,8 @@ void pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma); * Pmap stuff */ +struct rangeset; + struct md_page { TAILQ_HEAD(,pv_entry) pv_list; int pv_gen; @@ -97,7 +99,8 @@ struct pmap { struct asid_set *pm_asid_set; /* The ASID/VMID set to use */ enum pmap_stage pm_stage; int pm_levels; - uint64_t pm_reserved[4]; + struct rangeset *pm_bti; + uint64_t pm_reserved[3]; }; typedef struct pmap *pmap_t; @@ -182,12 +185,10 @@ extern void (*pmap_stage2_invalidate_range)(uint64_t, vm_offset_t, vm_offset_t, bool); extern void (*pmap_stage2_invalidate_all)(uint64_t); -static inline int -pmap_vmspace_copy(pmap_t dst_pmap __unused, pmap_t src_pmap __unused) -{ +int pmap_vmspace_copy(pmap_t, pmap_t); - return (0); -} +int pmap_bti_set(pmap_t, vm_offset_t, vm_offset_t); +int pmap_bti_clear(pmap_t, vm_offset_t, vm_offset_t); #if defined(KASAN) || defined(KMSAN) struct arm64_bootparams; From nobody Thu Feb 22 16:28:04 2024 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 4Tgdq92n2Vz59wGH; Thu, 22 Feb 2024 16:28: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 4Tgdq9153Lz4K3j; Thu, 22 Feb 2024 16:28:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6uYSW5/MuKNuTgNhkDC4M4uthACp0GYN8IGvo7oPLh0=; b=WJ4bp/+WxHuu2nWfE45YEZrhX3TMvYz1T+p7DFDyMTxUD8/M2XmSSB1Y5odCucg4gtNmRf jTY8oKX5WqSUMZI+21HNam/15S4bEmY0Jc7vS4QeETHaBaDyJUJ/YjtIV7qlXJRoxlWMBq XoNWy7l0xH2G603HIC306HoVmelhCAqb90Z9Cj3b/8d+IGsZTEwMvqp8jgtwbB2tmGdgWi fa5mx1tvZMITIZud9xJ3gdGoHpHlZ+sj+KbgNcT6J5tPhlZJWypwjgBPA9JXhxv5WGsTFr S9NV9dMbpFuLz6smVt1BMD1YpM8JsII2yUhpdkgqdPJ8u5wbB9Ggo+UnekVsFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6uYSW5/MuKNuTgNhkDC4M4uthACp0GYN8IGvo7oPLh0=; b=JxrXF1npXN0mQRdHgJmRWhr0boE29ydst1Ql+I7bgsnRe9TKUZ1O9F1DLhTox2kQo5wp+e dtfGvkvscGiCiwXvQvVEZrDw4lT9huY8VhTYOhd9M/3UrU19RugV6+2WC+pVKHfft66KP/ A45J3DBCXzHZm9BVtl/AVPtg9AcOZQkGKqGA2JydHVB7hCxhkSCVbj7qqWrSUJ59iW3zC4 cOfCT8W3KTvI2DM0fCI01AHmCYVWAT/Vh0mz/nvxdjk0qUHUorCwBZmxvbqa8sP/h7ztz/ 1KUpmOjH5MNiv5tt0IS91R44d4xaUXZJnABIp11gNgpYXoL92CLMdyrG+1svaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708619285; a=rsa-sha256; cv=none; b=Cersl54WwLAO1lGbNJdisPKLf1B1COq13yqqYRI5mPZqwleLt8X3pJZoSMWuEWNyyT3dG2 c8bqRS15d6HPWPf9+Hu7Kq/cpDPTDa8XBJ+8nQksxNED0M6URZmZXvDA0+HZZ/YMxGsicF g+FXJU1bsnNnhez224UHUk3NBtNiDOmf8zojFYgX8hzYY8FERsRqh+r1LzqBmjXI5+Z4Rn 4ugeCj7PPueMxFwqZ6SHuLlyuJ/Q3ZRGmgsyUPeqFj+OnoFIQDS/4yXzowTKFWDJI0/Y/N PP9gGa9Iggs8qV1vIAc6bg8pYoBO5+VHVd06j/IqLSO2WxVhg/TyTnZQ4Q/8cw== 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 4Tgdq909W4zfVN; Thu, 22 Feb 2024 16:28: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 41MGS4Gg015371; Thu, 22 Feb 2024 16:28:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MGS4Wp015368; Thu, 22 Feb 2024 16:28:04 GMT (envelope-from git) Date: Thu, 22 Feb 2024 16:28:04 GMT Message-Id: <202402221628.41MGS4Wp015368@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: c4e4a7596beb - main - Add a BTI sysarch 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: c4e4a7596beb488b4878e9fa2a67cf49e330f78b Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c4e4a7596beb488b4878e9fa2a67cf49e330f78b commit c4e4a7596beb488b4878e9fa2a67cf49e330f78b Author: Andrew Turner AuthorDate: 2023-04-05 12:45:19 +0000 Commit: Andrew Turner CommitDate: 2024-02-22 16:27:47 +0000 Add a BTI sysarch This is used to enable the guard page when an elf binary is built with BTI instructions. Reviewed by: markj Sponsored by: Arm Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39453 --- sys/arm64/arm64/sys_machdep.c | 43 ++++++++++++++++++++++++++++++++++++++++++- sys/arm64/include/sysarch.h | 7 +++++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/sys_machdep.c b/sys/arm64/arm64/sys_machdep.c index 79546d29e251..eedc57f7c572 100644 --- a/sys/arm64/arm64/sys_machdep.c +++ b/sys/arm64/arm64/sys_machdep.c @@ -29,13 +29,54 @@ #include #include +#include #include +#include +#include +#include + #include +#include int sysarch(struct thread *td, struct sysarch_args *uap) { + struct arm64_guard_page_args gp_args; + vm_offset_t eva; + int error; + + switch (uap->op) { + case ARM64_GUARD_PAGE: + error = copyin(uap->parms, &gp_args, sizeof(gp_args)); + if (error != 0) + return (error); + + /* Only accept canonical addresses, no PAC or TBI */ + if (!ADDR_IS_CANONICAL(gp_args.addr)) + return (EINVAL); + + eva = gp_args.addr + gp_args.len; + + /* Check for a length overflow */ + if (gp_args.addr > eva) + return (EINVAL); + + /* Check in the correct address space */ + if (eva >= VM_MAX_USER_ADDRESS) + return (EINVAL); + + /* Nothing to do */ + if (gp_args.len == 0) + return (0); + + error = pmap_bti_set(vmspace_pmap(td->td_proc->p_vmspace), + trunc_page(gp_args.addr), round_page(eva)); + break; + default: + error = EINVAL; + break; + } - return (ENOTSUP); + return (error); } diff --git a/sys/arm64/include/sysarch.h b/sys/arm64/include/sysarch.h index 2bd45d384743..83094943423a 100644 --- a/sys/arm64/include/sysarch.h +++ b/sys/arm64/include/sysarch.h @@ -39,6 +39,13 @@ #ifndef _MACHINE_SYSARCH_H_ #define _MACHINE_SYSARCH_H_ +#define ARM64_GUARD_PAGE 0x100 + +struct arm64_guard_page_args { + __uintptr_t addr; + __size_t len; +}; + #ifndef _KERNEL __BEGIN_DECLS From nobody Thu Feb 22 16:28:06 2024 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 4TgdqB4cTkz59wR4; Thu, 22 Feb 2024 16:28: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 4TgdqB2B4Pz4Jyh; Thu, 22 Feb 2024 16:28:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Viie4LC0ZWcna1gZRzOxnQoW7kid327RVGsU/oSwoZc=; b=rtZ0yQEROHp6fj6qpf2cT/my8TNnrHvdy6TpQ8YE87Temtt+/CxhmTGyxcxd9kRBnXTs7R EIxjc6MUAx8j4JuleRKr23GClY1fs4T43Lg2WYVV7m23mg9XdtWsBwfFOWtSiirNEEh0pW mUwOt4N4t8Ay7li+0Cs2PVJfSMtEXWoawlzh7AE6w14JdSkRjaR9R44VAzODGu+Ot3ZAn/ A5cKdugTom9wegwogdTeqd8C6TJfjV09+IYAL5uSuj0BE7mMDpIQ/agMdQ3mWIl2fas6DK AaJxeB3UKsgt2Cr7aEByH/n8eJTUcN9aTyIIyqURM5a602d6jv5NyYaPKcnyrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Viie4LC0ZWcna1gZRzOxnQoW7kid327RVGsU/oSwoZc=; b=JTxS0sfE3EPN+UJPg9zLMe/t6Q8jPWERPFACKqXNX5YJaqUsdCsSteNX36aDhZZwhLUFug NpzhtmRfoqz48nKDsSgKHbRWPG4GIDw2Tc+s6J2evwQPGkCBdX5mXaBXGhQLFE82Q/VlXe C6aXWhfGNzx+DaIlnWwWC0w38qKIWcb8k/poCjAPvhDCw9fHenxIDIV1P2uCayR4sHsZRB FhZH8X/859m+BWV3zCSiEDjbahSHFt7U+R7tWa9NrtFK3/CEjNlyrv6qxCBcx7d21I22K6 51DU16C7ZYjCv9je/npyR/7GJpMeZUSKUNI/Z5yfhlZSmySCeEFjo2V7bEC8Hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708619286; a=rsa-sha256; cv=none; b=NIx4ujkNHaeE5gJFyGIWwk4uxsh98k6KUDM9XXLq7MofveCueYz1MufuNjSH8X9kAej4Y5 8xso8tTCwuqigoE597Ny9emyikwpDvmQluGOLQ6GLx08fnppyyGI2uw9bLea4gBUGx7DV6 k0+5FYZi3wCjdC1Zbw4PDRYUnDReJ/qtwBr9VIILqAL6bpMjQ+e/9GhDFWUZjsq4C4rNhH DOT4QdcvMT0jpFTxWo91xKYO8WM5meG1g91NGW2ZDgUXaq7emnYKhJPXBb+DnBbBjiXb+c GG1v/Oue2Pa3OkVkahNkTa4kzx6KRYUDJVGwNIdZMJkYJLi4uNOCTzdn4gEiJw== 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 4TgdqB13XkzfVP; Thu, 22 Feb 2024 16:28: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 41MGS6T8015422; Thu, 22 Feb 2024 16:28:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MGS6hh015419; Thu, 22 Feb 2024 16:28:06 GMT (envelope-from git) Date: Thu, 22 Feb 2024 16:28:06 GMT Message-Id: <202402221628.41MGS6hh015419@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: 670af174e27b - main - arm64: Enable BTI in the kernel ELF loader 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: 670af174e27b4f42f6e17521f18508ec78d5a776 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=670af174e27b4f42f6e17521f18508ec78d5a776 commit 670af174e27b4f42f6e17521f18508ec78d5a776 Author: Andrew Turner AuthorDate: 2023-11-02 09:56:09 +0000 Commit: Andrew Turner CommitDate: 2024-02-22 16:27:47 +0000 arm64: Enable BTI in the kernel ELF loader Enable BTI in binaries loaded by the kernel. When the ELF file contains the needed note indicating BTI is supported set the guarded page flag for all segments. Reviewed by: markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42441 --- sys/arm64/arm64/elf_machdep.c | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/sys/arm64/arm64/elf_machdep.c b/sys/arm64/arm64/elf_machdep.c index 29427d04ee54..350651c42723 100644 --- a/sys/arm64/arm64/elf_machdep.c +++ b/sys/arm64/arm64/elf_machdep.c @@ -46,7 +46,9 @@ #include #include +#include #include +#include #include #include @@ -61,6 +63,8 @@ u_long __read_frequently linux_elf_hwcap2; struct arm64_addr_mask elf64_addr_mask; +static void arm64_exec_protect(struct image_params *, int); + static struct sysentvec elf64_freebsd_sysvec = { .sv_size = SYS_MAXSYSCALL, .sv_table = sysent, @@ -98,6 +102,7 @@ static struct sysentvec elf64_freebsd_sysvec = { .sv_hwcap = &elf_hwcap, .sv_hwcap2 = &elf_hwcap2, .sv_onexec_old = exec_onexec_old, + .sv_protect = arm64_exec_protect, .sv_onexit = exit_onexit, .sv_regset_begin = SET_BEGIN(__elfN(regset)), .sv_regset_end = SET_LIMIT(__elfN(regset)), @@ -311,3 +316,71 @@ elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) return (0); } + +static Elf_Note gnu_property_note = { + .n_namesz = sizeof(GNU_ABI_VENDOR), + .n_descsz = 16, + .n_type = NT_GNU_PROPERTY_TYPE_0, +}; + +static bool +gnu_property_cb(const Elf_Note *note, void *arg0, bool *res) +{ + const uint32_t *data; + uintptr_t p; + + *res = false; + p = (uintptr_t)(note + 1); + p += roundup2(note->n_namesz, 4); + data = (const uint32_t *)p; + if (data[0] != GNU_PROPERTY_AARCH64_FEATURE_1_AND) + return (false); + /* + * The data length should be at least the size of a uint32, and be + * a multiple of uint32_t's + */ + if (data[1] < sizeof(uint32_t) || (data[1] % sizeof(uint32_t)) != 0) + return (false); + if ((data[2] & GNU_PROPERTY_AARCH64_FEATURE_1_BTI) != 0) + *res = true; + + return (true); +} + +static void +arm64_exec_protect(struct image_params *imgp, int flags __unused) +{ + const Elf_Ehdr *hdr; + const Elf_Phdr *phdr; + vm_offset_t sva, eva; + int i; + bool found; + + /* Skip if BTI is not supported */ + if ((elf_hwcap2 & HWCAP2_BTI) == 0) + return; + + hdr = (const Elf_Ehdr *)imgp->image_header; + phdr = (const Elf_Phdr *)(imgp->image_header + hdr->e_phoff); + + found = false; + for (i = 0; i < hdr->e_phnum; i++) { + if (phdr[i].p_type == PT_NOTE && __elfN(parse_notes)(imgp, + &gnu_property_note, GNU_ABI_VENDOR, &phdr[i], + gnu_property_cb, NULL)) { + found = true; + break; + } + } + if (!found) + return; + + for (i = 0; i < hdr->e_phnum; i++) { + if (phdr[i].p_type != PT_LOAD || phdr[i].p_memsz == 0) + continue; + + sva = phdr[i].p_vaddr + imgp->et_dyn_addr; + eva = sva + phdr[i].p_memsz; + pmap_bti_set(vmspace_pmap(imgp->proc->p_vmspace), sva, eva); + } +} From nobody Thu Feb 22 16:28:07 2024 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 4TgdqC5qNBz59wPp; Thu, 22 Feb 2024 16:28: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 4TgdqC374Yz4K1y; Thu, 22 Feb 2024 16:28:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619287; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PC/MosRYVErGL2yZJ30OE/mqViMIOyGMTtbP6FQieOo=; b=vTyuN/3z0Og7ikji4rnJTp4KqDkG3o8uns6ceBOGFmtTEIUb4yz1itNwTWabBos6JCB7XJ 2rbN48O1+Kf6kVlqpWzCyRY0+Ct3q2zSoZs6AVyYmAjCGGYafsSmcwWiayoP82nNmL47Tp OAmBLSrllnb8W7JNDPYMW6V1ANA0Wafvfv+8VFctwNkKijycocxgUxASsCjNAWEwDt777s 730Zt/+KsqZmS3OPMAajn+JRdUd37XO7X8XnaxCoCFC4y+RP61EDcvqdrHnUukqs3u7mq5 09Ghyx36rxP1mdCVndKfIChn94tisPfFGYwm66XBrP66dhUjFlFMv2yS4kStQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619287; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PC/MosRYVErGL2yZJ30OE/mqViMIOyGMTtbP6FQieOo=; b=p51A+aKMYbRz6bJ4vYnb6VQw1F2R92ZBHtYYRm9VqgE28zB4FDWKQoe3zhgj4mKulw76cj duxHh8U56/4niT6DtPtYPrYLUaZ1/hESBuQ7/3tCy46Xa2pCKglrKJbLpYld23LuY1TvmG 0/StFF7bw2Ys129x2B3rmHe+HBRjCrm9xVV/hQrzMbd/NlK+VyclWkHFvWjLEb3xN9PUHW IKKTdSNVtoDyLPwVE5k9fLnxEQGA1c2XJsSgrHThvplRDq6oBBkePUfQIAfQCPuvIoYSWv JwuZuGJGq3Z7utSK1P3k5yXz9sIp5FLh1HZkXJrL7VHmariPd9rQbE8ycanIfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708619287; a=rsa-sha256; cv=none; b=x+cW6yfoLyy3FkLHIffzf9YWjFv0EZItSMo5bHh6Mz918es1UtUihzu6vFSy/dnBM3OLAH FTbrYjxDaFIlyCdyNevGmqfyA5xxK1/AUL1EE9gtel2Je5Udv7zs2O45G0aF/s72D7Bguc GQo/B5CixtG0gG3MJRWp3ywWOxGXG0BFp49mVWAhZsSmYhaWpSrz/IGd75E6AxeRhwRdK7 Kx1YX6Kt2foL63ciBiKWPY98VTx0+2MHR4kv6Fa8fGyXpbdI8kMd8RaQWTmzj/rxOU6DMZ nU6hUUun8BAEBrP3In1YULrQvKQCymqb5AnudyIvqi6rLkq+GCtk3+U8h6QRNA== 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 4TgdqC264gzfXc; Thu, 22 Feb 2024 16: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 41MGS7l1015471; Thu, 22 Feb 2024 16: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 41MGS7Zd015468; Thu, 22 Feb 2024 16:28:07 GMT (envelope-from git) Date: Thu, 22 Feb 2024 16:28:07 GMT Message-Id: <202402221628.41MGS7Zd015468@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: e68136d3635c - main - arm64: Tell userspace when BTI is supported 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: e68136d3635ca75a056dc499485417d5eb9fc2f8 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e68136d3635ca75a056dc499485417d5eb9fc2f8 commit e68136d3635ca75a056dc499485417d5eb9fc2f8 Author: Andrew Turner AuthorDate: 2023-10-26 09:50:28 +0000 Commit: Andrew Turner CommitDate: 2024-02-22 16:27:47 +0000 arm64: Tell userspace when BTI is supported To allow userspace to decide when to try enabling BTI report if it's available via the ID register and hwcaps. Sponsored by: Arm Ltd --- sys/arm64/arm64/identcpu.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 7cdcc9dfcb56..7706c42f7fdb 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1530,13 +1530,10 @@ static const struct mrs_field_value id_aa64pfr1_bt[] = { MRS_FIELD_VALUE_END, }; -#if 0 -/* Enable when we add BTI support */ static const struct mrs_field_hwcap id_aa64pfr1_bt_caps[] = { MRS_HWCAP(2, HWCAP2_BTI, ID_AA64PFR1_BT_IMPL), MRS_HWCAP_END }; -#endif static const struct mrs_field id_aa64pfr1_fields[] = { MRS_FIELD(ID_AA64PFR1, NMI, false, MRS_EXACT, id_aa64pfr1_nmi), @@ -1552,7 +1549,8 @@ static const struct mrs_field id_aa64pfr1_fields[] = { MRS_FIELD(ID_AA64PFR1, MTE, false, MRS_EXACT, id_aa64pfr1_mte), MRS_FIELD_HWCAP(ID_AA64PFR1, SSBS, false, MRS_LOWER, id_aa64pfr1_ssbs, id_aa64pfr1_ssbs_caps), - MRS_FIELD(ID_AA64PFR1, BT, false, MRS_EXACT, id_aa64pfr1_bt), + MRS_FIELD_HWCAP_SPLIT(ID_AA64PFR1, BT, false, MRS_LOWER, MRS_EXACT, + id_aa64pfr1_bt, id_aa64pfr1_bt_caps), MRS_FIELD_END, }; From nobody Thu Feb 22 16:32:14 2024 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 4Tgdvz21Bkz59wY7; Thu, 22 Feb 2024 16:32: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 4Tgdvz0Xvmz4Ls7; Thu, 22 Feb 2024 16:32:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ewl9Dbi/5xiHm2/h2NKQkE2VFaj6uDwhXEAtqAXRTwY=; b=BLZVLHg437+ViKbayAuTIUDl7wE5Eyn4LzSoqFPLP7ND2gNhjSFEl3/NZsCC0KdSnc7jOU h663MyzBFr4m0uPC92q2z60c9BsiMSXoqbOciqKFhzUfJh/EY3YFDVzxpthlYIwM11AQJI fcauXpMO56YRmGHPQlIgngz9GHYjPkOj6HMho98GY97e0iMjrTvG0aKIPk/GH4EJ6XFVxI wyQ/sk5ioQP97SnF0lXeKwonzbpgpkjLvvZARECSfEZ63h/ErEF05j8uxojR2nMy3TxURr BRRbnm3MuaBYg0IaxR1daOdr0QBrkTZIU0Ewr1QdusaimeX9itSqs50ziMYgvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ewl9Dbi/5xiHm2/h2NKQkE2VFaj6uDwhXEAtqAXRTwY=; b=S9iGm0dISTAt/mU+ytYIli9D3KlYveBrj58oOELits6PdYH8ak2udRooVEu5Ts4xv/7H9E tOM+gZ2bB0DiaCmqc3v9kaK7rkFUOex4BmcR2DMr5o6UmEQGT5eSBID0e1sE924EkLoWjN T/off2vqHf8gvF1q6surRdr07tyYHXc5mwhkMYqRMXNAQIi7bkgSo5S+5efGRQWKYfMJCd O5/lPtz2ICOCqkH2d+lEwqJhL6ctnQjzdKJ9sf1f5yxMfqqN8CWDkv9YZ9IKFURAQZ0/v0 qwm2CFTSDNlUMmDYsj2CWwn9nD05bu622Gg/+GrV2sdthM0jegt5f47RrqedlQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708619535; a=rsa-sha256; cv=none; b=Cbn1q4pc1VDpPuG/8jVcvQKWHKoY3PcLIl1QTH3whe1C2jkZhNc3aLqKIUNcImvy4HKu+P 2HDZjCzMt5EZDPwbBGjl5KOkNibzb0UrZDnuufC9X4DyRBhYstc5I9c6oAW/fgRIjvkgnU /HySEKEzoSgpLUFrRgOj7BHq8/VsM81pT5f4b6iSGiotRoEe524JkGwCgTI0EnTxPyvu8w 140kyoBzRQ9PBvc4psWAaBYNlSPIBSKPJGrZoXVsc+2UnZeAA/jK/Xql+q7XIhUiSDqEq8 pgHq9sd2uhsQsnvYJ72htT1zBC2XFvOgbLGKodAgZs0vcLNf66PLaAuq9dJENQ== 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 4Tgdvy6S4Vzfdr; Thu, 22 Feb 2024 16:32: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 41MGWEnt031860; Thu, 22 Feb 2024 16:32:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MGWEU0031857; Thu, 22 Feb 2024 16:32:14 GMT (envelope-from git) Date: Thu, 22 Feb 2024 16:32:14 GMT Message-Id: <202402221632.41MGWEU0031857@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: b3e76e3d9e22 - main - kboot: Implement write support for hostdisk 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: b3e76e3d9e2262c4b79e81e63e09bfe62c1f6baa Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b3e76e3d9e2262c4b79e81e63e09bfe62c1f6baa commit b3e76e3d9e2262c4b79e81e63e09bfe62c1f6baa Author: Warner Losh AuthorDate: 2024-02-22 15:17:48 +0000 Commit: Warner Losh CommitDate: 2024-02-22 16:31:55 +0000 kboot: Implement write support for hostdisk Don't assume that strategy is only called for read. Check the passed flag for F_READ or F_WRITE and fail if it is neither. Open the disks for writing and call host_read/host_write depending on that flag. Sponsored by: Netflix Reviewed by: kevans, gallatin Differential Revision: https://reviews.freebsd.org/D44016 --- stand/kboot/kboot/hostdisk.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/stand/kboot/kboot/hostdisk.c b/stand/kboot/kboot/hostdisk.c index 423151983523..a9117d4c1c9d 100644 --- a/stand/kboot/kboot/hostdisk.c +++ b/stand/kboot/kboot/hostdisk.c @@ -305,7 +305,6 @@ hostdisk_strategy(void *devdata, int flag, daddr_t dblk, size_t size, struct devdesc *desc = devdata; daddr_t pos; int n; - int64_t off; uint64_t res; uint32_t posl, posh; @@ -313,12 +312,14 @@ hostdisk_strategy(void *devdata, int flag, daddr_t dblk, size_t size, posl = pos & 0xffffffffu; posh = (pos >> 32) & 0xffffffffu; - if ((off = host_llseek(desc->d_unit, posh, posl, &res, 0)) < 0) { - printf("Seek error on fd %d to %ju (dblk %ju) returns %jd\n", - desc->d_unit, (uintmax_t)pos, (uintmax_t)dblk, (intmax_t)off); + if (host_llseek(desc->d_unit, posh, posl, &res, 0) < 0) return (EIO); - } - n = host_read(desc->d_unit, buf, size); + if (flag & F_READ) + n = host_read(desc->d_unit, buf, size); + else if (flag & F_WRITE) + n = host_write(desc->d_unit, buf, size); + else + return (EINVAL); if (n < 0) return (EIO); @@ -339,7 +340,7 @@ hostdisk_open(struct open_file *f, ...) va_end(vl); fn = dev2hd(desc)->hd_dev; - desc->d_unit = host_open(fn, O_RDONLY, 0); + desc->d_unit = host_open(fn, O_RDWR, 0); if (desc->d_unit <= 0) { printf("hostdisk_open: couldn't open %s: %d\n", fn, errno); return (ENOENT); From nobody Thu Feb 22 16:32:15 2024 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 4Tgdw02Rrqz59wwr; Thu, 22 Feb 2024 16:32: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 4Tgdw01GScz4LY6; Thu, 22 Feb 2024 16:32:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6eH/r9ACSiOzvK6W4DwnfgI4Kkl/hpHlNRiDeNY1u0c=; b=MUbjDLRqiLkSVjSVk3hq8/eaUAD0DYBwr/YWT3ECvpweYbJeUyidQFJP/u0Jek9KX+6mHG BIJs+3b4Ma/7WyqHyhYC41ie1CA3tkCSrubwA2HpjPeih9nXDhQFxjI7EZ9ZyUllBshaDQ sK9/Uiln5mbm1fmQc5HouLJYl59z3GyQ5zVa4+OxbCAq36rjSC79mN/1lXOCkczwabrt7g 60vvxnK4zqv0fZJSrAlIJzAN1AbBLK2Td5vTkPQXv4pDbzVt3ZLVt/+rhSmAve1GhQBnuu yX1S23ojLpUOWRZeUvJGJR6VIHKBI/Vo5EGBndLStQaKDoEGmdNdRzNI//7DBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6eH/r9ACSiOzvK6W4DwnfgI4Kkl/hpHlNRiDeNY1u0c=; b=ZDUA7iP0hth7234YQGJfGztBVdzZWc8B/YqAqSd31RnNcHzrAZoyZ2q+a+j1dJeiy1t5/Y NC7o1yvE01cFC2dty7pDYKSsgDQGzghzoRHIBDUMD1Zf2g8QsJYZN/cAuoGrFLAGt6OzN5 Hh4DU3Dkxmn08c2V9Z8Qfc0uVSAAFK5X0pSqgESZRQEt5VNFofSmeSSKLPT0k8NOqQfR+B yjX57pqy+QKMw43KBTya+RFjpaKIh8Q1/scyR60CWtSsCrH2y2BHJCEkCgPGS2owAeqaTg PCdjf+hvJMNtC5FFNWuX7Z2+HtdQwBMJeEJPitw7n8XrKb5/ruD+hm79iUYjBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708619536; a=rsa-sha256; cv=none; b=AGj7Zaxheb5mcvUKkv+J8bAFYC82i+9TMSyhvsEirsLGqAwvh1a2N/pyVC0gB+4arCGS5M eQXC7fmgimFj1UQiH0Hxgpgh5PTyaxdJmBaze1CoUsFe6CIKrgoZTp2Q5XV0jzLHWtsHx7 WU3U3Z2+TsApezEpKD7Bo9fuoYlNGwH9v3ww3tQShe0EHnefss4kl26mOp3Hr3xZ1DgnAe M8BqptWKApBQHwpk448Tmp5HTI2l8QeK48czcA/cIR6hDIyAjZVagjgvP1ctHkOMvR3w4j ZpGaFJHXRLhG2Ry0pOMJhYe788MQ0eM+NmPxD5wEXGBHtAr92q0qiBmEmEwo0w== 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 4Tgdw00MNBzfHB; Thu, 22 Feb 2024 16:32: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 41MGWFBN031910; Thu, 22 Feb 2024 16:32:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MGWFMd031907; Thu, 22 Feb 2024 16:32:15 GMT (envelope-from git) Date: Thu, 22 Feb 2024 16:32:15 GMT Message-Id: <202402221632.41MGWFMd031907@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: e54bb0ad8058 - main - loader: return errors from writing ZFS labels 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: e54bb0ad8058c0f84ceb08b49bb1d22af829a9e8 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e54bb0ad8058c0f84ceb08b49bb1d22af829a9e8 commit e54bb0ad8058c0f84ceb08b49bb1d22af829a9e8 Author: Warner Losh AuthorDate: 2024-02-22 15:17:56 +0000 Commit: Warner Losh CommitDate: 2024-02-22 16:31:56 +0000 loader: return errors from writing ZFS labels vdev_write_bootenv_impl can only return success. Instead, return the last error. This will make any write errors more visible. The old code masked kboot's inability to write bootenv. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44018 --- stand/libsa/zfs/zfsimpl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/libsa/zfs/zfsimpl.c b/stand/libsa/zfs/zfsimpl.c index ed9c3753dd19..fc9bedac7621 100644 --- a/stand/libsa/zfs/zfsimpl.c +++ b/stand/libsa/zfs/zfsimpl.c @@ -1688,7 +1688,7 @@ vdev_write_bootenv_impl(vdev_t *vdev, vdev_boot_envblock_t *be) if (kid->v_state != VDEV_STATE_HEALTHY) continue; rc = vdev_write_bootenv_impl(kid, be); - if (rv == 0) + if (rv != 0) rv = rc; } From nobody Thu Feb 22 16:32:17 2024 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 4Tgdw14L4Yz59x00; Thu, 22 Feb 2024 16:32: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 4Tgdw120j2z4LY8; Thu, 22 Feb 2024 16:32:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YXU+g3STzHZSTfe7dhHWsAFXlyTf8xBcU4/bzxkiATk=; b=x7xz+cnXmMAPGOfkFBvuFblZnEoQ8fPaSgk8m6fpmrHLpTYoMxP5x0hgfViq7fKffK20W7 eOVsiqoKQxC2l2hmRdJoMNu7IfXeVHDAn5XP7qYZuKRBAQOjnYt//lhKD/4f89B70yn03y M/EyPk2SQfdPq2UskmVoru0HlbauXCee7j7jMVrCeEBGVY/uHO9HUSj0J2EEHa1D8xKSw0 fu3oXAH2gB5x6l0hRh2jnBquMfPIP/rY8b+ZfRHDP/LN2L841yEew3xPASZLN/mqaI47uR K3+nC8b0D+10XoWHyO4FJekpfj9ZQAmpZ4AqufnnU2ZYgvZIYe7AfXGCg3+Gog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YXU+g3STzHZSTfe7dhHWsAFXlyTf8xBcU4/bzxkiATk=; b=mt01HqisvN94njp992eHs8G0t28ZlK3t9e+sLnQe+h3md6J4l8hM7KbYhbV8sJ689oRrDJ OzYly97DX66ruQWMyPIcyuiKGqKYgGVivHy4lpKlpE8cKlpvfKzgtrLalsJd1JWVPiVLKJ 3ifMGsgt1zhS1EhXtD+YWA8IPrkY84NmDX29HL7/mOlZDCgix5lQ6t0Tlu2ss54H/Ly5uw /UKt7mKemJojCqYzEfCXuAom1C8oITOet3Jxi334ESIWaTbw8XP5Nv7Bd38iYXA86/7hLa KfOJDIdb5fhS7cD9t35St4sUMMUkSEsp9ggnynz+Pz4BF9FGijIlOLnZND+rqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708619537; a=rsa-sha256; cv=none; b=APUheG8VatV9VIEZFpmar9x10deitUzuOYmAovLCEr097lwKqEw1w7kTSrtx5reabENcHR N39Bf4ankRDBsi8HXaLWnCRegsElKvt4PBM59b/Lg0h0jd/D0YKrh+XIHgpY/Ru2483GfJ RoeSnDxsRD/EKE54nVtLa6sHn6vETF765D1+6aNaxBp5eyiib733TaKB6NlgZiIFQ4FsPK f26bdq9JDoZEqWH2cnD9lreLwtCSKR7cNjAcV7ul36FrZwH95qSJiimgvlqXJ4ZZfy0a/6 0TprRG26evnf/+FFBV5JAy8gS9cMXMiOLDBvet8UbduYjLFLFuBI2gevKLmUYw== 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 4Tgdw115g3zfHD; Thu, 22 Feb 2024 16:32: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 41MGWHSD031954; Thu, 22 Feb 2024 16:32:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MGWHvR031950; Thu, 22 Feb 2024 16:32:17 GMT (envelope-from git) Date: Thu, 22 Feb 2024 16:32:17 GMT Message-Id: <202402221632.41MGWHvR031950@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: 3e15b01d6914 - main - libsa: Remove redundant sys/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: 3e15b01d6914c927e37d1699645783acf286655c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3e15b01d6914c927e37d1699645783acf286655c commit 3e15b01d6914c927e37d1699645783acf286655c Author: Warner Losh AuthorDate: 2024-02-22 15:18:02 +0000 Commit: Warner Losh CommitDate: 2024-02-22 16:31:57 +0000 libsa: Remove redundant sys/cdefs.h Sponsored by: Netflix --- stand/common/boot.c | 1 - stand/common/commands.c | 1 - stand/common/dev_net.c | 1 - stand/common/devopen.c | 1 - stand/common/disk.c | 1 - stand/common/interp.c | 1 - stand/common/interp_backslash.c | 1 - stand/common/interp_lua.c | 1 - stand/common/interp_parse.c | 1 - stand/common/interp_simple.c | 1 - stand/common/isapnp.c | 1 - stand/common/load_elf32.c | 2 -- stand/common/load_elf32_obj.c | 2 -- stand/common/load_elf64.c | 2 -- stand/common/load_elf64_obj.c | 2 -- stand/common/md.c | 1 - stand/common/metadata.c | 1 - stand/common/misc.c | 1 - stand/common/module.c | 1 - stand/common/part.c | 1 - stand/common/pnp.c | 1 - stand/common/reloc_elf32.c | 2 -- stand/common/reloc_elf64.c | 2 -- stand/common/vdisk.c | 1 - stand/common/zfs_cmd.c | 1 - stand/efi/libefi/delay.c | 1 - stand/efi/libefi/devicename.c | 1 - stand/efi/libefi/devpath.c | 1 - stand/efi/libefi/eficom.c | 1 - stand/efi/libefi/efienv.c | 1 - stand/efi/libefi/efipart.c | 1 - stand/efi/libefi/env.c | 1 - stand/efi/libefi/errno.c | 1 - stand/efi/libefi/handles.c | 1 - stand/efi/libefi/libefi.c | 1 - stand/efi/libefi/time.c | 1 - stand/efi/libefi/time_arm64.c | 1 - stand/efi/libefi/time_event.c | 1 - stand/efi/libefi/wchar.c | 1 - stand/efi/loader/arch/amd64/elf64_freebsd.c | 1 - stand/efi/loader/arch/amd64/multiboot2.c | 2 -- stand/efi/loader/arch/amd64/trap.c | 1 - stand/efi/loader/arch/arm64/exec.c | 1 - stand/efi/loader/autoload.c | 1 - stand/efi/loader/bootinfo.c | 1 - stand/efi/loader/conf.c | 1 - stand/efi/loader/efi_main.c | 1 - stand/efi/loader/framebuffer.c | 1 - stand/efi/loader/main.c | 1 - stand/fdt/fdt_loader_cmd.c | 1 - stand/i386/libi386/bio.c | 1 - stand/i386/libi386/biosacpi.c | 1 - stand/i386/libi386/biosdisk.c | 1 - stand/i386/libi386/biosmem.c | 1 - stand/i386/libi386/biospci.c | 1 - stand/i386/libi386/biospnp.c | 1 - stand/i386/libi386/biossmap.c | 1 - stand/i386/libi386/bootinfo.c | 1 - stand/i386/libi386/bootinfo32.c | 1 - stand/i386/libi386/bootinfo64.c | 1 - stand/i386/libi386/comconsole.c | 1 - stand/i386/libi386/devicename.c | 1 - stand/i386/libi386/elf64_freebsd.c | 1 - stand/i386/libi386/i386_copy.c | 1 - stand/i386/libi386/i386_module.c | 1 - stand/i386/libi386/nullconsole.c | 1 - stand/i386/libi386/pread.c | 1 - stand/i386/libi386/pxe.c | 1 - stand/i386/libi386/spinconsole.c | 1 - stand/i386/libi386/textvidc.c | 5 +---- stand/i386/libi386/time.c | 1 - stand/i386/libi386/vbe.c | 1 - stand/i386/libi386/vidconsole.c | 3 +-- stand/i386/loader/chain.c | 1 - stand/i386/loader/conf.c | 1 - stand/i386/loader/main.c | 1 - stand/i386/zfsboot/zfsboot.c | 1 - stand/kboot/kboot/arch/aarch64/exec.c | 1 - stand/kboot/kboot/arch/amd64/elf64_freebsd.c | 1 - stand/kboot/kboot/arch/powerpc64/ppc64_elf_freebsd.c | 1 - stand/kboot/kboot/conf.c | 1 - stand/kboot/kboot/main.c | 1 - stand/liblua/lerrno.c | 1 - stand/liblua/lpager.c | 1 - stand/liblua/lstd.c | 1 - stand/libofw/devicename.c | 1 - stand/libofw/ofw_copy.c | 1 - stand/libofw/ofw_disk.c | 1 - stand/libofw/ofw_module.c | 1 - stand/libofw/ofw_reboot.c | 1 - stand/libofw/ofw_time.c | 1 - stand/libofw/openfirm.c | 1 - stand/libsa/abort.c | 1 - stand/libsa/assert.c | 2 -- stand/libsa/bootp.c | 1 - stand/libsa/bootparam.c | 1 - stand/libsa/bzipfs.c | 1 - stand/libsa/cd9660.c | 1 - stand/libsa/close.c | 1 - stand/libsa/closeall.c | 1 - stand/libsa/dosfs.c | 1 - stand/libsa/environment.c | 1 - stand/libsa/ext2fs.c | 1 - stand/libsa/fstat.c | 1 - stand/libsa/geli/pwgets.c | 1 - stand/libsa/getopt.c | 2 -- stand/libsa/gets.c | 1 - stand/libsa/gzipfs.c | 1 - stand/libsa/hexdump.c | 1 - stand/libsa/inet_ntoa.c | 2 -- stand/libsa/ioctl.c | 1 - stand/libsa/lseek.c | 1 - stand/libsa/mount.c | 1 - stand/libsa/netif.c | 1 - stand/libsa/nullfs.c | 1 - stand/libsa/nvstore.c | 1 - stand/libsa/open.c | 1 - stand/libsa/pager.c | 1 - stand/libsa/panic.c | 1 - stand/libsa/pkgfs.c | 1 - stand/libsa/printf.c | 1 - stand/libsa/rpc.c | 1 - stand/libsa/sbrk.c | 1 - stand/libsa/smbios.c | 1 - stand/libsa/splitfs.c | 1 - stand/libsa/stand.h | 2 -- stand/libsa/stat.c | 1 - stand/libsa/strcasecmp.c | 5 +---- stand/libsa/strdup.c | 2 -- stand/libsa/strerror.c | 1 - stand/libsa/tftp.c | 1 - stand/libsa/time.c | 1 - stand/libsa/ufs.c | 1 - stand/libsa/ufsread.c | 1 - stand/libsa/x86/hypervisor.c | 1 - stand/libsa/zalloc_malloc.c | 1 - stand/libsa/zfs/zfs.c | 1 - stand/libsa/zfs/zfsimpl.c | 1 - stand/powerpc/ofw/cas.c | 1 - stand/powerpc/ofw/conf.c | 1 - stand/powerpc/ofw/main.c | 1 - stand/powerpc/ofw/ofwfdt.c | 1 - stand/powerpc/ofw/ppc64_elf_freebsd.c | 1 - stand/powerpc/ofw/start.c | 1 - stand/uboot/arch/arm/conf.c | 1 - stand/uboot/arch/powerpc/conf.c | 1 - stand/uboot/arch/powerpc/ppc64_elf_freebsd.c | 1 - stand/uboot/devicename.c | 1 - stand/uboot/reboot.c | 1 - stand/uboot/time.c | 2 -- stand/uboot/uboot_console.c | 1 - stand/uboot/uboot_module.c | 1 - stand/userboot/userboot/autoload.c | 1 - stand/userboot/userboot/biossmap.c | 1 - stand/userboot/userboot/bootinfo.c | 1 - stand/userboot/userboot/bootinfo32.c | 1 - stand/userboot/userboot/bootinfo64.c | 1 - stand/userboot/userboot/conf.c | 1 - stand/userboot/userboot/copy.c | 1 - stand/userboot/userboot/devicename.c | 1 - stand/userboot/userboot/elf64_freebsd.c | 1 - stand/userboot/userboot/host.c | 1 - stand/userboot/userboot/main.c | 1 - stand/userboot/userboot/userboot_cons.c | 1 - stand/userboot/userboot/userboot_disk.c | 1 - 165 files changed, 3 insertions(+), 185 deletions(-) diff --git a/stand/common/boot.c b/stand/common/boot.c index 658da097b9a9..e0775c0fca26 100644 --- a/stand/common/boot.c +++ b/stand/common/boot.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include /* * Loading modules, booting the system */ diff --git a/stand/common/commands.c b/stand/common/commands.c index b09bb9604386..e6e4fd005f72 100644 --- a/stand/common/commands.c +++ b/stand/common/commands.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include diff --git a/stand/common/dev_net.c b/stand/common/dev_net.c index b6880e894477..3cd78c5346ac 100644 --- a/stand/common/dev_net.c +++ b/stand/common/dev_net.c @@ -29,7 +29,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /*- * This module implements a "raw device" interface suitable for * use by the stand-alone I/O library NFS code. This interface diff --git a/stand/common/devopen.c b/stand/common/devopen.c index a51ebaf0c9d7..a50334ba61e3 100644 --- a/stand/common/devopen.c +++ b/stand/common/devopen.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include diff --git a/stand/common/disk.c b/stand/common/disk.c index e1add50bd1fb..c1650f0fa1ec 100644 --- a/stand/common/disk.c +++ b/stand/common/disk.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/common/interp.c b/stand/common/interp.c index 0f142902b4ac..c6ac01ea099b 100644 --- a/stand/common/interp.c +++ b/stand/common/interp.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include /* * Simple commandline interpreter, toplevel and misc. * diff --git a/stand/common/interp_backslash.c b/stand/common/interp_backslash.c index 6d650cd2e286..e1bc84c3a1a7 100644 --- a/stand/common/interp_backslash.c +++ b/stand/common/interp_backslash.c @@ -14,7 +14,6 @@ * Routine for doing backslash elimination. */ -#include #include #include #include "bootstrap.h" diff --git a/stand/common/interp_lua.c b/stand/common/interp_lua.c index 11595b78a7bd..aa759aa99ec1 100644 --- a/stand/common/interp_lua.c +++ b/stand/common/interp_lua.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ -#include #include #include "bootstrap.h" diff --git a/stand/common/interp_parse.c b/stand/common/interp_parse.c index 6e883a81e383..9efcade04b36 100644 --- a/stand/common/interp_parse.c +++ b/stand/common/interp_parse.c @@ -14,7 +14,6 @@ * The meat of the simple parser. */ -#include #include #include #include "bootstrap.h" diff --git a/stand/common/interp_simple.c b/stand/common/interp_simple.c index 61ed724af9d0..d64c0d27b97f 100644 --- a/stand/common/interp_simple.c +++ b/stand/common/interp_simple.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include /* * Simple commandline interpreter, toplevel and misc. */ diff --git a/stand/common/isapnp.c b/stand/common/isapnp.c index 3f554305c2e2..eaf5a08cf82a 100644 --- a/stand/common/isapnp.c +++ b/stand/common/isapnp.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ -#include /* * Machine-independent ISA PnP enumerator implementing a subset of the * ISA PnP specification. diff --git a/stand/common/load_elf32.c b/stand/common/load_elf32.c index 5b942fd63444..4737670d2eeb 100644 --- a/stand/common/load_elf32.c +++ b/stand/common/load_elf32.c @@ -1,5 +1,3 @@ -#include #define __ELF_WORD_SIZE 32 #define _MACHINE_ELF_WANT_32BIT - #include "load_elf.c" diff --git a/stand/common/load_elf32_obj.c b/stand/common/load_elf32_obj.c index dffb0070b0c0..e37b4dfddb49 100644 --- a/stand/common/load_elf32_obj.c +++ b/stand/common/load_elf32_obj.c @@ -1,5 +1,3 @@ -#include #define __ELF_WORD_SIZE 32 #define _MACHINE_ELF_WANT_32BIT - #include "load_elf_obj.c" diff --git a/stand/common/load_elf64.c b/stand/common/load_elf64.c index e3a913c0ce8c..98ef7dc40985 100644 --- a/stand/common/load_elf64.c +++ b/stand/common/load_elf64.c @@ -1,4 +1,2 @@ -#include #define __ELF_WORD_SIZE 64 - #include "load_elf.c" diff --git a/stand/common/load_elf64_obj.c b/stand/common/load_elf64_obj.c index 14d6e3dc3d4d..43de8cc1214f 100644 --- a/stand/common/load_elf64_obj.c +++ b/stand/common/load_elf64_obj.c @@ -1,4 +1,2 @@ -#include #define __ELF_WORD_SIZE 64 - #include "load_elf_obj.c" diff --git a/stand/common/md.c b/stand/common/md.c index 6b6e6303c898..d12429c3c45c 100644 --- a/stand/common/md.c +++ b/stand/common/md.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/common/metadata.c b/stand/common/metadata.c index 8d5003ec47bf..f95763bfd01b 100644 --- a/stand/common/metadata.c +++ b/stand/common/metadata.c @@ -26,7 +26,6 @@ * from: FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.6 */ -#include #include #include #include diff --git a/stand/common/misc.c b/stand/common/misc.c index 046094f868e0..402213100951 100644 --- a/stand/common/misc.c +++ b/stand/common/misc.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/common/module.c b/stand/common/module.c index ac0ad466484a..832a8eb4988d 100644 --- a/stand/common/module.c +++ b/stand/common/module.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include /* * file/module function dispatcher, support, etc. */ diff --git a/stand/common/part.c b/stand/common/part.c index 41c0eef95d7d..5f7bc2103c01 100644 --- a/stand/common/part.c +++ b/stand/common/part.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/common/pnp.c b/stand/common/pnp.c index 8ee7f5f711b1..aab84e07935d 100644 --- a/stand/common/pnp.c +++ b/stand/common/pnp.c @@ -3,7 +3,6 @@ * */ -#include /* * "Plug and Play" functionality. * diff --git a/stand/common/reloc_elf32.c b/stand/common/reloc_elf32.c index ee2617b371c1..04b4969a51b3 100644 --- a/stand/common/reloc_elf32.c +++ b/stand/common/reloc_elf32.c @@ -1,4 +1,2 @@ -#include #define __ELF_WORD_SIZE 32 - #include "reloc_elf.c" diff --git a/stand/common/reloc_elf64.c b/stand/common/reloc_elf64.c index c7b76ca6b265..1230f27741cd 100644 --- a/stand/common/reloc_elf64.c +++ b/stand/common/reloc_elf64.c @@ -1,4 +1,2 @@ -#include #define __ELF_WORD_SIZE 64 - #include "reloc_elf.c" diff --git a/stand/common/vdisk.c b/stand/common/vdisk.c index 3bbb13d908c5..067e3ca3a481 100644 --- a/stand/common/vdisk.c +++ b/stand/common/vdisk.c @@ -23,7 +23,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/common/zfs_cmd.c b/stand/common/zfs_cmd.c index 9a4dc01f0159..0180d31f374b 100644 --- a/stand/common/zfs_cmd.c +++ b/stand/common/zfs_cmd.c @@ -23,7 +23,6 @@ * SUCH DAMAGE. */ -#include /* * MD bootstrap main() and assorted miscellaneous * commands. diff --git a/stand/efi/libefi/delay.c b/stand/efi/libefi/delay.c index becdcb3fa267..af03f0075330 100644 --- a/stand/efi/libefi/delay.c +++ b/stand/efi/libefi/delay.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include diff --git a/stand/efi/libefi/devicename.c b/stand/efi/libefi/devicename.c index 22844bbbd6ec..c18017429665 100644 --- a/stand/efi/libefi/devicename.c +++ b/stand/efi/libefi/devicename.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/libefi/devpath.c b/stand/efi/libefi/devpath.c index 6b4b8785a2dd..85a5459c7d6b 100644 --- a/stand/efi/libefi/devpath.c +++ b/stand/efi/libefi/devpath.c @@ -23,7 +23,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/libefi/eficom.c b/stand/efi/libefi/eficom.c index c84e040420e7..d5f3f07e083f 100644 --- a/stand/efi/libefi/eficom.c +++ b/stand/efi/libefi/eficom.c @@ -23,7 +23,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/libefi/efienv.c b/stand/efi/libefi/efienv.c index 031c144ee194..83da2acc816b 100644 --- a/stand/efi/libefi/efienv.c +++ b/stand/efi/libefi/efienv.c @@ -23,7 +23,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/libefi/efipart.c b/stand/efi/libefi/efipart.c index 475a796b4da5..3df6034571f5 100644 --- a/stand/efi/libefi/efipart.c +++ b/stand/efi/libefi/efipart.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/libefi/env.c b/stand/efi/libefi/env.c index 6887038fe950..328476a9f68b 100644 --- a/stand/efi/libefi/env.c +++ b/stand/efi/libefi/env.c @@ -23,7 +23,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/libefi/errno.c b/stand/efi/libefi/errno.c index e614824a2bed..92050af7f4e1 100644 --- a/stand/efi/libefi/errno.c +++ b/stand/efi/libefi/errno.c @@ -24,7 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include #include #include diff --git a/stand/efi/libefi/handles.c b/stand/efi/libefi/handles.c index bc42ae144509..d3ec428b8d4a 100644 --- a/stand/efi/libefi/handles.c +++ b/stand/efi/libefi/handles.c @@ -24,7 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include #include #include diff --git a/stand/efi/libefi/libefi.c b/stand/efi/libefi/libefi.c index c33c61cdef16..f615bd214bfc 100644 --- a/stand/efi/libefi/libefi.c +++ b/stand/efi/libefi/libefi.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/libefi/time.c b/stand/efi/libefi/time.c index bab8e4f73434..99d86e30ee96 100644 --- a/stand/efi/libefi/time.c +++ b/stand/efi/libefi/time.c @@ -38,7 +38,6 @@ * */ -#include #include #include diff --git a/stand/efi/libefi/time_arm64.c b/stand/efi/libefi/time_arm64.c index 616d05adb806..d3c7a4e236d0 100644 --- a/stand/efi/libefi/time_arm64.c +++ b/stand/efi/libefi/time_arm64.c @@ -28,7 +28,6 @@ * SUCH DAMAGE. */ -#include #include #include diff --git a/stand/efi/libefi/time_event.c b/stand/efi/libefi/time_event.c index e6aad64342ce..c4334412a4fe 100644 --- a/stand/efi/libefi/time_event.c +++ b/stand/efi/libefi/time_event.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include diff --git a/stand/efi/libefi/wchar.c b/stand/efi/libefi/wchar.c index d67f1bf34cf8..953f29418c21 100644 --- a/stand/efi/libefi/wchar.c +++ b/stand/efi/libefi/wchar.c @@ -23,7 +23,6 @@ * SUCH DAMAGE. */ -#include #include #include diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 5a41ea99867e..91dd979a677e 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ -#include #define __ELF_WORD_SIZE 64 #include #include diff --git a/stand/efi/loader/arch/amd64/multiboot2.c b/stand/efi/loader/arch/amd64/multiboot2.c index 6c96d7dc0073..130caa82aa49 100644 --- a/stand/efi/loader/arch/amd64/multiboot2.c +++ b/stand/efi/loader/arch/amd64/multiboot2.c @@ -34,8 +34,6 @@ * https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html */ -#include - #include #include #include diff --git a/stand/efi/loader/arch/amd64/trap.c b/stand/efi/loader/arch/amd64/trap.c index 56a3ee67da6f..95a42a18f719 100644 --- a/stand/efi/loader/arch/amd64/trap.c +++ b/stand/efi/loader/arch/amd64/trap.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/loader/arch/arm64/exec.c b/stand/efi/loader/arch/arm64/exec.c index ef410a7d556c..877cff658d1e 100644 --- a/stand/efi/loader/arch/arm64/exec.c +++ b/stand/efi/loader/arch/arm64/exec.c @@ -24,7 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include #include #include diff --git a/stand/efi/loader/autoload.c b/stand/efi/loader/autoload.c index a7a5f8212e9c..ba7997487ffc 100644 --- a/stand/efi/loader/autoload.c +++ b/stand/efi/loader/autoload.c @@ -24,7 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include #if defined(LOADER_FDT_SUPPORT) #include #include diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 13b6df9c5b06..b55c2184d9fe 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/loader/conf.c b/stand/efi/loader/conf.c index 389489726d84..3bc74ea6354c 100644 --- a/stand/efi/loader/conf.c +++ b/stand/efi/loader/conf.c @@ -24,7 +24,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/loader/efi_main.c b/stand/efi/loader/efi_main.c index 25b13d5d3728..2a5120dc89d7 100644 --- a/stand/efi/loader/efi_main.c +++ b/stand/efi/loader/efi_main.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/loader/framebuffer.c b/stand/efi/loader/framebuffer.c index 56693187b576..2f580309c2f3 100644 --- a/stand/efi/loader/framebuffer.c +++ b/stand/efi/loader/framebuffer.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 5944c383574e..12efe594e0e2 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -27,7 +27,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include #include #include diff --git a/stand/fdt/fdt_loader_cmd.c b/stand/fdt/fdt_loader_cmd.c index eb152ae1949c..c51e8c5ab583 100644 --- a/stand/fdt/fdt_loader_cmd.c +++ b/stand/fdt/fdt_loader_cmd.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/i386/libi386/bio.c b/stand/i386/libi386/bio.c index e3b17ccc2a44..357d6cbedf6e 100644 --- a/stand/i386/libi386/bio.c +++ b/stand/i386/libi386/bio.c @@ -23,7 +23,6 @@ * SUCH DAMAGE. */ -#include #include #include "libi386.h" diff --git a/stand/i386/libi386/biosacpi.c b/stand/i386/libi386/biosacpi.c index fcad64d81549..077b6c7e53de 100644 --- a/stand/i386/libi386/biosacpi.c +++ b/stand/i386/libi386/biosacpi.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/i386/libi386/biosdisk.c b/stand/i386/libi386/biosdisk.c index 29cd39e157b8..9ad9b67f5b57 100644 --- a/stand/i386/libi386/biosdisk.c +++ b/stand/i386/libi386/biosdisk.c @@ -25,7 +25,6 @@ * SUCH DAMAGE. */ -#include /* * BIOS disk device handling. * diff --git a/stand/i386/libi386/biosmem.c b/stand/i386/libi386/biosmem.c index eaf41743bb1f..fc612eda5d69 100644 --- a/stand/i386/libi386/biosmem.c +++ b/stand/i386/libi386/biosmem.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include /* * Obtain memory configuration information from the BIOS */ diff --git a/stand/i386/libi386/biospci.c b/stand/i386/libi386/biospci.c index 1003e368043d..5b39eab1e5e5 100644 --- a/stand/i386/libi386/biospci.c +++ b/stand/i386/libi386/biospci.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include /* * PnP enumerator using the PCI BIOS. */ diff --git a/stand/i386/libi386/biospnp.c b/stand/i386/libi386/biospnp.c index a26c0d4d52d8..5b22f066d4ef 100644 --- a/stand/i386/libi386/biospnp.c +++ b/stand/i386/libi386/biospnp.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include /* * PnP BIOS enumerator. */ diff --git a/stand/i386/libi386/biossmap.c b/stand/i386/libi386/biossmap.c index a2ad83cafdba..c281e6949c20 100644 --- a/stand/i386/libi386/biossmap.c +++ b/stand/i386/libi386/biossmap.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include /* * Obtain memory configuration information from the BIOS */ diff --git a/stand/i386/libi386/bootinfo.c b/stand/i386/libi386/bootinfo.c index 4f652632b755..b81d181a75bd 100644 --- a/stand/i386/libi386/bootinfo.c +++ b/stand/i386/libi386/bootinfo.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/i386/libi386/bootinfo32.c b/stand/i386/libi386/bootinfo32.c index 1b038ff6b245..535849011b6b 100644 --- a/stand/i386/libi386/bootinfo32.c +++ b/stand/i386/libi386/bootinfo32.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/i386/libi386/bootinfo64.c b/stand/i386/libi386/bootinfo64.c index 2a62eba4fc09..a55b86eb5ba7 100644 --- a/stand/i386/libi386/bootinfo64.c +++ b/stand/i386/libi386/bootinfo64.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/i386/libi386/comconsole.c b/stand/i386/libi386/comconsole.c index 6fff811bd34c..b2d48b13a9f4 100644 --- a/stand/i386/libi386/comconsole.c +++ b/stand/i386/libi386/comconsole.c @@ -23,7 +23,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/i386/libi386/devicename.c b/stand/i386/libi386/devicename.c index c6125ba7a78b..628b969ad132 100644 --- a/stand/i386/libi386/devicename.c +++ b/stand/i386/libi386/devicename.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #include #include #include "bootstrap.h" diff --git a/stand/i386/libi386/elf64_freebsd.c b/stand/i386/libi386/elf64_freebsd.c index da034437c6e0..b1340fd1f2e2 100644 --- a/stand/i386/libi386/elf64_freebsd.c +++ b/stand/i386/libi386/elf64_freebsd.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include #define __ELF_WORD_SIZE 64 #include #include diff --git a/stand/i386/libi386/i386_copy.c b/stand/i386/libi386/i386_copy.c index 3fcf9d09b280..44ca51f6b2ae 100644 --- a/stand/i386/libi386/i386_copy.c +++ b/stand/i386/libi386/i386_copy.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include /* * MD primitives supporting placement of module data * diff --git a/stand/i386/libi386/i386_module.c b/stand/i386/libi386/i386_module.c index 8c6300b3ad98..26f2ed3eec40 100644 --- a/stand/i386/libi386/i386_module.c +++ b/stand/i386/libi386/i386_module.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#include /* * i386-specific module functionality. * diff --git a/stand/i386/libi386/nullconsole.c b/stand/i386/libi386/nullconsole.c index b39e52630c9d..b4ffd3e30789 100644 --- a/stand/i386/libi386/nullconsole.c +++ b/stand/i386/libi386/nullconsole.c @@ -35,7 +35,6 @@ * OF SUCH DAMAGE. */ -#include #include #include diff --git a/stand/i386/libi386/pread.c b/stand/i386/libi386/pread.c index 854f28068ab0..5a922e3bfc6b 100644 --- a/stand/i386/libi386/pread.c +++ b/stand/i386/libi386/pread.c @@ -33,7 +33,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include /* read into destination in flat addr space */ #include diff --git a/stand/i386/libi386/pxe.c b/stand/i386/libi386/pxe.c index 895e8fc5ff51..aa392b83718c 100644 --- a/stand/i386/libi386/pxe.c +++ b/stand/i386/libi386/pxe.c @@ -26,7 +26,6 @@ * SUCH DAMAGE. */ -#include #include #include #include diff --git a/stand/i386/libi386/spinconsole.c b/stand/i386/libi386/spinconsole.c index 05ce33bfc5a8..156eaf35e1c0 100644 --- a/stand/i386/libi386/spinconsole.c +++ b/stand/i386/libi386/spinconsole.c @@ -35,7 +35,6 @@ *** 1182 LINES SKIPPED *** From nobody Thu Feb 22 16:32:18 2024 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 4Tgdw26N1Lz59wns; Thu, 22 Feb 2024 16:32: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 4Tgdw23KNCz4LxR; Thu, 22 Feb 2024 16:32:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619538; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4lCzdrGcu/J1OaJTOPfKKIfYdFN7n3RR94OwW4jPOdQ=; b=LRpR7yTENH19F3kSd0PTUlHuZl8UcT/qiUif3nTVFjMpOQut/q0MGF7YCe/PzQiz5Bs6w0 Dg6AZUdf4/ToOL+zXhG4xanFMfFBxYv4yOPuZCcjCz7GQbUJzf5gnqiG6P/8YFnl3DmEfI R2f+Sv6TzE85fmYa2UJcDknC2HGkORHiE4zGOPD+mZHhICie3jZxkKa9CwZuIq8I9pc/z/ otODZslHZJD30UBrPdg8rJa3I/d9zrCSdrt6uaTDLy0q1nua+CB0+eOmYHW+bTj4N72qTG eeIAYYkHm7E0m9P5q5R4azyVg5PY5QDnUjWk+48YGffBmkYjgVsBoVU19pujNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619538; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4lCzdrGcu/J1OaJTOPfKKIfYdFN7n3RR94OwW4jPOdQ=; b=fW7wImFsNxQ7wGE/qkmeHiOuX2mHpbl7cudnUyrn1VkEYRkgj++eBAVHc62bHXU3bTjznj 0yVFrDNWDZBxK0O36m9Q/PnG+L7gFdB9EBczS6WIwwdoAkadr57r8ppD1GGwdodn+rJkMP ny7cFZZfw3shZlNkKIeIuOShkHIbCoRl6lt67pIAqvRQCrn1YPygRxtAbRM4fPjtEtvI8s CFX2jhyQsun3D6jyjHxM4nbfyPRYmetUEDq1YhqVN/U4sVkvZRpS3BokhyOlpuPKiDM0zI gVC8vCmgN2H18VtwbfDmEsEIVNucMd0GCi2xn4oPpjQkhuNdODCocC3E3JAhTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708619538; a=rsa-sha256; cv=none; b=exKUPMJwuNMGzHt6Bnv9xQCWPJDWrvJlopPnsSmA7/00OB0SOAXQOafsXam189vQagPuxs c5C6vlHqiffVSmYyevbZZda3ClCeBOYrZq07OqiQnLOkHHIIRZB4qMCxVak2BQmJVATrOj rLnCFu2nDGhK2it9gWIKd759qgdXyaD8QtbQqnz2bmwBO96YBCXj0WvcuY+DWCDTt3ukM8 MjbjjPNz6nLafGCb9Oo7sAOzRGdD0O7hU4Q0c/7sNLy2UgL0CL6SBK3/HHSagndg1o8lDm EmT0gd6/O8k7rLLp4zv3Fy/I8pz13UWKr2WZ+9YmWQ93XX9PyFkNyAJ2CSzXvg== 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 4Tgdw22LbSzfdv; Thu, 22 Feb 2024 16:32: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 41MGWIr3032007; Thu, 22 Feb 2024 16:32:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MGWIF3032004; Thu, 22 Feb 2024 16:32:18 GMT (envelope-from git) Date: Thu, 22 Feb 2024 16:32:18 GMT Message-Id: <202402221632.41MGWIF3032004@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: 27c0f2a54498 - main - loader: These files have no copyrightable material 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: 27c0f2a544989760c4b3b16a3615839c8ab44b32 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=27c0f2a544989760c4b3b16a3615839c8ab44b32 commit 27c0f2a544989760c4b3b16a3615839c8ab44b32 Author: Warner Losh AuthorDate: 2024-02-22 16:30:59 +0000 Commit: Warner Losh CommitDate: 2024-02-22 16:31:57 +0000 loader: These files have no copyrightable material These files have no copyrightable material, and so are in the public domain. Sponsored by: Netflix --- stand/common/load_elf32.c | 2 ++ stand/common/load_elf32_obj.c | 2 ++ stand/common/load_elf64.c | 2 ++ stand/common/load_elf64_obj.c | 2 ++ 4 files changed, 8 insertions(+) diff --git a/stand/common/load_elf32.c b/stand/common/load_elf32.c index 4737670d2eeb..4ecdeb773228 100644 --- a/stand/common/load_elf32.c +++ b/stand/common/load_elf32.c @@ -1,3 +1,5 @@ +/* This file is in the public domain */ + #define __ELF_WORD_SIZE 32 #define _MACHINE_ELF_WANT_32BIT #include "load_elf.c" diff --git a/stand/common/load_elf32_obj.c b/stand/common/load_elf32_obj.c index e37b4dfddb49..d0278930f5e4 100644 --- a/stand/common/load_elf32_obj.c +++ b/stand/common/load_elf32_obj.c @@ -1,3 +1,5 @@ +/* This file is in the public domain */ + #define __ELF_WORD_SIZE 32 #define _MACHINE_ELF_WANT_32BIT #include "load_elf_obj.c" diff --git a/stand/common/load_elf64.c b/stand/common/load_elf64.c index 98ef7dc40985..d55f139d1e6a 100644 --- a/stand/common/load_elf64.c +++ b/stand/common/load_elf64.c @@ -1,2 +1,4 @@ +/* This file is in the public domain */ + #define __ELF_WORD_SIZE 64 #include "load_elf.c" diff --git a/stand/common/load_elf64_obj.c b/stand/common/load_elf64_obj.c index 43de8cc1214f..0f01258fa372 100644 --- a/stand/common/load_elf64_obj.c +++ b/stand/common/load_elf64_obj.c @@ -1,2 +1,4 @@ +/* This file is in the public domain */ + #define __ELF_WORD_SIZE 64 #include "load_elf_obj.c" From nobody Thu Feb 22 16:34:30 2024 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 4TgdyZ6Ztkz59x2Y; Thu, 22 Feb 2024 16:34: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 4TgdyZ5jw7z4NnZ; Thu, 22 Feb 2024 16:34:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BAbxW5tcrFFg7MKNTCBuhNSKcaRDw07EudHYsttLXws=; b=IxK3yL9wWd+Xn7zwESQ7eXljRJrZ3G0h6Ex4SQk13qhIadpz0tzjFvim2mgNYnF4/xp/7M bx9pss2eQc3b7iwxN7f8GIqzE5lza+XFUGIqmMH5yHhQP9+RNJvhAwL41jZHV2oEJTYx/P jIT9myNu978BphKty9rWK/wWO83K8uXt4Smd82CGaQB4f88nAfEdLHYL+z+IM9DsGwoz6n Et7gRDegw6GoEiLThEkoeYgf+b0X0a5CBuSoIgxHLOyPNQnqUtU9sQaqM5Im1x/6hJH3JS 9rfvqwRIg2Q+5oGrjlAwyrHNU69vEBy5ya20L6kmDgVpAgwln8TWiOS5H6JcVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708619670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BAbxW5tcrFFg7MKNTCBuhNSKcaRDw07EudHYsttLXws=; b=QylWlfjmUicWe1WavuTpX14H8778iM8HNY3yAth/yKg4Pr0qlMYDOSTojqZapP07hqDqpX jbFH5CS2Oh0NVDXrujr0tjjFkZu5qkwm9qFLD3GOGd3g1In2cmkdQn8ddD7233h0rH8S7n 868FXkT5cvxlHIlXgCKdzBsuuXsYIvDbSf2qAj67sOKwaTaWDpXapEalSRleIjwP/AVKtx CP29F2BtQT0AL3biSfygsBrJQ0UyznexRbKh8Z4RbN1t0bgGeoySAdOjbpuIEr/Hlx1jBy PNyYmkLnpXbSQPMCBl61ZIQZwtSCJrmsb22jgp67ifcG5LkiEGdPfo2RmpVDRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708619670; a=rsa-sha256; cv=none; b=hIpcNXLCOD3f87zFhHSZT8BfnYS5Y+w/PGsKVDewqXjzNMpF0ZwZKkoDLEy5GhngdnsCra M0AjWe5ID/qg1mLFb0s1PcmJI0t2WBISsYoLE7KvSnXrRa8qAyjmERpPPtOL+K+yBM6wZF ThJED1ofk4lX6192GypQ0EtVMOpOTyfcV8cRCcXxdTQgplRaqKmkjM2MKPkrXL5AzDI+s0 M6FoQDpuI5egcr7/EHFzioVfAWjxqi33UrxFrF/Rqcpl/4s0ajLSwmaBVBEF7XVmAmZLyw vnUTZxoWTRVefj+497hDAfzDI9QK4xuQn+U7n/oQ1lmJbbHIII4cb25+meSU0w== 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 4TgdyZ4m60zfnl; Thu, 22 Feb 2024 16:34: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 41MGYUrA032503; Thu, 22 Feb 2024 16:34:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MGYUrS032500; Thu, 22 Feb 2024 16:34:30 GMT (envelope-from git) Date: Thu, 22 Feb 2024 16:34:30 GMT Message-Id: <202402221634.41MGYUrS032500@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: 04440331b570 - main - vge(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: 04440331b5700e124c42b570ae1dfd00ea9c26f7 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=04440331b5700e124c42b570ae1dfd00ea9c26f7 commit 04440331b5700e124c42b570ae1dfd00ea9c26f7 Author: Gordon Bergling AuthorDate: 2024-02-22 16:33:35 +0000 Commit: Gordon Bergling CommitDate: 2024-02-22 16:34:13 +0000 vge(4): Fix a typo in a source code comment - s/embadded/embedded/ MFC after: 3 days --- sys/dev/vge/if_vgereg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/vge/if_vgereg.h b/sys/dev/vge/if_vgereg.h index e005526c95c1..c5cb53ef2ca7 100644 --- a/sys/dev/vge/if_vgereg.h +++ b/sys/dev/vge/if_vgereg.h @@ -444,7 +444,7 @@ #define VGE_MIICMD_MOUT 0x08 /* data out pin enable */ #define VGE_MIICMD_MDP 0x10 /* enable direct programming mode */ #define VGE_MIICMD_WCMD 0x20 /* embedded mode write */ -#define VGE_MIICMD_RCMD 0x40 /* embadded mode read */ +#define VGE_MIICMD_RCMD 0x40 /* embedded mode read */ #define VGE_MIICMD_MAUTO 0x80 /* enable autopolling */ /* MII address register */ From nobody Thu Feb 22 17:08:53 2024 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 4TgfkG0sLfz5B11s; Thu, 22 Feb 2024 17:08: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 4TgfkG0LYFz4SPw; Thu, 22 Feb 2024 17:08:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708621734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zHCMJCJsENAMoK3FhMIHrKKsGCQ92qkGel5kP/0yQ6w=; b=YOaJC1sJFgSMougFUuwk8FFMSNOGCckA1gq+HBhYCVNffzBsqTU4m5EgyNr6o6NgXtwN03 CfzcP42iSk1asjwqXeQTaKA0LHblO0gGRjXHar59WmQe+WqVdHQT7EN/u1cfaejKIi2YPU vnMO6DffqYj6Ft6zSY7/3l6p4UkQUhYWYUO8Do7sO9tf/I6uNFb0i7f4oF/DWiWAaHtta2 T2Lr/+YMfawNK+7XyUdUMXYSyrYosd3YYlwaFNlYlY/TVA0PViWQLZxGeZSshzG7ExLPk+ y4tvDwiuPrrDAQGaEwqwa4I2wiPDE32h0BZgASqxwgLRJjsU1ihhgLCZFWGGOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708621734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zHCMJCJsENAMoK3FhMIHrKKsGCQ92qkGel5kP/0yQ6w=; b=LhO+nHJF+D3m1P78vVHATX0BxsKIMtZdt4qk3Ci14I+OMK08asF2qRPCeWNbPXhI2DTi2K qThhWNnCghnjMjFWLTj7ppmTHfHaSs3vyavUdq6gQwpLcAfGokHznfPfMAdrE9X65VNh0q 3XroK14QR+x5bWkoUUqv1/gU0wBFI3otFw771lRk0UVoJjY+7ciTGQriH4eo01v3gzFJBA u4fM4GT8Eogn0HJ4Kem1hvFUvyFwVXvM/s3POxPH9XStwA96ayR30iRJKnVnmfO9d7BEvZ vHaNBxf/CcJegSPqjg8VHfB0IRx6snutsr56Y6MOtqG/5/mICJiAi/MeF9ed5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708621734; a=rsa-sha256; cv=none; b=KqI5dtHpdkdIIDEv+x4d2stVD/fZfLvXsVmJ5jJwCUGJN8INiqYBoZYcZ06HqTKkXBx1Xh IhPPbxNcqE/xfUZZzWk+6jz2/R8QDl1Gwk1x9PZoYiRSVn3v6/VLXzA/RUFOiC+BBgUS0a v0eHUwxvbbJTu3UGo+k3u9DzA1iAMKWFAIg3qFbUDQX9ofZbouonGJzWAGu5YkN/f/oM+S nzny5Bg1iLH3fUbR2hgGxRQ6ZWDgoFppwP+liGm7GB3q63NEm0PywBd4pH4Xm5308lGYq0 LlN0SWOb5kMxo64AC2LVcyr0+sMaZAApt7GjdgCCqA4eSXMDQiW/+rIh5/1wRA== 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 4TgfkF6X8szfsH; Thu, 22 Feb 2024 17:08: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 41MH8rl8083621; Thu, 22 Feb 2024 17:08:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MH8rkv083618; Thu, 22 Feb 2024 17:08:53 GMT (envelope-from git) Date: Thu, 22 Feb 2024 17:08:53 GMT Message-Id: <202402221708.41MH8rkv083618@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: dcb621efd664 - main - loader: Mark BEARSSL broken on powerpc 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: dcb621efd6645d3f3a227c8c9113cc717e903389 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dcb621efd6645d3f3a227c8c9113cc717e903389 commit dcb621efd6645d3f3a227c8c9113cc717e903389 Author: Warner Losh AuthorDate: 2024-02-22 17:05:40 +0000 Commit: Warner Losh CommitDate: 2024-02-22 17:08:12 +0000 loader: Mark BEARSSL broken on powerpc When BEARSSL is enabled, we pull in libsecureboot, which has EFI dependencies which don't exist on powerpc. This needs to be detangled, but until then mark it as broken. Sponsored by: Netflix --- share/mk/src.opts.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index e154fbd4059d..3eec831db2cc 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -313,6 +313,9 @@ BROKEN_OPTIONS+=LIB32 .if ${__T:Mpowerpc*} || ${__T} == "i386" BROKEN_OPTIONS+=EFI .endif +# Bad coupling for libsecure stuff with bearssl and efi, so broken on EFI +.if ${__T:Mpowerpc*} +BROKEN_OPTIONS+=BEARSSL # bearssl brings in secure efi stuff xxx # OFW is only for powerpc, exclude others .if ${__T:Mpowerpc*} == "" BROKEN_OPTIONS+=LOADER_OFW From nobody Thu Feb 22 17:15:48 2024 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 4TgftT6J3Tz5B1bn for ; Thu, 22 Feb 2024 17:16:01 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 4TgftT3NNpz4TMW for ; Thu, 22 Feb 2024 17:16:01 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4125e435b38so45766505e9.0 for ; Thu, 22 Feb 2024 09:16:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708622160; x=1709226960; 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=HAYOv+D+kiz80VsbjsXpMCLoj3zBgH/KWNB5hp1/vP0=; b=CJ2yi2LEZbBzyn2ajfRtq7D4K1HH7RgdKXx3/qRQ3BrFQaUIKT63N9CAuQ1uZaow1M HZtcg60nEZ1Oz8VNkvTC+nRpv5hVevAGGepTohSGKZq5/dacDe9kE78WfgzPVX/d6Npg cWoGw+k5Vuf7JVttdXtBvM9kG3A2IcIHaeQLJR2By+k4S7LoPMsWIbG3xV5dsw4w0Apu N7C/AQ5aUZPeg7VtHaJ6GbX+Tics+swqHBroczP8+wFqBXWBWsjO9n9Xamtk+0gKiIE8 fInookYXlOUhl1+PZ4XVU2Pw8Ac74R611oGvbw3C5PPlhPHU5WDUd6ShY6brqfpXToZP ekJQ== X-Forwarded-Encrypted: i=1; AJvYcCX5GYAiWqj4v62UJQPFITzkzBFsdVF3V9xNdkpUOLODV9rsR1N7KMFQ6w3VxxgMuxyeqX5dOk+eBUGyuiwE5z/Jol25uCsTttXg3qC8/Shp X-Gm-Message-State: AOJu0YyRe19uxT//SdurHytm1kjPRanEcOsTec0zy3dVBFBKUaSsr5yt +5Kvbpx7X7PimgkU6mSfGmBIMFLA3fxDCZ1AC3+/0NSGBvEh1Kxo9zMmIx8z++A= X-Google-Smtp-Source: AGHT+IFeMVIpAcml9qft0vNmkja2Q4aKJ079kLGyXm4sGjmvoC6JZ3KA4jSrpkz22AdjU5muh73WRw== X-Received: by 2002:a05:6000:156b:b0:33d:7c8:2230 with SMTP id 11-20020a056000156b00b0033d07c82230mr18934425wrz.24.1708622159641; Thu, 22 Feb 2024 09:15:59 -0800 (PST) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id n2-20020a5d67c2000000b0033d8871acc3sm3490394wrw.77.2024.02.22.09.15.59 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Feb 2024 09:15:59 -0800 (PST) Content-Type: text/plain; charset=us-ascii 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: dcb621efd664 - main - loader: Mark BEARSSL broken on powerpc From: Jessica Clarke In-Reply-To: <202402221708.41MH8rkv083618@gitrepo.freebsd.org> Date: Thu, 22 Feb 2024 17:15:48 +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: <7777BCB9-E648-46A5-894F-982ED906A678@freebsd.org> References: <202402221708.41MH8rkv083618@gitrepo.freebsd.org> To: Warner Losh X-Mailer: Apple Mail (2.3774.200.91.1.1) X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4TgftT3NNpz4TMW 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] On 22 Feb 2024, at 17:08, Warner Losh wrote: >=20 > The branch main has been updated by imp: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Ddcb621efd6645d3f3a227c8c9113cc71= 7e903389 >=20 > commit dcb621efd6645d3f3a227c8c9113cc717e903389 > Author: Warner Losh > AuthorDate: 2024-02-22 17:05:40 +0000 > Commit: Warner Losh > CommitDate: 2024-02-22 17:08:12 +0000 >=20 > loader: Mark BEARSSL broken on powerpc >=20 > When BEARSSL is enabled, we pull in libsecureboot, which has EFI > dependencies which don't exist on powerpc. This needs to be = detangled, > but until then mark it as broken. >=20 > Sponsored by: Netflix > --- > share/mk/src.opts.mk | 3 +++ > 1 file changed, 3 insertions(+) >=20 > diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk > index e154fbd4059d..3eec831db2cc 100644 > --- a/share/mk/src.opts.mk > +++ b/share/mk/src.opts.mk > @@ -313,6 +313,9 @@ BROKEN_OPTIONS+=3DLIB32 > .if ${__T:Mpowerpc*} || ${__T} =3D=3D "i386" > BROKEN_OPTIONS+=3DEFI > .endif > +# Bad coupling for libsecure stuff with bearssl and efi, so broken on = EFI > +.if ${__T:Mpowerpc*} > +BROKEN_OPTIONS+=3DBEARSSL # bearssl brings in secure efi stuff xxx > # OFW is only for powerpc, exclude others Missing .endif (maybe you initially had it in the block below?) Jess > .if ${__T:Mpowerpc*} =3D=3D "" > BROKEN_OPTIONS+=3DLOADER_OFW From nobody Thu Feb 22 17:18:36 2024 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 4TgfxT1Cwxz5B1gN; Thu, 22 Feb 2024 17:18:37 +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 4TgfxT0f5Wz4V8d; Thu, 22 Feb 2024 17:18:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708622317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bVWAihppeMyHB9lIFtBRKheylAEXgGdEGr4lBGAAvY8=; b=W7C/DSALvRRX16vd2MyQ8fcCOCa+ip10FI/MWf74gHymdTi6z6wOeMkIv6+4xXgxY/o0hp FdMrAqV4aDxpHy3CnS3zQVenf3nsSA99woaqUjhe8S0CkqawI36q3EMvQY3SNYLH+6XVj7 WxZZs5EMf5j31GTgpCfufsndze/cQGvb1OO60iwoRkcteoNqFRV0hUx31o1PnUoVOq65Rk YVzprtELGacwYhdDiYl7esxJ0gouLs/UYyX75EDWmmmz0V7f3prsqSg5zrj78C1+WdISL7 +fQ8OE7wkfPLyrJjSVMMBBTmvYjOWoohCLJ580pLdlyyoC3f6gTRGXB4AnBm/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708622317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bVWAihppeMyHB9lIFtBRKheylAEXgGdEGr4lBGAAvY8=; b=qonZCYMwkDaF5cjz6zdbqNJuEZ7HGNqoQ7UITicnFDk4QUjCR1q4m8yD+S4M85iTWXqvkR dzquqneliev6Iwj4KcuQNYb6Y597SGuyaNT1CpsIiHT8zR+iwjTVCPLdmDmtNOQFamTPg0 /pjf//+gmjW7IGsMKZ4JnVrKn0umzocZU4DRDXKycJYOkWMeNI+wPh+GDyvgMbgD0Xf/01 qi+UDxGWTawQEaWCrWgKKSbfnz/IwI40Gdczagc4fTJlx5KM29MuO6dmX0QpxpfMRxBQK4 /jVst6lbZN59GjuH3fyyUn6M1xN9noDuzFCbDzNjkey6Gl79xuYQD2F3i+dtPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708622317; a=rsa-sha256; cv=none; b=YDFa1nnpTmLPxhOBDexR2fImAT2ngWBOlEkvIpGhT38gLgBJDIYBEym/ei5d+iSWuphgIj 350uJkKgVm7iuLhk3hEhCEcU8ivAAMsZrkHPZOXER09QA0scmQTBfjWguI/jHmIT4vM//V s9lGHwakNcnGqStajdTrxJr1QVZs58ouf9J+WDNERBO1NNIKF1OVayOmg/UqgwJ6MX63as W0WEcpL+mUN0qld+YY9UCJmQglBDyd88tgqW/7b92KwdVOWCQpXVsfOnSGezGQ12NdRojs EUJiWZqMi5HBG6RpjFAnIlzTIgvl2VkTeN8Ny/tJ7NPFB54q1Tn2O0/nSNag8w== 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 4TgfxS6pZ3zgW2; Thu, 22 Feb 2024 17:18: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 41MHIa2g000403; Thu, 22 Feb 2024 17:18:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MHIaK3000400; Thu, 22 Feb 2024 17:18:36 GMT (envelope-from git) Date: Thu, 22 Feb 2024 17:18:36 GMT Message-Id: <202402221718.41MHIaK3000400@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: 0da51f1f6a9a - main - Add missing .endif 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: 0da51f1f6a9abb78ecf914065aab07364fc4a590 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0da51f1f6a9abb78ecf914065aab07364fc4a590 commit 0da51f1f6a9abb78ecf914065aab07364fc4a590 Author: Warner Losh AuthorDate: 2024-02-22 17:16:37 +0000 Commit: Warner Losh CommitDate: 2024-02-22 17:17:34 +0000 Add missing .endif Last second move from inside the prior block to outside bites me. Noticed by: jrtc23 Fixes: dcb621efd664 Sponsored by: Netflix --- share/mk/src.opts.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 3eec831db2cc..3666094bfc40 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -316,6 +316,7 @@ BROKEN_OPTIONS+=EFI # Bad coupling for libsecure stuff with bearssl and efi, so broken on EFI .if ${__T:Mpowerpc*} BROKEN_OPTIONS+=BEARSSL # bearssl brings in secure efi stuff xxx +.endif # OFW is only for powerpc, exclude others .if ${__T:Mpowerpc*} == "" BROKEN_OPTIONS+=LOADER_OFW From nobody Thu Feb 22 18:07:14 2024 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 4Tgh1Z4DXlz5B606; Thu, 22 Feb 2024 18:07: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 4Tgh1Z3tgxz4ZsN; Thu, 22 Feb 2024 18:07:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708625234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xq0yBLd7ovEwp6d60SgnIMDdj+rwzhLczRR6fIGZMpA=; b=fhwczF7Jwzsz32QrEvVmZcjY+KYXgYwtvELloxNtmRWJTuZZggrx+995sh8iFxcoqvQq/6 DOfv0bjctXqhEnVk7zRm2bxc6CbWx3nJBqpDSLXLWNKik2MbZhC+54QmktHVCSLYDVYLUg dUzWh2qauO+HabZO1YuWJQXFM20PLatrqfzxzd11MTI6hS5jQEKko5GBeY1Woa8Uadxk5Z khXcbBHsY1bXUPq9lwER3mSqjke3n2D2xUdQNUNd8lSH2KyjtU2vxwBTsl2Hg5NU1vEZkJ JfS5J1HAZsmkxD+U/zAm1tWmHHjsPIgy3NlY01Bxr2/Pt+5nheG+CqHVJYbDKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708625234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xq0yBLd7ovEwp6d60SgnIMDdj+rwzhLczRR6fIGZMpA=; b=tERFU+mVQpcABdKodNr25zC1Pb97wA1lKF9ryXB+g8brmvleQW13Xx/FSITjfudYCJkyJZ tMHVVwzUyQcLAmS+yFHEIOCvBR9OgtDrzBlSoR0Sn4dwlxSfiSizcv7VbTPSM1VJMCIW/0 nwmT0/+VLrkVE3dLd9JaxPdjFQFkU9cD6wMsw29Di3SxlSgr/5GstNbU8HbFTr1q4et0NJ tbu93ciSr9N1eqJAagVhEB6u6LrDWUX32iU9xYPGwXH8FcaYNZM3qa3m9t72Ps4uKefmaW vrTlWhOO9CBRUYsc4/6r1jp7a1scE3Ep3PfllbP4B+k6Qt6+g3pcPsguYME9oQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708625234; a=rsa-sha256; cv=none; b=i7q+7A6s8jwGO5jRIqKiht4r4Lg6S2cdRz46bdzcj5cUtwyF+HI8eT+Cq72hGu+AgP1wQk q4HwN5MkmbbfiaCTuPOquduhMdKPhgXMj8mSXQM2P0ORHR5wVDhKe+DuWZQ0xNbotI+GOt YGcyQo55QvchgbfzEdk4GXQDCoPDt7/rlaON5f88uCsyDv3obkNBv9hZyDQqLBqiOwpY12 yPqeP8LNABeHrosAU69HkWhp8W4+ba4xkNNXt3BLyerd46ZfhE9kyhACmu9Qk8UZb9mnFj QBsJtz1SK5OFUqBfL29UiN9sdH/JQ2bDlqe4XMidG6/TYPxV0nrNBzOusc1SCQ== 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 4Tgh1Z2wsPzj3b; Thu, 22 Feb 2024 18:07: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 41MI7EWh084466; Thu, 22 Feb 2024 18:07:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MI7ENV084463; Thu, 22 Feb 2024 18:07:14 GMT (envelope-from git) Date: Thu, 22 Feb 2024 18:07:14 GMT Message-Id: <202402221807.41MI7ENV084463@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Chuck Silvers Subject: git: 34467bd762a7 - main - x86/ucode: add support for early loading of CPU ucode on AMD. 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: chs X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 34467bd762a77345915d07f4f0630c3fe0b53a23 Auto-Submitted: auto-generated The branch main has been updated by chs: URL: https://cgit.FreeBSD.org/src/commit/?id=34467bd762a77345915d07f4f0630c3fe0b53a23 commit 34467bd762a77345915d07f4f0630c3fe0b53a23 Author: Chuck Silvers AuthorDate: 2024-02-22 18:03:53 +0000 Commit: Chuck Silvers CommitDate: 2024-02-22 18:04:31 +0000 x86/ucode: add support for early loading of CPU ucode on AMD. Sponsored by: Netflix Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D43318 --- sys/conf/files.x86 | 1 + sys/x86/include/ucode.h | 11 ++ sys/x86/x86/ucode.c | 55 ++++++++++ sys/x86/x86/ucode_subr.c | 239 +++++++++++++++++++++++++++++++++++++++++++ usr.sbin/cpucontrol/Makefile | 6 +- usr.sbin/cpucontrol/amd.h | 41 -------- usr.sbin/cpucontrol/amd10h.c | 141 +------------------------ 7 files changed, 316 insertions(+), 178 deletions(-) diff --git a/sys/conf/files.x86 b/sys/conf/files.x86 index 15781eea8fee..8bd58ab4d339 100644 --- a/sys/conf/files.x86 +++ b/sys/conf/files.x86 @@ -347,6 +347,7 @@ x86/x86/pvclock.c optional kvm_clock | xenhvm x86/x86/stack_machdep.c optional ddb | stack x86/x86/tsc.c standard x86/x86/ucode.c standard +x86/x86/ucode_subr.c standard x86/x86/delay.c standard x86/xen/hvm.c optional xenhvm x86/xen/xen_apic.c optional xenhvm smp diff --git a/sys/x86/include/ucode.h b/sys/x86/include/ucode.h index e97d41c89ed0..0338d48a0832 100644 --- a/sys/x86/include/ucode.h +++ b/sys/x86/include/ucode.h @@ -31,6 +31,12 @@ #ifndef _MACHINE_UCODE_H_ #define _MACHINE_UCODE_H_ +#ifdef _KERNEL +#include +#else +#include +#endif + struct ucode_intel_header { uint32_t header_version; int32_t update_revision; @@ -56,8 +62,13 @@ struct ucode_intel_extsig_table { } entries[0]; }; +const void *ucode_amd_find(const char *path, uint32_t signature, + uint32_t revision, const uint8_t *fw_data, size_t fw_size, + size_t *selected_sizep); int ucode_intel_load(const void *data, bool unsafe, uint64_t *nrevp, uint64_t *orevp); +int ucode_amd_load(const void *data, bool unsafe, + uint64_t *nrevp, uint64_t *orevp); size_t ucode_load_bsp(uintptr_t free); void ucode_load_ap(int cpu); void ucode_reload(void); diff --git a/sys/x86/x86/ucode.c b/sys/x86/x86/ucode.c index 8e9f8e113c40..923d9e31b44e 100644 --- a/sys/x86/x86/ucode.c +++ b/sys/x86/x86/ucode.c @@ -54,6 +54,8 @@ static const void *ucode_intel_match(const uint8_t *data, size_t *len); static int ucode_intel_verify(const struct ucode_intel_header *hdr, size_t resid); +static const void *ucode_amd_match(const uint8_t *data, size_t *len); + static struct ucode_ops { const char *vendor; int (*load)(const void *, bool, uint64_t *, uint64_t *); @@ -64,6 +66,11 @@ static struct ucode_ops { .load = ucode_intel_load, .match = ucode_intel_match, }, + { + .vendor = AMD_VENDOR_ID, + .load = ucode_amd_load, + .match = ucode_amd_match, + }, }; /* Selected microcode update data. */ @@ -225,6 +232,54 @@ ucode_intel_match(const uint8_t *data, size_t *len) return (NULL); } +int +ucode_amd_load(const void *data, bool unsafe, uint64_t *nrevp, uint64_t *orevp) +{ + uint64_t nrev, orev; + uint32_t cpuid[4]; + + orev = rdmsr(MSR_BIOS_SIGN); + + /* + * Perform update. + */ + if (unsafe) + wrmsr_safe(MSR_K8_UCODE_UPDATE, (uint64_t)(uintptr_t)data); + else + wrmsr(MSR_K8_UCODE_UPDATE, (uint64_t)(uintptr_t)data); + + /* + * Serialize instruction flow. + */ + do_cpuid(0, cpuid); + + /* + * Verify that the microcode revision changed. + */ + nrev = rdmsr(MSR_BIOS_SIGN); + if (nrevp != NULL) + *nrevp = nrev; + if (orevp != NULL) + *orevp = orev; + if (nrev <= orev) + return (EEXIST); + return (0); + +} + +static const void * +ucode_amd_match(const uint8_t *data, size_t *len) +{ + uint32_t signature, revision; + uint32_t regs[4]; + + do_cpuid(1, regs); + signature = regs[0]; + revision = rdmsr(MSR_BIOS_SIGN); + + return (ucode_amd_find("loader blob", signature, revision, data, *len, len)); +} + /* * Release any memory backing unused microcode blobs back to the system. * We copy the selected update and free the entire microcode file. diff --git a/sys/x86/x86/ucode_subr.c b/sys/x86/x86/ucode_subr.c new file mode 100644 index 000000000000..9e128ad2bf04 --- /dev/null +++ b/sys/x86/x86/ucode_subr.c @@ -0,0 +1,239 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2006, 2008 Stanislav Sedov . + * All rights reserved. + * Copyright (c) 2012 Andriy Gapon . + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 + +#ifndef _KERNEL +#include + +#include "cpucontrol.h" +#endif + + +#ifdef _KERNEL +#define WARNX(level, ...) \ + if (bootverbose) { \ + printf(__VA_ARGS__); \ + printf("\n"); \ + } +#endif + +/* + * AMD family 10h and later. + */ +typedef struct amd_10h_fw_header { + uint32_t data_code; + uint32_t patch_id; + uint16_t mc_patch_data_id; + uint8_t mc_patch_data_len; + uint8_t init_flag; + uint32_t mc_patch_data_checksum; + uint32_t nb_dev_id; + uint32_t sb_dev_id; + uint16_t processor_rev_id; + uint8_t nb_rev_id; + uint8_t sb_rev_id; + uint8_t bios_api_rev; + uint8_t reserved1[3]; + uint32_t match_reg[8]; +} amd_10h_fw_header_t; + +typedef struct equiv_cpu_entry { + uint32_t installed_cpu; + uint32_t fixed_errata_mask; + uint32_t fixed_errata_compare; + uint16_t equiv_cpu; + uint16_t res; +} equiv_cpu_entry_t; + +typedef struct section_header { + uint32_t type; + uint32_t size; +} section_header_t; + +typedef struct container_header { + uint32_t magic; +} container_header_t; + +#define AMD_10H_MAGIC 0x414d44 +#define AMD_10H_EQUIV_TABLE_TYPE 0 +#define AMD_10H_uCODE_TYPE 1 + +/* + * NB: the format of microcode update files is not documented by AMD. + * It has been reverse engineered from studying Coreboot, illumos and Linux + * source code. + */ +const void * +ucode_amd_find(const char *path, uint32_t signature, uint32_t revision, + const uint8_t *fw_data, size_t fw_size, size_t *selected_sizep) +{ + const amd_10h_fw_header_t *fw_header; + const amd_10h_fw_header_t *selected_fw; + const equiv_cpu_entry_t *equiv_cpu_table; + const section_header_t *section_header; + const container_header_t *container_header; + size_t selected_size; + uint16_t equiv_id; + int i; + + WARNX(1, "found cpu family %#x model %#x " + "stepping %#x extfamily %#x extmodel %#x.", + ((signature >> 8) & 0x0f) + ((signature >> 20) & 0xff), + (signature >> 4) & 0x0f, + (signature >> 0) & 0x0f, (signature >> 20) & 0xff, + (signature >> 16) & 0x0f); + WARNX(1, "microcode revision %#x", revision); + +nextfile: + WARNX(1, "checking %s for update.", path); + WARNX(3, "processing next container file"); + if (fw_size < + (sizeof(*container_header) + sizeof(*section_header))) { + WARNX(2, "file too short: %s", path); + return (NULL); + } + + container_header = (const container_header_t *)fw_data; + if (container_header->magic != AMD_10H_MAGIC) { + WARNX(2, "%s is not a valid amd firmware: bad magic", path); + return (NULL); + } + fw_data += sizeof(*container_header); + fw_size -= sizeof(*container_header); + + section_header = (const section_header_t *)fw_data; + if (section_header->type != AMD_10H_EQUIV_TABLE_TYPE) { + WARNX(2, "%s is not a valid amd firmware: " + "first section is not CPU equivalence table", path); + return (NULL); + } + if (section_header->size == 0) { + WARNX(2, "%s is not a valid amd firmware: " + "first section is empty", path); + return (NULL); + } + fw_data += sizeof(*section_header); + fw_size -= sizeof(*section_header); + + if (section_header->size > fw_size) { + WARNX(2, "%s is not a valid amd firmware: " + "file is truncated", path); + return (NULL); + } + if (section_header->size < sizeof(*equiv_cpu_table)) { + WARNX(2, "%s is not a valid amd firmware: " + "first section is too short", path); + return (NULL); + } + equiv_cpu_table = (const equiv_cpu_entry_t *)fw_data; + fw_data += section_header->size; + fw_size -= section_header->size; + + equiv_id = 0; + for (i = 0; equiv_cpu_table[i].installed_cpu != 0; i++) { + WARNX(3, "signature 0x%x i %d installed_cpu 0x%x equiv 0x%x", + signature, i, equiv_cpu_table[i].installed_cpu, + equiv_cpu_table[i].equiv_cpu); + if (signature == equiv_cpu_table[i].installed_cpu) { + equiv_id = equiv_cpu_table[i].equiv_cpu; + WARNX(3, "equiv_id: %x, signature %8x," + " equiv_cpu_table[%d] %8x", equiv_id, signature, + i, equiv_cpu_table[i].installed_cpu); + break; + } + } + if (equiv_id == 0) { + WARNX(2, "CPU is not found in the equivalence table"); + } + + while (fw_size >= sizeof(*section_header)) { + section_header = (const section_header_t *)fw_data; + if (section_header->type == AMD_10H_MAGIC) { + WARNX(2, "%s next section is actually a new container", + path); + if (selected_fw != NULL) + goto found; + else + goto nextfile; + } + fw_data += sizeof(*section_header); + fw_size -= sizeof(*section_header); + if (section_header->type != AMD_10H_uCODE_TYPE) { + WARNX(2, "%s is not a valid amd firmware: " + "section has incorrect type", path); + break; + } + if (section_header->size > fw_size) { + WARNX(2, "%s is not a valid amd firmware: " + "file is truncated", path); + break; + } + if (section_header->size < sizeof(*fw_header)) { + WARNX(2, "%s is not a valid amd firmware: " + "section is too short", path); + break; + } + fw_header = (const amd_10h_fw_header_t *)fw_data; + fw_data += section_header->size; + fw_size -= section_header->size; + + if (fw_header->processor_rev_id != equiv_id) { + WARNX(1, "firmware processor_rev_id %x, equiv_id %x", + fw_header->processor_rev_id, equiv_id); + continue; /* different cpu */ + } + if (fw_header->patch_id <= revision) { + WARNX(1, "patch_id %x, revision %x", + fw_header->patch_id, revision); + continue; /* not newer revision */ + } + if (fw_header->nb_dev_id != 0 || fw_header->sb_dev_id != 0) { + WARNX(2, "Chipset-specific microcode is not supported"); + } + + WARNX(3, "selecting revision: %x", fw_header->patch_id); + revision = fw_header->patch_id; + selected_fw = fw_header; + selected_size = section_header->size; + } + + if (fw_size != 0) { + WARNX(2, "%s is not a valid amd firmware: " + "file is truncated", path); + selected_fw = NULL; + } + +found: + *selected_sizep = selected_size; + return (selected_fw); +} diff --git a/usr.sbin/cpucontrol/Makefile b/usr.sbin/cpucontrol/Makefile index 41f573d02cc2..a468ca59b461 100644 --- a/usr.sbin/cpucontrol/Makefile +++ b/usr.sbin/cpucontrol/Makefile @@ -1,8 +1,12 @@ PROG= cpucontrol MAN= cpucontrol.8 -SRCS= cpucontrol.c intel.c amd.c amd10h.c via.c +SRCS= cpucontrol.c intel.c amd.c amd10h.c via.c ucode_subr.c + +.PATH: ${SRCTOP}/sys/x86/x86 NO_WCAST_ALIGN= +CFLAGS+= -I${.CURDIR} + .include diff --git a/usr.sbin/cpucontrol/amd.h b/usr.sbin/cpucontrol/amd.h index 7e53048a81d7..8e4efe60dca6 100644 --- a/usr.sbin/cpucontrol/amd.h +++ b/usr.sbin/cpucontrol/amd.h @@ -48,45 +48,4 @@ typedef struct amd_fw_header { #define AMD_MAGIC 0xaaaaaa -/* - * AMD family 10h and later. - */ -typedef struct amd_10h_fw_header { - uint32_t data_code; - uint32_t patch_id; - uint16_t mc_patch_data_id; - uint8_t mc_patch_data_len; - uint8_t init_flag; - uint32_t mc_patch_data_checksum; - uint32_t nb_dev_id; - uint32_t sb_dev_id; - uint16_t processor_rev_id; - uint8_t nb_rev_id; - uint8_t sb_rev_id; - uint8_t bios_api_rev; - uint8_t reserved1[3]; - uint32_t match_reg[8]; -} amd_10h_fw_header_t; - -typedef struct equiv_cpu_entry { - uint32_t installed_cpu; - uint32_t fixed_errata_mask; - uint32_t fixed_errata_compare; - uint16_t equiv_cpu; - uint16_t res; -} equiv_cpu_entry_t; - -typedef struct section_header { - uint32_t type; - uint32_t size; -} section_header_t; - -typedef struct container_header { - uint32_t magic; -} container_header_t; - -#define AMD_10H_MAGIC 0x414d44 -#define AMD_10H_EQUIV_TABLE_TYPE 0 -#define AMD_10H_uCODE_TYPE 1 - #endif /* !AMD_H */ diff --git a/usr.sbin/cpucontrol/amd10h.c b/usr.sbin/cpucontrol/amd10h.c index aceb6bfa2ba5..4fda44f0b797 100644 --- a/usr.sbin/cpucontrol/amd10h.c +++ b/usr.sbin/cpucontrol/amd10h.c @@ -33,6 +33,8 @@ #include #include +#include + #include #include #include @@ -79,33 +81,21 @@ amd10h_probe(int fd) return (0); } -/* - * NB: the format of microcode update files is not documented by AMD. - * It has been reverse engineered from studying Coreboot, illumos and Linux - * source code. - */ void amd10h_update(const struct ucode_update_params *params) { cpuctl_cpuid_args_t idargs; cpuctl_msr_args_t msrargs; cpuctl_update_args_t args; - const amd_10h_fw_header_t *fw_header; - const amd_10h_fw_header_t *selected_fw; - const equiv_cpu_entry_t *equiv_cpu_table; - const section_header_t *section_header; - const container_header_t *container_header; - const uint8_t *fw_data; const uint8_t *fw_image; const char *dev, *path; + const void *selected_fw; size_t fw_size; size_t selected_size; uint32_t revision; uint32_t new_rev; uint32_t signature; - uint16_t equiv_id; int devfd; - unsigned int i; int error; dev = params->dev_path; @@ -133,129 +123,8 @@ amd10h_update(const struct ucode_update_params *params) } revision = (uint32_t)msrargs.data; - WARNX(1, "found cpu family %#x model %#x " - "stepping %#x extfamily %#x extmodel %#x.", - ((signature >> 8) & 0x0f) + ((signature >> 20) & 0xff), - (signature >> 4) & 0x0f, - (signature >> 0) & 0x0f, (signature >> 20) & 0xff, - (signature >> 16) & 0x0f); - WARNX(1, "microcode revision %#x", revision); - - /* - * Open the firmware file. - */ - WARNX(1, "checking %s for update.", path); - if (fw_size < - (sizeof(*container_header) + sizeof(*section_header))) { - WARNX(2, "file too short: %s", path); - goto done; - } - - /* - * mmap the whole image. - */ - fw_data = fw_image; - container_header = (const container_header_t *)fw_data; - if (container_header->magic != AMD_10H_MAGIC) { - WARNX(2, "%s is not a valid amd firmware: bad magic", path); - goto done; - } - fw_data += sizeof(*container_header); - fw_size -= sizeof(*container_header); - - section_header = (const section_header_t *)fw_data; - if (section_header->type != AMD_10H_EQUIV_TABLE_TYPE) { - WARNX(2, "%s is not a valid amd firmware: " - "first section is not CPU equivalence table", path); - goto done; - } - if (section_header->size == 0) { - WARNX(2, "%s is not a valid amd firmware: " - "first section is empty", path); - goto done; - } - fw_data += sizeof(*section_header); - fw_size -= sizeof(*section_header); - - if (section_header->size > fw_size) { - WARNX(2, "%s is not a valid amd firmware: " - "file is truncated", path); - goto done; - } - if (section_header->size < sizeof(*equiv_cpu_table)) { - WARNX(2, "%s is not a valid amd firmware: " - "first section is too short", path); - goto done; - } - equiv_cpu_table = (const equiv_cpu_entry_t *)fw_data; - fw_data += section_header->size; - fw_size -= section_header->size; - - equiv_id = 0; - for (i = 0; equiv_cpu_table[i].installed_cpu != 0; i++) { - if (signature == equiv_cpu_table[i].installed_cpu) { - equiv_id = equiv_cpu_table[i].equiv_cpu; - WARNX(3, "equiv_id: %x, signature %8x," - " equiv_cpu_table[%d] %8x", equiv_id, signature, - i, equiv_cpu_table[i].installed_cpu); - break; - } - } - if (equiv_id == 0) { - WARNX(2, "CPU is not found in the equivalence table"); - goto done; - } - - selected_fw = NULL; - selected_size = 0; - while (fw_size >= sizeof(*section_header)) { - section_header = (const section_header_t *)fw_data; - fw_data += sizeof(*section_header); - fw_size -= sizeof(*section_header); - if (section_header->type != AMD_10H_uCODE_TYPE) { - WARNX(2, "%s is not a valid amd firmware: " - "section has incorrect type", path); - goto done; - } - if (section_header->size > fw_size) { - WARNX(2, "%s is not a valid amd firmware: " - "file is truncated", path); - goto done; - } - if (section_header->size < sizeof(*fw_header)) { - WARNX(2, "%s is not a valid amd firmware: " - "section is too short", path); - goto done; - } - fw_header = (const amd_10h_fw_header_t *)fw_data; - fw_data += section_header->size; - fw_size -= section_header->size; - - if (fw_header->processor_rev_id != equiv_id) { - WARNX(1, "firmware processor_rev_id %x, equiv_id %x", - fw_header->processor_rev_id, equiv_id); - continue; /* different cpu */ - } - if (fw_header->patch_id <= revision) { - WARNX(1, "patch_id %x, revision %x", - fw_header->patch_id, revision); - continue; /* not newer revision */ - } - if (fw_header->nb_dev_id != 0 || fw_header->sb_dev_id != 0) { - WARNX(2, "Chipset-specific microcode is not supported"); - } - - WARNX(3, "selecting revision: %x", fw_header->patch_id); - revision = fw_header->patch_id; - selected_fw = fw_header; - selected_size = section_header->size; - } - - if (fw_size != 0) { - WARNX(2, "%s is not a valid amd firmware: " - "file is truncated", path); - goto done; - } + selected_fw = ucode_amd_find(path, signature, revision, fw_image, + fw_size, &selected_size); if (selected_fw != NULL) { WARNX(1, "selected ucode size is %zu", selected_size); From nobody Thu Feb 22 18:28:46 2024 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 4TghVQ5k2Tz5B8HV; Thu, 22 Feb 2024 18:28: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 4TghVQ3Jz7z4gTk; Thu, 22 Feb 2024 18:28:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708626526; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I7xHNSjVa1cJ/cruJeg2uFpnkwrn0zm5/yXTVfN//es=; b=STnig3hmhEwF+IoalqK3XJs0WTj01lu1hDNDZvx4IK8PmEFIXK7fD5mYmbfO20ax7L0TgP qBFumb6G4OL8gkyOkhOy9gd6VLoqaUOQLnn5uSIuMWScaA/7tkb93ZbY9iDWpDNM2VRS1P I+tS1NaE6K0FWcFPHt4yiA3dymfeXaqbYquSGNMd/RvKB/QZPgEoqdYxzvElP/nJPJp/BD xRMcvWIkMmx7MdPKHjwf5qqOwnoXocaQsRXmSRjtRxwXRy/rcPuCJ1md7N5HMHBLgvL4YL ONDW+fecyB4q/wCsAOoG+An+N/vleHPeT08CfA6PrsedFznUYaLRrHGlTxZtXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708626526; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I7xHNSjVa1cJ/cruJeg2uFpnkwrn0zm5/yXTVfN//es=; b=rQSO7Xkq+HBu2Wg4846We8guiJCRYfigWvYMAQp59S5Yw9rgOTHFNUhPx2p3Re1FaEs4pM m2ZPZ14LCL7wOimnlzDG69yyzoHqpcsMALThmIfMGI1udUgAhdaWKFEfkV8v7Eb47QiHzK BEWggh+wwOOfnGMi8FZWh6sQsuSYjFW5DWKnhPOr578gwcwxTwcGVgyypxO4VhM0vx6Yxv YbyFeunJwBQdP4D3TTTji8CzsBkDr7NQ1JDGnUtt5Lcl8PNL5ylPhewevHqorOsPikTNFy LJokW+D+8JqazqDpLiXB1kHHy1MGhFDrGZp/wKMeFhOt/TPTmFHbtk5zdbFDsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708626526; a=rsa-sha256; cv=none; b=g/zYOu/gyGtXe/o5QW99JmxQl+WTJGluzO+xXySq0bZ/yNJUoKnfoewV2l5WwCkPXua2hJ AlmQKhn0b9MaKqQwcPteXayduoijBf5ZUioV1951GnDaRbkhf0kLp627SOXGE0R5yyBIfB DemQsGoS6wpNo4M81E5XOAkUkn/T+OE3CEdtxjQmZMYqa3US+/yICT5JpsSC3vHArPUX5U P/WnY82aEMSxA+OIrQk1FTolv1YhiSi3qAyPzf0IqYlBvawRUW2Qt0I8STpIRN50YUuXGW kUAgaa6nD3owWldEmYK7xNjiCRjm7U2x6arrW/gbWZIdCMoLPzEnjkrRpJcrzw== 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 4TghVQ2NqhzjQb; Thu, 22 Feb 2024 18:28: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 41MISkDU019892; Thu, 22 Feb 2024 18:28:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MISkuT019889; Thu, 22 Feb 2024 18:28:46 GMT (envelope-from git) Date: Thu, 22 Feb 2024 18:28:46 GMT Message-Id: <202402221828.41MISkuT019889@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 121be555997b - main - arm: Set NEW_PCIB in DEFAULTS rather than a subset of kernel configs 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 121be555997b3d7727e50d15acabd0ffbf4a4247 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=121be555997b3d7727e50d15acabd0ffbf4a4247 commit 121be555997b3d7727e50d15acabd0ffbf4a4247 Author: Jessica Clarke AuthorDate: 2024-02-22 18:27:45 +0000 Commit: Jessica Clarke CommitDate: 2024-02-22 18:27:45 +0000 arm: Set NEW_PCIB in DEFAULTS rather than a subset of kernel configs All other architectures set NEW_PCIB in DEFAULTS, with arm being the one remaining straggler that only sets it for GENERIC and TEGRA124. ARMADA38X and ARMADAXP contain device pci but don't set NEW_PCIB, however GENERIC claims to support them and as part of that NEW_PCIB support was added to mv_pci, so these configs are most likely just stale. Other than NOTES that just leaves ALPINE as the one kernel with PCI support not covered by GENERIC, but al_pci is supported by arm64 which enables NEW_PCIB, and it's just a generic_pcie_fdt_driver with some fixup code to deal with quirks so should support PCI_RES_BUS just fine. Therefore it is believed that all in-tree kernel configs support NEW_PCIB in reality, and so let's take a step towards removing all the non-NEW_PCIB code by having it always-on everywhere. Reviewed by: emaste, jhb, manu MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D43806 --- sys/arm/conf/DEFAULTS | 2 ++ sys/arm/conf/GENERIC | 1 - sys/arm/conf/TEGRA124 | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/arm/conf/DEFAULTS b/sys/arm/conf/DEFAULTS index d28e7b6302f9..85d090dfa782 100644 --- a/sys/arm/conf/DEFAULTS +++ b/sys/arm/conf/DEFAULTS @@ -6,4 +6,6 @@ device mem # Default congestion control algorithm options CC_CUBIC # include CUBIC congestion control + +options NEW_PCIB options INTRNG # All arm systems use INTRNG these days diff --git a/sys/arm/conf/GENERIC b/sys/arm/conf/GENERIC index f8a39cb370d5..ea4076230c5e 100644 --- a/sys/arm/conf/GENERIC +++ b/sys/arm/conf/GENERIC @@ -98,7 +98,6 @@ device ahci # AHCI-compatible SATA controllers #device ata # Legacy ATA/SATA controllers # PCI -options NEW_PCIB device pci device pci_host_generic diff --git a/sys/arm/conf/TEGRA124 b/sys/arm/conf/TEGRA124 index 9b75bf2e94f8..223dd925e56b 100644 --- a/sys/arm/conf/TEGRA124 +++ b/sys/arm/conf/TEGRA124 @@ -111,7 +111,6 @@ device ums # USB mouse #device wlan_amrr # AMRR transmit rate control algorithm # PCI -options NEW_PCIB device pci # PCI Ethernet NICs that use the common MII bus controller code. From nobody Thu Feb 22 18:30:23 2024 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 4TghXL1FrCz5B8Hw; Thu, 22 Feb 2024 18:30:26 +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 4TghXL0jnqz4h24; Thu, 22 Feb 2024 18:30:26 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708626626; h=from:from:reply-to:subject: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=Q2LnYu3eX2GO09ZGDLboF5vWpgw19LTY1h3gKb6RwLs=; b=bOPyufXgPGWP9Su0FURVJmQkqzuAX74rhFLfb2JwTIUjeXSKd389rQJrP3H/X4Jo8ViV5i 0AQVC1Isr5LfVbHrFydfLfIzyU1lHh/k/XWioffL5hb3vQagIzldo7j5ePdysBzUMaD/j0 tXKr4bHnNJSIBb7EFI4Nqmdnwq7exkd0I46xpFsPE2v09JaoyJ5+nP0td1Mb4JyAxrPjqd QHhRrElAcsQOGwxs5dvT7Up/6OhfHv46J1PKpMsGXFoFkItl/GXG/ZRqS3+QJlNnFdvdP1 gJZTEl+DydemteP2uL8blp/eJi3Gt/zXH70exSfPWwS/n5WlZASeCqgWyMWD2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708626626; h=from:from:reply-to:subject: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=Q2LnYu3eX2GO09ZGDLboF5vWpgw19LTY1h3gKb6RwLs=; b=c/dq3RRGzWT49H1/3GRNUgJ9rTe7l8Bs7VH4nCM7oppiYTvigFG8wW6dXRvyowmlDoTANw jSRX0NQ4VQsX+m1LyKkYZ3obAyJ0xrSrcem1xMG5H2tj9RNvAYT2G055tHaDbIHtPncJ04 E+/gyJV6f7UvjZY+e5BoRWm7Une6Z4Ath2Dp8uH3cqfWE8sG9412iKisylibKby+YjY+Zb uhvSDyw4Q0L5f6SMNULI+qPeP0O0uSTQRmXFKEu2bpOjQI8Oo6R5IU2YaFglWOHYP53510 8FzMRs+T6x3X21FVk7lt3ZqS7YRYSgTG3+h9RPkgN4A15G21FcYCcQnhKQ1sPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708626626; a=rsa-sha256; cv=none; b=kqgkNyOV3MRgdFxjCaSCvVdw76zf9epMB/JovbIemBA5IUL4CdqJ+u6g0hDIn/98T92TUl NtReBTYW3x3EJI0qkzffXi718gCsx1Dnj+7BU0r2/C1ReEaFGNioHCdDTRzO4MIsd7jgP/ qFmFThfnvpr5cyMTdD8X7H/132U3olziIXzy4QpVVXNIrHsRyTIYTFIm82ydIRldhrijrW ECmMGBvUrMXhqe/Etd/QrCdrl2nAQ/CUcToCBNUyJcZhwfqO8hvnuKi889XTZfrB1zxKy7 j98Z91AxaKxKQ9iVC67RvBdGQ0PCv16oTknzHFOsvNjfQHrPQ0maaBeGNGXBEw== Received: from [IPV6:2601:644:937f:4c50:9110:97a:5df4:795c] (unknown [IPv6:2601:644:937f:4c50:9110:97a:5df4:795c]) (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 4TghXK2VFXzK7j; Thu, 22 Feb 2024 18:30:25 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <23101a96-4901-4086-bdbf-dfbab2b66e49@FreeBSD.org> Date: Thu, 22 Feb 2024 10:30:23 -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: 47e073941f4e - main - Import the kernel parts of bhyve/arm64 Content-Language: en-US To: Andrew Turner , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202402211855.41LItsm2033633@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202402211855.41LItsm2033633@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2/21/24 10:55 AM, Andrew Turner wrote: > The branch main has been updated by andrew: > > URL: https://cgit.FreeBSD.org/src/commit/?id=47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b > > commit 47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b > Author: Andrew Turner > AuthorDate: 2024-01-09 15:22:27 +0000 > Commit: Andrew Turner > CommitDate: 2024-02-21 18:55:32 +0000 > > Import the kernel parts of bhyve/arm64 > > To support virtual machines on arm64 add the vmm code. This is based on > earlier work by Mihai Carabas and Alexandru Elisei at University > Politehnica of Bucharest, with further work by myself and Mark Johnston. > > All AArch64 CPUs should work, however only the GICv3 interrupt > controller is supported. There is initial support to allow the GICv2 > to be supported in the future. Only pure Armv8.0 virtualisation is > supported, the Virtualization Host Extensions are not currently used. > > With a separate userspace patch and U-Boot port FreeBSD guests are able > to boot to multiuser mode, and the hypervisor can be tested with the > kvm unit tests. Linux partially boots, but hangs before entering > userspace. Other operating systems are untested. > > Sponsored by: Arm Ltd > Sponsored by: Innovate UK > Sponsored by: The FreeBSD Foundation > Sponsored by: University Politehnica of Bucharest > Differential Revision: https://reviews.freebsd.org/D37428 FYI, sys/arm64/vmm/vmm.c shares a fair bit of code with sys/amd64/vmm/vmm.c and looks to be derived from the amd64 file, so I think it should preserve NetApp's copyright line in addition to Mihai's. -- John Baldwin From nobody Thu Feb 22 18:43:55 2024 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 4Tghqv6NdLz5B9lg; Thu, 22 Feb 2024 18:43: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 4Tghqv5pTHz4jxp; Thu, 22 Feb 2024 18:43:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708627435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vQg6tamwgKK4w29TIsv210V3JQYcupjgwYfLJPGdeEY=; b=i6NGNOTdEt/e8LUJ696KNpUqqelFnCEaHtEuwkGDE7G+/nezcnLQupLxQZH0p6X9vLUPvJ 5faPw5OR1D7xEfwy9nAkxu1PrBe3QN83aoOuGQ4L+mTkMXfImCP+38lJ4pmucNMv+Qv9pM XjkzMPDJHN0FXf53b/dkvynllcOC297CbH4HIN0BR8CFP9MEBk7UUhqDijGXe1Nst+3yeN bVKeqgiN3h20/XdNsIL3FH55xS9dmW2AjP08mcBwQ2iHtC/oXewB7NVdQlsbafPu2F3pvw DdURodY/elsnkfIHa89bp4BOZ/tDKdL7YrS1dqlLX4ge6VjjeMJuxw3t2l3u5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708627435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vQg6tamwgKK4w29TIsv210V3JQYcupjgwYfLJPGdeEY=; b=VXavkxG5hZS4C4LaL3MKFob3TPUjEbtxxlEyvJxjODVpSmUzREwGBW1uiEfJtlwZX4Ikmx h3Pws+nfPUazwE74KsC9QJuEHCEvjgoD1/y9QdnTopXbPh23xIxOReSpJK/KUTPjimsilL jNcATSH4g0S7EPG1Ge3/pYf8TJcLrHWvAXCmGHtDTZrKXGDBosWoToK8snfWuQ4beV9lqo s8Etc131Y31aMxO3pIaJzUJjLyyHuwometQmd4m5Or8q9y5av7HHkIo91dat3xOs6W+UAp i7lEeXio01HjFrta65EDuffOeepYn/FtlaJ/3yI9gh0MRu9D/xF6KFkG17AAfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708627435; a=rsa-sha256; cv=none; b=YDoYxs4GuTTC5yHH/qRmvM6Gc5I0+xDex6A9dhTTi/4poeFpnT1mdXknMjRbiOXbT5S8SZ 7Vv1EW83SWLD4uwxeMfqbZL7neICXhIDRsdGLA031OAuWH26fUrsUCkyh5RtWFYzPmT2iC vlsxwSSOck4b47Aldj7/8xw07KMjcvvc4elxFiIcUI20tB4jSE6L9+YaFq8xN9wqMk1mOi i4Gi+XULsigK0pdSkDwjJEVzWecdf+2nNuzZykb2+D6SPcxXMMGibLlD+3ezBQVkPLnZQF piblmLwn3xo1p4pkx+fPWeJ7A0C3jv1dtO3+Rcj9M2AUpMH68/yN/BRDvq133Q== 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 4Tghqv4lfYzjjs; Thu, 22 Feb 2024 18:43: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 41MIht5r052652; Thu, 22 Feb 2024 18:43:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MIhtVO052649; Thu, 22 Feb 2024 18:43:55 GMT (envelope-from git) Date: Thu, 22 Feb 2024 18:43:55 GMT Message-Id: <202402221843.41MIhtVO052649@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: f2fcb68074a5 - main - acpi: Defer reserving resources for ACPI 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: f2fcb68074a51a8b399dc80d4c03fbe98a0ab92c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f2fcb68074a51a8b399dc80d4c03fbe98a0ab92c commit f2fcb68074a51a8b399dc80d4c03fbe98a0ab92c Author: John Baldwin AuthorDate: 2024-02-22 18:43:43 +0000 Commit: John Baldwin CommitDate: 2024-02-22 18:43:43 +0000 acpi: Defer reserving resources for ACPI devices The goal of reserving firmware-assigned resources is to ensure that "wildcard" resource allocation requests will not claim an address range that is actually in use even if no attached driver is actively using that range. However, the current approach can break in some cases. In particular, ACPI can enumerate devices behind PCI bridges that don't show up in a normal PCI scan, but those device_t objects can end up as direct children of acpi0. Reserving resources for those devices directly from acpi0 ends up conflicting with later attempts to reserve the PCI bridge windows. As a workaround, defer reserving unclaimed resources until after the initial probe and attach scan. Eventually this pass of reserving unclaimed resources can be moved earlier, but it requires changes to other drivers in the tree to permit enumerating devices and reserving firmware-assigned resources in a depth-first traversal before attaching devices whose drivers request wildcard allocations. PR: 272507 Reported by: Justin Tocci Reported by: john@feith.com, many others Tested by: Oleg Sidorkin , dch --- sys/dev/acpica/acpi.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 43aed279ab35..defca923e36c 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1369,8 +1369,17 @@ acpi_sysres_alloc(device_t dev) } /* - * Reserve declared resources for devices found during attach once system - * resources have been allocated. + * Reserve declared resources for active devices found during the + * namespace scan once the boot-time attach of devices has completed. + * + * Ideally reserving firmware-assigned resources would work in a + * depth-first traversal of the device namespace, but this is + * complicated. In particular, not all resources are enumerated by + * ACPI (e.g. PCI bridges and devices enumerate their resources via + * other means). Some systems also enumerate devices via ACPI behind + * PCI bridges but without a matching a PCI device_t enumerated via + * PCI bus scanning, the device_t's end up as direct children of + * acpi0. Doing this scan late is not ideal, but works for now. */ static void acpi_reserve_resources(device_t dev) @@ -2257,9 +2266,6 @@ acpi_probe_children(device_t bus) /* Pre-allocate resources for our rman from any sysresource devices. */ acpi_sysres_alloc(bus); - /* Reserve resources already allocated to children. */ - acpi_reserve_resources(bus); - /* Create any static children by calling device identify methods. */ ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "device identify routines\n")); bus_generic_probe(bus); @@ -2268,6 +2274,12 @@ acpi_probe_children(device_t bus) ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "acpi bus_generic_attach\n")); bus_generic_attach(bus); + /* + * Reserve resources allocated to children but not yet allocated + * by a driver. + */ + acpi_reserve_resources(bus); + /* Attach wake sysctls. */ acpi_wake_sysctl_walk(bus); From nobody Thu Feb 22 18:45:35 2024 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 4Tghsr0jvDz5B9vJ; Thu, 22 Feb 2024 18:45: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 4Tghsr0C2Pz4k0b; Thu, 22 Feb 2024 18:45:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708627536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fHTXNyDVF9w7l7qh6V6RUSH6xD1bRnCVeAia1sOVWw8=; b=lVGUc8QWY81Jfjk2+4myZv94gWEFATRs0BscOKJ4Aj6pZyO1OICeT+Tly/ItYMBUlKiaCE aN+IGIL/nG42ZT9bh/NtyTR2Wx188NgqmizSoGn6ZxofcaLYmwkjZ7TvwMkPzbURj45syQ RqpCHfa4Nq6yCpAHfBI1Mh/bBGN1UpzjMpl19FANc65fWHoZ64BbGo5A/Wn1soa81RKGnI z/vf2DKtR2MaM4alTVdSJdKsaMpbT0/U9uLVQfVq9RjIHUE3GQgBmSsuQZSrA7Y1R/z7Ex zAIJ7hosiog2KPippGzAfpnPr0YVlx8swQ0ShYaMsZLrPAVaB6Sq5ChftvNYqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708627536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fHTXNyDVF9w7l7qh6V6RUSH6xD1bRnCVeAia1sOVWw8=; b=iMk/GjQSzvMI3WKAJcEe2hU6yfSN7g/235FH8ZfkPJiA8DN7PzufWD9dK/yBp8dT4WMIem 9Y8pfrnz/GI5stqSYSE+ZsxihLJZ6XudAQzVOMBGSshPuT/AmrAR8V4tWHArhT3nMd+baJ 3lI8m0L3GhDGQAA2WOiRNLk71JWjwriOpqIWp1KLIrLdzkaEfrmfOUq0fx6nTmBz5UoFOa Tqq8LNasVQhWZOQvM8NSeOW7IB8JTNH979oBqaDQtstg7kYOqy+JKpXoXbG9zwugEj8uCB CuC65Rd1hAXOy7YXDEa6dSIWUBHBI06kaVzxQzXp3LlbwoxIRnLtp2zHAAMb0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708627536; a=rsa-sha256; cv=none; b=RrNPVU/BvgMEyIqf4z7s3VmLlf3QJh/7SeOfYPvfspOIBHbKeI4GIu+2ByvTuBcvtXZ5t2 hgw38SJUlwN8BKuJ2mbBmr6Elig4auVdiYPmMBeX0RBlJTUmo6SKtBZs/gF/JLT/IvDSmu 3qSnwy5tjSubQZEm1usG/OJUkBpS0xygVLu9b++wK4/rN7MWOLvJ0ev2kGYqEpK+82Bz8m zFBeSuu3xCV0otYHk7L4E/njRUSF3foPy8Z9LA9O9bD53JOZ7ZxBV0H+CkpN4l0MQ67DEm FbJocXYOR51Czd37uFjpYom5Rp/A8sHGbMtJ3vxM79LN8Ro2cszxTvVf8srEiA== 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 4Tghsq6MHLzk8C; Thu, 22 Feb 2024 18:45: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 41MIjZfq053069; Thu, 22 Feb 2024 18:45:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MIjZOk053066; Thu, 22 Feb 2024 18:45:35 GMT (envelope-from git) Date: Thu, 22 Feb 2024 18:45:35 GMT Message-Id: <202402221845.41MIjZOk053066@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: 1b09a310b78c - main - Add link from if_iwlwifi(4) to iwlwifi(4) 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: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1b09a310b78cd2965e3a2fc392327d9cc1376a44 Auto-Submitted: auto-generated The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=1b09a310b78cd2965e3a2fc392327d9cc1376a44 commit 1b09a310b78cd2965e3a2fc392327d9cc1376a44 Author: Li-Wen Hsu AuthorDate: 2024-02-22 18:45:22 +0000 Commit: Li-Wen Hsu CommitDate: 2024-02-22 18:45:22 +0000 Add link from if_iwlwifi(4) to iwlwifi(4) MFC after: 3 days Sponsored by: The FreeBSD Foundation --- share/man/man4/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index ab951b107f27..cfa42afa6a71 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -690,6 +690,7 @@ MLINKS+=ipfirewall.4 ipaccounting.4 \ MLINKS+=ipheth.4 if_ipheth.4 MLINKS+=ipw.4 if_ipw.4 MLINKS+=iwi.4 if_iwi.4 +MLINKS+=iwlwifi.4 if_iwlwifi.4 MLINKS+=iwm.4 if_iwm.4 MLINKS+=iwn.4 if_iwn.4 MLINKS+=ixgbe.4 ix.4 From nobody Thu Feb 22 19:40:20 2024 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 4Tgk503rlsz5BGYJ; Thu, 22 Feb 2024 19:40: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 4Tgk5037Kkz4pW9; Thu, 22 Feb 2024 19: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=1708630820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=liZWINqpIXrXclOsBgLKecN420Eebf7fGjRiQN85b2U=; b=JJfCpoE2CJbE21RFlSLFm+PI3cRIKRmuRE6chlUem70I+qBTWgC0GuROar9FJiVkyDn11s GVhzonlGfV6h7+wK2CIBvR3HTEQtIg7m4lIVa/Y4CjuF/YAzzH0JmZzGgvqOkZD+8XcfCB oANr8sBjJ5vHvyLJF0KgC8ay6K4RiAz41Y/3e02MaQvlXiXXyEIdIniFPJD1Q3SWh8Gck5 UAzKYn8XJuCermIvAKT/fBeH26y8IRqeBcg0KguCh0IaY813laAgg0DjFZcgKn/RHXMXqN +KavwEOwuMF1qJtEkFlFvQj2gffMY1JLk8DbNVPj7gHBe8x9PjSfYl/PjKTusw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708630820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=liZWINqpIXrXclOsBgLKecN420Eebf7fGjRiQN85b2U=; b=GXUSqBpLZEtOZc4RPWOhhCIQJ4GjoUQ7fUZprPkrvjE+e8Wq7bGqXDBzLAgcd3aKrJfdbm wZjnhYQ/672CYKS0fCHygyeOmwr+CjYRftz0XpNV+ZHe84UKYkFcpeU8cM6F8b5ai7Hx6I aiWJIUZiplPVwfjREwUiGXFp4SUtxfEaKg54wGriEZ5QLappSZ+eujcjn51j5uEt4b5g2g fTwPCtvJZcgfsltd+RrHR4ybPM6jfv2dbSiVgnWZahWSyqou/8nvW9FE6O3gbokj+r6tOv Yi/92C21vQWO1I42XhmbhCv4Lt87QwZB1flD2VtY/jbUft3UYApLyyCIKNbAXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708630820; a=rsa-sha256; cv=none; b=kb3ERx2BZhR1rlspw+vI0ihvkU5iaZOV38J7byT5seVqLHugHyzScp+33TD4obfUMi/Rss XDChM9SWORljP3pTGCxheKKcA5x6ar08nzHAGuDpd3Bz/uP8nOozTtvbJqulyvrToIIbyZ fYOltf0+mw0Cz2S9XtW0Rl2+Cnpxjb8OvDqerlYRPHHX4D/krHNEjZio8tkSdDlKTmubbE 3DicvOFUpAQ3A7cvUUtsdWzETeh0stSrkSaMGE/qAT6GauFZNOtXOhtGyen+pg6po2YoYM 2+P8973xGVAawibB6jpQoTaFTprLx00/+eomF3WGgcOWnwEydsE5gL+y1tjVpQ== 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 4Tgk5022NqzkxZ; Thu, 22 Feb 2024 19: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 41MJeKMN047307; Thu, 22 Feb 2024 19: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 41MJeK4b047304; Thu, 22 Feb 2024 19:40:20 GMT (envelope-from git) Date: Thu, 22 Feb 2024 19:40:20 GMT Message-Id: <202402221940.41MJeK4b047304@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: d646dca3bc1b - main - bge(4): Fix some typos in source code comments 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: d646dca3bc1bbd3bfd38bc5ed375d7a346768dcf Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=d646dca3bc1bbd3bfd38bc5ed375d7a346768dcf commit d646dca3bc1bbd3bfd38bc5ed375d7a346768dcf Author: Gordon Bergling AuthorDate: 2024-02-22 19:38:50 +0000 Commit: Gordon Bergling CommitDate: 2024-02-22 19:40:10 +0000 bge(4): Fix some typos in source code comments - s/firwmare/firmware/ - s/recue/reduce/ - s/throughpout/throughput/ - s/hardwares/hardware/ Obtainted from: NetBSD MFC after: 3 days --- sys/dev/bge/if_bge.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index ce4d0856f447..15cd3b0df8e9 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -701,7 +701,7 @@ bge_ape_read_fw_ver(struct bge_softc *sc) sc->bge_mfw_flags |= BGE_MFW_ON_APE; - /* Fetch the APE firwmare type and version. */ + /* Fetch the APE firmware type and version. */ apedata = APE_READ_4(sc, BGE_APE_FW_VERSION); features = APE_READ_4(sc, BGE_APE_FW_FEATURES); if ((features & BGE_APE_FW_FEATURE_NCSI) != 0) { @@ -2159,7 +2159,7 @@ bge_blockinit(struct bge_softc *sc) * The BD ring replenish thresholds control how often the * hardware fetches new BD's from the producer rings in host * memory. Setting the value too low on a busy system can - * starve the hardware and recue the throughpout. + * starve the hardware and reduce the throughput. * * Set the BD ring replentish thresholds. The recommended * values are 1/8th the number of descriptors allocated to @@ -2295,7 +2295,7 @@ bge_blockinit(struct bge_softc *sc) */ CSR_WRITE_4(sc, BGE_RXLP_CFG, 0x181); - /* Inialize RX list placement stats mask. */ + /* Initialize RX list placement stats mask. */ CSR_WRITE_4(sc, BGE_RXLP_STATS_ENABLE_MASK, 0x007FFFFF); CSR_WRITE_4(sc, BGE_RXLP_STATS_CTL, 0x1); @@ -3536,7 +3536,7 @@ bge_attach(device_t dev) * known bug which can't handle TSO if Ethernet header + IP/TCP * header is greater than 80 bytes. A workaround for the TSO * bug exist but it seems it's too expensive than not using - * TSO at all. Some hardwares also have the TSO bug so limit + * TSO at all. Some hardware also have the TSO bug so limit * the TSO to the controllers that are not affected TSO issues * (e.g. 5755 or higher). */ From nobody Thu Feb 22 20:10:48 2024 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 4TgkmR0WBKz5BKMs for ; Thu, 22 Feb 2024 20:11:03 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) (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 4TgkmQ5drzz4s8G for ; Thu, 22 Feb 2024 20:11:02 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-564372fb762so58320a12.0 for ; Thu, 22 Feb 2024 12:11:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1708632660; x=1709237460; 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=xN2jAPHWu1hUzRDZcsqA/Far3O8FpaiMVVbq4GuoqoM=; b=qvuoFyd/9qW0f0/DBKdCQAcYkL+sX8uoB6MDI1RxBWmHlYm8MEb7gDGHmMgzrVB3jE dOHYOKSgpNmcsiMTieh49thg4/OF5atMzaONAE+HvQOfGoyD1vAnBADs9EBNAOV3zJi8 w2tIx7tpAb1VTDzxp4cT/Nfi6bpCQCExVu+CUUVLTbU2bpRNYan+s0I2ptYNl02leWIZ Ov8wQlFemeXQtTd7Gh9keJZqe9sofE+qGjUV/wM4IpTaiRVowcYWP3VRzQgB2Dx/GnWk VR9NL9hQoAybd96/59o01EVx9gS/7o5v1qP3B2ZgaI+G2HO2GeASPQ7oOh5afEZFWOlv pW2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708632660; x=1709237460; 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=xN2jAPHWu1hUzRDZcsqA/Far3O8FpaiMVVbq4GuoqoM=; b=tv5dT97GCgq8pJH6QTEBT7m8lSXJW+Lbe6aHCHRA/gRTBHBhCKEM3amz1bXqtmzlK3 OdcAB4+P19DoccHE5dtSugg+QjVqPEi5NC7tglZUAnTvN1IGEqngAOT4QxDT1NTQGnhp B4Yg7Hyd1kfKNXWaQ+ghIttDeApNlO4lBwltnleW9WvYEiCjxqN4UH8irnwX4RZUEZ8x fur1Tjwf8Jz23vV5Abr7NBYA0csIijmT7izl1YYjkNLonMnZqEYSrvk7ZnRKu9Dybpjd d3I56bQM9oqR3nLMsUsUFXuonpb061i4RLiT99yn64iwznNMC/z5BVspYRBKfWpre7is 2JhA== X-Forwarded-Encrypted: i=1; AJvYcCX3qpz513mUzrT91qvQpXHpJxDlJvfjZ2fx+elVJpnE4jZghw39tCpDjZSm2bly/qC1Wm1UIRG6xTJVDRWZJmls78Hy850EIItd4llj3NRD X-Gm-Message-State: AOJu0Yy8qTftEtGls1cluyBVr5WzThovMxJAYUERbRKyichcFdniMCue aBrr2SWjzloNgq0bpzOgki7LGJyEtI+ILMfasMsWJjHLKbQ3N2XAS5ZfAjR0zsIsclSKGPQKceL GBnSkOZK5DFgSpUA1I+oU66I9bOHVdF5OxfcLVRSDXdXOMIsILIg= X-Google-Smtp-Source: AGHT+IH/gBt3b+6GzPE8Ve9z3CzVlXs3S5IOdvyFVEE61J/vWNZlAm0r6XGBWx9wfAsutMWZbQg1T3xPoTYO11izg30= X-Received: by 2002:aa7:d713:0:b0:564:3b2e:2a2e with SMTP id t19-20020aa7d713000000b005643b2e2a2emr9298621edq.9.1708632659990; Thu, 22 Feb 2024 12:10:59 -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: <202402211855.41LItsm2033633@gitrepo.freebsd.org> <23101a96-4901-4086-bdbf-dfbab2b66e49@FreeBSD.org> In-Reply-To: <23101a96-4901-4086-bdbf-dfbab2b66e49@FreeBSD.org> From: Warner Losh Date: Thu, 22 Feb 2024 13:10:48 -0700 Message-ID: Subject: Re: git: 47e073941f4e - main - Import the kernel parts of bhyve/arm64 To: John Baldwin Cc: Andrew Turner , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000c02ced0611fe0a4f" X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4TgkmQ5drzz4s8G 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] --000000000000c02ced0611fe0a4f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Feb 22, 2024 at 11:30=E2=80=AFAM John Baldwin wro= te: > On 2/21/24 10:55 AM, Andrew Turner wrote: > > The branch main has been updated by andrew: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D47e073941f4e7ca6e9bde3fa65abbfc= fed6bfa2b > > > > commit 47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b > > Author: Andrew Turner > > AuthorDate: 2024-01-09 15:22:27 +0000 > > Commit: Andrew Turner > > CommitDate: 2024-02-21 18:55:32 +0000 > > > > Import the kernel parts of bhyve/arm64 > > > > To support virtual machines on arm64 add the vmm code. This is > based on > > earlier work by Mihai Carabas and Alexandru Elisei at University > > Politehnica of Bucharest, with further work by myself and Mark > Johnston. > > > > All AArch64 CPUs should work, however only the GICv3 interrupt > > controller is supported. There is initial support to allow the GIC= v2 > > to be supported in the future. Only pure Armv8.0 virtualisation is > > supported, the Virtualization Host Extensions are not currently > used. > > > > With a separate userspace patch and U-Boot port FreeBSD guests are > able > > to boot to multiuser mode, and the hypervisor can be tested with t= he > > kvm unit tests. Linux partially boots, but hangs before entering > > userspace. Other operating systems are untested. > > > > Sponsored by: Arm Ltd > > Sponsored by: Innovate UK > > Sponsored by: The FreeBSD Foundation > > Sponsored by: University Politehnica of Bucharest > > Differential Revision: https://reviews.freebsd.org/D37428 > > FYI, sys/arm64/vmm/vmm.c shares a fair bit of code with sys/amd64/vmm/vmm= .c > and looks to be derived from the amd64 file, so I think it should preserv= e > NetApp's copyright line in addition to Mihai's. > In general, the advice I've been giving is that one should retain copyrights when there's at least 10%-20% remaining of the original work. And one should hesitate to add them unless you've contributed 10%-20% or more to the work (ideally more, but sometimes that's gets squishy because the underlying law is based on words like substantial and de-minimus, which don't translate well to line counts, and for large works what is substantial can be a bit subjective). If they share so much, maybe we should also look at sharing directly, rather than by cut and paste in the future. Warner --000000000000c02ced0611fe0a4f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


    =
    On Thu, Feb 22, 2024 at 11:30=E2=80= =AFAM John Baldwin <jhb@freebsd.org> wrote:
    On= 2/21/24 10:55 AM, Andrew Turner wrote:
    > The branch main has been updated by andrew:
    >
    > URL:
    https://= cgit.FreeBSD.org/src/commit/?id=3D47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b<= /a>
    >
    > commit 47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b
    > Author:=C2=A0 =C2=A0 =C2=A0Andrew Turner <andrew@FreeBSD.org> > AuthorDate: 2024-01-09 15:22:27 +0000
    > Commit:=C2=A0 =C2=A0 =C2=A0Andrew Turner <andrew@FreeBSD.org> > CommitDate: 2024-02-21 18:55:32 +0000
    >
    >=C2=A0 =C2=A0 =C2=A0 Import the kernel parts of bhyve/arm64
    >=C2=A0 =C2=A0 =C2=A0
    >=C2=A0 =C2=A0 =C2=A0 To support virtual machines on arm64 add the vmm c= ode. This is based on
    >=C2=A0 =C2=A0 =C2=A0 earlier work by Mihai Carabas and Alexandru Elisei= at University
    >=C2=A0 =C2=A0 =C2=A0 Politehnica of Bucharest, with further work by mys= elf and Mark Johnston.
    >=C2=A0 =C2=A0 =C2=A0
    >=C2=A0 =C2=A0 =C2=A0 All AArch64 CPUs should work, however only the GIC= v3 interrupt
    >=C2=A0 =C2=A0 =C2=A0 controller is supported. There is initial support = to allow the GICv2
    >=C2=A0 =C2=A0 =C2=A0 to be supported in the future. Only pure Armv8.0 v= irtualisation is
    >=C2=A0 =C2=A0 =C2=A0 supported, the Virtualization Host Extensions are = not currently used.
    >=C2=A0 =C2=A0 =C2=A0
    >=C2=A0 =C2=A0 =C2=A0 With a separate userspace patch and U-Boot port Fr= eeBSD guests are able
    >=C2=A0 =C2=A0 =C2=A0 to boot to multiuser mode, and the hypervisor can = be tested with the
    >=C2=A0 =C2=A0 =C2=A0 kvm unit tests. Linux partially boots, but hangs b= efore entering
    >=C2=A0 =C2=A0 =C2=A0 userspace. Other operating systems are untested. >=C2=A0 =C2=A0 =C2=A0
    >=C2=A0 =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0Arm Ltd
    >=C2=A0 =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0Innovate UK
    >=C2=A0 =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0The FreeBSD Foundation >=C2=A0 =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0University Politehnica o= f Bucharest
    >=C2=A0 =C2=A0 =C2=A0 Differential Revision:=C2=A0
    https://revi= ews.freebsd.org/D37428

    FYI, sys/arm64/vmm/vmm.c shares a fair bit of code with sys/amd64/vmm/vmm.c=
    and looks to be derived from the amd64 file, so I think it should preserve<= br> NetApp's copyright line in addition to Mihai's.

    In general, the advice I've been giving is that one sh= ould retain copyrights when
    there's at least 10%-20% remainin= g of the original work. And one should hesitate to add
    them unles= s you've contributed=C2=A010%-20% or more to the work (ideally more, bu= t sometimes
    that's gets squishy because the underlying law is= based on words like substantial
    and de-minimus, which don't = translate well to line counts, and for large works what
    is substa= ntial can be a bit subjective).

    If they share so m= uch, maybe we should also look at sharing directly, rather than by
    cut and paste in the future.

    Warner
    <= /div> --000000000000c02ced0611fe0a4f-- From nobody Thu Feb 22 20:56:21 2024 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 4Tglmj4Xgcz5BPJQ; Thu, 22 Feb 2024 20:56: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 4Tglmj40lvz3wvK; Thu, 22 Feb 2024 20:56:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708635381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OIpEA8QI7YIPYyr7kqvScof02SoPH7yc5yG76E/FeHk=; b=BjFHRT4vcbve78rMEYcJVag5AqOTG4zDdtSdEYLzHSDeiGHznde8vrMr4ZzZHAhVMQjRYH UMxTXDb/V2DHx5MusNsVjZvzV17+cBfqwC0s5HOmJ2Fyta7lbXDVnIph+yzl8ClH3eHtEP rpLUZPMjEooy4MpGE4rVnVrB0fLewCb2XSEQmSkAAQJyp14ps0I6CRLQ1k0pfTmNAZ64Jg rXnBSb0qwylqXliDDigy20yVXe/4Sz+b+4EgtwqX0d6DO225s6Mt1C8tC++ndEPY0AZ5A+ KFI0skqqTJ30RMz+L3USB3vDnLr//zgFrX3U8itxek0YiDkDoXvgJ2cM5JkSWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708635381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OIpEA8QI7YIPYyr7kqvScof02SoPH7yc5yG76E/FeHk=; b=EldjmV6l0uc2QVAgTjfw4+dl4osTPM7g0JhG+qwK3KxUG+Kd1aAGLMFUuXT8rYT16dLtPh OnLJzV6zOMX6zc4J6sWa4DTqIQ1W+J2/LiFG/v/sIELLRBIBK/XVBvpN13pI/e84iygE7X Er/I4bV51XvSY93+op9+hDUeM2xHrVyRJsNz6Tk31lgruzxVedQXnvz+eAlSnmVREFiwlw wKop0CW+rjIj3rFz/9I+2sLFpWSNVyheqEOYekAF2EU1JrmVeIpoYHemxxuB3rSac6sd1B sb4DOXRmN4nYLD1VHK4upSozKfc/vOZwuokEpAajFLxbWS8f8uZZB80pPEfm7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708635381; a=rsa-sha256; cv=none; b=Ng05iAwHAmGOEElkpD5MhafBzxj03do+MDodt2yO4/Ckh+YrIGcs3OzapSMc668u/zbZHt oi9wsDL4eR+anheVlt7lGYncSrVGnaL+4svxbXm1ghNewZWFvNq84iIQOidXIUd8E2wtW9 ys3Zloyg4Fq0t9LR5ly5tKvUGEBw6v3p/s+kWnpGxhTnUIrx3l1Job4Y4Jcn8dzv+ifLqO iNhfgj0/nNRmaT6ly4tko02sQu9x7aHko9mOTyiirkSfZaxQjJIZAjz9zDC1z8Bb8fuHZl SR1dICM9Ex+CylfnnW1I7YSNQg8mcYyJuJadq1BnPGfXbFoh/Bu9xD+TAHtT0w== 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 4Tglmj33Y1zn8H; Thu, 22 Feb 2024 20:56: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 41MKuLFr072406; Thu, 22 Feb 2024 20:56:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MKuL5Z072403; Thu, 22 Feb 2024 20:56:21 GMT (envelope-from git) Date: Thu, 22 Feb 2024 20:56:21 GMT Message-Id: <202402222056.41MKuL5Z072403@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: ff6b71c2b214 - main - rescue: Stop using LDADD_zstd 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ff6b71c2b214c8a22c53c79228ef51e445508cc2 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=ff6b71c2b214c8a22c53c79228ef51e445508cc2 commit ff6b71c2b214c8a22c53c79228ef51e445508cc2 Author: Jessica Clarke AuthorDate: 2024-02-22 20:56:05 +0000 Commit: Jessica Clarke CommitDate: 2024-02-22 20:56:05 +0000 rescue: Stop using LDADD_zstd Ideally we'd be able to use LDADD_foo here for all our various libs and get the implicit dependencies, but rescue is a bit special. Historically this was just used to pick up the "private" in the name automatically (as far as I can tell), but now that _DP_pthread includes c we end up pulling in a -lc from this (along with -lcompiler_rt and -lsys). This results in -lc being before -lmd (and after, implictly, from the compiler driver), which, for the specific situation here, results in both libc.a's and libmd.a's md5c.o being included, giving duplicate definitions of _libmd_MD5Init and other symbols. With LLD 16+ we currently make that not an error for other reasons (which should probably be fixed), but not for older versions, nor for BFD, and so the build fails. Fix all this by just using -lprivatezstd in place of LDADD_zstd, which results in the exact same clang command line as we used to have prior to adding c (and sys) to _DP_pthread when linking rescue. Note that bsdbox already uses -lprivatezstd rather than LDADD_zstd. This reverts commit 5fead429ebb3800fdd3fc0817d2c330b2a8d640f. Reviewed by: imp Fixes: 99ea67573164 ("lib{c,sys}: move auxargs more firmly into libsys") --- rescue/rescue/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rescue/rescue/Makefile b/rescue/rescue/Makefile index 5d5c609eb218..c1ba22885618 100644 --- a/rescue/rescue/Makefile +++ b/rescue/rescue/Makefile @@ -216,7 +216,7 @@ CRUNCH_ALIAS_xz= unxz lzma unlzma xzcat lzcat CRUNCH_PROGS_usr.bin+= zstd CRUNCH_ALIAS_zstd= unzstd zstdcat zstdmt -CRUNCH_LIBS+= ${LDADD_zstd} +CRUNCH_LIBS+= -lprivatezstd CRUNCH_PROGS_usr.bin+= fetch CRUNCH_LIBS+= -lfetch From nobody Thu Feb 22 22:39:31 2024 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 4Tgp3m0wFZz5BZHB; Thu, 22 Feb 2024 22:39: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 4Tgp3l6LZDz4F4G; Thu, 22 Feb 2024 22:39:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708641571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M78agfIl0bxjeBcuSEjLoJqBDsn+MXjloSOW5ScPQA0=; b=StyzmTrtgueQPmMqwS9Xf5uKyPCmOaLTya2upP1OoJubX+JawhZLfJERhfDRKpZphRl9ll StZMuxbGbOpN5msl7VyJU9y8mPI3d17GSzfm+FTtbD1qBRj5BSxhzkVXSoh1BYhz7exJ+t JR3Q4sBntepS6lS5OMBYHxlM+EDJ953QC4dK5Px/Nzgff9DPgUOELAmk2WitQeKMUIASn2 yALcQaa63Nd7Nn5miNPu4gjb7ktyPBy8cQu2n3H6VFw82puh014vkn2j2K7I5DAsW8Yzuz OGvSf1E7ylopi4bs+ejVzuYEpHeDFk8/aFCqJRVyknlW3iY5hv6B8upcy2eXwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708641571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M78agfIl0bxjeBcuSEjLoJqBDsn+MXjloSOW5ScPQA0=; b=SzemRMQCEJMu06Hq2M6XPU6lL9tHcualCb3grzDpbX4BlZRJYesu75Op9pKMcDFMWYjv/B JNQ2FVI1hJV/HGIQWJSHgLgO6CixkviAw3AF/1B2x5HYwR6NxzcRKPYEGeYj1xJENbCFS0 PeOERxItlpzeozj3pOLTdP67HAhFrA/OecBioZUopENmd4En6IB/G4QmPLVIV+zaHsNzZM 95nRJKIk0Ii4zt/bpOc2dmYplq+2yuLfNJhngirvVzOElpG8gshncjXeTOUqnzvSkSUYEh 8TGnyN4FhA72z1O5a7Q1Z+o4RStPq3eJcAylAjWccoh5qrAm58Yb8w+Hip83Fg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708641571; a=rsa-sha256; cv=none; b=V0uhTqe0PGBZTVkK9N+8OpdV36Rg7oCJGhEUUMsrAWZ0TcLcykEeJVcjgqGTZ0ZuP5u7+h jo5PcszJxrmF65yvdODsGNyDsw3/MQstPrIrEARZ5f9LWHTGCxVR37BjJnL5b6ISHdcXUV NjuvV29HMIZPYXzHk993FIfEtIyXrT0ZZGuuhVrRhNZ/DQMjHdJIzmguu1JBlOpD+Tg9wJ NYyvgDygYwPxu5S8B12EIn7sxzuKJlyYG74BwCFr6PrkIr/LecED0msh6LnlM/tyR5DCMr 7knIECWuSpjnl/L+KxhRbQF39cTuGVhRUmo3+5GibFSArVrB69qhShzI6wmFBg== 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 4Tgp3l5PTQzqf9; Thu, 22 Feb 2024 22:39: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 41MMdVrQ043471; Thu, 22 Feb 2024 22:39:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MMdVHX043468; Thu, 22 Feb 2024 22:39:31 GMT (envelope-from git) Date: Thu, 22 Feb 2024 22:39:31 GMT Message-Id: <202402222239.41MMdVHX043468@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 89c1e54a71cc - main - ath(4): always enable 11n 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 89c1e54a71cc4e04d4c575ee6df956a12e163cde Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=89c1e54a71cc4e04d4c575ee6df956a12e163cde commit 89c1e54a71cc4e04d4c575ee6df956a12e163cde Author: Bjoern A. Zeeb AuthorDate: 2024-02-18 18:16:24 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-22 22:34:17 +0000 ath(4): always enable 11n Enabling 11n for ath(4) so far was handled by a kernel option, which was only enabled for certain kernel configurations. In order to allow loading ath(4) as a module with 11n support on all platforms, remove the kernel option and unconditionally enable 11n in ath(4). Reported by: pkubaj Discussed with: adrian in D43549. Reviewed by: adrian, imp Differential Revision: https://reviews.freebsd.org/D43964 --- sys/amd64/conf/GENERIC | 1 - sys/arm/conf/ARMADA38X | 1 - sys/conf/options | 1 - sys/dev/ath/if_athvar.h | 1 + sys/i386/conf/GENERIC | 1 - sys/powerpc/conf/GENERIC64 | 1 - sys/powerpc/conf/GENERIC64LE | 1 - 7 files changed, 1 insertion(+), 6 deletions(-) diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 1c1fde99ba8e..cfdfb2c89d4a 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -305,7 +305,6 @@ device wlan_amrr # AMRR transmit rate control algorithm device ath # Atheros CardBus/PCI NICs device ath_hal # Atheros CardBus/PCI chip support options AH_AR5416_INTERRUPT_MITIGATION # AR5416 interrupt mitigation -options ATH_ENABLE_11N # Enable 802.11n support for AR5416 and later device ath_rate_sample # SampleRate tx rate control for ath #device bwi # Broadcom BCM430x/BCM431x wireless NICs. #device bwn # Broadcom BCM43xx wireless NICs. diff --git a/sys/arm/conf/ARMADA38X b/sys/arm/conf/ARMADA38X index d0c7ddcef60b..bb7ef098f350 100644 --- a/sys/arm/conf/ARMADA38X +++ b/sys/arm/conf/ARMADA38X @@ -90,7 +90,6 @@ device wlan # 802.11 support device ath # Atheros CardBus/PCI NICs device ath_hal device ath_rate_sample -options ATH_ENABLE_11N # CESA device cesa diff --git a/sys/conf/options b/sys/conf/options index f20e43aad962..555484360a2b 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -816,7 +816,6 @@ ATH_TXBUF opt_ath.h ATH_RXBUF opt_ath.h ATH_DIAGAPI opt_ath.h ATH_TX99_DIAG opt_ath.h -ATH_ENABLE_11N opt_ath.h ATH_ENABLE_DFS opt_ath.h ATH_EEPROM_FIRMWARE opt_ath.h ATH_ENABLE_RADIOTAP_VENDOR_EXT opt_ath.h diff --git a/sys/dev/ath/if_athvar.h b/sys/dev/ath/if_athvar.h index f706b360946a..96c4318d5987 100644 --- a/sys/dev/ath/if_athvar.h +++ b/sys/dev/ath/if_athvar.h @@ -59,6 +59,7 @@ /* * 802.11n requires more TX and RX buffers to do AMPDU. */ +#define ATH_ENABLE_11N /* 802.11n support for AR5416 and later */ #ifdef ATH_ENABLE_11N #define ATH_TXBUF 512 #define ATH_RXBUF 512 diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC index 948c44114d7d..461a21fe7b70 100644 --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -261,7 +261,6 @@ device wlan_amrr # AMRR transmit rate control algorithm device ath # Atheros CardBus/PCI NICs device ath_hal # Atheros CardBus/PCI chip support options AH_AR5416_INTERRUPT_MITIGATION # AR5416 interrupt mitigation -options ATH_ENABLE_11N # Enable 802.11n support for AR5416 and later device ath_rate_sample # SampleRate tx rate control for ath #device bwi # Broadcom BCM430x/BCM431x wireless NICs. #device bwn # Broadcom BCM43xx wireless NICs. diff --git a/sys/powerpc/conf/GENERIC64 b/sys/powerpc/conf/GENERIC64 index ac041c420ee0..9d2de9c8095b 100644 --- a/sys/powerpc/conf/GENERIC64 +++ b/sys/powerpc/conf/GENERIC64 @@ -244,7 +244,6 @@ device wlan_amrr # AMRR transmit rate control algorithm device ath # Atheros CardBus/PCI NICs device ath_hal # Atheros CardBus/PCI chip support options AH_AR5416_INTERRUPT_MITIGATION # AR5416 interrupt mitigation -options ATH_ENABLE_11N # Enable 802.11n support for AR5416 and later device ath_rate_sample # SampleRate tx rate control for ath # FireWire support diff --git a/sys/powerpc/conf/GENERIC64LE b/sys/powerpc/conf/GENERIC64LE index d90018802d37..6ca1a01e5969 100644 --- a/sys/powerpc/conf/GENERIC64LE +++ b/sys/powerpc/conf/GENERIC64LE @@ -240,7 +240,6 @@ device wlan_amrr # AMRR transmit rate control algorithm device ath # Atheros CardBus/PCI NICs device ath_hal # Atheros CardBus/PCI chip support options AH_AR5416_INTERRUPT_MITIGATION # AR5416 interrupt mitigation -options ATH_ENABLE_11N # Enable 802.11n support for AR5416 and later device ath_rate_sample # SampleRate tx rate control for ath # FireWire support From nobody Thu Feb 22 22:44:55 2024 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 4Tgp9z6Cjrz5Bb3b; Thu, 22 Feb 2024 22:44: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 4Tgp9z5jp6z4FrK; Thu, 22 Feb 2024 22:44:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708641895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9cNSwx1WRBis7tQtkb5yukqOUUd893FQxM/pDOikeM=; b=TnrSkfrFMsJs3WFlKiu0cpy0p0ydh1TjIUrVMWqvv/XAQG1Uv6lmyxM4KgqmcXNSSK2DRj Gq4ZiN8bTN2Can2UMI8JHfI53Q0MujJUI1VWRCJTsEACSYkozeqL4ZY4+XvwtrBnGCVHK3 Tn8bjYKZxYZtown10A6rK+Ot9mDVirjsCalZoJ7vUppcdabU+t3fs1HFTR+3aGZ0p3qYQ3 nGAFtnwIKaFdaVli3XSg1brU82z5UU7k1ar3f09gkykwnljFbkeYq5r3jyCv0u+nxslvo5 +JpQ4T+wVb9H9lDzB8b7xCZxdxOybmiFgTYVLxqQZrsP3IHidhZjcnjeTai9zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708641895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9cNSwx1WRBis7tQtkb5yukqOUUd893FQxM/pDOikeM=; b=vU6m1A/kpJXLXKyKk5x/1Wad52Hvnsm/CFh03FEpXC9ce8IGvWmSzNsNg1YwGbsurOsfGU gn9G/msyDwlmtAUU9XUZHYjIuJLrIYI4otM/V4OE/gXPLGw0F6wh3msYq2kHYZU47XpcQT trTtLwqjdSvQSouHUdPEfNcUn90vDHMqIcYF1HgSiWlmpYg0GSoEsefuE4e2UdMXAcmzxH 4d07KlNihpI2skZJGGoqZ0b/316ps3/XNcAp4xSZxcgbioz+ySKyaNDgbh4nAlOoXuZXWh Gp5dp4QuOvnbManW7zPSOQHLh8G25z+lbgZGQoBvpB9G9Fs4KwtllO0bPZpYKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708641895; a=rsa-sha256; cv=none; b=RxGqvrxyH/HfeVbWDaqb5ohyPU+ZepxLvxGbNSH6Kr3/CmKvSNwI3UUcG/ikO2hDCa29Rx Zdp1aJg2Qr1iu3zzFjf3hj3idO4mNrAxTItk6hP0KBZqpxEDmpijLzKUi+EeKCcfqC1TYb 2Gz678GUNlzKG/dVeM3OBAWzW5BlYsmZOOD/YrzBBpMgvxueYmeHYCDTKPbctGS+he7QB+ tgRtBglZd+AgTd+J1xL1EvLcWKoMDqY7TyXmI6FuzN4PconWDiA7RIgfs1iJhg41iV3kUh Xw96B2OduvFbXerZyriq5LCtD8Dfz291klUYES5e7ndy+QnYAzlkcmYP6r7bfA== 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 4Tgp9z4ndfzqcd; Thu, 22 Feb 2024 22:44: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 41MMit8v059869; Thu, 22 Feb 2024 22:44:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MMit0n059866; Thu, 22 Feb 2024 22:44:55 GMT (envelope-from git) Date: Thu, 22 Feb 2024 22:44:55 GMT Message-Id: <202402222244.41MMit0n059866@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 46a968ecfb57 - main - dev/uart: name uart_class_set DATA_SET macro UART_CLASS() 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 46a968ecfb57ed3e7429c5ca9b184a8efe4e3d83 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=46a968ecfb57ed3e7429c5ca9b184a8efe4e3d83 commit 46a968ecfb57ed3e7429c5ca9b184a8efe4e3d83 Author: Bjoern A. Zeeb AuthorDate: 2024-02-19 20:40:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-22 22:43:22 +0000 dev/uart: name uart_class_set DATA_SET macro UART_CLASS() Use the macro "UART_CLASS()" for the newly created data set 'uart_class_set' as we do for other data sets. This further hides the data set name. Also add UART_CLASS for quicc, which was previously not done. MFC after: 1 week Improves: 949670f8f466 dev/uart: Use a linker set to find uart classes Obtained from: jhb, https://github.com/freebsd/freebsd/commit/269e99ac86902127bfaee1500d8747a3c7be5912 Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D43981 --- sys/dev/uart/uart_bus.h | 3 +++ sys/dev/uart/uart_dev_ns8250.c | 2 +- sys/dev/uart/uart_dev_pl011.c | 2 +- sys/dev/uart/uart_dev_quicc.c | 1 + sys/dev/uart/uart_dev_z8530.c | 2 +- 5 files changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/dev/uart/uart_bus.h b/sys/dev/uart/uart_bus.h index e42ab7f5f0ba..ccf8ad06a8ec 100644 --- a/sys/dev/uart/uart_bus.h +++ b/sys/dev/uart/uart_bus.h @@ -70,6 +70,9 @@ struct uart_class { u_int uc_riowidth; /* Default reg io width for this device. */ }; +#define UART_CLASS(class) \ + DATA_SET(uart_class_set, class) + struct uart_softc { KOBJ_FIELDS; struct uart_class *sc_class; diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c index f660639862ff..16c3cb2fc5a9 100644 --- a/sys/dev/uart/uart_dev_ns8250.c +++ b/sys/dev/uart/uart_dev_ns8250.c @@ -451,7 +451,7 @@ struct uart_class uart_ns8250_class = { .uc_rclk = DEFAULT_RCLK, .uc_rshift = 0 }; -DATA_SET(uart_class_set, uart_ns8250_class); +UART_CLASS(uart_ns8250_class); /* * XXX -- refactor out ACPI and FDT ifdefs diff --git a/sys/dev/uart/uart_dev_pl011.c b/sys/dev/uart/uart_dev_pl011.c index d91ae256f2a3..daba9d19704c 100644 --- a/sys/dev/uart/uart_dev_pl011.c +++ b/sys/dev/uart/uart_dev_pl011.c @@ -340,7 +340,7 @@ static struct uart_class uart_pl011_class = { .uc_rclk = 0, .uc_rshift = 2 }; -DATA_SET(uart_class_set, uart_pl011_class); +UART_CLASS(uart_pl011_class); #ifdef FDT static struct ofw_compat_data fdt_compat_data[] = { diff --git a/sys/dev/uart/uart_dev_quicc.c b/sys/dev/uart/uart_dev_quicc.c index 444efb8c933d..bd735f2da6f4 100644 --- a/sys/dev/uart/uart_dev_quicc.c +++ b/sys/dev/uart/uart_dev_quicc.c @@ -273,6 +273,7 @@ struct uart_class uart_quicc_class = { .uc_rclk = DEFAULT_RCLK, .uc_rshift = 0 }; +UART_CLASS(uart_quicc_class); #define SIGCHG(c, i, s, d) \ if (c) { \ diff --git a/sys/dev/uart/uart_dev_z8530.c b/sys/dev/uart/uart_dev_z8530.c index 107fcb1eb4ba..2ca480a5690d 100644 --- a/sys/dev/uart/uart_dev_z8530.c +++ b/sys/dev/uart/uart_dev_z8530.c @@ -309,7 +309,7 @@ struct uart_class uart_z8530_class = { .uc_rclk = DEFAULT_RCLK, .uc_rshift = 0 }; -DATA_SET(uart_class_set, uart_z8530_class); +UART_CLASS(uart_z8530_class); #define SIGCHG(c, i, s, d) \ if (c) { \ From nobody Thu Feb 22 22:49:19 2024 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 4TgpH424xJz5BbCJ; Thu, 22 Feb 2024 22: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 4TgpH36hPnz4GBn; Thu, 22 Feb 2024 22:49:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708642159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ibA8Ca8V+2OE850wgNogmc1I1r8zXCJg3i1AonV6ULg=; b=gMnGuqmgoW4NX1qUpT/oFPOWp7iPP1zRwIGmJNpsOkX4PCiMYNBgZuTzV6aPuvC5ideQGb NPqo/6K2xfkfzj3dJhAHwoXBbZGiww3Ph5N9owiwtist728Cx8uNNybLnMvJrspUmWAcH4 BZ6Mwmp9iwlKmdgL/53uoMjybP0bhykPR3thLiNc/ZdBP5wYRF5Fx6o8UWaAJkcvGHR/zB rakMEgL46TW1BWpYWi1/Ggdgm5PyC4FMlKLsBgG0m0YD3fUK9MNGSDs4APdl3wXMCmUnHG BdpSwRHvj76zFCzHaETSOin/BuUJ5IU4cEPx+wXG7tdQpjXQD9sZtI97JGl9sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708642159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ibA8Ca8V+2OE850wgNogmc1I1r8zXCJg3i1AonV6ULg=; b=QsPcJRzI+azsRp7wt9YMtTrwZi2VNpgWpu55W/IwZsFqeaFUESQ1RoDx7n45ocWTjRQXQk VsRVII3T12Sl7PoPJU88PGX/xjcq/P7ax3aIE1+0lDLjyBolQ/leS546KAq8JQUkcMHO5l vtRSoDNIeeHfqXd3LsDI/6sCdY+ihWOlqsQ/du/7En7Um2JtUmJuDRAOmxb2mZQauWCUba 9aEbr2GqEvF6RquJWPTWlz1MOLieuNQ/X/LhpI1C5EBagl0JdACur8nbHRlJNENIEOPIgI cYwwaesKpomfyi6fs0EwywyRiS1FVKBPclqCHPWDoYMA8xzZ0L4+lJWNMMxe3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708642159; a=rsa-sha256; cv=none; b=JcRt3NBNDtkDHttKbd7n2lxkkyu2cnMj/RfKUOKRJxED6e4PXXoQzj+tHcGAcFfGLsd+bU I+gCMttNvzrEJmESpLbQaZmFVrwXevXAQkSmqGg7OHOPcP0IrBaZdPInh6kDSysQSjvtX+ RCpQ4WNG5nM+PTic2HqrXOPAd4+z+c63IfoY8pNsg5n44p/lAIIsOmcnCjzSMUfOlfYxVq gJGfJga/KOP/Zxm/iISewdg29e7I/bxM8REG99/85jT8ZTM+j+zCewTPGU2JbALLYw1bPG VmetG4M2tW9UNN9ljX23qAialIyDYhegcd/pbzE/u++UfneZxwOXjgMIRgaMDw== 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 4TgpH35n3szqcf; Thu, 22 Feb 2024 22:49: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 41MMnJIU060610; Thu, 22 Feb 2024 22:49:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41MMnJMO060607; Thu, 22 Feb 2024 22:49:19 GMT (envelope-from git) Date: Thu, 22 Feb 2024 22:49:19 GMT Message-Id: <202402222249.41MMnJMO060607@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 759a996d610d - main - LinuxKPI: 802.11: implement a deferred RX 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 759a996d610d9354aac5c48a6bdc9cedcba2f48b Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=759a996d610d9354aac5c48a6bdc9cedcba2f48b commit 759a996d610d9354aac5c48a6bdc9cedcba2f48b Author: Bjoern A. Zeeb AuthorDate: 2024-02-12 16:03:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-02-22 22:46:48 +0000 LinuxKPI: 802.11: implement a deferred RX path Some calls, e.g., action frames cause us to call through all the way down to firmware from the RX path without any deferral in net80211. For LinuxKPI and iwlwifi this goes (with omissions) like this: lkpi_napi_task -> linuxkpi_ieee80211_rx -> ieee80211_input_mimo -> sta_input -> ht_recv_action_ba_addba_request -> lkpi_ic_ampdu_rx_start -> iwl_mvm_mac_ampdu_action -> iwl_trans_txq_send_hcmd. At that point we are waiting for an interrupt from the firmware but given the lkpi_napi_task has not finished (and may have more to dispatch based on budget and what was received) we will not see the new interrupt/fw response. With no answer from the firmware, the software timeout in the driver kills the command and the firmware and issues a complete restart. Implement the deferred RX path in LinuxKPI for the moment. At a later point we should carefully shift this into net80211. This fixes the hangs for (*ic_ampdu_rx_start)() calls with iwlwifi. MFC after: 3 days PR: 276083 Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43968 --- sys/compat/linuxkpi/common/src/linux_80211.c | 134 ++++++++++++++++++++++++--- sys/compat/linuxkpi/common/src/linux_80211.h | 31 +++++++ 2 files changed, 154 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 6ed5722ab998..ced2f2dc8cca 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -144,6 +144,7 @@ const struct cfg80211_ops linuxkpi_mac80211cfgops = { static struct lkpi_sta *lkpi_find_lsta_by_ni(struct lkpi_vif *, struct ieee80211_node *); static void lkpi_80211_txq_task(void *, int); +static void lkpi_80211_lhw_rxq_task(void *, int); static void lkpi_ieee80211_free_skb_mbuf(void *); #ifdef LKPI_80211_WME static int lkpi_wme_update(struct lkpi_hw *, struct ieee80211vap *, bool); @@ -4271,6 +4272,12 @@ linuxkpi_ieee80211_alloc_hw(size_t priv_len, const struct ieee80211_ops *ops) TAILQ_INIT(&lhw->scheduled_txqs[ac]); } + /* Deferred RX path. */ + LKPI_80211_LHW_RXQ_LOCK_INIT(lhw); + TASK_INIT(&lhw->rxq_task, 0, lkpi_80211_lhw_rxq_task, lhw); + mbufq_init(&lhw->rxq, IFQ_MAXLEN); + lhw->rxq_stopped = false; + /* * XXX-BZ TODO make sure there is a "_null" function to all ops * not initialized. @@ -4296,11 +4303,42 @@ void linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) { struct lkpi_hw *lhw; + struct mbuf *m; lhw = HW_TO_LHW(hw); free(lhw->ic, M_LKPI80211); lhw->ic = NULL; + /* + * Drain the deferred RX path. + */ + LKPI_80211_LHW_RXQ_LOCK(lhw); + lhw->rxq_stopped = true; + LKPI_80211_LHW_RXQ_UNLOCK(lhw); + + /* Drain taskq, won't be restarted due to rxq_stopped being set. */ + while (taskqueue_cancel(taskqueue_thread, &lhw->rxq_task, NULL) != 0) + taskqueue_drain(taskqueue_thread, &lhw->rxq_task); + + /* Flush mbufq (make sure to release ni refs!). */ + m = mbufq_dequeue(&lhw->rxq); + while (m != NULL) { + struct m_tag *mtag; + + mtag = m_tag_locate(m, MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, NULL); + if (mtag != NULL) { + struct lkpi_80211_tag_rxni *rxni; + + rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); + ieee80211_free_node(rxni->ni); + } + m_freem(m); + m = mbufq_dequeue(&lhw->rxq); + } + KASSERT(mbufq_empty(&lhw->rxq), ("%s: lhw %p has rxq len %d != 0\n", + __func__, lhw, mbufq_len(&lhw->rxq))); + LKPI_80211_LHW_RXQ_LOCK_DESTROY(lhw); + /* Cleanup more of lhw here or in wiphy_free()? */ LKPI_80211_LHW_TXQ_LOCK_DESTROY(lhw); LKPI_80211_LHW_SCAN_LOCK_DESTROY(lhw); @@ -4795,6 +4833,66 @@ linuxkpi_ieee80211_scan_completed(struct ieee80211_hw *hw, return; } +static void +lkpi_80211_lhw_rxq_rx_one(struct lkpi_hw *lhw, struct mbuf *m) +{ + struct ieee80211_node *ni; + struct m_tag *mtag; + int ok; + + ni = NULL; + mtag = m_tag_locate(m, MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, NULL); + if (mtag != NULL) { + struct lkpi_80211_tag_rxni *rxni; + + rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); + ni = rxni->ni; + } + + if (ni != NULL) { + ok = ieee80211_input_mimo(ni, m); + ieee80211_free_node(ni); /* Release the reference. */ + if (ok < 0) + m_freem(m); + } else { + ok = ieee80211_input_mimo_all(lhw->ic, m); + /* mbuf got consumed. */ + } + +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_RX) + printf("TRACE %s: handled frame type %#0x\n", __func__, ok); +#endif +} + +static void +lkpi_80211_lhw_rxq_task(void *ctx, int pending) +{ + struct lkpi_hw *lhw; + struct mbufq mq; + struct mbuf *m; + + lhw = ctx; + +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_RX) + printf("%s:%d lhw %p pending %d mbuf_qlen %d\n", + __func__, __LINE__, lhw, pending, mbufq_len(&lhw->rxq)); +#endif + + mbufq_init(&mq, IFQ_MAXLEN); + + LKPI_80211_LHW_RXQ_LOCK(lhw); + mbufq_concat(&mq, &lhw->rxq); + LKPI_80211_LHW_RXQ_UNLOCK(lhw); + + m = mbufq_dequeue(&mq); + while (m != NULL) { + lkpi_80211_lhw_rxq_rx_one(lhw, m); + m = mbufq_dequeue(&mq); + } +} + /* For %list see comment towards the end of the function. */ void linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, @@ -5018,20 +5116,34 @@ skip_device_ts: } #endif + /* + * Attach meta-information to the mbuf for the deferred RX path. + * Currently this is best-effort. Should we need to be hard, + * drop the frame and goto err; + */ if (ni != NULL) { - ok = ieee80211_input_mimo(ni, m); - ieee80211_free_node(ni); - if (ok < 0) - m_freem(m); - } else { - ok = ieee80211_input_mimo_all(ic, m); - /* mbuf got consumed. */ + struct m_tag *mtag; + struct lkpi_80211_tag_rxni *rxni; + + mtag = m_tag_alloc(MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, + sizeof(*rxni), IEEE80211_M_NOWAIT); + if (mtag != NULL) { + rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); + rxni->ni = ni; /* We hold a reference. */ + m_tag_prepend(m, mtag); + } } -#ifdef LINUXKPI_DEBUG_80211 - if (linuxkpi_debug_80211 & D80211_TRACE_RX) - printf("TRACE %s: handled frame type %#0x\n", __func__, ok); -#endif + LKPI_80211_LHW_RXQ_LOCK(lhw); + if (lhw->rxq_stopped) { + LKPI_80211_LHW_RXQ_UNLOCK(lhw); + m_freem(m); + goto err; + } + + mbufq_enqueue(&lhw->rxq, m); + taskqueue_enqueue(taskqueue_thread, &lhw->rxq_task); + LKPI_80211_LHW_RXQ_UNLOCK(lhw); IMPROVE(); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index d25614de56dc..b0156a5ade3f 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -76,6 +76,18 @@ if (linuxkpi_debug_80211 & D80211_TRACE_MODE_HT) \ printf("%s:%d: XXX LKPI80211 IMPROVE_HT\n", __func__, __LINE__) +#define MTAG_ABI_LKPI80211 1707696513 /* LinuxKPI 802.11 KBI */ + +/* + * Deferred RX path. + * We need to pass *ni along (and possibly more in the future so + * we use a struct right from the start. + */ +#define LKPI80211_TAG_RXNI 0 /* deferred RX path */ +struct lkpi_80211_tag_rxni { + struct ieee80211_node *ni; /* MUST hold a reference to it. */ +}; + struct lkpi_radiotap_tx_hdr { struct ieee80211_radiotap_header wt_ihdr; uint8_t wt_flags; @@ -192,6 +204,11 @@ struct lkpi_hw { /* name it mac80211_sc? */ uint32_t txq_generation[IEEE80211_NUM_ACS]; TAILQ_HEAD(, lkpi_txq) scheduled_txqs[IEEE80211_NUM_ACS]; + /* Deferred RX path. */ + struct task rxq_task; + struct mbufq rxq; + struct mtx rxq_mtx; + /* Scan functions we overload to handle depending on scan mode. */ void (*ic_scan_curchan)(struct ieee80211_scan_state *, unsigned long); @@ -240,6 +257,7 @@ struct lkpi_hw { /* name it mac80211_sc? */ bool update_mc; bool update_wme; + bool rxq_stopped; /* Must be last! */ struct ieee80211_hw hw __aligned(CACHE_LINE_SIZE); @@ -304,6 +322,19 @@ struct lkpi_wiphy { #define LKPI_80211_LHW_TXQ_UNLOCK_ASSERT(_lhw) \ mtx_assert(&(_lhw)->txq_mtx, MA_NOTOWNED) +#define LKPI_80211_LHW_RXQ_LOCK_INIT(_lhw) \ + mtx_init(&(_lhw)->rxq_mtx, "lhw-rxq", NULL, MTX_DEF | MTX_RECURSE); +#define LKPI_80211_LHW_RXQ_LOCK_DESTROY(_lhw) \ + mtx_destroy(&(_lhw)->rxq_mtx); +#define LKPI_80211_LHW_RXQ_LOCK(_lhw) \ + mtx_lock(&(_lhw)->rxq_mtx) +#define LKPI_80211_LHW_RXQ_UNLOCK(_lhw) \ + mtx_unlock(&(_lhw)->rxq_mtx) +#define LKPI_80211_LHW_RXQ_LOCK_ASSERT(_lhw) \ + mtx_assert(&(_lhw)->rxq_mtx, MA_OWNED) +#define LKPI_80211_LHW_RXQ_UNLOCK_ASSERT(_lhw) \ + mtx_assert(&(_lhw)->rxq_mtx, MA_NOTOWNED) + #define LKPI_80211_LHW_LVIF_LOCK(_lhw) sx_xlock(&(_lhw)->lvif_sx) #define LKPI_80211_LHW_LVIF_UNLOCK(_lhw) sx_xunlock(&(_lhw)->lvif_sx) From nobody Fri Feb 23 00:16:40 2024 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 4TgrCs2fZ0z5Bjkc; Fri, 23 Feb 2024 00:16: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 4TgrCs1lcNz4Mnh; Fri, 23 Feb 2024 00:16:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708647401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ol/zFcDyk1x4pllloPeWhxYCJmOzCyFzecu9RHsNOYc=; b=BAhtE05tGqzfZ6Opsmw819cGi+P1appejrFlJH0237nbXwNeujy8dhgA7zOqhxMqARlyEe Bw9HLOMO8HquVaP0PIsvUEtDMT0hMdGEN3KMRwVrkS6fK9GsZlZPJlr3QiU1U6eaw8ErDC RpTHV/UqEzMrAy17bJKWcWLaQypkY0qtbZ7Wnec5tOewD7UV+zEHeZ4Rs49KKxWDahVaWi Z3lYmefOGWs9bEgFRlr4R6oTICKtNvLM6b/czMN0uaMaHxQljK8Oivb+sL8BDzDQsaq+cz eOaWd6vXg3MVsv2XVlPB8t/R78CONXA9rgZA1ASZQ2hZRDKnk5lo5788+GSFlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708647401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ol/zFcDyk1x4pllloPeWhxYCJmOzCyFzecu9RHsNOYc=; b=hIArnRjN1YJ87vHESk5zuxqeiopm5yE/nCd9MdDnkhUNLS3m443rbHLLl9kwZgEm9JMVb5 Tq9fJKzDB8TU4oUmEOccPqNfK700V/U04YLMlGt8SMmhM750HYRFOP2d5pZ4s6QAv8Vbhx dvXke1O0E3U7Ggf/bcyVz45pLFQo/5a9NbmcsfR8qO5nlySj2jDP6TdKxI3GuhbTwuFn0G Lvh/T76rX3/SM+VB0y+PG+8/Wk8YcgXCAEbGjhGqjVZmo4hOVfxm3vNz3KwUhb9XuiySGm e8eXt9DQWgTUx1capf9M12gVsnayCe5rt9SkitQiZQ8M49BTnrhFCL7G5MgdiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708647401; a=rsa-sha256; cv=none; b=SDZ8dWwO316B9CzR84DfnN6e7tQufqu1wicImVBEDDk8fN/fwP8rbnu4dIIQNwsUUOKbm6 EI1twNd700IxbNLlS3NsM4uPHBmn0buQSL+WpdfrsmiipzT22Ed3LQDeU0G4AOUx01xYEm D9slgd36xd1/qMPjm7mpExDnYbH7atRR+btt2mvjvtey1DaqGcjKPMd6JYsa/dMA6MJer2 zD4cfI2Ak/5RwS5rAow/DNG4gDmRPgbTTeDmmfmX/6P3W7yb8ssTP8sMSQJ7j8KG4YGKqi lwCnmb2Uh3XTACBJNKJdFwBRT9e6Fi8l9/urz8RQOBAUOf6XzU61lbw4m/BvRg== 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 4TgrCs0htRzsnF; Fri, 23 Feb 2024 00:16: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 41N0GeeY011631; Fri, 23 Feb 2024 00:16:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41N0GeSC011628; Fri, 23 Feb 2024 00:16:40 GMT (envelope-from git) Date: Fri, 23 Feb 2024 00:16:40 GMT Message-Id: <202402230016.41N0GeSC011628@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: 04eca6932311 - main - gpiobus: Add missing DEVMETHOD for bus_get_rman 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: 04eca69323111986b262eef3135d804361b60d17 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=04eca69323111986b262eef3135d804361b60d17 commit 04eca69323111986b262eef3135d804361b60d17 Author: John Baldwin AuthorDate: 2024-02-23 00:14:58 +0000 Commit: John Baldwin CommitDate: 2024-02-23 00:14:58 +0000 gpiobus: Add missing DEVMETHOD for bus_get_rman Reported by: andrew Fixes: 5bda26333a8e gpiobus: Use bus_generic_rman_* --- sys/dev/gpio/gpiobus.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c index 6d739597b759..c8fee7d400c1 100644 --- a/sys/dev/gpio/gpiobus.c +++ b/sys/dev/gpio/gpiobus.c @@ -1045,6 +1045,7 @@ static device_method_t gpiobus_methods[] = { DEVMETHOD(bus_activate_resource, bus_generic_rman_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_rman_deactivate_resource), DEVMETHOD(bus_get_resource_list, gpiobus_get_resource_list), + DEVMETHOD(bus_get_rman, gpiobus_get_rman), DEVMETHOD(bus_add_child, gpiobus_add_child), DEVMETHOD(bus_rescan, gpiobus_rescan), DEVMETHOD(bus_probe_nomatch, gpiobus_probe_nomatch), From nobody Fri Feb 23 02:37:12 2024 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 4TgvL05L1Yz5BTMb; Fri, 23 Feb 2024 02:37: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 4TgvL04nRLz4Yyw; Fri, 23 Feb 2024 02:37:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708655832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rGXpT9k09ca0osKR4skDG3jw/PxwyvX8FVPqwUUrcJA=; b=iJcMk53JKwCQbWrOHOAc7aW87AH9KUKWO6LhJSweZS/WuypEWdLKCsY3sqUQ5DXAeZlK2L wPUEtZPmNVYO48RKGFavlrM1sHA2t1bxqvxBvJlmSGh8zDVkc7xia7kxRf48RL7efGPchA gBlpr7fXx5kse8fss8Hvn9msE08QKmmCPL4zcfbQimKwBXkCzRc+I7XWvOh3hM77XBplad Kfihf+6whLOsjwwscMQ9JKkGMR3VmlGxkAReVPjddmKna6NedkJyFhWaDgJULmhYvQ36G2 OUphRLEa/STMHC5BRy3BPcgnB3DGmsX7VIxz3+rxBZzAm/MPj4ndqrgVehEhWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708655832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rGXpT9k09ca0osKR4skDG3jw/PxwyvX8FVPqwUUrcJA=; b=jnKyU7VtRbcLqVwHrOEvo7jPADyD5SvJ1vJufGQaiD7B+eb/LEywQxL76CRrP4FYU7/dyA GljlANUCZXf9zRrrhfh9oxvF1C+GTOkmN5sWlMKkIbghVrTKoQ8GDBzmBKD8aQBv9bWfgL lywPATMQwVNWu+viToFMxXcDqU/rKL4F+rzhYaWG/acOOQ9Zq6+mtS1SpzVFusNJCLau8m R5zYGdMA4HkImOfD6FW/habCIwL+Lm2DTzBWH2kHQpyPZ0N+V45G6PYPkz9p+0msvjvHiV pkivPZTsY0aEyT6b8x/P5kKA+9w+0p7Vpt4vj8Vd9HJZ3iO2pbFee3EpUDSXnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708655832; a=rsa-sha256; cv=none; b=bWCTvIPdOLr09WyACja/nFKz44Jb4YTvPr0x2qSAw3YElRJHtYppcONJ3PKo7ZD8uL7OQQ TZx1weKbpTElASM0IeDxUxtFXgbCoyUHPawWbQQfDAh4EGR9998B63W16fhFLRxl5DJXWT fgto2gJxzDqc3+k93RW8XVu36Hh5RhSR9U9lmOFHkLAUayGmQyl2uzCTCM2evrVLSeEjvP bmOY4ywNxbugaKtmlRGGQniN+hbdob9HGsb3+R5mbeF5ZtaOBHw4ZnYxBSts6nudgTj8tM pjM5qymRKwXLFCV05xhhYcjhoIkMKmaNHLvXiS0u/lV0CcNzegVwEFMVALVq0A== 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 4TgvL03qn2zxyl; Fri, 23 Feb 2024 02:37: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 41N2bCG5046115; Fri, 23 Feb 2024 02:37:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41N2bCB1046112; Fri, 23 Feb 2024 02:37:12 GMT (envelope-from git) Date: Fri, 23 Feb 2024 02:37:12 GMT Message-Id: <202402230237.41N2bCB1046112@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 09cb8031b43c - main - efibootmgr: Simplify make_next_boot_var_name and fix cnt == 0 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: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 09cb8031b43c8e98abb5ff9b43ff649031d1e808 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=09cb8031b43c8e98abb5ff9b43ff649031d1e808 commit 09cb8031b43c8e98abb5ff9b43ff649031d1e808 Author: Jessica Clarke AuthorDate: 2024-02-23 02:36:21 +0000 Commit: Jessica Clarke CommitDate: 2024-02-23 02:36:21 +0000 efibootmgr: Simplify make_next_boot_var_name and fix cnt == 0 case If cnt == 0 we access element 0 unconditionally, which is out of bounds, and then if that doesn't crash and happens to be 0 we will access element - 1, also out of bounds, and then if that doesn't crash will add 1 to whatever junk is there and use that for the variable. On CHERI, though, this does crash. This code is also overly complicated, with unnecessary special cases and tracking more state than needed. Rewrite it in a more general manner that doesn't need those special cases and naturally works for cnt == 0. Found by: CHERI Reviewed by: imp Fixes: 1285bcc833a3 ("Import Netflix's efibootmgr to help manage UEFI boot variables") MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44029 --- usr.sbin/efibootmgr/efibootmgr.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/usr.sbin/efibootmgr/efibootmgr.c b/usr.sbin/efibootmgr/efibootmgr.c index 7bcb4674586b..2bc79ee26f51 100644 --- a/usr.sbin/efibootmgr/efibootmgr.c +++ b/usr.sbin/efibootmgr/efibootmgr.c @@ -561,7 +561,7 @@ static char * make_next_boot_var_name(void) { struct entry *v; - uint16_t *vals, next_free = 0; + uint16_t *vals; char *name; int cnt = 0; int i; @@ -579,21 +579,14 @@ make_next_boot_var_name(void) vals[i++] = v->idx; } qsort(vals, cnt, sizeof(uint16_t), compare); - /* if the hole is at the beginning, just return zero */ - if (vals[0] > 0) { - next_free = 0; - } else { - /* now just run the list looking for the first hole */ - for (i = 0; i < cnt - 1 && next_free == 0; i++) - if (vals[i] + 1 != vals[i + 1]) - next_free = vals[i] + 1; - if (next_free == 0) - next_free = vals[cnt - 1] + 1; - /* In theory we could have used all 65k slots -- what to do? */ - } + /* Find the first hole (could be at start or end) */ + for (i = 0; i < cnt; ++i) + if (vals[i] != i) + break; free(vals); + /* In theory we could have used all 65k slots -- what to do? */ - asprintf(&name, "%s%04X", "Boot", next_free); + asprintf(&name, "%s%04X", "Boot", i); if (name == NULL) err(1, "asprintf"); return name; From nobody Fri Feb 23 03:03:09 2024 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 4Tgvvz6vqHz5BWYb; Fri, 23 Feb 2024 03:03:11 +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 4Tgvvz6NMMz4cTx; Fri, 23 Feb 2024 03:03:11 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708657391; 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=OcB2M9ArEpaqembiDfA7urJAqb0nlxUPgejda14ZYd4=; b=dxtULVoiewuUTyIlzIob7/WZ0wDfCSZIx3uVNnKujBSqzOqzSVM+WapCuEL8q/aAZkl9JR gUJKqVorRjyrxcNkm5u6PS6rdpLueLdoIRScwyR/Cd6UOsG/BhaQZht5/MDuylY6PfKlR1 A3OnTOvKBF/0lMkqGLYabGer9Okt2uZlVKb8DnylRduYR5t8AtM9fjIcRWHxYdauUZ0equ 7km1iiEFJPV3RRcRDH5EHgVfi++TDqBC0vNNIlmykTobtsZ/ZmHnxhH014fhGyUxjzNW32 2E3yLCJ+GdgSMoHFs4T1OO5xnCUFfOR21XLD3RkRGTjq5T6haQXU95fvZY8QTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708657391; 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=OcB2M9ArEpaqembiDfA7urJAqb0nlxUPgejda14ZYd4=; b=bXzl2ZyNtgbPHrvBDqlq8Ti8bWhVy8YXHzUHdz9HRWkHOFOKpQyMTuUnfrqd/w4Ct9ceKA LeGnsvSvGROOv3lsOJpJQ6sB9X9EO+xkedW/vAa2gjv3qm5VxoP5ToRr0KDhswizqfMkG+ 8+zZW83pXJuAtTe94jqIUqADoO80fALRcuOub8Sxv49QRATVHWGxjsQeZ3MWUX6XVZt6MJ CTlhH+jsPbXuput2bwkBsAVcT9ILbon22LOLvmEltw9zmLUtm2UnUa1BnywOpCOjO9OdXO yIEfNc2ddJPShKBzB+0XiVvQZ5KrC6YJ+hD0ydjUz9P2alJ87iTHfbd4bnzgLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708657391; a=rsa-sha256; cv=none; b=Nr0r6kJIIG+Pchs4Y3fskAqbKOrUZeBPMo4T21KJKzBCgxwVXMeAqRkbEgrbTrYDClFr91 KWrAFt3qL6os8wKimuiVZxDN9NcKfzALVNIlzTNbUWfXL7EmLqONTvPHB8Dh5qu4q0tJyQ 2yyM/n2cpKQd26zgWPlaXhiZqyUTFGCS/T7WQHCUs7ZLFM1kRUVKEBRDTWSVhSwg9YoewM HFNoEQNFmPxWncA/yvYRlZ/OJfM955zuvzr1y0ZQWzqOT5NZAljYGgnmOBS+fwD6KshPyz Np9ZnjS5AHb8DbWdoIS9Z84+qj+xcw2w1X2Wr+eQXj0hxOKtoZVA7B1mxgSZrA== Received: from [IPV6:2601:644:937f:4c50:9110:97a:5df4:795c] (unknown [IPv6:2601:644:937f:4c50:9110:97a:5df4:795c]) (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 4Tgvvz1r5wzTVj; Fri, 23 Feb 2024 03:03:11 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <7fb66c83-7382-4053-b6c6-27ee0ae03274@FreeBSD.org> Date: Thu, 22 Feb 2024 19:03:09 -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: 47e073941f4e - main - Import the kernel parts of bhyve/arm64 Content-Language: en-US To: Warner Losh Cc: Andrew Turner , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202402211855.41LItsm2033633@gitrepo.freebsd.org> <23101a96-4901-4086-bdbf-dfbab2b66e49@FreeBSD.org> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2/22/24 12:10 PM, Warner Losh wrote: > On Thu, Feb 22, 2024 at 11:30 AM John Baldwin wrote: > >> On 2/21/24 10:55 AM, Andrew Turner wrote: >>> The branch main has been updated by andrew: >>> >>> URL: >> https://cgit.FreeBSD.org/src/commit/?id=47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b >>> >>> commit 47e073941f4e7ca6e9bde3fa65abbfcfed6bfa2b >>> Author: Andrew Turner >>> AuthorDate: 2024-01-09 15:22:27 +0000 >>> Commit: Andrew Turner >>> CommitDate: 2024-02-21 18:55:32 +0000 >>> >>> Import the kernel parts of bhyve/arm64 >>> >>> To support virtual machines on arm64 add the vmm code. This is >> based on >>> earlier work by Mihai Carabas and Alexandru Elisei at University >>> Politehnica of Bucharest, with further work by myself and Mark >> Johnston. >>> >>> All AArch64 CPUs should work, however only the GICv3 interrupt >>> controller is supported. There is initial support to allow the GICv2 >>> to be supported in the future. Only pure Armv8.0 virtualisation is >>> supported, the Virtualization Host Extensions are not currently >> used. >>> >>> With a separate userspace patch and U-Boot port FreeBSD guests are >> able >>> to boot to multiuser mode, and the hypervisor can be tested with the >>> kvm unit tests. Linux partially boots, but hangs before entering >>> userspace. Other operating systems are untested. >>> >>> Sponsored by: Arm Ltd >>> Sponsored by: Innovate UK >>> Sponsored by: The FreeBSD Foundation >>> Sponsored by: University Politehnica of Bucharest >>> Differential Revision: https://reviews.freebsd.org/D37428 >> >> FYI, sys/arm64/vmm/vmm.c shares a fair bit of code with sys/amd64/vmm/vmm.c >> and looks to be derived from the amd64 file, so I think it should preserve >> NetApp's copyright line in addition to Mihai's. >> > > In general, the advice I've been giving is that one should retain > copyrights when > there's at least 10%-20% remaining of the original work. And one should > hesitate to add > them unless you've contributed 10%-20% or more to the work (ideally more, > but sometimes > that's gets squishy because the underlying law is based on words like > substantial > and de-minimus, which don't translate well to line counts, and for large > works what > is substantial can be a bit subjective). > > If they share so much, maybe we should also look at sharing directly, > rather than by > cut and paste in the future. Jessica has already mentioned sharing some of the code in at least vmm_dev.c in the future so I think that will likely happen in some future refactoring. Several files that share code and were clearly derived from the amd64 bits already have NetApp, etc. copyrights in this commit, it's just vmm.c that I think needs updating. -- John Baldwin From nobody Fri Feb 23 05:20:42 2024 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 4Tgyyf4FGfz5Bl9f; Fri, 23 Feb 2024 05:20: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 4Tgyyf3mFvz4rfv; Fri, 23 Feb 2024 05:20:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708665642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SXTe/mrqJo5fsTjPeMBqI6POE4wH3fYrzoPasTCdynU=; b=EdkQ+l77dCEF3vtdk5xDjOqLt+IJne2MhDopG16X8QHep785WW9EqdBSre8FLc/HDU6N4O zsqmzNeFWUEsHQDoSwHA2e+nT4xCeJwN/oy91WXb+HExp4nFQqofMM0MKaazytrQLBHBBz RnPL5fLuLOVZU+NautW+enqGIkr59OD6sEoy+OkSiQhq/HKAMxwnBoyXOgpOTmlrttTN1k 56eiEvFMPI09+/VwI9Ml5HWvMqnLazYn/4+wQTLjE5Lt9AjaM9f2vOkLqcAhrn6pxYlAm4 wPG/qVv9JqiYXGYRXH/AzyoZIm49cJaWPlLiQeYCfS0jUSAwY4WGbjVpMIXtFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708665642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SXTe/mrqJo5fsTjPeMBqI6POE4wH3fYrzoPasTCdynU=; b=ShFuzdmo5KXTk/KphrXm6Kqvo0wbNw1Qr/MiKShWtkb0VEa/xfrj9BoFbCnaxx9kBwnHmO KrXMQqVFOyTEvJ0B7MR5I5tW7OIlXpNMYzrNFq9dXvQKsG+oTXqgAmQxP9CxbwMUR7/taG otjOlPc7Si+d04NEQsxKd5ToSy/AgRPyNNjQwSFBg246yJUaXythDBONWL4tXFdLyk7irg 7RcWiN9A8/L1tBBF+SynaILrPu61lIk0ge8jGrNcpZoxtS5p2SXoCcJRi6aoMs5BhFnrHh igU0vEsiFC329kxyRfJITRqKd9svQk+4Qbppie4WJYtG4bdVJ9aLMuer/WKgRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708665642; a=rsa-sha256; cv=none; b=P/Jso4VTbgWU97uJQ4Jpvn5qjt3h9Wvz3u7Roi3SiILUwxU6KloozWYU8euZjTEczoP4Ji iKNmR7rxcM4jAqiGWNSqxBFMjtcqO1jBr41hXo9v7R32XpujF3QhbhGPctUok6fpX9FFhT Sxe4+Y/H+ya1+KULFWOw9K0YRS5Drot/kAGiw4sosg0cd9VB+BXkfm2hMJg3lHxH76rwst CEG2qcv9zn7CyKu6g6BR5ZhPzGoCDTQiv4PX+KTcwmwvoVd7lk5z2ohnhfqMX686fBjJPW 81dACeZj0SL6l5GLdVLJ6sPBd91frMUiy2B4W24Hzq7JkLSfN66DqmBONYUp0A== 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 4Tgyyf2qhDz12VX; Fri, 23 Feb 2024 05:20: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 41N5KgvK029073; Fri, 23 Feb 2024 05:20:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41N5KgED029070; Fri, 23 Feb 2024 05:20:42 GMT (envelope-from git) Date: Fri, 23 Feb 2024 05:20:42 GMT Message-Id: <202402230520.41N5KgED029070@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: c76878c656e9 - stable/14 - acpi: Defer reserving resources for ACPI 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/stable/14 X-Git-Reftype: branch X-Git-Commit: c76878c656e91aa595c2c81e86ac5adb59a15c98 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c76878c656e91aa595c2c81e86ac5adb59a15c98 commit c76878c656e91aa595c2c81e86ac5adb59a15c98 Author: John Baldwin AuthorDate: 2024-02-22 18:43:43 +0000 Commit: John Baldwin CommitDate: 2024-02-23 00:48:35 +0000 acpi: Defer reserving resources for ACPI devices The goal of reserving firmware-assigned resources is to ensure that "wildcard" resource allocation requests will not claim an address range that is actually in use even if no attached driver is actively using that range. However, the current approach can break in some cases. In particular, ACPI can enumerate devices behind PCI bridges that don't show up in a normal PCI scan, but those device_t objects can end up as direct children of acpi0. Reserving resources for those devices directly from acpi0 ends up conflicting with later attempts to reserve the PCI bridge windows. As a workaround, defer reserving unclaimed resources until after the initial probe and attach scan. Eventually this pass of reserving unclaimed resources can be moved earlier, but it requires changes to other drivers in the tree to permit enumerating devices and reserving firmware-assigned resources in a depth-first traversal before attaching devices whose drivers request wildcard allocations. PR: 272507 Reported by: Justin Tocci Reported by: john@feith.com, many others Tested by: Oleg Sidorkin , dch (cherry picked from commit f2fcb68074a51a8b399dc80d4c03fbe98a0ab92c) --- sys/dev/acpica/acpi.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 7d1fc10afb9e..61df797c7393 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1367,8 +1367,17 @@ acpi_sysres_alloc(device_t dev) } /* - * Reserve declared resources for devices found during attach once system - * resources have been allocated. + * Reserve declared resources for active devices found during the + * namespace scan once the boot-time attach of devices has completed. + * + * Ideally reserving firmware-assigned resources would work in a + * depth-first traversal of the device namespace, but this is + * complicated. In particular, not all resources are enumerated by + * ACPI (e.g. PCI bridges and devices enumerate their resources via + * other means). Some systems also enumerate devices via ACPI behind + * PCI bridges but without a matching a PCI device_t enumerated via + * PCI bus scanning, the device_t's end up as direct children of + * acpi0. Doing this scan late is not ideal, but works for now. */ static void acpi_reserve_resources(device_t dev) @@ -2256,9 +2265,6 @@ acpi_probe_children(device_t bus) /* Pre-allocate resources for our rman from any sysresource devices. */ acpi_sysres_alloc(bus); - /* Reserve resources already allocated to children. */ - acpi_reserve_resources(bus); - /* Create any static children by calling device identify methods. */ ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "device identify routines\n")); bus_generic_probe(bus); @@ -2267,6 +2273,12 @@ acpi_probe_children(device_t bus) ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "acpi bus_generic_attach\n")); bus_generic_attach(bus); + /* + * Reserve resources allocated to children but not yet allocated + * by a driver. + */ + acpi_reserve_resources(bus); + /* Attach wake sysctls. */ acpi_wake_sysctl_walk(bus); From nobody Fri Feb 23 05:20:47 2024 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 4Tgyym0ngTz5Bl7C; Fri, 23 Feb 2024 05:20: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 4Tgyym00L4z4rhR; Fri, 23 Feb 2024 05:20:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708665648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7UES41y1bdgKxOphLufZbGoX/hVLDgyg3cpF1m2aDew=; b=Pj5IVqQ4kAIaOPrGVCzPFM+9FLFYHJDdDhPjmtII2Fy9bdhWgjcR45wSNW8TSx8j1Tlux0 c/2f4KOxJP55Aba3YlHyCpusg15FaK2Wn5VhQSamaUp6eFWncpdD6ymHVbvFXrUM/EZXUB UDOIw/ad8yVzz00p9wcikoVtZb+0I34Hn91/6Q9fA0qP5SEhUMgxbz1eS88HwBvs6NdONN VeHsHxng3eOhRu/wYIoFQpy4xHuz7rA0VejVkQkY4KPKeQrDXhq52tx27/5FOlToB0jDjz QH/3tLd+6HiEdkrCzsXq2cagn455wWPJKFAckwnxXzz1yt7dXnAg7e3kSZE6Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708665648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7UES41y1bdgKxOphLufZbGoX/hVLDgyg3cpF1m2aDew=; b=xEDwfRxB4Zk5xRBAeuT8tGSCpOiITeGM4cfB4lSGneKHNfGdzJfvQdothHRSYMx7DZDEDo yab/b1vP/qRAC5BZ5Aawlu+qwyvNctqaHnytj1/QV6Q2wjpVn+726U0+2HA2jseB1RzTcP l45WuPX/g8+8K6wjLMnbUm/FCt15fV3YJAXWl8pOgzT0Acp302ayhkGKNLgLr3UfhAElOY xEiz9WU7YOGOXO/+Nh5qPDYiWE/sflwtEuLFYmQl8tR86TkFFjovk0aAaXUjS3xmrismSZ 7bKad3aJnmq26zrjhS6EufpQxy+DsQGZMfB+rzcKRAnY5Ynh+vfTck82dJCNfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708665648; a=rsa-sha256; cv=none; b=cmqOfkZ3oTpegx3QpxEGZIaY2ShLPFy2S66TL3K/5LMwpvD1PV3eTKytQ1upamioZrK94/ EV1RJgpFiOTUnkA9iwSc6gfz/mz3Pu5pHCtXQEbdm+HdIgqMZtzknf7WDl1VxIlT10pt3r gA6wJIVIkAwVeKo2qcOuYg0wdz05pNU/gGBLGfFW3p+RlAw4Pj3YAq39aEk6gI0oUS37dl H0DdKjAXcjCy/FhAuIrtS0gWaApcgBdFrCLNb9w0i50F6f4ViPRwndGoWfEoSEx0Wke8wN sgSY3aCH+ryWPSWJHY8M3Mdk5mXY48SiXRLDydT9tzzu2K1Ct1srIn67SpBOxw== 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 4Tgyyl6DSDz12ql; Fri, 23 Feb 2024 05:20: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 41N5Kl26030141; Fri, 23 Feb 2024 05:20:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41N5KlcI030138; Fri, 23 Feb 2024 05:20:47 GMT (envelope-from git) Date: Fri, 23 Feb 2024 05:20:47 GMT Message-Id: <202402230520.41N5KlcI030138@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: eaa51e59e560 - stable/13 - acpi: Defer reserving resources for ACPI 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/stable/13 X-Git-Reftype: branch X-Git-Commit: eaa51e59e560c556d0a8273d29eea4309e6b6a4f Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=eaa51e59e560c556d0a8273d29eea4309e6b6a4f commit eaa51e59e560c556d0a8273d29eea4309e6b6a4f Author: John Baldwin AuthorDate: 2024-02-22 18:43:43 +0000 Commit: John Baldwin CommitDate: 2024-02-23 00:48:39 +0000 acpi: Defer reserving resources for ACPI devices The goal of reserving firmware-assigned resources is to ensure that "wildcard" resource allocation requests will not claim an address range that is actually in use even if no attached driver is actively using that range. However, the current approach can break in some cases. In particular, ACPI can enumerate devices behind PCI bridges that don't show up in a normal PCI scan, but those device_t objects can end up as direct children of acpi0. Reserving resources for those devices directly from acpi0 ends up conflicting with later attempts to reserve the PCI bridge windows. As a workaround, defer reserving unclaimed resources until after the initial probe and attach scan. Eventually this pass of reserving unclaimed resources can be moved earlier, but it requires changes to other drivers in the tree to permit enumerating devices and reserving firmware-assigned resources in a depth-first traversal before attaching devices whose drivers request wildcard allocations. PR: 272507 Reported by: Justin Tocci Reported by: john@feith.com, many others Tested by: Oleg Sidorkin , dch (cherry picked from commit f2fcb68074a51a8b399dc80d4c03fbe98a0ab92c) --- sys/dev/acpica/acpi.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index cd390ada512c..49153eedbcc0 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1268,8 +1268,17 @@ acpi_sysres_alloc(device_t dev) } /* - * Reserve declared resources for devices found during attach once system - * resources have been allocated. + * Reserve declared resources for active devices found during the + * namespace scan once the boot-time attach of devices has completed. + * + * Ideally reserving firmware-assigned resources would work in a + * depth-first traversal of the device namespace, but this is + * complicated. In particular, not all resources are enumerated by + * ACPI (e.g. PCI bridges and devices enumerate their resources via + * other means). Some systems also enumerate devices via ACPI behind + * PCI bridges but without a matching a PCI device_t enumerated via + * PCI bus scanning, the device_t's end up as direct children of + * acpi0. Doing this scan late is not ideal, but works for now. */ static void acpi_reserve_resources(device_t dev) @@ -2157,9 +2166,6 @@ acpi_probe_children(device_t bus) /* Pre-allocate resources for our rman from any sysresource devices. */ acpi_sysres_alloc(bus); - /* Reserve resources already allocated to children. */ - acpi_reserve_resources(bus); - /* Create any static children by calling device identify methods. */ ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "device identify routines\n")); bus_generic_probe(bus); @@ -2168,6 +2174,12 @@ acpi_probe_children(device_t bus) ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "acpi bus_generic_attach\n")); bus_generic_attach(bus); + /* + * Reserve resources allocated to children but not yet allocated + * by a driver. + */ + acpi_reserve_resources(bus); + /* Attach wake sysctls. */ acpi_wake_sysctl_walk(bus); From nobody Fri Feb 23 05:26:18 2024 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 4Tgz563tVqz5Blk5; Fri, 23 Feb 2024 05:26: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 4Tgz5630kGz4slw; Fri, 23 Feb 2024 05:26:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708665978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J4ISOT9S8tUKIRm9WR2D74GQ5oeqpbSxU3wDM+AZjl0=; b=GTEPRaNdjg5QccNFW+B4R9hmIagnkg8USPwkmjC/DWufzRA9A0I4LIoGxU61k2VWfrcWAd DfVZ2cd6Yf6fdY/JLtW5apJMEM1aKheGBBDXXy4OcSODPEtOK3NYP0G4qvylPyteDlWxxh j+lP0MCMYzCiN8foCVuJD3CbRyFXm1NQfNWHRVCycp656T7vvwvMbOS1OH9dSdU7E3HVN5 raj+SHMvT4USYI/EWR2XDl38ExUodzzsQTNG500hzPvC0+ibSJ0LM23mhAbuWGUInkRp+F u1bpc9eldArP7Gf1Qtz/us9EHJ5YmtWLuoW4bjapviXIgE692Nn4FZZxqtG8gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708665978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J4ISOT9S8tUKIRm9WR2D74GQ5oeqpbSxU3wDM+AZjl0=; b=LgArgA8x26Srh0Vi/w4DAYQli5a54TmOGp7/RgCDLjWmRo01UnhiC+uhS0hYWD/3rCDk9R vpyMnykVPUVFx3RtxXtl5KQw7VBge8qmGSeMS6pHwdDhnkjps6XH5SYhb6evdDS70NmYlI YD1mEq3yaCyG2gQy2CJ0pLVs5yUfNJQcCtoGk2zqRZw+M9ydZPEWnHfYZzJdMJYnk2JC/N IB4moTFd84af0we+ocvSysEk1AzxflkeJ/+AJnU4RFeCzgQ/ND98eZvFGMktn6W/veWjym dcL7cME7xzvKZOhALu+9x+neCBAiOAX/dkZOsOvvBkU3fcMx9eFxMecg+dOwQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708665978; a=rsa-sha256; cv=none; b=D98lTKw+Q0wfI/qShf1blvfnkek66TEWldQ7PFql25RWcqEuypDjsrT/sn9upQkK3BkiKJ VdxntJ1Eu4+9LE0FCnVrmqVnAxxhEpbfR6UpDq3fsEhZLkNtFNQgPUPEHlAsjfwB1+hM+k GKL7xhn230LdmjTUkIZDbzlY4bgnqRS/dB3c68afTe725PxKOMz66v+TgmgfDQucObmSf7 obfI/Ml9KgR1trhfScgeloI1Vda+dQjgWhnnZmJ9KnSk2diRb4hwhPWK68JFdX7p63sqWD pVPrbWH1+ofDvx5RvLN4iGVHLMbd6zAsX7f91cFn2Zh1UgyVNXsiVdQHg/tsiQ== 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 4Tgz5624bbz12rX; Fri, 23 Feb 2024 05:26: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 41N5QIgt036542; Fri, 23 Feb 2024 05:26:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41N5QIF1036539; Fri, 23 Feb 2024 05:26:18 GMT (envelope-from git) Date: Fri, 23 Feb 2024 05:26:18 GMT Message-Id: <202402230526.41N5QIF1036539@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: f15ff67ef937 - releng/13.3 - acpi: Defer reserving resources for ACPI 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: f15ff67ef9379e2fe4909c96fb8e4153c32bafe1 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f15ff67ef9379e2fe4909c96fb8e4153c32bafe1 commit f15ff67ef9379e2fe4909c96fb8e4153c32bafe1 Author: John Baldwin AuthorDate: 2024-02-22 18:43:43 +0000 Commit: John Baldwin CommitDate: 2024-02-23 05:23:38 +0000 acpi: Defer reserving resources for ACPI devices The goal of reserving firmware-assigned resources is to ensure that "wildcard" resource allocation requests will not claim an address range that is actually in use even if no attached driver is actively using that range. However, the current approach can break in some cases. In particular, ACPI can enumerate devices behind PCI bridges that don't show up in a normal PCI scan, but those device_t objects can end up as direct children of acpi0. Reserving resources for those devices directly from acpi0 ends up conflicting with later attempts to reserve the PCI bridge windows. As a workaround, defer reserving unclaimed resources until after the initial probe and attach scan. Eventually this pass of reserving unclaimed resources can be moved earlier, but it requires changes to other drivers in the tree to permit enumerating devices and reserving firmware-assigned resources in a depth-first traversal before attaching devices whose drivers request wildcard allocations. PR: 272507 Reported by: Justin Tocci Reported by: john@feith.com, many others Tested by: Oleg Sidorkin , dch (cherry picked from commit f2fcb68074a51a8b399dc80d4c03fbe98a0ab92c) (cherry picked from commit eaa51e59e560c556d0a8273d29eea4309e6b6a4f) Approved by: re (cperciva) --- sys/dev/acpica/acpi.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index fbb3c2bc7c1c..01b2b1c06566 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1268,8 +1268,17 @@ acpi_sysres_alloc(device_t dev) } /* - * Reserve declared resources for devices found during attach once system - * resources have been allocated. + * Reserve declared resources for active devices found during the + * namespace scan once the boot-time attach of devices has completed. + * + * Ideally reserving firmware-assigned resources would work in a + * depth-first traversal of the device namespace, but this is + * complicated. In particular, not all resources are enumerated by + * ACPI (e.g. PCI bridges and devices enumerate their resources via + * other means). Some systems also enumerate devices via ACPI behind + * PCI bridges but without a matching a PCI device_t enumerated via + * PCI bus scanning, the device_t's end up as direct children of + * acpi0. Doing this scan late is not ideal, but works for now. */ static void acpi_reserve_resources(device_t dev) @@ -2157,9 +2166,6 @@ acpi_probe_children(device_t bus) /* Pre-allocate resources for our rman from any sysresource devices. */ acpi_sysres_alloc(bus); - /* Reserve resources already allocated to children. */ - acpi_reserve_resources(bus); - /* Create any static children by calling device identify methods. */ ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "device identify routines\n")); bus_generic_probe(bus); @@ -2168,6 +2174,12 @@ acpi_probe_children(device_t bus) ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "acpi bus_generic_attach\n")); bus_generic_attach(bus); + /* + * Reserve resources allocated to children but not yet allocated + * by a driver. + */ + acpi_reserve_resources(bus); + /* Attach wake sysctls. */ acpi_wake_sysctl_walk(bus); From nobody Fri Feb 23 09:48:41 2024 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 4Th4vs5Vcvz5C8GH; Fri, 23 Feb 2024 09:48: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 4Th4vs4S0yz4Nm6; Fri, 23 Feb 2024 09:48:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708681721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mzw4I2s679Ys9w5Clq1vwpvv4yQ0I6EL4V4llT8G3LI=; b=CTdFj1Nl3wtX4ipbZBkCrGQOHV+mS63r9unmo8JfyzgpBgD9nDLRk+cZF/Z56vJ/559x1v 0xVvI6uxFNq6b9CPBdr8EGOY17GuxTfx7hiuFQouFi7kuulI4OZT0hXwMCDopVpKtQnylO d2mu6+FfyB+lRyX1cPQr+huaWfZkRhOQs+oo2E+EVY/0jv3Dx4+qIpqpj1ORN+9VFbFEQL AgTUJ5Y1sVw6m9boRLwHp7yV9qENxhOwNx/Hhrjx4PhaZTlf3B+HsR9gqLr7PhX5PrbTml u1/4PpuPBRIHFrG3xruhhaKGwYP/CJ2dgMu7fUcR41tev212tWhbrBBQZV46TQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708681721; a=rsa-sha256; cv=none; b=FpC+rN2FAt95EsKmhDiaHOcRvu4AEmiXw8moyyJjtOVRTuI4r5KCtSdZiT0c25RQgKT3e5 TcHOeFZCwN5pVVOqiL8b7zycdhXB24kiK7xd73SqGgt8cENZ4Y0wVMQu3/b5UO2TwZz042 ZtOTp87xOvLJ6fPIWE3sl8Fg5buLcCyOXe/dSJpPKdmRyP4oq9dUaCySOtJXA+n3GCHlTz b7VkSQjLHfwPKwnKgEUixDwe227Eg4FLG3LcHCrngiv8xvs9SAUFXWeilp4misDAmNsn6j B95ev1/zRBi4Kf4Rihlg4u+nubqlAPqihIuxQxUo23cGyG0mMEtpdN4YerLDHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708681721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mzw4I2s679Ys9w5Clq1vwpvv4yQ0I6EL4V4llT8G3LI=; b=of+PWxORo/W0ONuGUbjlF1hvu5+lYhlvHRyx3Mwhuxh91AAo6OzOlX+q9XQ6JOqWgYMvBd S/pyFRTwSAcKGFeLdM1Ny9mCOjfD8VHyyYxn8ziNk+bRM61XUXBhC6WLEYLIjkJlVZR0Lb mgQ7lGiQLeHk6DqFpcLvTx1oGo5Y3BDARiMNwga2HbQhxRGTX9HYH/X7dJrgqGvZ+5dUa1 9klQF7Q12Ce7RyAzIt7s1+9X7tSgbtpnhhUcXGwBMYmsSAbdc4wo5Qe+Vo1ePQ8Sd7f1/s ONLNO6+29SC9JT09WyHhRrcn2M7/Uq+D3e0pYw3ZXXpfPEMkuVWAnSOZV3roUA== 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 4Th4vs3YJRz19g8; Fri, 23 Feb 2024 09:48: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 41N9mfg6075193; Fri, 23 Feb 2024 09:48:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41N9mftI075190; Fri, 23 Feb 2024 09:48:41 GMT (envelope-from git) Date: Fri, 23 Feb 2024 09:48:41 GMT Message-Id: <202402230948.41N9mftI075190@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Cochard Subject: git: bde7c606e9e0 - main - jail: skip sysctl_security_jail_children if jail binary missing 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: olivier X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bde7c606e9e03bd0dbab0d41f0c100d1ff9dd872 Auto-Submitted: auto-generated The branch main has been updated by olivier: URL: https://cgit.FreeBSD.org/src/commit/?id=bde7c606e9e03bd0dbab0d41f0c100d1ff9dd872 commit bde7c606e9e03bd0dbab0d41f0c100d1ff9dd872 Author: Olivier Cochard AuthorDate: 2024-02-23 09:43:54 +0000 Commit: Olivier Cochard CommitDate: 2024-02-23 09:43:54 +0000 jail: skip sysctl_security_jail_children if jail binary missing Approved by: lwhsu Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44010 --- sys/kern/sysctl_security_jail_children.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/kern/sysctl_security_jail_children.sh b/sys/kern/sysctl_security_jail_children.sh index 0423cf1e8a59..6ac6aa904dbc 100644 --- a/sys/kern/sysctl_security_jail_children.sh +++ b/sys/kern/sysctl_security_jail_children.sh @@ -33,6 +33,9 @@ max_cur_head() { atf_set descr 'Test maximum and current number of child jails' atf_set require.user root + if ! which -s jail; then + atf_skip "This test requires jail" + fi } max_cur_body() { From nobody Fri Feb 23 09:48:42 2024 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 4Th4vv0HtVz5C8GJ; Fri, 23 Feb 2024 09:48: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 4Th4vt5J5xz4NxB; Fri, 23 Feb 2024 09:48:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708681722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=70Yv2mRfqWIdoXlR9YT4qEHfLYROm2BJ2c4k8b3YHRs=; b=ApA53oO5XnorwDlZciwu/uwWEz1BkTVjadGc0UmNpEw/h0gHmo9nfquo+2fi5Lbph2Qdw8 KKhqbX+60bmVfJsuch9Ne5Xtj0Bmjeg1pMZYR0bF5nZaCJlXRJeRWRCjWM3g9Wi6qwpgqJ K5CHhX4quQlTVJKffsQRPAyuFLfBBsehWhlGl1jkVEGNvZ1Ft3IBg8sJ//0ZbBeJqjamzP OC4t/jjiy2zBHVcNJNrnalotAX12W4zUP2wJqfqa/ZmTM/yTWybho6CnTI0mT1tD948Nui zKoAtXPJ83ccU/WSZuzA8V9526dzLBrTjh8NtMOHE6/cbnT8bekXJfhha988GQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708681722; a=rsa-sha256; cv=none; b=f/H5brrzFE9wKrCz3COwpOn8RKCevLrA5MrQMkPfbYjGfVxJdcRiPoj7yrHLaFmHlgLvle 6SnpbtYmMzkRU+IDS4EepWMSJdTIzxh/auEWoy0Utngr81U/PA0pk0hSwTCfFs/30OTF0+ R2G7h6xZ3Zf7w1TkjpydJznBOUKpPOX3whRBCojhuG6yWiliVK2eFqlkfSQ5MWdUvc4YpB O6nrs603SqUfkxWbJm4w+ER6fjImPcoWh/fknA4TE5Gv90ZG7IoCtUase6SBznHhBusn3F AuO9Ed/tdCsZERgMdF107Hd7M+sHyUoUsgKnuPQSO0LlURvuI08xwVsXVpcHOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708681722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=70Yv2mRfqWIdoXlR9YT4qEHfLYROm2BJ2c4k8b3YHRs=; b=C7DwaniHP5Ru2KYaJaOHOyT01XWi13bY7M2OCDwziV6Yi0y9sB4X35A2RR3pEBe3GKXSVx f4Zj4xXIMmshXncMdNaWBxpy8OV9Zgja3dHDr08HL8tdOMxrqHmUBbDF94HwqbFXVzmXJ9 FbsWdmxTyhzDCjUF8VGwsQbVxxGeYA49r3xqb4s0nfnSL3uovvDPsVr9rP2YxjHgGePD/S 0veJVs2IHvXu0ZicwpmZfVQg/tO1yLOgoSz8/TX1ZT1XL18ZKxXFd0KgMXciK51earXyCy lHb6T88tT4yJfWIaIrtDIFV7bi4+Ncgqv6Vup71oy6pcKXEJX/ur/2uWXJqx6A== 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 4Th4vt4Nkfz19L7; Fri, 23 Feb 2024 09:48: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 41N9mgpu075247; Fri, 23 Feb 2024 09:48:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41N9mgYE075244; Fri, 23 Feb 2024 09:48:42 GMT (envelope-from git) Date: Fri, 23 Feb 2024 09:48:42 GMT Message-Id: <202402230948.41N9mgYE075244@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Cochard Subject: git: 3562b7b1eb80 - main - hostname(1): skip test if jail binary is missing 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: olivier X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3562b7b1eb80107fe2832bf5a2bfa1a03888db1c Auto-Submitted: auto-generated The branch main has been updated by olivier: URL: https://cgit.FreeBSD.org/src/commit/?id=3562b7b1eb80107fe2832bf5a2bfa1a03888db1c commit 3562b7b1eb80107fe2832bf5a2bfa1a03888db1c Author: Olivier Cochard AuthorDate: 2024-02-23 09:46:34 +0000 Commit: Olivier Cochard CommitDate: 2024-02-23 09:46:34 +0000 hostname(1): skip test if jail binary is missing Approved by: lwhsu Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44005 --- bin/hostname/tests/hostname_test.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/hostname/tests/hostname_test.sh b/bin/hostname/tests/hostname_test.sh index 57517821f7f1..2ad6a1a5c358 100644 --- a/bin/hostname/tests/hostname_test.sh +++ b/bin/hostname/tests/hostname_test.sh @@ -42,6 +42,9 @@ test_jail_conf='%%test_jail_name%% { init() { + if ! which -s jail; then + atf_skip "This test requires jail" + fi echo "${test_jail_conf}" | \ sed -e "s/%%test_jail_name%%/${test_jail_name}/" > "./jail.conf" jail -f "./jail.conf" -c ${test_jail_name} From nobody Fri Feb 23 10:36:43 2024 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 4Th5zH2P99z5CDB9 for ; Fri, 23 Feb 2024 10:36: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 4Th5zH1sKqz4XhF; Fri, 23 Feb 2024 10:36:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708684603; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/ia5DElDChjdJQbHZT4I0/GMJABu1xE5R1FGKlD0lRc=; b=f9oEH4/nivW94sIhuAXiRUDzdt8UYEhlaVGCaRMizFNnxJxNUPuFRCxtJqRXmJKnRroC5w D1vGW2c7nKE7AlKGsUKm1CHfmluQlcBkOTBR0j76D78+BE+TFh/UyeEpAMIBSkFef9YcLT EBNSw3Wh6yPc7lt6l1Q9/E1IO/uahcB336nLMrlVK7k8e9JggWiWEc98g24Va6q2mbpsQ3 r6dQ4xw5nEOwzLNzifkgYGO4BkZ5MVBMECJ8MyS8I64Wqj2NXpF3P0vbJHHnS1/KSZWCVu qkwCEPg2gSWwJYMQA2X5jMjoRjoJFteKdicEk339i3+97kl1xvC9mDAlxpXydQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708684603; a=rsa-sha256; cv=none; b=NJ3t2bHUgX7hECrPftxcvQbaO5kT4NEZQSwJR4IptarFnB+dqmffn3xOp7rgnaBF74zjl+ n5usyuRB54xZNKn+0iiGqjPOSC9OtZ2et/7YldNsf5iEgmuzPF601hJJjzpbpY+0wSAMOr L0qCAnU4zBI/GIIgeyfRHg6/2wKJFl2VEauTS7EHjhsLkiigRad7opjHiYUPJQ77pM8CT2 W2F/pnb8FUmIps57znEpos/aDXMViZqEHetiPRhF7/qDOkPCVcgxIEO3TJkSxZUnANhXxB L27HxKsxhJxudHgi7pWiLmxKxGU6Zt0DqSzqfjGM/VKzwPRht5PPjmedlq94xQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708684603; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/ia5DElDChjdJQbHZT4I0/GMJABu1xE5R1FGKlD0lRc=; b=ObonIUadqTaRsYOb5sKBcVpm/wBBUPCBH7dmNBABWJSomejLVZQlY/55u6/GUFB5Wdh8ug ChGrIzofXaQbbxRfl4DcknYyDBiDGh876fDjkB21hild6N0MfXiLcog8VbeGPb8Dg/pvtn sCDn35vpvEZJR7i+X+ezSbzXV+4kQDhe/69bsONc2joga0qhKbFLnlzd57fS9BMtNEUH8Q aM2hGBzX4vzcfVrwUGl/CvH8rxqXdpYZZe17GZiS3UU6gyQBD7PYED8KBy4aU6mUR3dVgZ Gavoi+dLAWkQSvfLH2WMitMginQuBkdEqm0mwyAvqQcyWehsUZcbIekNqHfKVA== 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 4Th5zH0w97z1BmL; Fri, 23 Feb 2024 10:36: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 41NAahbe062007; Fri, 23 Feb 2024 10:36:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NAahMM062006; Fri, 23 Feb 2024 10:36:43 GMT (envelope-from git) Date: Fri, 23 Feb 2024 10:36:43 GMT Message-Id: <202402231036.41NAahMM062006@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Martin Matuska Subject: git: 494aaaed89cb..c883088df83c - 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: c883088df83ced3a2b8b38e6d89a5e63fb153ee4 X-Git-Oldrev: 494aaaed89cb9fe9f2da3b6c6f465a4bc9f6a7e1 X-Git-Newrev: c883088df83ced3a2b8b38e6d89a5e63fb153ee4 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=494aaaed89cb..c883088df83c b3626f0a3576 linux 6.7 compat: simplify current_time() check 3c13601a12b1 linux 6.7 compat: use inode atime/mtime accessors 18a9185165e2 linux 6.7 compat: handle superblock shrinker member change 03b84099d9c4 linux 6.7 compat: rework shrinker setup for heap allocations 3c502e376b77 ZTS: Disable io_uring test on CentOS 9 d530d5d8a567 Linux 6.5 compat: check BLK_OPEN_EXCL is defined db2db50e3701 spa: make read/write queues configurable 2a59b6bfa966 ABD: Be more assertive in iterators c34fe8dcbcb7 Update the kstat dataset_name when renaming a zvol f13593619b07 FreeBSD: Optimize large kstat outputs a8c29a79df2d Linux: Reclaim unused spl_kmem_cache_reclaim 2e259c6f0014 L2ARC: Restrict write size to 1/4 of the device ad47eca195d0 ZIL: Assert record sizes in different places e48195c816ed ZIO: Add overflow checks for linear buffers 3b8f22736223 ZIL: Remove TX_CLONE_RANGE replay for ZVOLs. e11b3eb1c608 ZIL: Do not clone blocks from the future 121924575e48 Allow block cloning across encrypted datasets dea2d3c6cda7 zdb: Dump encrypted write and clone ZIL records 1e1d748cae2e ZIL: Remove 128K into 2x68K LWB split optimization e09356fa05ff BRT: Limit brt_vdev_dump() to only one vdev b13c91bb2997 DMU: Fix lock leak on dbuf_hold() error a701548eb4a8 dbuf: Handle arcbuf assignment after block cloning 9c40ae021996 dbuf: Set dr_data when unoverriding after clone f71c16a66126 Don't panic on unencrypted block in encrypted dataset 976bf9b6a619 Linux 6.2 compat: add check for kernel_neon_* availability 152a775eac59 Improve block sizes checks during cloning ac592318b83a Fix livelist assertions for dedup and cloning 3bd23fd78dce freebsd: fix compile for spa_taskq_read/spa_taskq_write params 9181e94f0b24 spa: Fix FreeBSD sysctl handlers a00231a3fc99 spa: Let spa_taskq_param_get()'s addition of a newline be optional 9ecd112dc1dc compact: workaround for GPL-only symbols on riscv from Linux 6.2 2ecc2dfe4270 Linux 6.7 compat: zfs_setattr fix atime update 07cf973fe9e4 Autotrim High Load Average Fix 387f003be305 ZTS: block_cloning: Use numeric sort for get_same_blocks d8b0b6032b5f ZTS: Add test cases for block cloning replay f94a77951dd3 Test LWB buffer overflow for block cloning c16d10342280 Block cloning tests. 83c0ccc7cf54 Enable block_cloning tests on FreeBSD d2f7b2e55767 ZTS: Test for clone, mmap and write for block cloning ef527958c6a1 Fix cloning into mmaped and cached file. c1161e285134 fix: variable type with zfs-tests/cmd/clonefile.c 9e0304c363d7 ZTS: Apply zfs_bclone_enabled to bclone tests 3425484eb907 Fix file descriptor leak on pool import. 4d4972ed98a8 Stop wasting time on malloc in snprintf_zstd_header 7bccf98a731d Make zdb -R scale less poorly 22e4f08c30f9 Linux: Defer loading the object set in zfs_setattr() 8b1c6db3d2f3 Fix a potential use-after-free in zfs_setsecattr() 4db88c37cc4e fix(mount): do not truncate shares not zfs mount 509526ad2103 fix: preserve linux kmod signature in zfs-kmod rpm spec 2006ac1f4a52 Fix "out of memory" error 52cee9a3eb0a fix: Uber block label not always found for aux vdevs eb4a36bcef41 Extend aux label to add path information a2e71db66434 Add path handling for aux vdevs in `label_path` 6b64acc157ec Make spl_kmem_cache size check consistent 424d06a29886 Make sure all necessary RPM path macros are defined 276be5357cf3 linux spl: fix typo in top comment of spl-condvar.c 09a79613640b FreeBSD: Fix bootstrapping tools under Linux/musl cfa29b994594 ZTS: Apply small changes for speeding up the tests 9da745f5de73 Switch to CodeQL to detect prohibited function use 9ad150446fad ZTS: Update deprecated Github Action version numbers dd3a0a27157b Update vdev devid and physpath if changed between imports 0606ce20555a zpool wait: print timestamp before the header 7cd666d54b12 Move nodes into correct subgraphs dd0874cf7ea3 ZTS: Allow longer run time for zdb_args_pos acc7cd8e99da Update man pages to time(1) from time(2) ab653603f8e1 Don't assert mg_initialized due to device addition race 621dfaff5ce1 Linux 6.7 compat: META 64afc4e66edf Linux 6.8 compat: make test functions static ce782d080432 Linux 6.8 compat: update for new bdev access functions 7466e09a492b Linux 6.8 compat: implement strlcpy fallback 09e6724e1ee5 Linux 6.8 compat: replace MAX_ORDER define cbd51c5f2416 Linux 6.8 compat: fix inode permission tests e6ca28c97084 Linux 6.8 compat: handle mnt_idmap user_namespace change 992d8871ebe1 ZTS: Add dirty dnode stress test 59112ca27d94 zed: misc vdev_enc_sysfs_path fixes 69142125d75b zpool: Add slot power control, print power status 9ef15845f5fd Fix the FreeBSD userspace build (#15716) 00d85a98ea10 BRT: Fix FICLONE/FICLONERANGE shortened copy 08fd5ccc38c3 Improve performance for zpool trim on linux 9bb8d26bd548 zed: fix typo in variable ZED_POWER_OFF_ENCLO*US*RE_SLOT_ON_FAULT 40e20d808ce2 Add 'zpool status -e' flag to see unhealthy vdevs *** 10 LINES SKIPPED *** From nobody Fri Feb 23 10:49:50 2024 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 4Th6GQ3DGMz5CF7j; Fri, 23 Feb 2024 10:49: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 4Th6GQ2n5xz4Z8v; Fri, 23 Feb 2024 10:49:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708685390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oCoebOZIZpUUZe56RTuu8tVTV6dApa88vDtIH/j7dLk=; b=TgLuXkN3WXgiM6kEJ4M/tasio7aaWzgJDEQqxaQ4H+IC3DxiYVrRnYkKn6JFqVLrWjwadb 2BfoXlUgOU3dHNraPB7vXqyfaRBm5mxwiLQohcSx31yKq0d3DjjX19h6fy9xMHx0pZ3Ar6 8tSocjTbswNUQZafgBVZiEXNQ+FjFcpaX/RW/JnRq/mQ6MEB+fax3b6ESq/jKhdQriaCKG VkhOdrhXRgfI2Nty7Syrw9jzdAjGpFpetGdFODHf3/LxNoIx8PN64GbGZeBzDYMVDq1UQs UvRAVLTnRv/v8yRJ2pxfBYRIsWf28ZZC8zPYHs4q4fzf+pWQk8MD3XR1Q6gWBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708685390; a=rsa-sha256; cv=none; b=NyxFWQ0/GN7nIy5ZY/Sn6p1bAC7glnArmra1Sp4MkK0zLj2+Od3uJJPSv+BJWniJTOIYX9 iGdS03AVRoKOO6T8QqZLxhUBNKO7PT0KNKDNffXKbyofDTIAOdEMIjRkImSC9v2rkIFL46 dIlkBuKCLMMQ/R+2Vb1EB5jjbYGqcmRM3+lsn/o5UrrSmynxrd2IedHlPT0DBxSkhW4ce4 l2cyvlh54F6cZunVp4Ah/QMrh5CGKgLvwXKWnsykfuS91ygxmbZXgigkPU8Ll72X5T0CRE q+nlbGAEGqC/TDeDbBxInI9p31DcSSTBQoXdLvxOSLHubQ6ketDl/7+PM3BC6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708685390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oCoebOZIZpUUZe56RTuu8tVTV6dApa88vDtIH/j7dLk=; b=m1QwWzbYkknjTa2HMgxd/foLa3/YczwrGh3wbiaamlJ9Vww/alnGMaBMJjaF4WJ0nXKm8L WMEHvolOOwfVBY6Q3oW9ObcF14dl3xviu02OSuQPWfia+RGMmwQddJny6UgcmFd8vpdTLy +p4HxM2yECgpkaz27IwpVb5B3ju/TCVrAXw7G2cDBkRP3Jbfmch5+jcXrK7WjBhKq1OBos iU5SzIECwG40mwDzOrlCeIgZkA93jAY1t0Yl95bIXU6nMns6wJPl1zs1SBFzl7fJcCY7Xw qv7ZaB31df2XRXW23sQbzQg57hfrBPNeBd2yrsEwCHD2n8r2Qv64ATqKy7tjLA== 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 4Th6GQ1qy2z1BWr; Fri, 23 Feb 2024 10:49: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 41NAnom8079583; Fri, 23 Feb 2024 10:49:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NAnoUf079580; Fri, 23 Feb 2024 10:49:50 GMT (envelope-from git) Date: Fri, 23 Feb 2024 10:49:50 GMT Message-Id: <202402231049.41NAnoUf079580@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Stefan =?utf-8?Q?E=C3=9Fer?= Subject: git: fba1a994acfe - stable/14 - msdosfs: fix potential inode collision on FAT12 and FAT16 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: se X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fba1a994acfe31d957e9e26a5f12a6fdd1689bd2 Auto-Submitted: auto-generated The branch stable/14 has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=fba1a994acfe31d957e9e26a5f12a6fdd1689bd2 commit fba1a994acfe31d957e9e26a5f12a6fdd1689bd2 Author: Stefan Eßer AuthorDate: 2024-02-20 12:02:24 +0000 Commit: Stefan Eßer CommitDate: 2024-02-23 10:47:58 +0000 msdosfs: fix potential inode collision on FAT12 and FAT16 PR: 277239 Approved by: mckusick (cherry picked from commit 445d3d227e68f85157d0301d1706aa488e8423da) --- sys/fs/msdosfs/denode.h | 8 +++++++- sys/fs/msdosfs/msdosfs_denode.c | 19 ++++++++++++++++--- sys/fs/msdosfs/msdosfs_lookup.c | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/sys/fs/msdosfs/denode.h b/sys/fs/msdosfs/denode.h index ad52a736592c..0d31b0583fa6 100644 --- a/sys/fs/msdosfs/denode.h +++ b/sys/fs/msdosfs/denode.h @@ -162,7 +162,7 @@ struct denode { u_long de_FileSize; /* size of file in bytes */ struct fatcache de_fc[FC_SIZE]; /* FAT cache */ u_quad_t de_modrev; /* Revision level for lease. */ - uint64_t de_inode; /* Inode number (really byte offset of direntry) */ + uint64_t de_inode; /* Inode number (really index of DOS style direntry) */ }; /* @@ -217,6 +217,12 @@ struct denode { #define VTODE(vp) ((struct denode *)(vp)->v_data) #define DETOV(de) ((de)->de_vnode) +#define DETOI(pmp, cn, off) \ + ((cn) == MSDOSFSROOT \ + ? (((uint64_t)(off) >> 5)) \ + : (((((uint64_t)pmp->pm_bpcluster * ((cn) - 2) + (off))) >> 5) \ + + pmp->pm_RootDirEnts)) + #define DETIMES(dep, acc, mod, cre) do { \ if ((dep)->de_flag & DE_UPDATE) { \ (dep)->de_flag |= DE_MODIFIED; \ diff --git a/sys/fs/msdosfs/msdosfs_denode.c b/sys/fs/msdosfs/msdosfs_denode.c index 612b318ce6e8..7f275d387a25 100644 --- a/sys/fs/msdosfs/msdosfs_denode.c +++ b/sys/fs/msdosfs/msdosfs_denode.c @@ -133,10 +133,13 @@ deget(struct msdosfsmount *pmp, u_long dirclust, u_long diroffset, * entry that represented the file happens to be reused while the * deleted file is still open. */ - inode = (uint64_t)pmp->pm_bpcluster * dirclust + diroffset; + inode = DETOI(pmp, dirclust, diroffset); error = vfs_hash_get(mntp, inode, lkflags, curthread, &nvp, de_vncmpf, &inode); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_get(inode %lu) error %d\n", inode, error); +#endif if (error) return (error); if (nvp != NULL) { @@ -191,6 +194,9 @@ badoff: } error = vfs_hash_insert(nvp, inode, lkflags, curthread, &xvp, de_vncmpf, &inode); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_insert(inode %lu) error %d\n", inode, error); +#endif if (error) { *depp = NULL; return (error); @@ -589,8 +595,11 @@ reinsert(struct denode *dep) return; #endif vp = DETOV(dep); - dep->de_inode = (uint64_t)dep->de_pmp->pm_bpcluster * dep->de_dirclust + - dep->de_diroffset; + dep->de_inode = DETOI(dep->de_pmp, dep->de_dirclust, dep->de_diroffset); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_rehash(inode %lu, refcnt %lu, vp %p)\n", + dep->de_inode, dep->de_refcnt, vp); +#endif vfs_hash_rehash(vp, dep->de_inode); } @@ -608,6 +617,10 @@ msdosfs_reclaim(struct vop_reclaim_args *ap) /* * Remove the denode from its hash chain. */ +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_remove(inode %lu, refcnt %lu, vp %p)\n", + dep->de_inode, dep->de_refcnt, vp); +#endif vfs_hash_remove(vp); /* * Purge old data structures associated with the denode. diff --git a/sys/fs/msdosfs/msdosfs_lookup.c b/sys/fs/msdosfs/msdosfs_lookup.c index eb4cbaa21ab7..2a90339d0878 100644 --- a/sys/fs/msdosfs/msdosfs_lookup.c +++ b/sys/fs/msdosfs/msdosfs_lookup.c @@ -586,7 +586,7 @@ foundroot: } if (FAT32(pmp) && scn == MSDOSFSROOT) scn = pmp->pm_rootdirblk; - inode1 = scn * pmp->pm_bpcluster + blkoff; + inode1 = DETOI(pmp, scn, blkoff); if (VTODE(*vpp)->de_inode != inode1) { vput(*vpp); goto restart; From nobody Fri Feb 23 10:52:09 2024 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 4Th6K53pMcz5CDvk; Fri, 23 Feb 2024 10:52: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 4Th6K53G7Fz4ZT5; Fri, 23 Feb 2024 10:52:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708685529; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pzoMoOa5f5rTN++Dv/T1KvCFY/NytXyhbstPaSHCQ8Q=; b=b/yZRK46qRmpFHlpEPPmSd4Mc0TDvm78NiT7MbNgSa5zOMipyxDUwnR5mHEB44y0p6ruRY 6hIjNFQg8qAkK4uYYvhbXWAl/x+4qiaiFM9ZBkhWvNC6mERTxejJVcV0EL7YVH28RItxEq kTH83oBXW1ZsuWNoGwwol1DKJlJt5e+qys4DO4HXNA2gZ+iDCcHDDA4FjAiXUr+hOkKE3X an7I4+UDeqlWIKF4BYqtgFg/pyWutUbdbuLYxA7FNQKBMycscPAMNWTxfCbzZK67963UnL 0UflusLl5UQ9MA6YBXZV6cm2GAWdHGRG8ZQGdadukOExZRkZQrvay7KgoJfjJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708685529; a=rsa-sha256; cv=none; b=UbLzyd+9xMUP2pC7bTlNSAVpoYLU/mCZFnNpxwut6xEZBSt0uSRSRkJFzxRtk24ZuQ1z4s IuTJtR7iQFKlFKo095qR3iGrIFqf9OBmhYhIZdPZkTcbzmvh6AGDQUsFp09bt7kjAAKyoE D/rloJDptbQZrjaZbfETeDATfkMDWhyj/EPwQeChDUj9mTxPYsefuMrBEzQsHIMAhQuO7U 97qTW9FLy2NmfYAbPRwMvd/9dcwTSZDqJulRRQD5XtuUMjK+QUHhcY8YUVJnObSpiTC1uS 2BzKeHBzGTSeGIKYNhKwGxIPdIPcDGxLRWRrCWYvgLsjDqR3eGEbMCCHS8GrVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708685529; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pzoMoOa5f5rTN++Dv/T1KvCFY/NytXyhbstPaSHCQ8Q=; b=yIMHBDJE5JZsOkRGB/jYnTAHe7+tJDfH3xWj8kE6Yw6KayEJZd1vuFElMX4hIWZccF7D6q zGK6EJtoUHvZVZHhwhyfcVUg1720ERmktsANpRHZbn+JE9bgcJ9LJ122xUlsnrJ6LHWpzG A+iKhXTfi/MCHYI7AyWizpEv5XTLazSYFOkOwJkTHJ0cqYyInxZIWoMMU52eEmFATfPtsK i2Kr4VLqWiVuwIMBmNEdF8xsL1bKC0Q7M2F+6ukmt6kyu6qgcRl7JHgjjoWRd40DRHP2aK oABXtD2h8qgg0F19IsIfqHQrmWau1r6+uXRB2ns/oki+j/U0lT4+cOJRAMAY2g== 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 4Th6K52JTSz1C4k; Fri, 23 Feb 2024 10:52: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 41NAq9LT094250; Fri, 23 Feb 2024 10:52:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NAq9KH094247; Fri, 23 Feb 2024 10:52:09 GMT (envelope-from git) Date: Fri, 23 Feb 2024 10:52:09 GMT Message-Id: <202402231052.41NAq9KH094247@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Stefan =?utf-8?Q?E=C3=9Fer?= Subject: git: a495e7f5c5c2 - stable/13 - msdosfs: fix potential inode collision on FAT12 and FAT16 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: se X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a495e7f5c5c2088bf32cd7349e2ca344ee089552 Auto-Submitted: auto-generated The branch stable/13 has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=a495e7f5c5c2088bf32cd7349e2ca344ee089552 commit a495e7f5c5c2088bf32cd7349e2ca344ee089552 Author: Stefan Eßer AuthorDate: 2024-02-20 12:02:24 +0000 Commit: Stefan Eßer CommitDate: 2024-02-23 10:50:31 +0000 msdosfs: fix potential inode collision on FAT12 and FAT16 PR: 277239 Approved by: mckusick (cherry picked from commit 445d3d227e68f85157d0301d1706aa488e8423da) --- sys/fs/msdosfs/denode.h | 8 +++++++- sys/fs/msdosfs/msdosfs_denode.c | 19 ++++++++++++++++--- sys/fs/msdosfs/msdosfs_lookup.c | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/sys/fs/msdosfs/denode.h b/sys/fs/msdosfs/denode.h index 9ac5c2a2f5e1..881e27bc3874 100644 --- a/sys/fs/msdosfs/denode.h +++ b/sys/fs/msdosfs/denode.h @@ -161,7 +161,7 @@ struct denode { u_long de_FileSize; /* size of file in bytes */ struct fatcache de_fc[FC_SIZE]; /* FAT cache */ u_quad_t de_modrev; /* Revision level for lease. */ - uint64_t de_inode; /* Inode number (really byte offset of direntry) */ + uint64_t de_inode; /* Inode number (really index of DOS style direntry) */ }; /* @@ -216,6 +216,12 @@ struct denode { #define VTODE(vp) ((struct denode *)(vp)->v_data) #define DETOV(de) ((de)->de_vnode) +#define DETOI(pmp, cn, off) \ + ((cn) == MSDOSFSROOT \ + ? (((uint64_t)(off) >> 5)) \ + : (((((uint64_t)pmp->pm_bpcluster * ((cn) - 2) + (off))) >> 5) \ + + pmp->pm_RootDirEnts)) + #define DETIMES(dep, acc, mod, cre) do { \ if ((dep)->de_flag & DE_UPDATE) { \ (dep)->de_flag |= DE_MODIFIED; \ diff --git a/sys/fs/msdosfs/msdosfs_denode.c b/sys/fs/msdosfs/msdosfs_denode.c index e131d8f5eac3..2c44d49be197 100644 --- a/sys/fs/msdosfs/msdosfs_denode.c +++ b/sys/fs/msdosfs/msdosfs_denode.c @@ -133,10 +133,13 @@ deget(struct msdosfsmount *pmp, u_long dirclust, u_long diroffset, * entry that represented the file happens to be reused while the * deleted file is still open. */ - inode = (uint64_t)pmp->pm_bpcluster * dirclust + diroffset; + inode = DETOI(pmp, dirclust, diroffset); error = vfs_hash_get(mntp, inode, lkflags, curthread, &nvp, de_vncmpf, &inode); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_get(inode %lu) error %d\n", inode, error); +#endif if (error) return (error); if (nvp != NULL) { @@ -190,6 +193,9 @@ badoff: } error = vfs_hash_insert(nvp, inode, lkflags, curthread, &xvp, de_vncmpf, &inode); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_insert(inode %lu) error %d\n", inode, error); +#endif if (error) { *depp = NULL; return (error); @@ -587,8 +593,11 @@ reinsert(struct denode *dep) return; #endif vp = DETOV(dep); - dep->de_inode = (uint64_t)dep->de_pmp->pm_bpcluster * dep->de_dirclust + - dep->de_diroffset; + dep->de_inode = DETOI(dep->de_pmp, dep->de_dirclust, dep->de_diroffset); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_rehash(inode %lu, refcnt %lu, vp %p)\n", + dep->de_inode, dep->de_refcnt, vp); +#endif vfs_hash_rehash(vp, dep->de_inode); } @@ -606,6 +615,10 @@ msdosfs_reclaim(struct vop_reclaim_args *ap) /* * Remove the denode from its hash chain. */ +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_remove(inode %lu, refcnt %lu, vp %p)\n", + dep->de_inode, dep->de_refcnt, vp); +#endif vfs_hash_remove(vp); /* * Purge old data structures associated with the denode. diff --git a/sys/fs/msdosfs/msdosfs_lookup.c b/sys/fs/msdosfs/msdosfs_lookup.c index 252f237af2d6..d34a670e2fc9 100644 --- a/sys/fs/msdosfs/msdosfs_lookup.c +++ b/sys/fs/msdosfs/msdosfs_lookup.c @@ -590,7 +590,7 @@ foundroot: } if (FAT32(pmp) && scn == MSDOSFSROOT) scn = pmp->pm_rootdirblk; - inode1 = scn * pmp->pm_bpcluster + blkoff; + inode1 = DETOI(pmp, scn, blkoff); if (VTODE(*vpp)->de_inode != inode1) { vput(*vpp); goto restart; From nobody Fri Feb 23 11:41:32 2024 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 4Th7Q442Mlz5CJjK; Fri, 23 Feb 2024 11:41: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 4Th7Q43cVDz4jyh; Fri, 23 Feb 2024 11:41:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708688492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HZg0+H/usjasNl0wv0D4Rpaya5xMFQIN3Ga/FG0XPzM=; b=oJyOYAZonbzry/Cyoptpiho+3/A8NhBIlUbmHdXwRQYojszFwCqn9WYA0D3V7KfpttLsaC itatBjDmOCr9FHfwkGvKuz4+Mpnn0o2BICw0Snc0Eikxs1xj/EslpjgctGR4Pl4jj2oDIj c0MkmLyOfGFyEry3znt6sDCZYUSKh4VVcR4qiKcaHx0Fmz9EsrsKZdxACflWVMmNn/Zy+n M1ZQn9VorkLD0gu9Y8iyC+li32jXqG8I2L7J4mW5+o+jqaVZ2ROFLOYHiZwDp/T5V2RRoK dudTTg5o55hsEzTyMHrDud9ae743CSS1hfRlbswc5jODkxSIood/lhriiZOTXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708688492; a=rsa-sha256; cv=none; b=FWfGtAit78bDFayJsOLwsakWRG/eiVGQknON3KHPizxxSFTDFPB6SkWMtPximTHVnHna28 zuowsCMnXfgnzGj8WbHKTjxRgs4vZXK66XUHNctAiCLsJQVvhOqpwcTHJbtZTisBRIGUH0 HU/WPVIzWfwZJKlM1AZnzM3jhlMyHSwBzt0ANgJ3hC3EjeWu8uGLufAGT2bbuOvk2FR1s7 k0gBcKTS2QuzSERfxFr0ViluMh72KcVs//VjEfkOoMGqGD9qKyD+l5em+Q0+rS80TlFLlY 9TCdDl2FwDyN5wdAYetk4v1yAOShk7aXX0wPtZirQB3WUD9flmgDnS0ImMQGkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708688492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HZg0+H/usjasNl0wv0D4Rpaya5xMFQIN3Ga/FG0XPzM=; b=iG4tiEKhvGKga30oxNfSHCXMctmTYwl/oecFDfHJTyYToNKYwkcZ/ihpYJcSrMvC9aWPuS OzqmVsR5l6VALelPr1uynQ28nIBLCYostK452NlqkIRt6m3kSyKAWkH6plbZ+XdpaShl5v 0kqKAdYDopF9mBTZTpwmGZjY/yUEscjLo8qgGVRAoI6vgr69eb1Y88xRO5qdDhYdVPcfGg KKqkLjhLuMcBzB1rsy4SQBILRVBqqk/dfiSx3hgNxhjH9F1DTe2o8nfa7t1m+iWJ2WXU3h s12ZxN/gRjZgNVL6XcA/RT5YUHLo17sZWoWm7YhaarqkF1jxs52ZmO5dSNCEGg== 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 4Th7Q42g3TzF9k; Fri, 23 Feb 2024 11:41: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 41NBfWrM078563; Fri, 23 Feb 2024 11:41:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NBfW7Y078561; Fri, 23 Feb 2024 11:41:32 GMT (envelope-from git) Date: Fri, 23 Feb 2024 11:41:32 GMT Message-Id: <202402231141.41NBfW7Y078561@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: e99479f817c4 - releng/13.3 - tzcode: Fix overflow handling in TZ parser. 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/releng/13.3 X-Git-Reftype: branch X-Git-Commit: e99479f817c4714d396de1d403daa6f9bc3a32bb Auto-Submitted: auto-generated The branch releng/13.3 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=e99479f817c4714d396de1d403daa6f9bc3a32bb commit e99479f817c4714d396de1d403daa6f9bc3a32bb Author: Dag-Erling Smørgrav AuthorDate: 2024-02-18 09:48:08 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-23 11:41:25 +0000 tzcode: Fix overflow handling in TZ parser. Obtained from: upstream 9fc11a27 MFC after: 1 week PR: 276281 Approved by: re (cperciva) (cherry picked from commit 1365bb722af1365baee6ea1e3d44917533908d53) (cherry picked from commit beb958dca02abf79a2172e702c2d24bbccde60fa) --- contrib/tzcode/localtime.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contrib/tzcode/localtime.c b/contrib/tzcode/localtime.c index 3bf9378fe673..8bf4fcb17d2d 100644 --- a/contrib/tzcode/localtime.c +++ b/contrib/tzcode/localtime.c @@ -1277,11 +1277,13 @@ tzparse(const char *name, struct state *sp, struct state *basep) do { int_fast32_t yearsecs = year_lengths[isleap(yearbeg - 1)] * SECSPERDAY; + time_t janfirst1 = janfirst; yearbeg--; - if (increment_overflow_time(&janfirst, -yearsecs)) { + if (increment_overflow_time(&janfirst1, -yearsecs)) { janoffset = -yearsecs; break; } + janfirst = janfirst1; } while (atlo < janfirst && EPOCH_YEAR - YEARSPERREPEAT / 2 < yearbeg); From nobody Fri Feb 23 12:11:21 2024 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 4Th84V0B49z5CM6n; Fri, 23 Feb 2024 12:11: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 4Th84T4Q9rz4mrK; Fri, 23 Feb 2024 12:11:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708690281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dD34J4Z5+JjMQBRd2d1tghx38rJsy/JtgaTFuVBoc5s=; b=a8oGqtnf/QLch6PT8DZh0KfTGwhHQ8c3RFxM6CvpIamm+iTQBgfzNBWwZuPPbCyDvn5Q6u cdumLfxhW4jrCEPQlo/EhTgrPIEYdTwwOhRKBbqY0A0zawcMTVmjHZB8M0FebJ2XA2PUg1 nP4GyaEo0Y/+5vXaWG4XiAbHQMSuh4JyU7CqD4FdV+RzhPRUPEsA0aHgHv0IgDz1sWGPHo vtyx3I2pEfcp/0umHi4JD2Y0op9oki1HGUY0J2FbmIX8IQaNAc9Mw9mHuVW1SYjEAWdrlJ vkHTcXz3cPTJntfTM9XHxRu+UHOm1S/nQnJNyE3n8ekMz2ZscFHzcE8dwj/z+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708690281; a=rsa-sha256; cv=none; b=L5kEF2tzs+g6gmaW7cYkvwogz6fdY3YAQ+i1pC2B7ekIWnp0zsmOSBjjYPGAKyGLbqzSgJ gRAr+eguD1td3p3FGMxkR56jLaxQjOs0nBCBOKxBgS8FsVu/qqNnGchOhHxlgTYmtvfqOF M2SYF5SUvuJ7Jx9zJfy6r3oQs9lq/BY3QkPaQ7HQfKqdNschM2rFYwO5XBgwDDW25Dk9Cc BtRdExNku7mab4gOkEWX9FjHtBpzdtBmNKOWn4/dpMDiXXeB/PEINhefSQat3xGHho1rFh vu/ys5y7c9vTyTcpKMAw8NgiKup8f3yz0fzF00FtLgmG5xVfXcbIhfEHOpNAsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708690281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dD34J4Z5+JjMQBRd2d1tghx38rJsy/JtgaTFuVBoc5s=; b=VpRhp2sA5ls/e2Ago7Gb9kgmwSRWNY6DUG1ZE+CPCo798DtH8qf3aI1bPuXw9hqfMs+pZJ 74r3MlGD7552lBxZbhXTAto35jTKQnbDD+Ndxqn61CRtdPYz+pZdoAqEfb1xzpC2XDP9Pw 9Kto6FjOeGLvR6b6ZfpAytDXQ1Z1aSUM0kFjVuAh5algV45em9hsJSR/dDMDa/EsSzkP0t q2+KRSYw3RskzcmTgFSEPPz4sjS4fd3IHaZtm98ChuDQvNB42/B/9mLmrcdkHrPhiipR1/ YcwJJUHCtONOsM4NOFHDutzKUOe6lwyma5jg1DDm13cyIvSZRJPq26oS9lR2bg== 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 4Th84T3NHZzFkV; Fri, 23 Feb 2024 12:11: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 41NCBLAW030671; Fri, 23 Feb 2024 12:11:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NCBLPw030667; Fri, 23 Feb 2024 12:11:21 GMT (envelope-from git) Date: Fri, 23 Feb 2024 12:11:21 GMT Message-Id: <202402231211.41NCBLPw030667@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Cochard Subject: git: 161984ade1fa - main - tests: Fixing incomplete atf_skip if missing jail condition 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: olivier X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 161984ade1fa0638b732dc9c60bc9bb346e60be9 Auto-Submitted: auto-generated The branch main has been updated by olivier: URL: https://cgit.FreeBSD.org/src/commit/?id=161984ade1fa0638b732dc9c60bc9bb346e60be9 commit 161984ade1fa0638b732dc9c60bc9bb346e60be9 Author: Olivier Cochard AuthorDate: 2024-02-23 12:02:40 +0000 Commit: Olivier Cochard CommitDate: 2024-02-23 12:08:09 +0000 tests: Fixing incomplete atf_skip if missing jail condition Testing the scripts outside kyua(1) was a bad idea: It didn't allow me to detect that they were faulty. Sponsored by: Netflix --- bin/hostname/tests/hostname_test.sh | 3 +++ sys/kern/sysctl_security_jail_children.sh | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bin/hostname/tests/hostname_test.sh b/bin/hostname/tests/hostname_test.sh index 2ad6a1a5c358..a4d4d54bb052 100644 --- a/bin/hostname/tests/hostname_test.sh +++ b/bin/hostname/tests/hostname_test.sh @@ -81,6 +81,9 @@ basic_body() } basic_cleanup() { + if ! which -s jail; then + atf_skip "This test requires jail" + fi recycle } diff --git a/sys/kern/sysctl_security_jail_children.sh b/sys/kern/sysctl_security_jail_children.sh index 6ac6aa904dbc..d4c57915880f 100644 --- a/sys/kern/sysctl_security_jail_children.sh +++ b/sys/kern/sysctl_security_jail_children.sh @@ -33,12 +33,12 @@ max_cur_head() { atf_set descr 'Test maximum and current number of child jails' atf_set require.user root - if ! which -s jail; then - atf_skip "This test requires jail" - fi } max_cur_body() { + if ! which -s jail; then + atf_skip "This test requires jail" + fi origin_max=$(sysctl -n security.jail.children.max) origin_cur=$(sysctl -n security.jail.children.cur) From nobody Fri Feb 23 13:47:52 2024 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 4ThBCr4j2Qz5CTtD; Fri, 23 Feb 2024 13:47: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 4ThBCr44jZz42Lp; Fri, 23 Feb 2024 13:47:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708696072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ElCn8S9Tz4aaTzHs0qL78yJwvPj147wSGk7mqs+KvqE=; b=yE5eIafB9AJtY5ucAO/IJv7y1t44MWshFP4oUVtuODLY2BNBVy7Kt8UI71goSPwT0mAtDz xHEkUfjGYTLeOI2pNEuU1CZ/LalD4tceZ4U2OqhCr4nh6pTLg+DTGQFnUPgfSZ+uGRLPXT N7pi6C/X5JCqyvv1ONWK0T4n/MIfexdrqn1PZLMwlCcdPyN3g1O7FPrf8iYvIHnERBQ1UM FhBt8T+EoVDsKCBGW34/6H6Gcp1j4eFpgExEvs9nqmsNH99ee8cyKdznTI+I9mcchLSqUs gbobQETo8ckE04tPsOpGBCHAg9hvMKCSCiuoursZVFa85Ihf91tc6YZrcO09EQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708696072; a=rsa-sha256; cv=none; b=XvdpWmg23VoPcWd2MhPwcwW06Ox0TY0cw6A1tOcYFuOLMG/boFtZONLZmLKE3GbGTW02rL Helv0xU8JUVsren5g4SP5FpM2U7UrpTu2awD+W6AlYbqv7LQmZBLHKpPqOF3QAZ8UM9R7B Tu8p7pBf+dIjskBFj+u+UOZI2N9QahVDvW1ig4tywPzGAysrLiUg6sBcVm2sZ4IbrhzGJU bzhxtdZu4G1yDm1d+PyOj4s2HDuXfcrlgYAtvpShWY/fDCo/fFIArj2RcV783RMzftnJ9h bf3tFeZPDUQIXVWlbxK+PXvvF/zSMoDsqZf8y78CwLQk79U+y4TSlWX0pWYOTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708696072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ElCn8S9Tz4aaTzHs0qL78yJwvPj147wSGk7mqs+KvqE=; b=ewx1NhV470spMIn1/ieQa23VG1LEMnzWSUZaPAAN5ykgc4KvP64ZeH8WZYmw6e1sFc3wCP d6GtpdbQV5Q5HkAGSZ7VQ2m0yoDdJLv7hnvlNLih4RFtU1tM/riA9TxyftxoLsyGjA7+nX 8krjj3Y9RZ2Jd2qB36FBuLIGy3l04S+GDR55Oq3KTlXw/VSRNaGIJHn8yd7e3ijMQDfKIA gtz8906phCysjy0M+1fIVKJ6TnU8IcwnA8pKUdQD6SMr2TllfpdmWx7ELmVHr1jMzRPSa8 tlJEGdD4Gf5uuPSC9Mkxp09OK61bG4mqu3NOPloNsbFTBVn0bEkgEtgyENp5tQ== 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 4ThBCr2qxTzJ9P; Fri, 23 Feb 2024 13:47: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 41NDlqnP088034; Fri, 23 Feb 2024 13:47:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NDlqCv088031; Fri, 23 Feb 2024 13:47:52 GMT (envelope-from git) Date: Fri, 23 Feb 2024 13:47:52 GMT Message-Id: <202402231347.41NDlqCv088031@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: b9870ba93ea9 - main - pf: Add a TCP rdr test on IPv6 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: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9870ba93ea90a12f5a5727c80f7958b17f9afcc Auto-Submitted: auto-generated The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=b9870ba93ea90a12f5a5727c80f7958b17f9afcc commit b9870ba93ea90a12f5a5727c80f7958b17f9afcc Author: Tom Jones AuthorDate: 2023-10-06 13:19:31 +0000 Commit: Tom Jones CommitDate: 2024-02-23 13:47:35 +0000 pf: Add a TCP rdr test on IPv6 Reviewed by: kp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42105 --- tests/sys/netpfil/pf/Makefile | 1 + tests/sys/netpfil/pf/rdr.sh | 127 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 128 insertions(+) diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index 30099fdc4c17..ce718c4ba900 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -29,6 +29,7 @@ ATF_TESTS_SH+= altq \ pfsync \ prio \ proxy \ + rdr \ ridentifier \ route_to \ rtable \ diff --git a/tests/sys/netpfil/pf/rdr.sh b/tests/sys/netpfil/pf/rdr.sh new file mode 100644 index 000000000000..efa3750e8f42 --- /dev/null +++ b/tests/sys/netpfil/pf/rdr.sh @@ -0,0 +1,127 @@ +# +# +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# +# Copyright © 2023 Tom Jones +# +# 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. + +. $(atf_get_srcdir)/utils.subr + +atf_test_case "tcp_v6" "cleanup" +tcp_v6_head() +{ + atf_set descr 'TCP rdr with IPv6' + atf_set require.user root + atf_set require.progs scapy python3 +} + +# +# Test that rdr works for TCP with IPv6. +# +# a <-----> b <-----> c +# +# Test configures three jails (a, b and c) and connects them together with b as +# a router between a and c. +# +# TCP traffic to b on port 80 is redirected to c on port 8000 +# +# Test for incorrect checksums after the rewrite by looking at a packet capture (see bug 210860) +# +tcp_v6_body() +{ + pft_init + + j="rdr:tcp_v6" + epair_one=$(vnet_mkepair) + epair_two=$(vnet_mkepair) + + echo $epair_one + echo $epair_two + + vnet_mkjail ${j}a ${epair_one}b + vnet_mkjail ${j}b ${epair_one}a ${epair_two}a + vnet_mkjail ${j}c ${epair_two}b + + # configure addresses for b + jexec ${j}b ifconfig lo0 up + jexec ${j}b ifconfig ${epair_one}a inet6 2001:db8:a::1/64 up no_dad + jexec ${j}b ifconfig ${epair_two}a inet6 2001:db8:b::1/64 up no_dad + + # configure addresses for a + jexec ${j}a ifconfig lo0 up + jexec ${j}a ifconfig ${epair_one}b inet6 2001:db8:a::2/64 up no_dad + + # configure addresses for c + jexec ${j}c ifconfig lo0 up + jexec ${j}c ifconfig ${epair_two}b inet6 2001:db8:b::2/64 up no_dad + + # enable forwarding in the b jail + jexec ${j}b sysctl net.inet6.ip6.forwarding=1 + + # add routes so a and c can find each other + jexec ${j}a route add -inet6 2001:db8:b::0/64 2001:db8:a::1 + jexec ${j}c route add -inet6 2001:db8:a::0/64 2001:db8:b::1 + + jexec ${j}b pfctl -e + + pft_set_rules ${j}b \ + "rdr on ${epair_one}a proto tcp from any to any port 80 -> 2001:db8:b::2 port 8000" + + # Check that a can reach c over the router + atf_check -s exit:0 -o ignore \ + jexec ${j}a ping -6 -c 1 2001:db8:b::2 + + # capture packets on c so we can look for incorrect checksums + jexec ${j}c tcpdump --immediate-mode -w ${j}.pcap tcp and port 8000 & + tcpdumppid=$! + + # start a web server and give it a second to start + jexec ${j}c python3 -m http.server & + sleep 1 + + # http directly from a to c -> a ---> b + atf_check -s exit:0 -o ignore \ + jexec ${j}a fetch -T 1 -o /dev/null -q "http://[2001:db8:b::2]:8000" + + # http from a to b with a redirect -> a ---> b + atf_check -s exit:0 -o ignore \ + jexec ${j}a fetch -T 1 -o /dev/null -q "http://[2001:db8:a::1]:80" + + # ask tcpdump to stop so we can check the packet capture + jexec ${j}c kill -s SIGINT $tcpdumppid + + # Check for 'incorrect' in packet capture, this should tell us if + # checksums are bad with rdr rules + count=$(jexec ${j}c tcpdump -vvvv -r ${j}.pcap | grep incorrect | wc -l) + atf_check_equal " 0" "$count" +} + +tcp_v6_cleanup() +{ + pft_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case "tcp_v6" +} From nobody Fri Feb 23 15:59:22 2024 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 4ThF7Z3SdNz5B0nP; Fri, 23 Feb 2024 15:59: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 4ThF7Z2wTwz4RBq; Fri, 23 Feb 2024 15:59:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708703962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dTNlYkHYpQM31xaDtb4pfA/zS9rtZqcATxI7PunM5sM=; b=F54bEwS0YSOBadx2TPCuGCWkbbDDDf9sOkNDB6GrMp7v00Y9rUP/o1Z4agsJo78xm1Bteo HX3MRRR7hChcjmHKsOp6BrxByMPLHlgzhpbjSNm380bkbvhtSN5A/63sByb+TFnzDUBBuJ DZPl8VeVEQ17x2x4b9wA8ikGr3lAelr3DNRtYIP77LZQ9POsi+glZTAf9/I1VF2rA3pC2b nthqnkDWZ4FSAlHKOQq84Fix3xoc2WMqHWM75spi6Z/62138+VHkSOucdBJ7aVYN6Erd2g t146tdGyUI0a167wcWOT551ozETpnZCA+PW/Cqmyml9MOzsEl/bJwBM/k4jgow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708703962; a=rsa-sha256; cv=none; b=M7DVzk4zwkUtJzBRD8Cf0iRZSu0gspiUzLEu50WeHcdvu7biLqGjSGYJ0qfpw5aTkAY6A8 ZDXEHlN/2drxq+INKTZPFEGdcWk8J5FQnOe6j5RwDAFUktqtz0CjDGJkleu7jTlPanpKpy yGgHHlBVejhNcKzC5REH8P5dZf/yuDmpNQEfZGHDTPLGP8TUTJmPoBisZKCswHCu4OC4bk 1TCW192ZGE/U3AFcARxYMhPmWN1CloI3/qKDgY8uuras10SMtGhTcV7V1y9UWJZ5sMF3cM ccSeWRzXtp5zvYn3l2+XTdoG5UpAMhUb8bXbVxqpZyg95sDWcC7G4c1AE4G5Uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708703962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dTNlYkHYpQM31xaDtb4pfA/zS9rtZqcATxI7PunM5sM=; b=VeNAeUNY6oGhS2hESpTI1jYQcR2JngT2N5NgvpcmpaYb1v21JdHtA69s/O0o/HHanwrOFF H9/NCf1NDfZAL9vWP6gMrhVZEi1oE4xVw67HRea7lgOWXyusv0/dQKzaRbIEbbYmKYXLkn Q1zA3gtodmNNrf9CtrIoe35YWi83KABRJtZ44h/FramCzojK5x+1mxvIZlmoYhp+c4YyPz prXbT3Bu00jIznBNzG2CpvPmsl9+EJciIfE50BLzTGj9QozQb5JCUbioJXJ2T7IUR4nEI0 ORzwzBMIAuJrKX7Q/d9mN0GS4kcvV/J46jZTxuWo9PJS9V+OqqxOpZhBq1okng== 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 4ThF7Z1z9jzMGK; Fri, 23 Feb 2024 15:59: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 41NFxMUL012684; Fri, 23 Feb 2024 15:59:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NFxMho012681; Fri, 23 Feb 2024 15:59:22 GMT (envelope-from git) Date: Fri, 23 Feb 2024 15:59:22 GMT Message-Id: <202402231559.41NFxMho012681@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: 3db693f7da8a - main - pf: Correct SPDX identifier 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: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3db693f7da8a1aaf0a8887e7791ebb5d67c7a2d9 Auto-Submitted: auto-generated The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=3db693f7da8a1aaf0a8887e7791ebb5d67c7a2d9 commit 3db693f7da8a1aaf0a8887e7791ebb5d67c7a2d9 Author: Tom Jones AuthorDate: 2024-02-23 15:58:38 +0000 Commit: Tom Jones CommitDate: 2024-02-23 15:58:38 +0000 pf: Correct SPDX identifier Pointed out by: Mike Karels --- tests/sys/netpfil/pf/rdr.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/netpfil/pf/rdr.sh b/tests/sys/netpfil/pf/rdr.sh index efa3750e8f42..5e60b97c653b 100644 --- a/tests/sys/netpfil/pf/rdr.sh +++ b/tests/sys/netpfil/pf/rdr.sh @@ -1,6 +1,6 @@ # # -# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# SPDX-License-Identifier: BSD-2-Clause # # Copyright © 2023 Tom Jones # From nobody Fri Feb 23 17:36:57 2024 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 4ThHJB0zRzz5B9W4; Fri, 23 Feb 2024 17:36: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 4ThHJB0Pvjz4hf9; Fri, 23 Feb 2024 17:36:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708709818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o9C9Rrsm7uiB7opKpL7M53smV4dx0n1+AWg63uqftJM=; b=Lo+oA+M6ny39x41sCH70NnKJMKkuhgZp/+bCCyTYTJdzoy0Zf3/mQHMuxRpgeKHEGJLGvA rlNF+XLF/Wi6uB5rlGt2f3y5RP+YjKw0zsVzV+aIqCPHMiSM1L315x4i/RUsnnr0xya4th oq0lDY944Dyz4CR6KUzxkvRLNe7aw+s0EJgk7t0MtaHO/F6jKhndKU1lerVLF6JFuhAvng CKWQwtSg/Y2VI+R2DUzt+LOpE7qLCEd5yHRLeghpvc5ZIyJNq8L5GM6+24sH7dYoJBAZ0l 6MUbyEWE90DCJLgMYP704OptvMMC30tN8tl4qhaFH/IDV65jbSr7B4TakWKXMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708709818; a=rsa-sha256; cv=none; b=ECnHj5GuqunobemZeJ5O8KXBrEZDzfq7yRoGhULGmUYo0JzwrmZzOHCoy8H8sKmFrE3Qc7 sbgKwuXhDeqt/RYYMHsaDiy6y36k9Pj3r8AdR6Szoot0iBzq+hjB9IVaC2ZcpZgLdtJEB8 AbfzIMWqkyL0bu30sfJzMAZjgOUH/YBBNGDWoowyWbaLwNtr14lxI5rLm4CAlC7QLvpmfP 9WbaCiYf6Us1dS4d99yvlx9BhYgumQdaZAQo9BNqdAZGd9CTc9XlJgm82qVrDK7XaN1+mF V5vmEu8EoAKbM0uV+5UGikEUyzKIQJqIEW3jV3KopP/f2hqlIBTzjisllzNS+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708709818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o9C9Rrsm7uiB7opKpL7M53smV4dx0n1+AWg63uqftJM=; b=xRc18MSbG4cSIsLSBdvL2qutvb0pMv5iteVeWU+jePw9M9cNCqF9h4VzhqWvimsqUF37G4 VgO3fFylD0wKMMi9yQivhKWbw5DLEfedXYhW5KX8fwla4TjkyFvBsARcIewEyilShhB1sc tlJdpMFWLmUmgwgscqjscWmLzhK2qWgs+zWeNUqwhUu4JiuyrrA2NjKTBfGQ1UXDC3whzl UVNdiclxEcfVPwprLHsg4vjOvjnOiF1HiCYyHNdrNOq7y7zkXjCfQCoHOLoUZKLnuDz5gf lnPyji0CtTK8sJtccnpxfz8GCi8uW12Crj9XmtUIlhSXRGStRraIjnfMzFKJdQ== 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 4ThHJ96GqrzQ8c; Fri, 23 Feb 2024 17:36: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 41NHavXV083775; Fri, 23 Feb 2024 17:36:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NHav16083772; Fri, 23 Feb 2024 17:36:57 GMT (envelope-from git) Date: Fri, 23 Feb 2024 17:36:57 GMT Message-Id: <202402231736.41NHav16083772@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Stefan =?utf-8?Q?E=C3=9Fer?= Subject: git: 6831288c8c40 - releng/13.3 - msdosfs: fix potential inode collision on FAT12 and FAT16 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: se X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 6831288c8c4091c533c590d2d3cbb07459f2d28b Auto-Submitted: auto-generated The branch releng/13.3 has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=6831288c8c4091c533c590d2d3cbb07459f2d28b commit 6831288c8c4091c533c590d2d3cbb07459f2d28b Author: Stefan Eßer AuthorDate: 2024-02-20 12:02:24 +0000 Commit: Stefan Eßer CommitDate: 2024-02-23 12:42:34 +0000 msdosfs: fix potential inode collision on FAT12 and FAT16 FAT file systems do not use inodes, instead all file meta-information is stored in directory entries. FAT12 and FAT16 use a fixed size area for root directories, with typically 512 entries of 32 bytes each (for a total of 16 KB) on hard disk formats. The file system data is stored in clusters of typically 512 to 4096 bytes, depending on the size of the file system. The current code uses the offset of a DOS 8.3 style directory entry as a pseudo-inode, which leads to inode values of 0 to 16368 for typical root directories with 512 entries. Sub-directories use 2 cluster length plus the byte offset of the directory entry in the data area for the pseudo-inode, which may be as low as 1024 in case of 512 byte clusters. A sub-directory in cluster 2 and with 512 byte clusters will therefore lead to a re-use of inode 1024 when there are at least 32 DOS 8.3 style filenames in the root directory (or 11 14-character Windows long file names, each of which takes up 3 directory entries). FAT32 file systems are not affected by this issue and FAT12/FAT16 file systems with larger cluster sizes are unlikely to have as many directory entries in the root directory as are required to cause the collision. This commit leads to inode numbers that are guaranteed to not collide for all valid FAT12 and FAT16 file system parameters. It does also provide a small speed-up due to more efficient use of the vnode cache. PR: 277239 Reviewed by: mckusick Approved by: re (cperciva) (cherry picked from commit 445d3d227e68f85157d0301d1706aa488e8423da) (cherry picked from commit a495e7f5c5c2088bf32cd7349e2ca344ee089552) --- sys/fs/msdosfs/denode.h | 8 +++++++- sys/fs/msdosfs/msdosfs_denode.c | 19 ++++++++++++++++--- sys/fs/msdosfs/msdosfs_lookup.c | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/sys/fs/msdosfs/denode.h b/sys/fs/msdosfs/denode.h index 9ac5c2a2f5e1..881e27bc3874 100644 --- a/sys/fs/msdosfs/denode.h +++ b/sys/fs/msdosfs/denode.h @@ -161,7 +161,7 @@ struct denode { u_long de_FileSize; /* size of file in bytes */ struct fatcache de_fc[FC_SIZE]; /* FAT cache */ u_quad_t de_modrev; /* Revision level for lease. */ - uint64_t de_inode; /* Inode number (really byte offset of direntry) */ + uint64_t de_inode; /* Inode number (really index of DOS style direntry) */ }; /* @@ -216,6 +216,12 @@ struct denode { #define VTODE(vp) ((struct denode *)(vp)->v_data) #define DETOV(de) ((de)->de_vnode) +#define DETOI(pmp, cn, off) \ + ((cn) == MSDOSFSROOT \ + ? (((uint64_t)(off) >> 5)) \ + : (((((uint64_t)pmp->pm_bpcluster * ((cn) - 2) + (off))) >> 5) \ + + pmp->pm_RootDirEnts)) + #define DETIMES(dep, acc, mod, cre) do { \ if ((dep)->de_flag & DE_UPDATE) { \ (dep)->de_flag |= DE_MODIFIED; \ diff --git a/sys/fs/msdosfs/msdosfs_denode.c b/sys/fs/msdosfs/msdosfs_denode.c index e131d8f5eac3..2c44d49be197 100644 --- a/sys/fs/msdosfs/msdosfs_denode.c +++ b/sys/fs/msdosfs/msdosfs_denode.c @@ -133,10 +133,13 @@ deget(struct msdosfsmount *pmp, u_long dirclust, u_long diroffset, * entry that represented the file happens to be reused while the * deleted file is still open. */ - inode = (uint64_t)pmp->pm_bpcluster * dirclust + diroffset; + inode = DETOI(pmp, dirclust, diroffset); error = vfs_hash_get(mntp, inode, lkflags, curthread, &nvp, de_vncmpf, &inode); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_get(inode %lu) error %d\n", inode, error); +#endif if (error) return (error); if (nvp != NULL) { @@ -190,6 +193,9 @@ badoff: } error = vfs_hash_insert(nvp, inode, lkflags, curthread, &xvp, de_vncmpf, &inode); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_insert(inode %lu) error %d\n", inode, error); +#endif if (error) { *depp = NULL; return (error); @@ -587,8 +593,11 @@ reinsert(struct denode *dep) return; #endif vp = DETOV(dep); - dep->de_inode = (uint64_t)dep->de_pmp->pm_bpcluster * dep->de_dirclust + - dep->de_diroffset; + dep->de_inode = DETOI(dep->de_pmp, dep->de_dirclust, dep->de_diroffset); +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_rehash(inode %lu, refcnt %lu, vp %p)\n", + dep->de_inode, dep->de_refcnt, vp); +#endif vfs_hash_rehash(vp, dep->de_inode); } @@ -606,6 +615,10 @@ msdosfs_reclaim(struct vop_reclaim_args *ap) /* * Remove the denode from its hash chain. */ +#ifdef MSDOSFS_DEBUG + printf("vfs_hash_remove(inode %lu, refcnt %lu, vp %p)\n", + dep->de_inode, dep->de_refcnt, vp); +#endif vfs_hash_remove(vp); /* * Purge old data structures associated with the denode. diff --git a/sys/fs/msdosfs/msdosfs_lookup.c b/sys/fs/msdosfs/msdosfs_lookup.c index 252f237af2d6..d34a670e2fc9 100644 --- a/sys/fs/msdosfs/msdosfs_lookup.c +++ b/sys/fs/msdosfs/msdosfs_lookup.c @@ -590,7 +590,7 @@ foundroot: } if (FAT32(pmp) && scn == MSDOSFSROOT) scn = pmp->pm_rootdirblk; - inode1 = scn * pmp->pm_bpcluster + blkoff; + inode1 = DETOI(pmp, scn, blkoff); if (VTODE(*vpp)->de_inode != inode1) { vput(*vpp); goto restart; From nobody Fri Feb 23 17:38:00 2024 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 4ThHKN5ZKvz5B9l6; Fri, 23 Feb 2024 17:38: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 4ThHKN50JVz4hpw; Fri, 23 Feb 2024 17:38:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708709880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xac9xJnrWYcre02Fa6p7ErCuUaVpUv4gxbWeI3mztzE=; b=AANF3ud/DFfQ4zz5sOmYDl7B6WykR68n0Ywjny97RQju5RPboeBF6ztz+IWLbimXQfThKC odfUkZxVwko91EV2s26uMbEHHqXhDwIN39t8bhuqUZZwn0iMHL41WBGuQAx64k/CyFpaLu SIEWHasEWB3IcldsDWKFvrQrAA4/Stsn8LatJyxcgdCltql8OOd3LD6rNsI8p/K7xgbpqs c7RU5EpVZ7WMuvJHza9MjtHQaWj6umWsgDJbixGdkqRDB923f75/FfbAJkV0OLjx2TXFXV xaA/wFXEWu84IbiL2TCXVa6wTxEPRNgO8sD1fpN/kvwF6X6FMEF0R3dlevAKnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708709880; a=rsa-sha256; cv=none; b=qivZ9QocEcxnKYuLemDAlxTL2OwHNyqz0e3MyEAFsqWzhahFb/R/VS+MrpIn4uAceKYMRO ZGlN5bXmWwdCoptLNA+QZNGOXSbaEGyQjQN0AKLcigWBvEsTBBxuU/MP3bk9c5iFumFzG+ M1MSV6Y4/Dy+ec3Hk4WbKk+SPTHYNfTaKV2DFUwxQXXq35260NdBq/0msnyrs3xGxsaPnp NowarAwtCEEiNbJxaUCEleGDtYjMp9xRHxcvbqsvgy0sbM3RN+g15TfAWj47tom7N6bd1c RO3aNLxbRRm/7vgJGQoBvH4TA7w7Kocnr0yd/tCR9PdyXuR4kjNsH40/OImCpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708709880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xac9xJnrWYcre02Fa6p7ErCuUaVpUv4gxbWeI3mztzE=; b=mJVeeC1ARwEgvlqaXR8S67UoSSJ8fWCmohCc1MgjY8mxHMbmmjpmPB2IdsXO3Sa34Hhh86 J0z6MuJO5fey1iswp5bHUBeJKNMtIGuH5VO9BhOyA8gu4EQlH0AfGganRqkCr8ZsgwxI1W 5xUfMY+UAUiOe9JBghMvuLJWbGWA3B0pkspKz+sEBDWvbzLFGfRaUFOf2Mt/Wpa2Ztrc1U dHYsO/nomx4WhhvW8kGkyVL/v1IC+LQoDNppT8JBFfmHnr90wUafdPIhMXcmU8to86by/r DkHjw7tYpPicTm60DtdnH0JYP1yYb0ohUvQn95LV3M7IIJAc9sM4PfxP4z5BQw== 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 4ThHKN43NqzPsF; Fri, 23 Feb 2024 17:38: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 41NHc0cx084415; Fri, 23 Feb 2024 17:38:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NHc098084412; Fri, 23 Feb 2024 17:38:00 GMT (envelope-from git) Date: Fri, 23 Feb 2024 17:38:00 GMT Message-Id: <202402231738.41NHc098084412@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: 0085afdceb17 - main - fs/msdosfs fatblock: use ulmin() rather than min() 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: 0085afdceb17cb7d4e41f9073299f688372c6a0f Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0085afdceb17cb7d4e41f9073299f688372c6a0f commit 0085afdceb17cb7d4e41f9073299f688372c6a0f Author: Konstantin Belousov AuthorDate: 2024-02-23 17:30:10 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-23 17:37:52 +0000 fs/msdosfs fatblock: use ulmin() rather than min() to avoid truncation of pmp->pm_FATsecs. Submitted by: Robert Morris PR: 277237 MFC after: 1 week --- sys/fs/msdosfs/msdosfs_fat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/msdosfs/msdosfs_fat.c b/sys/fs/msdosfs/msdosfs_fat.c index 4a7faa9e1f05..bfaff417f677 100644 --- a/sys/fs/msdosfs/msdosfs_fat.c +++ b/sys/fs/msdosfs/msdosfs_fat.c @@ -97,7 +97,7 @@ fatblock(struct msdosfsmount *pmp, u_long ofs, u_long *bnp, u_long *sizep, fatblocksec /= 2; } bn = ofs / pmp->pm_fatblocksize * pmp->pm_fatblocksec; - size = roundup(min(fatblocksec, pmp->pm_FATsecs - bn) * DEV_BSIZE, + size = roundup(ulmin(fatblocksec, pmp->pm_FATsecs - bn) * DEV_BSIZE, pmp->pm_BlkPerSec * DEV_BSIZE); bn += pmp->pm_fatblk + pmp->pm_curfat * pmp->pm_FATsecs; From nobody Fri Feb 23 17:57:57 2024 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 4ThHmP4Nk0z5BCMj; Fri, 23 Feb 2024 17:57: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 4ThHmP2gl0z4pMD; Fri, 23 Feb 2024 17:57:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708711077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bnNRv6++mGGHG97VbepaU+oml8dGMsA7OoW80JmI1FM=; b=SRV05U3UVjBIXZbamroKxjPm0jP+h/mZ4MWteAvsCIgneRj33Xcli5fjQYR5z2QFDuP2Cc vWnjHKShA19t1tkaK6PldIIzaDWUzJZpdKzQJdMn6oBcdhiGUgiC+UMAiNPPt9hqMWAyKH FTsSZUQLi4erk0bw4PyrMDrBB5uOAo0mJb74KWRSCwsZeGWYqIdJDWBVaZAd64yBZpcvCZ xRmUoPjI5LYPwVj5hZz4RBowMtvm7X0qiDzzh2BTYzt0qgDWHaPT3Aw/z6/1NiDRNQ1Jkv 1GvhA0T9lTOdWjkeo4RHcHsEDsA65RnwABlGBBs/LM51ojgrYfs4Jly3AOCMWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708711077; a=rsa-sha256; cv=none; b=KcaPawaH91DbvVfAC3AYMPr+6Q2z8uTKv7v7/Xkggs/LodIUO63Lslq5+SrEgHaO0w4JJV YbQgdYvEiyMFC6fouN8nNphFD5js+eU348kflg7Awuv41J1djEtuhG9/deUEBm11cVt14u xtjheKW+taqm4h57BDxNsxs7KRVHPi1qDPWdbo/DRG7rDy5nomB6esZU65/Ia2hnxkgyiI ENTB5+rRSU5Li2jZs+CLIE1VZc+vhhTv7OPrZoyljnBoyH/AlFN8QqBKffQL45EWqZDlnL 7rutGS6WPIzgel6OgpOtnE4aCRL2oYcgilXJT5AiQoXE01lnEs0b5NBVrKzvaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708711077; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bnNRv6++mGGHG97VbepaU+oml8dGMsA7OoW80JmI1FM=; b=sTADLkA2p3bBR/t4i6JktrjHsU/kzIKRliJK0u/0n5S56pI2xI4yqB2jy+jajkbGFhQjFS +GJ3HBsL/Sl/07uljbHwEShJcizQdJj7ct0p9wK1MW0XE70OVO5aDsxCY9lSFrMkKoHn3D R0P6gBt7NcbtlQKPfnB+54Kl/rnSWOCQ8BBaJPnwuHV/IO4lBtnDutHOo/2VCjP0AQD24R VUzk4Opm8Voh3zwCeBc8VzpEWjqzAti2RAeoVPJNpsgIoFg56S0KLa3yLfHsMTW07nzZVT JpWJXsCM8KaFQNwZNuBo95puomCDOG2zalg0dFqj3qp5TBJQ8ZzDl1GZNLZc9g== 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 4ThHmP1nNXzQgb; Fri, 23 Feb 2024 17:57: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 41NHvvWd018216; Fri, 23 Feb 2024 17:57:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NHvvVs018213; Fri, 23 Feb 2024 17:57:57 GMT (envelope-from git) Date: Fri, 23 Feb 2024 17:57:57 GMT Message-Id: <202402231757.41NHvvVs018213@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: baa7d0741b9a - main - libsys: link symbolic 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: baa7d0741b9a2117410d558c6715906980723eed Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=baa7d0741b9a2117410d558c6715906980723eed commit baa7d0741b9a2117410d558c6715906980723eed Author: Konstantin Belousov AuthorDate: 2024-02-22 21:13:02 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-23 17:39:42 +0000 libsys: link symbolic so that libc/libthr do not preempt libsys symbols, esp. errno-related. The issue is, if libsys is linked with DT_BIND_NOW flag, and then loaded as filter, rtld tries to relocate its PLT symbols immediately, not as filter. There, during symbol lookup, rtld finds filtering symbols in libc, and since libc is in loading filters mode, the resolution stops there. The end result is that libsys links to libc. Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D44027 --- lib/libsys/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libsys/Makefile b/lib/libsys/Makefile index 5e8c39deb463..aefa19f35193 100644 --- a/lib/libsys/Makefile +++ b/lib/libsys/Makefile @@ -43,6 +43,7 @@ CFLAGS+= -ftls-model=initial-exec # Link with static libcompiler_rt.a. # LDFLAGS+= -nodefaultlibs +LDFLAGS+= -Wl,-Bsymbolic LIBADD+= compiler_rt .if ${MK_SSP} != "no" && \ From nobody Fri Feb 23 17:57:58 2024 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 4ThHmQ5dm9z5BCMl; Fri, 23 Feb 2024 17:57: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 4ThHmQ3hlhz4pD7; Fri, 23 Feb 2024 17:57:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708711078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ppOMLu93omniTqSvJjTuEKy8JMa0NRyVCJxxL0FqHwQ=; b=HX7BtQ3koaDNA6KLT3f4RhfIDC3k6lxm5xXzK+i/L0q4xZnuC6rXv2tDGchNmnn8lmfA1y WfiByDLIAESjm0V67d+QKqRVFPNn6m72nUCUbdlIG7A8ztWwuphYoHTZdpGFKHo/RLTqTJ /q0CcjcR2TnVmSIsSMRUt1gX1QNNRFFt25fT/KbDnn2u25nw/uFRpH4yzWrFfW6NZ1C9U9 +TdPosREntRmvqMd3cFVGXFqT8IxgC+YwlXkClRVHBSL96L1/2pb+7JKOnaNVWtqo7gAFi o3BHFXUkH9EzoOmexr/1bydUzQOY3RSVKWm2QP7SdtiS+8/ZcPcINd7pglLa8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708711078; a=rsa-sha256; cv=none; b=JanWIvTKM7gSdZ6Fs0E/M51B58PiIzwP9CPjSh+xGrjgVx3DQauiP069Pe9IWvkrcdLM2+ 2sSSexS+zpuvW7EGFK+Bf8nQ2sZ+K2ezPjPhgZ9W+Tq2xjfi960urJ+PoNYBEPg00v2rja xVWOyShFFtQ+J+m0TrY5Iwumge5h8BaUNKFtLdlrJ/tCiIh2fG4HEZsAUa5e4G9XnWurgR aqS0/A7NtCuZDsaUFQDtSusia5rUrkuE9YoATJg/9ACQC32FO4D4oNs2cDGWTqqNoaAZvf eGJFUKYhtyVU4em252sG68KCmZqgBq+mENGtNnSo2v80AinoZUVSShITGWhu2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708711078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ppOMLu93omniTqSvJjTuEKy8JMa0NRyVCJxxL0FqHwQ=; b=Xc3DDRcV4THydEo9SfFIKeFifG+E1dxOJas1UtKnVRIMspVxYn3ZgF1g5ys0FastA9c/Th UuJ1Ih4Yj9eF/C4q3VV0KPI3tjnkfMdkI2ZE8N3bFRSqMF0BO79b/NZUXaQw4/xs2+mmNo 6pdmEaSG7jbO/CzVwh5aKADF2o/aMgzWx9F/iu4NBOSpaHgPge05EI2Ssxx2+QIVT7qdu2 fffWHLY3nCMJ94tAY7pBbcgStCul9qTCRE6CYRxg9uTU/T15nQDj4CU23jcfEtAGLfHz7R NLiaxAA+wxhUcPaabhbvOXM34AZyvhJ6DTDkVr+dzWQ3dt3hj2IN6RmSqT+9xg== 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 4ThHmQ2SktzQmT; Fri, 23 Feb 2024 17:57: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 41NHvwfx018265; Fri, 23 Feb 2024 17:57:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NHvw1Y018262; Fri, 23 Feb 2024 17:57:58 GMT (envelope-from git) Date: Fri, 23 Feb 2024 17:57:58 GMT Message-Id: <202402231757.41NHvw1Y018262@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: 7d233b2220cd - main - libsys: fix sleep(3)/usleep(3) cancel behavior 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: 7d233b2220cd3d23c028bdac7eb3b6b7b2025125 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7d233b2220cd3d23c028bdac7eb3b6b7b2025125 commit 7d233b2220cd3d23c028bdac7eb3b6b7b2025125 Author: Konstantin Belousov AuthorDate: 2024-02-23 14:53:10 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-23 17:39:44 +0000 libsys: fix sleep(3)/usleep(3) cancel behavior Move functions back to libc/gen sources; they are only versioned from libc and not libsys. Access libsys interposing slots using __libsys_interposing_slot() instead of direct __libsys_interposing array dereference, which cannot work from libc. Reported by: glebius Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D44042 --- lib/libc/gen/Makefile.inc | 2 ++ lib/{libsys => libc/gen}/sleep.c | 2 +- lib/{libsys => libc/gen}/usleep.c | 3 ++- lib/libsys/Makefile.sys | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 648ddc76e056..3a8b4e57420a 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -137,6 +137,7 @@ SRCS+= \ siglist.c \ signal.c \ sigsetops.c \ + sleep.c \ srand48.c \ statvfs.c \ stringlist.c \ @@ -160,6 +161,7 @@ SRCS+= \ ulimit.c \ uname.c \ unvis-compat.c \ + usleep.c \ utime.c \ utxdb.c \ valloc.c \ diff --git a/lib/libsys/sleep.c b/lib/libc/gen/sleep.c similarity index 97% rename from lib/libsys/sleep.c rename to lib/libc/gen/sleep.c index 7d0fa5332ecc..46a7dcc4dbca 100644 --- a/lib/libsys/sleep.c +++ b/lib/libc/gen/sleep.c @@ -56,7 +56,7 @@ __sleep(unsigned int seconds) time_to_sleep.tv_sec = seconds; time_to_sleep.tv_nsec = 0; if (((int (*)(const struct timespec *, struct timespec *)) - __libsys_interposing[INTERPOS_nanosleep])( + (*__libsys_interposing_slot(INTERPOS_nanosleep)))( &time_to_sleep, &time_remaining) != -1) return (0); if (errno != EINTR) diff --git a/lib/libsys/usleep.c b/lib/libc/gen/usleep.c similarity index 96% rename from lib/libsys/usleep.c rename to lib/libc/gen/usleep.c index efd5ee0d1667..e312e55c6541 100644 --- a/lib/libsys/usleep.c +++ b/lib/libc/gen/usleep.c @@ -46,7 +46,8 @@ __usleep(useconds_t useconds) time_to_sleep.tv_nsec = (useconds % 1000000) * 1000; time_to_sleep.tv_sec = useconds / 1000000; return (((int (*)(const struct timespec *, struct timespec *)) - __libsys_interposing[INTERPOS_nanosleep])(&time_to_sleep, NULL)); + (*__libsys_interposing_slot(INTERPOS_nanosleep)))(&time_to_sleep, + NULL)); } __weak_reference(__usleep, usleep); diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys index e33a11bacb57..6b83e5812f76 100644 --- a/lib/libsys/Makefile.sys +++ b/lib/libsys/Makefile.sys @@ -40,7 +40,7 @@ SRCS+= \ SRCS+= getdents.c lstat.c mknod.c stat.c SRCS+= creat.c -SRCS+= lockf.c sleep.c usleep.c wait.c wait3.c waitpid.c waitid.c +SRCS+= lockf.c wait.c wait3.c waitpid.c waitid.c SRCS+= recv.c recvmmsg.c send.c sendmmsg.c NOASM+= sched_getcpu.o From nobody Fri Feb 23 18:38:14 2024 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 4ThJfy5MrZz5BGvM; Fri, 23 Feb 2024 18: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 4ThJfy4rG6z4wRT; Fri, 23 Feb 2024 18: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=1708713498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cry0/yDIh9cy6L/n1eX9qQ0Vs4URqzY5gj71TgMgki4=; b=l9M/bB6RRVYXTJ1fmRvnDNANkYhn62VLEHnR4WGzNLr4U+tK87SHz2paqrWfNfEm0SUnkB Su45mWc5NVyQPaNVNFYKZE7HU+jHLuVGAJyYXX4wVhyd3C6w2ojO8d/RCbxJb3Hjumbog4 CT4nlBARTGu0t0Qpcdb1TceeEmRYFDuov2AUpTWdHzCeQmSgPLmuOZUEyuJ08JGWmyvw4W 92knZmfdrVci4pxfPpGWSLaTDnE8JAEy29DnK2wlBgJpNQ6NoR7AY+Q+yeNV+UHjUwkatT knND+Gstg00ZoMcSCOiyBw0kJc9zCnJ7C60EWlFeV+TW5jLpFFrYzOyIW7z8WQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708713498; a=rsa-sha256; cv=none; b=aivGrw+By2uWWtJBQn/BlUvy4Hesy33uWNZAu65Dx4/L8XOwBPt94IGL3ckKBP5MV+rrpS ZwxUUXgTAvZ9H2uMf7nza0W1lmKHtV2Y2RxQ7aAm2WX6Lz/wyza8TH2cQBtAFPrdBxgoj0 Rm+K7Usz1WW8Z1dMNXHaGVRvcjP4ymu/2zooVAUxTJ7s6lGFgkk3/ZTIood6eSbxTo7UCI ChsYP3u4NTx71SzQeMytzHxvDkfgHr5q04Q0g8wswEiJSQE2bTSPsE2GGZGSeCGtEaCRa3 DqUuNhE/A1QFWQ2v5htj5auaSR4lXJ7iFu3cngPUxFQSXmJGhCAKLRM+73eR4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708713498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cry0/yDIh9cy6L/n1eX9qQ0Vs4URqzY5gj71TgMgki4=; b=DRaQ29j1YbgEaJxx8ke8yR1b235jdLmq2xWYLMWYnR5ggNBA1o3oxfyRg1xqnhBSbEuFX/ 6/4CVIM2kcCTBKFN2StHdAKPhDtiHAyGKqoo/aUWGcNjM0w7XOGlrhMBne4nGdzfOgBCBp EpD8wwwsLZDt0iraSlQDAXGWe0ZAGzTV9z97jCapFPOnempAdZAEJ5K30elpj1LAL66Rvi 9ZWB1xmfdcABa7lfJyCFij1dAEi1tm0SrfRD+8F64Qkce6aVMALaGpeZhG0pZeiycy7AKA MMhMEr+ZyVciMgdkQVfdrVrJ7N0C7QjaPviCBHh0uyY3F1XgjQSVWvZmSbisig== 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 4ThJfy3stlzRP0; Fri, 23 Feb 2024 18: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 41NIcI27087461; Fri, 23 Feb 2024 18: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 41NIcEgt087454; Fri, 23 Feb 2024 18:38:14 GMT (envelope-from git) Date: Fri, 23 Feb 2024 18:38:14 GMT Message-Id: <202402231838.41NIcEgt087454@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: 81be5a55d9bb - stable/14 - zfs: merge openzfs/zfs@c883088df (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: 81be5a55d9bb8717e280433cd8927dfe9bf9b814 Auto-Submitted: auto-generated The branch stable/14 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=81be5a55d9bb8717e280433cd8927dfe9bf9b814 commit 81be5a55d9bb8717e280433cd8927dfe9bf9b814 Merge: fba1a994acfe c883088df83c Author: Martin Matuska AuthorDate: 2024-02-23 18:37:08 +0000 Commit: Martin Matuska CommitDate: 2024-02-23 18:37:36 +0000 zfs: merge openzfs/zfs@c883088df (zfs-2.2-release) into stable/14 OpenZFS release 2.2.3 Notable upstream pull request merges: #15428 2a59b6bfa ABD: Be more assertive in iterators #15486 c34fe8dcb Update the kstat dataset_name when renaming a zvol #15495 f13593619 FreeBSD: Optimize large kstat outputs #15517 ad47eca19 ZIL: Assert record sizes in different places #15519 2e259c6f0 L2ARC: Restrict write size to 1/4 of the device #15544 121924575 Allow block cloning across encrypted datasets #15553 e48195c81 ZIO: Add overflow checks for linear buffers #15612 3b8f22736 ZIL: Remove TX_CLONE_RANGE replay for ZVOLs #15617 e11b3eb1c ZIL: Do not clone blocks from the future #15625 e09356fa0 BRT: Limit brt_vdev_dump() to only one vdev #15629 dea2d3c6c zdb: Dump encrypted write and clone ZIL records #15630 3425484eb Fix file descriptor leak on pool import #15634 1e1d748ca ZIL: Remove 128K into 2x68K LWB split optimization #15644 b13c91bb2 DMU: Fix lock leak on dbuf_hold() error #15653 a701548eb dbuf: Handle arcbuf assignment after block cloning #15656 9c40ae021 dbuf: Set dr_data when unoverriding after clone #15660 4db88c37c fix(mount): do not truncate shares not zfs mount #15665 c0c4866f8 dmu: Allow buffer fills to fail #15675 db2db50e3 spa: make read/write queues configurable #15677 f71c16a66 Don't panic on unencrypted block in encrypted dataset #15719 9181e94f0 spa: Fix FreeBSD sysctl handlers #15719 a00231a3f spa: Let spa_taskq_param_get()'s addition of a newline be optional #15721 4d4972ed9 Stop wasting time on malloc in snprintf_zstd_header #15726 7bccf98a7 Make zdb -R scale less poorly #15732 ac592318b Fix livelist assertions for dedup and cloning #15735 152a775ea Improve block sizes checks during cloning #15737 52cee9a3e fix: Uber block label not always found for aux vdevs #15737 eb4a36bce Extend aux label to add path information #15737 a2e71db66 Add path handling for aux vdevs in `label_path` #15747 2006ac1f4 Fix "out of memory" error #15752 8b1c6db3d Fix a potential use-after-free in zfs_setsecattr() #15769 40e20d808 Add 'zpool status -e' flag to see unhealthy vdevs #15772 ef527958c Fix cloning into mmaped and cached file #15780 09a796136 FreeBSD: Fix bootstrapping tools under Linux/musl #15781 07cf973fe Autotrim High Load Average Fix #15783 c1161e285 fix: variable type with zfs-tests/cmd/clonefile.c #15816 dd3a0a271 Update vdev devid and physpath if changed between imports #15818 ab653603f Don't assert mg_initialized due to device addition race #15823 acc7cd8e9 Update man pages to time(1) from time(2) #15825 0606ce205 zpool wait: print timestamp before the header #15847 d22bf6a9b LUA: Backport CVE-2020-24370's patch #15864 36116b461 zfs list: add '-t fs' and '-t vol' options #15874 fc3d34bd0 BRT: Fix slop space calculation with block cloning #15882 a4978d260 zdb: Fix false leak report for BRT objects Obtained from: OpenZFS OpenZFS commit: c883088df83ced3a2b8b38e6d89a5e63fb153ee4 OpenZFS tag: zfs-2.2.3 sys/contrib/openzfs/.github/codeql-cpp.yml | 4 + sys/contrib/openzfs/.github/codeql-python.yml | 4 + .../custom-queries/cpp/deprecatedFunctionUsage.ql | 59 ++++ .../.github/codeql/custom-queries/cpp/qlpack.yml | 4 + sys/contrib/openzfs/.github/workflows/README.md | 46 +-- .../openzfs/.github/workflows/checkstyle.yaml | 4 +- sys/contrib/openzfs/.github/workflows/codeql.yml | 3 +- .../.github/workflows/scripts/generate-summary.sh | 2 +- .../workflows/scripts/setup-dependencies.sh | 35 +-- .../openzfs/.github/workflows/zfs-linux-tests.yml | 22 +- .../openzfs/.github/workflows/zfs-linux.yml | 8 +- sys/contrib/openzfs/META | 4 +- sys/contrib/openzfs/cmd/zdb/zdb.c | 24 +- sys/contrib/openzfs/cmd/zdb/zdb_il.c | 60 +++- sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c | 4 + .../openzfs/cmd/zed/zed.d/statechange-slot_off.sh | 6 +- sys/contrib/openzfs/cmd/zed/zed.d/zed-functions.sh | 98 +++++++ sys/contrib/openzfs/cmd/zed/zed.d/zed.rc | 24 +- sys/contrib/openzfs/cmd/zed/zed_event.c | 31 ++ sys/contrib/openzfs/cmd/zfs/zfs_main.c | 25 +- .../openzfs/cmd/zpool/os/freebsd/zpool_vdev_os.c | 21 ++ .../openzfs/cmd/zpool/os/linux/zpool_vdev_os.c | 255 +++++++++++++++++ sys/contrib/openzfs/cmd/zpool/zpool.d/ses | 12 +- sys/contrib/openzfs/cmd/zpool/zpool_iter.c | 4 + sys/contrib/openzfs/cmd/zpool/zpool_main.c | 301 +++++++++++++++++--- sys/contrib/openzfs/cmd/zpool/zpool_util.h | 3 + sys/contrib/openzfs/cmd/zpool/zpool_vdev.c | 4 + sys/contrib/openzfs/config/Rules.am | 15 - sys/contrib/openzfs/config/kernel-acl.m4 | 14 +- sys/contrib/openzfs/config/kernel-automount.m4 | 2 +- sys/contrib/openzfs/config/kernel-bio.m4 | 2 +- sys/contrib/openzfs/config/kernel-blkdev.m4 | 90 +++++- .../config/kernel-block-device-operations.m4 | 8 +- .../openzfs/config/kernel-commit-metadata.m4 | 2 +- sys/contrib/openzfs/config/kernel-current-time.m4 | 5 +- .../openzfs/config/kernel-dentry-operations.m4 | 2 +- sys/contrib/openzfs/config/kernel-dirty-inode.m4 | 2 +- .../openzfs/config/kernel-encode-fh-inode.m4 | 2 +- sys/contrib/openzfs/config/kernel-evict-inode.m4 | 2 +- sys/contrib/openzfs/config/kernel-fallocate.m4 | 2 +- .../openzfs/config/kernel-flush_dcache_page.m4 | 5 +- sys/contrib/openzfs/config/kernel-fpu.m4 | 23 +- sys/contrib/openzfs/config/kernel-fsync.m4 | 4 +- sys/contrib/openzfs/config/kernel-get-link.m4 | 8 +- sys/contrib/openzfs/config/kernel-idmap_mnt_api.m4 | 25 ++ sys/contrib/openzfs/config/kernel-inode-create.m4 | 6 +- sys/contrib/openzfs/config/kernel-inode-getattr.m4 | 8 +- sys/contrib/openzfs/config/kernel-inode-lookup.m4 | 2 +- .../openzfs/config/kernel-inode-permission.m4 | 8 +- sys/contrib/openzfs/config/kernel-inode-setattr.m4 | 6 +- sys/contrib/openzfs/config/kernel-inode-times.m4 | 78 +++++ .../openzfs/config/kernel-make-request-fn.m4 | 8 +- sys/contrib/openzfs/config/kernel-mkdir.m4 | 6 +- sys/contrib/openzfs/config/kernel-mknod.m4 | 4 +- .../openzfs/config/kernel-proc-operations.m4 | 10 +- sys/contrib/openzfs/config/kernel-put-link.m4 | 4 +- sys/contrib/openzfs/config/kernel-rename.m4 | 10 +- sys/contrib/openzfs/config/kernel-show-options.m4 | 2 +- sys/contrib/openzfs/config/kernel-shrink.m4 | 96 ++++++- sys/contrib/openzfs/config/kernel-strlcpy.m4 | 47 +++ sys/contrib/openzfs/config/kernel-symlink.m4 | 4 +- sys/contrib/openzfs/config/kernel-timer.m4 | 4 +- sys/contrib/openzfs/config/kernel-tmpfile.m4 | 8 +- sys/contrib/openzfs/config/kernel-vfs-direct_IO.m4 | 8 +- sys/contrib/openzfs/config/kernel-vfs-iterate.m4 | 6 +- .../openzfs/config/kernel-vfs-rw-iterate.m4 | 4 +- sys/contrib/openzfs/config/kernel-writepage_t.m4 | 2 +- sys/contrib/openzfs/config/kernel-xattr-handler.m4 | 24 +- sys/contrib/openzfs/config/kernel.m4 | 12 + sys/contrib/openzfs/config/rpm.am | 10 + sys/contrib/openzfs/include/libzfs.h | 3 + sys/contrib/openzfs/include/libzutil.h | 59 ++++ .../openzfs/include/os/freebsd/spl/sys/mod_os.h | 6 + .../openzfs/include/os/freebsd/spl/sys/uio.h | 2 +- .../include/os/freebsd/zfs/sys/zfs_vfsops_os.h | 1 - .../include/os/linux/kernel/linux/dcache_compat.h | 15 +- .../include/os/linux/kernel/linux/simd_aarch64.h | 6 + .../include/os/linux/kernel/linux/simd_arm.h | 6 + .../openzfs/include/os/linux/spl/sys/cred.h | 55 +++- .../openzfs/include/os/linux/spl/sys/kmem_cache.h | 2 - .../openzfs/include/os/linux/spl/sys/shrinker.h | 66 ++--- .../openzfs/include/os/linux/spl/sys/string.h | 49 ++++ .../openzfs/include/os/linux/spl/sys/types.h | 11 + sys/contrib/openzfs/include/os/linux/spl/sys/uio.h | 2 +- .../include/os/linux/zfs/sys/zfs_vfsops_os.h | 2 - sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h | 20 ++ sys/contrib/openzfs/include/sys/dataset_kstats.h | 1 + sys/contrib/openzfs/include/sys/dbuf.h | 4 +- sys/contrib/openzfs/include/sys/dsl_crypt.h | 1 + sys/contrib/openzfs/include/sys/spa_impl.h | 1 + sys/contrib/openzfs/include/sys/zfs_vnops.h | 3 + sys/contrib/openzfs/lib/libspl/include/assert.h | 3 + .../lib/libspl/include/os/freebsd/sys/stat.h | 6 +- sys/contrib/openzfs/lib/libspl/include/sys/uio.h | 2 +- sys/contrib/openzfs/lib/libzfs/libzfs.abi | 104 +++++-- sys/contrib/openzfs/lib/libzfs/libzfs_import.c | 4 +- sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 49 +++- .../lib/libzutil/os/freebsd/zutil_import_os.c | 17 ++ .../lib/libzutil/os/linux/zutil_import_os.c | 55 +++- sys/contrib/openzfs/lib/libzutil/zutil_import.c | 130 ++++++++- sys/contrib/openzfs/lib/libzutil/zutil_pool.c | 31 ++ sys/contrib/openzfs/man/man4/spl.4 | 8 - sys/contrib/openzfs/man/man4/zfs.4 | 19 ++ sys/contrib/openzfs/man/man7/zpool-features.7 | 9 +- sys/contrib/openzfs/man/man8/zfs-list.8 | 11 +- sys/contrib/openzfs/man/man8/zpool-clear.8 | 11 + sys/contrib/openzfs/man/man8/zpool-iostat.8 | 2 +- sys/contrib/openzfs/man/man8/zpool-list.8 | 2 +- sys/contrib/openzfs/man/man8/zpool-offline.8 | 18 +- sys/contrib/openzfs/man/man8/zpool-status.8 | 8 +- sys/contrib/openzfs/man/man8/zpool-wait.8 | 2 +- sys/contrib/openzfs/man/man8/zpool.8 | 19 +- sys/contrib/openzfs/module/Kbuild.in | 1 + sys/contrib/openzfs/module/lua/ldebug.c | 7 +- .../openzfs/module/os/freebsd/spl/spl_kstat.c | 38 ++- sys/contrib/openzfs/module/os/freebsd/zfs/dmu_os.c | 4 +- .../openzfs/module/os/freebsd/zfs/zfs_file_os.c | 63 ++++- .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c | 4 - .../openzfs/module/os/freebsd/zfs/zio_crypt.c | 9 +- .../openzfs/module/os/freebsd/zfs/zvol_os.c | 1 + .../openzfs/module/os/linux/spl/spl-condvar.c | 2 +- .../openzfs/module/os/linux/spl/spl-kmem-cache.c | 17 +- .../openzfs/module/os/linux/spl/spl-kstat.c | 1 + .../openzfs/module/os/linux/spl/spl-shrinker.c | 115 ++++++++ .../openzfs/module/os/linux/spl/spl-thread.c | 1 + sys/contrib/openzfs/module/os/linux/spl/spl-zone.c | 1 + sys/contrib/openzfs/module/os/linux/zfs/abd_os.c | 27 +- sys/contrib/openzfs/module/os/linux/zfs/arc_os.c | 11 +- .../openzfs/module/os/linux/zfs/vdev_disk.c | 217 +++++++++----- .../openzfs/module/os/linux/zfs/zfs_ctldir.c | 4 +- .../openzfs/module/os/linux/zfs/zfs_vfsops.c | 10 +- .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 40 +-- .../openzfs/module/os/linux/zfs/zfs_znode.c | 45 +-- .../openzfs/module/os/linux/zfs/zio_crypt.c | 9 +- .../openzfs/module/os/linux/zfs/zpl_file_range.c | 48 ++-- .../openzfs/module/os/linux/zfs/zpl_inode.c | 3 +- sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c | 2 + sys/contrib/openzfs/module/zfs/abd.c | 104 ++----- sys/contrib/openzfs/module/zfs/arc.c | 30 +- sys/contrib/openzfs/module/zfs/brt.c | 86 +++--- sys/contrib/openzfs/module/zfs/dataset_kstats.c | 12 + sys/contrib/openzfs/module/zfs/dbuf.c | 55 +++- sys/contrib/openzfs/module/zfs/dmu.c | 38 ++- sys/contrib/openzfs/module/zfs/dmu_recv.c | 2 +- sys/contrib/openzfs/module/zfs/dmu_send.c | 2 - sys/contrib/openzfs/module/zfs/dsl_crypt.c | 34 +++ sys/contrib/openzfs/module/zfs/dsl_deadlist.c | 31 +- sys/contrib/openzfs/module/zfs/metaslab.c | 3 - sys/contrib/openzfs/module/zfs/spa.c | 280 +++++++++++++++++- sys/contrib/openzfs/module/zfs/spa_misc.c | 3 +- sys/contrib/openzfs/module/zfs/vdev.c | 40 ++- sys/contrib/openzfs/module/zfs/vdev_label.c | 85 ++++-- sys/contrib/openzfs/module/zfs/vdev_trim.c | 3 +- sys/contrib/openzfs/module/zfs/zfs_replay.c | 50 +++- sys/contrib/openzfs/module/zfs/zfs_vnops.c | 107 +++++-- sys/contrib/openzfs/module/zfs/zil.c | 100 ++++--- sys/contrib/openzfs/module/zfs/zio.c | 57 +++- sys/contrib/openzfs/module/zfs/zio_checksum.c | 16 +- sys/contrib/openzfs/module/zfs/zvol.c | 60 +--- sys/contrib/openzfs/rpm/generic/zfs-kmod.spec.in | 24 ++ sys/contrib/openzfs/rpm/redhat/zfs-kmod.spec.in | 24 ++ sys/contrib/openzfs/tests/Makefile.am | 1 + sys/contrib/openzfs/tests/runfiles/bclone.run | 46 +++ sys/contrib/openzfs/tests/runfiles/common.run | 40 ++- sys/contrib/openzfs/tests/runfiles/linux.run | 11 +- .../openzfs/tests/test-runner/bin/zts-report.py.in | 93 ++++-- sys/contrib/openzfs/tests/zfs-tests/Makefile.am | 3 + sys/contrib/openzfs/tests/zfs-tests/cmd/.gitignore | 2 + .../openzfs/tests/zfs-tests/cmd/Makefile.am | 4 +- .../tests/zfs-tests/cmd/clone_mmap_cached.c | 146 ++++++++++ .../openzfs/tests/zfs-tests/cmd/clone_mmap_write.c | 123 ++++++++ .../openzfs/tests/zfs-tests/cmd/clonefile.c | 82 ++++-- sys/contrib/openzfs/tests/zfs-tests/cmd/ctime.c | 14 +- .../openzfs/tests/zfs-tests/include/commands.cfg | 5 +- .../openzfs/tests/zfs-tests/include/libtest.shlib | 27 +- .../openzfs/tests/zfs-tests/include/math.shlib | 13 +- .../openzfs/tests/zfs-tests/include/tunables.cfg | 3 +- .../openzfs/tests/zfs-tests/tests/Makefile.am | 31 ++ .../tests/zfs-tests/tests/functional/bclone/TODO | 4 + .../zfs-tests/tests/functional/bclone/bclone.cfg | 32 +++ .../tests/functional/bclone/bclone_common.kshlib | 286 +++++++++++++++++++ .../functional/bclone/bclone_corner_cases.kshlib | 315 +++++++++++++++++++++ .../bclone/bclone_crossfs_corner_cases.ksh | 45 +++ .../bclone/bclone_crossfs_corner_cases_limited.ksh | 45 +++ .../functional/bclone/bclone_crossfs_data.ksh | 46 +++ .../functional/bclone/bclone_crossfs_embedded.ksh | 50 ++++ .../functional/bclone/bclone_crossfs_hole.ksh | 45 +++ .../functional/bclone/bclone_diffprops_all.ksh | 86 ++++++ .../bclone/bclone_diffprops_checksum.ksh | 62 ++++ .../bclone/bclone_diffprops_compress.ksh | 59 ++++ .../functional/bclone/bclone_diffprops_copies.ksh | 59 ++++ .../bclone/bclone_diffprops_recordsize.ksh | 65 +++++ .../tests/functional/bclone/bclone_prop_sync.ksh | 66 +++++ .../bclone/bclone_samefs_corner_cases.ksh | 42 +++ .../bclone/bclone_samefs_corner_cases_limited.ksh | 42 +++ .../tests/functional/bclone/bclone_samefs_data.ksh | 44 +++ .../functional/bclone/bclone_samefs_embedded.ksh | 48 ++++ .../tests/functional/bclone/bclone_samefs_hole.ksh | 44 +++ .../zfs-tests/tests/functional/bclone/cleanup.ksh | 44 +++ .../zfs-tests/tests/functional/bclone/setup.ksh | 50 ++++ .../functional/block_cloning/block_cloning.kshlib | 14 +- .../block_cloning_clone_mmap_cached.ksh | 86 ++++++ .../block_cloning_clone_mmap_write.ksh | 79 ++++++ .../block_cloning/block_cloning_copyfilerange.ksh | 2 +- .../block_cloning_copyfilerange_cross_dataset.ksh | 5 +- .../block_cloning_copyfilerange_fallback.ksh | 2 +- ...ock_cloning_copyfilerange_fallback_same_txg.ksh | 2 +- .../block_cloning_copyfilerange_partial.ksh | 2 +- .../block_cloning_cross_enc_dataset.ksh | 169 +++++++++++ .../block_cloning_disabled_copyfilerange.ksh | 2 +- .../block_cloning_lwb_buffer_overflow.ksh | 90 ++++++ .../block_cloning/block_cloning_replay.ksh | 132 +++++++++ .../block_cloning_replay_encrypted.ksh | 134 +++++++++ .../tests/functional/block_cloning/setup.ksh | 3 + .../tests/functional/cache/cache_012_pos.ksh | 20 +- .../cli_root/zfs_share/zfs_share_after_mount.ksh | 62 ++++ .../cli_root/zpool_status/zpool_status_002_pos.ksh | 4 +- .../cli_root/zpool_status/zpool_status_003_pos.ksh | 2 + .../cli_root/zpool_status/zpool_status_008_pos.ksh | 104 +++++++ .../zfs-tests/tests/functional/cp_files/.gitignore | 1 + .../tests/functional/cp_files/cleanup.ksh | 4 + .../tests/functional/cp_files/cp_files_002_pos.ksh | 161 +++++++++++ .../tests/functional/cp_files/cp_stress.ksh | 73 +++++ .../tests/functional/cp_files/seekflood.c | 180 ++++++++++++ .../zfs-tests/tests/functional/cp_files/setup.ksh | 6 + .../zfs-tests/tests/functional/io/io_uring.ksh | 7 + .../tests/functional/redundancy/redundancy.kshlib | 22 -- sys/modules/zfs/zfs_config.h | 50 +++- sys/modules/zfs/zfs_gitrev.h | 2 +- 229 files changed, 6970 insertions(+), 1081 deletions(-) diff --cc sys/contrib/openzfs/.github/codeql-cpp.yml index 000000000000,88b8c6086025..88b8c6086025 mode 000000,100644..100644 --- a/sys/contrib/openzfs/.github/codeql-cpp.yml +++ b/sys/contrib/openzfs/.github/codeql-cpp.yml diff --cc sys/contrib/openzfs/.github/codeql-python.yml index 000000000000,93cb4a435ed9..93cb4a435ed9 mode 000000,100644..100644 --- a/sys/contrib/openzfs/.github/codeql-python.yml +++ b/sys/contrib/openzfs/.github/codeql-python.yml diff --cc sys/contrib/openzfs/.github/codeql/custom-queries/cpp/deprecatedFunctionUsage.ql index 000000000000,eb4b7bd6299b..eb4b7bd6299b mode 000000,100644..100644 --- a/sys/contrib/openzfs/.github/codeql/custom-queries/cpp/deprecatedFunctionUsage.ql +++ b/sys/contrib/openzfs/.github/codeql/custom-queries/cpp/deprecatedFunctionUsage.ql diff --cc sys/contrib/openzfs/.github/codeql/custom-queries/cpp/qlpack.yml index 000000000000,cbe0f1cbe3c4..cbe0f1cbe3c4 mode 000000,100644..100644 --- a/sys/contrib/openzfs/.github/codeql/custom-queries/cpp/qlpack.yml +++ b/sys/contrib/openzfs/.github/codeql/custom-queries/cpp/qlpack.yml diff --cc sys/contrib/openzfs/config/kernel-strlcpy.m4 index 000000000000,c31cf52d78b0..c31cf52d78b0 mode 000000,100644..100644 --- a/sys/contrib/openzfs/config/kernel-strlcpy.m4 +++ b/sys/contrib/openzfs/config/kernel-strlcpy.m4 diff --cc sys/contrib/openzfs/module/os/linux/spl/spl-shrinker.c index 000000000000,d5c8da471cbb..d5c8da471cbb mode 000000,100644..100644 --- a/sys/contrib/openzfs/module/os/linux/spl/spl-shrinker.c +++ b/sys/contrib/openzfs/module/os/linux/spl/spl-shrinker.c diff --cc sys/contrib/openzfs/tests/runfiles/bclone.run index 000000000000,3d0f545d9226..3d0f545d9226 mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/runfiles/bclone.run +++ b/sys/contrib/openzfs/tests/runfiles/bclone.run diff --cc sys/contrib/openzfs/tests/zfs-tests/cmd/clone_mmap_cached.c index 000000000000,c1cdf796cfb4..c1cdf796cfb4 mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/zfs-tests/cmd/clone_mmap_cached.c +++ b/sys/contrib/openzfs/tests/zfs-tests/cmd/clone_mmap_cached.c diff --cc sys/contrib/openzfs/tests/zfs-tests/cmd/clone_mmap_write.c index 000000000000,6a5cd8721c57..6a5cd8721c57 mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/zfs-tests/cmd/clone_mmap_write.c +++ b/sys/contrib/openzfs/tests/zfs-tests/cmd/clone_mmap_write.c diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/TODO index 000000000000,7cd4ee898fc4..7cd4ee898fc4 mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/TODO +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/TODO diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone.cfg index 000000000000,f72d17c1beca..f72d17c1beca mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone.cfg +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone.cfg diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_common.kshlib index 000000000000,3b8eaea5bb54..3b8eaea5bb54 mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_common.kshlib +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_common.kshlib diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_corner_cases.kshlib index 000000000000,ddfbfc999c4e..ddfbfc999c4e mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_corner_cases.kshlib +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_corner_cases.kshlib diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases.ksh index 000000000000,35188cddb063..35188cddb063 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases_limited.ksh index 000000000000,1fc1bbd07fd9..1fc1bbd07fd9 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases_limited.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases_limited.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_data.ksh index 000000000000,e2fe25d451dd..e2fe25d451dd mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_data.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_data.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_embedded.ksh index 000000000000,6a6fe1d309a9..6a6fe1d309a9 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_embedded.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_embedded.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_hole.ksh index 000000000000,d4c33d6da30f..d4c33d6da30f mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_hole.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_hole.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_all.ksh index 000000000000,a5e7282fe6a8..a5e7282fe6a8 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_all.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_all.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_checksum.ksh index 000000000000,7e064a0dfd73..7e064a0dfd73 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_checksum.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_checksum.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_compress.ksh index 000000000000,e1d6e5949218..e1d6e5949218 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_compress.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_compress.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_copies.ksh index 000000000000,ac823e1ec394..ac823e1ec394 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_copies.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_copies.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_recordsize.ksh index 000000000000,d833e6123106..d833e6123106 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_recordsize.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_recordsize.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_prop_sync.ksh index 000000000000,f8aa1c875c60..f8aa1c875c60 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_prop_sync.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_prop_sync.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases.ksh index 000000000000,4aa2914da299..4aa2914da299 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases_limited.ksh index 000000000000,b4737700eb7d..b4737700eb7d mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases_limited.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases_limited.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_data.ksh index 000000000000,e964f7bbf641..e964f7bbf641 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_data.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_data.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_embedded.ksh index 000000000000,df393a878015..df393a878015 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_embedded.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_embedded.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_hole.ksh index 000000000000,3c6e345e6e64..3c6e345e6e64 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_hole.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_hole.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/cleanup.ksh index 000000000000,0021ccb57ae0..0021ccb57ae0 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/cleanup.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/cleanup.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/setup.ksh index 000000000000,9d26088c5a8a..9d26088c5a8a mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/setup.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/setup.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_clone_mmap_cached.ksh index 000000000000,b0ef8ec99533..b0ef8ec99533 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_clone_mmap_cached.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_clone_mmap_cached.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_clone_mmap_write.ksh index 000000000000,6215b3178e7e..6215b3178e7e mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_clone_mmap_write.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_clone_mmap_write.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_cross_enc_dataset.ksh index 000000000000,702e23267f7e..702e23267f7e mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_cross_enc_dataset.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_cross_enc_dataset.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_lwb_buffer_overflow.ksh index 000000000000,919f320dea3f..919f320dea3f mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_lwb_buffer_overflow.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_lwb_buffer_overflow.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay.ksh index 000000000000,530152004686..530152004686 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay_encrypted.ksh index 000000000000,0967415b7b7b..0967415b7b7b mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay_encrypted.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_replay_encrypted.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_share/zfs_share_after_mount.ksh index 000000000000,0d4b66ea854c..0d4b66ea854c mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_share/zfs_share_after_mount.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_share/zfs_share_after_mount.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_status/zpool_status_008_pos.ksh index 000000000000,6be2ad5a7410..6be2ad5a7410 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_status/zpool_status_008_pos.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_status/zpool_status_008_pos.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/.gitignore index 000000000000,d15225ac8429..d15225ac8429 mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/.gitignore +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/.gitignore diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/cp_files_002_pos.ksh index 000000000000,60817449ab03..60817449ab03 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/cp_files_002_pos.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/cp_files_002_pos.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/cp_stress.ksh index 000000000000,43bb8ab572d2..43bb8ab572d2 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/cp_stress.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/cp_stress.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/seekflood.c index 000000000000,02c2c8e6eca5..02c2c8e6eca5 mode 000000,100644..100644 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/seekflood.c +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cp_files/seekflood.c diff --cc sys/modules/zfs/zfs_config.h index 8fc8a9541740,000000000000..fe8580263185 mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,1149 -1,0 +1,1191 @@@ +/* + */ + +/* 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 */ + ++/* bdev_open_by_path() exists */ ++/* #undef HAVE_BDEV_OPEN_BY_PATH */ ++ ++/* bdev_release() exists */ ++/* #undef HAVE_BDEV_RELEASE */ ++ +/* 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_discard() is available */ ++/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC */ ++ +/* 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 */ + ++/* mnt_idmap does not have user_namespace */ ++/* #undef HAVE_IDMAP_NO_USERNS */ ++ +/* Define if compiler supports -Wimplicit-fallthrough */ +/* #undef HAVE_IMPLICIT_FALLTHROUGH */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + ++/* inode_get_atime() exists in linux/fs.h */ ++/* #undef HAVE_INODE_GET_ATIME */ ++ +/* inode_get_ctime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_CTIME */ + ++/* inode_get_mtime() exists in linux/fs.h */ ++/* #undef HAVE_INODE_GET_MTIME */ ++ +/* 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_atime_to_ts() exists in linux/fs.h */ ++/* #undef HAVE_INODE_SET_ATIME_TO_TS */ ++ +/* inode_set_ctime_to_ts() exists in linux/fs.h */ *** 734 LINES SKIPPED *** From nobody Fri Feb 23 19:33:05 2024 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 4ThKt92WPBz5BN6m; Fri, 23 Feb 2024 19:33: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 4ThKt91zpXz54KM; Fri, 23 Feb 2024 19:33:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708716785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lC6z4xtsHjqPA5+fP1CeRsuOI7Ed8Vgz+sJVAjrR9KA=; b=rk4lZvNhdvm+Nzf4y7xyiFk8+dcGmd92hVR3APtlZpqbbmQrudpxe4rYqWRaTYcUgA5vtg o8qSduhjI2wJFDrguSCK3e3rt/N+280QYv4QdOJ4R5+QgWhhAuXoQHxAFEYpSNN0chx1KO IVjmRPtcZEQ7mwfMToHTprf+GcDIU/9ko1T+59zAeZQcyqFCxhHF5hclbqHVLKIhGQ62Hn A53NMaFsQS6kgiEOCwkCJ0DvmeVQjyNGWITg4eTNW5DVv2bIuFQL2mZch5nZPRWfr0pk42 lcRRWoX9AxuzY8/NexpslIcDlDGB9lrVlO8hLHVsw8TJPMrw/e1R/xob9JxiFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708716785; a=rsa-sha256; cv=none; b=LJ5dBXpBDNVQ/A9KeJwbEgmiXTXChauEU3bmQg9wGqCt6aRKUEkD3a5a5EVt7VQ8mdAiqI 8WUxhNeFpoI6CFp4CepznvWXHK4o+wkkZrTCcQLSymb7QN8+LSySPEZWWjKcrNFoILjPXy mRK+AGiulVIt3axzW5M6wSFmVCjjiXE6Tt6MKmMIWleNfqgsyNYlkyOMgM6LbhlyKolh9n HtavtRADVEa0qzThTjsKSpkECgKMRQuHl2/jzdmKxmIVGWJsHAmLjjB/9zKk0wdgjseRza QN2XxJcuCYQE8xyXk2h5+l9Fej6ZqzhvdfwrP9nti6C/ABq71GwroIG05Li/5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708716785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lC6z4xtsHjqPA5+fP1CeRsuOI7Ed8Vgz+sJVAjrR9KA=; b=ebrJ33tePdwzh8pi0+k8LR3bCK0WInUQpBAkNb8htA+GB1RpMvkMKVTlGLV748ECmFr2Gc lytGdplHTrzPiM2fBx8809o6sC5rRoaFMsYgnQABLWLusYJKHN1Z94GXDfk/QQf6H88HNc XuabWiwH6PPEgpCJawAw1kMNqxGXiRm7ds+yPvZwN5ckcBrVcgfaOUoEcu/UEaVMNTn04T KIopkSjomzIlbC0U8hdvhxCr6ItwyL/8QvNrqMMXo2AF8n0AelLJQCTrM9JWohLyKckpko udIA/MXj8SezbX+17YlIpDlYLdBXsQEEPvvniRjCUjAiGPKcI/RNk3Btym17dw== 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 4ThKt912WbzTQM; Fri, 23 Feb 2024 19:33: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 41NJX50A089288; Fri, 23 Feb 2024 19:33:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NJX5UF089285; Fri, 23 Feb 2024 19:33:05 GMT (envelope-from git) Date: Fri, 23 Feb 2024 19:33:05 GMT Message-Id: <202402231933.41NJX5UF089285@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: 89189224adb5 - main - snd_hda: add 32-bit memory quirk for Creative Sound Blaster Audigy FX 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: 89189224adb560af6de2bb2e13a2b1831b89101d Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=89189224adb560af6de2bb2e13a2b1831b89101d commit 89189224adb560af6de2bb2e13a2b1831b89101d Author: Gleb Smirnoff AuthorDate: 2024-02-23 19:30:13 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-23 19:30:13 +0000 snd_hda: add 32-bit memory quirk for Creative Sound Blaster Audigy FX Despite still being in production the device appeared not able to use memory above BUS_SPACE_MAXADDR_32BIT, and if your desktop has a lot of memory there is a high chance driver would allocate inaccessible memory. Submitted by: wulf Reviewed by: mav --- sys/dev/sound/pci/hda/hdac.c | 1 + sys/dev/sound/pci/hda/hdac.h | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c index 1f06692ba36e..704bcad3822c 100644 --- a/sys/dev/sound/pci/hda/hdac.c +++ b/sys/dev/sound/pci/hda/hdac.c @@ -201,6 +201,7 @@ static const struct { { HDA_VMWARE, "VMware", 0, 0 }, { HDA_SIS_966, "SiS 966/968", 0, 0 }, { HDA_ULI_M5461, "ULI M5461", 0, 0 }, + { HDA_CREATIVE_SB1570, "Creative SB Audigy FX", 0, HDAC_QUIRK_64BIT }, /* Unknown */ { HDA_INTEL_ALL, "Intel", 0, 0 }, { HDA_NVIDIA_ALL, "NVIDIA", 0, 0 }, diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h index 31bdc9130d9b..53c101f3119b 100644 --- a/sys/dev/sound/pci/hda/hdac.h +++ b/sys/dev/sound/pci/hda/hdac.h @@ -192,6 +192,7 @@ /* Creative */ #define CREATIVE_VENDORID 0x1102 +#define HDA_CREATIVE_SB1570 HDA_MODEL_CONSTRUCT(CREATIVE, 0x0012) #define HDA_CREATIVE_ALL HDA_MODEL_CONSTRUCT(CREATIVE, 0xffff) /* VIA */ From nobody Fri Feb 23 20:42:57 2024 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 4ThMQp1tt9z5BTXW; Fri, 23 Feb 2024 20:42: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 4ThMQp1MC7z3xpn; Fri, 23 Feb 2024 20:42:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708720978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l5/gum6HeftRYj3EeKUPStADhCpNJ3Sgd9xBGPFHGhs=; b=Qc+PbOOKh5HZmXzCWYhIYIqUJFw9vjfTeruBhpOUbraBo+5Yxzn0mBh630lAGos7Gtj7vp 9uq8cCApssujKdkmnubpa9xO1rA2T2bSAvHRypHUuGXVwxHFM9WfKRv4D+mhjym253+wSe v53Omhg8SnUSloRFEB4pk/J8G09FtPJsmNuoJngrc7IiiSTVfI9l7O0LUA0KYY8/hv1/mg NLBBqR/sQmwoDCAh0jc0w1fh3NJRMUZxv+Br3Y+LOafddAZEX6vWcK6DaBGAzBYTqvf3c1 giPsOmVqAfmapQRcJJBEg0WRjOb9xUavje2HO2Wo46RxXTQYccWVy3Xw6ySr9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708720978; a=rsa-sha256; cv=none; b=rWC1lF0pnVVLa28nW8FHVDPfYV9RrFLCo3ORnIv2PZTzf2CqSBJyLMt2Orv1Zv4I18CIsc R3m4W94vOoV7I2NE5mnsLddt+RXS4V4UaImYuGyORklP+HntckjeRgm4q1opgPd/p9XS6k AOOF5NO8+AT5kUI4pHH5a4E5T70EMZrge8Dkrji8sGCjqqUZT2S7yUo4wBaZB4zuw421Zh vJtMw5tTxjVO60SguzDDnfEt1EbhhspZy315FHc9xl4zlDQ98+jocQRL0bcd+2DzjBXDoW fRwI11ymJDMWvuhqW6lFwo9pkQpvzvALFS5+br11YxxonZCX0YJfmhycPyuLRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708720978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l5/gum6HeftRYj3EeKUPStADhCpNJ3Sgd9xBGPFHGhs=; b=mXcFXbuVQ7RzLsixrF+GN4OhOuzWNv6Z5VQT0qMjLv4t7InSDEHbfRSoyXuOsRpt7cPpk9 01GvaQCyHuR8MhIMp7BAmkdXCuwUeB2+hsepPgZgYq0uShyCSjlQNXqWohqrSp+IRCSd7q BaKon/xfq+yko8fKSlo9uFFzcijspvRA0LCfdc1Fi+91aOx7zmo8KsXd71zC0U5rE+apLF WOqTvAElvY29vCKP8KmmL6oFZolcJfNiJIAywwqFDXzmU7akQkyURGnzFMCosuxUM+Ww3b hlWn4PfajNbpfUn3vyHD4fJEeJAuh1Z1q/w/xtlDjHk7ucT7udp899lkYbnCLA== 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 4ThMQp0PyGzX8D; Fri, 23 Feb 2024 20:42: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 41NKgvoh006956; Fri, 23 Feb 2024 20:42:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NKgvUN006953; Fri, 23 Feb 2024 20:42:57 GMT (envelope-from git) Date: Fri, 23 Feb 2024 20:42:57 GMT Message-Id: <202402232042.41NKgvUN006953@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: 533faf21c19d - main - sctp: improve consistency 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: 533faf21c19d0fa4bc3c0a986c67667991f90883 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=533faf21c19d0fa4bc3c0a986c67667991f90883 commit 533faf21c19d0fa4bc3c0a986c67667991f90883 Author: Michael Tuexen AuthorDate: 2024-02-23 20:40:46 +0000 Commit: Michael Tuexen CommitDate: 2024-02-23 20:40:46 +0000 sctp: improve consistency MFC after: 1 week --- sys/netinet/sctp_output.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index d7742222a3bf..c988a8426fe8 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -5039,11 +5039,16 @@ sctp_arethere_unrecognized_parameters(struct mbuf *in_initpkt, at += padded_size; break; case SCTP_HAS_NAT_SUPPORT: + if (padded_size != sizeof(struct sctp_paramhdr)) { + SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error nat support %d\n", plen); + goto invalid_size; + } *nat_friendly = 1; - /* FALLTHROUGH */ + at += padded_size; + break; case SCTP_PRSCTP_SUPPORTED: if (padded_size != sizeof(struct sctp_paramhdr)) { - SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error prsctp/nat support %d\n", plen); + SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error prsctp %d\n", plen); goto invalid_size; } at += padded_size; From nobody Fri Feb 23 22:26:44 2024 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 4ThPkY2fyVz5Bdgx; Fri, 23 Feb 2024 22:26: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 4ThPkY2H99z4B82; Fri, 23 Feb 2024 22:26:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708727205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IzyQvpJiwToR1Zh+6ks9MryI9Ttf8AukbjVJN2tJoTc=; b=BsPVYJQwWd/glMJZihoGeAGx8BL/hQAlN68a8ccpsUAgahu8VAxBSx6oSwi6EgfzVDMGow 8YxFvHj7lq7O4PhGHU27TCGKUKdVe/tqcK04NHbfXk2BPkG+M8NgwS/U7ro5SZKJSgsoRR OuEhiO3GiIlA3a8TNn/KDZjyBPViWYEWUe5XvcOcnw7hIYH7lgcRL0RcK6RugtFzkbjJ+g r2aRIYxrz82HMQbARrjFQaSL/zDTs9LwcMw8/UOoBAZs20OLPNksmD1lvgMxYXHfaZRWXP pO+l+LUC/uRdbR8RePPA+S9vSvZD20wQYDLCtp4qySLlE3bVxfKsxo53NsC7sQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708727205; a=rsa-sha256; cv=none; b=LfwdqHlu1+V+ID1FSvy9l+QkpE2kLoJEPEhM8b7yRvsN1qsN8MQTMYEUDXEUAnSLj86Z/3 V5wYMuKrlNsG/I7TO5GA0x6JbKL/9J52U5OKOS5fBJFBQHmvFbgag+/j6IZseM8k06N9b5 b7Fehyq65jz8SMlkyPx7rAcOEaTlKDdZHHsivvhHQ4HdkungY9InFKjelhUvawykkv+im0 4czOV3zLIfI8OLMwGKqHyYy/ybkibEbVbt+6tsJG4BGb+9yjnKNDMBc3DqpHAivbRSugMk 0p9wsvMnUi/KkuLpMMSMZoXTJa8dzlX2iL21zzTq3hVt4kdqxTS/FAh9xXqS9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708727205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IzyQvpJiwToR1Zh+6ks9MryI9Ttf8AukbjVJN2tJoTc=; b=HzLIJ7ZuG3R0hyRq4YFooPjk1i78opg+ukw6q+qeA2MroTfprVA/Jm/YMayP/1a9QZt6cI bOpNqfIdGzNSbVjO76CJXm7eZrhswl+hLaxFvebnnHpsEDMgCepV2uIaqi1wdpas8CfJ5t To0OorLHqzkd1M8GZr9fFBobsMMamVJYAbujTC0bqzhrYCGcY5t3bqhyNmIMncfjus8VzL xi4rKVEMGhMAXShwbB7PU+CdixmNPXNhKaff2Wu+LtgC5h3eY+31AucU4NqbJSdUR8Begy E9WkhrYP8LTq4Tq+WlwHmewhPq1Q626MMDSFp0wfMWrlWrdyFolaYvHK4SVwEw== 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 4ThPkY17vdzZhr; Fri, 23 Feb 2024 22:26: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 41NMQjbd077396; Fri, 23 Feb 2024 22:26:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NMQiJs077393; Fri, 23 Feb 2024 22:26:44 GMT (envelope-from git) Date: Fri, 23 Feb 2024 22:26:44 GMT Message-Id: <202402232226.41NMQiJs077393@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eric Joyner Subject: git: b33556f035b4 - releng/13.3 - irdma(4): Upgrade to 1.2.36-k 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: erj X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: b33556f035b4cf78b848f256d6218f49ab99c509 Auto-Submitted: auto-generated The branch releng/13.3 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=b33556f035b4cf78b848f256d6218f49ab99c509 commit b33556f035b4cf78b848f256d6218f49ab99c509 Author: Bartosz Sobczak AuthorDate: 2024-02-16 21:55:08 +0000 Commit: Eric Joyner CommitDate: 2024-02-23 22:25:31 +0000 irdma(4): Upgrade to 1.2.36-k Update Intel irdma driver to version 1.2.36-k. Notable changes: - Start using ib_sge directly instead of irdma_sge - Turn off flush completion generator for libirdma - Minor formatting changes Signed-off-by: Bartosz Sobczak Signed-off-by: Eric Joyner Reviewed by: erj@ Approved by: re (cperciva@) Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D43567 (cherry picked from commit 5b5f7d0e77a9eee73eb5d596f43aef4e1a3674d8) (cherry picked from commit a4510dafa8045bfa521303db7f23123a47d8749f) --- contrib/ofed/libirdma/abi.h | 8 +- contrib/ofed/libirdma/irdma-abi.h | 11 ++ contrib/ofed/libirdma/irdma.h | 1 - contrib/ofed/libirdma/irdma_defs.h | 13 --- contrib/ofed/libirdma/irdma_uk.c | 106 ++++++++---------- contrib/ofed/libirdma/irdma_umain.c | 2 +- contrib/ofed/libirdma/irdma_umain.h | 2 - contrib/ofed/libirdma/irdma_user.h | 198 ++-------------------------------- contrib/ofed/libirdma/irdma_uverbs.c | 89 +++++---------- contrib/ofed/libirdma/osdep.h | 1 - sys/dev/irdma/fbsd_kcompat.c | 5 +- sys/dev/irdma/fbsd_kcompat.h | 25 ++--- sys/dev/irdma/icrdma.c | 2 +- sys/dev/irdma/icrdma_hw.c | 7 +- sys/dev/irdma/icrdma_hw.h | 3 +- sys/dev/irdma/irdma-abi.h | 11 ++ sys/dev/irdma/irdma.h | 2 +- sys/dev/irdma/irdma_cm.c | 47 ++++---- sys/dev/irdma/irdma_cm.h | 2 +- sys/dev/irdma/irdma_ctrl.c | 99 ++++++++++------- sys/dev/irdma/irdma_defs.h | 3 - sys/dev/irdma/irdma_hw.c | 43 +++++--- sys/dev/irdma/irdma_kcompat.c | 96 +++++++---------- sys/dev/irdma/irdma_main.h | 13 ++- sys/dev/irdma/irdma_pble.h | 2 +- sys/dev/irdma/irdma_protos.h | 2 +- sys/dev/irdma/irdma_puda.c | 8 +- sys/dev/irdma/irdma_type.h | 29 +++-- sys/dev/irdma/irdma_uda.c | 2 +- sys/dev/irdma/irdma_uda.h | 3 +- sys/dev/irdma/irdma_uk.c | 80 +++++++------- sys/dev/irdma/irdma_user.h | 35 +++--- sys/dev/irdma/irdma_utils.c | 53 +++------ sys/dev/irdma/irdma_verbs.c | 202 ++++++++--------------------------- sys/dev/irdma/irdma_verbs.h | 4 +- sys/dev/irdma/irdma_ws.c | 4 +- sys/dev/irdma/irdma_ws.h | 2 +- 37 files changed, 424 insertions(+), 791 deletions(-) diff --git a/contrib/ofed/libirdma/abi.h b/contrib/ofed/libirdma/abi.h index 1d84fbc747f6..a3e159828bec 100644 --- a/contrib/ofed/libirdma/abi.h +++ b/contrib/ofed/libirdma/abi.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (C) 2019 - 2022 Intel Corporation + * Copyright (C) 2019 - 2023 Intel Corporation * * 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 @@ -85,6 +85,7 @@ struct irdma_ucreate_qp { struct ibv_create_qp ibv_cmd; __aligned_u64 user_wqe_bufs; __aligned_u64 user_compl_ctx; + __aligned_u64 comp_mask; }; struct irdma_ucreate_qp_resp { @@ -97,6 +98,9 @@ struct irdma_ucreate_qp_resp { __u8 lsmm; __u8 rsvd; __u32 qp_caps; + __aligned_u64 comp_mask; + __u8 start_wqe_idx; + __u8 rsvd2[7]; }; struct irdma_umodify_qp_resp { @@ -137,6 +141,8 @@ struct irdma_get_context_resp { __u8 hw_rev; __u8 rsvd2; __aligned_u64 comp_mask; + __u16 min_hw_wq_size; + __u8 rsvd3[6]; }; struct irdma_ureg_mr { diff --git a/contrib/ofed/libirdma/irdma-abi.h b/contrib/ofed/libirdma/irdma-abi.h index 8c04dcce2e8b..ae805919ea55 100644 --- a/contrib/ofed/libirdma/irdma-abi.h +++ b/contrib/ofed/libirdma/irdma-abi.h @@ -54,6 +54,11 @@ enum irdma_memreg_type { enum { IRDMA_ALLOC_UCTX_USE_RAW_ATTR = 1 << 0, + IRDMA_ALLOC_UCTX_MIN_HW_WQ_SIZE = 1 << 1, +}; + +enum { + IRDMA_CREATE_QP_USE_START_WQE_IDX = 1 << 0, }; struct irdma_alloc_ucontext_req { @@ -82,6 +87,8 @@ struct irdma_alloc_ucontext_resp { __u8 hw_rev; __u8 rsvd2; __aligned_u64 comp_mask; + __u16 min_hw_wq_size; + __u8 rsvd3[6]; }; struct irdma_alloc_pd_resp { @@ -101,6 +108,7 @@ struct irdma_create_cq_req { struct irdma_create_qp_req { __aligned_u64 user_wqe_bufs; __aligned_u64 user_compl_ctx; + __aligned_u64 comp_mask; }; struct irdma_mem_reg_req { @@ -130,6 +138,9 @@ struct irdma_create_qp_resp { __u8 lsmm; __u8 rsvd; __u32 qp_caps; + __aligned_u64 comp_mask; + __u8 start_wqe_idx; + __u8 rsvd2[7]; }; struct irdma_modify_qp_resp { diff --git a/contrib/ofed/libirdma/irdma.h b/contrib/ofed/libirdma/irdma.h index 0e2a5189acd1..f4a5a4796f82 100644 --- a/contrib/ofed/libirdma/irdma.h +++ b/contrib/ofed/libirdma/irdma.h @@ -46,7 +46,6 @@ enum irdma_vers { IRDMA_GEN_RSVD = 0, IRDMA_GEN_1 = 1, IRDMA_GEN_2 = 2, - IRDMA_GEN_MAX = 2, }; struct irdma_uk_attrs { diff --git a/contrib/ofed/libirdma/irdma_defs.h b/contrib/ofed/libirdma/irdma_defs.h index da9eea472568..39d4e7772c31 100644 --- a/contrib/ofed/libirdma/irdma_defs.h +++ b/contrib/ofed/libirdma/irdma_defs.h @@ -456,19 +456,6 @@ enum irdma_qp_wqe_size { IRDMA_WQE_SIZE_256 = 256, }; -enum irdma_ws_op_type { - IRDMA_WS_OP_TYPE_NODE = 0, - IRDMA_WS_OP_TYPE_LEAF_NODE_GROUP, -}; - -enum irdma_ws_rate_limit_flags { - IRDMA_WS_RATE_LIMIT_FLAGS_VALID = 0x1, - IRDMA_WS_NO_RDMA_RATE_LIMIT = 0x2, - IRDMA_WS_LEAF_NODE_IS_PART_GROUP = 0x4, - IRDMA_WS_TREE_RATE_LIMITING = 0x8, - IRDMA_WS_PACING_CONTROL = 0x10, -}; - /** * set_64bit_val - set 64 bit value to hw wqe * @wqe_words: wqe addr to write diff --git a/contrib/ofed/libirdma/irdma_uk.c b/contrib/ofed/libirdma/irdma_uk.c index 5fa9d792745f..115c5f0a27f0 100644 --- a/contrib/ofed/libirdma/irdma_uk.c +++ b/contrib/ofed/libirdma/irdma_uk.c @@ -45,16 +45,16 @@ * @valid: The wqe valid */ static void -irdma_set_fragment(__le64 * wqe, u32 offset, struct irdma_sge *sge, +irdma_set_fragment(__le64 * wqe, u32 offset, struct ibv_sge *sge, u8 valid) { if (sge) { set_64bit_val(wqe, offset, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->addr)); set_64bit_val(wqe, offset + IRDMA_BYTE_8, FIELD_PREP(IRDMAQPSQ_VALID, valid) | - FIELD_PREP(IRDMAQPSQ_FRAG_LEN, sge->len) | - FIELD_PREP(IRDMAQPSQ_FRAG_STAG, sge->stag)); + FIELD_PREP(IRDMAQPSQ_FRAG_LEN, sge->length) | + FIELD_PREP(IRDMAQPSQ_FRAG_STAG, sge->lkey)); } else { set_64bit_val(wqe, offset, 0); set_64bit_val(wqe, offset + IRDMA_BYTE_8, @@ -71,14 +71,14 @@ irdma_set_fragment(__le64 * wqe, u32 offset, struct irdma_sge *sge, */ static void irdma_set_fragment_gen_1(__le64 * wqe, u32 offset, - struct irdma_sge *sge, u8 valid) + struct ibv_sge *sge, u8 valid) { if (sge) { set_64bit_val(wqe, offset, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, sge->addr)); set_64bit_val(wqe, offset + IRDMA_BYTE_8, - FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_LEN, sge->len) | - FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_STAG, sge->stag)); + FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_LEN, sge->length) | + FIELD_PREP(IRDMAQPSQ_GEN1_FRAG_STAG, sge->lkey)); } else { set_64bit_val(wqe, offset, 0); set_64bit_val(wqe, offset + IRDMA_BYTE_8, 0); @@ -209,8 +209,7 @@ irdma_qp_push_wqe(struct irdma_qp_uk *qp, __le64 * wqe, u16 quanta, if (IRDMA_RING_CURRENT_HEAD(qp->initial_ring) != IRDMA_RING_CURRENT_TAIL(qp->sq_ring) && !qp->push_mode) { - if (post_sq) - irdma_uk_qp_post_wr(qp); + irdma_uk_qp_post_wr(qp); } else { push = (__le64 *) ((uintptr_t)qp->push_wqe + (wqe_idx & 0x7) * 0x20); @@ -338,7 +337,7 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, return EINVAL; for (i = 0; i < op_info->num_lo_sges; i++) - total_size += op_info->lo_sg_list[i].len; + total_size += op_info->lo_sg_list[i].length; read_fence |= info->read_fence; @@ -357,7 +356,7 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, qp->sq_wrtrk_array[wqe_idx].signaled = info->signaled; set_64bit_val(wqe, IRDMA_BYTE_16, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); if (info->imm_data_valid) { set_64bit_val(wqe, IRDMA_BYTE_0, @@ -386,7 +385,7 @@ irdma_uk_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, ++addl_frag_cnt; } - hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.stag) | + hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.lkey) | FIELD_PREP(IRDMAQPSQ_OPCODE, info->op_type) | FIELD_PREP(IRDMAQPSQ_IMMDATAFLAG, info->imm_data_valid) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, info->report_rtt) | @@ -437,7 +436,7 @@ irdma_uk_rdma_read(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, return EINVAL; for (i = 0; i < op_info->num_lo_sges; i++) - total_size += op_info->lo_sg_list[i].len; + total_size += op_info->lo_sg_list[i].length; ret_code = irdma_fragcnt_to_quanta_sq(op_info->num_lo_sges, &quanta); if (ret_code) @@ -475,8 +474,8 @@ irdma_uk_rdma_read(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, ++addl_frag_cnt; } set_64bit_val(wqe, IRDMA_BYTE_16, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.tag_off)); - hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.stag) | + FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); + hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.lkey) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, (info->report_rtt ? 1 : 0)) | FIELD_PREP(IRDMAQPSQ_ADDFRAGCNT, addl_frag_cnt) | FIELD_PREP(IRDMAQPSQ_OPCODE, @@ -525,7 +524,7 @@ irdma_uk_send(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, return EINVAL; for (i = 0; i < op_info->num_sges; i++) - total_size += op_info->sg_list[i].len; + total_size += op_info->sg_list[i].length; if (info->imm_data_valid) frag_cnt = op_info->num_sges + 1; @@ -620,15 +619,15 @@ irdma_set_mw_bind_wqe_gen_1(__le64 * wqe, * @polarity: compatibility parameter */ static void -irdma_copy_inline_data_gen_1(u8 *wqe, struct irdma_sge *sge_list, +irdma_copy_inline_data_gen_1(u8 *wqe, struct ibv_sge *sge_list, u32 num_sges, u8 polarity) { u32 quanta_bytes_remaining = 16; u32 i; for (i = 0; i < num_sges; i++) { - u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].tag_off; - u32 sge_len = sge_list[i].len; + u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].addr; + u32 sge_len = sge_list[i].length; while (sge_len) { u32 bytes_copied; @@ -683,7 +682,7 @@ irdma_set_mw_bind_wqe(__le64 * wqe, * @polarity: polarity of wqe valid bit */ static void -irdma_copy_inline_data(u8 *wqe, struct irdma_sge *sge_list, +irdma_copy_inline_data(u8 *wqe, struct ibv_sge *sge_list, u32 num_sges, u8 polarity) { u8 inline_valid = polarity << IRDMA_INLINE_VALID_S; @@ -694,8 +693,8 @@ irdma_copy_inline_data(u8 *wqe, struct irdma_sge *sge_list, wqe += 8; for (i = 0; i < num_sges; i++) { - u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].tag_off; - u32 sge_len = sge_list[i].len; + u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].addr; + u32 sge_len = sge_list[i].length; while (sge_len) { u32 bytes_copied; @@ -775,7 +774,7 @@ irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, return EINVAL; for (i = 0; i < op_info->num_lo_sges; i++) - total_size += op_info->lo_sg_list[i].len; + total_size += op_info->lo_sg_list[i].length; if (unlikely(total_size > qp->max_inline_data)) return EINVAL; @@ -788,9 +787,9 @@ irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, qp->sq_wrtrk_array[wqe_idx].signaled = info->signaled; read_fence |= info->read_fence; set_64bit_val(wqe, IRDMA_BYTE_16, - FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.tag_off)); + FIELD_PREP(IRDMAQPSQ_FRAG_TO, op_info->rem_addr.addr)); - hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.stag) | + hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.lkey) | FIELD_PREP(IRDMAQPSQ_OPCODE, info->op_type) | FIELD_PREP(IRDMAQPSQ_INLINEDATALEN, total_size) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, info->report_rtt ? 1 : 0) | @@ -846,7 +845,7 @@ irdma_uk_inline_send(struct irdma_qp_uk *qp, return EINVAL; for (i = 0; i < op_info->num_sges; i++) - total_size += op_info->sg_list[i].len; + total_size += op_info->sg_list[i].length; if (unlikely(total_size > qp->max_inline_data)) return EINVAL; @@ -911,7 +910,7 @@ irdma_uk_stag_local_invalidate(struct irdma_qp_uk *qp, u64 hdr; u32 wqe_idx; bool local_fence = false; - struct irdma_sge sge = {0}; + struct ibv_sge sge = {0}; u16 quanta = IRDMA_QP_WQE_MIN_QUANTA; info->push_wqe = qp->push_db ? true : false; @@ -922,7 +921,7 @@ irdma_uk_stag_local_invalidate(struct irdma_qp_uk *qp, if (!wqe) return ENOSPC; - sge.stag = op_info->target_stag; + sge.lkey = op_info->target_stag; qp->wqe_ops.iw_set_fragment(wqe, IRDMA_BYTE_0, &sge, 0); set_64bit_val(wqe, IRDMA_BYTE_16, 0); @@ -1436,8 +1435,7 @@ irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq, IRDMA_RING_MOVE_TAIL(cq->cq_ring); set_64bit_val(cq->shadow_area, IRDMA_BYTE_0, IRDMA_RING_CURRENT_HEAD(cq->cq_ring)); - memset(info, 0, - sizeof(struct irdma_cq_poll_info)); + memset(info, 0, sizeof(*info)); return irdma_uk_cq_poll_cmpl(cq, info); } } @@ -1510,7 +1508,6 @@ exit: if (pring && IRDMA_RING_MORE_WORK(*pring)) move_cq_head = false; } - if (move_cq_head) { IRDMA_RING_MOVE_HEAD_NOCHECK(cq->cq_ring); if (!IRDMA_RING_CURRENT_HEAD(cq->cq_ring)) @@ -1591,10 +1588,12 @@ irdma_get_wqe_shift(struct irdma_uk_attrs *uk_attrs, u32 sge, int irdma_get_sqdepth(struct irdma_uk_attrs *uk_attrs, u32 sq_size, u8 shift, u32 *sqdepth) { + u32 min_size = (u32)uk_attrs->min_hw_wq_size << shift; + *sqdepth = irdma_round_up_wq((sq_size << shift) + IRDMA_SQ_RSVD); - if (*sqdepth < ((u32)uk_attrs->min_hw_wq_size << shift)) - *sqdepth = uk_attrs->min_hw_wq_size << shift; + if (*sqdepth < min_size) + *sqdepth = min_size; else if (*sqdepth > uk_attrs->max_hw_wq_quanta) return EINVAL; @@ -1608,10 +1607,12 @@ irdma_get_sqdepth(struct irdma_uk_attrs *uk_attrs, u32 sq_size, u8 shift, u32 *s int irdma_get_rqdepth(struct irdma_uk_attrs *uk_attrs, u32 rq_size, u8 shift, u32 *rqdepth) { + u32 min_size = (u32)uk_attrs->min_hw_wq_size << shift; + *rqdepth = irdma_round_up_wq((rq_size << shift) + IRDMA_RQ_RSVD); - if (*rqdepth < ((u32)uk_attrs->min_hw_wq_size << shift)) - *rqdepth = uk_attrs->min_hw_wq_size << shift; + if (*rqdepth < min_size) + *rqdepth = min_size; else if (*rqdepth > uk_attrs->max_hw_rq_quanta) return EINVAL; @@ -1644,41 +1645,16 @@ irdma_setup_connection_wqes(struct irdma_qp_uk *qp, { u16 move_cnt = 1; - if (qp->uk_attrs->feature_flags & IRDMA_FEATURE_RTS_AE) + if (info->start_wqe_idx) + move_cnt = info->start_wqe_idx; + else if (qp->uk_attrs->feature_flags & IRDMA_FEATURE_RTS_AE) move_cnt = 3; - qp->conn_wqes = move_cnt; IRDMA_RING_MOVE_HEAD_BY_COUNT_NOCHECK(qp->sq_ring, move_cnt); IRDMA_RING_MOVE_TAIL_BY_COUNT(qp->sq_ring, move_cnt); IRDMA_RING_MOVE_HEAD_BY_COUNT_NOCHECK(qp->initial_ring, move_cnt); } -/** - * irdma_uk_calc_shift_wq - calculate WQE shift for both SQ and RQ - * @ukinfo: qp initialization info - * @sq_shift: Returns shift of SQ - * @rq_shift: Returns shift of RQ - */ -void -irdma_uk_calc_shift_wq(struct irdma_qp_uk_init_info *ukinfo, u8 *sq_shift, - u8 *rq_shift) -{ - bool imm_support = ukinfo->uk_attrs->hw_rev >= IRDMA_GEN_2 ? true : false; - - irdma_get_wqe_shift(ukinfo->uk_attrs, - imm_support ? ukinfo->max_sq_frag_cnt + 1 : - ukinfo->max_sq_frag_cnt, - ukinfo->max_inline_data, sq_shift); - - irdma_get_wqe_shift(ukinfo->uk_attrs, ukinfo->max_rq_frag_cnt, 0, - rq_shift); - - if (ukinfo->uk_attrs->hw_rev == IRDMA_GEN_1) { - if (ukinfo->abi_ver > 4) - *rq_shift = IRDMA_MAX_RQ_WQE_SHIFT_GEN1; - } -} - /** * irdma_uk_calc_depth_shift_sq - calculate depth and shift for SQ size. * @ukinfo: qp initialization info @@ -1786,6 +1762,8 @@ irdma_uk_qp_init(struct irdma_qp_uk *qp, struct irdma_qp_uk_init_info *info) qp->wqe_ops = iw_wqe_uk_ops_gen_1; else qp->wqe_ops = iw_wqe_uk_ops; + qp->start_wqe_idx = info->start_wqe_idx; + return ret_code; } diff --git a/contrib/ofed/libirdma/irdma_umain.c b/contrib/ofed/libirdma/irdma_umain.c index 2902dd963e18..e8d27c31a0dc 100644 --- a/contrib/ofed/libirdma/irdma_umain.c +++ b/contrib/ofed/libirdma/irdma_umain.c @@ -48,7 +48,7 @@ /** * Driver version */ -char libirdma_version[] = "1.2.17-k"; +char libirdma_version[] = "1.2.36-k"; unsigned int irdma_dbg; diff --git a/contrib/ofed/libirdma/irdma_umain.h b/contrib/ofed/libirdma/irdma_umain.h index 1fa18dd7a847..269609f8c77f 100644 --- a/contrib/ofed/libirdma/irdma_umain.h +++ b/contrib/ofed/libirdma/irdma_umain.h @@ -96,7 +96,6 @@ struct irdma_cq_buf { LIST_ENTRY(irdma_cq_buf) list; struct irdma_cq_uk cq; struct verbs_mr vmr; - size_t buf_size; }; extern pthread_mutex_t sigusr1_wait_mutex; @@ -142,7 +141,6 @@ struct irdma_uqp { struct ibv_recv_wr *pend_rx_wr; struct irdma_qp_uk qp; enum ibv_qp_type qp_type; - struct irdma_sge *recv_sges; }; /* irdma_uverbs.c */ diff --git a/contrib/ofed/libirdma/irdma_user.h b/contrib/ofed/libirdma/irdma_user.h index 0f0aa30bec91..aeb6aa9feebd 100644 --- a/contrib/ofed/libirdma/irdma_user.h +++ b/contrib/ofed/libirdma/irdma_user.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB * - * Copyright (c) 2015 - 2022 Intel Corporation + * Copyright (c) 2015 - 2023 Intel Corporation * * 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 @@ -50,7 +50,7 @@ #define irdma_access_privileges u32 #define irdma_physical_fragment u64 #define irdma_address_list u64 * -#define irdma_sgl struct irdma_sge * +#define irdma_sgl struct ibv_sge * #define IRDMA_MAX_MR_SIZE 0x200000000000ULL @@ -80,96 +80,6 @@ #define IRDMA_OP_TYPE_REC_IMM 0x3f #define IRDMA_FLUSH_MAJOR_ERR 1 -#define IRDMA_SRQFLUSH_RSVD_MAJOR_ERR 0xfffe - -/* Async Events codes */ -#define IRDMA_AE_AMP_UNALLOCATED_STAG 0x0102 -#define IRDMA_AE_AMP_INVALID_STAG 0x0103 -#define IRDMA_AE_AMP_BAD_QP 0x0104 -#define IRDMA_AE_AMP_BAD_PD 0x0105 -#define IRDMA_AE_AMP_BAD_STAG_KEY 0x0106 -#define IRDMA_AE_AMP_BAD_STAG_INDEX 0x0107 -#define IRDMA_AE_AMP_BOUNDS_VIOLATION 0x0108 -#define IRDMA_AE_AMP_RIGHTS_VIOLATION 0x0109 -#define IRDMA_AE_AMP_TO_WRAP 0x010a -#define IRDMA_AE_AMP_FASTREG_VALID_STAG 0x010c -#define IRDMA_AE_AMP_FASTREG_MW_STAG 0x010d -#define IRDMA_AE_AMP_FASTREG_INVALID_RIGHTS 0x010e -#define IRDMA_AE_AMP_FASTREG_INVALID_LENGTH 0x0110 -#define IRDMA_AE_AMP_INVALIDATE_SHARED 0x0111 -#define IRDMA_AE_AMP_INVALIDATE_NO_REMOTE_ACCESS_RIGHTS 0x0112 -#define IRDMA_AE_AMP_INVALIDATE_MR_WITH_BOUND_WINDOWS 0x0113 -#define IRDMA_AE_AMP_MWBIND_VALID_STAG 0x0114 -#define IRDMA_AE_AMP_MWBIND_OF_MR_STAG 0x0115 -#define IRDMA_AE_AMP_MWBIND_TO_ZERO_BASED_STAG 0x0116 -#define IRDMA_AE_AMP_MWBIND_TO_MW_STAG 0x0117 -#define IRDMA_AE_AMP_MWBIND_INVALID_RIGHTS 0x0118 -#define IRDMA_AE_AMP_MWBIND_INVALID_BOUNDS 0x0119 -#define IRDMA_AE_AMP_MWBIND_TO_INVALID_PARENT 0x011a -#define IRDMA_AE_AMP_MWBIND_BIND_DISABLED 0x011b -#define IRDMA_AE_PRIV_OPERATION_DENIED 0x011c -#define IRDMA_AE_AMP_INVALIDATE_TYPE1_MW 0x011d -#define IRDMA_AE_AMP_MWBIND_ZERO_BASED_TYPE1_MW 0x011e -#define IRDMA_AE_AMP_FASTREG_INVALID_PBL_HPS_CFG 0x011f -#define IRDMA_AE_AMP_MWBIND_WRONG_TYPE 0x0120 -#define IRDMA_AE_AMP_FASTREG_PBLE_MISMATCH 0x0121 -#define IRDMA_AE_UDA_XMIT_DGRAM_TOO_LONG 0x0132 -#define IRDMA_AE_UDA_XMIT_BAD_PD 0x0133 -#define IRDMA_AE_UDA_XMIT_DGRAM_TOO_SHORT 0x0134 -#define IRDMA_AE_UDA_L4LEN_INVALID 0x0135 -#define IRDMA_AE_BAD_CLOSE 0x0201 -#define IRDMA_AE_RDMAP_ROE_BAD_LLP_CLOSE 0x0202 -#define IRDMA_AE_CQ_OPERATION_ERROR 0x0203 -#define IRDMA_AE_RDMA_READ_WHILE_ORD_ZERO 0x0205 -#define IRDMA_AE_STAG_ZERO_INVALID 0x0206 -#define IRDMA_AE_IB_RREQ_AND_Q1_FULL 0x0207 -#define IRDMA_AE_IB_INVALID_REQUEST 0x0208 -#define IRDMA_AE_WQE_UNEXPECTED_OPCODE 0x020a -#define IRDMA_AE_WQE_INVALID_PARAMETER 0x020b -#define IRDMA_AE_WQE_INVALID_FRAG_DATA 0x020c -#define IRDMA_AE_IB_REMOTE_ACCESS_ERROR 0x020d -#define IRDMA_AE_IB_REMOTE_OP_ERROR 0x020e -#define IRDMA_AE_WQE_LSMM_TOO_LONG 0x0220 -#define IRDMA_AE_DDP_INVALID_MSN_GAP_IN_MSN 0x0301 -#define IRDMA_AE_DDP_UBE_DDP_MESSAGE_TOO_LONG_FOR_AVAILABLE_BUFFER 0x0303 -#define IRDMA_AE_DDP_UBE_INVALID_DDP_VERSION 0x0304 -#define IRDMA_AE_DDP_UBE_INVALID_MO 0x0305 -#define IRDMA_AE_DDP_UBE_INVALID_MSN_NO_BUFFER_AVAILABLE 0x0306 -#define IRDMA_AE_DDP_UBE_INVALID_QN 0x0307 -#define IRDMA_AE_DDP_NO_L_BIT 0x0308 -#define IRDMA_AE_RDMAP_ROE_INVALID_RDMAP_VERSION 0x0311 -#define IRDMA_AE_RDMAP_ROE_UNEXPECTED_OPCODE 0x0312 -#define IRDMA_AE_ROE_INVALID_RDMA_READ_REQUEST 0x0313 -#define IRDMA_AE_ROE_INVALID_RDMA_WRITE_OR_READ_RESP 0x0314 -#define IRDMA_AE_ROCE_RSP_LENGTH_ERROR 0x0316 -#define IRDMA_AE_ROCE_EMPTY_MCG 0x0380 -#define IRDMA_AE_ROCE_BAD_MC_IP_ADDR 0x0381 -#define IRDMA_AE_ROCE_BAD_MC_QPID 0x0382 -#define IRDMA_AE_MCG_QP_PROTOCOL_MISMATCH 0x0383 -#define IRDMA_AE_INVALID_ARP_ENTRY 0x0401 -#define IRDMA_AE_INVALID_TCP_OPTION_RCVD 0x0402 -#define IRDMA_AE_STALE_ARP_ENTRY 0x0403 -#define IRDMA_AE_INVALID_AH_ENTRY 0x0406 -#define IRDMA_AE_LLP_CLOSE_COMPLETE 0x0501 -#define IRDMA_AE_LLP_CONNECTION_RESET 0x0502 -#define IRDMA_AE_LLP_FIN_RECEIVED 0x0503 -#define IRDMA_AE_LLP_RECEIVED_MARKER_AND_LENGTH_FIELDS_DONT_MATCH 0x0504 -#define IRDMA_AE_LLP_RECEIVED_MPA_CRC_ERROR 0x0505 -#define IRDMA_AE_LLP_SEGMENT_TOO_SMALL 0x0507 -#define IRDMA_AE_LLP_SYN_RECEIVED 0x0508 -#define IRDMA_AE_LLP_TERMINATE_RECEIVED 0x0509 -#define IRDMA_AE_LLP_TOO_MANY_RETRIES 0x050a -#define IRDMA_AE_LLP_TOO_MANY_KEEPALIVE_RETRIES 0x050b -#define IRDMA_AE_LLP_DOUBT_REACHABILITY 0x050c -#define IRDMA_AE_LLP_CONNECTION_ESTABLISHED 0x050e -#define IRDMA_AE_RESOURCE_EXHAUSTION 0x0520 -#define IRDMA_AE_RESET_SENT 0x0601 -#define IRDMA_AE_TERMINATE_SENT 0x0602 -#define IRDMA_AE_RESET_NOT_SENT 0x0603 -#define IRDMA_AE_LCE_QP_CATASTROPHIC 0x0700 -#define IRDMA_AE_LCE_FUNCTION_CATASTROPHIC 0x0701 -#define IRDMA_AE_LCE_CQ_CATASTROPHIC 0x0702 -#define IRDMA_AE_QP_SUSPEND_COMPLETE 0x0900 enum irdma_device_caps_const { IRDMA_WQE_SIZE = 4, @@ -201,8 +111,7 @@ enum irdma_device_caps_const { IRDMA_MAX_OUTBOUND_MSG_SIZE = 65537, /* 64K +1 */ IRDMA_MAX_INBOUND_MSG_SIZE = 65537, - IRDMA_MAX_PUSH_PAGE_COUNT = 1024, - IRDMA_MAX_PE_ENA_VF_COUNT = 32, + IRDMA_MAX_PE_ENA_VF_COUNT = 32, IRDMA_MAX_VF_FPM_ID = 47, IRDMA_MAX_SQ_PAYLOAD_SIZE = 2145386496, IRDMA_MAX_INLINE_DATA_SIZE = 101, @@ -229,12 +138,7 @@ enum irdma_flush_opcode { FLUSH_RETRY_EXC_ERR, FLUSH_MW_BIND_ERR, FLUSH_REM_INV_REQ_ERR, -}; - -enum irdma_qp_event_type { - IRDMA_QP_EVENT_CATASTROPHIC, - IRDMA_QP_EVENT_ACCESS_ERR, - IRDMA_QP_EVENT_REQ_ERR, + FLUSH_RNR_RETRY_EXC_ERR, }; enum irdma_cmpl_status { @@ -282,12 +186,6 @@ struct irdma_cq_uk; struct irdma_qp_uk_init_info; struct irdma_cq_uk_init_info; -struct irdma_sge { - irdma_tagged_offset tag_off; - u32 len; - irdma_stag stag; -}; - struct irdma_ring { volatile u32 head; volatile u32 tail; /* effective tail */ @@ -319,13 +217,13 @@ struct irdma_post_rq_info { struct irdma_rdma_write { irdma_sgl lo_sg_list; u32 num_lo_sges; - struct irdma_sge rem_addr; + struct ibv_sge rem_addr; }; struct irdma_rdma_read { irdma_sgl lo_sg_list; u32 num_lo_sges; - struct irdma_sge rem_addr; + struct ibv_sge rem_addr; }; struct irdma_bind_window { @@ -399,11 +297,6 @@ struct irdma_cq_poll_info { } stat; }; -struct qp_err_code { - enum irdma_flush_opcode flush_code; - enum irdma_qp_event_type event_type; -}; - int irdma_uk_inline_rdma_write(struct irdma_qp_uk *qp, struct irdma_post_sq_info *info, bool post_sq); int irdma_uk_inline_send(struct irdma_qp_uk *qp, @@ -426,9 +319,9 @@ int irdma_uk_stag_local_invalidate(struct irdma_qp_uk *qp, bool post_sq); struct irdma_wqe_uk_ops { - void (*iw_copy_inline_data)(u8 *dest, struct irdma_sge *sge_list, u32 num_sges, u8 polarity); + void (*iw_copy_inline_data)(u8 *dest, struct ibv_sge *sge_list, u32 num_sges, u8 polarity); u16 (*iw_inline_data_size_to_quanta)(u32 data_size); - void (*iw_set_fragment)(__le64 *wqe, u32 offset, struct irdma_sge *sge, + void (*iw_set_fragment)(__le64 *wqe, u32 offset, struct ibv_sge *sge, u8 valid); void (*iw_set_mw_bind_wqe)(__le64 *wqe, struct irdma_bind_window *op_info); @@ -444,8 +337,6 @@ int irdma_uk_cq_init(struct irdma_cq_uk *cq, struct irdma_cq_uk_init_info *info); int irdma_uk_qp_init(struct irdma_qp_uk *qp, struct irdma_qp_uk_init_info *info); -void irdma_uk_calc_shift_wq(struct irdma_qp_uk_init_info *ukinfo, u8 *sq_shift, - u8 *rq_shift); int irdma_uk_calc_depth_shift_sq(struct irdma_qp_uk_init_info *ukinfo, u32 *sq_depth, u8 *sq_shift); int irdma_uk_calc_depth_shift_rq(struct irdma_qp_uk_init_info *ukinfo, @@ -494,6 +385,7 @@ struct irdma_qp_uk { u8 rwqe_polarity; u8 rq_wqe_size; u8 rq_wqe_size_multiplier; + u8 start_wqe_idx; bool deferred_flag:1; bool push_mode:1; /* whether the last post wqe was pushed */ bool push_dropped:1; @@ -541,6 +433,7 @@ struct irdma_qp_uk_init_info { u32 sq_depth; u32 rq_depth; u8 first_sq_wq; + u8 start_wqe_idx; u8 type; u8 sq_shift; u8 rq_shift; @@ -574,75 +467,4 @@ int irdma_get_rqdepth(struct irdma_uk_attrs *uk_attrs, u32 rq_size, u8 shift, u3 void irdma_qp_push_wqe(struct irdma_qp_uk *qp, __le64 *wqe, u16 quanta, u32 wqe_idx, bool post_sq); void irdma_clr_wqes(struct irdma_qp_uk *qp, u32 qp_wqe_idx); - -static inline struct qp_err_code irdma_ae_to_qp_err_code(u16 ae_id) -{ - struct qp_err_code qp_err = { 0 }; - - switch (ae_id) { - case IRDMA_AE_AMP_BOUNDS_VIOLATION: - case IRDMA_AE_AMP_INVALID_STAG: - case IRDMA_AE_AMP_RIGHTS_VIOLATION: - case IRDMA_AE_AMP_UNALLOCATED_STAG: - case IRDMA_AE_AMP_BAD_PD: - case IRDMA_AE_AMP_BAD_QP: - case IRDMA_AE_AMP_BAD_STAG_KEY: - case IRDMA_AE_AMP_BAD_STAG_INDEX: - case IRDMA_AE_AMP_TO_WRAP: - case IRDMA_AE_PRIV_OPERATION_DENIED: - qp_err.flush_code = FLUSH_PROT_ERR; - qp_err.event_type = IRDMA_QP_EVENT_ACCESS_ERR; - break; - case IRDMA_AE_UDA_XMIT_BAD_PD: - case IRDMA_AE_WQE_UNEXPECTED_OPCODE: - qp_err.flush_code = FLUSH_LOC_QP_OP_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_UDA_XMIT_DGRAM_TOO_SHORT: - case IRDMA_AE_UDA_XMIT_DGRAM_TOO_LONG: - case IRDMA_AE_UDA_L4LEN_INVALID: - case IRDMA_AE_DDP_UBE_INVALID_MO: - case IRDMA_AE_DDP_UBE_DDP_MESSAGE_TOO_LONG_FOR_AVAILABLE_BUFFER: - qp_err.flush_code = FLUSH_LOC_LEN_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_AMP_INVALIDATE_NO_REMOTE_ACCESS_RIGHTS: - case IRDMA_AE_IB_REMOTE_ACCESS_ERROR: - qp_err.flush_code = FLUSH_REM_ACCESS_ERR; - qp_err.event_type = IRDMA_QP_EVENT_ACCESS_ERR; - break; - case IRDMA_AE_AMP_MWBIND_INVALID_RIGHTS: - case IRDMA_AE_AMP_MWBIND_BIND_DISABLED: - case IRDMA_AE_AMP_MWBIND_INVALID_BOUNDS: - case IRDMA_AE_AMP_MWBIND_VALID_STAG: - qp_err.flush_code = FLUSH_MW_BIND_ERR; - qp_err.event_type = IRDMA_QP_EVENT_ACCESS_ERR; - break; - case IRDMA_AE_LLP_TOO_MANY_RETRIES: - qp_err.flush_code = FLUSH_RETRY_EXC_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_IB_INVALID_REQUEST: - qp_err.flush_code = FLUSH_REM_INV_REQ_ERR; - qp_err.event_type = IRDMA_QP_EVENT_REQ_ERR; - break; - case IRDMA_AE_LLP_SEGMENT_TOO_SMALL: - case IRDMA_AE_LLP_RECEIVED_MPA_CRC_ERROR: - case IRDMA_AE_ROCE_RSP_LENGTH_ERROR: - case IRDMA_AE_IB_REMOTE_OP_ERROR: - qp_err.flush_code = FLUSH_REM_OP_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - case IRDMA_AE_LCE_QP_CATASTROPHIC: - qp_err.flush_code = FLUSH_FATAL_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - default: - qp_err.flush_code = FLUSH_GENERAL_ERR; - qp_err.event_type = IRDMA_QP_EVENT_CATASTROPHIC; - break; - } - - return qp_err; -} #endif /* IRDMA_USER_H */ diff --git a/contrib/ofed/libirdma/irdma_uverbs.c b/contrib/ofed/libirdma/irdma_uverbs.c index 962af399ed31..e52ce1cfa229 100644 --- a/contrib/ofed/libirdma/irdma_uverbs.c +++ b/contrib/ofed/libirdma/irdma_uverbs.c @@ -152,6 +152,7 @@ irdma_ualloc_pd(struct ibv_context *context) err_free: free(iwupd); + errno = err; return NULL; } @@ -163,7 +164,6 @@ err_free: int irdma_ufree_pd(struct ibv_pd *pd) { - struct irdma_uvcontext *iwvctx = container_of(pd->context, struct irdma_uvcontext, ibv_ctx); struct irdma_upd *iwupd; int ret; @@ -374,12 +374,12 @@ irdma_free_hw_buf(void *buf, size_t size) * @cqe_64byte_ena: enable 64byte cqe */ static inline int -get_cq_size(int ncqe, u8 hw_rev, bool cqe_64byte_ena) +get_cq_size(int ncqe, u8 hw_rev) { ncqe++; /* Completions with immediate require 1 extra entry */ - if (!cqe_64byte_ena && hw_rev > IRDMA_GEN_1) + if (hw_rev > IRDMA_GEN_1) ncqe *= 2; if (ncqe < IRDMA_U_MINCQ_SIZE) @@ -388,11 +388,8 @@ get_cq_size(int ncqe, u8 hw_rev, bool cqe_64byte_ena) return ncqe; } -static inline size_t get_cq_total_bytes(u32 cq_size, bool cqe_64byte_ena){ - if (cqe_64byte_ena) - return roundup(cq_size * sizeof(struct irdma_extended_cqe), IRDMA_HW_PAGE_SIZE); - else - return roundup(cq_size * sizeof(struct irdma_cqe), IRDMA_HW_PAGE_SIZE); +static inline size_t get_cq_total_bytes(u32 cq_size) { + return roundup(cq_size * sizeof(struct irdma_cqe), IRDMA_HW_PAGE_SIZE); } /** @@ -420,7 +417,6 @@ ucreate_cq(struct ibv_context *context, u32 cq_pages; int ret, ncqe; u8 hw_rev; - bool cqe_64byte_ena; iwvctx = container_of(context, struct irdma_uvcontext, ibv_ctx); uk_attrs = &iwvctx->uk_attrs; @@ -454,11 +450,10 @@ ucreate_cq(struct ibv_context *context, return NULL; } - cqe_64byte_ena = uk_attrs->feature_flags & IRDMA_FEATURE_64_BYTE_CQE ? true : false; - info.cq_size = get_cq_size(attr_ex->cqe, hw_rev, cqe_64byte_ena); + info.cq_size = get_cq_size(attr_ex->cqe, hw_rev); + total_size = get_cq_total_bytes(info.cq_size); iwucq->comp_vector = attr_ex->comp_vector; LIST_INIT(&iwucq->resize_list); - total_size = get_cq_total_bytes(info.cq_size, cqe_64byte_ena); cq_pages = total_size >> IRDMA_HW_PAGE_SHIFT; if (!(uk_attrs->feature_flags & IRDMA_FEATURE_CQ_RESIZE)) @@ -528,8 +523,6 @@ ucreate_cq(struct ibv_context *context, info.cq_id = resp.cq_id; /* Do not report the CQE's reserved for immediate and burned by HW */ iwucq->verbs_cq.cq.cqe = ncqe; - if (cqe_64byte_ena) - info.avoid_mem_cflct = true; info.cqe_alloc_db = (u32 *)((u8 *)iwvctx->db + IRDMA_DB_CQ_OFFSET); irdma_uk_cq_init(&iwucq->cq, &info); return &iwucq->verbs_cq.cq_ex; @@ -585,7 +578,7 @@ static void irdma_free_cq_buf(struct irdma_cq_buf *cq_buf) { ibv_cmd_dereg_mr(&cq_buf->vmr.ibv_mr); - irdma_free_hw_buf(cq_buf->cq.cq_base, cq_buf->buf_size); + irdma_free_hw_buf(cq_buf->cq.cq_base, get_cq_total_bytes(cq_buf->cq.cq_size)); free(cq_buf); } @@ -1322,6 +1315,8 @@ irdma_vmapped_qp(struct irdma_uqp *iwuqp, struct ibv_pd *pd, cmd.user_wqe_bufs = (__u64) ((uintptr_t)info->sq); cmd.user_compl_ctx = (__u64) (uintptr_t)&iwuqp->qp; + cmd.comp_mask |= IRDMA_CREATE_QP_USE_START_WQE_IDX; + ret = ibv_cmd_create_qp(pd, &iwuqp->ibv_qp, attr, &cmd.ibv_cmd, sizeof(cmd), &resp.ibv_resp, sizeof(struct irdma_ucreate_qp_resp)); @@ -1331,6 +1326,8 @@ irdma_vmapped_qp(struct irdma_uqp *iwuqp, struct ibv_pd *pd, info->sq_size = resp.actual_sq_size; info->rq_size = resp.actual_rq_size; info->first_sq_wq = legacy_mode ? 1 : resp.lsmm; + if (resp.comp_mask & IRDMA_CREATE_QP_USE_START_WQE_IDX) + info->start_wqe_idx = resp.start_wqe_idx; info->qp_caps = resp.qp_caps; info->qp_id = resp.qp_id; iwuqp->irdma_drv_opt = resp.irdma_drv_opt; @@ -1379,6 +1376,8 @@ irdma_ucreate_qp(struct ibv_pd *pd, if (attr->cap.max_send_sge > uk_attrs->max_hw_wq_frags || attr->cap.max_recv_sge > uk_attrs->max_hw_wq_frags || + attr->cap.max_send_wr > uk_attrs->max_hw_wq_quanta || + attr->cap.max_recv_wr > uk_attrs->max_hw_rq_quanta || attr->cap.max_inline_data > uk_attrs->max_hw_inline) { errno = EINVAL; return NULL; @@ -1430,18 +1429,12 @@ irdma_ucreate_qp(struct ibv_pd *pd, attr->cap.max_recv_wr = info.rq_size; } - iwuqp->recv_sges = calloc(attr->cap.max_recv_sge, sizeof(*iwuqp->recv_sges)); - if (!iwuqp->recv_sges) { - status = errno; /* preserve errno */ - goto err_destroy_lock; - } - info.wqe_alloc_db = (u32 *)iwvctx->db; info.legacy_mode = iwvctx->legacy_mode; info.sq_wrtrk_array = calloc(info.sq_depth, sizeof(*info.sq_wrtrk_array)); if (!info.sq_wrtrk_array) { status = errno; /* preserve errno */ - goto err_free_rsges; + goto err_destroy_lock; } info.rq_wrid_array = calloc(info.rq_depth, sizeof(*info.rq_wrid_array)); @@ -1475,8 +1468,6 @@ err_free_rq_wrid: free(info.rq_wrid_array); err_free_sq_wrtrk: free(info.sq_wrtrk_array); -err_free_rsges: - free(iwuqp->recv_sges); err_destroy_lock: pthread_spin_destroy(&iwuqp->lock); err_free_qp: @@ -1635,7 +1626,6 @@ irdma_udestroy_qp(struct ibv_qp *qp) free(iwuqp->qp.rq_wrid_array); irdma_free_hw_buf(iwuqp->qp.sq_base, iwuqp->buf_size); - free(iwuqp->recv_sges); free(iwuqp); return 0; @@ -1645,26 +1635,6 @@ err: return ret; } -/** - * irdma_copy_sg_list - copy sg list for qp - * @sg_list: copied into sg_list - * @sgl: copy from sgl - * @num_sges: count of sg entries - * @max_sges: count of max supported sg entries - */ -static void -irdma_copy_sg_list(struct irdma_sge *sg_list, struct ibv_sge *sgl, - int num_sges) -{ *** 2466 LINES SKIPPED *** From nobody Fri Feb 23 22:26:49 2024 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 4ThPkd4NHbz5Bdjj; Fri, 23 Feb 2024 22:26: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 4ThPkd3712z4BHJ; Fri, 23 Feb 2024 22:26:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708727209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qu0yPeswvSzcLNSIF/b4a3SfO32pE58mnbByYQwP/sA=; b=H+EMWcvsjminUFY/homMgKWHlC5p5vcYCKXMsueRyzHBkety5P/5vc/FwEOzpfdiHlEN6+ Gj4az1ZIPlc7jnKwQr9ayAHKuRL5hCeBtxFvuzzkzXXjpymeSkjzR/xJMzXp1CIMX9rZ++ EHLXEHfoeZR1hZHfOjv07cfVia6jcJsHkEd73IozTfDIU9aiK+4NJP6oxfrx+fvh8sPFk6 QnbSdT8pmlPWofmbYRQ97lDj2MtwNrOurvGLN9fTYb9CHk7LZi5QNT+ZsUD3Cyww34OhrY Z/UT2fo4wxLCz/TqzAXdxGcY//TarU/6kKjI0DohNDNGa39YIBix0KW/VA4Y9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708727209; a=rsa-sha256; cv=none; b=PXQm0mZvoRmZZXyqmAAtPdj+pXrKVEw6qrmmB3cjSTI6n/aRp68JPsi1DxFu8YhkmVG4I+ 5HY+N0bsT0aVEYIvPfroh360/bslTb74MsIbx0ngX2OAkjBwWlkNrCXPYeT7xZtSV7NhDv 5JPoiXLI8b7m5FDoIQyEgn8Q/lgS6H0YkcNsxtcL4dkISY/RGbVjjW7suKmoOT5pmSZU1p +ueGF4RCm4q31mt6VSaQW1xEImgoXJCwkMXDpQRtM1PVHin2mJiLk3g82OlKShJhvso+Q/ PDhhWyR1ggUC3V25YcRqyGxwNmZv0S+HhCmqaQB3guRtGgeAV7cZFyxm6ihxiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708727209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qu0yPeswvSzcLNSIF/b4a3SfO32pE58mnbByYQwP/sA=; b=Un/UQpMv+QsFQ8eKwTEX/tcIVqlXwAyVNv8jupW+ObpMmZthpUeL0QtGz8EWKK5KCZnofO Xjyv1cRuDhFdvEd1jQUkuXbH76008cijHyhcHoHQUiFeWSewHxdIDGfvW4gsTwLZuIBG5O KdqVeO59SPV7B7a8m42xsKPdUUjoGVBNzjsC6Q8RtJ64rX5gj89Ao5MZhxC5UXcjdgxklx 9pOKNX+dZbmqwc8KhvtO01PWc+KfF1KRsemIVs/uMT4cDTgIDMZVlYLzoi8uTONLQyff6E 9Zfh2CEgUagVSjYnONjRSk1umABWlZLN+2I+Kvvi35aD684ZjKheTe0+9PLLEg== 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 4ThPkd2C9LzZl3; Fri, 23 Feb 2024 22:26: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 41NMQnX8077546; Fri, 23 Feb 2024 22:26:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NMQnWH077543; Fri, 23 Feb 2024 22:26:49 GMT (envelope-from git) Date: Fri, 23 Feb 2024 22:26:49 GMT Message-Id: <202402232226.41NMQnWH077543@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: c5698afcd58b - main - libsys: remove duplicate, commented out code 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: c5698afcd58b6610f7ad022a7bff9debf3ff8b66 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=c5698afcd58b6610f7ad022a7bff9debf3ff8b66 commit c5698afcd58b6610f7ad022a7bff9debf3ff8b66 Author: Brooks Davis AuthorDate: 2024-02-23 18:01:18 +0000 Commit: Brooks Davis CommitDate: 2024-02-23 22:25:35 +0000 libsys: remove duplicate, commented out code --- lib/libsys/Makefile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/libsys/Makefile b/lib/libsys/Makefile index aefa19f35193..a1c6a64194d0 100644 --- a/lib/libsys/Makefile +++ b/lib/libsys/Makefile @@ -51,11 +51,6 @@ LIBADD+= compiler_rt LIBADD+= ssp_nonshared .endif -#.if ${MK_SSP} != "no" && \ -# (${LIBC_ARCH} == "i386" || ${LIBC_ARCH:Mpowerpc*} != "") -#LIBADD+= ssp_nonshared -#.endif - # Define (empty) variables so that make doesn't give substitution # errors if the included makefiles don't change these: MDASM= From nobody Fri Feb 23 23:54:44 2024 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 4ThRh43RXPz5Bmfb; Fri, 23 Feb 2024 23:54: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 4ThRh43F5Dz4ND6; Fri, 23 Feb 2024 23:54:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708732484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LM3Dr18qsg0lS4HWbN3mR9y3Mj4unlzTD3E8qroOIPc=; b=JGQwCtPGdHPGxA84gSZNG+neah11ekJPjSChra6RjjdGqOzOOQTIu3ggWxosgftBa6ydJY wWVhn5btkuqmKZCbYu+rK4IpqEE6BhQ4bnTQrUy3j+Ui76XlXxAs2+MkAJzx1SeDQep5+s 4Pr+K/34MjxdP6MfHpBJp9l/z36i6nQXtRf7xXjIYATTg3JoppxwBFAIvfb3WcgLp3dLbk mSjK8dB74oZ18n6EPrA7lBnSaYEumT3uGYMyDPIYtQWkFJMStuMOzWwuhDAhmDcx7LLOUI 0IQqHnQJ47roDyIN7lqeigwyY6HU8UAg6CzAVfa+ZwVEXoIQ5CVU03aFGTXvng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708732484; a=rsa-sha256; cv=none; b=IgGuA0RcAQ9qx2XOM/bz8G6HnW42A/kguAeuI5yftHxM5rjIbmQa1msCG7anVuUI6EwqMc xcCqtH3VGmb7vqnl1fJ8GUjMTiK/3S1orRQ3G7ADfjaIpPbbV9HjkL1rEgwcQ49XUByKAl CCFmnuZv4noIAKd2UopDqNbSrpo+3cPLAEWnVwaYrWZ/gN/KtRLG+8F1g47cM/ONjppLoz 10j9ktPdFcOLZNaQkB7ARLT7LtOJ6WkFKz4maxDBYGCI5UqXnePWMMAi1pDJsJxYD5ZbYh NfnkhzfUVBndBdX55Qc8lRUuXSep2M9uSuHOqUD5MbcM/SqEjM6oxVwkTm37jA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708732484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LM3Dr18qsg0lS4HWbN3mR9y3Mj4unlzTD3E8qroOIPc=; b=P3keKJGMQXAaM0ZptLIXhycKG61Uj4T+jIzs5NvFpSks+dTAwEJ02auaat5H1R3TVUwixC Ex+Wxsa/7V5TLLf/aaO37jcWvYRDe9JjO25rp9cFBv16Sy8OHNxwJx/inXRoSbQc0xgTlH bii4BWKbrs3jn9oIuTrSnZyzCnf2tuyk9vzRjAmrAY7t0SnAdNZ5iRUUYnvmVf92tPystT VBWT5WQCdNEMeOrF3oxPL+Nd1IULNeACKmfx0jS+PXPwSunX+jjeCbymRe7chF47+oxKJM oJlIxSTtsPzMtLdCg6pOHhYvtBjFXOHs8PJ9q6IPOIqAhMDOO/5OofvnrZXwSw== 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 4ThRh42KMhzd3h; Fri, 23 Feb 2024 23:54: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 41NNsiUI029399; Fri, 23 Feb 2024 23:54:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41NNsiDD029396; Fri, 23 Feb 2024 23:54:44 GMT (envelope-from git) Date: Fri, 23 Feb 2024 23:54:44 GMT Message-Id: <202402232354.41NNsiDD029396@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: 0112f8c4a88e - main - posixmqcontrol(1): manage posix message queues 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: 0112f8c4a88e75342bdb6b9815fa220c5f645aa0 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0112f8c4a88e75342bdb6b9815fa220c5f645aa0 commit 0112f8c4a88e75342bdb6b9815fa220c5f645aa0 Author: Rick Parrish AuthorDate: 2024-02-22 12:33:12 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-23 23:08:48 +0000 posixmqcontrol(1): manage posix message queues Reviewed by: kib, paumma MFC after: 1 week Differential revision: https://reviews.freebsd.org/D43845 --- usr.bin/Makefile | 1 + usr.bin/posixmqcontrol/Makefile | 4 + usr.bin/posixmqcontrol/posixmqcontrol.1 | 180 +++++ usr.bin/posixmqcontrol/posixmqcontrol.c | 924 +++++++++++++++++++++++ usr.bin/posixmqcontrol/posixmqcontroltest8qs.sh | 50 ++ usr.bin/posixmqcontrol/posixmqcontroltest8x64.sh | 99 +++ usr.bin/posixmqcontrol/posixmqcontroltestsane.sh | 28 + 7 files changed, 1286 insertions(+) diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 5cccf1903471..84b7c4dc4dec 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -110,6 +110,7 @@ SUBDIR= alias \ patch \ pathchk \ perror \ + posixmqcontrol \ posixshmcontrol \ pr \ printenv \ diff --git a/usr.bin/posixmqcontrol/Makefile b/usr.bin/posixmqcontrol/Makefile new file mode 100644 index 000000000000..3cbfa8557625 --- /dev/null +++ b/usr.bin/posixmqcontrol/Makefile @@ -0,0 +1,4 @@ +PROG= posixmqcontrol +LIBADD= rt + +.include diff --git a/usr.bin/posixmqcontrol/posixmqcontrol.1 b/usr.bin/posixmqcontrol/posixmqcontrol.1 new file mode 100644 index 000000000000..ec60230aac6e --- /dev/null +++ b/usr.bin/posixmqcontrol/posixmqcontrol.1 @@ -0,0 +1,180 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2024 Rick Parrish . +.\" +.\" 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 AUTHORS 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 AUTHORS 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. +.\" +.Dd February 19, 2024 +.Dt POSIXMQCONTROL 1 +.Os +.Sh NAME +.Nm posixmqcontrol +.Nd Control POSIX mqueuefs message queues +.Sh SYNOPSIS +.Nm +.Ar create +.Fl q Ar queue +.Fl s Ar size +.Fl d Ar depth +.Op Fl m Ar mode +.Op Fl g Ar group +.Op Fl u Ar user +.Nm +.Ar info +.Fl q Ar queue +.Nm +.Ar recv +.Fl q Ar queue +.Nm +.Ar rm +.Fl q Ar queue +.Nm +.Ar send +.Fl q Ar queue +.Fl c Ar content +.Op Fl p Ar priority +.Sh DESCRIPTION +The +.Nm +command allows separating POSIX message queue administration from application +stack. +Defining and adjusting queue attributes can be done without touching +application code. +It allows creating queues, inspecting queue metadata, altering group and user +access to queues, dumping queue contents, and unlinking queues. +.Pp +Unlinking removes the name from the system and frees underlying memory. +.Pp +The maximum message size, maximum queue size, and current queue size are +displayed by the +.Ic info +subcommand. This output is similar to running +.Ic cat +on a mqueuefs queue mounted under a mount point. +This utility requires the +.Ic mqueuefs +kernel module to be loaded but does not require +.Ic mqueuefs +to be mounted as a file system. +.Pp +The following subcommands are provided: +.Bl -tag -width truncate +.It Ic create +Create the named queues, if they do not already exist. +More than one queue name may be created. The same maximum queue depth and +maximum message size are used to create all queues. +If a queue exists, then depth and size are optional. +.Pp +The required +.Ar size +and +.Ar depth +arguments specify the maximum message size (bytes per message) and maximum queue +size (depth or number of messages in the queue). +The optional numerical +.Ar mode +argument specifies the initial access mode. +If the queue exists but does not match the requested size and depth, this +utility will attempt to recreate the queue by first unlinking and then creating +it. +This will fail if the queue is not empty or is opened by other processes. +.It Ic rm +Unlink the queues specified - one attempt per queue. +Failure to unlink one queue does not stop this sub-command from attempting to +unlink the others. +.It Ic info +For each named queue, dispay the maximum message size, maximum queue size, +current queue depth, user owner id, group owner id, and mode permission bits. +.It Ic recv +Wait for a message from a single named queue and display the message to +standard output. +.It Ic send +Send messages to one or more named queues. +If multiple messages and multiple queues are specified, the utility attempts to +send all messages to all queues. +The optional -p priority, if omitted, defaults to MQ_PRIO_MAX / 2 or medium +priority. +.El +.Sh NOTES +A change of queue geometry (maximum message size and/or maximum number of +messages) requires destroying and re-creating the queue. +As a safety feature, +the create subcommand refuses to destroy a non-empty queue. +If you use the rm subcommand to destroy a queue, any queued messages are lost. +To avoid down-time when altering queue attributes, consider creating a new +queue and configure reading applications to drain both new and old queues. +Retire the old queue once all writers have been updated to write to the new +queue. +.Sh EXIT STATUS +.Ex -std +.Bl -bullet +.It +EX_NOTAVAILABLE usually means the mqueuefs kernel module is not loaded. +.It +EX_USAGE reports one or more incorrect parameters. +.El +.Sh EXAMPLES +.Bl -bullet +.It +To retrieve the current message from a named queue, +.Pa /1 , +use the command +.Dl "posixmqcontrol recv -q /1" +.It +To create a queue with the name +.Pa /2 +with maximum message size 100 and maximum queue depth 10, +use the command +.Dl "posixmqcontrol create -q /2 -s 100 -d 10" +.It +To send a message to a queue with the name +.Pa /3 +use the command +.Dl "posixmqcontrol send -q /3 -c 'some choice words.'" +.It +To examine attributes of a queue named +.Pa /4 +use the command +.Dl "posixmqcontrol info -q /4" +.El +.Sh SEE ALSO +.Xr mq_open 2 , +.Xr mq_getattr 2 , +.Xr mq_receive 2 , +.Xr mq_send 2 , +.Xr mq_setattr 2 , +.Xr mq_unlink 2 , +.Xr mqueuefs 5 +.Sh BUGS +mq_timedsend and mq_timedrecv are not implemented. +info reports a worst-case estimate for QSIZE. +.Sh HISTORY +The +.Nm +command appeared in +.Fx 15.0 . +.Sh AUTHORS +The +.Nm +command and this manual page were written by +.An Rick Parrish Aq Mt unitrunker@unitrunker.net. diff --git a/usr.bin/posixmqcontrol/posixmqcontrol.c b/usr.bin/posixmqcontrol/posixmqcontrol.c new file mode 100644 index 000000000000..c965b41a1dfb --- /dev/null +++ b/usr.bin/posixmqcontrol/posixmqcontrol.c @@ -0,0 +1,924 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Rick Parrish . + * + * 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 +#include +#include +#include +#include + +struct Creation { + /* true if the queue exists. */ + bool exists; + /* true if a mode value was specified. */ + bool set_mode; + /* access mode with rwx permission bits. */ + mode_t mode; + /* maximum queue depth. default to an invalid depth. */ + long depth; + /* maximum message size. default to an invalid size. */ + long size; + /* true for blocking I/O and false for non-blocking I/O. */ + bool block; + /* true if a group ID was specified. */ + bool set_group; + /* group ID. */ + gid_t group; + /* true if a user ID was specified. */ + bool set_user; + /* user ID. */ + uid_t user; +}; + +struct element { + STAILQ_ENTRY(element) links; + const char *text; +}; + +static struct element * +malloc_element(const char *context) +{ + struct element *item = malloc(sizeof(struct element)); + + if (item == NULL) + /* the only non-EX_* prefixed exit code. */ + err(1, "malloc(%s)", context); + return (item); +} + +static STAILQ_HEAD(tqh, element) + queues = STAILQ_HEAD_INITIALIZER(queues), + contents = STAILQ_HEAD_INITIALIZER(contents); +/* send defaults to medium priority. */ +static long priority = MQ_PRIO_MAX / 2; +static struct Creation creation = { + .exists = false, + .set_mode = false, + .mode = 0755, + .depth = -1, + .size = -1, + .block = true, + .set_group = false, + .group = 0, + .set_user = false, + .user = 0 +}; +static const mqd_t fail = (mqd_t)-1; +static const mode_t accepted_mode_bits = + S_IRWXU | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISTXT; + +/* OPTIONS parsing utilitarian */ + +static void +parse_long(const char *text, long *capture, const char *knob, const char *name) +{ + char *cursor = NULL; + long value = strtol(text, &cursor, 10); + + if (cursor > text && *cursor == 0) { + *capture = value; + } else { + warnx("%s %s invalid format [%s].", knob, name, text); + } +} + +static void +parse_unsigned(const char *text, bool *set, + unsigned *capture, const char *knob, const char *name) +{ + char *cursor = NULL; + unsigned value = strtoul(text, &cursor, 8); + + if (cursor > text && *cursor == 0) { + *set = true; + *capture = value; + } else { + warnx("%s %s format [%s] ignored.", knob, name, text); + } +} + +static bool +sane_queue(const char *queue) +{ + int size = 0; + + if (queue[size] != '/') { + warnx("queue name [%-.*s] must start with '/'.", NAME_MAX, queue); + return (false); + } + + for (size++; queue[size] != 0 && size < NAME_MAX; size++) { + if (queue[size] == '/') { + warnx("queue name [%-.*s] - only one '/' permitted.", + NAME_MAX, queue); + return (false); + } + } + + if (size == NAME_MAX && queue[size] != 0) { + warnx("queue name [%-.*s...] may not be longer than %d.", + NAME_MAX, queue, NAME_MAX); + return (false); + } + return (true); +} + +/* OPTIONS parsers */ + +static void +parse_block(const char *text) +{ + if (strcmp(text, "true") == 0 || strcmp(text, "yes") == 0) { + creation.block = true; + } else if (strcmp(text, "false") == 0 || strcmp(text, "no") == 0) { + creation.block = false; + } else { + char *cursor = NULL; + long value = strtol(text, &cursor, 10); + if (cursor > text) { + creation.block = value != 0; + } else { + warnx("bad -b block format [%s] ignored.", text); + } + } +} + +static void +parse_content(const char *content) +{ + struct element *n1 = malloc_element("content"); + + n1->text = content; + STAILQ_INSERT_TAIL(&contents, n1, links); +} + +static void +parse_depth(const char *text) +{ + parse_long(text, &creation.depth, "-d", "depth"); +} + +static void +parse_group(const char *text) +{ + struct group *entry = getgrnam(text); + + if (entry == NULL) { + parse_unsigned(text, &creation.set_group, + &creation.group, "-g", "group"); + } else { + creation.set_group = true; + creation.group = entry->gr_gid; + } +} + +static void +parse_mode(const char *text) +{ + char *cursor = NULL; + long value = strtol(text, &cursor, 8); + + // verify only accepted mode bits are set. + if (cursor > text && *cursor == 0 && (value & accepted_mode_bits) == value) { + creation.set_mode = true; + creation.mode = (mode_t)value; + } else { + warnx("impossible -m mode value [%s] ignored.", text); + } +} + +static void +parse_priority(const char *text) +{ + char *cursor = NULL; + long value = strtol(text, &cursor, 10); + + if (cursor > text && *cursor == 0) { + if (value >= 0 && value < MQ_PRIO_MAX) { + priority = value; + } else { + warnx("bad -p priority range [%s] ignored.", text); + } + } else { + warnx("bad -p priority format [%s] ignored.", text); + } +} + +static void +parse_queue(const char *queue) +{ + if (sane_queue(queue)) { + struct element *n1 = malloc_element("queue name"); + + n1->text = queue; + STAILQ_INSERT_TAIL(&queues, n1, links); + } +} + +static void +parse_single_queue(const char *queue) +{ + if (sane_queue(queue)) { + if (STAILQ_EMPTY(&queues)) { + struct element *n1 = malloc_element("queue name"); + + n1->text = queue; + STAILQ_INSERT_TAIL(&queues, n1, links); + } else + warnx("ignoring extra -q queue [%s].", queue); + } +} + +static void +parse_size(const char *text) +{ + parse_long(text, &creation.size, "-s", "size"); +} + +static void +parse_user(const char *text) +{ + struct passwd *entry = getpwnam(text); + if (entry == NULL) { + parse_unsigned(text, &creation.set_user, + &creation.user, "-u", "user"); + } else { + creation.set_user = true; + creation.user = entry->pw_uid; + } +} + +/* OPTIONS validators */ + +static bool +validate_always_true(void) +{ + return (true); +} + +static bool +validate_content(void) +{ + bool valid = !STAILQ_EMPTY(&contents); + + if (!valid) + warnx("no content to send."); + return (valid); +} + +static bool +validate_depth(void) +{ + bool valid = creation.exists || creation.depth > 0; + + if (!valid) + warnx("-d maximum queue depth not provided."); + return (valid); +} + +static bool +validate_queue(void) +{ + bool valid = !STAILQ_EMPTY(&queues); + + if (!valid) + warnx("missing -q, or no sane queue name given."); + return (valid); +} + +static bool +validate_single_queue(void) +{ + bool valid = !STAILQ_EMPTY(&queues) && + STAILQ_NEXT(STAILQ_FIRST(&queues), links) == NULL; + + if (!valid) + warnx("expected one queue."); + return (valid); +} + +static bool +validate_size(void) +{ + bool valid = creation.exists || creation.size > 0; + + if (!valid) + warnx("-s maximum message size not provided."); + return (valid); +} + +/* OPTIONS table handling. */ + +struct Option { + /* points to array of string pointers terminated by a null pointer. */ + const char **pattern; + /* parse argument. */ + void (*parse)(const char *); + /* + * displays an error and returns false if this parameter is not valid. + * returns true otherwise. + */ + bool (*validate)(void); +}; + +/* + * parse options by table. + * index - current index into argv list. + * argc, argv - command line parameters. + * options - null terminated list of pointers to options. + */ +static void +parse_options(int index, int argc, + const char *argv[], const struct Option **options) +{ + while ((index + 1) < argc) { + const struct Option **cursor = options; + bool match = false; + while (*cursor != NULL && !match) { + const struct Option *option = cursor[0]; + const char **pattern = option->pattern; + + while (*pattern != NULL && !match) { + const char *knob = *pattern; + + match = strcmp(knob, argv[index]) == 0; + if (!match) + pattern++; + } + + if (match) { + option->parse(argv[index + 1]); + index += 2; + break; + } + cursor++; + } + + if (!match && index < argc) { + warnx("skipping [%s].", argv[index]); + index++; + } + } + + if (index < argc) { + warnx("skipping [%s].", argv[index]); + } +} + +/* options - null terminated list of pointers to options. */ +static bool +validate_options(const struct Option **options) +{ + bool valid = true; + + while (*options != NULL) { + const struct Option *option = options[0]; + + if (!option->validate()) + valid = false; + options++; + } + return (valid); +} + +/* SUBCOMMANDS */ + +/* + * queue: name of queue to be created. + * q_creation: creation parameters (copied by value). + */ +static int +create(const char *queue, struct Creation q_creation) +{ + int flags = O_RDWR; + struct mq_attr stuff = { + .mq_curmsgs = 0, + .mq_maxmsg = q_creation.depth, + .mq_msgsize = q_creation.size, + .mq_flags = 0 + }; + + if (!q_creation.block) { + flags |= O_NONBLOCK; + stuff.mq_flags |= O_NONBLOCK; + } + + mqd_t handle = mq_open(queue, flags); + q_creation.exists = handle != fail; + if (!q_creation.exists) { + /* + * apply size and depth checks here. + * if queue exists, we can default to existing depth and size. + * but for a new queue, we require that input. + */ + if (validate_size() && validate_depth()) { + /* no need to re-apply mode. */ + q_creation.set_mode = false; + flags |= O_CREAT; + handle = mq_open(queue, flags, q_creation.mode, &stuff); + } + } + + if (handle == fail) { + errno_t what = errno; + + warnc(what, "mq_open(create)"); + return (what); + } + +#ifdef __FreeBSD__ + /* + * undocumented. + * See https://bugs.freebsd.org/bugzilla//show_bug.cgi?id=273230 + */ + int fd = mq_getfd_np(handle); + + if (fd < 0) { + errno_t what = errno; + + warnc(what, "mq_getfd_np(create)"); + mq_close(handle); + return (what); + } + struct stat status = {0}; + int result = fstat(fd, &status); + if (result != 0) { + errno_t what = errno; + + warnc(what, "fstat(create)"); + mq_close(handle); + return (what); + } + + /* do this only if group and / or user given. */ + if (q_creation.set_group || q_creation.set_user) { + q_creation.user = + q_creation.set_user ? q_creation.user : status.st_uid; + q_creation.group = + q_creation.set_group ? q_creation.group : status.st_gid; + result = fchown(fd, q_creation.user, q_creation.group); + if (result != 0) { + errno_t what = errno; + + warnc(what, "fchown(create)"); + mq_close(handle); + return (what); + } + } + + /* do this only if altering mode of an existing queue. */ + if (q_creation.exists && q_creation.set_mode && + q_creation.mode != (status.st_mode & accepted_mode_bits)) { + result = fchmod(fd, q_creation.mode); + if (result != 0) { + errno_t what = errno; + + warnc(what, "fchmod(create)"); + mq_close(handle); + return (what); + } + } +#endif /* __FreeBSD__ */ + + return (mq_close(handle)); +} + +/* queue: name of queue to be removed. */ +static int +rm(const char *queue) +{ + int result = mq_unlink(queue); + + if (result != 0) { + errno_t what = errno; + + warnc(what, "mq_unlink"); + return (what); + } + + return (result); +} + +/* Return the display character for non-zero mode. */ +static char +dual(mode_t mode, char display) +{ + return (mode != 0 ? display : '-'); +} + +/* Select one of four display characters based on mode and modifier. */ +static char +quad(mode_t mode, mode_t modifier) +{ + static const char display[] = "-xSs"; + unsigned index = 0; + if (mode != 0) + index += 1; + if (modifier) + index += 2; + return (display[index]); +} + +/* queue: name of queue to be inspected. */ +static int +info(const char *queue) +{ + mqd_t handle = mq_open(queue, O_RDONLY); + + if (handle == fail) { + errno_t what = errno; + + warnc(what, "mq_open(info)"); + return (what); + } + + struct mq_attr actual; + + int result = mq_getattr(handle, &actual); + if (result != 0) { + errno_t what = errno; + + warnc(what, "mq_getattr(info)"); + return (what); + } + + fprintf(stdout, + "queue: '%s'\nQSIZE: %lu\nMSGSIZE: %ld\nMAXMSG: %ld\n" + "CURMSG: %ld\nflags: %03ld\n", + queue, actual.mq_msgsize * actual.mq_curmsgs, actual.mq_msgsize, + actual.mq_maxmsg, actual.mq_curmsgs, actual.mq_flags); +#ifdef __FreeBSD__ + + int fd = mq_getfd_np(handle); + struct stat status; + + result = fstat(fd, &status); + if (result != 0) { + warn("fstat(info)"); + } else { + mode_t mode = status.st_mode; + + fprintf(stdout, "UID: %u\nGID: %u\n", status.st_uid, status.st_gid); + fprintf(stdout, "MODE: %c%c%c%c%c%c%c%c%c%c\n", + dual(mode & S_ISVTX, 's'), + dual(mode & S_IRUSR, 'r'), + dual(mode & S_IWUSR, 'w'), + quad(mode & S_IXUSR, mode & S_ISUID), + dual(mode & S_IRGRP, 'r'), + dual(mode & S_IWGRP, 'w'), + quad(mode & S_IXGRP, mode & S_ISGID), + dual(mode & S_IROTH, 'r'), + dual(mode & S_IWOTH, 'w'), + dual(mode & S_IXOTH, 'x')); + } +#endif /* __FreeBSD__ */ + + return (mq_close(handle)); +} + +/* queue: name of queue to drain one message. */ +static int +recv(const char *queue) +{ + mqd_t handle = mq_open(queue, O_RDONLY); + + if (handle == fail) { + errno_t what = errno; + + warnc(what, "mq_open(recv)"); + return (what); + } + + struct mq_attr actual; + + int result = mq_getattr(handle, &actual); + + if (result != 0) { + errno_t what = errno; + + warnc(what, "mq_attr(recv)"); + mq_close(handle); + return (what); + } + + char *text = malloc(actual.mq_msgsize + 1); + unsigned q_priority = 0; + + memset(text, 0, actual.mq_msgsize + 1); + result = mq_receive(handle, text, actual.mq_msgsize, &q_priority); + if (result < 0) { + errno_t what = errno; + + warnc(what, "mq_receive"); + mq_close(handle); + return (what); + } + + fprintf(stdout, "[%u]: %-*.*s\n", q_priority, result, result, text); + return (mq_close(handle)); +} + +/* + * queue: name of queue to send one message. + * text: message text. + * q_priority: message priority in range of 0 to 63. + */ +static int +send(const char *queue, const char *text, unsigned q_priority) +{ + mqd_t handle = mq_open(queue, O_WRONLY); + + if (handle == fail) { + errno_t what = errno; + + warnc(what, "mq_open(send)"); + return (what); + } + + struct mq_attr actual; + + int result = mq_getattr(handle, &actual); + + if (result != 0) { + errno_t what = errno; + + warnc(what, "mq_attr(send)"); + mq_close(handle); + return (what); + } + + int size = strlen(text); + + if (size > actual.mq_msgsize) { + warnx("truncating message to %ld characters.\n", actual.mq_msgsize); + size = actual.mq_msgsize; + } + + result = mq_send(handle, text, size, q_priority); + + if (result != 0) { + errno_t what = errno; + + warnc(what, "mq_send"); + mq_close(handle); + return (what); + } + + return (mq_close(handle)); +} + +static void +usage(FILE *file) +{ + fprintf(file, + "usage:\n\tposixmqcontrol [rm|info|recv] -q \n" + "\tposixmqcontrol create -q -s -d " + "[ -m ] [ -b ] [-u ] [ -g ]\n" + "\tposixmqcontrol send -q -c " + "[-p ]\n"); +} + +/* end of SUBCOMMANDS */ + +#define _countof(arg) ((sizeof(arg)) / (sizeof((arg)[0]))) + +/* convert an errno style error code to a sysexits code. */ +static int +grace(int err_number) +{ + static const int xlat[][2] = { + /* generally means the mqueuefs driver is not loaded. */ + {ENOSYS, EX_UNAVAILABLE}, + /* no such queue name. */ + {ENOENT, EX_OSFILE}, + {EIO, EX_IOERR}, + {ENODEV, EX_IOERR}, + {ENOTSUP, EX_TEMPFAIL}, + {EAGAIN, EX_IOERR}, + {EPERM, EX_NOPERM}, + {EACCES, EX_NOPERM}, + {0, EX_OK} + }; + + for (unsigned i = 0; i < _countof(xlat); i++) { + if (xlat[i][0] == err_number) + return (xlat[i][1]); + } + + return (EX_OSERR); +} + +/* OPTIONS tables */ + +/* careful: these 'names' arrays must be terminated by a null pointer. */ *** 372 LINES SKIPPED *** From nobody Sat Feb 24 01:54:06 2024 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 4ThVKp3FJ9z5BjWM; Sat, 24 Feb 2024 01:54: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 4ThVKp2lYPz4b3j; Sat, 24 Feb 2024 01:54:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708739646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hMKvH2OliKSXiDZkUXwz0QzVRUeqCsQpJ+Ajgrrh1p4=; b=v4zPN4vTEm6lbnyDNL08OPPlPpFf7DNNxPESyCcHbWGlSTiFRz3Uhj705DSEHKQ5pKQNZ8 jBD+wjgo6S9cduLNPQJzbwmkTmLx6tOPiEdS0N7lWhDPpEVjUTw/qI65n2pLQDOtielTvq DhT5zoEJWgT33IgiUk0hlFZZzALiPshqHJiCrAyjPnF22zs6x2bXfca32Ob8oHczdBES5Z 5WKPdT+BAsc2Umf9p0bL0OP0XIVB1Hyznq61TE7oy9ROdoirie7HyePBuS5wPsdTt9Us21 h+rPe6zaYZ4gyOeLknU4qrlC5S71aFKfBtWnhyzciAKEIz9jovy90GFcq5kzpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708739646; a=rsa-sha256; cv=none; b=Ky6aJDfCLHSmlC/fK6D0GpjMUlQYDKVlbPd//+BlhPTmyMaaZK6WScGc0nGL9t5HJYDcbK aVyrTr+k4wslHmmqOtdMdmHbliIFJXGJwAVVdPbOLCp5NRzEQycNRy2KTxP8vYXQPxD4vl wQhW8YtSMQy4HDlvr0o0sunl+mte6F4NGwKRSTt3oe74zUaNagsX657gl9+/klDGpEepws tsDCpylwev7Me2ZzJZ6jUgH6mXP5pwGFXERqyNTYp/VBmeojCtpHUSzxgXo/xxFrJtL8zv KLFPMPDKa3+6JZBG98cVddT1vJBKuzNzj7xmtFS+nGRfTM9RCDNpwT/qiwobyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708739646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hMKvH2OliKSXiDZkUXwz0QzVRUeqCsQpJ+Ajgrrh1p4=; b=ubq/REiF9lKLnM/+dmpY8vg+6UZ8Gq91lAkvPnnXR2ovJsqpARGSiP8mc0ly4DiTi5iAuB mjXqykAanB5wiVrBv3lfz+UPqkJB+Wnm8FSzRWFdWMKDushaPxG3Fe7hSIpoZ/5xmvq7vs AS9wb0Jcp/122E1Vztb8wJJWtlb273g8mudw6zyydkz8m0/phn8A8+d/b6/1MRRhgSp2jr t1PHSMqu80j+jZYMzWRFQfer5EuSP/kL0936vTnRW8V9rhDb9fg9cP7BEKhXLNBDcomr8t 0HjOObkRNzDi4UODSjnDF+XEUzmnUAdB5dCrQwH53znUuRIVG/RU0CAox3/ttw== 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 4ThVKp1qLczgy2; Sat, 24 Feb 2024 01:54: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 41O1s6ZT030786; Sat, 24 Feb 2024 01:54:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41O1s6RQ030783; Sat, 24 Feb 2024 01:54:06 GMT (envelope-from git) Date: Sat, 24 Feb 2024 01:54:06 GMT Message-Id: <202402240154.41O1s6RQ030783@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: 98ef51d54906 - main - Revert "tests/fdgrowtable: open more files in the threaded 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 98ef51d549064318c1cdc9cbea7cf499b9a1d34b Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=98ef51d549064318c1cdc9cbea7cf499b9a1d34b commit 98ef51d549064318c1cdc9cbea7cf499b9a1d34b Author: Gleb Smirnoff AuthorDate: 2024-02-24 01:47:29 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-24 01:47:29 +0000 Revert "tests/fdgrowtable: open more files in the threaded case" This reverts commit fa6a02f50e65c47540f51b3177f5080bc6af168e. It makes the test less probable to fail, but it doesn't fix the root issue - that on entry the parent process may have already a large file descriptor table. --- tests/sys/kern/fdgrowtable_test.c | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/sys/kern/fdgrowtable_test.c b/tests/sys/kern/fdgrowtable_test.c index 2eea274a64ee..826599ecf836 100644 --- a/tests/sys/kern/fdgrowtable_test.c +++ b/tests/sys/kern/fdgrowtable_test.c @@ -151,7 +151,6 @@ ATF_TC_BODY(free_oldtables, tc) static _Noreturn void * exec_thread(void *args) { - openfiles(128); for (;;) sleep(1); } From nobody Sat Feb 24 01:54:07 2024 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 4ThVKq5sc6z5Bjrn; Sat, 24 Feb 2024 01:54: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 4ThVKq3lk5z4Zxk; Sat, 24 Feb 2024 01:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708739647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HG1V0Z8BBBaURFqZ8LnoUOEA4//THKns1xju0AKZr4U=; b=ConizeJX2k9vFwX5l/Sr3ZOZWdMQ/aunqtvQxVpMb22TLy1fm9o/8HH8A4G7Jr5IaAvhVH LBZBtYKsw3Fc6iolh8gcR6cfSdPZfj/buQyJ5275mgXzESPPNWqrYjdNSbDvRVLG6hvszB 1x3qGpI5Xm4U7A5skw5vbMHfOCnrjZRo6x+ueF4/a8KK4veU2A1Lg9YEKhdg5FtV6bXEYB j3d6hmh2JP+T5VZYGLwcmCq5BTcPJ9fDEo6tNgNvHinWZ4e+bYb2UAga5L9ggCYloo+cdP JRavqUp00FeZX/lNAB8g6YcjldlTtlD2syFWolMrC3c1k5opCcd+oMUVLgQSnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708739647; a=rsa-sha256; cv=none; b=cdKZEvQ1ZkLJd9ZgrC321hDkvxgsMfpOieGapF4UnPMZyLHDEjJG8ZmjLaC4LAKeV3l80B 2rc7d5Q2YMbdwMEE9n7haJjobrHyPSCanMGNtKU/MmLFKF8HNvZJO/0sPGbiHCgge17X6+ WDSmm88mRZQatY3VpwdDG/XHgXlkOrasR56x41hgPOVX4mIqzMPGkkZsZvnWZ09oIPw7os 2296nGOFidsug581N0pw+yGo54sHI99ynV3BuXe2kV8C3n2EUI+aqZAOYKQRBA9hyJw/rz jgy6841o1QR8PA6H2XJCNYKJPJEbFXHKhPqdckScpbNMDEqIpSJI5inx/F4xsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708739647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HG1V0Z8BBBaURFqZ8LnoUOEA4//THKns1xju0AKZr4U=; b=ws+Ep/132RM48ZQFm6nvuh6Q12K4w8taoZd4ULN9gyW9skzrxJsvGapwGtWubwhqxRqbub JPabpxBFcJwVuKJe5PoikK8wVKE0/svmoSRsG5JnO2V3pFFlGca9M1QvYeY2BaiiY4ThA7 fbmeAuX6KzETdkJ3aPzZDDROvAXivhlJil9nw9lo5iBPlmbzgPbkKZBC085EvT0u7mn2Lw zPjgYwrJSvdz5fhwisdWv03iy5Nq7N+uSBXJDCT3BkYD91dfJpD05rPcTo0J/cQ1UC3vwC 4a+TY8LNjDthC3sk7UKC1fZZ/WsKiQoUO0yy+E/1UumH+OH31c+ABva7Yk5/Nw== 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 4ThVKq2rzjzh1D; Sat, 24 Feb 2024 01:54: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 41O1s7A7030842; Sat, 24 Feb 2024 01:54:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41O1s7dT030839; Sat, 24 Feb 2024 01:54:07 GMT (envelope-from git) Date: Sat, 24 Feb 2024 01:54:07 GMT Message-Id: <202402240154.41O1s7dT030839@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: 4c6ceca9cc44 - main - tests/fdgrowtable: perform the threaded test in a child process 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: 4c6ceca9cc44fc9b02dc39e80713f2ad3ab8eeb6 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=4c6ceca9cc44fc9b02dc39e80713f2ad3ab8eeb6 commit 4c6ceca9cc44fc9b02dc39e80713f2ad3ab8eeb6 Author: Gleb Smirnoff AuthorDate: 2024-02-24 01:49:53 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-24 01:49:53 +0000 tests/fdgrowtable: perform the threaded test in a child process The test needs to be performed in a new process that was forked with RFCFDG flag. The will guarantee that the table will start to grow from 20 file descriptors, no matter what kyua(1) or a bare shell was doing before executing this test. This should fix repetitive test runs from a shell as well as failures with kyua(1) in some environments. --- tests/sys/kern/fdgrowtable_test.c | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/tests/sys/kern/fdgrowtable_test.c b/tests/sys/kern/fdgrowtable_test.c index 826599ecf836..ecab72ff09aa 100644 --- a/tests/sys/kern/fdgrowtable_test.c +++ b/tests/sys/kern/fdgrowtable_test.c @@ -167,21 +167,43 @@ ATF_TC_HEAD(oldtables_shared_via_threads, tc) ATF_TC_BODY(oldtables_shared_via_threads, tc) { + pid_t child; kvm_t *kd; struct kinfo_proc *kp; pthread_t thread; - ATF_REQUIRE((kd = kvm_open(NULL, NULL, NULL, O_RDONLY, NULL)) != NULL); - ATF_REQUIRE(pthread_create(&thread, NULL, exec_thread, NULL) == 0); + if ((child = rfork(RFPROC | RFCFDG)) > 0) { + pid_t wpid; + int status; + + wpid = waitpid(child, &status, 0); + ATF_REQUIRE(wpid == child); + ATF_REQUIRE(WIFEXITED(status)); + ATF_REQUIRE(WEXITSTATUS(status) == EXIT_SUCCESS); + return; + } + +#define REQUIRE(expression) do { \ + if (!(expression)) \ + exit(EXIT_FAILURE); \ + } while (0) + + REQUIRE(child == 0); + + REQUIRE((kd = kvm_open(NULL, NULL, NULL, O_RDONLY, NULL)) != NULL); + REQUIRE(pthread_create(&thread, NULL, exec_thread, NULL) == 0); openfiles(128); kp = read_kinfo(kd); - ATF_CHECK(kp->ki_numthreads > 1); - ATF_CHECK(old_tables(kd,kp) > 1); + REQUIRE(kp->ki_numthreads > 1); + REQUIRE(old_tables(kd,kp) > 1); + + REQUIRE(pthread_cancel(thread) == 0); + REQUIRE(pthread_join(thread, NULL) == 0); +#undef REQUIRE - ATF_REQUIRE(pthread_cancel(thread) == 0); - ATF_REQUIRE(pthread_join(thread, NULL) == 0); + exit(EXIT_SUCCESS); } /* From nobody Sat Feb 24 01:57:14 2024 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 4ThVPQ6XVQz5BjsR; Sat, 24 Feb 2024 01:57: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 4ThVPQ5pwPz4bYN; Sat, 24 Feb 2024 01:57:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708739834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/EEopkio0xXXk6dOp96XodGfRKAfE/fRU8HZoc9V30g=; b=Fsx8gbcmxG4vNeq/x1nCC3SRrJKffxSlQANlY+ON/NZnj0BRiho/3qFBWYhuXQZF5N1fvQ Vl8eDMzhCW0qanbXVOeJr7rhO3fSMX210dn+a8aAx07cHkrOAXQlH4/tOueWTG3EInGsp3 8VTScSXeM67NwxJ2sfHW95iJLFBCQs27tBXJuAWWn2zYzFiiKnex+VVdf/QeQVKPWL3eFE KHIFEEoULsuGFEUL2k7GB/5KLte8/DcHGyaGU8mmvIoVhzr9wjBXSsMnEMiRn6yNPV8UEg iewxiyTqPuj6+RujSdTrdDZ96FNP+pZVS9poBLKQ9ucrDRVKOQH9eV3arKCdxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708739834; a=rsa-sha256; cv=none; b=AopDKfhFfpwRn6nf6fu2DH/KWFOp3o9lZA07AIj8PX0P+xvKRlkqAcyxOsVftV2M7dLBsz rZAXxOdhEoGLR8mTFrgMiiTmMH8u07hgv/ZlVmz1+zB1vTvNH9y5nwwR7j177DBqPgrBQl KM3Fm06ut7rB2NfFoaqcNSnd1E3BnrevL0JRX8fCamwdjQd+2Owgr9vhDrzOew77t7VuMx YmqIebzYuNSPY2/3uuzwnmTRQQ0l0RSwxTxk6GFBIedpe6HJ7lw0rtigLWHq0lMbqmqijb dFYGgFIhBD69zgxzgt1RXOw4fQAUFxSd6pNY3IjG9xtb3BW4LCNhClnEha0CgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708739834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/EEopkio0xXXk6dOp96XodGfRKAfE/fRU8HZoc9V30g=; b=ljKUhlk3PCClQCY79v7aqqRyKAcEbSNqcdFUbakZV9JSZVUuLbi7gnVLXz/2zRGdcWXDz3 N91jA4qzHz9QgwIWn33hX4sHYdtLzo2TbvRduu3l8vtOqgH2I9Zk+iiOcFrJH2ayXjN0oO RpIlLzpikIjtuZCKWcGz01TuY9zyqA8vaBXtb/zeLxhfuremyRAWcypk7BNfrSoxrmFNFt 7bRqYXTSkfILluziXyUNySvg4/IFWBjkejdOt19ZPP6Gf0SxhPtMnmsNM4TJCiB/Qcds/i Eu3hpYmKr0vaf5LHYpUFQeT9KjxaUXQhwBbXnahp2P/J6d+sIdGd+57MyqQcRw== 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 4ThVPQ4sV6zgLq; Sat, 24 Feb 2024 01:57: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 41O1vECU031415; Sat, 24 Feb 2024 01:57:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41O1vEAk031412; Sat, 24 Feb 2024 01:57:14 GMT (envelope-from git) Date: Sat, 24 Feb 2024 01:57:14 GMT Message-Id: <202402240157.41O1vEAk031412@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: 48698ead6ff0 - main - lagg: wrap lagg_port2req() into LAGG_SLOCK() 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: 48698ead6ff0640098e6aecdd5cbf6ea8f5ac177 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=48698ead6ff0640098e6aecdd5cbf6ea8f5ac177 commit 48698ead6ff0640098e6aecdd5cbf6ea8f5ac177 Author: Gleb Smirnoff AuthorDate: 2024-02-24 01:56:46 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-24 01:56:46 +0000 lagg: wrap lagg_port2req() into LAGG_SLOCK() Although a port addition is coded in a sequence where first all softc information is fulfilled and only then it is attached to the lagg, we still need a locking primitive to guarantee cache invalidation. Panic observed in the wild shows that lacp_portreq() called via lagg_port_ioctl(SIOCGLAGGPORT) immediately after port creation may see lp->lp_psc as NULL and panic. In the core file we will see valid data all around. A race via lagg_ioctl() wasn't observed but potentially is possible. Differential Revision: https://reviews.freebsd.org/D43501 --- sys/net/if_lagg.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 9746d4115bc6..554d8c2c1bcb 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -83,8 +83,10 @@ MODULE_DEPEND(if_lagg, netmap, 1, 1, 1); #define LAGG_SX_DESTROY(_sc) sx_destroy(&(_sc)->sc_sx) #define LAGG_XLOCK(_sc) sx_xlock(&(_sc)->sc_sx) #define LAGG_XUNLOCK(_sc) sx_xunlock(&(_sc)->sc_sx) -#define LAGG_SXLOCK_ASSERT(_sc) sx_assert(&(_sc)->sc_sx, SA_LOCKED) #define LAGG_XLOCK_ASSERT(_sc) sx_assert(&(_sc)->sc_sx, SA_XLOCKED) +#define LAGG_SLOCK(_sc) sx_slock(&(_sc)->sc_sx) +#define LAGG_SUNLOCK(_sc) sx_sunlock(&(_sc)->sc_sx) +#define LAGG_SXLOCK_ASSERT(_sc) sx_assert(&(_sc)->sc_sx, SA_LOCKED) /* Special flags we should propagate to the lagg ports. */ static struct { @@ -1044,7 +1046,9 @@ lagg_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; } + LAGG_SLOCK(sc); lagg_port2req(lp, rp); + LAGG_SUNLOCK(sc); NET_EPOCH_EXIT(et); break; @@ -1581,7 +1585,9 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; } + LAGG_SLOCK(sc); lagg_port2req(lp, rp); + LAGG_SUNLOCK(sc); NET_EPOCH_EXIT(et); if_rele(tpif); break; From nobody Sat Feb 24 04:52:08 2024 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 4ThZHF5JGJz5C0RB; Sat, 24 Feb 2024 04:52: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 4ThZHD6rJdz4tkJ; Sat, 24 Feb 2024 04:52:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708750329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0z7Yg0Popd5tgsK/+TPKqNwjHbMW34nSlKG1P+vwmlE=; b=Oc0RNHgsFdEBVJPY3FPUr+qA9hZ4ruZCLc9AjhMZ668b79WD7y48OXyOifI4+qlvILlmCn hQMeY4sitY0yB87PVnOEBQHIFa/xd6q6JgjzZQUyi9qXNXRP73goOhEdZTtwiG5QJi7D+h s58UuDtS60tCW2Y3AHmNuonhiEfwxXYoaCP8c4loyyZrxG/G1rEcLerIGhWQYLb4P7R5Zv r7/QfS/8AP3cy4H+z36EGvL+CL+8Wjoj9vImGlejRWGYcd9SYUpFMlcWAYyHPWBX1dsbl0 29LAQ8GheW5wcgz8nk1mpw/5Tz5GvCbW7yjez/LmZKfXAj3dz3DeJcHmLHn4dQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708750329; a=rsa-sha256; cv=none; b=RL6NLReIfI8PdJuDRy94qVW+ff0QN8Y33FxNh0dm2i0g5m17ogBZKf1fmO8qUU+bFvu8+1 Ul7w2YI1TIhbhudXDx3yGolqkZTIxY5O6NAkYiryDH2AEQg+DHWFYDnRtvSuopikZBMoKW dL9abp1Zj/d3eeVxgR7cl96jZPsNRdKPYVFprQ5Z5Ar95eNBSS5DiMzuhP9MLOuJDk5b53 dj6e3MsmvMHKart+6q20sT9O5t2CwKJLltcTxGhe8zwDCFrn5gG2J/3Ui16ux+RPhxlqkV MwW9VLFaB+KqQhX9zvKMBi2U2M1aScenn3siIm6/oWBddO9kSplnfiYBQy9MHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708750329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0z7Yg0Popd5tgsK/+TPKqNwjHbMW34nSlKG1P+vwmlE=; b=IODs4sCO+ulVfgc0z10r5xcEMakyTnpcrNSzKEyeM+Sae/Be6Wui7JZkMYYCH/a5UsVzHu zzF6gMxxrQezQ6QhF32EpuXnYsIOtu1FXZO9TXXAdroDhAXXWfx/QydR9A+nViXC9+7J7I KrXy/a3W4aynhTma7RDA04DQJ4phWPhUQ4ZkHlQSRZBqoBw+sYqoBiTCGeyxcNS2ZRT26o 6FlsbNG02bgVV65I5LchLztWEhIFsIfPG4qppS3MWRl8cqPBtwVKeO+P55QL6Vas9y3r/S Hrnjej1FZB0vuuikW7cO+6sKEk8m0N+g+rhFCSMkswO8GF+y01j7IoKFCek14w== 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 4ThZHD5vbJzmPV; Sat, 24 Feb 2024 04:52: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 41O4q8Zm031289; Sat, 24 Feb 2024 04:52:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41O4q8NY031286; Sat, 24 Feb 2024 04:52:08 GMT (envelope-from git) Date: Sat, 24 Feb 2024 04:52:08 GMT Message-Id: <202402240452.41O4q8NY031286@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: 6faf55c86d9b - main - loader: rename gfx_interp_md to gfx_interp_ref 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: 6faf55c86d9b86f40de8d19970e42cb42a892c47 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6faf55c86d9b86f40de8d19970e42cb42a892c47 commit 6faf55c86d9b86f40de8d19970e42cb42a892c47 Author: Warner Losh AuthorDate: 2024-02-24 04:22:08 +0000 Commit: Warner Losh CommitDate: 2024-02-24 04:22:08 +0000 loader: rename gfx_interp_md to gfx_interp_ref We have the call to gfx_interp_ref to bring in the .o so that we get the linker set item to add the language bindings at the right time. Where we call it is not the right time... So the _ref name is better. Change it before we have too many others like it. Sponsored by: Netflix --- stand/common/gfx_fb.c | 2 +- stand/common/gfx_fb.h | 2 +- stand/common/interp_simple.c | 2 +- stand/ficl/gfx_loader.c | 2 +- stand/liblua/gfx_utils.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c index 3a5b851915e0..0a88a166089b 100644 --- a/stand/common/gfx_fb.c +++ b/stand/common/gfx_fb.c @@ -181,7 +181,7 @@ gfx_framework_init(void) * Setup font list to have builtin font. */ (void) insert_font(NULL, FONT_BUILTIN); - gfx_interp_md(); /* Draw in the gfx interpreter for this thing */ + gfx_interp_ref(); /* Draw in the gfx interpreter for this thing */ } static uint8_t * diff --git a/stand/common/gfx_fb.h b/stand/common/gfx_fb.h index 84062864c57f..17e419d8ffd3 100644 --- a/stand/common/gfx_fb.h +++ b/stand/common/gfx_fb.h @@ -281,7 +281,7 @@ void term_image_display(teken_gfx_t *, const teken_rect_t *); void reset_font_flags(void); -void gfx_interp_md(void); +void gfx_interp_ref(void); #ifdef __cplusplus } diff --git a/stand/common/interp_simple.c b/stand/common/interp_simple.c index d64c0d27b97f..d675da0aa61e 100644 --- a/stand/common/interp_simple.c +++ b/stand/common/interp_simple.c @@ -202,6 +202,6 @@ interp_include(const char *filename) * There's no graphics commands for the simple interpreter. */ void -gfx_interp_md(void) +gfx_interp_ref(void) { } diff --git a/stand/ficl/gfx_loader.c b/stand/ficl/gfx_loader.c index a4501a7d3c39..4ac69e3c9895 100644 --- a/stand/ficl/gfx_loader.c +++ b/stand/ficl/gfx_loader.c @@ -254,6 +254,6 @@ static void ficlCompileGfx(FICL_SYSTEM *pSys) FICL_COMPILE_SET(ficlCompileGfx); void -gfx_interp_md(void) +gfx_interp_ref(void) { } diff --git a/stand/liblua/gfx_utils.c b/stand/liblua/gfx_utils.c index 8d2aaacbd688..301cd9cb8610 100644 --- a/stand/liblua/gfx_utils.c +++ b/stand/liblua/gfx_utils.c @@ -242,7 +242,7 @@ luaopen_gfx(lua_State *L) } void -gfx_interp_md(void) +gfx_interp_ref(void) { } From nobody Sat Feb 24 05:47:58 2024 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 4ThbWf6pKsz5C4qh; Sat, 24 Feb 2024 05:47: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 4ThbWf63k2z41Sq; Sat, 24 Feb 2024 05:47:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708753678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=elTYegsiNX03cE/nxi8lbEzWdiiphVzB2kmyeEVG87s=; b=ea+F3K5SDvGLu/ak4xpLjqjWMtcrEAjek5mEj6zPIl4OV1YxLCikB4+VTX7r40B8UewQ0I dBwDbewopzOrr8lrBO7gApx6YJw5eRrKC1NKgWHbhBNza+bFyp+jiiK0UZmjwYpl8S+CXW +2KlPwZlfmop8gMXdzJOWCcL56n0qdo+NFExDPWGSZvbpdvQ4xm7tQla+XucIGXdJMJico HslGnPcH8OaC92lD4dxeqHiGG8jOE9oVznEBjF1VzZvqB7zM5nbH3XyWWqMpaNIS1F6ACQ EoOnrM4IhMvO50F32SwRVDQdq7I4SgdQtgX+yJN34IaK2Bd/IH+Yh5kkcD6rpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708753678; a=rsa-sha256; cv=none; b=JevwXi1A+k5jRQtUltAGAQVKyhPBn5ipM3i9TGNOopx7uA67VK6uDv0NKE+HbOs4WohqjS Ka9UmtoeLEKaS4g/mGs+RigiCFQQorCMD+DhQwaKhOEgKrfJP1uW9dW+NIkR4AmKsCKCRm fadG0QOKYh7t++EjvtJgKI8XUkPPV98YUQs8X8uVvROsCRfIRHNK99wROcfR+e1cFOvtVW 9h9pArtHekhB09UeuayE9Q3vQb0LnM6Fdrz9ewoHnx547Tg39jMicwEH8znv4nLn83QVwR zG2S1OFK+34syTWuJY1X5cFYEuhub+SalSjI+gSgOYxfnVjlKQu64FhTZmdHFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708753678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=elTYegsiNX03cE/nxi8lbEzWdiiphVzB2kmyeEVG87s=; b=HIx4VxNCgr1NqeJZwEFeDZXhFQkfugQcnOd2gDG3+pt5//wHfLoITj4pFxt1m/kjJc23Kd vEeTzLkeNCZQEQE0bbF6m1s2f+efn118UTApsAUQyeZjug06DhG1NNyr6I1cM2PW2n9yvR 8dw8L7NAQXAcTjO/GOhfh1MS7Vb5IlWDUTZUdBrd0suOOvrzTqEJlRZkkl5KduUCp9kRM0 dhoLLs54AyaZsf/mRoywQlGRJ+zkkJHDsgG6IHaTkybOJHLEZkBIay7uIV568JsS7aMZIy 9H+jU/VOqt5uZ9e59zBSgfb47p/XDXXynBuEhbT5xpSbOz1UdPe/vqv+owg0ng== 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 4ThbWf54bbzns2; Sat, 24 Feb 2024 05:47: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 41O5lwe6020742; Sat, 24 Feb 2024 05:47:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41O5lwiT020739; Sat, 24 Feb 2024 05:47:58 GMT (envelope-from git) Date: Sat, 24 Feb 2024 05:47:58 GMT Message-Id: <202402240547.41O5lwiT020739@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: 1ec33855a82b - main - stress2: Added a new NFS test scenario 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: 1ec33855a82b6e937bcb5412f5b5ea971b3df375 Auto-Submitted: auto-generated The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=1ec33855a82b6e937bcb5412f5b5ea971b3df375 commit 1ec33855a82b6e937bcb5412f5b5ea971b3df375 Author: Peter Holm AuthorDate: 2024-02-24 05:47:12 +0000 Commit: Peter Holm CommitDate: 2024-02-24 05:47:12 +0000 stress2: Added a new NFS test scenario --- tools/test/stress2/misc/mmap44.sh | 255 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 255 insertions(+) diff --git a/tools/test/stress2/misc/mmap44.sh b/tools/test/stress2/misc/mmap44.sh new file mode 100755 index 000000000000..5865491e1dea --- /dev/null +++ b/tools/test/stress2/misc/mmap44.sh @@ -0,0 +1,255 @@ +#!/bin/sh + +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2024 Peter Holm +# +# 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. +# + +# Demonstrate issue described in: +# [Bug 276002] nfscl: data corruption using both copy_file_range and mmap'd I/O + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +log=/tmp/$prog.log +grep -q $mntpoint /etc/exports || + { echo "$mntpoint missing from /etc/exports"; exit 0; } + +cat > /tmp/$prog.c < +#include + +#include +#include +#include +#include +#include +#include +#include + +static off_t siz; +static pthread_mutex_t write_mutex; +static int fd, go; +static char *cp; + +static void * +memread(void *arg __unused) +{ + int i; + char c; + + while (go == 1) { + i = arc4random() % siz; + c = cp[i]; + if (c != 0x77) /* No unused vars here */ + usleep(arc4random() % 400); + } + return (0); +} + +static void * +memwrite(void *arg __unused) +{ + int i; + char c; + + while (go == 1) { + i = arc4random() % siz; + pthread_mutex_lock(&write_mutex); + c = cp[i]; + cp[i] = 0xee; /* This value seems to linger with NFS */ + cp[i] = c; + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 400); + } + return (0); +} + +static void * +wr(void *arg __unused) +{ + off_t pos; + int r, s; + char buf[1024]; + + while (go == 1) { + s = arc4random() % sizeof(buf) + 1; + pos = arc4random() % (siz - s); + pthread_mutex_lock(&write_mutex); + if (lseek(fd, pos, SEEK_SET) == -1) + err(1, "lseek(%d)", (int)pos); + if ((r = read(fd, buf, s)) != s) { + fprintf(stderr, "r = %d, s = %d, pos = %d\n", r, s, (int)pos); + err(1, "read():2"); + } + if (lseek(fd, pos, SEEK_SET) == -1) + err(1, "lseek(%d)", (int)pos); + if (write(fd, buf, s) != s) + err(1, "write()"); + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 400); + } + return (0); +} + +static void * +s1(void *arg __unused) +{ + + while (go == 1) { + if (fdatasync(fd) == -1) + err(1, "fdatasync()"); + usleep(arc4random() % 1000); + } + return (0); +} + +static void * +s2(void *arg __unused) +{ + + while (go == 1) { + if (fsync(fd) == -1) + err(1, "fdatasync()"); + usleep(arc4random() % 1000); + } + return (0); +} + +static void * +tr(void *arg __unused) +{ + int i, s; + char buf[1024]; + + memset(buf, 0x5a, sizeof(buf)); + while (go == 1) { + pthread_mutex_lock(&write_mutex); + if (lseek(fd, arc4random() % siz, SEEK_END) == -1) + err(1, "lseek() END"); + s = sizeof(buf); + for (i = 0; i < 50; i++) { + if (write(fd, buf, s) != s) + warn("write()"); + } + if (ftruncate(fd, siz) == -1) + err(1, "truncate()"); + pthread_mutex_unlock(&write_mutex); + usleep(arc4random() % 400); + } + return (0); +} + +int +main(int argc, char *argv[]) +{ + struct stat st; + pthread_t tp[6]; + int e, i; + + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + if ((fd = open(argv[1], O_RDWR)) == -1) + err(1, "open(%s)", argv[1]); + if (fstat(fd, &st) == -1) + err(1, "stat(%s)", argv[1]); + siz = st.st_size; + cp = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (cp == MAP_FAILED) + err(1, "mmap()"); + + go = 1; + pthread_mutex_init(&write_mutex, NULL); + if ((e = pthread_create(&tp[0], NULL, memwrite, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[1], NULL, memread, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[2], NULL, wr, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[3], NULL, s1, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[4], NULL, s2, NULL)) != 0) + errc(1, e, "pthread_create"); + if ((e = pthread_create(&tp[5], NULL, tr, NULL)) != 0) + errc(1, e, "pthread_create"); + + sleep(60); + go = 0; + for (i = 0; i < (int)(sizeof(tp) / sizeof(tp[0])); i++) + pthread_join(tp[i], NULL); + if (munmap(cp, siz) == -1) + err(1, "munmap()"); + close(fd); +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c -lpthread || exit 1 + +mycc -o /tmp/serial -Wall -Wextra -O2 ../tools/serial.c || exit 1 +mount | grep -q "on $mntpoint " && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart +mdconfig -s 5g -u $mdstart +newfs -n $newfs_flags /dev/md$mdstart > /dev/null +mount /dev/md$mdstart $mntpoint + +mp2=${mntpoint}2 +mkdir -p $mp2 +mount | grep -q "on $mp2 " && umount -f $mp2 +mount -t nfs 127.0.0.1:$mntpoint $mp2; s=$? +sleep .2 + +here=`pwd` +mount | grep $mntpoint +cd $mp2 +$here/../testcases/swap/swap -t 5m -i 20 > /dev/null & +sleep 2 + +size=262144 +/tmp/serial file $size +cp file file.orig + +s=0 +/tmp/$prog file || s=1 + +while pgrep -q swap; do pkill swap; done +wait +if ! cmp -s file.orig file; then + od -t x1 file.orig > /var/tmp/$prog.file1 + od -t x1 file > /var/tmp/$prog.file2 + diff /var/tmp/$prog.file1 /var/tmp/$prog.file2 > $log + head -20 $log + rm /var/tmp/$prog.file1 /var/tmp/$prog.file2 + ls -ls file.orig file + s=2 +fi + +cd $here +umount $mp2 +umount $mntpoint +mdconfig -d -u $mdstart +rm -f /tmp/serial /tmp/$prog /tmp/$prog.c $log +exit $s From nobody Sat Feb 24 06:26:43 2024 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 4ThcNN09TCz5C7cY; Sat, 24 Feb 2024 06:26: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 4ThcNM6QPXz44KS; Sat, 24 Feb 2024 06:26:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708756003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SWbObpOEGtOmCBUnSzeUNvOko4g7moATDBYpZi2pPIY=; b=uP0Hj1kokUQSCu2XI8dxKhibuHxPDFuqbdYz4wiiJloPcBEbC8buQSH4sEACJrMzphd0Kz TmLOAtQsrxv1p9u5hjBmsUmyub1u0VvWkZ17EqO+rDvSIVzhtBKu8/Y5GLnIvi0vjDSwS0 Ka9aYWO329OLwUU1Uk5w1xKcrrE885QJ5++JFPzuYPpncZibHBc/GbEQcxV39qHRQg7v+I B8UvsFhMIiNhjSH+N24zZc1AD08GkBnIqtySTBgg712nS569AlbZCQpIgO8hE72EPEmtuP 0Bprm8HtY9BgcS7blXWZ1mOhSjHhGK/Z/QcZExsYzpXUBz4d40W9p3SKG/Wt0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708756003; a=rsa-sha256; cv=none; b=Hfr+q7BlZNECmxwO+LonYagn1VDDMao307ep9209JmrTGH/K0RuulR7o8K6l6zmx31YP0M k8AD/I7V+23LqTnloWkIc+LEphUWDO9m3wDFjbJxprWB9jX82OdRBQ9b+LurvuvV5XHFiK XEdbCkKxKD4K35qcGqSRg/n7JY7eNZlzzYuNfIjxZ4DOPX5eI1Bi/Sfmx1JWtDy2dhmjP0 OE05Km6h6Q3IAg1E5e1bDScenmOjkP8z2L1wlXMgKnua/hwW13l85k4C5y/KvoO+t0DUYL mkk4ldZjodQbk16B5CArHIr/KY1UjnnHS5OFN6gab70OiOj+xh17XzOmVcfg5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708756003; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SWbObpOEGtOmCBUnSzeUNvOko4g7moATDBYpZi2pPIY=; b=BcLIIIKv31+vq/vwdlXFW2kEaTVlHCYrYCQ10ds11D0ib1ghub7n37Nbh5JYhvz08qyu43 8BLezjFUOOvHj0PAzP3dfW15onOmufd+NnhMD7Bf29QMX9WgxfW1zte73RZX709dSPIETQ CmqBqvS7JjxI8tm2Oqc5C/Cuow32d6VHfJS2s1fk4SvvmrZbkVZO8wKLg6tvYbZkxpAel2 tdUnd4euY65uTmWi9AxiTiobKHqlAtwXqVBFpDx1R/Rgc+qtred19bTw3L3s71tKthP241 eluPKGMPHN3UmPoPMWWqTkJZ5tWD44RST4nbij0MxjwvCgXxbFtAStFjztWD+w== 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 4ThcNM5HgyzpnH; Sat, 24 Feb 2024 06:26: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 41O6QhfM088345; Sat, 24 Feb 2024 06:26:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41O6QhqQ088342; Sat, 24 Feb 2024 06:26:43 GMT (envelope-from git) Date: Sat, 24 Feb 2024 06:26:43 GMT Message-Id: <202402240626.41O6QhqQ088342@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: d19f34821d66 - main - stress2: Add a helper tool 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: d19f34821d661468486bdf4cacc9be795ac58780 Auto-Submitted: auto-generated The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=d19f34821d661468486bdf4cacc9be795ac58780 commit d19f34821d661468486bdf4cacc9be795ac58780 Author: Peter Holm AuthorDate: 2024-02-24 06:26:16 +0000 Commit: Peter Holm CommitDate: 2024-02-24 06:26:16 +0000 stress2: Add a helper tool --- tools/test/stress2/tools/serial.c | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/tools/test/stress2/tools/serial.c b/tools/test/stress2/tools/serial.c new file mode 100644 index 000000000000..8dcf9c5da3a8 --- /dev/null +++ b/tools/test/stress2/tools/serial.c @@ -0,0 +1,44 @@ +/* Fill a file with a sequence of byte values from 0 - 0xff */ + +#include +#include +#include +#include +#include +#include +#include + +int +main(int argc, char *argv[]) +{ + size_t i, size; + int fd; + char *cp, *file; + + if (argc != 3) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + file = argv[1]; + size = atol(argv[2]); + + if ((fd = open(file, O_RDWR | O_CREAT | O_TRUNC, 0600)) < 0) + err(1, "%s", file); + + if (lseek(fd, size - 1, SEEK_SET) == -1) + err(1, "lseek error"); + + /* write a dummy byte at the last location */ + if (write(fd, "\0", 1) != 1) + err(1, "write error"); + + if ((cp = mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == MAP_FAILED) + err(1, "mmap()"); + + for (i = 0; i < size; i++) + cp[i] = i & 0xff; + + if (munmap(cp, size) == -1) + err(1, "munmap"); + close(fd); +} From nobody Sat Feb 24 08:23:58 2024 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 4Thfzf46Rdz5CKJK; Sat, 24 Feb 2024 08:23: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 4Thfzf3YJcz4MlB; Sat, 24 Feb 2024 08:23:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708763038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A8QNycZ5+VQuvxIiirE1kSL+vMKC0vhl/G8XwqkkFEI=; b=byC5GpwBu+stXKV4ybzO5lCRO+g/GgZw1ZEklnVihJWUAozl86uZgeU1n7FLmjyLBeqruT r+Pn4aQu7DYNKvNibKrvY5/1fCg6w83qyjn2gVux6rdhYzZui2rgIAfC8T7l0E7TOQKLx9 4rHh/pnd3uESz+NiIKDr7I5iyIqbKyd+6JkqsScg9gNUgLkcAc26RyN8kCfn51n1pQSmat pBO3mOMVz9Y+G183TTxGVCcxYoWVMCGFqqNu5kqpP4ihcOXBo2F6tDewxAWN2JreI7rxje ukUXJFqLXMwrrEArBp4XMgWg89hJFcePVbHOzreOx/hVRiW5isO62Q7XGzEfcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708763038; a=rsa-sha256; cv=none; b=FBiw/M9DocWp7ihCf2DcEu4Yr6bNTFLOqOsHTWdL3+gbn7sIK6AsHmtPj7L3/sDPsBQVat hKW2VChBbc1SuBLc39FfmXM72MDJ/P0HDU8e74n05adYSrF5yJ7vMYo06hmys/7RwsFvtZ xetRf+7wDnocY5Tt+PPQtQ9hZT6H0JAHdtUUc6O/2w1lUEFOi6H344yj1GoS4rzFYqYMQm 1+Ck/OINlnmqmyJY7OgVh9BYO2Um9HXdcOb+ch3AdHFp+mmvTr569KqxVl3aXz4Blq0Qdi MfGxRhHvPqlFUJ0bIDeRvbCY8/RaMWgvsw3SjyuSDmvzCMQ8e7K8xJCgJQFd3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708763038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A8QNycZ5+VQuvxIiirE1kSL+vMKC0vhl/G8XwqkkFEI=; b=ssjKbmcy551j0yDGQnwUgkvk8AU4SUuVzRqRjOVsTma1zGooMD2SMvIRc6rvHy1HbLicTd SfGYp6LGO0ipLryyBF2Sm4S+SU0syjfQZBKqFX/tOqn0oWVre0r645gr25nUw4hYOReoQB o9ZLu8PE3r48r7COQcrDbDZNkiUe9lrhENMUFWl+28q09zZ+NYMczHssws8nvUfifOjKGV B9NUORe3bZfs/CLsgVmd0RZ1Qs3khxSz8rdMgsGr6ayZtodmUsa7l0Ww9yUNcXnMdICtki TwxLxKbmg6L60JaLLuiwMr+Dl/bIyXUkJux2a5I502S6qs+2xwpxvUKyA3frpg== 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 4Thfzf2ZJPzsRJ; Sat, 24 Feb 2024 08:23: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 41O8NwQN092508; Sat, 24 Feb 2024 08:23:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41O8Nwk4092505; Sat, 24 Feb 2024 08:23:58 GMT (envelope-from git) Date: Sat, 24 Feb 2024 08:23:58 GMT Message-Id: <202402240823.41O8Nwk4092505@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: e705ac7788b2 - stable/14 - net80211: Fix two typos in kernel messages 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: e705ac7788b2b08a4a5d12dc150cc4d78253e485 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=e705ac7788b2b08a4a5d12dc150cc4d78253e485 commit e705ac7788b2b08a4a5d12dc150cc4d78253e485 Author: Gordon Bergling AuthorDate: 2024-02-19 11:08:07 +0000 Commit: Gordon Bergling CommitDate: 2024-02-24 08:23:47 +0000 net80211: Fix two typos in kernel messages - s/defered/deferred/ (cherry picked from commit 94fc800f5bf20f573bef0d407c2f61ebcdc15bae) --- sys/net80211/ieee80211_hostap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index b7a328ee06be..52832c308c7d 100644 --- a/sys/net80211/ieee80211_hostap.c +++ b/sys/net80211/ieee80211_hostap.c @@ -978,7 +978,7 @@ hostap_auth_open(struct ieee80211_node *ni, struct ieee80211_frame *wh, */ IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_AUTH | IEEE80211_MSG_ACL, ni->ni_macaddr, - "%s", "station authentication defered (radius acl)"); + "%s", "station authentication deferred (radius acl)"); ieee80211_notify_node_auth(ni); } else { IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_AUTH, seq + 1); @@ -1128,7 +1128,7 @@ hostap_auth_shared(struct ieee80211_node *ni, struct ieee80211_frame *wh, IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_AUTH | IEEE80211_MSG_ACL, ni->ni_macaddr, - "%s", "station authentication defered (radius acl)"); + "%s", "station authentication deferred (radius acl)"); ieee80211_notify_node_auth(ni); return; } From nobody Sat Feb 24 08:24:38 2024 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 4Thg0Q3Ts9z5CKGD; Sat, 24 Feb 2024 08:24: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 4Thg0Q2zxsz4Msp; Sat, 24 Feb 2024 08:24:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708763078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eZKyl3Fkti1Z4QYUBYM+QYZgM7cKSRANNXrHbq6sqX8=; b=tMnzNm+OsMIG5Xh0364EYbAmo/MZgi6VTfeY6ynSn3lAOB02PToj5Si+M8NCBgUAcfW9NK HzMStQq3WulWMUdSG9JrNLNxL1fP2lXkbQOkqWRMMXSHp9LzlUYfU5z+k8KvBM/3YnbXE8 /K7SbcyqO/TBKMurbiy7O8GNQ9JdKF2zObO6eInOx16CIBdxWJmCwHYTiOjcpRRZjXGBJa Bznn9Ur8o/y3/dosJvhokMeayk9DpWxsbvwsZI7EYF7qD/4JjCz9fr7T8YGjEdUOdS2PLu n6Q4sJlOySpsNJ2KtAQVqTpJOA6zI/pMt5x6cuMpxvnrZ5/aDifooWHE1RhTlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708763078; a=rsa-sha256; cv=none; b=SiLPfqto7xB83Fdk66tZE9PmFmK9LS2IxQKdJ8S1YbWcblCjZZhCSvjB4S4eScPDtqQH+t KQTXOGqF4rG2TwUWH0CbcDBB77AfGEpEgz6NLlUKhx/0l8HFp5zr2geodxwQc6AII1m+hd IOFDjRwNOmQvb/y9Th9XIwC98ogJI6orO9uWignaa5To9se7fOuJYtZV+d0HY5EAdfMlDF TcvKHvo/nm9P05Dj9FWVE+6B0TWKNW6Dm80m3CGu1he21ZVAVmS8SqY3FjRIXZ+5dhdRNv 4DujJFBCesj1NijguYOSuOBvyKT0i6Tosetc0zfb6meTC92R8vgG57RL+T/O/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708763078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eZKyl3Fkti1Z4QYUBYM+QYZgM7cKSRANNXrHbq6sqX8=; b=QKK14fWZbLWKdcZWpm64Wlt/y6MtIpwoWofgcPKmHUOjlLPsVrg/RK+Sta1ctba92kw4Lf GEWIEnKBl5jbaQja0Uk8gpP5TJaY8x/YHgKjbdYzDR/iLYr9nuL+xjosfg6hPDmdwHuzau ibv4hNu8LYYIp33lBxt1xaQT+T4OOEundvNK7E9mrOwzX79Hs94e6NolGWVCu99oOsrR2X OcxXvsQezQs5W02EBMszZZhgNm4tCuSaNN8WaCVuERc/pLsGUikhRM9xyQDDZs5KwxnJdv XTTzI775nT8qV+EmwH3NEwY2avsYucXjfPUqgUAGNRzrGmDwsoXVM1vJJ0zdcw== 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 4Thg0Q23P1zsJC; Sat, 24 Feb 2024 08:24: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 41O8Oces092744; Sat, 24 Feb 2024 08:24:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41O8OceP092741; Sat, 24 Feb 2024 08:24:38 GMT (envelope-from git) Date: Sat, 24 Feb 2024 08:24:38 GMT Message-Id: <202402240824.41O8OceP092741@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: 3093fe97e126 - stable/13 - net80211: Fix two typos in kernel messages 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: 3093fe97e1263d8d8a392ba3f205284628cc0fcc Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=3093fe97e1263d8d8a392ba3f205284628cc0fcc commit 3093fe97e1263d8d8a392ba3f205284628cc0fcc Author: Gordon Bergling AuthorDate: 2024-02-19 11:08:07 +0000 Commit: Gordon Bergling CommitDate: 2024-02-24 08:24:28 +0000 net80211: Fix two typos in kernel messages - s/defered/deferred/ (cherry picked from commit 94fc800f5bf20f573bef0d407c2f61ebcdc15bae) --- sys/net80211/ieee80211_hostap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index 2f6317d9d8de..dcbcffbe09a0 100644 --- a/sys/net80211/ieee80211_hostap.c +++ b/sys/net80211/ieee80211_hostap.c @@ -973,7 +973,7 @@ hostap_auth_open(struct ieee80211_node *ni, struct ieee80211_frame *wh, */ IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_AUTH | IEEE80211_MSG_ACL, ni->ni_macaddr, - "%s", "station authentication defered (radius acl)"); + "%s", "station authentication deferred (radius acl)"); ieee80211_notify_node_auth(ni); } else { IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_AUTH, seq + 1); @@ -1123,7 +1123,7 @@ hostap_auth_shared(struct ieee80211_node *ni, struct ieee80211_frame *wh, IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_AUTH | IEEE80211_MSG_ACL, ni->ni_macaddr, - "%s", "station authentication defered (radius acl)"); + "%s", "station authentication deferred (radius acl)"); ieee80211_notify_node_auth(ni); return; } From nobody Sat Feb 24 09:14:05 2024 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 4Thh5T5jKYz5CP6Z; Sat, 24 Feb 2024 09:14: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 4Thh5T4txLz4T29; Sat, 24 Feb 2024 09:14:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708766045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gNuYhafbnzQPvOFABiTGeiQ+34iDlI+zdjXkq0vAZKM=; b=KwRKE1ZiQmADet6wlUtJa1RIp2pRcJU1yiSgpBBvq+tV7onkILh9auaZ13xfxu2WmdzKql LxrnDvrM4xnyy9vLi1oIc1Lx1TlXlwztqtKlsXbLr8ZtFuELtVyVifFfuRgXsebV4O7i31 oYbGFypheUzwQlHRtFxQ72mMIzk2614IVNZHTgRErDh7Wk5GhykB9xWDTRQADe7GONIl7Q 13y1QbMNtO3EnueWe4684KtJ8X2NDJ+j/dhT6W/po/F8u/ye/WK1JObgpvVYxDIKoOue2r uWMHGNrhFOLmMIjaJPjaHq0rZw9zbKhH6TKIfb2xABZu/veLa4IOGrguK5RF1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708766045; a=rsa-sha256; cv=none; b=RcjG8zkRQn0kldACfKu69ssycQHN0xpHQrqe+d+8kVdM7B99gkx5yiw/wXxnO6oDt2pbCY f7FfA4G/5Ir9vnI5wQJmHTgENIBJjusUEP/Cvk/hDyvnR84txSer9h6OfYkZlHZfBA48If VEF4sI9zE9Jyzt0sUE66BxnXNV7lT6tMxuWUmhIf5SoH9h4clGBZrFcDoBJNM09NtJxmAU jeIF+3FK3U8Yo87wt2GzIhOHaiC8kZESp5py5WdeZS4ywt0i1VdApkHxUwY1t775CAqsKo aMVMaGfLebYIewy1X0GvfeQJGP4sDzNrP6cTKp8BhNnbmgiwTcAP4f8QyHAo4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708766045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gNuYhafbnzQPvOFABiTGeiQ+34iDlI+zdjXkq0vAZKM=; b=d2G1ecIsQshUq02DFQLqC5xxcv4Bqwk7KQHpxvbrW0I/7negptjLJ+N/qOCfoay3Se0YRZ uoDFWbccLaK/gIqaKkSEddkuLmOeQuoHP5MBLlvTd4qegaCYiLzRDcwMVLt75qPmr7U0dZ UfZkt9mKVF/DiUGQCRhb0VO1aNnpQZ57wIcxlQi+Aas5uKgdpVbfO3ulgFWul+N/Eg7wmo Y1RMhrEtjDOyhT02Ian0OaKpqHee4ekPDJgY0wRi+DNY2dXAnOuyOLXJcPzndbHB3GyZs9 Ek/r8QrkS8Tud6qDLrFVl8WoLfYsJdcv/J+8gziw//j0WJ4LFFUGuRikiwNl4A== 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 4Thh5T3xK1zv3Q; Sat, 24 Feb 2024 09:14: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 41O9E5ve078863; Sat, 24 Feb 2024 09:14:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41O9E5Rl078860; Sat, 24 Feb 2024 09:14:05 GMT (envelope-from git) Date: Sat, 24 Feb 2024 09:14:05 GMT Message-Id: <202402240914.41O9E5Rl078860@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: 61b88a230bac - main - if_hn: Fix two typos in source code comments 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: 61b88a230bac766f55984d8d33b98845d2b0d1a9 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=61b88a230bac766f55984d8d33b98845d2b0d1a9 commit 61b88a230bac766f55984d8d33b98845d2b0d1a9 Author: Gordon Bergling AuthorDate: 2024-02-24 09:13:44 +0000 Commit: Gordon Bergling CommitDate: 2024-02-24 09:13:44 +0000 if_hn: Fix two typos in source code comments - s/managment/management/ - s/transacion/transaction/ Obtained from: NetBSD MFC after: 3 days --- sys/dev/hyperv/netvsc/if_hn.c | 2 +- sys/dev/hyperv/netvsc/if_hnreg.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/hyperv/netvsc/if_hn.c b/sys/dev/hyperv/netvsc/if_hn.c index f6f885873a79..9949e0a16ab1 100644 --- a/sys/dev/hyperv/netvsc/if_hn.c +++ b/sys/dev/hyperv/netvsc/if_hn.c @@ -2523,7 +2523,7 @@ hn_detach(device_t dev) hn_stop(sc, true); /* * NOTE: - * hn_stop() only suspends data, so managment + * hn_stop() only suspends data, so management * stuffs have to be suspended manually here. */ hn_suspend_mgmt(sc); diff --git a/sys/dev/hyperv/netvsc/if_hnreg.h b/sys/dev/hyperv/netvsc/if_hnreg.h index 59ed38b71c72..bc6256bb375b 100644 --- a/sys/dev/hyperv/netvsc/if_hnreg.h +++ b/sys/dev/hyperv/netvsc/if_hnreg.h @@ -58,7 +58,7 @@ #define HN_NVS_RNDIS_MTYPE_CTRL 1 /* - * NVS message transacion status codes. + * NVS message transaction status codes. */ #define HN_NVS_STATUS_OK 1 #define HN_NVS_STATUS_FAILED 2 From nobody Sat Feb 24 12:14:59 2024 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 4Thm6D03hfz5CfR3; Sat, 24 Feb 2024 12:15: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 4Thm6C6YTKz4pTx; Sat, 24 Feb 2024 12:14:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708776899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VBCg4vgPDNSJll6bLJAvTERnmknuvCetjqo5fhYoFKM=; b=W//vbY/4b1Vp/qKjdtuuCg0nh6A6UrF2a9jXp7cKpSLSKmcX1JukM9e56cXeGVWTe0OMNk lZtRCfEVbaXTjnP7fBUpGPJU+I0Py0sHpdyPmayO8gVrA4kkboXWXIzIfbFbji2xr796zJ 4ROtSBSe8mzB0VlDgvokY7KT7mdsz9FaX2E6UsMv2DPng1v/xShxIki0uNpLYyKOemUwQ1 kcxyLNBUY96+hiYchRDELzbHmGHc1iUC7slAPAPD9OB60gT7sagKW+UOEiOoQ5ttU6mNAi u5oMwgPKrsidYXbNA1yiYFb9K2pzogsgVbEWKP2vDvY3eBZU0C0iX5a70wDb3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708776899; a=rsa-sha256; cv=none; b=IrRBpAaf8Ol0ly469VED+zVEZOcWm4wOJdBIUyLGjxCmtFI7aGnYcY9bzGB11VCoobVzhc /+GcHeBG+yn00WJ59KxpeKRUtkCKnicfn2ek/EEBeB0lNNLt5+NZ+ntpeop6TIIc4vFCQp 4TE+ASbckWVWx0JcoCeiiZih8w0qZwhsBTcyDNfszyXitZe6xjtQNQIZ/xK9uRewRyeX8k ltxUuCQKqf2fHuUQpj/66OUw48LeY43QZgy52f+gQgTrlmB6AmlnrtpFuYH1VwXCLia7Vn v8dZNA4eY6n6aCOm9wtc5ssGembOAzaBZj6RjR55pJtPlYpVcRJFAa6M1p/2pw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708776899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VBCg4vgPDNSJll6bLJAvTERnmknuvCetjqo5fhYoFKM=; b=ellKLZVCcrL0Z03IC4f82xqrtklfWQehnfc8OpXaZO4SRC8CHVAywSt3Ss0woPWhN46c4I a8dbgYH3gslFsvI9uAHnZMvOy46v8Cz7j7oJLKTzoQD+IziuNANPIyCJmmno48wuIm6ups fomOo4YHBc/ZfzG/FLDpT2mxksvy3ZbPiodO/+niSBcQNEMqZK2du4i8lDqCZgbhtlsPc4 edJ3LKfzOH04lGyfxjoyiG+Edoxgtf1MSdRRiD7ONQ/34BTIrHc5wyrCLdBdc4DbehRl7R WBx95H/qof5YMIoWyiy7wWl+QcC4ubKxH+kfbi3D4FiJa80hT/IeW/LzUWsxJQ== 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 4Thm6C5bTqz10Q2; Sat, 24 Feb 2024 12:14: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 41OCExra085047; Sat, 24 Feb 2024 12:14:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41OCExdQ085044; Sat, 24 Feb 2024 12:14:59 GMT (envelope-from git) Date: Sat, 24 Feb 2024 12:14:59 GMT Message-Id: <202402241214.41OCExdQ085044@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: fa778f0ce5ef - stable/14 - bintrans: Error out if writing to the output failed. 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/stable/14 X-Git-Reftype: branch X-Git-Commit: fa778f0ce5ef2bee0ce288a7c8eef9a88ddda8be Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=fa778f0ce5ef2bee0ce288a7c8eef9a88ddda8be commit fa778f0ce5ef2bee0ce288a7c8eef9a88ddda8be Author: Dag-Erling Smørgrav AuthorDate: 2024-02-01 13:10:31 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-24 12:12:49 +0000 bintrans: Error out if writing to the output failed. - Cover all code paths. - When decoding, check all output files, not just the last one. - A simple `ferror()` check is not enough as an error may later occur while flushing whatever remains in the output buffer. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D43532 (cherry picked from commit 5cb28f7979773715615cc2131fe40e0c5879ed1d) bintrans: Fix uninitialized variable. `prev` may be used uninitialized if `body` starts with a newline. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: bapt, emaste Differential Revision: https://reviews.freebsd.org/D43534 (cherry picked from commit bce34cba07bcfed9cd519a658e594c9910c8f210) bintrans: Add base64 to name list in manual page. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: 0mp, pstef Differential Revision: https://reviews.freebsd.org/D43558 (cherry picked from commit 64028ac3ba9668cff31bfe2c79d85a3b89e10953) bintrans: Remove unused variable. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D43559 (cherry picked from commit bc2913d1736c2b299a265741a779014d001bd108) --- usr.bin/bintrans/bintrans.1 | 9 ++++----- usr.bin/bintrans/qp.c | 5 ++--- usr.bin/bintrans/uudecode.c | 33 ++++++++++++++++++++++----------- usr.bin/bintrans/uuencode.c | 4 ++-- 4 files changed, 30 insertions(+), 21 deletions(-) diff --git a/usr.bin/bintrans/bintrans.1 b/usr.bin/bintrans/bintrans.1 index e7e7f4c56cdf..16ae66aa21d1 100644 --- a/usr.bin/bintrans/bintrans.1 +++ b/usr.bin/bintrans/bintrans.1 @@ -25,9 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" From: @(#)uuencode.1 8.1 (Berkeley) 6/6/93 -.\" -.Dd April 18, 2022 +.Dd January 23, 2024 .Dt BINTRANS 1 .Os .Sh NAME @@ -35,8 +33,9 @@ .Nm uuencode , .Nm uudecode , .Nm b64encode , -.Nm b64decode -.Nd encode/decode a binary file +.Nm b64decode , +.Nm base64 +.Nd encode / decode a binary file .Sh SYNOPSIS .Nm .Op algorithm diff --git a/usr.bin/bintrans/qp.c b/usr.bin/bintrans/qp.c index 74fa1ec3ae90..c2c9dfa7a224 100644 --- a/usr.bin/bintrans/qp.c +++ b/usr.bin/bintrans/qp.c @@ -90,9 +90,9 @@ decode_quoted_printable(const char *body, FILE *fpo) static void encode_quoted_printable(const char *body, FILE *fpo) { - char prev; const char *end = body + strlen(body); size_t linelen = 0; + char prev = '\0'; while (*body != '\0') { if (linelen == 75) { @@ -138,12 +138,11 @@ qp(FILE *fp, FILE *fpo, bool encode) { char *line = NULL; size_t linecap = 0; - ssize_t linelen; void (*codec)(const char *line, FILE *f); codec = encode ? encode_quoted_printable : decode_quoted_printable ; - while ((linelen = getline(&line, &linecap, fp)) > 0) + while (getline(&line, &linecap, fp) > 0) codec(line, fpo); free(line); } diff --git a/usr.bin/bintrans/uudecode.c b/usr.bin/bintrans/uudecode.c index b0ab415486c8..6f716b0f2ec1 100644 --- a/usr.bin/bintrans/uudecode.c +++ b/usr.bin/bintrans/uudecode.c @@ -343,11 +343,22 @@ checkend(const char *ptr, const char *end, const char *msg) warnx("%s: %s: %s", infile, outfile, msg); return (1); } - if (fclose(outfp) != 0) { + return (0); +} + +static int +checkout(int rval) +{ + if (fflush(outfp) != 0) { warn("%s: %s", infile, outfile); - return (1); + rval = 1; } - return (0); + if (outfp != stdout) { + (void)fclose(outfp); + outfp = stdout; + } + outfile = "/dev/stdout"; + return (rval); } static int @@ -361,9 +372,9 @@ uu_decode(void) for (;;) { switch (get_line(buf, sizeof(buf))) { case 0: - return (0); + return (checkout(0)); case 1: - return (1); + return (checkout(1)); } #define DEC(c) (((c) - ' ') & 077) /* single character decode */ @@ -420,11 +431,11 @@ uu_decode(void) } switch (get_line(buf, sizeof(buf))) { case 0: - return (0); + return (checkout(0)); case 1: - return (1); + return (checkout(1)); default: - return (checkend(buf, "end", "no \"end\" line")); + return (checkout(checkend(buf, "end", "no \"end\" line"))); } } @@ -442,9 +453,9 @@ base64_decode(void) switch (get_line(inbuf + strlen(inbuf), sizeof(inbuf) - strlen(inbuf))) { case 0: - return (0); + return (checkout(0)); case 1: - return (1); + return (checkout(1)); } count = 0; @@ -471,7 +482,7 @@ base64_decode(void) break; fwrite(outbuf, 1, n, outfp); } - return (checkend(inbuf, "====", "error decoding base64 input stream")); + return (checkout(checkend(inbuf, "====", "error decoding base64 input stream"))); } static void diff --git a/usr.bin/bintrans/uuencode.c b/usr.bin/bintrans/uuencode.c index 267ab7deb8d1..d6a377fcabae 100644 --- a/usr.bin/bintrans/uuencode.c +++ b/usr.bin/bintrans/uuencode.c @@ -86,7 +86,7 @@ main_base64_encode(const char *in, const char *w) if (w != NULL) columns = arg_to_col(w); base64_encode(); - if (ferror(output)) + if (fflush(output) != 0) errx(1, "write error"); exit(0); } @@ -156,7 +156,7 @@ main_encode(int argc, char *argv[]) base64_encode(); else encode(); - if (ferror(output)) + if (fflush(output) != 0) errx(1, "write error"); exit(0); } From nobody Sat Feb 24 12:15:00 2024 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 4Thm6F1grQz5Cf98; Sat, 24 Feb 2024 12:15: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 4Thm6F0SH0z4pB6; Sat, 24 Feb 2024 12:15:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708776901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HH1D8t1vNXytuOEsC50C9ty7JfzbFYX/Nv1ze0AkeHY=; b=PuT9X5mFaDIOsiyi1rtXBz9T1PA2ZCgv5YslDQRbdpeFqD06sDlzz89xbOfsBZQGiEeQgJ gJ826xI5xYmGbppTjbwle6/Tia6hTDY/qV87SxRbOifQnqiccNsHkB+1SC7ItWz/DgslGi 4Ec6A/dYSIzujvDIsdNgXl5XsHLUyjo2/i2EnH493VVHbKpLu7lVn9L9pigMFA50CWPI1q PkjP0e3pyTxHUEuo6eORBzxfPOvOm1fSE2RGRMdotX62xaQQYjKRbbvOX2XzB3QqrMUda7 u9mN1tgAdpZu+YUVv5A+Nb7gr3ya033AnmNulB6FZgoPRvGkJv0sXJshfs4wpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708776901; a=rsa-sha256; cv=none; b=qBEzn3Cyf7zi74/Yff7wBU8wvFgjIsf+oVsChZLS2DU5pBTpw33Z4EsWkNgFN3OV3dleIp uC5yt9gvwQbtfNeTE8CmYuRoNYdaqB+RjMkuUmpq9V80wIujIN8y821Ffq6G4YmviXrFQL lLyrIxXEJjWwEPwQdFcO0JZr3XK7Wz9lsJT8AXwCTEfan6Lyw7gTwQZ+ApQHsFENlHAFzx 7WMGXTyNQVNvwVHJCh2llC5Svphg1CtE/LXt0IQxHMWoOwJoHbfe3+xPsNsUAXT/HVOFaG 5VmVUt6VXS1lvu0ftMU1ykWZtYVZ46yIYm8I4BN7ScJKKVgxp3IB98Q8Pe1iEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708776901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HH1D8t1vNXytuOEsC50C9ty7JfzbFYX/Nv1ze0AkeHY=; b=XhI/TmGq6x1GLgZlVop7/ZBdthynW0X5FC9b10aj/l08uf2OkgrvrJyAH+a4V0Jy6ifYs0 wgu77crwtDf42wppBdBuQJss9BWlBfRenEeHumowDZdF9QxgHnVpUAQC4UmG23y/7wEdYK sxc+C7NDDlvSwrKi/e9StYvTE9NjMjDJNs/9aXiqwRTOSKUvEzdLeEyu5l8RFJM+eCJUcX Tv2C+lOjLgN1Tt0iTyu0jo27EjCCBnzlpQIIzGloy4CrAAkdoNDWQgVsW0D306CNK6DR3O s9dq3uITjpOcc3A4LFgjHsXCo9IQyq4g1zI6/qWz7+cA0YksxtenMa7gtRGjzg== 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 4Thm6D6d6Rz10Q3; Sat, 24 Feb 2024 12:15: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 41OCF0dq085108; Sat, 24 Feb 2024 12:15:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41OCF0ZM085105; Sat, 24 Feb 2024 12:15:00 GMT (envelope-from git) Date: Sat, 24 Feb 2024 12:15:00 GMT Message-Id: <202402241215.41OCF0ZM085105@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 4ffc5ab03f83 - stable/14 - patch: Support long context lines. 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4ffc5ab03f8370dcffb1d0bb968e2152348cc709 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=4ffc5ab03f8370dcffb1d0bb968e2152348cc709 commit 4ffc5ab03f8370dcffb1d0bb968e2152348cc709 Author: Dag-Erling Smørgrav AuthorDate: 2024-02-12 18:26:13 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-24 12:12:49 +0000 patch: Support long context lines. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D43850 (cherry picked from commit 851a9da38f070675c42a6d69c41c47a5d29ee3d0) --- usr.bin/patch/patch.c | 2 +- usr.bin/patch/pch.c | 10 +++++----- usr.bin/patch/pch.h | 2 +- usr.bin/patch/tests/unified_patch_test.sh | 19 +++++++++++++++++++ 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/usr.bin/patch/patch.c b/usr.bin/patch/patch.c index ecaf799fe9b6..92ea4973e8f6 100644 --- a/usr.bin/patch/patch.c +++ b/usr.bin/patch/patch.c @@ -1083,7 +1083,7 @@ patch_match(LINENUM base, LINENUM offset, LINENUM fuzz) LINENUM pat_lines = pch_ptrn_lines() - fuzz; const char *ilineptr; const char *plineptr; - unsigned short plinelen; + size_t plinelen; /* Patch does not match if we don't have any more context to use */ if (pline > pat_lines) diff --git a/usr.bin/patch/pch.c b/usr.bin/patch/pch.c index d528f06235bf..fb53ff86f9ef 100644 --- a/usr.bin/patch/pch.c +++ b/usr.bin/patch/pch.c @@ -55,7 +55,7 @@ static LINENUM p_max; /* max allowed value of p_end */ static LINENUM p_context = 3; /* # of context lines */ static LINENUM p_input_line = 0; /* current line # from patch file */ static char **p_line = NULL;/* the text of the hunk */ -static unsigned short *p_len = NULL; /* length of each line */ +static size_t *p_len = NULL; /* length of each line */ static char *p_char = NULL; /* +, -, and ! */ static int hunkmax = INITHUNKMAX; /* size of above arrays to begin with */ static int p_indent; /* indent to patch */ @@ -137,7 +137,7 @@ set_hunkmax(void) if (p_line == NULL) p_line = malloc(hunkmax * sizeof(char *)); if (p_len == NULL) - p_len = malloc(hunkmax * sizeof(unsigned short)); + p_len = malloc(hunkmax * sizeof(size_t)); if (p_char == NULL) p_char = malloc(hunkmax * sizeof(char)); } @@ -154,7 +154,7 @@ grow_hunkmax(void) fatal("Internal memory allocation error\n"); p_line = reallocf(p_line, new_hunkmax * sizeof(char *)); - p_len = reallocf(p_len, new_hunkmax * sizeof(unsigned short)); + p_len = reallocf(p_len, new_hunkmax * sizeof(size_t)); p_char = reallocf(p_char, new_hunkmax * sizeof(char)); if (p_line != NULL && p_len != NULL && p_char != NULL) { @@ -1251,7 +1251,7 @@ bool pch_swap(void) { char **tp_line; /* the text of the hunk */ - unsigned short *tp_len;/* length of each line */ + size_t *tp_len; /* length of each line */ char *tp_char; /* +, -, and ! */ LINENUM i; LINENUM n; @@ -1408,7 +1408,7 @@ pch_context(void) /* * Return the length of a particular patch line. */ -unsigned short +size_t pch_line_len(LINENUM line) { return p_len[line]; diff --git a/usr.bin/patch/pch.h b/usr.bin/patch/pch.h index 5ce4f72497c7..b6c6363155a5 100644 --- a/usr.bin/patch/pch.h +++ b/usr.bin/patch/pch.h @@ -45,7 +45,7 @@ bool there_is_another_patch(void); bool another_hunk(void); bool pch_swap(void); char *pfetch(LINENUM); -unsigned short pch_line_len(LINENUM); +size_t pch_line_len(LINENUM); LINENUM pch_first(void); LINENUM pch_ptrn_lines(void); LINENUM pch_newfirst(void); diff --git a/usr.bin/patch/tests/unified_patch_test.sh b/usr.bin/patch/tests/unified_patch_test.sh index 43b0d8373cfa..7d4b74182c41 100755 --- a/usr.bin/patch/tests/unified_patch_test.sh +++ b/usr.bin/patch/tests/unified_patch_test.sh @@ -141,6 +141,24 @@ file_removal_body() atf_check -o inline:"y\n" cat foo } +atf_test_case plinelen +plinelen_body() +{ + hello="$(jot -b hello -s, 20000 | tee foo.txt)" + cp foo.txt bar.txt + echo "world" >>bar.txt + cat >foo.diff < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 1288891878d9 - stable/14 - md5: Accept "-" as alias for stdin. 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1288891878d9a194af8c170bb6a33c06e306e0e0 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=1288891878d9a194af8c170bb6a33c06e306e0e0 commit 1288891878d9a194af8c170bb6a33c06e306e0e0 Author: Dag-Erling Smørgrav AuthorDate: 2024-02-16 12:36:58 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-24 12:12:49 +0000 md5: Accept "-" as alias for stdin. (based on a patch by jhb) MFC after: 1 week PR: 276915 Reported by: Hannes Hauswedell Reviewed by: allanjude, markj, jhb, emaste Differential Revision: https://reviews.freebsd.org/D43870 (cherry picked from commit 72ee91fed4cfdcfbfb767cc166370b40e50d446a) md5: Ignore files in string and passthrough mode. MFC after: 1 week Reviewed by: allanjude, markj Differential Revision: https://reviews.freebsd.org/D43871 (cherry picked from commit 5b44edb4058365ba8e4ccfdb5176c1cddd4394fe) md5: Clean up input stream rights. Keep it simple, caph_limit_stdio() and fileargs_fopen() already take care of everything for us. MFC after: 1 week Reviewed by: markj, jhb, emaste Differential Revision: https://reviews.freebsd.org/D43897 (cherry picked from commit 17d5b027c1921d0c6ba2de7993dd808dbf4df078) md5: Add test case for GNU input modes. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude, markj Differential Revision: https://reviews.freebsd.org/D43988 (cherry picked from commit e7308a60a5b77a1e4aff6e27eddef40fedabb98c) md5: Fix Perl mode long options. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: imp, allanjude, markj Differential Revision: https://reviews.freebsd.org/D43989 (cherry picked from commit 4db7ca24470576948e33f48033cfa5be2749950e) md5: Fix GNU check mode. Fixes: 9b20849bc5f1b500f2de7aeca77f0e6556069bbb MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: imp, allanjude, markj Differential Revision: https://reviews.freebsd.org/D43990 (cherry picked from commit c05533d97ac178f8e811407860d47d3c0ae61eed) md5: Untabify declarations. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: imp, allanjude, markj Differential Revision: https://reviews.freebsd.org/D43991 (cherry picked from commit 702f133fa18185a7e10e66316e8f158be935b696) --- sbin/md5/md5.1 | 9 +++- sbin/md5/md5.c | 101 +++++++++++++++++++++++---------------------- sbin/md5/tests/md5_test.sh | 35 ++++++++++++++++ 3 files changed, 95 insertions(+), 50 deletions(-) diff --git a/sbin/md5/md5.1 b/sbin/md5/md5.1 index 0cdfff928211..0a8dc46f3b1f 100644 --- a/sbin/md5/md5.1 +++ b/sbin/md5/md5.1 @@ -1,4 +1,4 @@ -.Dd May 10, 2023 +.Dd February 13, 2024 .Dt MD5 1 .Os .Sh NAME @@ -79,6 +79,11 @@ utility does the same, but with command-line options and an output format that match those of the similarly named utility that ships with Perl. .Pp +In all cases, each file listed on the command line is processed separately. +If no files are listed on the command line, or a file name is given as +.Pa - , +input is taken from stdin instead. +.Pp It is conjectured that it is computationally infeasible to produce two messages having the same message digest, or to produce any message having a given prespecified target message digest. @@ -124,6 +129,7 @@ option, the calculated digest is printed in addition to the exit status being se .Pq Note that this option is not yet useful if multiple files are specified. .It Fl p , -passthrough Echo stdin to stdout and append the checksum to stdout. +In this mode, any files specified on the command line are silently ignored. .It Fl q , -quiet Quiet mode \(em only the checksum is printed out. Overrides the @@ -141,6 +147,7 @@ options. .It Fl s Ar string , Fl -string= Ns Ar string Print a checksum of the given .Ar string . +In this mode, any files specified on the command line are silently ignored. .It Fl t , Fl -time-trial Run a built-in time trial. For the diff --git a/sbin/md5/md5.c b/sbin/md5/md5.c index eb9a2ffae1cc..1bf897d119c0 100644 --- a/sbin/md5/md5.c +++ b/sbin/md5/md5.c @@ -264,7 +264,8 @@ static const char *gnu_shortopts = "bctwz"; static const struct option perl_longopts[] = { { "algorithm", required_argument, 0, opt_algorithm }, - { "check", required_argument, 0, opt_check }, + { "binary", no_argument, 0, opt_binary }, + { "check", no_argument, 0, opt_check }, { "help", no_argument, 0, opt_help }, { "ignore-missing", no_argument, 0, opt_ignore_missing }, { "quiet", no_argument, 0, opt_quiet }, @@ -287,9 +288,10 @@ MD5_Update(MD5_CTX *c, const unsigned char *data, size_t len) } struct chksumrec { - char *filename; - char *chksum; - struct chksumrec *next; + char *filename; + enum input_mode input_mode; + char *chksum; + struct chksumrec *next; }; static struct chksumrec *head = NULL; @@ -302,17 +304,17 @@ static unsigned int numrecs; static void gnu_check(const char *checksumsfile) { - FILE *inp; - char *linebuf = NULL; - size_t linecap; - ssize_t linelen; - int lineno; - char *filename; - char *hashstr; - struct chksumrec *rec; - const char *digestname; - size_t digestnamelen; - size_t hashstrlen; + FILE *inp; + char *linebuf = NULL; + size_t linecap; + ssize_t linelen; + int lineno; + char *filename; + char *hashstr; + struct chksumrec *rec; + const char *digestname; + size_t digestnamelen; + size_t hashstrlen; struct stat st; if (strcmp(checksumsfile, "-") == 0) @@ -362,16 +364,18 @@ gnu_check(const char *checksumsfile) if (rec == NULL) errx(1, "malloc failed"); - if (*filename == '*' || - *filename == ' ' || - *filename == 'U' || - *filename == '^') { - if (lstat(filename, &st) != 0) - filename++; + if ((*filename == '*' || *filename == ' ' || + *filename == 'U' || *filename == '^') && + lstat(filename, &st) != 0 && + lstat(filename + 1, &st) == 0) { + rec->filename = strdup(filename + 1); + rec->input_mode = (enum input_mode)*filename; + } else { + rec->filename = strdup(filename); + rec->input_mode = input_mode; } rec->chksum = strdup(hashstr); - rec->filename = strdup(filename); if (rec->chksum == NULL || rec->filename == NULL) errx(1, "malloc failed"); rec->next = NULL; @@ -396,17 +400,17 @@ int main(int argc, char *argv[]) { #ifdef HAVE_CAPSICUM - cap_rights_t rights; - fileargs_t *fa = NULL; + cap_rights_t rights; + fileargs_t *fa = NULL; #endif const struct option *longopts; const char *shortopts; - FILE *f; - int i, opt; - char *p, *string = NULL; - char buf[HEX_DIGEST_LENGTH]; - size_t len; - struct chksumrec *rec; + FILE *f; + int i, opt; + char *p, *string = NULL; + char buf[HEX_DIGEST_LENGTH]; + size_t len; + struct chksumrec *rec; if ((progname = strrchr(argv[0], '/')) == NULL) progname = argv[0]; @@ -575,7 +579,7 @@ main(int argc, char *argv[]) argv += optind; #ifdef HAVE_CAPSICUM - if (caph_limit_stdout() < 0 || caph_limit_stderr() < 0) + if (caph_limit_stdio() < 0) err(1, "unable to limit rights for stdio"); #endif @@ -607,41 +611,40 @@ main(int argc, char *argv[]) err(1, "Unable to enter capability mode"); #endif - if (*argv) { + if (*argv && !pflag && string == NULL) { do { const char *filename = *argv; const char *filemode = "rb"; + if (cflag && mode != mode_bsd) { + input_mode = rec->input_mode; + checkAgainst = rec->chksum; + rec = rec->next; + } + if (input_mode == input_text) + filemode = "r"; + if (strcmp(filename, "-") == 0) { + f = stdin; + } else { #ifdef HAVE_CAPSICUM - if ((f = fileargs_fopen(fa, filename, filemode)) == NULL) { + f = fileargs_fopen(fa, filename, filemode); #else - if ((f = fopen(filename, filemode)) == NULL) { + f = fopen(filename, filemode); #endif + } + if (f == NULL) { if (errno != ENOENT || !(cflag && ignoreMissing)) { warn("%s", filename); failed = true; } - if (cflag && mode != mode_bsd) - rec = rec->next; continue; } -#ifdef HAVE_CAPSICUM - if (caph_rights_limit(fileno(f), &rights) < 0) - err(1, "capsicum"); -#endif - if (cflag && mode != mode_bsd) { - checkAgainst = rec->chksum; - rec = rec->next; - } p = MDInput(&Algorithm[digest], f, buf, false); - (void)fclose(f); + if (f != stdin) + (void)fclose(f); MDOutput(&Algorithm[digest], p, filename); } while (*++argv); } else if (!cflag && string == NULL && !skip) { -#ifdef HAVE_CAPSICUM - if (caph_limit_stdin() < 0) - err(1, "capsicum"); -#endif if (mode == mode_bsd) output_mode = output_bare; p = MDInput(&Algorithm[digest], stdin, buf, pflag); diff --git a/sbin/md5/tests/md5_test.sh b/sbin/md5/tests/md5_test.sh index c6bc1dfd7be0..34bdf43f13ea 100644 --- a/sbin/md5/tests/md5_test.sh +++ b/sbin/md5/tests/md5_test.sh @@ -197,11 +197,15 @@ bsd_${alg}_vec${i}_body() { printf '%s' \"\$inp_${i}\" >in atf_check -o inline:\"\$out_${i}_${alg}\n\" ${alg} input + # The first line is malformed per GNU coreutils but matches + # what we produce when mode == mode_bsd && output_mode == + # output_reverse (i.e. `sha1 -r`) so we want to support it. + cat >digests < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 181e9683778e - stable/14 - sdiff: Misc cleanup. 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 181e9683778ee4169d8e54e7330d4ca5281701f6 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=181e9683778ee4169d8e54e7330d4ca5281701f6 commit 181e9683778ee4169d8e54e7330d4ca5281701f6 Author: Dag-Erling Smørgrav AuthorDate: 2024-02-18 17:39:23 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-02-24 12:12:49 +0000 sdiff: Misc cleanup. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D43943 (cherry picked from commit 3cc86989bfbe27c91b5db592c2af33fef153e230) sdiff: Fix --expand-tabs and --tabsize. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D43941 (cherry picked from commit a834edfccd14a8c0f152a3b0078469af8e05f3fd) sdiff: Fix binary case. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D43942 (cherry picked from commit ad7bef8b890768e68a48bbfa6b92ebf635068504) --- usr.bin/sdiff/sdiff.1 | 4 +- usr.bin/sdiff/sdiff.c | 232 +++++++++++++++++++++----------------- usr.bin/sdiff/tests/sdiff_test.sh | 36 ++++++ 3 files changed, 164 insertions(+), 108 deletions(-) diff --git a/usr.bin/sdiff/sdiff.1 b/usr.bin/sdiff/sdiff.1 index ef9bb95a0990..ca6594c6479a 100644 --- a/usr.bin/sdiff/sdiff.1 +++ b/usr.bin/sdiff/sdiff.1 @@ -3,7 +3,7 @@ .\" Written by Raymond Lai . .\" Public domain. .\" -.Dd April 8, 2017 +.Dd February 16, 2024 .Dt SDIFF 1 .Os .Sh NAME @@ -117,8 +117,6 @@ Ignore all spaces. Ignore blank lines. .It Fl E -ignore-tab-expansion Treat tabs and eight spaces as the same. -.It Fl t -ignore-tabs -Ignore tabs. .It Fl H -speed-large-files Assume scattered small changes in a large file. .It Fl -ignore-file-name-case diff --git a/usr.bin/sdiff/sdiff.c b/usr.bin/sdiff/sdiff.c index b863d5875db6..6402b85017a7 100644 --- a/usr.bin/sdiff/sdiff.c +++ b/usr.bin/sdiff/sdiff.c @@ -9,7 +9,6 @@ #include #include #include -#include #include #include @@ -19,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -51,7 +51,7 @@ static void astrcat(char **, const char *); static void enqueue(char *, char, char *); static char *mktmpcpy(const char *); static int istextfile(FILE *); -static void binexec(char *, char *, char *) __dead2; +static int bindiff(FILE *, char *, FILE *, char *); static void freediff(struct diffline *); static void int_usage(void); static int parsecmd(FILE *, FILE *, FILE *); @@ -69,11 +69,13 @@ static STAILQ_HEAD(, diffline) diffhead = STAILQ_HEAD_INITIALIZER(diffhead); static size_t line_width; /* width of a line (two columns and divider) */ static size_t width; /* width of each column */ static size_t file1ln, file2ln; /* line number of file1 and file2 */ -static int Iflag = 0; /* ignore sets matching regexp */ -static int lflag; /* print only left column for identical lines */ -static int sflag; /* skip identical lines */ -FILE *outfp; /* file to save changes to */ -const char *tmpdir; /* TMPDIR or /tmp */ +static bool Iflag; /* ignore sets matching regexp */ +static bool lflag; /* print only left column for identical lines */ +static bool sflag; /* skip identical lines */ +static bool tflag; /* expand tabs */ +static int tabsize = 8; /* tab size */ +FILE *outfp; /* file to save changes to */ +const char *tmpdir; /* TMPDIR or /tmp */ enum { HELP_OPT = CHAR_MAX + 1, @@ -127,7 +129,7 @@ static const char *help_msg[] = { "\t-d, --minimal: minimize diff size.", "\t-I RE, --ignore-matching-lines=RE: ignore changes whose line matches RE.", "\t-i, --ignore-case: do a case-insensitive comparison.", - "\t-t, --expand-tabs: sxpand tabs to spaces.", + "\t-t, --expand-tabs: expand tabs to spaces.", "\t-W, --ignore-all-spaces: ignore all spaces.", "\t--speed-large-files: assume large file with scattered changes.", "\t--strip-trailing-cr: strip trailing carriage return.", @@ -206,14 +208,13 @@ FAIL: int main(int argc, char **argv) { - FILE *diffpipe=NULL, *file1, *file2; - size_t diffargc = 0, wflag = WIDTH; - int ch, fd[2] = {-1}, status; - pid_t pid=0; - const char *outfile = NULL; - char **diffargv, *diffprog = diff_path, *filename1, *filename2, - *tmp1, *tmp2, *s1, *s2; - int i; + FILE *diffpipe, *file1, *file2; + size_t diffargc = 0, flagc = 0, wval = WIDTH; + int ch, fd[2], i, ret, status; + pid_t pid; + const char *errstr, *outfile = NULL; + char **diffargv, *diffprog = diff_path, *flagv; + char *filename1, *filename2, *tmp1, *tmp2, *s1, *s2; char I_arg[] = "-I"; char speed_lf[] = "--speed-large-files"; @@ -228,26 +229,26 @@ main(int argc, char **argv) * waste some memory; however we need an extra space for the * NULL at the end, so it sort of works out. */ - if (!(diffargv = calloc(argc, sizeof(char **) * 2))) - err(2, "main"); + if ((diffargv = calloc(argc, sizeof(char *) * 2)) == NULL) + err(2, NULL); /* Add first argument, the program name. */ diffargv[diffargc++] = diffprog; - /* create a dynamic string for merging single-switch options */ - if ( asprintf(&diffargv[diffargc++], "-") < 0 ) - err(2, "main"); + /* create a dynamic string for merging single-character options */ + if ((flagv = malloc(flagc + 2)) == NULL) + err(2, NULL); + flagv[flagc] = '-'; + flagv[flagc + 1] = '\0'; + diffargv[diffargc++] = flagv; while ((ch = getopt_long(argc, argv, "aBbdEHI:ilo:stWw:", longopts, NULL)) != -1) { - const char *errstr; - switch (ch) { /* only compatible --long-name-form with diff */ case FCASE_IGNORE_OPT: case FCASE_SENSITIVE_OPT: case STRIPCR_OPT: - case TSIZE_OPT: case 'S': break; /* combine no-arg single switches */ @@ -257,16 +258,14 @@ main(int argc, char **argv) case 'd': case 'E': case 'i': - case 't': case 'W': - diffargv[1] = realloc(diffargv[1], sizeof(char) * strlen(diffargv[1]) + 2); + flagc++; + flagv = realloc(flagv, flagc + 2); /* * In diff, the 'W' option is 'w' and the 'w' is 'W'. */ - if (ch == 'W') - sprintf(diffargv[1], "%sw", diffargv[1]); - else - sprintf(diffargv[1], "%s%c", diffargv[1], ch); + flagv[flagc] = ch == 'W' ? 'w' : ch; + flagv[flagc + 1] = '\0'; break; case 'H': diffargv[diffargc++] = speed_lf; @@ -275,21 +274,24 @@ main(int argc, char **argv) diffargv[0] = diffprog = optarg; break; case 'I': - Iflag = 1; + Iflag = true; diffargv[diffargc++] = I_arg; diffargv[diffargc++] = optarg; break; case 'l': - lflag = 1; + lflag = true; break; case 'o': outfile = optarg; break; case 's': - sflag = 1; + sflag = true; + break; + case 't': + tflag = true; break; case 'w': - wflag = strtonum(optarg, WIDTH_MIN, + wval = strtonum(optarg, WIDTH_MIN, INT_MAX, &errstr); if (errstr) errx(2, "width is %s: %s", errstr, optarg); @@ -299,19 +301,23 @@ main(int argc, char **argv) printf("%s\n", help_msg[i]); exit(0); break; + case TSIZE_OPT: + tabsize = strtonum(optarg, 1, INT_MAX, &errstr); + if (errstr) + errx(2, "tabsize is %s: %s", errstr, optarg); + break; default: usage(); break; } } - /* no single switches were used */ - if (strcmp(diffargv[1], "-") == 0 ) { - for ( i = 1; i < argc-1; i++) { - diffargv[i] = diffargv[i+1]; - } - diffargv[diffargc-1] = NULL; + /* no single-character options were used */ + if (flagc == 0) { + memmove(diffargv + 1, diffargv + 2, + sizeof(char *) * (diffargc - 2)); diffargc--; + free(flagv); } argc -= optind; @@ -350,13 +356,22 @@ main(int argc, char **argv) filename2 = tmp2; } + if ((file1 = fopen(filename1, "r")) == NULL) + err(2, "could not open %s", filename1); + if ((file2 = fopen(filename2, "r")) == NULL) + err(2, "could not open %s", filename2); + if (!istextfile(file1) || !istextfile(file2)) { + ret = bindiff(file1, filename1, file2, filename2); + goto done; + } + diffargv[diffargc++] = filename1; diffargv[diffargc++] = filename2; /* Add NULL to end of array to indicate end of array. */ diffargv[diffargc++] = NULL; /* Subtract column divider and divide by two. */ - width = (wflag - 3) / 2; + width = (wval - 3) / 2; /* Make sure line_width can fit in size_t. */ if (width > (SIZE_MAX - 3) / 2) errx(2, "width is too large: %zu", width); @@ -365,21 +380,18 @@ main(int argc, char **argv) if (pipe(fd)) err(2, "pipe"); - switch (pid = fork()) { - case 0: + if ((pid = fork()) < 0) + err(1, "fork()"); + if (pid == 0) { /* child */ /* We don't read from the pipe. */ close(fd[0]); - if (dup2(fd[1], STDOUT_FILENO) == -1) - err(2, "child could not duplicate descriptor"); + if (dup2(fd[1], STDOUT_FILENO) != STDOUT_FILENO) + _exit(2); /* Free unused descriptor. */ close(fd[1]); execvp(diffprog, diffargv); - err(2, "could not execute diff: %s", diffprog); - break; - case -1: - err(2, "could not fork"); - break; + _exit(2); } /* parent */ @@ -390,26 +402,6 @@ main(int argc, char **argv) if ((diffpipe = fdopen(fd[0], "r")) == NULL) err(2, "could not open diff pipe"); - if ((file1 = fopen(filename1, "r")) == NULL) - err(2, "could not open %s", filename1); - if ((file2 = fopen(filename2, "r")) == NULL) - err(2, "could not open %s", filename2); - if (!istextfile(file1) || !istextfile(file2)) { - /* Close open files and pipe, delete temps */ - fclose(file1); - fclose(file2); - if (diffpipe != NULL) - fclose(diffpipe); - if (tmp1) - if (unlink(tmp1)) - warn("Error deleting %s.", tmp1); - if (tmp2) - if (unlink(tmp2)) - warn("Error deleting %s.", tmp2); - free(tmp1); - free(tmp2); - binexec(diffprog, filename1, filename2); - } /* Line numbers start at one. */ file1ln = file2ln = 1; @@ -421,20 +413,10 @@ main(int argc, char **argv) /* Wait for diff to exit. */ if (waitpid(pid, &status, 0) == -1 || !WIFEXITED(status) || WEXITSTATUS(status) >= 2) - err(2, "diff exited abnormally."); + errx(2, "diff exited abnormally"); + ret = WEXITSTATUS(status); - /* Delete and free unneeded temporary files. */ - if (tmp1) - if (unlink(tmp1)) - warn("Error deleting %s.", tmp1); - if (tmp2) - if (unlink(tmp2)) - warn("Error deleting %s.", tmp2); - free(tmp1); - free(tmp2); - filename1 = filename2 = tmp1 = tmp2 = NULL; - - /* No more diffs, so print common lines. */ + /* No more diffs, so enqueue common lines. */ if (lflag) while ((s1 = xfgets(file1))) enqueue(s1, ' ', NULL); @@ -452,23 +434,55 @@ main(int argc, char **argv) /* Process unmodified lines. */ processq(); +done: + /* Delete and free unneeded temporary files. */ + if (tmp1 != NULL) { + if (unlink(tmp1) != 0) + warn("failed to delete %s", tmp1); + free(tmp1); + } + if (tmp2 != NULL) { + if (unlink(tmp2) != 0) + warn("failed to delete %s", tmp2); + free(tmp2); + } + /* Return diff exit status. */ - return (WEXITSTATUS(status)); + free(diffargv); + if (flagc > 0) + free(flagv); + return (ret); } /* - * When sdiff detects a binary file as input, executes them with - * diff to maintain the same behavior as GNU sdiff with binary input. + * When sdiff detects a binary file as input. */ -static void -binexec(char *diffprog, char *f1, char *f2) +static int +bindiff(FILE *f1, char *fn1, FILE *f2, char *fn2) { - - char *args[] = {diffprog, f1, f2, (char *) 0}; - execv(diffprog, args); - - /* If execv() fails, sdiff's execution will continue below. */ - errx(1, "could not execute diff process"); + int ch1, ch2; + + flockfile(f1); + flockfile(f2); + do { + ch1 = getc_unlocked(f1); + ch2 = getc_unlocked(f2); + } while (ch1 != EOF && ch2 != EOF && ch1 == ch2); + funlockfile(f2); + funlockfile(f1); + if (ferror(f1)) { + warn("%s", fn1); + return (2); + } + if (ferror(f2)) { + warn("%s", fn2); + return (2); + } + if (ch1 != EOF || ch2 != EOF) { + printf("Binary files %s and %s differ\n", fn1, fn2); + return (1); + } + return (0); } /* @@ -514,11 +528,11 @@ printcol(const char *s, size_t *col, const size_t col_max) * If rounding to next multiple of eight causes * an integer overflow, just return. */ - if (*col > SIZE_MAX - 8) + if (*col > SIZE_MAX - tabsize) return; /* Round to next multiple of eight. */ - new_col = (*col / 8 + 1) * 8; + new_col = (*col / tabsize + 1) * tabsize; /* * If printing the tab goes past the column @@ -526,12 +540,20 @@ printcol(const char *s, size_t *col, const size_t col_max) */ if (new_col > col_max) return; - *col = new_col; + + if (tflag) { + do { + putchar(' '); + } while (++*col < new_col); + } else { + putchar(*s); + *col = new_col; + } break; default: - ++(*col); + ++*col; + putchar(*s); } - putchar(*s); } } @@ -552,7 +574,7 @@ prompt(const char *s1, const char *s2) const char *p; /* Skip leading whitespace. */ - for (p = cmd; isspace(*p); ++p) + for (p = cmd; isspace((unsigned char)*p); ++p) ; switch (*p) { case 'e': @@ -578,10 +600,10 @@ prompt(const char *s1, const char *s2) /* End of command parsing. */ break; case 's': - sflag = 1; + sflag = true; goto PROMPT; case 'v': - sflag = 0; + sflag = false; /* FALLTHROUGH */ default: /* Interactive usage help. */ @@ -702,7 +724,7 @@ parsecmd(FILE *diffpipe, FILE *file1, FILE *file2) p = line; /* Go to character after line number. */ - while (isdigit(*p)) + while (isdigit((unsigned char)*p)) ++p; c = *p; *p++ = 0; @@ -714,7 +736,7 @@ parsecmd(FILE *diffpipe, FILE *file1, FILE *file2) if (c == ',') { q = p; /* Go to character after file2end. */ - while (isdigit(*p)) + while (isdigit((unsigned char)*p)) ++p; c = *p; *p++ = 0; @@ -733,7 +755,7 @@ parsecmd(FILE *diffpipe, FILE *file1, FILE *file2) q = p; /* Go to character after line number. */ - while (isdigit(*p)) + while (isdigit((unsigned char)*p)) ++p; c = *p; *p++ = 0; diff --git a/usr.bin/sdiff/tests/sdiff_test.sh b/usr.bin/sdiff/tests/sdiff_test.sh index 100fa1b123b0..83ed93503f18 100755 --- a/usr.bin/sdiff/tests/sdiff_test.sh +++ b/usr.bin/sdiff/tests/sdiff_test.sh @@ -191,6 +191,40 @@ short_body() $(atf_get_srcdir)/d_input2 >/dev/null ; cat merge.out" } +atf_test_case tflag +tflag_head() +{ + atf_set "descr" "Checks tab expansion" +} +tflag_body() +{ + printf "a\tb\n" >a + printf "b\ta\n" >b + atf_check -s exit:1 -o match:$'a\tb' \ + sdiff a b + atf_check -s exit:1 -o match:"a {7}b" \ + sdiff -t a b + atf_check -s exit:1 -o match:"a {3}b" \ + sdiff -t --tabsize 4 a b +} + +atf_test_case binary +binary_head() +{ + atf_set "descr" "Checks binary file handling" +} +binary_body() +{ + printf "a\0\n" >a + printf "b\0\n" >b + atf_check -o empty sdiff a a + atf_check -o empty sdiff a - To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 38983d40c18e - main - tcp: prevent div by zero in cc_htcp 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: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 38983d40c18ec5705dcba19ac320b86c5efe8e7e Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=38983d40c18ec5705dcba19ac320b86c5efe8e7e commit 38983d40c18ec5705dcba19ac320b86c5efe8e7e Author: Richard Scheffenegger AuthorDate: 2024-02-24 15:35:23 +0000 Commit: Richard Scheffenegger CommitDate: 2024-02-24 15:35:59 +0000 tcp: prevent div by zero in cc_htcp Make sure the divident is at least one. While cwnd should never be smaller than t_maxseg, this can happen during Path MTU Discovery, or when TCP options are considered in other parts of the stack. PR: 276674 MFC after: 3 days Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D43797 --- sys/netinet/cc/cc_htcp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netinet/cc/cc_htcp.c b/sys/netinet/cc/cc_htcp.c index 949715a69c67..43224446fd84 100644 --- a/sys/netinet/cc/cc_htcp.c +++ b/sys/netinet/cc/cc_htcp.c @@ -229,9 +229,9 @@ htcp_ack_received(struct cc_var *ccv, uint16_t type) * per RTT. */ CCV(ccv, snd_cwnd) += (((htcp_data->alpha << - HTCP_SHIFT) / (CCV(ccv, snd_cwnd) / - CCV(ccv, t_maxseg))) * CCV(ccv, t_maxseg)) - >> HTCP_SHIFT; + HTCP_SHIFT) / (max(1, + CCV(ccv, snd_cwnd) / CCV(ccv, t_maxseg)))) * + CCV(ccv, t_maxseg)) >> HTCP_SHIFT; } } } From nobody Sat Feb 24 16:15:38 2024 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 4ThsRt61J3z5B524; Sat, 24 Feb 2024 16:15: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 4ThsRt5kBcz4Yh0; Sat, 24 Feb 2024 16:15:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708791338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H8iPjnpipwLeLU+M1OAN3dXJXkdqh0Bf8eCWtHDQqqc=; b=VW7gWb1IaqgK6PMKXPuGTafAO6m1VUpVOCt5Mdrx6bJ+DWWYc1PuAsE/X1Xk0dwXrnNSni HSciOOJmXUg7+vc06VD5q4L8WKpdFT95Qi7Atqle0Sf7E37b9tFs5kBPgybDh9bGGUQT2J CbiqfCepUA8nXfjCCLFYvd0XyYJ+9c4Snut9oc3vBfkJT5uMCFD+O3AEcqJCPOJW1k5i1K +2IeTWVT82S6zl3H1+cdsHaeLzDhPbKgXszfqysvX/SxW5uhWOXk87XeaRzK6CmN6HaaZF NsDqWke0e07zyjBxUwjnHRX+nFxRKWXh8DVyx47dRNS5OEVaAEBQ8yK+5HY6kQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708791338; a=rsa-sha256; cv=none; b=Tet5Lg2uPobQsBKU73m2zR/pIz6/4s2DIqQuVlpn8E0lUkdqPXNo94HTqimFODThlutUKh pZI0e/b9DtmjNY4JNX3K/SbmmC96IOL8ROb62T14RRFBlBgO7Y/Gr7dflRZvBS0rZJIYte QkrRVc8vhOlvbUjK9EBuB5fkJxH0vIpAJ0KuFkxLNK+JyPa9E779dDlIDFXQ4bUAR0bnWo I3g9a+vtDebhSa1V6P1zhyPwWvJxpjg6BAcvvhGA+cuv75iSo3Ub7VqJ1NnyG8N7MnqxxD n8Nj7DNHsJvxapNq4n2aYF7zIOG7nQHxwJyBTU/ASBAl4f0PPSKBAgFzMAgYwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708791338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H8iPjnpipwLeLU+M1OAN3dXJXkdqh0Bf8eCWtHDQqqc=; b=gX4xsJ6OlMGyk09pyTdULrovAIoL55zsZ15WiiRVabsINsF6iDHyLdUYRrLWGcbuWwZtpV w6RgJq0WZPImzwh2BD1t8OTJxYg1iK9C4uLbY7AfV/I6pXgPG3OTonXNDIcpwW9g+mFbQD ssIC/kn3mFTOxayDRujkjy5MJZFG5vWhWw6U4KMlo0keqiBtHvh4oSz+G5q0pTgsbkwEdM bsPPXPxNlvMYc6gM/9cJKyNjkNA1xu9Xe7cP1W420ZkvwlaOvGy8srGA1Ywi9swzfXJ80x 94R2P2JnydMKlXeysvTLAthyvCtDybGPzc5hLUyRsEZwenGdEoBRJB3JEYGGWg== 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 4ThsRt4p8gz1680; Sat, 24 Feb 2024 16:15: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 41OGFcM3091759; Sat, 24 Feb 2024 16:15:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41OGFcg7091756; Sat, 24 Feb 2024 16:15:38 GMT (envelope-from git) Date: Sat, 24 Feb 2024 16:15:38 GMT Message-Id: <202402241615.41OGFcg7091756@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: f74352fbcf15 - main - tcp: use enum for all congestion control signals 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: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f74352fbcf15341accaf5a92240871f98323215d Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=f74352fbcf15341accaf5a92240871f98323215d commit f74352fbcf15341accaf5a92240871f98323215d Author: Richard Scheffenegger AuthorDate: 2024-02-24 15:41:31 +0000 Commit: Richard Scheffenegger CommitDate: 2024-02-24 15:41:48 +0000 tcp: use enum for all congestion control signals Facilitate easier troubleshooting by enumerating all congestion control signals. Typecast the enum to int, when a congestion control module uses private signals. No external change. Reviewed By: glebius, tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D43838 --- sys/netinet/cc/cc.c | 2 +- sys/netinet/cc/cc.h | 42 +++++++++++++++++++++--------------------- sys/netinet/cc/cc_cdg.c | 10 +++++----- sys/netinet/cc/cc_chd.c | 11 ++++++----- sys/netinet/cc/cc_cubic.c | 10 ++++++---- sys/netinet/cc/cc_dctcp.c | 10 ++++++---- sys/netinet/cc/cc_hd.c | 4 ++-- sys/netinet/cc/cc_htcp.c | 10 ++++++---- sys/netinet/cc/cc_newreno.c | 10 ++++++---- sys/netinet/cc/cc_vegas.c | 13 +++++++------ 10 files changed, 66 insertions(+), 56 deletions(-) diff --git a/sys/netinet/cc/cc.c b/sys/netinet/cc/cc.c index c2965b1e6a48..9308b5f8d764 100644 --- a/sys/netinet/cc/cc.c +++ b/sys/netinet/cc/cc.c @@ -505,7 +505,7 @@ newreno_cc_cong_signal(struct cc_var *ccv, uint32_t type) } void -newreno_cc_ack_received(struct cc_var *ccv, uint16_t type) +newreno_cc_ack_received(struct cc_var *ccv, ccsignal_t type) { if (type == CC_ACK && !IN_RECOVERY(CCV(ccv, t_flags)) && (ccv->flags & CCF_CWND_LIMITED)) { diff --git a/sys/netinet/cc/cc.h b/sys/netinet/cc/cc.h index 9571da50b2c7..5b2cb58a24a0 100644 --- a/sys/netinet/cc/cc.h +++ b/sys/netinet/cc/cc.h @@ -121,25 +121,25 @@ struct cc_var { #define CCF_HYSTART_CAN_SH_CWND 0x0800 /* Can hystart when going CSS -> CA slam the cwnd */ #define CCF_HYSTART_CONS_SSTH 0x1000 /* Should hystart use the more conservative ssthresh */ -/* ACK types passed to the ack_received() hook. */ -#define CC_ACK 0x0001 /* Regular in sequence ACK. */ -#define CC_DUPACK 0x0002 /* Duplicate ACK. */ -#define CC_PARTIALACK 0x0004 /* Not yet. */ -#define CC_SACK 0x0008 /* Not yet. */ +typedef enum { + /* ACK types passed to the ack_received() hook. */ + CC_ACK = 0x0001, /* Regular in sequence ACK. */ + CC_DUPACK = 0x0002, /* Duplicate ACK. */ + CC_PARTIALACK = 0x0004, /* Not yet. */ + CC_SACK = 0x0008, /* Not yet. */ + /* Congestion signal types passed to the cong_signal() hook. */ + CC_ECN = 0x0100, /* ECN marked packet received. */ + CC_RTO = 0x0200, /* RTO fired. */ + CC_RTO_ERR = 0x0400, /* RTO fired in error. */ + CC_NDUPACK = 0x0800, /* Threshold of dupack's reached. */ + /* + * The highest order 8 bits (0x01000000 - 0x80000000) are reserved + * for CC algos to declare their own congestion signal types. + */ + CC_SIGPRIVMASK = 0xFF000000 /* Mask to check if sig is private. */ +} ccsignal_t; #endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */ -/* - * Congestion signal types passed to the cong_signal() hook. The highest order 8 - * bits (0x01000000 - 0x80000000) are reserved for CC algos to declare their own - * congestion signal types. - */ -#define CC_ECN 0x00000001 /* ECN marked packet received. */ -#define CC_RTO 0x00000002 /* RTO fired. */ -#define CC_RTO_ERR 0x00000004 /* RTO fired in error. */ -#define CC_NDUPACK 0x00000008 /* Threshold of dupack's reached. */ - -#define CC_SIGPRIVMASK 0xFF000000 /* Mask to check if sig is private. */ - #ifdef _KERNEL /* * Structure to hold data and function pointers that together represent a @@ -175,10 +175,10 @@ struct cc_algo { void (*conn_init)(struct cc_var *ccv); /* Called on receipt of an ack. */ - void (*ack_received)(struct cc_var *ccv, uint16_t type); + void (*ack_received)(struct cc_var *ccv, ccsignal_t type); /* Called on detection of a congestion signal. */ - void (*cong_signal)(struct cc_var *ccv, uint32_t type); + void (*cong_signal)(struct cc_var *ccv, ccsignal_t type); /* Called after exiting congestion recovery. */ void (*post_recovery)(struct cc_var *ccv); @@ -236,8 +236,8 @@ extern struct rwlock cc_list_lock; */ void newreno_cc_post_recovery(struct cc_var *); void newreno_cc_after_idle(struct cc_var *); -void newreno_cc_cong_signal(struct cc_var *, uint32_t ); -void newreno_cc_ack_received(struct cc_var *, uint16_t); +void newreno_cc_cong_signal(struct cc_var *, ccsignal_t); +void newreno_cc_ack_received(struct cc_var *, ccsignal_t); /* Called to temporarily keep an algo from going away during change */ void cc_refer(struct cc_algo *algo); diff --git a/sys/netinet/cc/cc_cdg.c b/sys/netinet/cc/cc_cdg.c index 3f23c4091170..1e9236f878d4 100644 --- a/sys/netinet/cc/cc_cdg.c +++ b/sys/netinet/cc/cc_cdg.c @@ -221,8 +221,8 @@ static int cdg_mod_destroy(void); static void cdg_conn_init(struct cc_var *ccv); static int cdg_cb_init(struct cc_var *ccv, void *ptr); static void cdg_cb_destroy(struct cc_var *ccv); -static void cdg_cong_signal(struct cc_var *ccv, uint32_t signal_type); -static void cdg_ack_received(struct cc_var *ccv, uint16_t ack_type); +static void cdg_cong_signal(struct cc_var *ccv, ccsignal_t signal_type); +static void cdg_ack_received(struct cc_var *ccv, ccsignal_t ack_type); static size_t cdg_data_sz(void); struct cc_algo cdg_cc_algo = { @@ -450,11 +450,11 @@ cdg_window_increase(struct cc_var *ccv, int new_measurement) } static void -cdg_cong_signal(struct cc_var *ccv, uint32_t signal_type) +cdg_cong_signal(struct cc_var *ccv, ccsignal_t signal_type) { struct cdg *cdg_data = ccv->cc_data; - switch(signal_type) { + switch((int)signal_type) { case CC_CDG_DELAY: CCV(ccv, snd_ssthresh) = cdg_window_decrease(ccv, CCV(ccv, snd_cwnd), V_cdg_beta_delay); @@ -571,7 +571,7 @@ calc_moving_average(struct cdg *cdg_data, long qdiff_max, long qdiff_min) } static void -cdg_ack_received(struct cc_var *ccv, uint16_t ack_type) +cdg_ack_received(struct cc_var *ccv, ccsignal_t ack_type) { struct cdg *cdg_data; struct ertt *e_t; diff --git a/sys/netinet/cc/cc_chd.c b/sys/netinet/cc/cc_chd.c index c644d9b2cdb8..52048a7c05ae 100644 --- a/sys/netinet/cc/cc_chd.c +++ b/sys/netinet/cc/cc_chd.c @@ -88,10 +88,10 @@ /* Largest possible number returned by random(). */ #define RANDOM_MAX INT_MAX -static void chd_ack_received(struct cc_var *ccv, uint16_t ack_type); +static void chd_ack_received(struct cc_var *ccv, ccsignal_t ack_type); static void chd_cb_destroy(struct cc_var *ccv); static int chd_cb_init(struct cc_var *ccv, void *ptr); -static void chd_cong_signal(struct cc_var *ccv, uint32_t signal_type); +static void chd_cong_signal(struct cc_var *ccv, ccsignal_t signal_type); static void chd_conn_init(struct cc_var *ccv); static int chd_mod_init(void); static size_t chd_data_sz(void); @@ -235,7 +235,7 @@ chd_window_increase(struct cc_var *ccv, int new_measurement) * ack_type == CC_ACK. */ static void -chd_ack_received(struct cc_var *ccv, uint16_t ack_type) +chd_ack_received(struct cc_var *ccv, ccsignal_t ack_type) { struct chd *chd_data; struct ertt *e_t; @@ -336,7 +336,7 @@ chd_cb_init(struct cc_var *ccv, void *ptr) } static void -chd_cong_signal(struct cc_var *ccv, uint32_t signal_type) +chd_cong_signal(struct cc_var *ccv, ccsignal_t signal_type) { struct ertt *e_t; struct chd *chd_data; @@ -346,7 +346,7 @@ chd_cong_signal(struct cc_var *ccv, uint32_t signal_type) chd_data = ccv->cc_data; qdly = imax(e_t->rtt, chd_data->maxrtt_in_rtt) - e_t->minrtt; - switch(signal_type) { + switch((int)signal_type) { case CC_CHD_DELAY: chd_window_decrease(ccv); /* Set new ssthresh. */ CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh); @@ -387,6 +387,7 @@ chd_cong_signal(struct cc_var *ccv, uint32_t signal_type) default: newreno_cc_cong_signal(ccv, signal_type); + break; } } diff --git a/sys/netinet/cc/cc_cubic.c b/sys/netinet/cc/cc_cubic.c index eb1587d44427..a9c7592b80ca 100644 --- a/sys/netinet/cc/cc_cubic.c +++ b/sys/netinet/cc/cc_cubic.c @@ -73,10 +73,10 @@ #include #include -static void cubic_ack_received(struct cc_var *ccv, uint16_t type); +static void cubic_ack_received(struct cc_var *ccv, ccsignal_t type); static void cubic_cb_destroy(struct cc_var *ccv); static int cubic_cb_init(struct cc_var *ccv, void *ptr); -static void cubic_cong_signal(struct cc_var *ccv, uint32_t type); +static void cubic_cong_signal(struct cc_var *ccv, ccsignal_t type); static void cubic_conn_init(struct cc_var *ccv); static int cubic_mod_init(void); static void cubic_post_recovery(struct cc_var *ccv); @@ -233,7 +233,7 @@ cubic_does_slow_start(struct cc_var *ccv, struct cubic *cubicd) } static void -cubic_ack_received(struct cc_var *ccv, uint16_t type) +cubic_ack_received(struct cc_var *ccv, ccsignal_t type) { struct cubic *cubic_data; unsigned long W_est, W_cubic; @@ -417,7 +417,7 @@ cubic_cb_init(struct cc_var *ccv, void *ptr) * Perform any necessary tasks before we enter congestion recovery. */ static void -cubic_cong_signal(struct cc_var *ccv, uint32_t type) +cubic_cong_signal(struct cc_var *ccv, ccsignal_t type) { struct cubic *cubic_data; uint32_t mss, pipe; @@ -503,6 +503,8 @@ cubic_cong_signal(struct cc_var *ccv, uint32_t type) cubic_data->cwnd_epoch = cubic_data->undo_cwnd_epoch; cubic_data->t_epoch = cubic_data->undo_t_epoch; break; + default: + break; } } diff --git a/sys/netinet/cc/cc_dctcp.c b/sys/netinet/cc/cc_dctcp.c index ae0a56839449..374db98c5e60 100644 --- a/sys/netinet/cc/cc_dctcp.c +++ b/sys/netinet/cc/cc_dctcp.c @@ -79,11 +79,11 @@ struct dctcp { uint32_t num_cong_events; /* # of congestion events */ }; -static void dctcp_ack_received(struct cc_var *ccv, uint16_t type); +static void dctcp_ack_received(struct cc_var *ccv, ccsignal_t type); static void dctcp_after_idle(struct cc_var *ccv); static void dctcp_cb_destroy(struct cc_var *ccv); static int dctcp_cb_init(struct cc_var *ccv, void *ptr); -static void dctcp_cong_signal(struct cc_var *ccv, uint32_t type); +static void dctcp_cong_signal(struct cc_var *ccv, ccsignal_t type); static void dctcp_conn_init(struct cc_var *ccv); static void dctcp_post_recovery(struct cc_var *ccv); static void dctcp_ecnpkt_handler(struct cc_var *ccv); @@ -104,7 +104,7 @@ struct cc_algo dctcp_cc_algo = { }; static void -dctcp_ack_received(struct cc_var *ccv, uint16_t type) +dctcp_ack_received(struct cc_var *ccv, ccsignal_t type) { struct dctcp *dctcp_data; int bytes_acked = 0; @@ -237,7 +237,7 @@ dctcp_cb_init(struct cc_var *ccv, void *ptr) * Perform any necessary tasks before we enter congestion recovery. */ static void -dctcp_cong_signal(struct cc_var *ccv, uint32_t type) +dctcp_cong_signal(struct cc_var *ccv, ccsignal_t type) { struct dctcp *dctcp_data; uint32_t cwin, mss, pipe; @@ -308,6 +308,8 @@ dctcp_cong_signal(struct cc_var *ccv, uint32_t type) dctcp_data->save_sndnxt += CCV(ccv, t_maxseg); dctcp_data->num_cong_events++; break; + default: + break; } } else newreno_cc_cong_signal(ccv, type); diff --git a/sys/netinet/cc/cc_hd.c b/sys/netinet/cc/cc_hd.c index 1a8b62ccf426..82486563f97e 100644 --- a/sys/netinet/cc/cc_hd.c +++ b/sys/netinet/cc/cc_hd.c @@ -80,7 +80,7 @@ /* Largest possible number returned by random(). */ #define RANDOM_MAX INT_MAX -static void hd_ack_received(struct cc_var *ccv, uint16_t ack_type); +static void hd_ack_received(struct cc_var *ccv, ccsignal_t ack_type); static int hd_mod_init(void); static size_t hd_data_sz(void); @@ -138,7 +138,7 @@ should_backoff(int qdly, int maxqdly) * as NewReno in all other circumstances. */ static void -hd_ack_received(struct cc_var *ccv, uint16_t ack_type) +hd_ack_received(struct cc_var *ccv, ccsignal_t ack_type) { struct ertt *e_t; int qdly; diff --git a/sys/netinet/cc/cc_htcp.c b/sys/netinet/cc/cc_htcp.c index 43224446fd84..41c552a3bfa0 100644 --- a/sys/netinet/cc/cc_htcp.c +++ b/sys/netinet/cc/cc_htcp.c @@ -136,10 +136,10 @@ (((diff) / hz) * (((diff) << HTCP_ALPHA_INC_SHIFT) / (4 * hz))) \ ) >> HTCP_ALPHA_INC_SHIFT) -static void htcp_ack_received(struct cc_var *ccv, uint16_t type); +static void htcp_ack_received(struct cc_var *ccv, ccsignal_t type); static void htcp_cb_destroy(struct cc_var *ccv); static int htcp_cb_init(struct cc_var *ccv, void *ptr); -static void htcp_cong_signal(struct cc_var *ccv, uint32_t type); +static void htcp_cong_signal(struct cc_var *ccv, ccsignal_t type); static int htcp_mod_init(void); static void htcp_post_recovery(struct cc_var *ccv); static void htcp_recalc_alpha(struct cc_var *ccv); @@ -190,7 +190,7 @@ struct cc_algo htcp_cc_algo = { }; static void -htcp_ack_received(struct cc_var *ccv, uint16_t type) +htcp_ack_received(struct cc_var *ccv, ccsignal_t type) { struct htcp *htcp_data; @@ -278,7 +278,7 @@ htcp_cb_init(struct cc_var *ccv, void *ptr) * Perform any necessary tasks before we enter congestion recovery. */ static void -htcp_cong_signal(struct cc_var *ccv, uint32_t type) +htcp_cong_signal(struct cc_var *ccv, ccsignal_t type) { struct htcp *htcp_data; uint32_t mss, pipe; @@ -345,6 +345,8 @@ htcp_cong_signal(struct cc_var *ccv, uint32_t type) if (CCV(ccv, t_rxtshift) >= 2) htcp_data->t_last_cong = ticks; break; + default: + break; } } diff --git a/sys/netinet/cc/cc_newreno.c b/sys/netinet/cc/cc_newreno.c index 71f2764ef4bc..aa20e2c64f7d 100644 --- a/sys/netinet/cc/cc_newreno.c +++ b/sys/netinet/cc/cc_newreno.c @@ -84,9 +84,9 @@ #include static void newreno_cb_destroy(struct cc_var *ccv); -static void newreno_ack_received(struct cc_var *ccv, uint16_t type); +static void newreno_ack_received(struct cc_var *ccv, ccsignal_t type); static void newreno_after_idle(struct cc_var *ccv); -static void newreno_cong_signal(struct cc_var *ccv, uint32_t type); +static void newreno_cong_signal(struct cc_var *ccv, ccsignal_t type); static int newreno_ctl_output(struct cc_var *ccv, struct sockopt *sopt, void *buf); static void newreno_newround(struct cc_var *ccv, uint32_t round_cnt); static void newreno_rttsample(struct cc_var *ccv, uint32_t usec_rtt, uint32_t rxtcnt, uint32_t fas); @@ -212,7 +212,7 @@ newreno_cb_destroy(struct cc_var *ccv) } static void -newreno_ack_received(struct cc_var *ccv, uint16_t type) +newreno_ack_received(struct cc_var *ccv, ccsignal_t type) { struct newreno *nreno; @@ -363,7 +363,7 @@ newreno_after_idle(struct cc_var *ccv) * Perform any necessary tasks before we enter congestion recovery. */ static void -newreno_cong_signal(struct cc_var *ccv, uint32_t type) +newreno_cong_signal(struct cc_var *ccv, ccsignal_t type) { struct newreno *nreno; uint32_t beta, beta_ecn, cwin, factor, mss, pipe; @@ -442,6 +442,8 @@ newreno_cong_signal(struct cc_var *ccv, uint32_t type) } CCV(ccv, snd_cwnd) = mss; break; + default: + break; } } diff --git a/sys/netinet/cc/cc_vegas.c b/sys/netinet/cc/cc_vegas.c index aac9c9ce77ff..ecd42c1a0f53 100644 --- a/sys/netinet/cc/cc_vegas.c +++ b/sys/netinet/cc/cc_vegas.c @@ -84,12 +84,12 @@ * Private signal type for rate based congestion signal. * See for appropriate bit-range to use for private signals. */ -#define CC_VEGAS_RATE 0x01000000 +#define CC_VEGAS_RATE 0x04000000 -static void vegas_ack_received(struct cc_var *ccv, uint16_t ack_type); +static void vegas_ack_received(struct cc_var *ccv, ccsignal_t ack_type); static void vegas_cb_destroy(struct cc_var *ccv); static int vegas_cb_init(struct cc_var *ccv, void *ptr); -static void vegas_cong_signal(struct cc_var *ccv, uint32_t signal_type); +static void vegas_cong_signal(struct cc_var *ccv, ccsignal_t signal_type); static void vegas_conn_init(struct cc_var *ccv); static int vegas_mod_init(void); static size_t vegas_data_sz(void); @@ -124,7 +124,7 @@ struct cc_algo vegas_cc_algo = { * has been used. */ static void -vegas_ack_received(struct cc_var *ccv, uint16_t ack_type) +vegas_ack_received(struct cc_var *ccv, ccsignal_t ack_type) { struct ertt *e_t; struct vegas *vegas_data; @@ -203,7 +203,7 @@ vegas_cb_init(struct cc_var *ccv, void *ptr) * handled here, otherwise it falls back to newreno's congestion handling. */ static void -vegas_cong_signal(struct cc_var *ccv, uint32_t signal_type) +vegas_cong_signal(struct cc_var *ccv, ccsignal_t signal_type) { struct vegas *vegas_data; int presignalrecov; @@ -215,7 +215,7 @@ vegas_cong_signal(struct cc_var *ccv, uint32_t signal_type) else presignalrecov = 0; - switch(signal_type) { + switch((int)signal_type) { case CC_VEGAS_RATE: if (!IN_RECOVERY(CCV(ccv, t_flags))) { CCV(ccv, snd_cwnd) = max(2 * CCV(ccv, t_maxseg), @@ -228,6 +228,7 @@ vegas_cong_signal(struct cc_var *ccv, uint32_t signal_type) default: newreno_cc_cong_signal(ccv, signal_type); + break; } if (IN_RECOVERY(CCV(ccv, t_flags)) && !presignalrecov) From nobody Sat Feb 24 16:15:39 2024 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 4ThsRw1zvgz5B53q; Sat, 24 Feb 2024 16:15: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 4ThsRv6V5Yz4YpV; Sat, 24 Feb 2024 16:15:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708791339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wn1+lMCVdjWkc4i0PI1qbqQ4c4niARwLjMgSXO1osYU=; b=g5jB4GKLBeejmmDMZcnuVJTBpxveQaoPgsFdaYhN1rxDxKBUsE38ANvIvCFg22Rr5Yd2gx wQBYMgAyWLXRSvIRPipMRxMnUaPQRCgdHepwL8UkFiPQD6GemqAc3xWcILg7KAmIEcOjUm icZljm7756Um50UVBLBGS7KOghJarQBC8tXgcfe9Ys1DHc6ZEnf3eItSqaGQiM3+pierEc ABU3C0971viC64SwyULtSDIHVpaDz5k+WdUk9wCrLRicIZPDBLlyPzWDOBD/Bil0wM4jE6 1dV4D48xhWZ7NltKmR5nysi+JDPjeeH0Gj8b1rMJ3CVigqawynYgdFQ4qjBVSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708791339; a=rsa-sha256; cv=none; b=pmuX4y2Y7hjcTSZDpjvPdQIrmBP7llk+OmfMw0IzX+CuzVjI5v+6eUELhMs+apg0zX0C39 04iDHt6PouN6t/IQfmBqkE4Lo6606ESEEkCy8ZEvoghf8qfiu9R6t0R3XZpF5XP95pj46r ohxdFVTFTfcygQ3/PBZVrH2CLJop9FF67GDTIO1NkwW/2veguwx4EwHqBfdtBbVui48SJW JYw/2EZFp2SPGRlhdcFUbywNh8vDBL57QCqNgXBKBM0yq+JiMa4prnktIpyOkqfweT1kyA vZcZJDsLtWGsdv8IIr7U0TGjwtEeRNvYmANK2+kODgrYU6ZfZ1LQsU1I+BVQpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708791339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wn1+lMCVdjWkc4i0PI1qbqQ4c4niARwLjMgSXO1osYU=; b=jvsTwwKVoxEnIzK3F5VfqRH7/00/PVhnVi0C3JYikfTzHDaarodBk0fAAsH143VSfweXnM gDyXlGzkDdgsfL5SAuVm2nNIXSTgO+3ubRGhQoomN9KEPwkm6TtZYTV6krEPK+hgaXfXSp z3YJUJmCsKI/x1Ct3m0svTOKbfsdtXY8gXcapb7rlOZ/TqMndVV3WbQ1bouSr2ExocD4gJ nJwkA+YXtA4EpfNlS7QVCQcH2djrhkPgiU2PXdHRFYdHR6xNVQd9w73d8dQCKiYoN3AfII khTZcreEdblC460sW9QoiEKCNgAVFEeCGusQCxjF2eZf0/RlKt18mpWCqi02Cg== 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 4ThsRv5bYcz15c9; Sat, 24 Feb 2024 16:15: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 41OGFdoQ091804; Sat, 24 Feb 2024 16:15:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41OGFd22091801; Sat, 24 Feb 2024 16:15:39 GMT (envelope-from git) Date: Sat, 24 Feb 2024 16:15:39 GMT Message-Id: <202402241615.41OGFd22091801@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 40fdc6d25f01 - main - tcp: provide correct snd_fack on post_recovery 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: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 40fdc6d25f01eea7767f1ba21efcde0e8e26b5eb Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=40fdc6d25f01eea7767f1ba21efcde0e8e26b5eb commit 40fdc6d25f01eea7767f1ba21efcde0e8e26b5eb Author: Richard Scheffenegger AuthorDate: 2024-02-24 15:53:32 +0000 Commit: Richard Scheffenegger CommitDate: 2024-02-24 15:55:31 +0000 tcp: provide correct snd_fack on post_recovery Ensure that snd_fack holds a valid value when doing the post_recovery CC processing, for preparation of the cc_cubic update, so that local pipe calculations can correctly refer to snd_fack during and after CC events. Reviewed By: tuexen, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D43957 --- sys/netinet/tcp_input.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index f023d7477790..8df975bcee54 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -479,6 +479,10 @@ cc_post_recovery(struct tcpcb *tp, struct tcphdr *th) INP_WLOCK_ASSERT(tptoinpcb(tp)); if (CC_ALGO(tp)->post_recovery != NULL) { + if (SEQ_LT(tp->snd_fack, th->th_ack) || + SEQ_GT(tp->snd_fack, tp->snd_max)) { + tp->snd_fack = th->th_ack; + } tp->t_ccv.curack = th->th_ack; CC_ALGO(tp)->post_recovery(&tp->t_ccv); } From nobody Sat Feb 24 16:15:40 2024 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 4ThsRx3t0vz5B541; Sat, 24 Feb 2024 16:15: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 4ThsRx0gDZz4Z0Q; Sat, 24 Feb 2024 16:15:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708791341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DsQArroa97APqVUYrk0GLiz4dzA5+yDN30UTwwv2PEo=; b=DqJ/xYwq6H8ZbsBn8vsZTNg9Na1rKGz4By/14ltcf23b30mtgBgTHpqbQCLtjRrbzYNDJf LHyMsMw4MD5TdJwJlP5v/Z6Px31W1xM8vclkVZaUTYnBafSJm+j5Sh7bwB2zuClK+oEtTk GIZR13W5PrlA9STcJRfNQUmd9McgdFMX6FxkfDZt6u4yERPebR0AcbSv8NlD5uBrzCEjfO Fbnlm/owW6ua+Dm5Tw8vF+bijpRURixcQWS1rg5Jt/m0Y4fYSmVBvrFKbEXaehCgGbxWGt 1L3HmfUiS1YPXTofS9W6PHjGRgVoZTiO/xBRvsTno/UISDbW5FoADpTITsw22A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708791341; a=rsa-sha256; cv=none; b=k1yhhdIfUVesjOQMSi7VlOq5v8J/LEsdJAaz9l1CwYxe+a0YT8e04T2UOMx1dOvl2Fp3Zh e3gI72T52MNTVnDnAGYJHJP2j9+oEGeyCGWfWmloiR5Mp+YcRW13X2Q/UasLQM3cEomEUk 6CGGocwHGkOPYeLsvSOPO7UkudzzC78YL1VmgyKmYmBm7hdWzOehBnlO1Ud/ozkEBsaj6e k+vY+E7n8Xl1Q1NQlkDBAqaHYaRPmlgT8Q7I4sjidmCIQAlDrMvbhIFnCLGPVaXbvA7xvM DSYL1DfGDqyPhNaQ1xZ2ELWL5Wtns07m+Vz7vf38GVR0NIE6FTFUDhX5CrisfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708791341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DsQArroa97APqVUYrk0GLiz4dzA5+yDN30UTwwv2PEo=; b=td3wZunyhA0UlG/3CTVJ8dfhWNwOGZmhtofTzZxpw9H8qZLIUw/hGhaaxWea+4hCaRgJZ5 48Crx8yP0yvarYJn5bMHzW0YQLKnBkjCIC27UgbG8WscEiOYTfRMKKvzjJYs0M9/odQeM4 hLI39GnsFfKtOkK/Yp9YvutAOefxByJTNByrbzbHeiILuHwgN4i8MFDFzj/Nsfy+CRbczc bSnV7ZbxL+vio+2jssj22BjSSdQlzGkLqsH2bIPvBETJ+ANF3+q2KUhAAapEorrdIEVC/s 2CCidmIpGfpxU55jZWNk8fvEk/npe3U/PkqwMDaGNmTctCKwTgvzErYv8yjaCw== 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 4ThsRw6t2Fz15cB; Sat, 24 Feb 2024 16:15: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 41OGFeIo091852; Sat, 24 Feb 2024 16:15:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41OGFeid091849; Sat, 24 Feb 2024 16:15:40 GMT (envelope-from git) Date: Sat, 24 Feb 2024 16:15:40 GMT Message-Id: <202402241615.41OGFeid091849@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 038699a8f18a - main - tcp: cubic - restart epoch after RTO 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: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 038699a8f18a0a651ee06b85fa1dbbee1eab56f1 Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=038699a8f18a0a651ee06b85fa1dbbee1eab56f1 commit 038699a8f18a0a651ee06b85fa1dbbee1eab56f1 Author: Richard Scheffenegger AuthorDate: 2024-02-24 16:07:25 +0000 Commit: Richard Scheffenegger CommitDate: 2024-02-24 16:07:46 +0000 tcp: cubic - restart epoch after RTO This is a migitation to avoid sudden extreme jumps in cwnd, as t_epoch can be very out of date after an RTO. Per RFC9438, sec 4.8, t_epoch is to be reset whenever cwnd grows beyond ssthresh (CC phase transitions from slow start to congestion avoidance), to be fixed with the upcoming cc_cubic changes. MFC after: 3 days Reviewed By: cc, #transport Sponsored by: NetApp, Inc Differential Revision: https://reviews.freebsd.org/D44023 --- sys/netinet/cc/cc_cubic.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netinet/cc/cc_cubic.c b/sys/netinet/cc/cc_cubic.c index a9c7592b80ca..b4050326ae31 100644 --- a/sys/netinet/cc/cc_cubic.c +++ b/sys/netinet/cc/cc_cubic.c @@ -270,6 +270,7 @@ cubic_ack_received(struct cc_var *ccv, ccsignal_t type) cubic_data->flags &= ~(CUBICFLAG_RTO_EVENT | CUBICFLAG_IN_SLOWSTART); cubic_data->W_max = CCV(ccv, snd_cwnd); + cubic_data->t_epoch = ticks; cubic_data->K = 0; } else if (cubic_data->flags & (CUBICFLAG_IN_SLOWSTART | CUBICFLAG_IN_APPLIMIT)) { From nobody Sat Feb 24 18:20:03 2024 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 4ThwCR2tC1z5BJsH; Sat, 24 Feb 2024 18: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 4ThwCR2MF6z4qh1; Sat, 24 Feb 2024 18:20:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708798803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QsOKlI0/85/Vc6WPeY3FixGoLlXwMs3Iw+xHIQsxwhQ=; b=jbfZqQY9qOF24jEZe8aBn1mAoAu71oVk7LfVuwAAt7DieNBZxIyFxq1MgSohjbjeCQ+lep 1xfQQuhEFtqeQSAuA4dV1RejEgzzG5jNWPTBSXttXlwMuPBu8dnn24/JG869TIik4p8BBw 5BClyji7GIi7RVmnuTLb6rmiFMqHsiSSZdNLtKmGtLl6rrLCTZ3IHUqTIrWdIv0zYaTSjq 9R4Yp65tliJ5QxalvRP7yT4qH2sgoiKUZb1anrdrLwPcIqbjjZpSW/JIPFu3mVHzhgNfbS nC54icb5LgCx4byO2IhzHYEYjnVphxBgZws13PLLmkK84nXCRP6jzJ/RbgzlcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708798803; a=rsa-sha256; cv=none; b=o8N51RoXYTljD+1ZWIdM5BYEv5216I0wfSxFMDkaH8U2d4FeB8iNiGshL2XIyLXa5GENpJ f/7CXRDn6Hgnv0Rk55pBkt00P7gkRz64poYCexTehfW2DhcvPnscMOy8gGQPGRU78WF55e 4FR9B579UVt0/ji3vHcgToi29PTPeWGPO6whXyRatO8066TB4ypDLuoaH0JKYCYR8Cgtvv WnVsbSr2Ina8C+Z6AXUCrGBIzCYwljJHXlfjvYFVNfjVgtyQw85yL6iUruSEIPWGW9Ks5Z ILE2FTy7dNCykd1WotMNc0oR2lctYDE2TMa30SF3/Ufq9sMFJL6KUTnMR7+0aA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708798803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QsOKlI0/85/Vc6WPeY3FixGoLlXwMs3Iw+xHIQsxwhQ=; b=MXYC70vqDdFvG/IAnc9glmq9H3GZovr7OXccUDNLESfkWf15MlbAU19fe25SDe8k8IQ9Tt nqyYQTlF44vKYRnUDaOOS3QE5gaLY4mM1XjHaIGYuuCemWfrWZBAHO1tFMGayWXA4XVQqB mbZuHmQ5nO1aCF8bSQ2AHCwYMj26iG1nagyHFp4GpNqkljS0LZWlLcKEFcdZkvy2av4y9k FSX3bdjLGQqmPX/zsyAOthGlK39DERKHoBCy8xID7vi9FcmHkr8ALyXGJNuL/rYuRwHTAp wgcdyvWR/khqYcRpN15t6/XLXmGyQg3oq91ktQXp7Vrev2L+WhJtNQD/Ld+hrQ== 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 4ThwCR1RGqz19QM; Sat, 24 Feb 2024 18:20: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 41OIK3Ri099773; Sat, 24 Feb 2024 18:20:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41OIK3hY099766; Sat, 24 Feb 2024 18:20:03 GMT (envelope-from git) Date: Sat, 24 Feb 2024 18:20:03 GMT Message-Id: <202402241820.41OIK3hY099766@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: 644cffe67f61 - main - sctp: improve sending of packets containing an INIT ACK chunk 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: 644cffe67f61ad5b36b60d621d1c630ff2a50412 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=644cffe67f61ad5b36b60d621d1c630ff2a50412 commit 644cffe67f61ad5b36b60d621d1c630ff2a50412 Author: Michael Tuexen AuthorDate: 2024-02-24 18:16:36 +0000 Commit: Michael Tuexen CommitDate: 2024-02-24 18:16:36 +0000 sctp: improve sending of packets containing an INIT ACK chunk If the peer announced support of zero checksums, do so when sending packets containing an INIT ACK chunk. MFC after: 1 week --- sys/netinet/sctp_input.c | 2 +- sys/netinet/sctp_output.c | 36 ++++++++++++++++++++++++++++++++---- sys/netinet/sctp_output.h | 4 +++- 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c index 6937f8a2a43f..a55ef5ac1eab 100644 --- a/sys/netinet/sctp_input.c +++ b/sys/netinet/sctp_input.c @@ -406,7 +406,7 @@ sctp_process_init_ack(struct mbuf *m, int iphlen, int offset, op_err = sctp_arethere_unrecognized_parameters(m, (offset + sizeof(struct sctp_init_chunk)), &abort_flag, (struct sctp_chunkhdr *)cp, - &nat_friendly, &cookie_found); + &nat_friendly, &cookie_found, NULL); if (abort_flag) { /* Send an abort and notify peer */ sctp_abort_association(stcb->sctp_ep, stcb, m, iphlen, diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index c988a8426fe8..a8facff6b917 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -4918,7 +4918,8 @@ sctp_arethere_unrecognized_parameters(struct mbuf *in_initpkt, int param_offset, int *abort_processing, struct sctp_chunkhdr *cp, int *nat_friendly, - int *cookie_found) + int *cookie_found, + uint32_t *edmid) { /* * Given a mbuf containing an INIT or INIT-ACK with the param_offset @@ -4934,8 +4935,8 @@ sctp_arethere_unrecognized_parameters(struct mbuf *in_initpkt, * hoped that this routine may be reused in the future by new * features. */ + struct sctp_zero_checksum_acceptable zero_chksum, *zero_chksum_p; struct sctp_paramhdr *phdr, params; - struct mbuf *mat, *m_tmp, *op_err, *op_err_last; int at, limit, pad_needed; uint16_t ptype, plen, padded_size; @@ -4944,6 +4945,9 @@ sctp_arethere_unrecognized_parameters(struct mbuf *in_initpkt, if (cookie_found != NULL) { *cookie_found = 0; } + if (edmid != NULL) { + *edmid = SCTP_EDMID_NONE; + } mat = in_initpkt; limit = ntohs(cp->chunk_length) - sizeof(struct sctp_init_chunk); at = param_offset; @@ -4999,6 +5003,22 @@ sctp_arethere_unrecognized_parameters(struct mbuf *in_initpkt, } at += padded_size; break; + case SCTP_ZERO_CHECKSUM_ACCEPTABLE: + if (padded_size != sizeof(struct sctp_zero_checksum_acceptable)) { + SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error checksum acceptable %d\n", plen); + goto invalid_size; + } + if (edmid != NULL) { + phdr = sctp_get_next_param(mat, at, + (struct sctp_paramhdr *)&zero_chksum, + sizeof(struct sctp_zero_checksum_acceptable)); + if (phdr != NULL) { + zero_chksum_p = (struct sctp_zero_checksum_acceptable *)phdr; + *edmid = ntohl(zero_chksum_p->edmid); + } + } + at += padded_size; + break; case SCTP_RANDOM: if (padded_size > (sizeof(struct sctp_auth_random) + SCTP_RANDOM_MAX_SIZE)) { SCTPDBG(SCTP_DEBUG_OUTPUT1, "Invalid size - error random %d\n", plen); @@ -5513,7 +5533,9 @@ sctp_send_initiate_ack(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int nat_friendly = 0; int error; struct socket *so; + uint32_t edmid; uint16_t num_ext, chunk_len, padding_len, parameter_len; + bool use_zero_crc; if (stcb) { asoc = &stcb->asoc; @@ -5554,7 +5576,7 @@ sctp_send_initiate_ack(struct sctp_inpcb *inp, struct sctp_tcb *stcb, (offset + sizeof(struct sctp_init_chunk)), &abort_flag, (struct sctp_chunkhdr *)init_chk, - &nat_friendly, NULL); + &nat_friendly, NULL, &edmid); if (abort_flag) { do_a_abort: if (op_err == NULL) { @@ -6155,12 +6177,18 @@ do_a_abort: over_addr = NULL; } + if (asoc != NULL) { + use_zero_crc = (asoc->rcv_edmid != SCTP_EDMID_NONE) && (asoc->rcv_edmid == edmid); + } else { + use_zero_crc = (inp->rcv_edmid != SCTP_EDMID_NONE) && (inp->rcv_edmid == edmid); + } + if ((error = sctp_lowlevel_chunk_output(inp, NULL, NULL, to, m, 0, NULL, 0, 0, 0, 0, inp->sctp_lport, sh->src_port, init_chk->init.initiate_tag, port, over_addr, mflowtype, mflowid, - false, /* XXXMT: Improve this! */ + use_zero_crc, SCTP_SO_NOT_LOCKED))) { SCTPDBG(SCTP_DEBUG_OUTPUT4, "Gak send error %d\n", error); if (error == ENOBUFS) { diff --git a/sys/netinet/sctp_output.h b/sys/netinet/sctp_output.h index 1a1d17221b02..88c12367346a 100644 --- a/sys/netinet/sctp_output.h +++ b/sys/netinet/sctp_output.h @@ -80,7 +80,9 @@ sctp_send_initiate_ack(struct sctp_inpcb *, struct sctp_tcb *, struct mbuf * sctp_arethere_unrecognized_parameters(struct mbuf *, int, int *, - struct sctp_chunkhdr *, int *, int *); + struct sctp_chunkhdr *, int *, int *, + uint32_t *); + void sctp_queue_op_err(struct sctp_tcb *, struct mbuf *); int From nobody Sat Feb 24 18:24:01 2024 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 4ThwJ43Bc6z5BK8l; Sat, 24 Feb 2024 18:24:04 +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 4ThwJ40dNvz4t5J; Sat, 24 Feb 2024 18:24:04 +0000 (UTC) (envelope-from bapt@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708799044; h=from:from:reply-to:subject: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=lnNWorn/EbcT2+wQv3U2m8eGn/hgKqnV0qFIKleNXGw=; b=OyTkXusOQMMqAP9OlNwzBWqkyrPtalBsLebaa4BvSIm8u+LdbgkSHQkwAGtxCzejh/VFbF ebHrIW6GVen4eTIg679YsfHo7cd1Cluay2bpDaNxrxGl3n5HUsw8gZsb/la+D1lx0S1D/x wTdvd5mhyUtpUTcdPiMxii07Nf3I+pk9cmNrkgWuHqNKqJ71JWvfNxy47CDWiZCZO4ktf5 itzrss29o6zI4yedv/4lQQyywp0UM/H6ddVXVKssCWCiUzeWkVAgXxxtL99yXHSJlxl6fg fQVxe1wIO7uwyWj8fs2o8pa47A/BiDLCTTb2l09b0jTmDj+H1EhYk2SDYiPsPA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708799044; a=rsa-sha256; cv=none; b=VqvhTKbejXqDLp1OZWqOAZvPbl9U37EewL+M0Kc75YiLbI/j6qSRDxRvXyyvaGc1RjP+vg y+vPZD6j7oBSbMYbOB59r3k4uWFUV//I3gHBiUSbT+nwdP/JR4m6Nt1ADCH5wU4p5oFdI8 PbrPHpRKzjxbU5UftlIQydZhyyntP0V7MyHGwaX3xQ4kRQzWTtlNsHnZSfpWB8/OD6aJ4s QPuupi4ZrS8E2iLzyq9XkwiZI297dmMLvZ58g3ohfNo1nTSExR3ptij7Vtesvc6g+y2YfE Dv/iy6tHxJxLyLMz0MEMEL74qGzCNbyRGPSxp2NiMT6yTTrp1fQvF+5BOoTB/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708799044; h=from:from:reply-to:subject: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=lnNWorn/EbcT2+wQv3U2m8eGn/hgKqnV0qFIKleNXGw=; b=h+5XmG2NawLewjEMNMiYmxft5ct3Td2bjOK24OPzTX/x+iSmU0t6wRftZrndPMJP7k1pgi S5R4hjvbgacZ5KCI4VKZeWfy2Ae5nHapkV5GvP+CTvqrSvQwG1f4ZO0gZy9Qbeh0zE214h OvowdI5kYio3pBuftzYAxiYtdFyVtJSuTa7uehKkjgRINm3IP/QZ/FjTF9rnRVfXo7lkqt bQ4WFGSv9Znr1LiZZqKGWp1qyXsbLwcGB+5oSU4zYM/vZVlO29RwOKqskaHLcCOot9Ii2W FGTYtN4hfYGtv6uNnOPgIA66ntb3KNbSXAZCqN5VCJJlGEv6GR6D0nK2BH4+nA== 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 4ThwJ34prsz1X1F; Sat, 24 Feb 2024 18:24:03 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from [IPv6:::1] (2a02-8428-078f-2201-b872-d62a-3058-d3fb.rev.sfr.net [IPv6:2a02:8428:78f:2201:b872:d62a:3058:d3fb]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aniel.nours.eu (Postfix) with ESMTPSA id 4CF6CF24E6; Sat, 24 Feb 2024 19:24:01 +0100 (CET) Date: Sat, 24 Feb 2024 19:24:01 +0100 From: Baptiste Daroussin To: Richard Scheffenegger , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: =?US-ASCII?Q?Re=3A_git=3A_f74352fbcf15_-_main_-_tcp=3A_use_?= =?US-ASCII?Q?enum_for_all_congestion__control_signals?= User-Agent: K-9 Mail for Android In-Reply-To: <202402241615.41OGFcg7091756@gitrepo.freebsd.org> References: <202402241615.41OGFcg7091756@gitrepo.freebsd.org> Message-ID: 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=----T877TB56UDSFUDD4AKM6Z78MQX4HAZ Content-Transfer-Encoding: 7bit ------T877TB56UDSFUDD4AKM6Z78MQX4HAZ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Le 24 f=C3=A9vrier 2024 17:15:38 GMT+01:00, Richard Scheffenegger a =C3=A9crit=C2=A0: >The branch main has been updated by rscheff: > >URL: https://cgit=2EFreeBSD=2Eorg/src/commit/?id=3Df74352fbcf15341accaf5a= 92240871f98323215d > >commit f74352fbcf15341accaf5a92240871f98323215d >Author: Richard Scheffenegger >AuthorDate: 2024-02-24 15:41:31 +0000 >Commit: Richard Scheffenegger >CommitDate: 2024-02-24 15:41:48 +0000 > > tcp: use enum for all congestion control signals > =20 > Facilitate easier troubleshooting by enumerating > all congestion control signals=2E Typecast the > enum to int, when a congestion control module uses > private signals=2E > =20 > No external change=2E > =20 > Reviewed By: glebius, tuexen, #transport > Sponsored by: NetApp, Inc=2E > Differential Revision: https://reviews=2Efreebsd=2Eorg/D43838 >--- > sys/netinet/cc/cc=2Ec | 2 +- > sys/netinet/cc/cc=2Eh | 42 +++++++++++++++++++++----------------= ----- > sys/netinet/cc/cc_cdg=2Ec | 10 +++++----- > sys/netinet/cc/cc_chd=2Ec | 11 ++++++----- > sys/netinet/cc/cc_cubic=2Ec | 10 ++++++---- > sys/netinet/cc/cc_dctcp=2Ec | 10 ++++++---- > sys/netinet/cc/cc_hd=2Ec | 4 ++-- > sys/netinet/cc/cc_htcp=2Ec | 10 ++++++---- > sys/netinet/cc/cc_newreno=2Ec | 10 ++++++---- > sys/netinet/cc/cc_vegas=2Ec | 13 +++++++------ > 10 files changed, 66 insertions(+), 56 deletions(-) > >diff --git a/sys/netinet/cc/cc=2Ec b/sys/netinet/cc/cc=2Ec >index c2965b1e6a48=2E=2E9308b5f8d764 100644 >--- a/sys/netinet/cc/cc=2Ec >+++ b/sys/netinet/cc/cc=2Ec >@@ -505,7 +505,7 @@ newreno_cc_cong_signal(struct cc_var *ccv, uint32_t t= ype) > } >=20 > void >-newreno_cc_ack_received(struct cc_var *ccv, uint16_t type) >+newreno_cc_ack_received(struct cc_var *ccv, ccsignal_t type) > { > if (type =3D=3D CC_ACK && !IN_RECOVERY(CCV(ccv, t_flags)) && > (ccv->flags & CCF_CWND_LIMITED)) { >diff --git a/sys/netinet/cc/cc=2Eh b/sys/netinet/cc/cc=2Eh >index 9571da50b2c7=2E=2E5b2cb58a24a0 100644 >--- a/sys/netinet/cc/cc=2Eh >+++ b/sys/netinet/cc/cc=2Eh >@@ -121,25 +121,25 @@ struct cc_var { > #define CCF_HYSTART_CAN_SH_CWND 0x0800 /* Can hystart when going CSS ->= CA slam the cwnd */ > #define CCF_HYSTART_CONS_SSTH 0x1000 /* Should hystart use the more cons= ervative ssthresh */ >=20 >-/* ACK types passed to the ack_received() hook=2E */ >-#define CC_ACK 0x0001 /* Regular in sequence ACK=2E */ >-#define CC_DUPACK 0x0002 /* Duplicate ACK=2E */ >-#define CC_PARTIALACK 0x0004 /* Not yet=2E */ >-#define CC_SACK 0x0008 /* Not yet=2E */ >+typedef enum { >+ /* ACK types passed to the ack_received() hook=2E */ >+ CC_ACK =3D 0x0001, /* Regular in sequence ACK=2E */ >+ CC_DUPACK =3D 0x0002, /* Duplicate ACK=2E */ >+ CC_PARTIALACK =3D 0x0004, /* Not yet=2E */ >+ CC_SACK =3D 0x0008, /* Not yet=2E */ >+ /* Congestion signal types passed to the cong_signal() hook=2E */ >+ CC_ECN =3D 0x0100, /* ECN marked packet received=2E */ >+ CC_RTO =3D 0x0200, /* RTO fired=2E */ >+ CC_RTO_ERR =3D 0x0400, /* RTO fired in error=2E */ >+ CC_NDUPACK =3D 0x0800, /* Threshold of dupack's reached=2E */ >+ /* >+ * The highest order 8 bits (0x01000000 - 0x80000000) are reserved >+ * for CC algos to declare their own congestion signal types=2E >+ */ >+ CC_SIGPRIVMASK =3D 0xFF000000 /* Mask to check if sig is private=2E */ >+} ccsignal_t; > #endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */ >=20 >-/* >- * Congestion signal types passed to the cong_signal() hook=2E The highe= st order 8 >- * bits (0x01000000 - 0x80000000) are reserved for CC algos to declare t= heir own >- * congestion signal types=2E >- */ >-#define CC_ECN 0x00000001 /* ECN marked packet received=2E */ >-#define CC_RTO 0x00000002 /* RTO fired=2E */ >-#define CC_RTO_ERR 0x00000004 /* RTO fired in error=2E */ >-#define CC_NDUPACK 0x00000008 /* Threshold of dupack's reached=2E */ >- >-#define CC_SIGPRIVMASK 0xFF000000 /* Mask to check if sig is private=2E = */ >- > #ifdef _KERNEL > /* > * Structure to hold data and function pointers that together represent = a >@@ -175,10 +175,10 @@ struct cc_algo { > void (*conn_init)(struct cc_var *ccv); >=20 > /* Called on receipt of an ack=2E */ >- void (*ack_received)(struct cc_var *ccv, uint16_t type); >+ void (*ack_received)(struct cc_var *ccv, ccsignal_t type); >=20 > /* Called on detection of a congestion signal=2E */ >- void (*cong_signal)(struct cc_var *ccv, uint32_t type); >+ void (*cong_signal)(struct cc_var *ccv, ccsignal_t type); >=20 > /* Called after exiting congestion recovery=2E */ > void (*post_recovery)(struct cc_var *ccv); >@@ -236,8 +236,8 @@ extern struct rwlock cc_list_lock; > */ > void newreno_cc_post_recovery(struct cc_var *); > void newreno_cc_after_idle(struct cc_var *); >-void newreno_cc_cong_signal(struct cc_var *, uint32_t ); >-void newreno_cc_ack_received(struct cc_var *, uint16_t); >+void newreno_cc_cong_signal(struct cc_var *, ccsignal_t); >+void newreno_cc_ack_received(struct cc_var *, ccsignal_t); >=20 > /* Called to temporarily keep an algo from going away during change */ > void cc_refer(struct cc_algo *algo); >diff --git a/sys/netinet/cc/cc_cdg=2Ec b/sys/netinet/cc/cc_cdg=2Ec >index 3f23c4091170=2E=2E1e9236f878d4 100644 >--- a/sys/netinet/cc/cc_cdg=2Ec >+++ b/sys/netinet/cc/cc_cdg=2Ec >@@ -221,8 +221,8 @@ static int cdg_mod_destroy(void); > static void cdg_conn_init(struct cc_var *ccv); > static int cdg_cb_init(struct cc_var *ccv, void *ptr); > static void cdg_cb_destroy(struct cc_var *ccv); >-static void cdg_cong_signal(struct cc_var *ccv, uint32_t signal_type); >-static void cdg_ack_received(struct cc_var *ccv, uint16_t ack_type); >+static void cdg_cong_signal(struct cc_var *ccv, ccsignal_t signal_type); >+static void cdg_ack_received(struct cc_var *ccv, ccsignal_t ack_type); > static size_t cdg_data_sz(void); >=20 > struct cc_algo cdg_cc_algo =3D { >@@ -450,11 +450,11 @@ cdg_window_increase(struct cc_var *ccv, int new_mea= surement) > } >=20 > static void >-cdg_cong_signal(struct cc_var *ccv, uint32_t signal_type) >+cdg_cong_signal(struct cc_var *ccv, ccsignal_t signal_type) > { > struct cdg *cdg_data =3D ccv->cc_data; >=20 >- switch(signal_type) { >+ switch((int)signal_type) { > case CC_CDG_DELAY: > CCV(ccv, snd_ssthresh) =3D cdg_window_decrease(ccv, > CCV(ccv, snd_cwnd), V_cdg_beta_delay); >@@ -571,7 +571,7 @@ calc_moving_average(struct cdg *cdg_data, long qdiff_= max, long qdiff_min) > } >=20 > static void >-cdg_ack_received(struct cc_var *ccv, uint16_t ack_type) >+cdg_ack_received(struct cc_var *ccv, ccsignal_t ack_type) > { > struct cdg *cdg_data; > struct ertt *e_t; >diff --git a/sys/netinet/cc/cc_chd=2Ec b/sys/netinet/cc/cc_chd=2Ec >index c644d9b2cdb8=2E=2E52048a7c05ae 100644 >--- a/sys/netinet/cc/cc_chd=2Ec >+++ b/sys/netinet/cc/cc_chd=2Ec >@@ -88,10 +88,10 @@ > /* Largest possible number returned by random()=2E */ > #define RANDOM_MAX INT_MAX >=20 >-static void chd_ack_received(struct cc_var *ccv, uint16_t ack_type); >+static void chd_ack_received(struct cc_var *ccv, ccsignal_t ack_type); > static void chd_cb_destroy(struct cc_var *ccv); > static int chd_cb_init(struct cc_var *ccv, void *ptr); >-static void chd_cong_signal(struct cc_var *ccv, uint32_t signal_type); >+static void chd_cong_signal(struct cc_var *ccv, ccsignal_t signal_type); > static void chd_conn_init(struct cc_var *ccv); > static int chd_mod_init(void); > static size_t chd_data_sz(void); >@@ -235,7 +235,7 @@ chd_window_increase(struct cc_var *ccv, int new_measu= rement) > * ack_type =3D=3D CC_ACK=2E > */ > static void >-chd_ack_received(struct cc_var *ccv, uint16_t ack_type) >+chd_ack_received(struct cc_var *ccv, ccsignal_t ack_type) > { > struct chd *chd_data; > struct ertt *e_t; >@@ -336,7 +336,7 @@ chd_cb_init(struct cc_var *ccv, void *ptr) > } >=20 > static void >-chd_cong_signal(struct cc_var *ccv, uint32_t signal_type) >+chd_cong_signal(struct cc_var *ccv, ccsignal_t signal_type) > { > struct ertt *e_t; > struct chd *chd_data; >@@ -346,7 +346,7 @@ chd_cong_signal(struct cc_var *ccv, uint32_t signal_t= ype) > chd_data =3D ccv->cc_data; > qdly =3D imax(e_t->rtt, chd_data->maxrtt_in_rtt) - e_t->minrtt; >=20 >- switch(signal_type) { >+ switch((int)signal_type) { > case CC_CHD_DELAY: > chd_window_decrease(ccv); /* Set new ssthresh=2E */ > CCV(ccv, snd_cwnd) =3D CCV(ccv, snd_ssthresh); >@@ -387,6 +387,7 @@ chd_cong_signal(struct cc_var *ccv, uint32_t signal_t= ype) >=20 > default: > newreno_cc_cong_signal(ccv, signal_type); >+ break; > } > } >=20 >diff --git a/sys/netinet/cc/cc_cubic=2Ec b/sys/netinet/cc/cc_cubic=2Ec >index eb1587d44427=2E=2Ea9c7592b80ca 100644 >--- a/sys/netinet/cc/cc_cubic=2Ec >+++ b/sys/netinet/cc/cc_cubic=2Ec >@@ -73,10 +73,10 @@ > #include > #include >=20 >-static void cubic_ack_received(struct cc_var *ccv, uint16_t type); >+static void cubic_ack_received(struct cc_var *ccv, ccsignal_t type); > static void cubic_cb_destroy(struct cc_var *ccv); > static int cubic_cb_init(struct cc_var *ccv, void *ptr); >-static void cubic_cong_signal(struct cc_var *ccv, uint32_t type); >+static void cubic_cong_signal(struct cc_var *ccv, ccsignal_t type); > static void cubic_conn_init(struct cc_var *ccv); > static int cubic_mod_init(void); > static void cubic_post_recovery(struct cc_var *ccv); >@@ -233,7 +233,7 @@ cubic_does_slow_start(struct cc_var *ccv, struct cubi= c *cubicd) > } >=20 > static void >-cubic_ack_received(struct cc_var *ccv, uint16_t type) >+cubic_ack_received(struct cc_var *ccv, ccsignal_t type) > { > struct cubic *cubic_data; > unsigned long W_est, W_cubic; >@@ -417,7 +417,7 @@ cubic_cb_init(struct cc_var *ccv, void *ptr) > * Perform any necessary tasks before we enter congestion recovery=2E > */ > static void >-cubic_cong_signal(struct cc_var *ccv, uint32_t type) >+cubic_cong_signal(struct cc_var *ccv, ccsignal_t type) > { > struct cubic *cubic_data; > uint32_t mss, pipe; >@@ -503,6 +503,8 @@ cubic_cong_signal(struct cc_var *ccv, uint32_t type) > cubic_data->cwnd_epoch =3D cubic_data->undo_cwnd_epoch; > cubic_data->t_epoch =3D cubic_data->undo_t_epoch; > break; >+ default: >+ break; > } > } >=20 >diff --git a/sys/netinet/cc/cc_dctcp=2Ec b/sys/netinet/cc/cc_dctcp=2Ec >index ae0a56839449=2E=2E374db98c5e60 100644 >--- a/sys/netinet/cc/cc_dctcp=2Ec >+++ b/sys/netinet/cc/cc_dctcp=2Ec >@@ -79,11 +79,11 @@ struct dctcp { > uint32_t num_cong_events; /* # of congestion events */ > }; >=20 >-static void dctcp_ack_received(struct cc_var *ccv, uint16_t type); >+static void dctcp_ack_received(struct cc_var *ccv, ccsignal_t type); > static void dctcp_after_idle(struct cc_var *ccv); > static void dctcp_cb_destroy(struct cc_var *ccv); > static int dctcp_cb_init(struct cc_var *ccv, void *ptr); >-static void dctcp_cong_signal(struct cc_var *ccv, uint32_t type); >+static void dctcp_cong_signal(struct cc_var *ccv, ccsignal_t type); > static void dctcp_conn_init(struct cc_var *ccv); > static void dctcp_post_recovery(struct cc_var *ccv); > static void dctcp_ecnpkt_handler(struct cc_var *ccv); >@@ -104,7 +104,7 @@ struct cc_algo dctcp_cc_algo =3D { > }; >=20 > static void >-dctcp_ack_received(struct cc_var *ccv, uint16_t type) >+dctcp_ack_received(struct cc_var *ccv, ccsignal_t type) > { > struct dctcp *dctcp_data; > int bytes_acked =3D 0; >@@ -237,7 +237,7 @@ dctcp_cb_init(struct cc_var *ccv, void *ptr) > * Perform any necessary tasks before we enter congestion recovery=2E > */ > static void >-dctcp_cong_signal(struct cc_var *ccv, uint32_t type) >+dctcp_cong_signal(struct cc_var *ccv, ccsignal_t type) > { > struct dctcp *dctcp_data; > uint32_t cwin, mss, pipe; >@@ -308,6 +308,8 @@ dctcp_cong_signal(struct cc_var *ccv, uint32_t type) > dctcp_data->save_sndnxt +=3D CCV(ccv, t_maxseg); > dctcp_data->num_cong_events++; > break; >+ default: >+ break; > } > } else > newreno_cc_cong_signal(ccv, type); >diff --git a/sys/netinet/cc/cc_hd=2Ec b/sys/netinet/cc/cc_hd=2Ec >index 1a8b62ccf426=2E=2E82486563f97e 100644 >--- a/sys/netinet/cc/cc_hd=2Ec >+++ b/sys/netinet/cc/cc_hd=2Ec >@@ -80,7 +80,7 @@ > /* Largest possible number returned by random()=2E */ > #define RANDOM_MAX INT_MAX >=20 >-static void hd_ack_received(struct cc_var *ccv, uint16_t ack_type); >+static void hd_ack_received(struct cc_var *ccv, ccsignal_t ack_type); > static int hd_mod_init(void); > static size_t hd_data_sz(void); >=20 >@@ -138,7 +138,7 @@ should_backoff(int qdly, int maxqdly) > * as NewReno in all other circumstances=2E > */ > static void >-hd_ack_received(struct cc_var *ccv, uint16_t ack_type) >+hd_ack_received(struct cc_var *ccv, ccsignal_t ack_type) > { > struct ertt *e_t; > int qdly; >diff --git a/sys/netinet/cc/cc_htcp=2Ec b/sys/netinet/cc/cc_htcp=2Ec >index 43224446fd84=2E=2E41c552a3bfa0 100644 >--- a/sys/netinet/cc/cc_htcp=2Ec >+++ b/sys/netinet/cc/cc_htcp=2Ec >@@ -136,10 +136,10 @@ > (((diff) / hz) * (((diff) << HTCP_ALPHA_INC_SHIFT) / (4 * hz))) \ > ) >> HTCP_ALPHA_INC_SHIFT) >=20 >-static void htcp_ack_received(struct cc_var *ccv, uint16_t type); >+static void htcp_ack_received(struct cc_var *ccv, ccsignal_t type); > static void htcp_cb_destroy(struct cc_var *ccv); > static int htcp_cb_init(struct cc_var *ccv, void *ptr); >-static void htcp_cong_signal(struct cc_var *ccv, uint32_t type); >+static void htcp_cong_signal(struct cc_var *ccv, ccsignal_t type); > static int htcp_mod_init(void); > static void htcp_post_recovery(struct cc_var *ccv); > static void htcp_recalc_alpha(struct cc_var *ccv); >@@ -190,7 +190,7 @@ struct cc_algo htcp_cc_algo =3D { > }; >=20 > static void >-htcp_ack_received(struct cc_var *ccv, uint16_t type) >+htcp_ack_received(struct cc_var *ccv, ccsignal_t type) > { > struct htcp *htcp_data; >=20 >@@ -278,7 +278,7 @@ htcp_cb_init(struct cc_var *ccv, void *ptr) > * Perform any necessary tasks before we enter congestion recovery=2E > */ > static void >-htcp_cong_signal(struct cc_var *ccv, uint32_t type) >+htcp_cong_signal(struct cc_var *ccv, ccsignal_t type) > { > struct htcp *htcp_data; > uint32_t mss, pipe; >@@ -345,6 +345,8 @@ htcp_cong_signal(struct cc_var *ccv, uint32_t type) > if (CCV(ccv, t_rxtshift) >=3D 2) > htcp_data->t_last_cong =3D ticks; > break; >+ default: >+ break; > } > } >=20 >diff --git a/sys/netinet/cc/cc_newreno=2Ec b/sys/netinet/cc/cc_newreno=2E= c >index 71f2764ef4bc=2E=2Eaa20e2c64f7d 100644 >--- a/sys/netinet/cc/cc_newreno=2Ec >+++ b/sys/netinet/cc/cc_newreno=2Ec >@@ -84,9 +84,9 @@ > #include >=20 > static void newreno_cb_destroy(struct cc_var *ccv); >-static void newreno_ack_received(struct cc_var *ccv, uint16_t type); >+static void newreno_ack_received(struct cc_var *ccv, ccsignal_t type); > static void newreno_after_idle(struct cc_var *ccv); >-static void newreno_cong_signal(struct cc_var *ccv, uint32_t type); >+static void newreno_cong_signal(struct cc_var *ccv, ccsignal_t type); > static int newreno_ctl_output(struct cc_var *ccv, struct sockopt *sopt, = void *buf); > static void newreno_newround(struct cc_var *ccv, uint32_t round_cnt); > static void newreno_rttsample(struct cc_var *ccv, uint32_t usec_rtt, uin= t32_t rxtcnt, uint32_t fas); >@@ -212,7 +212,7 @@ newreno_cb_destroy(struct cc_var *ccv) > } >=20 > static void >-newreno_ack_received(struct cc_var *ccv, uint16_t type) >+newreno_ack_received(struct cc_var *ccv, ccsignal_t type) > { > struct newreno *nreno; >=20 >@@ -363,7 +363,7 @@ newreno_after_idle(struct cc_var *ccv) > * Perform any necessary tasks before we enter congestion recovery=2E > */ > static void >-newreno_cong_signal(struct cc_var *ccv, uint32_t type) >+newreno_cong_signal(struct cc_var *ccv, ccsignal_t type) > { > struct newreno *nreno; > uint32_t beta, beta_ecn, cwin, factor, mss, pipe; >@@ -442,6 +442,8 @@ newreno_cong_signal(struct cc_var *ccv, uint32_t type= ) > } > CCV(ccv, snd_cwnd) =3D mss; > break; >+ default: >+ break; > } > } >=20 >diff --git a/sys/netinet/cc/cc_vegas=2Ec b/sys/netinet/cc/cc_vegas=2Ec >index aac9c9ce77ff=2E=2Eecd42c1a0f53 100644 >--- a/sys/netinet/cc/cc_vegas=2Ec >+++ b/sys/netinet/cc/cc_vegas=2Ec >@@ -84,12 +84,12 @@ > * Private signal type for rate based congestion signal=2E > * See for appropriate bit-range to use for private sig= nals=2E > */ >-#define CC_VEGAS_RATE 0x01000000 >+#define CC_VEGAS_RATE 0x04000000 >=20 >-static void vegas_ack_received(struct cc_var *ccv, uint16_t ack_type); >+static void vegas_ack_received(struct cc_var *ccv, ccsignal_t ack_type); > static void vegas_cb_destroy(struct cc_var *ccv); > static int vegas_cb_init(struct cc_var *ccv, void *ptr); >-static void vegas_cong_signal(struct cc_var *ccv, uint32_t signal_type); >+static void vegas_cong_signal(struct cc_var *ccv, ccsignal_t signal_type= ); > static void vegas_conn_init(struct cc_var *ccv); > static int vegas_mod_init(void); > static size_t vegas_data_sz(void); >@@ -124,7 +124,7 @@ struct cc_algo vegas_cc_algo =3D { > * has been used=2E > */ > static void >-vegas_ack_received(struct cc_var *ccv, uint16_t ack_type) >+vegas_ack_received(struct cc_var *ccv, ccsignal_t ack_type) > { > struct ertt *e_t; > struct vegas *vegas_data; >@@ -203,7 +203,7 @@ vegas_cb_init(struct cc_var *ccv, void *ptr) > * handled here, otherwise it falls back to newreno's congestion handlin= g=2E > */ > static void >-vegas_cong_signal(struct cc_var *ccv, uint32_t signal_type) >+vegas_cong_signal(struct cc_var *ccv, ccsignal_t signal_type) > { > struct vegas *vegas_data; > int presignalrecov; >@@ -215,7 +215,7 @@ vegas_cong_signal(struct cc_var *ccv, uint32_t signal= _type) > else > presignalrecov =3D 0; >=20 >- switch(signal_type) { >+ switch((int)signal_type) { > case CC_VEGAS_RATE: > if (!IN_RECOVERY(CCV(ccv, t_flags))) { > CCV(ccv, snd_cwnd) =3D max(2 * CCV(ccv, t_maxseg), >@@ -228,6 +228,7 @@ vegas_cong_signal(struct cc_var *ccv, uint32_t signal= _type) >=20 > default: > newreno_cc_cong_signal(ccv, signal_type); >+ break; > } >=20 > if (IN_RECOVERY(CCV(ccv, t_flags)) && !presignalrecov) Buildworld is now broken for all arches (at least incremental build) Among the errors /home/bapt/worktrees/main/lib/libstats/=2E=2E/=2E=2E/sys/netinet/tcp_stats= =2Ec:138:32: error: use of undeclared identifier 'CC_NDUPACK' ------T877TB56UDSFUDD4AKM6Z78MQX4HAZ Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
    Le 24= f=C3=A9vrier 2024 17:15:38 GMT+01:00, Richard Scheffenegger <rscheff@Fr= eeBSD=2Eorg> a =C3=A9crit=C2=A0:
    The branch main has been updated b= y rscheff:

    URL:
    https://cgit=2EFreeBSD=2Eorg= /src/commit/?id=3Df74352fbcf15341accaf5a92240871f98323215d

    commi= t f74352fbcf15341accaf5a92240871f98323215d
    Author: Richard Scheffene= gger <rscheff@FreeBSD=2Eorg>
    AuthorDate: 2024-02-24 15:41:31 +0000=
    Commit: Richard Scheffenegger <rscheff@FreeBSD=2Eorg>
    Comm= itDate: 2024-02-24 15:41:48 +0000

    tcp: use enum for all congesti= on control signals

    Facilitate easier troubleshooting by enum= erating
    all congestion control signals=2E Typecast the
    enum t= o int, when a congestion control module uses
    private signals=2E
    =
    No external change=2E

    Reviewed By: gle= bius, tuexen, #transport
    Sponsored by: NetApp, Inc=2E
    = Differential Revision: https://reviews=2Efreebsd=2Eorg/D43838
    sys/netinet/cc/cc=2Ec = | 2 +-
    sys/netinet/cc/cc=2Eh | 42 +++++++++++++++++++++--= -------------------
    sys/netinet/cc/cc_cdg=2Ec | 10 +++++-----
    s= ys/netinet/cc/cc_chd=2Ec | 11 ++++++-----
    sys/netinet/cc/cc_cubic= =2Ec | 10 ++++++----
    sys/netinet/cc/cc_dctcp=2Ec | 10 ++++++---- sys/netinet/cc/cc_hd=2Ec | 4 ++--
    sys/netinet/cc/cc_htcp=2Ec = | 10 ++++++----
    sys/netinet/cc/cc_newreno=2Ec | 10 ++++++----
    sys/= netinet/cc/cc_vegas=2Ec | 13 +++++++------
    10 files changed, 66 inser= tions(+), 56 deletions(-)

    diff --git a/sys/netinet/cc/cc=2Ec b/sys/n= etinet/cc/cc=2Ec
    index c2965b1e6a48=2E=2E9308b5f8d764 100644
    --- a/sy= s/netinet/cc/cc=2Ec
    +++ b/sys/netinet/cc/cc=2Ec
    @@ -505,7 +505,7 @@ n= ewreno_cc_cong_signal(struct cc_var *ccv, uint32_t type)
    }

    voi= d
    -newreno_cc_ack_received(struct cc_var *ccv, uint16_t type)
    +newren= o_cc_ack_received(struct cc_var *ccv, ccsignal_t type)
    {
    if (type = =3D=3D CC_ACK && !IN_RECOVERY(CCV(ccv, t_flags)) &&
    = (ccv->flags & CCF_CWND_LIMITED)) {
    diff --git a/sys/netinet/cc/= cc=2Eh b/sys/netinet/cc/cc=2Eh
    index 9571da50b2c7=2E=2E5b2cb58a24a0 1006= 44
    --- a/sys/netinet/cc/cc=2Eh
    +++ b/sys/netinet/cc/cc=2Eh
    @@ -121= ,25 +121,25 @@ struct cc_var {
    #define CCF_HYSTART_CAN_SH_CWND 0x0800 = /* Can hystart when going CSS -> CA slam the cwnd */
    #define CCF_HYS= TART_CONS_SSTH 0x1000 /* Should hystart use the more conservative ssthresh = */

    -/* ACK types passed to the ack_received() hook=2E */
    -#defin= e CC_ACK 0x0001 /* Regular in sequence ACK=2E */
    -#define CC_DUPACK 0x0= 002 /* Duplicate ACK=2E */
    -#define CC_PARTIALACK 0x0004 /* Not yet=2E *= /
    -#define CC_SACK 0x0008 /* Not yet=2E */
    +typedef enum {
    + /* A= CK types passed to the ack_received() hook=2E */
    + CC_ACK =3D 0x0001, /*= Regular in sequence ACK=2E */
    + CC_DUPACK =3D 0x0002, /* Duplicate ACK= =2E */
    + CC_PARTIALACK =3D 0x0004, /* Not yet=2E */
    + CC_SACK =3D 0x0= 008, /* Not yet=2E */
    + /* Congestion signal types passed to the cong_si= gnal() hook=2E */
    + CC_ECN =3D 0x0100, /* ECN marked packet received=2E = */
    + CC_RTO =3D 0x0200, /* RTO fired=2E */
    + CC_RTO_ERR =3D 0x0400, /= * RTO fired in error=2E */
    + CC_NDUPACK =3D 0x0800, /* Threshold of dupa= ck's reached=2E */
    + /*
    + * The highest order 8 bits (0x01000000 - 0= x80000000) are reserved
    + * for CC algos to declare their own congestio= n signal types=2E
    + */
    + CC_SIGPRIVMASK =3D 0xFF000000 /* Mask to ch= eck if sig is private=2E */
    +} ccsignal_t;
    #endif /* defined(_KERNEL= ) || defined(_WANT_TCPCB) */

    -/*
    - * Congestion signal types pas= sed to the cong_signal() hook=2E The highest order 8
    - * bits (0x0100000= 0 - 0x80000000) are reserved for CC algos to declare their own
    - * conge= stion signal types=2E
    - */
    -#define CC_ECN 0x00000001 /* ECN marked = packet received=2E */
    -#define CC_RTO 0x00000002 /* RTO fired=2E */
    = -#define CC_RTO_ERR 0x00000004 /* RTO fired in error=2E */
    -#define CC_N= DUPACK 0x00000008 /* Threshold of dupack's reached=2E */
    -
    -#define C= C_SIGPRIVMASK 0xFF000000 /* Mask to check if sig is private=2E */
    -
    = #ifdef _KERNEL
    /*
    * Structure to hold data and function pointers t= hat together represent a
    @@ -175,10 +175,10 @@ struct cc_algo {
    voi= d (*conn_init)(struct cc_var *ccv);

    /* Called on receipt of an ac= k=2E */
    - void (*ack_received)(struct cc_var *ccv, uint16_t type);
    + = void (*ack_received)(struct cc_var *ccv, ccsignal_t type);

    /* Cal= led on detection of a congestion signal=2E */
    - void (*cong_signal)(stru= ct cc_var *ccv, uint32_t type);
    + void (*cong_signal)(struct cc_var *ccv= , ccsignal_t type);

    /* Called after exiting congestion recovery= =2E */
    void (*post_recovery)(struct cc_var *ccv);
    @@ -236,8 +236,8 = @@ extern struct rwlock cc_list_lock;
    */
    void newreno_cc_post_reco= very(struct cc_var *);
    void newreno_cc_after_idle(struct cc_var *);
    = -void newreno_cc_cong_signal(struct cc_var *, uint32_t );
    -void newreno_= cc_ack_received(struct cc_var *, uint16_t);
    +void newreno_cc_cong_signal= (struct cc_var *, ccsignal_t);
    +void newreno_cc_ack_received(struct cc_v= ar *, ccsignal_t);

    /* Called to temporarily keep an algo from goin= g away during change */
    void cc_refer(struct cc_algo *algo);
    diff --= git a/sys/netinet/cc/cc_cdg=2Ec b/sys/netinet/cc/cc_cdg=2Ec
    index 3f23c4= 091170=2E=2E1e9236f878d4 100644
    --- a/sys/netinet/cc/cc_cdg=2Ec
    +++ b= /sys/netinet/cc/cc_cdg=2Ec
    @@ -221,8 +221,8 @@ static int cdg_mod_destro= y(void);
    static void cdg_conn_init(struct cc_var *ccv);
    static int = cdg_cb_init(struct cc_var *ccv, void *ptr);
    static void cdg_cb_destroy(= struct cc_var *ccv);
    -static void cdg_cong_signal(struct cc_var *ccv, ui= nt32_t signal_type);
    -static void cdg_ack_received(struct cc_var *ccv, u= int16_t ack_type);
    +static void cdg_cong_signal(struct cc_var *ccv, ccsi= gnal_t signal_type);
    +static void cdg_ack_received(struct cc_var *ccv, c= csignal_t ack_type);
    static size_t cdg_data_sz(void);

    struct c= c_algo cdg_cc_algo =3D {
    @@ -450,11 +450,11 @@ cdg_window_increase(struc= t cc_var *ccv, int new_measurement)
    }

    static void
    -cdg_cong= _signal(struct cc_var *ccv, uint32_t signal_type)
    +cdg_cong_signal(struc= t cc_var *ccv, ccsignal_t signal_type)
    {
    struct cdg *cdg_data =3D = ccv->cc_data;

    - switch(signal_type) {
    + switch((int)signal_ty= pe) {
    case CC_CDG_DELAY:
    CCV(ccv, snd_ssthresh) =3D cdg_window_d= ecrease(ccv,
    CCV(ccv, snd_cwnd), V_cdg_beta_delay);
    @@ -571,7 = +571,7 @@ calc_moving_average(struct cdg *cdg_data, long qdiff_max, long qd= iff_min)
    }

    static void
    -cdg_ack_received(struct cc_var *ccv= , uint16_t ack_type)
    +cdg_ack_received(struct cc_var *ccv, ccsignal_t ac= k_type)
    {
    struct cdg *cdg_data;
    struct ertt *e_t;
    diff --g= it a/sys/netinet/cc/cc_chd=2Ec b/sys/netinet/cc/cc_chd=2Ec
    index c644d9b= 2cdb8=2E=2E52048a7c05ae 100644
    --- a/sys/netinet/cc/cc_chd=2Ec
    +++ b/= sys/netinet/cc/cc_chd=2Ec
    @@ -88,10 +88,10 @@
    /* Largest possible nu= mber returned by random()=2E */
    #define RANDOM_MAX INT_MAX

    -sta= tic void chd_ack_received(struct cc_var *ccv, uint16_t ack_type);
    +stati= c void chd_ack_received(struct cc_var *ccv, ccsignal_t ack_type);
    stati= c void chd_cb_destroy(struct cc_var *ccv);
    static int chd_cb_init(struc= t cc_var *ccv, void *ptr);
    -static void chd_cong_signal(struct cc_var *c= cv, uint32_t signal_type);
    +static void chd_cong_signal(struct cc_var *c= cv, ccsignal_t signal_type);
    static void chd_conn_init(struct cc_var *c= cv);
    static int chd_mod_init(void);
    static size_t chd_data_sz(void)= ;
    @@ -235,7 +235,7 @@ chd_window_increase(struct cc_var *ccv, int new_me= asurement)
    * ack_type =3D=3D CC_ACK=2E
    */
    static void
    -chd= _ack_received(struct cc_var *ccv, uint16_t ack_type)
    +chd_ack_received(s= truct cc_var *ccv, ccsignal_t ack_type)
    {
    struct chd *chd_data; struct ertt *e_t;
    @@ -336,7 +336,7 @@ chd_cb_init(struct cc_var *ccv,= void *ptr)
    }

    static void
    -chd_cong_signal(struct cc_var *c= cv, uint32_t signal_type)
    +chd_cong_signal(struct cc_var *ccv, ccsignal_= t signal_type)
    {
    struct ertt *e_t;
    struct chd *chd_data;
    @= @ -346,7 +346,7 @@ chd_cong_signal(struct cc_var *ccv, uint32_t signal_type= )
    chd_data =3D ccv->cc_data;
    qdly =3D imax(e_t->rtt, chd_da= ta->maxrtt_in_rtt) - e_t->minrtt;

    - switch(signal_type) {
    = + switch((int)signal_type) {
    case CC_CHD_DELAY:
    chd_window_decre= ase(ccv); /* Set new ssthresh=2E */
    CCV(ccv, snd_cwnd) =3D CCV(ccv, s= nd_ssthresh);
    @@ -387,6 +387,7 @@ chd_cong_signal(struct cc_var *ccv, ui= nt32_t signal_type)

    default:
    newreno_cc_cong_signal(ccv, si= gnal_type);
    + break;
    }
    }

    diff --git a/sys/netinet/cc/c= c_cubic=2Ec b/sys/netinet/cc/cc_cubic=2Ec
    index eb1587d44427=2E=2Ea9c759= 2b80ca 100644
    --- a/sys/netinet/cc/cc_cubic=2Ec
    +++ b/sys/netinet/cc/= cc_cubic=2Ec
    @@ -73,10 +73,10 @@
    #include <netinet/cc/cc_cubic=2E= h>
    #include <netinet/cc/cc_module=2Eh>

    -static void cu= bic_ack_received(struct cc_var *ccv, uint16_t type);
    +static void cubic_= ack_received(struct cc_var *ccv, ccsignal_t type);
    static void cubic_cb= _destroy(struct cc_var *ccv);
    static int cubic_cb_init(struct cc_var *c= cv, void *ptr);
    -static void cubic_cong_signal(struct cc_var *ccv, uint3= 2_t type);
    +static void cubic_cong_signal(struct cc_var *ccv, ccsignal_t= type);
    static void cubic_conn_init(struct cc_var *ccv);
    static int= cubic_mod_init(void);
    static void cubic_post_recovery(struct cc_var *c= cv);
    @@ -233,7 +233,7 @@ cubic_does_slow_start(struct cc_var *ccv, struc= t cubic *cubicd)
    }

    static void
    -cubic_ack_received(struct c= c_var *ccv, uint16_t type)
    +cubic_ack_received(struct cc_var *ccv, ccsig= nal_t type)
    {
    struct cubic *cubic_data;
    unsigned long W_est, = W_cubic;
    @@ -417,7 +417,7 @@ cubic_cb_init(struct cc_var *ccv, void *ptr= )
    * Perform any necessary tasks before we enter congestion recovery=2E=
    */
    static void
    -cubic_cong_signal(struct cc_var *ccv, uint32_t= type)
    +cubic_cong_signal(struct cc_var *ccv, ccsignal_t type)
    {
    = struct cubic *cubic_data;
    uint32_t mss, pipe;
    @@ -503,6 +503,8 @@= cubic_cong_signal(struct cc_var *ccv, uint32_t type)
    cubic_data->= cwnd_epoch =3D cubic_data->undo_cwnd_epoch;
    cubic_data->t_epoch= =3D cubic_data->undo_t_epoch;
    break;
    + default:
    + break; }
    }

    diff --git a/sys/netinet/cc/cc_dctcp=2Ec b/sys/netinet/= cc/cc_dctcp=2Ec
    index ae0a56839449=2E=2E374db98c5e60 100644
    --- a/sys= /netinet/cc/cc_dctcp=2Ec
    +++ b/sys/netinet/cc/cc_dctcp=2Ec
    @@ -79,11 = +79,11 @@ struct dctcp {
    uint32_t num_cong_events; /* # of congestion = events */
    };

    -static void dctcp_ack_received(struct cc_var *ccv= , uint16_t type);
    +static void dctcp_ack_received(struct cc_var *ccv, cc= signal_t type);
    static void dctcp_after_idle(struct cc_var *ccv);
    s= tatic void dctcp_cb_destroy(struct cc_var *ccv);
    static int dctcp_cb_in= it(struct cc_var *ccv, void *ptr);
    -static void dctcp_cong_signal(struct= cc_var *ccv, uint32_t type);
    +static void dctcp_cong_signal(struct cc_v= ar *ccv, ccsignal_t type);
    static void dctcp_conn_init(struct cc_var *c= cv);
    static void dctcp_post_recovery(struct cc_var *ccv);
    static vo= id dctcp_ecnpkt_handler(struct cc_var *ccv);
    @@ -104,7 +104,7 @@ struct = cc_algo dctcp_cc_algo =3D {
    };

    static void
    -dctcp_ack_recei= ved(struct cc_var *ccv, uint16_t type)
    +dctcp_ack_received(struct cc_var= *ccv, ccsignal_t type)
    {
    struct dctcp *dctcp_data;
    int bytes= _acked =3D 0;
    @@ -237,7 +237,7 @@ dctcp_cb_init(struct cc_var *ccv, void= *ptr)
    * Perform any necessary tasks before we enter congestion recove= ry=2E
    */
    static void
    -dctcp_cong_signal(struct cc_var *ccv, uin= t32_t type)
    +dctcp_cong_signal(struct cc_var *ccv, ccsignal_t type)
    = {
    struct dctcp *dctcp_data;
    uint32_t cwin, mss, pipe;
    @@ -308,= 6 +308,8 @@ dctcp_cong_signal(struct cc_var *ccv, uint32_t type)
    dct= cp_data->save_sndnxt +=3D CCV(ccv, t_maxseg);
    dctcp_data->num_= cong_events++;
    break;
    + default:
    + break;
    }
    } el= se
    newreno_cc_cong_signal(ccv, type);
    diff --git a/sys/netinet/cc/= cc_hd=2Ec b/sys/netinet/cc/cc_hd=2Ec
    index 1a8b62ccf426=2E=2E82486563f97= e 100644
    --- a/sys/netinet/cc/cc_hd=2Ec
    +++ b/sys/netinet/cc/cc_hd=2E= c
    @@ -80,7 +80,7 @@
    /* Largest possible number returned by random()= =2E */
    #define RANDOM_MAX INT_MAX

    -static void hd_ack_received(= struct cc_var *ccv, uint16_t ack_type);
    +static void hd_ack_received(str= uct cc_var *ccv, ccsignal_t ack_type);
    static int hd_mod_init(void); static size_t hd_data_sz(void);

    @@ -138,7 +138,7 @@ should_backof= f(int qdly, int maxqdly)
    * as NewReno in all other circumstances=2E */
    static void
    -hd_ack_received(struct cc_var *ccv, uint16_t ack_= type)
    +hd_ack_received(struct cc_var *ccv, ccsignal_t ack_type)
    { struct ertt *e_t;
    int qdly;
    diff --git a/sys/netinet/cc/cc_htcp= =2Ec b/sys/netinet/cc/cc_htcp=2Ec
    index 43224446fd84=2E=2E41c552a3bfa0 1= 00644
    --- a/sys/netinet/cc/cc_htcp=2Ec
    +++ b/sys/netinet/cc/cc_htcp= =2Ec
    @@ -136,10 +136,10 @@
    (((diff) / hz) * (((diff) << HTCP_= ALPHA_INC_SHIFT) / (4 * hz))) \
    ) >> HTCP_ALPHA_INC_SHIFT)
    -static void htcp_ack_received(struct cc_var *ccv, uint16_t type);
    +st= atic void htcp_ack_received(struct cc_var *ccv, ccsignal_t type);
    stati= c void htcp_cb_destroy(struct cc_var *ccv);
    static int htcp_cb_init(str= uct cc_var *ccv, void *ptr);
    -static void htcp_cong_signal(struct cc_var= *ccv, uint32_t type);
    +static void htcp_cong_signal(struct cc_var *ccv,= ccsignal_t type);
    static int htcp_mod_init(void);
    static void htcp= _post_recovery(struct cc_var *ccv);
    static void htcp_recalc_alpha(struc= t cc_var *ccv);
    @@ -190,7 +190,7 @@ struct cc_algo htcp_cc_algo =3D { };

    static void
    -htcp_ack_received(struct cc_var *ccv, uint16_= t type)
    +htcp_ack_received(struct cc_var *ccv, ccsignal_t type)
    { struct htcp *htcp_data;

    @@ -278,7 +278,7 @@ htcp_cb_init(struct = cc_var *ccv, void *ptr)
    * Perform any necessary tasks before we enter = congestion recovery=2E
    */
    static void
    -htcp_cong_signal(struct = cc_var *ccv, uint32_t type)
    +htcp_cong_signal(struct cc_var *ccv, ccsign= al_t type)
    {
    struct htcp *htcp_data;
    uint32_t mss, pipe;
    @= @ -345,6 +345,8 @@ htcp_cong_signal(struct cc_var *ccv, uint32_t type)
    = if (CCV(ccv, t_rxtshift) >=3D 2)
    htcp_data->t_last_cong =3D = ticks;
    break;
    + default:
    + break;
    }
    }

    diff --= git a/sys/netinet/cc/cc_newreno=2Ec b/sys/netinet/cc/cc_newreno=2Ec
    inde= x 71f2764ef4bc=2E=2Eaa20e2c64f7d 100644
    --- a/sys/netinet/cc/cc_newreno= =2Ec
    +++ b/sys/netinet/cc/cc_newreno=2Ec
    @@ -84,9 +84,9 @@
    #inclu= de <netinet/cc/cc_newreno=2Eh>

    static void newreno_cb_destro= y(struct cc_var *ccv);
    -static void newreno_ack_received(struct cc_var *= ccv, uint16_t type);
    +static void newreno_ack_received(struct cc_var *cc= v, ccsignal_t type);
    static void newreno_after_idle(struct cc_var *ccv)= ;
    -static void newreno_cong_signal(struct cc_var *ccv, uint32_t type);+static void newreno_cong_signal(struct cc_var *ccv, ccsignal_t type); static int newreno_ctl_output(struct cc_var *ccv, struct sockopt *sopt, v= oid *buf);
    static void newreno_newround(struct cc_var *ccv, uint32_t ro= und_cnt);
    static void newreno_rttsample(struct cc_var *ccv, uint32_t us= ec_rtt, uint32_t rxtcnt, uint32_t fas);
    @@ -212,7 +212,7 @@ newreno_cb_d= estroy(struct cc_var *ccv)
    }

    static void
    -newreno_ack_recei= ved(struct cc_var *ccv, uint16_t type)
    +newreno_ack_received(struct cc_v= ar *ccv, ccsignal_t type)
    {
    struct newreno *nreno;

    @@ -363= ,7 +363,7 @@ newreno_after_idle(struct cc_var *ccv)
    * Perform any nece= ssary tasks before we enter congestion recovery=2E
    */
    static void<= br>-newreno_cong_signal(struct cc_var *ccv, uint32_t type)
    +newreno_cong= _signal(struct cc_var *ccv, ccsignal_t type)
    {
    struct newreno *nre= no;
    uint32_t beta, beta_ecn, cwin, factor, mss, pipe;
    @@ -442,6 +44= 2,8 @@ newreno_cong_signal(struct cc_var *ccv, uint32_t type)
    }
    = CCV(ccv, snd_cwnd) =3D mss;
    break;
    + default:
    + break;
    }=
    }

    diff --git a/sys/netinet/cc/cc_vegas=2Ec b/sys/netinet/cc/cc= _vegas=2Ec
    index aac9c9ce77ff=2E=2Eecd42c1a0f53 100644
    --- a/sys/neti= net/cc/cc_vegas=2Ec
    +++ b/sys/netinet/cc/cc_vegas=2Ec
    @@ -84,12 +84,1= 2 @@
    * Private signal type for rate based congestion signal=2E
    * = See <netinet/cc=2Eh> for appropriate bit-range to use for private sig= nals=2E
    */
    -#define CC_VEGAS_RATE 0x01000000
    +#define CC_VEGAS_R= ATE 0x04000000

    -static void vegas_ack_received(struct cc_var *ccv, = uint16_t ack_type);
    +static void vegas_ack_received(struct cc_var *ccv, = ccsignal_t ack_type);
    static void vegas_cb_destroy(struct cc_var *ccv);=
    static int vegas_cb_init(struct cc_var *ccv, void *ptr);
    -static vo= id vegas_cong_signal(struct cc_var *ccv, uint32_t signal_type);
    +static = void vegas_cong_signal(struct cc_var *ccv, ccsignal_t signal_type);
    sta= tic void vegas_conn_init(struct cc_var *ccv);
    static int vegas_mod_init= (void);
    static size_t vegas_data_sz(void);
    @@ -124,7 +124,7 @@ struc= t cc_algo vegas_cc_algo =3D {
    * has been used=2E
    */
    static vo= id
    -vegas_ack_received(struct cc_var *ccv, uint16_t ack_type)
    +vegas_= ack_received(struct cc_var *ccv, ccsignal_t ack_type)
    {
    struct ert= t *e_t;
    struct vegas *vegas_data;
    @@ -203,7 +203,7 @@ vegas_cb_init= (struct cc_var *ccv, void *ptr)
    * handled here, otherwise it falls bac= k to newreno's congestion handling=2E
    */
    static void
    -vegas_con= g_signal(struct cc_var *ccv, uint32_t signal_type)
    +vegas_cong_signal(st= ruct cc_var *ccv, ccsignal_t signal_type)
    {
    struct vegas *vegas_da= ta;
    int presignalrecov;
    @@ -215,7 +215,7 @@ vegas_cong_signal(struc= t cc_var *ccv, uint32_t signal_type)
    else
    presignalrecov =3D 0;<= br>
    - switch(signal_type) {
    + switch((int)signal_type) {
    case C= C_VEGAS_RATE:
    if (!IN_RECOVERY(CCV(ccv, t_flags))) {
    CCV(ccv, = snd_cwnd) =3D max(2 * CCV(ccv, t_maxseg),
    @@ -228,6 +228,7 @@ vegas_cong= _signal(struct cc_var *ccv, uint32_t signal_type)

    default:
    = newreno_cc_cong_signal(ccv, signal_type);
    + break;
    }

    if = (IN_RECOVERY(CCV(ccv, t_flags)) && !presignalrecov)
    =

    Buildworld is now br= oken for all arches (at least incremental build)

    Among the errors
    /home/bapt/worktrees/main/lib/libstats/=2E=2E/=2E=2E/sys/netinet/tcp_s= tats=2Ec:138:32: error: use of undeclared identifier 'CC_NDUPACK'

    ------T877TB56UDSFUDD4AKM6Z78MQX4HAZ-- From nobody Sat Feb 24 18:48:49 2024 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 4Thwrf2CWcz5BMS3; Sat, 24 Feb 2024 18:48: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 4Thwrf1jbXz3wbv; Sat, 24 Feb 2024 18:48:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708800530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fzK3s9Nlhmj9zIAvhuZNwHuP7MptzvTmUxxikvgXjJY=; b=vNM1Y+jEIQ5UQmqBjps19gOHANRf7+3SLdvYjfgVTHqPfOt1f/TaDhsC3EaTErdMhcIqS+ TM+RQVk9jR2iO1GzHTeAvzdMUU8M0dtZK581I1cDy7sY+q4/KfO4eBTRC63cqsb7QUHRF1 Gep+/T3lumXKLvDQqLBmtVCgFMmEgr5+Vuh/pMwmOVvCnpYGpf5LqaMWFVTm7VCEWXPZez 7zo6UUN22/st+fKOTxV9CdBTlF4X6IUyv3Dw1AwiG0H8dLKjlF32uJAP0WTWW2EaX0F90K VYajpm6OOLcnr0ql3CbUXxgCAkIIesdC7NaDyibvEnsM7XnEqR6Fc7A10DF8qg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708800530; a=rsa-sha256; cv=none; b=cjOa7nD0crhZBdwldSZARL4Vp0oT0h35RyAZEd65fRxi9Ez9apAexSnVg1p9OflqwBuuqK 9eOD3zhJ5gllYdoLuivQ1sMFE04TfR9ZIRK8q+HCsrT3/T9SDCr2xOoNG+Iu/DvKVJWq5h K33E7EYvWm8J3LG898BCMHknVstEg5zhBABxegLRFAfjIw0THGZYPJ0/bwmy1i9HsqJevs sT8Ar2V2haHlRVuv08r+zx2JcDzbxKGFDaKXExgrmo1thl27sKk7+Vk0u3BhBMpt4vWNkA mbZzxzT1MN1bvvlksJh9klWvgzyu2ryeQ9zew7X04ChdoDG5q2PW7I93Ouk/Bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708800530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fzK3s9Nlhmj9zIAvhuZNwHuP7MptzvTmUxxikvgXjJY=; b=glGbDMZoS52ppgefrB5+1upuY02lnLLPMtQEfKN2w7DJq1ooFat1C65CPaomKrvEa9N6q/ MQbdGzzXIcjyZ5jGGAKF2WJPpTINCce/mAPmggMEC9hZODBhjShOFbQxDgeCDzjcfU1GwY sSVo7TD7mhuOYkM8yTGla8PEEWW5iWOr89egSvsP2q7DybrW4okEMZOXo9+Yh2GkryYmK2 R0ILo5aj2hJiqHuzdgUIRnLSwCWlpqw+VjCZAASxvmPgWUtO/E6NSOJGCe+FEozUxt0ao1 mGdBwS+Kkws8YFAZxTmLY3z9cKKZCEQeX4DRzm9s/y7lHhkOESEjh7q8aZBCpw== 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 4Thwrf0myNz19Vw; Sat, 24 Feb 2024 18:48: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 41OImnnV049131; Sat, 24 Feb 2024 18:48:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41OImnfk049128; Sat, 24 Feb 2024 18:48:49 GMT (envelope-from git) Date: Sat, 24 Feb 2024 18:48:49 GMT Message-Id: <202402241848.41OImnfk049128@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: be2c6fba9d83 - stable/14 - pfsync: Fix offset 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: be2c6fba9d8314f9f8f4d4acc1c35e7a6a84b080 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=be2c6fba9d8314f9f8f4d4acc1c35e7a6a84b080 commit be2c6fba9d8314f9f8f4d4acc1c35e7a6a84b080 Author: Kajetan Staszkiewicz AuthorDate: 2024-02-13 19:41:14 +0000 Commit: Kristof Provost CommitDate: 2024-02-24 18:47:13 +0000 pfsync: Fix offset calculation Even though message version is automatically recognized and the top of the struct is identical for different versions, when iterating over multiple messages proper message length must be used. That's the length of an union member for given version, not of the union itself. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D43862 (cherry picked from commit 50edc630719827b6c58dd515328997fd196b1d78) --- sys/netpfil/pf/if_pfsync.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index 75c361b394e0..41eab7be515d 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -1002,15 +1002,17 @@ pfsync_in_ins(struct mbuf *m, int offset, int count, int flags, int action) { struct mbuf *mp; union pfsync_state_union *sa, *sp; - int i, offp, len, msg_version; + int i, offp, total_len, msg_version, msg_len; switch (action) { case PFSYNC_ACT_INS_1301: - len = sizeof(struct pfsync_state_1301) * count; + msg_len = sizeof(struct pfsync_state_1301); + total_len = msg_len * count; msg_version = PFSYNC_MSG_VERSION_1301; break; case PFSYNC_ACT_INS_1400: - len = sizeof(struct pfsync_state_1400) * count; + msg_len = sizeof(struct pfsync_state_1400); + total_len = msg_len * count; msg_version = PFSYNC_MSG_VERSION_1400; break; default: @@ -1018,7 +1020,7 @@ pfsync_in_ins(struct mbuf *m, int offset, int count, int flags, int action) return (-1); } - mp = m_pulldown(m, offset, len, &offp); + mp = m_pulldown(m, offset, total_len, &offp); if (mp == NULL) { V_pfsyncstats.pfsyncs_badlen++; return (-1); @@ -1026,7 +1028,7 @@ pfsync_in_ins(struct mbuf *m, int offset, int count, int flags, int action) sa = (union pfsync_state_union *)(mp->m_data + offp); for (i = 0; i < count; i++) { - sp = &sa[i]; + sp = (union pfsync_state_union *)((char *)sa + msg_len * i); /* Check for invalid values. */ if (sp->pfs_1301.timeout >= PFTM_MAX || @@ -1046,7 +1048,7 @@ pfsync_in_ins(struct mbuf *m, int offset, int count, int flags, int action) break; } - return (len); + return (total_len); } static int @@ -1127,15 +1129,17 @@ pfsync_in_upd(struct mbuf *m, int offset, int count, int flags, int action) union pfsync_state_union *sa, *sp; struct pf_kstate *st; struct mbuf *mp; - int sync, offp, i, len, msg_version; + int sync, offp, i, total_len, msg_len, msg_version; switch (action) { case PFSYNC_ACT_UPD_1301: - len = sizeof(struct pfsync_state_1301) * count; + msg_len = sizeof(struct pfsync_state_1301); + total_len = msg_len * count; msg_version = PFSYNC_MSG_VERSION_1301; break; case PFSYNC_ACT_UPD_1400: - len = sizeof(struct pfsync_state_1400) * count; + msg_len = sizeof(struct pfsync_state_1400); + total_len = msg_len * count; msg_version = PFSYNC_MSG_VERSION_1400; break; default: @@ -1143,7 +1147,7 @@ pfsync_in_upd(struct mbuf *m, int offset, int count, int flags, int action) return (-1); } - mp = m_pulldown(m, offset, len, &offp); + mp = m_pulldown(m, offset, total_len, &offp); if (mp == NULL) { V_pfsyncstats.pfsyncs_badlen++; return (-1); @@ -1151,7 +1155,7 @@ pfsync_in_upd(struct mbuf *m, int offset, int count, int flags, int action) sa = (union pfsync_state_union *)(mp->m_data + offp); for (i = 0; i < count; i++) { - sp = &sa[i]; + sp = (union pfsync_state_union *)((char *)sa + msg_len * i); /* check for invalid values */ if (sp->pfs_1301.timeout >= PFTM_MAX || @@ -1214,7 +1218,7 @@ pfsync_in_upd(struct mbuf *m, int offset, int count, int flags, int action) PF_STATE_UNLOCK(st); } - return (len); + return (total_len); } static int From nobody Sat Feb 24 20:02:27 2024 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 4ThyTc2YcDz5BVQq; Sat, 24 Feb 2024 20:02: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 4ThyTc1c4qz4Cyj; Sat, 24 Feb 2024 20:02:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708804948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VfiUabsJvD9uwUIGxIvRl5AaqKpnHtlgTI4JowT74bw=; b=N+/9MLJTAQTqlFRHGzdD+TB31y4RBW0SmmasVwUXY9uxhdP1SByZZm2dg8mSfrM2KRlHr3 HQijA3EeE7UweA384XD04ReoAxBSEo4n/ETubLGePcVxfQV1yQbR6ImBneHDn1mEiNMkbT /70lgL4H67QG3BjMfnxynKM7e6VKm0uTXcVrwipIVgG6aee+dsvvqpr6mf1xxNoRgYKG/m LieguT31wiNV2FJ1r/GhHfhrnivRQ3fOdwr+vrbpClMntGcsDks8D2QX5Vn7rv1m6IsSTe SY7TRuTQvwGE9XxEu8Ak/XvWzziZLVOoYzMcYhvWWVdgWV9H70UXM5IVIxvg1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708804948; a=rsa-sha256; cv=none; b=KVQJtJUQihvRTc0/ReJi2zFbks+hxjFOkkIoabdnNgK31PaYX/TnLfFxcVG+wlnvVZJVKB w8s0e2BR2CQtPwr22GvURclk/H/H1zfXi3yJJp4FGxrHVnieOSKHygR2dFveswbSjCwKfP +YvaEZJFN1Iqsip2h/jO+umRfzMyCdkgYPcB7vtiRCTkjNT77S2aNYqiXk8e4wiScSoime CMIBCN0Nl7XrUd6oHHBjJiAq0gNvdgSskI8/l9RgRWr3mOVj2Z8VUo+sYQCuPE8GBkFbGR /TxoA5sJV7Xr8ZCfgB8ivwup4L2gDFLBPRmSoKEh8zFq9SwRhcMB+l5iPQkoLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708804948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VfiUabsJvD9uwUIGxIvRl5AaqKpnHtlgTI4JowT74bw=; b=w8BMEtJrtTJjmPYZcR3KhIZlPnZmCTBW1LigiCbqfJcHI6wvISyC6h3EjQWGZHGxjF2GHo aJn057/TGXHeMFhhkUW9NTcmoJg1MwYgljKggjPAm6pkZ9p1x3aPKpt2F6lyCcsufijvBn fjLGGXWmT7XVUQjAbC93QWgVDLYciqogE9iP3Wu6BaTuDauMw5uylYJhHIa+O0VOeKDLqZ zRcaatK7H9+U6Dpxv+ku9fv/MkJFwinAKNW72TCC1C4aXCp4TdjCClkZMmzZiKrS35JF1p 2Z8vi9qXWdOSic9+7H8vx6DaeMqFFx07XLUjsietZ0yxR2b0X3bSi6HMquHk7Q== 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 4ThyTc0gSdz1CvQ; Sat, 24 Feb 2024 20:02: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 41OK2Rv2085092; Sat, 24 Feb 2024 20:02:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41OK2Rs0085089; Sat, 24 Feb 2024 20:02:27 GMT (envelope-from git) Date: Sat, 24 Feb 2024 20:02:27 GMT Message-Id: <202402242002.41OK2Rs0085089@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 5e248c23d995 - main - tcp: retain some CC signals outside of kernel scope 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: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e248c23d995a059d24f4784d5a256cddd42e557 Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=5e248c23d995a059d24f4784d5a256cddd42e557 commit 5e248c23d995a059d24f4784d5a256cddd42e557 Author: Richard Scheffenegger AuthorDate: 2024-02-24 20:01:54 +0000 Commit: Richard Scheffenegger CommitDate: 2024-02-24 20:01:54 +0000 tcp: retain some CC signals outside of kernel scope Summary: fix build error after f74352fbcf15341accaf5a92240871f98323215d Reviewers: #transport! Subscribers: imp, melifaro, glebius Differential Revision: https://reviews.freebsd.org/D44066 --- sys/netinet/cc/cc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/netinet/cc/cc.h b/sys/netinet/cc/cc.h index 5b2cb58a24a0..aac0825e5fe1 100644 --- a/sys/netinet/cc/cc.h +++ b/sys/netinet/cc/cc.h @@ -121,12 +121,15 @@ struct cc_var { #define CCF_HYSTART_CAN_SH_CWND 0x0800 /* Can hystart when going CSS -> CA slam the cwnd */ #define CCF_HYSTART_CONS_SSTH 0x1000 /* Should hystart use the more conservative ssthresh */ +#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */ typedef enum { +#if defined(_KERNEL) || defined(_WANT_TCPCB) /* ACK types passed to the ack_received() hook. */ CC_ACK = 0x0001, /* Regular in sequence ACK. */ CC_DUPACK = 0x0002, /* Duplicate ACK. */ CC_PARTIALACK = 0x0004, /* Not yet. */ CC_SACK = 0x0008, /* Not yet. */ +#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */ /* Congestion signal types passed to the cong_signal() hook. */ CC_ECN = 0x0100, /* ECN marked packet received. */ CC_RTO = 0x0200, /* RTO fired. */ @@ -138,7 +141,6 @@ typedef enum { */ CC_SIGPRIVMASK = 0xFF000000 /* Mask to check if sig is private. */ } ccsignal_t; -#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */ #ifdef _KERNEL /* From nobody Sat Feb 24 20:30:43 2024 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 4Thz6Q1Z8Lz5BXxX; Sat, 24 Feb 2024 20:30:54 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2075.outbound.protection.outlook.com [40.107.223.75]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Thz6P68f7z4KBk; Sat, 24 Feb 2024 20:30:53 +0000 (UTC) (envelope-from Richard.Scheffenegger@netapp.com) Authentication-Results: mx1.freebsd.org; none ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=g1c6I5WYTC2r5j3d3eYk+ipThX8j2q0Aob4xSxdrnW67gtF9CQPg1GAqbSnb0fqq5m+0g0z7Hyw8aYhYsP1dHEm8I5v9AOtlrYCr5GKKqKnKpGJgK9zNLLdJvDRSkwkCnqnQ/L9n2kEtvKzWGplpXhqAlh+zAaeFl8ejKGj4U9Us0ZcHZgGQVXA1gWCt2dMa1zO0Gw9oz/iJHZeZ2CJEOWenGg3sMwQHr7LFqIMdVJi+eE2J+mKHomKubSfkz3lIFWDyWIiUvB6ecXnyJfLzhHQMOAAJPswSs8q5CQrKc9iM0kad0WL64ZxQ0Vyey8lbeSBsQ0I2Cg4M6EZ40BMR0A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=q9ZR46hkcVx/OhUUI2/X2oFE8gfR/yfKWpPAx+X1Mss=; b=HZuwKRvWldTbiOqcxt+IGNKhe+RQDSFXF1BJA8dPIKrPu62IytfYcCDFBx+zubZ9QP94y5k/aiHOpiWjHd06SU3N2a7ctlZWuymLkzhkBdl4PLXJSn5c04a/ZaBSmmmM5lx5NV6ixDmLOxWuaId31l+zudCl1G9cWL8jMA3fk7i5JOciHYfBavaZIEi74SMcUpWlsDPgL1P6i7XoMDmKVglVFdyQh8tUyDa9mT30yDJXOli1PkfOSgkyPz/iYZbEJJmJ5t6vb2KW6WjD2wiPX/OP03cyO8XnXlnkIKenWyLWazPFl2mdaPkFDDCVeA/LQBTZD24dIg5gjN4luCPaYg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=fail (sender ip is 52.8.140.255) smtp.rcpttodomain=freebsd.org smtp.mailfrom=netapp.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=netapp.com; dkim=pass (signature was verified) header.d=netapp.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=netapp.com] dkim=[1,1,header.d=netapp.com] dmarc=[1,1,header.from=netapp.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=q9ZR46hkcVx/OhUUI2/X2oFE8gfR/yfKWpPAx+X1Mss=; b=sK7QAvDfb2LPvJoZyW2Py9aHklF5ombIVOjYgQs13xuOn5TVHMR7mE6s2M8a72yfRdm0zK4Z1uQ3nYtkJmWLNZu8scdJGWzif3kQ83A9nIM1LqstdKIOIGUiF68s3pLLFdXyg9f5t2onBVxwdA3NZ+O3ekEJqhxb6gDHJ3ypj51ZBNJLSHMk2BQGt0FLQtoA/KLxQmheBdu0qv1/TXwo87vDJeRCaWU7oNtP/mp3sHY9EnKUua9H2cRKMYlA2oKze+mKWHF2kFlKzQBlNPW6IPBUX9SLEteGBCWWNHxBh1jfjzgrEYSMBdV4xNZnGhkp/aUgVx+xs2ovpLqxUXivLg== Received: from MW2PR2101CA0028.namprd21.prod.outlook.com (2603:10b6:302:1::41) by SA2PR06MB7497.namprd06.prod.outlook.com (2603:10b6:806:148::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.33; Sat, 24 Feb 2024 20:30:49 +0000 Received: from CO1PEPF000044F6.namprd21.prod.outlook.com (2603:10b6:302:1:cafe::3) by MW2PR2101CA0028.outlook.office365.com (2603:10b6:302:1::41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.20 via Frontend Transport; Sat, 24 Feb 2024 20:30:49 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 52.8.140.255) smtp.mailfrom=netapp.com; dkim=pass (signature was verified) header.d=netapp.com;dmarc=pass action=none header.from=netapp.com; Received-SPF: Fail (protection.outlook.com: domain of netapp.com does not designate 52.8.140.255 as permitted sender) receiver=protection.outlook.com; client-ip=52.8.140.255; helo=haraka01-inline-api-pop.vpc-50c51735.usw1.shn; Received: from haraka01-inline-api-pop.vpc-50c51735.usw1.shn (52.8.140.255) by CO1PEPF000044F6.mail.protection.outlook.com (10.167.241.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.0 via Frontend Transport; Sat, 24 Feb 2024 20:30:48 +0000 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by haraka01-inline-api-pop.vpc-50c51735.usw1.shn (Haraka/2.8.24) with ESMTPS id F67751D5-C917-4897-8C29-94805B6B42B1.1 envelope-from (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 verify=FAIL); Sat, 24 Feb 2024 20:30:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bqt60Bkn+gjM/i174jfBliJh8tTCf/oBDfu5fOcNQHuIFTdHkZLQ+LjxkQs294C7Y0mNY6UJFJYA229y5WpEN4VGgZsW56scWFgQLMT1BxN22K7Kw8OPyyr997oWlhQTi6/CGUWzhauhbxUBBhwArsnfPqocmqwnK4ufZ6JCUOCELgF65NGMjRHzo8TCdsYI2wY1N1VRkuLNN48Ol0++AjnIJaBRP0a/jnc892/VoIEHFr/caLuFAPp4oWB2swzpQk44F3UR1ySmTmMeeydIrWP3VxIUTHwHLHggU8oa1OOYCulsqMfeDLH5JlGeXLFAnhi0VkvcfJXr/aCETHszTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=q9ZR46hkcVx/OhUUI2/X2oFE8gfR/yfKWpPAx+X1Mss=; b=mO0G/f/4reBal57dBkH67T4tukLASR7NhkzQYg5EDqdwnZdJqqy0dyTCZ4Z96noqQI43MA591MezbTsYV+RqZDm1WfoHsU4mRRjGIXc3Z2h2+tbwglRiSHhXCxgoXr4hlrMgTZVh1X7U//F5gDETo7fv96ZiI2a3v754Mkn3TSuFWhM9Zafq6MkgLgUB/c05ELFojzKpCbxlt7X8ipcPLe/e6rXP191XzbwWNo2dYCnCPU3zvD2z0yHYhTKNLkj3p/154OVTWtGRHUk9Qw3PgnA3LIXzI4BbiRUiSrL1RJalUurnLNb296df4HatE5BDAd6GYJ/Vse1MGmec7nMXLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=netapp.com; dmarc=pass action=none header.from=netapp.com; dkim=pass header.d=netapp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=q9ZR46hkcVx/OhUUI2/X2oFE8gfR/yfKWpPAx+X1Mss=; b=sK7QAvDfb2LPvJoZyW2Py9aHklF5ombIVOjYgQs13xuOn5TVHMR7mE6s2M8a72yfRdm0zK4Z1uQ3nYtkJmWLNZu8scdJGWzif3kQ83A9nIM1LqstdKIOIGUiF68s3pLLFdXyg9f5t2onBVxwdA3NZ+O3ekEJqhxb6gDHJ3ypj51ZBNJLSHMk2BQGt0FLQtoA/KLxQmheBdu0qv1/TXwo87vDJeRCaWU7oNtP/mp3sHY9EnKUua9H2cRKMYlA2oKze+mKWHF2kFlKzQBlNPW6IPBUX9SLEteGBCWWNHxBh1jfjzgrEYSMBdV4xNZnGhkp/aUgVx+xs2ovpLqxUXivLg== Received: from PH0PR06MB7639.namprd06.prod.outlook.com (2603:10b6:510:4e::18) by SA1PR06MB8322.namprd06.prod.outlook.com (2603:10b6:806:1c9::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.33; Sat, 24 Feb 2024 20:30:44 +0000 Received: from PH0PR06MB7639.namprd06.prod.outlook.com ([fe80::f6cc:4a63:a807:2e54]) by PH0PR06MB7639.namprd06.prod.outlook.com ([fe80::f6cc:4a63:a807:2e54%7]) with mapi id 15.20.7316.031; Sat, 24 Feb 2024 20:30:44 +0000 From: "Scheffenegger, Richard" To: Baptiste Daroussin , Richard Scheffenegger , "src-committers@FreeBSD.org" , "dev-commits-src-all@FreeBSD.org" , "dev-commits-src-main@FreeBSD.org" Subject: RE: git: f74352fbcf15 - main - tcp: use enum for all congestion control signals Thread-Topic: git: f74352fbcf15 - main - tcp: use enum for all congestion control signals Thread-Index: AQHaZzy4kAnu3vgPIk2dI13NyA+8hbEZzs2AgAAjHvA= Date: Sat, 24 Feb 2024 20:30:43 +0000 Message-ID: References: <202402241615.41OGFcg7091756@gitrepo.freebsd.org> In-Reply-To: Accept-Language: de-AT, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.10.200.16 dlp-reaction: no-action Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=netapp.com; x-ms-traffictypediagnostic: PH0PR06MB7639:EE_|SA1PR06MB8322:EE_|CO1PEPF000044F6:EE_|SA2PR06MB7497:EE_ X-MS-Office365-Filtering-Correlation-Id: a59ea36f-d762-4e89-74e9-08dc35777c8e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: aqTdovREAsD8UmeGcQIbQ90Q/KAZEgdvcfrJsUPq8tZ7f03wjG2te6OGQdpOvCj4iEshrO9+r1VX4AcLVdqB7W4/G+DFqf5CGD7qs4jXC1YPjI6nniUvmVAz/mdH3yTAq+IU5zAiUpygNs01RKsP+DKNTmMxfdY1r3cXsoQlCBvATPtsejv+zR+KBao/qxkJpX+S8gx+Ct7u4IL7t7PWXk8rkaoXCEVedvKRl9PLJHSl3daErwsVezW93SgUOUwS5d4qn3Wf09RoehmGOWSAgMjMnH/PuGCsD1FD5lmiJTUhBe4o25t9sEWHGBF6b9vUsQm7yZUbnkTpsjzqxIzgbCS7AlT6UYTw/SwPAWrPWk9miobpzzvYC5879dUSKFW7sYhtSmdacf06LADC9oPuva6ylz/tiU0b7CNGVnO2Me7hJm7xRXMUg2h0NbGc4W+msPmyOvTc8xX8q1cffysyQct16ZED0wWQ6nbADdy3Zg+P33VR8yeYTNP9omELp5ZW31Fzto2cvuvDgn1rT60fi6K5OAqIwdgMpZBXH9AbY3u9AUd19gjnDriGb2DfwaWwLx4LOWXfnlKQqggrYyUrO6E89jaVpDEMF4nkzSDfMJ0= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR06MB7639.namprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(230273577357003)(38070700009);DIR:OUT;SFP:1101; Content-Type: multipart/alternative; boundary="_000_PH0PR06MB7639163516643B8783C1DB5186542PH0PR06MB7639namp_" 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 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR06MB8322 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=netapp.com; X-SHN-DLP-SCAN: success X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: CO1PEPF000044F6.namprd21.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 63d4f49e-405f-49a7-58c7-08dc357779c2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HkyMB5WR8gquxvikNuyin+YL/Pz5cTG1NDi9WMwJ9udiMayI9BLC2kM3iDI0AZiJZFq/NeTV8Z6DLJVXY0xmF5dTgMxw6STwWIyo+CDwpRr5IkiTCgQMEpC1UUnjWcHkP8M7SSUjvGToKpl5hIYGwoF68vtPiy7uQWytO74s04QbqxJxrXEwCtshELYfZyQBjwuOTMsgLl0ztaNc1QQ6Wsq7w7bp/Ta0HsvpBdbopxGKKrSVNDM9shfG9pNm5w9ViDUxGZPORehVx085anYyB+3ySyezpreRD5YsQoSXeBYYQJrt5EsuqZVePW25yIIGPsjE8XN+57eJU50PfCgNxbVdGNTq0DT/E10zGjW3Wr0AevnHOXYsDBx622ngC1rpVkI1JHeKue53xyptiXFaYltV9l69FWhNNskYu8UkroMMaZodvxwNs9fztqJB/F58HfFhBdoCEvIkpar4zuNSmcBNk58DG0i4GCeCfPf3gqMMbftBlN1MKYvytNzrer2fisJl1Kq3JLBhV3XB/uGlmmg6UJo6TNlylpovDhdoU396IQzf+TCcV9Tiq4SS0d7OxcASVbSLFyMeK8/880a/hUd9fTfVbvcxFQ+GMw5JKc6THRhGcfn+iXry84osVzV5Zw32IIqzTPVeODrRiEIfQQ== X-Forefront-Antispam-Report: CIP:52.8.140.255;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:haraka01-inline-api-pop.vpc-50c51735.usw1.shn;PTR:send1.mail.prod.i-shn.net;CAT:NONE;SFS:(13230031)(230273577357003)(36860700004)(40470700004)(46966006);DIR:OUT;SFP:1101; X-OriginatorOrg: netapp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2024 20:30:48.4671 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a59ea36f-d762-4e89-74e9-08dc35777c8e X-MS-Exchange-CrossTenant-Id: 4b0911a0-929b-4715-944b-c03745165b3a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=4b0911a0-929b-4715-944b-c03745165b3a;Ip=[52.8.140.255];Helo=[haraka01-inline-api-pop.vpc-50c51735.usw1.shn] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000044F6.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR06MB7497 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:8075, ipnet:40.104.0.0/14, country:US] X-Rspamd-Queue-Id: 4Thz6P68f7z4KBk --_000_PH0PR06MB7639163516643B8783C1DB5186542PH0PR06MB7639namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciB0aGUgaGVhZHMtdXAuIElzIGZpeGVkIHdpdGggNWUyNDhjMjNkOTk1YTA1OWQy NGY0Nzg0ZDVhMjU2Y2RkZDQyZTU1Nw0KDQoNClJpY2hhcmQNCg0KRnJvbTogQmFwdGlzdGUgRGFy b3Vzc2luIDxiYXB0QEZyZWVCU0Qub3JnPg0KU2VudDogU2Ftc3RhZywgMjQuIEZlYnJ1YXIgMjAy NCAxOToyNA0KVG86IFJpY2hhcmQgU2NoZWZmZW5lZ2dlciA8cnNjaGVmZkBGcmVlQlNELm9yZz47 IHNyYy1jb21taXR0ZXJzQEZyZWVCU0Qub3JnOyBkZXYtY29tbWl0cy1zcmMtYWxsQEZyZWVCU0Qu b3JnOyBkZXYtY29tbWl0cy1zcmMtbWFpbkBGcmVlQlNELm9yZw0KU3ViamVjdDogUmU6IGdpdDog Zjc0MzUyZmJjZjE1IC0gbWFpbiAtIHRjcDogdXNlIGVudW0gZm9yIGFsbCBjb25nZXN0aW9uIGNv bnRyb2wgc2lnbmFscw0KDQpFWFRFUk5BTCBFTUFJTCAtIFVTRSBDQVVUSU9OIHdoZW4gY2xpY2tp bmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCg0KDQpMZSAyNCBmw6l2cmllciAyMDI0IDE3OjE1OjM4 IEdNVCswMTowMCwgUmljaGFyZCBTY2hlZmZlbmVnZ2VyIDxyc2NoZWZmQEZyZWVCU0Qub3JnPG1h aWx0bzpyc2NoZWZmQEZyZWVCU0Qub3JnPj4gYSDDqWNyaXQgOg0KDQpUaGUgYnJhbmNoIG1haW4g aGFzIGJlZW4gdXBkYXRlZCBieSByc2NoZWZmOg0KDQpVUkw6IGh0dHBzOi8vY2dpdC5GcmVlQlNE Lm9yZy9zcmMvY29tbWl0Lz9pZD1mNzQzNTJmYmNmMTUzNDFhY2NhZjVhOTIyNDA4NzFmOTgzMjMy MTVkPGh0dHBzOi8vY2dpdC5mcmVlYnNkLm9yZy9zcmMvY29tbWl0Lz9pZD1mNzQzNTJmYmNmMTUz NDFhY2NhZjVhOTIyNDA4NzFmOTgzMjMyMTVkPg0KDQpjb21taXQgZjc0MzUyZmJjZjE1MzQxYWNj YWY1YTkyMjQwODcxZjk4MzIzMjE1ZA0KQXV0aG9yOiAgICAgUmljaGFyZCBTY2hlZmZlbmVnZ2Vy IDxyc2NoZWZmQEZyZWVCU0Qub3JnPG1haWx0bzpyc2NoZWZmQEZyZWVCU0Qub3JnPj4NCkF1dGhv ckRhdGU6IDIwMjQtMDItMjQgMTU6NDE6MzEgKzAwMDANCkNvbW1pdDogICAgIFJpY2hhcmQgU2No ZWZmZW5lZ2dlciA8cnNjaGVmZkBGcmVlQlNELm9yZzxtYWlsdG86cnNjaGVmZkBGcmVlQlNELm9y Zz4+DQpDb21taXREYXRlOiAyMDI0LTAyLTI0IDE1OjQxOjQ4ICswMDAwDQoNCiAgICB0Y3A6IHVz ZSBlbnVtIGZvciBhbGwgY29uZ2VzdGlvbiBjb250cm9sIHNpZ25hbHMNCg0KICAgIEZhY2lsaXRh dGUgZWFzaWVyIHRyb3VibGVzaG9vdGluZyBieSBlbnVtZXJhdGluZw0KICAgIGFsbCBjb25nZXN0 aW9uIGNvbnRyb2wgc2lnbmFscy4gVHlwZWNhc3QgdGhlDQogICAgZW51bSB0byBpbnQsIHdoZW4g YSBjb25nZXN0aW9uIGNvbnRyb2wgbW9kdWxlIHVzZXMNCiAgICBwcml2YXRlIHNpZ25hbHMuDQoN CiAgICBObyBleHRlcm5hbCBjaGFuZ2UuDQoNCiAgICBSZXZpZXdlZCBCeTogICAgICAgICAgICBn bGViaXVzLCB0dWV4ZW4sICN0cmFuc3BvcnQNCiAgICBTcG9uc29yZWQgYnk6ICAgICAgICAgICBO ZXRBcHAsIEluYy4NCiAgICBEaWZmZXJlbnRpYWwgUmV2aXNpb246ICBodHRwczovL3Jldmlld3Mu ZnJlZWJzZC5vcmcvRDQzODM4DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoN CiBzeXMvbmV0aW5ldC9jYy9jYy5jICAgICAgICAgfCAgMiArLQ0KIHN5cy9uZXRpbmV0L2NjL2Nj LmggICAgICAgICB8IDQyICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KIHN5cy9uZXRpbmV0L2NjL2NjX2NkZy5jICAgICB8IDEwICsrKysrLS0tLS0NCiBzeXMvbmV0 aW5ldC9jYy9jY19jaGQuYyAgICAgfCAxMSArKysrKystLS0tLQ0KIHN5cy9uZXRpbmV0L2NjL2Nj X2N1YmljLmMgICB8IDEwICsrKysrKy0tLS0NCiBzeXMvbmV0aW5ldC9jYy9jY19kY3RjcC5jICAg fCAxMCArKysrKystLS0tDQogc3lzL25ldGluZXQvY2MvY2NfaGQuYyAgICAgIHwgIDQgKystLQ0K IHN5cy9uZXRpbmV0L2NjL2NjX2h0Y3AuYyAgICB8IDEwICsrKysrKy0tLS0NCiBzeXMvbmV0aW5l dC9jYy9jY19uZXdyZW5vLmMgfCAxMCArKysrKystLS0tDQogc3lzL25ldGluZXQvY2MvY2NfdmVn YXMuYyAgIHwgMTMgKysrKysrKy0tLS0tLQ0KIDEwIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlv bnMoKyksIDU2IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQvY2MvY2Mu YyBiL3N5cy9uZXRpbmV0L2NjL2NjLmMNCmluZGV4IGMyOTY1YjFlNmE0OC4uOTMwOGI1ZjhkNzY0 IDEwMDY0NA0KLS0tIGEvc3lzL25ldGluZXQvY2MvY2MuYw0KKysrIGIvc3lzL25ldGluZXQvY2Mv Y2MuYw0KQEAgLTUwNSw3ICs1MDUsNyBAQCBuZXdyZW5vX2NjX2Nvbmdfc2lnbmFsKHN0cnVjdCBj Y192YXIgKmNjdiwgdWludDMyX3QgdHlwZSkNCiB9DQoNCiB2b2lkDQotbmV3cmVub19jY19hY2tf cmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MTZfdCB0eXBlKQ0KK25ld3Jlbm9fY2Nf YWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKQ0KIHsNCiAg ICAgIGlmICh0eXBlID09IENDX0FDSyAmJiAhSU5fUkVDT1ZFUlkoQ0NWKGNjdiwgdF9mbGFncykp ICYmDQogICAgICAgICAgKGNjdi0+ZmxhZ3MgJiBDQ0ZfQ1dORF9MSU1JVEVEKSkgew0KZGlmZiAt LWdpdCBhL3N5cy9uZXRpbmV0L2NjL2NjLmggYi9zeXMvbmV0aW5ldC9jYy9jYy5oDQppbmRleCA5 NTcxZGE1MGIyYzcuLjViMmNiNThhMjRhMCAxMDA2NDQNCi0tLSBhL3N5cy9uZXRpbmV0L2NjL2Nj LmgNCisrKyBiL3N5cy9uZXRpbmV0L2NjL2NjLmgNCkBAIC0xMjEsMjUgKzEyMSwyNSBAQCBzdHJ1 Y3QgY2NfdmFyIHsNCiAjZGVmaW5lIENDRl9IWVNUQVJUX0NBTl9TSF9DV05EICAgIDB4MDgwMCAg LyogQ2FuIGh5c3RhcnQgd2hlbiBnb2luZyBDU1MgLT4gQ0Egc2xhbSB0aGUgY3duZCAqLw0KICNk ZWZpbmUgQ0NGX0hZU1RBUlRfQ09OU19TU1RIICAgICAgMHgxMDAwICAvKiBTaG91bGQgaHlzdGFy dCB1c2UgdGhlIG1vcmUgY29uc2VydmF0aXZlIHNzdGhyZXNoICovDQoNCi0vKiBBQ0sgdHlwZXMg cGFzc2VkIHRvIHRoZSBhY2tfcmVjZWl2ZWQoKSBob29rLiAqLw0KLSNkZWZpbmUgICAgIENDX0FD SyAgICAgICAgIDB4MDAwMSAgLyogUmVndWxhciBpbiBzZXF1ZW5jZSBBQ0suICovDQotI2RlZmlu ZSAgICAgQ0NfRFVQQUNLICAgICAgMHgwMDAyICAvKiBEdXBsaWNhdGUgQUNLLiAqLw0KLSNkZWZp bmUgICAgIENDX1BBUlRJQUxBQ0sgIDB4MDAwNCAgLyogTm90IHlldC4gKi8NCi0jZGVmaW5lICAg ICBDQ19TQUNLICAgICAgICAweDAwMDggIC8qIE5vdCB5ZXQuICovDQordHlwZWRlZiBlbnVtIHsN CisgICAgIC8qIEFDSyB0eXBlcyBwYXNzZWQgdG8gdGhlIGFja19yZWNlaXZlZCgpIGhvb2suICov DQorICAgICBDQ19BQ0sgPSAgICAgICAweDAwMDEsIC8qIFJlZ3VsYXIgaW4gc2VxdWVuY2UgQUNL LiAqLw0KKyAgICAgQ0NfRFVQQUNLID0gICAgMHgwMDAyLCAvKiBEdXBsaWNhdGUgQUNLLiAqLw0K KyAgICAgQ0NfUEFSVElBTEFDSyA9IDB4MDAwNCwgLyogTm90IHlldC4gKi8NCisgICAgIENDX1NB Q0sgPSAgICAgIDB4MDAwOCwgLyogTm90IHlldC4gKi8NCisgICAgIC8qIENvbmdlc3Rpb24gc2ln bmFsIHR5cGVzIHBhc3NlZCB0byB0aGUgY29uZ19zaWduYWwoKSBob29rLiAqLw0KKyAgICAgQ0Nf RUNOID0gICAgICAgMHgwMTAwLCAvKiBFQ04gbWFya2VkIHBhY2tldCByZWNlaXZlZC4gKi8NCisg ICAgIENDX1JUTyA9ICAgICAgIDB4MDIwMCwgLyogUlRPIGZpcmVkLiAqLw0KKyAgICAgQ0NfUlRP X0VSUiA9ICAgMHgwNDAwLCAvKiBSVE8gZmlyZWQgaW4gZXJyb3IuICovDQorICAgICBDQ19ORFVQ QUNLID0gICAweDA4MDAsIC8qIFRocmVzaG9sZCBvZiBkdXBhY2sncyByZWFjaGVkLiAqLw0KKyAg ICAgLyoNCisgICAgICAqIFRoZSBoaWdoZXN0IG9yZGVyIDggYml0cyAoMHgwMTAwMDAwMCAtIDB4 ODAwMDAwMDApIGFyZSByZXNlcnZlZA0KKyAgICAgICogZm9yIENDIGFsZ29zIHRvIGRlY2xhcmUg dGhlaXIgb3duIGNvbmdlc3Rpb24gc2lnbmFsIHR5cGVzLg0KKyAgICAgICovDQorICAgICBDQ19T SUdQUklWTUFTSyA9IDB4RkYwMDAwMDAgICAgLyogTWFzayB0byBjaGVjayBpZiBzaWcgaXMgcHJp dmF0ZS4gKi8NCit9IGNjc2lnbmFsX3Q7DQogI2VuZGlmIC8qIGRlZmluZWQoX0tFUk5FTCkgfHwg ZGVmaW5lZChfV0FOVF9UQ1BDQikgKi8NCg0KLS8qDQotICogQ29uZ2VzdGlvbiBzaWduYWwgdHlw ZXMgcGFzc2VkIHRvIHRoZSBjb25nX3NpZ25hbCgpIGhvb2suIFRoZSBoaWdoZXN0IG9yZGVyIDgN Ci0gKiBiaXRzICgweDAxMDAwMDAwIC0gMHg4MDAwMDAwMCkgYXJlIHJlc2VydmVkIGZvciBDQyBh bGdvcyB0byBkZWNsYXJlIHRoZWlyIG93bg0KLSAqIGNvbmdlc3Rpb24gc2lnbmFsIHR5cGVzLg0K LSAqLw0KLSNkZWZpbmUgICAgIENDX0VDTiAgICAgICAgIDB4MDAwMDAwMDEgICAgIC8qIEVDTiBt YXJrZWQgcGFja2V0IHJlY2VpdmVkLiAqLw0KLSNkZWZpbmUgICAgIENDX1JUTyAgICAgICAgIDB4 MDAwMDAwMDIgICAgIC8qIFJUTyBmaXJlZC4gKi8NCi0jZGVmaW5lICAgICBDQ19SVE9fRVJSICAg ICAweDAwMDAwMDA0ICAgICAvKiBSVE8gZmlyZWQgaW4gZXJyb3IuICovDQotI2RlZmluZSAgICAg Q0NfTkRVUEFDSyAgICAgMHgwMDAwMDAwOCAgICAgLyogVGhyZXNob2xkIG9mIGR1cGFjaydzIHJl YWNoZWQuICovDQotDQotI2RlZmluZSAgICAgQ0NfU0lHUFJJVk1BU0sgMHhGRjAwMDAwMCAgICAg LyogTWFzayB0byBjaGVjayBpZiBzaWcgaXMgcHJpdmF0ZS4gKi8NCi0NCiAjaWZkZWYgX0tFUk5F TA0KIC8qDQogICogU3RydWN0dXJlIHRvIGhvbGQgZGF0YSBhbmQgZnVuY3Rpb24gcG9pbnRlcnMg dGhhdCB0b2dldGhlciByZXByZXNlbnQgYQ0KQEAgLTE3NSwxMCArMTc1LDEwIEBAIHN0cnVjdCBj Y19hbGdvIHsNCiAgICAgIHZvaWQgICAgKCpjb25uX2luaXQpKHN0cnVjdCBjY192YXIgKmNjdik7 DQoNCiAgICAgIC8qIENhbGxlZCBvbiByZWNlaXB0IG9mIGFuIGFjay4gKi8NCi0gICAgIHZvaWQg ICAgKCphY2tfcmVjZWl2ZWQpKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDE2X3QgdHlwZSk7DQor ICAgICB2b2lkICAgICgqYWNrX3JlY2VpdmVkKShzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFs X3QgdHlwZSk7DQoNCiAgICAgIC8qIENhbGxlZCBvbiBkZXRlY3Rpb24gb2YgYSBjb25nZXN0aW9u IHNpZ25hbC4gKi8NCi0gICAgIHZvaWQgICAgKCpjb25nX3NpZ25hbCkoc3RydWN0IGNjX3ZhciAq Y2N2LCB1aW50MzJfdCB0eXBlKTsNCisgICAgIHZvaWQgICAgKCpjb25nX3NpZ25hbCkoc3RydWN0 IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHR5cGUpOw0KDQogICAgICAvKiBDYWxsZWQgYWZ0ZXIg ZXhpdGluZyBjb25nZXN0aW9uIHJlY292ZXJ5LiAqLw0KICAgICAgdm9pZCAgICAoKnBvc3RfcmVj b3ZlcnkpKHN0cnVjdCBjY192YXIgKmNjdik7DQpAQCAtMjM2LDggKzIzNiw4IEBAIGV4dGVybiBz dHJ1Y3Qgcndsb2NrIGNjX2xpc3RfbG9jazsNCiAgKi8NCiB2b2lkIG5ld3Jlbm9fY2NfcG9zdF9y ZWNvdmVyeShzdHJ1Y3QgY2NfdmFyICopOw0KIHZvaWQgbmV3cmVub19jY19hZnRlcl9pZGxlKHN0 cnVjdCBjY192YXIgKik7DQotdm9pZCBuZXdyZW5vX2NjX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192 YXIgKiwgdWludDMyX3QgKTsNCi12b2lkIG5ld3Jlbm9fY2NfYWNrX3JlY2VpdmVkKHN0cnVjdCBj Y192YXIgKiwgdWludDE2X3QpOw0KK3ZvaWQgbmV3cmVub19jY19jb25nX3NpZ25hbChzdHJ1Y3Qg Y2NfdmFyICosIGNjc2lnbmFsX3QpOw0KK3ZvaWQgbmV3cmVub19jY19hY2tfcmVjZWl2ZWQoc3Ry dWN0IGNjX3ZhciAqLCBjY3NpZ25hbF90KTsNCg0KIC8qIENhbGxlZCB0byB0ZW1wb3JhcmlseSBr ZWVwIGFuIGFsZ28gZnJvbSBnb2luZyBhd2F5IGR1cmluZyBjaGFuZ2UgKi8NCiB2b2lkIGNjX3Jl ZmVyKHN0cnVjdCBjY19hbGdvICphbGdvKTsNCmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC9jYy9j Y19jZGcuYyBiL3N5cy9uZXRpbmV0L2NjL2NjX2NkZy5jDQppbmRleCAzZjIzYzQwOTExNzAuLjFl OTIzNmY4NzhkNCAxMDA2NDQNCi0tLSBhL3N5cy9uZXRpbmV0L2NjL2NjX2NkZy5jDQorKysgYi9z eXMvbmV0aW5ldC9jYy9jY19jZGcuYw0KQEAgLTIyMSw4ICsyMjEsOCBAQCBzdGF0aWMgaW50IGNk Z19tb2RfZGVzdHJveSh2b2lkKTsNCiBzdGF0aWMgdm9pZCBjZGdfY29ubl9pbml0KHN0cnVjdCBj Y192YXIgKmNjdik7DQogc3RhdGljIGludCBjZGdfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3Ys IHZvaWQgKnB0cik7DQogc3RhdGljIHZvaWQgY2RnX2NiX2Rlc3Ryb3koc3RydWN0IGNjX3ZhciAq Y2N2KTsNCi1zdGF0aWMgdm9pZCBjZGdfY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1 aW50MzJfdCBzaWduYWxfdHlwZSk7DQotc3RhdGljIHZvaWQgY2RnX2Fja19yZWNlaXZlZChzdHJ1 Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IGFja190eXBlKTsNCitzdGF0aWMgdm9pZCBjZGdfY29u Z19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHNpZ25hbF90eXBlKTsNCitz dGF0aWMgdm9pZCBjZGdfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxf dCBhY2tfdHlwZSk7DQogc3RhdGljIHNpemVfdCBjZGdfZGF0YV9zeih2b2lkKTsNCg0KIHN0cnVj dCBjY19hbGdvIGNkZ19jY19hbGdvID0gew0KQEAgLTQ1MCwxMSArNDUwLDExIEBAIGNkZ193aW5k b3dfaW5jcmVhc2Uoc3RydWN0IGNjX3ZhciAqY2N2LCBpbnQgbmV3X21lYXN1cmVtZW50KQ0KIH0N Cg0KIHN0YXRpYyB2b2lkDQotY2RnX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgdWlu dDMyX3Qgc2lnbmFsX3R5cGUpDQorY2RnX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwg Y2NzaWduYWxfdCBzaWduYWxfdHlwZSkNCiB7DQogICAgICBzdHJ1Y3QgY2RnICpjZGdfZGF0YSA9 IGNjdi0+Y2NfZGF0YTsNCg0KLSAgICAgc3dpdGNoKHNpZ25hbF90eXBlKSB7DQorICAgICBzd2l0 Y2goKGludClzaWduYWxfdHlwZSkgew0KICAgICAgY2FzZSBDQ19DREdfREVMQVk6DQogICAgICAg ICAgICAgQ0NWKGNjdiwgc25kX3NzdGhyZXNoKSA9IGNkZ193aW5kb3dfZGVjcmVhc2UoY2N2LA0K ICAgICAgICAgICAgICAgICBDQ1YoY2N2LCBzbmRfY3duZCksIFZfY2RnX2JldGFfZGVsYXkpOw0K QEAgLTU3MSw3ICs1NzEsNyBAQCBjYWxjX21vdmluZ19hdmVyYWdlKHN0cnVjdCBjZGcgKmNkZ19k YXRhLCBsb25nIHFkaWZmX21heCwgbG9uZyBxZGlmZl9taW4pDQogfQ0KDQogc3RhdGljIHZvaWQN Ci1jZGdfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDE2X3QgYWNrX3R5cGUp DQorY2RnX2Fja19yZWNlaXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgYWNrX3R5 cGUpDQogew0KICAgICAgc3RydWN0IGNkZyAqY2RnX2RhdGE7DQogICAgICBzdHJ1Y3QgZXJ0dCAq ZV90Ow0KZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0L2NjL2NjX2NoZC5jIGIvc3lzL25ldGluZXQv Y2MvY2NfY2hkLmMNCmluZGV4IGM2NDRkOWIyY2RiOC4uNTIwNDhhN2MwNWFlIDEwMDY0NA0KLS0t IGEvc3lzL25ldGluZXQvY2MvY2NfY2hkLmMNCisrKyBiL3N5cy9uZXRpbmV0L2NjL2NjX2NoZC5j DQpAQCAtODgsMTAgKzg4LDEwIEBADQogLyogTGFyZ2VzdCBwb3NzaWJsZSBudW1iZXIgcmV0dXJu ZWQgYnkgcmFuZG9tKCkuICovDQogI2RlZmluZSAgICAgUkFORE9NX01BWCAgICAgSU5UX01BWA0K DQotc3RhdGljIHZvaWQgY2hkX2Fja19yZWNlaXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQx Nl90IGFja190eXBlKTsNCitzdGF0aWMgdm9pZCBjaGRfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192 YXIgKmNjdiwgY2NzaWduYWxfdCBhY2tfdHlwZSk7DQogc3RhdGljIHZvaWQgY2hkX2NiX2Rlc3Ry b3koc3RydWN0IGNjX3ZhciAqY2N2KTsNCiBzdGF0aWMgaW50ICBjaGRfY2JfaW5pdChzdHJ1Y3Qg Y2NfdmFyICpjY3YsIHZvaWQgKnB0cik7DQotc3RhdGljIHZvaWQgY2hkX2Nvbmdfc2lnbmFsKHN0 cnVjdCBjY192YXIgKmNjdiwgdWludDMyX3Qgc2lnbmFsX3R5cGUpOw0KK3N0YXRpYyB2b2lkIGNo ZF9jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3Qgc2lnbmFsX3R5cGUp Ow0KIHN0YXRpYyB2b2lkIGNoZF9jb25uX2luaXQoc3RydWN0IGNjX3ZhciAqY2N2KTsNCiBzdGF0 aWMgaW50ICBjaGRfbW9kX2luaXQodm9pZCk7DQogc3RhdGljIHNpemVfdCAgICAgICBjaGRfZGF0 YV9zeih2b2lkKTsNCkBAIC0yMzUsNyArMjM1LDcgQEAgY2hkX3dpbmRvd19pbmNyZWFzZShzdHJ1 Y3QgY2NfdmFyICpjY3YsIGludCBuZXdfbWVhc3VyZW1lbnQpDQogICogYWNrX3R5cGUgPT0gQ0Nf QUNLLg0KICAqLw0KIHN0YXRpYyB2b2lkDQotY2hkX2Fja19yZWNlaXZlZChzdHJ1Y3QgY2NfdmFy ICpjY3YsIHVpbnQxNl90IGFja190eXBlKQ0KK2NoZF9hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3Zh ciAqY2N2LCBjY3NpZ25hbF90IGFja190eXBlKQ0KIHsNCiAgICAgIHN0cnVjdCBjaGQgKmNoZF9k YXRhOw0KICAgICAgc3RydWN0IGVydHQgKmVfdDsNCkBAIC0zMzYsNyArMzM2LDcgQEAgY2hkX2Ni X2luaXQoc3RydWN0IGNjX3ZhciAqY2N2LCB2b2lkICpwdHIpDQogfQ0KDQogc3RhdGljIHZvaWQN Ci1jaGRfY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MzJfdCBzaWduYWxfdHlw ZSkNCitjaGRfY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHNpZ25h bF90eXBlKQ0KIHsNCiAgICAgIHN0cnVjdCBlcnR0ICplX3Q7DQogICAgICBzdHJ1Y3QgY2hkICpj aGRfZGF0YTsNCkBAIC0zNDYsNyArMzQ2LDcgQEAgY2hkX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192 YXIgKmNjdiwgdWludDMyX3Qgc2lnbmFsX3R5cGUpDQogICAgICBjaGRfZGF0YSA9IGNjdi0+Y2Nf ZGF0YTsNCiAgICAgIHFkbHkgPSBpbWF4KGVfdC0+cnR0LCBjaGRfZGF0YS0+bWF4cnR0X2luX3J0 dCkgLSBlX3QtPm1pbnJ0dDsNCg0KLSAgICAgc3dpdGNoKHNpZ25hbF90eXBlKSB7DQorICAgICBz d2l0Y2goKGludClzaWduYWxfdHlwZSkgew0KICAgICAgY2FzZSBDQ19DSERfREVMQVk6DQogICAg ICAgICAgICAgY2hkX3dpbmRvd19kZWNyZWFzZShjY3YpOyAvKiBTZXQgbmV3IHNzdGhyZXNoLiAq Lw0KICAgICAgICAgICAgIENDVihjY3YsIHNuZF9jd25kKSA9IENDVihjY3YsIHNuZF9zc3RocmVz aCk7DQpAQCAtMzg3LDYgKzM4Nyw3IEBAIGNoZF9jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpj Y3YsIHVpbnQzMl90IHNpZ25hbF90eXBlKQ0KDQogICAgICBkZWZhdWx0Og0KICAgICAgICAgICAg IG5ld3Jlbm9fY2NfY29uZ19zaWduYWwoY2N2LCBzaWduYWxfdHlwZSk7DQorICAgICAgICAgICAg YnJlYWs7DQogICAgICB9DQogfQ0KDQpkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQvY2MvY2NfY3Vi aWMuYyBiL3N5cy9uZXRpbmV0L2NjL2NjX2N1YmljLmMNCmluZGV4IGViMTU4N2Q0NDQyNy4uYTlj NzU5MmI4MGNhIDEwMDY0NA0KLS0tIGEvc3lzL25ldGluZXQvY2MvY2NfY3ViaWMuYw0KKysrIGIv c3lzL25ldGluZXQvY2MvY2NfY3ViaWMuYw0KQEAgLTczLDEwICs3MywxMCBAQA0KICNpbmNsdWRl IDxuZXRpbmV0L2NjL2NjX2N1YmljLmg+DQogI2luY2x1ZGUgPG5ldGluZXQvY2MvY2NfbW9kdWxl Lmg+DQoNCi1zdGF0aWMgdm9pZCBjdWJpY19hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2 LCB1aW50MTZfdCB0eXBlKTsNCitzdGF0aWMgdm9pZCBjdWJpY19hY2tfcmVjZWl2ZWQoc3RydWN0 IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHR5cGUpOw0KIHN0YXRpYyB2b2lkIGN1YmljX2NiX2Rl c3Ryb3koc3RydWN0IGNjX3ZhciAqY2N2KTsNCiBzdGF0aWMgaW50ICBjdWJpY19jYl9pbml0KHN0 cnVjdCBjY192YXIgKmNjdiwgdm9pZCAqcHRyKTsNCi1zdGF0aWMgdm9pZCBjdWJpY19jb25nX3Np Z25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQzMl90IHR5cGUpOw0KK3N0YXRpYyB2b2lkIGN1 YmljX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKTsNCiBz dGF0aWMgdm9pZCBjdWJpY19jb25uX2luaXQoc3RydWN0IGNjX3ZhciAqY2N2KTsNCiBzdGF0aWMg aW50ICBjdWJpY19tb2RfaW5pdCh2b2lkKTsNCiBzdGF0aWMgdm9pZCBjdWJpY19wb3N0X3JlY292 ZXJ5KHN0cnVjdCBjY192YXIgKmNjdik7DQpAQCAtMjMzLDcgKzIzMyw3IEBAIGN1YmljX2RvZXNf c2xvd19zdGFydChzdHJ1Y3QgY2NfdmFyICpjY3YsIHN0cnVjdCBjdWJpYyAqY3ViaWNkKQ0KIH0N Cg0KIHN0YXRpYyB2b2lkDQotY3ViaWNfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwg dWludDE2X3QgdHlwZSkNCitjdWJpY19hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBj Y3NpZ25hbF90IHR5cGUpDQogew0KICAgICAgc3RydWN0IGN1YmljICpjdWJpY19kYXRhOw0KICAg ICAgdW5zaWduZWQgbG9uZyBXX2VzdCwgV19jdWJpYzsNCkBAIC00MTcsNyArNDE3LDcgQEAgY3Vi aWNfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YsIHZvaWQgKnB0cikNCiAgKiBQZXJmb3JtIGFu eSBuZWNlc3NhcnkgdGFza3MgYmVmb3JlIHdlIGVudGVyIGNvbmdlc3Rpb24gcmVjb3ZlcnkuDQog ICovDQogc3RhdGljIHZvaWQNCi1jdWJpY19jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3Ys IHVpbnQzMl90IHR5cGUpDQorY3ViaWNfY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCBj Y3NpZ25hbF90IHR5cGUpDQogew0KICAgICAgc3RydWN0IGN1YmljICpjdWJpY19kYXRhOw0KICAg ICAgdWludDMyX3QgbXNzLCBwaXBlOw0KQEAgLTUwMyw2ICs1MDMsOCBAQCBjdWJpY19jb25nX3Np Z25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQzMl90IHR5cGUpDQogICAgICAgICAgICAgY3Vi aWNfZGF0YS0+Y3duZF9lcG9jaCA9IGN1YmljX2RhdGEtPnVuZG9fY3duZF9lcG9jaDsNCiAgICAg ICAgICAgICBjdWJpY19kYXRhLT50X2Vwb2NoID0gY3ViaWNfZGF0YS0+dW5kb190X2Vwb2NoOw0K ICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgZGVmYXVsdDoNCisgICAgICAgICAgICBicmVhazsN CiAgICAgIH0NCiB9DQoNCmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC9jYy9jY19kY3RjcC5jIGIv c3lzL25ldGluZXQvY2MvY2NfZGN0Y3AuYw0KaW5kZXggYWUwYTU2ODM5NDQ5Li4zNzRkYjk4YzVl NjAgMTAwNjQ0DQotLS0gYS9zeXMvbmV0aW5ldC9jYy9jY19kY3RjcC5jDQorKysgYi9zeXMvbmV0 aW5ldC9jYy9jY19kY3RjcC5jDQpAQCAtNzksMTEgKzc5LDExIEBAIHN0cnVjdCBkY3RjcCB7DQog ICAgICB1aW50MzJfdCBudW1fY29uZ19ldmVudHM7IC8qICMgb2YgY29uZ2VzdGlvbiBldmVudHMg Ki8NCiB9Ow0KDQotc3RhdGljIHZvaWQgZGN0Y3BfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIg KmNjdiwgdWludDE2X3QgdHlwZSk7DQorc3RhdGljIHZvaWQgZGN0Y3BfYWNrX3JlY2VpdmVkKHN0 cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKTsNCiBzdGF0aWMgdm9pZCBkY3RjcF9h ZnRlcl9pZGxlKHN0cnVjdCBjY192YXIgKmNjdik7DQogc3RhdGljIHZvaWQgZGN0Y3BfY2JfZGVz dHJveShzdHJ1Y3QgY2NfdmFyICpjY3YpOw0KIHN0YXRpYyBpbnQgIGRjdGNwX2NiX2luaXQoc3Ry dWN0IGNjX3ZhciAqY2N2LCB2b2lkICpwdHIpOw0KLXN0YXRpYyB2b2lkIGRjdGNwX2Nvbmdfc2ln bmFsKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDMyX3QgdHlwZSk7DQorc3RhdGljIHZvaWQgZGN0 Y3BfY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHR5cGUpOw0KIHN0 YXRpYyB2b2lkIGRjdGNwX2Nvbm5faW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YpOw0KIHN0YXRpYyB2 b2lkIGRjdGNwX3Bvc3RfcmVjb3Zlcnkoc3RydWN0IGNjX3ZhciAqY2N2KTsNCiBzdGF0aWMgdm9p ZCBkY3RjcF9lY25wa3RfaGFuZGxlcihzdHJ1Y3QgY2NfdmFyICpjY3YpOw0KQEAgLTEwNCw3ICsx MDQsNyBAQCBzdHJ1Y3QgY2NfYWxnbyBkY3RjcF9jY19hbGdvID0gew0KIH07DQoNCiBzdGF0aWMg dm9pZA0KLWRjdGNwX2Fja19yZWNlaXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IHR5 cGUpDQorZGN0Y3BfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0 eXBlKQ0KIHsNCiAgICAgIHN0cnVjdCBkY3RjcCAqZGN0Y3BfZGF0YTsNCiAgICAgIGludCBieXRl c19hY2tlZCA9IDA7DQpAQCAtMjM3LDcgKzIzNyw3IEBAIGRjdGNwX2NiX2luaXQoc3RydWN0IGNj X3ZhciAqY2N2LCB2b2lkICpwdHIpDQogICogUGVyZm9ybSBhbnkgbmVjZXNzYXJ5IHRhc2tzIGJl Zm9yZSB3ZSBlbnRlciBjb25nZXN0aW9uIHJlY292ZXJ5Lg0KICAqLw0KIHN0YXRpYyB2b2lkDQot ZGN0Y3BfY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MzJfdCB0eXBlKQ0KK2Rj dGNwX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKQ0KIHsN CiAgICAgIHN0cnVjdCBkY3RjcCAqZGN0Y3BfZGF0YTsNCiAgICAgIHVpbnQzMl90IGN3aW4sIG1z cywgcGlwZTsNCkBAIC0zMDgsNiArMzA4LDggQEAgZGN0Y3BfY29uZ19zaWduYWwoc3RydWN0IGNj X3ZhciAqY2N2LCB1aW50MzJfdCB0eXBlKQ0KICAgICAgICAgICAgICAgICAgICAgZGN0Y3BfZGF0 YS0+c2F2ZV9zbmRueHQgKz0gQ0NWKGNjdiwgdF9tYXhzZWcpOw0KICAgICAgICAgICAgICAgICAg ICAgZGN0Y3BfZGF0YS0+bnVtX2NvbmdfZXZlbnRzKys7DQogICAgICAgICAgICAgICAgICAgICBi cmVhazsNCisgICAgICAgICAgICBkZWZhdWx0Og0KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7 DQogICAgICAgICAgICAgfQ0KICAgICAgfSBlbHNlDQogICAgICAgICAgICAgbmV3cmVub19jY19j b25nX3NpZ25hbChjY3YsIHR5cGUpOw0KZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0L2NjL2NjX2hk LmMgYi9zeXMvbmV0aW5ldC9jYy9jY19oZC5jDQppbmRleCAxYThiNjJjY2Y0MjYuLjgyNDg2NTYz Zjk3ZSAxMDA2NDQNCi0tLSBhL3N5cy9uZXRpbmV0L2NjL2NjX2hkLmMNCisrKyBiL3N5cy9uZXRp bmV0L2NjL2NjX2hkLmMNCkBAIC04MCw3ICs4MCw3IEBADQogLyogTGFyZ2VzdCBwb3NzaWJsZSBu dW1iZXIgcmV0dXJuZWQgYnkgcmFuZG9tKCkuICovDQogI2RlZmluZSAgICAgUkFORE9NX01BWCAg ICAgSU5UX01BWA0KDQotc3RhdGljIHZvaWQgaGRfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIg KmNjdiwgdWludDE2X3QgYWNrX3R5cGUpOw0KK3N0YXRpYyB2b2lkIGhkX2Fja19yZWNlaXZlZChz dHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgYWNrX3R5cGUpOw0KIHN0YXRpYyBpbnQgIGhk X21vZF9pbml0KHZvaWQpOw0KIHN0YXRpYyBzaXplX3QgICAgICAgaGRfZGF0YV9zeih2b2lkKTsN Cg0KQEAgLTEzOCw3ICsxMzgsNyBAQCBzaG91bGRfYmFja29mZihpbnQgcWRseSwgaW50IG1heHFk bHkpDQogICogYXMgTmV3UmVubyBpbiBhbGwgb3RoZXIgY2lyY3Vtc3RhbmNlcy4NCiAgKi8NCiBz dGF0aWMgdm9pZA0KLWhkX2Fja19yZWNlaXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90 IGFja190eXBlKQ0KK2hkX2Fja19yZWNlaXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFs X3QgYWNrX3R5cGUpDQogew0KICAgICAgc3RydWN0IGVydHQgKmVfdDsNCiAgICAgIGludCBxZGx5 Ow0KZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0L2NjL2NjX2h0Y3AuYyBiL3N5cy9uZXRpbmV0L2Nj L2NjX2h0Y3AuYw0KaW5kZXggNDMyMjQ0NDZmZDg0Li40MWM1NTJhM2JmYTAgMTAwNjQ0DQotLS0g YS9zeXMvbmV0aW5ldC9jYy9jY19odGNwLmMNCisrKyBiL3N5cy9uZXRpbmV0L2NjL2NjX2h0Y3Au Yw0KQEAgLTEzNiwxMCArMTM2LDEwIEBADQogICAgICAoKChkaWZmKSAvIGh6KSAqICgoKGRpZmYp IDw8IEhUQ1BfQUxQSEFfSU5DX1NISUZUKSAvICg0ICogaHopKSkgXA0KICkgPj4gSFRDUF9BTFBI QV9JTkNfU0hJRlQpDQoNCi1zdGF0aWMgdm9pZCBodGNwX2Fja19yZWNlaXZlZChzdHJ1Y3QgY2Nf dmFyICpjY3YsIHVpbnQxNl90IHR5cGUpOw0KK3N0YXRpYyB2b2lkIGh0Y3BfYWNrX3JlY2VpdmVk KHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKTsNCiBzdGF0aWMgdm9pZCBodGNw X2NiX2Rlc3Ryb3koc3RydWN0IGNjX3ZhciAqY2N2KTsNCiBzdGF0aWMgaW50ICBodGNwX2NiX2lu aXQoc3RydWN0IGNjX3ZhciAqY2N2LCB2b2lkICpwdHIpOw0KLXN0YXRpYyB2b2lkIGh0Y3BfY29u Z19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MzJfdCB0eXBlKTsNCitzdGF0aWMgdm9p ZCBodGNwX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKTsN CiBzdGF0aWMgaW50ICBodGNwX21vZF9pbml0KHZvaWQpOw0KIHN0YXRpYyB2b2lkIGh0Y3BfcG9z dF9yZWNvdmVyeShzdHJ1Y3QgY2NfdmFyICpjY3YpOw0KIHN0YXRpYyB2b2lkIGh0Y3BfcmVjYWxj X2FscGhhKHN0cnVjdCBjY192YXIgKmNjdik7DQpAQCAtMTkwLDcgKzE5MCw3IEBAIHN0cnVjdCBj Y19hbGdvIGh0Y3BfY2NfYWxnbyA9IHsNCiB9Ow0KDQogc3RhdGljIHZvaWQNCi1odGNwX2Fja19y ZWNlaXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IHR5cGUpDQoraHRjcF9hY2tfcmVj ZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHR5cGUpDQogew0KICAgICAgc3Ry dWN0IGh0Y3AgKmh0Y3BfZGF0YTsNCg0KQEAgLTI3OCw3ICsyNzgsNyBAQCBodGNwX2NiX2luaXQo c3RydWN0IGNjX3ZhciAqY2N2LCB2b2lkICpwdHIpDQogICogUGVyZm9ybSBhbnkgbmVjZXNzYXJ5 IHRhc2tzIGJlZm9yZSB3ZSBlbnRlciBjb25nZXN0aW9uIHJlY292ZXJ5Lg0KICAqLw0KIHN0YXRp YyB2b2lkDQotaHRjcF9jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQzMl90IHR5 cGUpDQoraHRjcF9jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgdHlw ZSkNCiB7DQogICAgICBzdHJ1Y3QgaHRjcCAqaHRjcF9kYXRhOw0KICAgICAgdWludDMyX3QgbXNz LCBwaXBlOw0KQEAgLTM0NSw2ICszNDUsOCBAQCBodGNwX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192 YXIgKmNjdiwgdWludDMyX3QgdHlwZSkNCiAgICAgICAgICAgICBpZiAoQ0NWKGNjdiwgdF9yeHRz aGlmdCkgPj0gMikNCiAgICAgICAgICAgICAgICAgICAgIGh0Y3BfZGF0YS0+dF9sYXN0X2Nvbmcg PSB0aWNrczsNCiAgICAgICAgICAgICBicmVhazsNCisgICAgIGRlZmF1bHQ6DQorICAgICAgICAg ICAgYnJlYWs7DQogICAgICB9DQogfQ0KDQpkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQvY2MvY2Nf bmV3cmVuby5jIGIvc3lzL25ldGluZXQvY2MvY2NfbmV3cmVuby5jDQppbmRleCA3MWYyNzY0ZWY0 YmMuLmFhMjBlMmM2NGY3ZCAxMDA2NDQNCi0tLSBhL3N5cy9uZXRpbmV0L2NjL2NjX25ld3Jlbm8u Yw0KKysrIGIvc3lzL25ldGluZXQvY2MvY2NfbmV3cmVuby5jDQpAQCAtODQsOSArODQsOSBAQA0K ICNpbmNsdWRlIDxuZXRpbmV0L2NjL2NjX25ld3Jlbm8uaD4NCg0KIHN0YXRpYyB2b2lkIG5ld3Jl bm9fY2JfZGVzdHJveShzdHJ1Y3QgY2NfdmFyICpjY3YpOw0KLXN0YXRpYyB2b2lkIG5ld3Jlbm9f YWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDE2X3QgdHlwZSk7DQorc3RhdGlj IHZvaWQgbmV3cmVub19hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90 IHR5cGUpOw0KIHN0YXRpYyB2b2lkIG5ld3Jlbm9fYWZ0ZXJfaWRsZShzdHJ1Y3QgY2NfdmFyICpj Y3YpOw0KLXN0YXRpYyB2b2lkIG5ld3Jlbm9fY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2 LCB1aW50MzJfdCB0eXBlKTsNCitzdGF0aWMgdm9pZCBuZXdyZW5vX2Nvbmdfc2lnbmFsKHN0cnVj dCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKTsNCiBzdGF0aWMgaW50IG5ld3Jlbm9fY3Rs X291dHB1dChzdHJ1Y3QgY2NfdmFyICpjY3YsIHN0cnVjdCBzb2Nrb3B0ICpzb3B0LCB2b2lkICpi dWYpOw0KIHN0YXRpYyB2b2lkIG5ld3Jlbm9fbmV3cm91bmQoc3RydWN0IGNjX3ZhciAqY2N2LCB1 aW50MzJfdCByb3VuZF9jbnQpOw0KIHN0YXRpYyB2b2lkIG5ld3Jlbm9fcnR0c2FtcGxlKHN0cnVj dCBjY192YXIgKmNjdiwgdWludDMyX3QgdXNlY19ydHQsIHVpbnQzMl90IHJ4dGNudCwgdWludDMy X3QgZmFzKTsNCkBAIC0yMTIsNyArMjEyLDcgQEAgbmV3cmVub19jYl9kZXN0cm95KHN0cnVjdCBj Y192YXIgKmNjdikNCiB9DQoNCiBzdGF0aWMgdm9pZA0KLW5ld3Jlbm9fYWNrX3JlY2VpdmVkKHN0 cnVjdCBjY192YXIgKmNjdiwgdWludDE2X3QgdHlwZSkNCituZXdyZW5vX2Fja19yZWNlaXZlZChz dHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgdHlwZSkNCiB7DQogICAgICBzdHJ1Y3QgbmV3 cmVubyAqbnJlbm87DQoNCkBAIC0zNjMsNyArMzYzLDcgQEAgbmV3cmVub19hZnRlcl9pZGxlKHN0 cnVjdCBjY192YXIgKmNjdikNCiAgKiBQZXJmb3JtIGFueSBuZWNlc3NhcnkgdGFza3MgYmVmb3Jl IHdlIGVudGVyIGNvbmdlc3Rpb24gcmVjb3ZlcnkuDQogICovDQogc3RhdGljIHZvaWQNCi1uZXdy ZW5vX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDMyX3QgdHlwZSkNCituZXdy ZW5vX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKQ0KIHsN CiAgICAgIHN0cnVjdCBuZXdyZW5vICpucmVubzsNCiAgICAgIHVpbnQzMl90IGJldGEsIGJldGFf ZWNuLCBjd2luLCBmYWN0b3IsIG1zcywgcGlwZTsNCkBAIC00NDIsNiArNDQyLDggQEAgbmV3cmVu b19jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQzMl90IHR5cGUpDQogICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgIENDVihjY3YsIHNuZF9jd25kKSA9IG1zczsNCiAgICAgICAg ICAgICBicmVhazsNCisgICAgIGRlZmF1bHQ6DQorICAgICAgICAgICAgYnJlYWs7DQogICAgICB9 DQogfQ0KDQpkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQvY2MvY2NfdmVnYXMuYyBiL3N5cy9uZXRp bmV0L2NjL2NjX3ZlZ2FzLmMNCmluZGV4IGFhYzljOWNlNzdmZi4uZWNkNDJjMWEwZjUzIDEwMDY0 NA0KLS0tIGEvc3lzL25ldGluZXQvY2MvY2NfdmVnYXMuYw0KKysrIGIvc3lzL25ldGluZXQvY2Mv Y2NfdmVnYXMuYw0KQEAgLTg0LDEyICs4NCwxMiBAQA0KICAqIFByaXZhdGUgc2lnbmFsIHR5cGUg Zm9yIHJhdGUgYmFzZWQgY29uZ2VzdGlvbiBzaWduYWwuDQogICogU2VlIDxuZXRpbmV0L2NjLmg+ IGZvciBhcHByb3ByaWF0ZSBiaXQtcmFuZ2UgdG8gdXNlIGZvciBwcml2YXRlIHNpZ25hbHMuDQog ICovDQotI2RlZmluZSAgICAgQ0NfVkVHQVNfUkFURSAgMHgwMTAwMDAwMA0KKyNkZWZpbmUgICAg IENDX1ZFR0FTX1JBVEUgIDB4MDQwMDAwMDANCg0KLXN0YXRpYyB2b2lkIHZlZ2FzX2Fja19yZWNl aXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IGFja190eXBlKTsNCitzdGF0aWMgdm9p ZCB2ZWdhc19hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IGFja190 eXBlKTsNCiBzdGF0aWMgdm9pZCB2ZWdhc19jYl9kZXN0cm95KHN0cnVjdCBjY192YXIgKmNjdik7 DQogc3RhdGljIGludCAgdmVnYXNfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YsIHZvaWQgKnB0 cik7DQotc3RhdGljIHZvaWQgdmVnYXNfY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1 aW50MzJfdCBzaWduYWxfdHlwZSk7DQorc3RhdGljIHZvaWQgdmVnYXNfY29uZ19zaWduYWwoc3Ry dWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHNpZ25hbF90eXBlKTsNCiBzdGF0aWMgdm9pZCB2 ZWdhc19jb25uX2luaXQoc3RydWN0IGNjX3ZhciAqY2N2KTsNCiBzdGF0aWMgaW50ICB2ZWdhc19t b2RfaW5pdCh2b2lkKTsNCiBzdGF0aWMgc2l6ZV90ICAgICAgIHZlZ2FzX2RhdGFfc3oodm9pZCk7 DQpAQCAtMTI0LDcgKzEyNCw3IEBAIHN0cnVjdCBjY19hbGdvIHZlZ2FzX2NjX2FsZ28gPSB7DQog ICogaGFzIGJlZW4gdXNlZC4NCiAgKi8NCiBzdGF0aWMgdm9pZA0KLXZlZ2FzX2Fja19yZWNlaXZl ZChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IGFja190eXBlKQ0KK3ZlZ2FzX2Fja19yZWNl aXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgYWNrX3R5cGUpDQogew0KICAgICAg c3RydWN0IGVydHQgKmVfdDsNCiAgICAgIHN0cnVjdCB2ZWdhcyAqdmVnYXNfZGF0YTsNCkBAIC0y MDMsNyArMjAzLDcgQEAgdmVnYXNfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YsIHZvaWQgKnB0 cikNCiAgKiBoYW5kbGVkIGhlcmUsIG90aGVyd2lzZSBpdCBmYWxscyBiYWNrIHRvIG5ld3Jlbm8n cyBjb25nZXN0aW9uIGhhbmRsaW5nLg0KICAqLw0KIHN0YXRpYyB2b2lkDQotdmVnYXNfY29uZ19z aWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MzJfdCBzaWduYWxfdHlwZSkNCit2ZWdhc19j b25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3Qgc2lnbmFsX3R5cGUpDQog ew0KICAgICAgc3RydWN0IHZlZ2FzICp2ZWdhc19kYXRhOw0KICAgICAgaW50IHByZXNpZ25hbHJl Y292Ow0KQEAgLTIxNSw3ICsyMTUsNyBAQCB2ZWdhc19jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFy ICpjY3YsIHVpbnQzMl90IHNpZ25hbF90eXBlKQ0KICAgICAgZWxzZQ0KICAgICAgICAgICAgIHBy ZXNpZ25hbHJlY292ID0gMDsNCg0KLSAgICAgc3dpdGNoKHNpZ25hbF90eXBlKSB7DQorICAgICBz d2l0Y2goKGludClzaWduYWxfdHlwZSkgew0KICAgICAgY2FzZSBDQ19WRUdBU19SQVRFOg0KICAg ICAgICAgICAgIGlmICghSU5fUkVDT1ZFUlkoQ0NWKGNjdiwgdF9mbGFncykpKSB7DQogICAgICAg ICAgICAgICAgICAgICBDQ1YoY2N2LCBzbmRfY3duZCkgPSBtYXgoMiAqIENDVihjY3YsIHRfbWF4 c2VnKSwNCkBAIC0yMjgsNiArMjI4LDcgQEAgdmVnYXNfY29uZ19zaWduYWwoc3RydWN0IGNjX3Zh ciAqY2N2LCB1aW50MzJfdCBzaWduYWxfdHlwZSkNCg0KICAgICAgZGVmYXVsdDoNCiAgICAgICAg ICAgICBuZXdyZW5vX2NjX2Nvbmdfc2lnbmFsKGNjdiwgc2lnbmFsX3R5cGUpOw0KKyAgICAgICAg ICAgIGJyZWFrOw0KICAgICAgfQ0KDQogICAgICBpZiAoSU5fUkVDT1ZFUlkoQ0NWKGNjdiwgdF9m bGFncykpICYmICFwcmVzaWduYWxyZWNvdikNCg0KQnVpbGR3b3JsZCBpcyBub3cgYnJva2VuIGZv ciBhbGwgYXJjaGVzIChhdCBsZWFzdCBpbmNyZW1lbnRhbCBidWlsZCkNCg0KQW1vbmcgdGhlIGVy cm9ycw0KDQovaG9tZS9iYXB0L3dvcmt0cmVlcy9tYWluL2xpYi9saWJzdGF0cy8uLi8uLi9zeXMv bmV0aW5ldC90Y3Bfc3RhdHMuYzoxMzg6MzI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICdDQ19ORFVQQUNLJw0K --_000_PH0PR06MB7639163516643B8783C1DB5186542PH0PR06MB7639namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVu dD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtpZiAhbXNvXT48 c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7YmVoYXZpb3I6 dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0K LnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwhW2VuZGlmXS0t PjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNlDQoJe2ZvbnQt ZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0K QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIg MiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q29uc29sYXM7DQoJcGFub3Nl LTE6MiAxMSA2IDkgMiAyIDQgMyAyIDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNv Tm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCglmb250 LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCmE6bGlu aywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJs dWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwcmUNCgl7bXNvLXN0eWxlLXByaW9y aXR5Ojk5Ow0KCW1zby1zdHlsZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFyIjsNCgltYXJn aW46MGNtOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTAuMHB0Ow0KCWZv bnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQ0Kc3Bhbi5IVE1MUHJlZm9ybWF0dGVkQ2hhcg0KCXtt c28tc3R5bGUtbmFtZToiSFRNTCBQcmVmb3JtYXR0ZWQgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9y aXR5Ojk5Ow0KCW1zby1zdHlsZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCI7DQoJZm9udC1mYW1p bHk6IkNvbnNvbGFzIixzZXJpZjt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpl eHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0Ow0KCW1zby1saWdhdHVyZXM6bm9uZTt9DQpA cGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2luOjcyLjBw dCA3Mi4wcHQgNzIuMHB0IDcyLjBwdDt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNl Y3Rpb24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRl ZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+ PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8 bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48 IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9ImVuLUFUIiBsaW5rPSJibHVlIiB2bGlu az0icHVycGxlIiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPg0KPGRpdiBjbGFzcz0iV29y ZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls ZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPlRoYW5rcyBmb3IgdGhlIGhlYWRzLXVwLiBJ cyBmaXhlZCB3aXRoIDVlMjQ4YzIzZDk5NWEwNTlkMjRmNDc4NGQ1YTI1NmNkZGQ0MmU1NTc8bzpw PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNv LWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gbGFuZz0iRU4t VVMiIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDss c2Fucy1zZXJpZjtjb2xvcjpibGFjayI+UmljaGFyZA0KPC9zcGFuPjwvYj48c3BhbiBsYW5nPSJF Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo4LjBwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90 OyxzYW5zLXNlcmlmIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4m bmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2Jv cmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNtIj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIGxhbmc9IkVOLVVTIj5Gcm9tOjwvc3Bhbj48 L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBCYXB0aXN0ZSBEYXJvdXNzaW4gJmx0O2JhcHRARnJlZUJT RC5vcmcmZ3Q7DQo8YnI+DQo8Yj5TZW50OjwvYj4gU2Ftc3RhZywgMjQuIEZlYnJ1YXIgMjAyNCAx OToyNDxicj4NCjxiPlRvOjwvYj4gUmljaGFyZCBTY2hlZmZlbmVnZ2VyICZsdDtyc2NoZWZmQEZy ZWVCU0Qub3JnJmd0Ozsgc3JjLWNvbW1pdHRlcnNARnJlZUJTRC5vcmc7IGRldi1jb21taXRzLXNy Yy1hbGxARnJlZUJTRC5vcmc7IGRldi1jb21taXRzLXNyYy1tYWluQEZyZWVCU0Qub3JnPGJyPg0K PGI+U3ViamVjdDo8L2I+IFJlOiBnaXQ6IGY3NDM1MmZiY2YxNSAtIG1haW4gLSB0Y3A6IHVzZSBl bnVtIGZvciBhbGwgY29uZ2VzdGlvbiBjb250cm9sIHNpZ25hbHM8bzpwPjwvbzpwPjwvc3Bhbj48 L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286 cD48L3A+DQo8dGFibGUgY2xhc3M9Ik1zb05vcm1hbFRhYmxlIiBib3JkZXI9IjEiIGNlbGxzcGFj aW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYWxpZ249ImxlZnQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNG MzZENkQiPg0KPHRib2R5Pg0KPHRyPg0KPHRkIHN0eWxlPSJwYWRkaW5nOjYuMHB0IDYuMHB0IDYu MHB0IDYuMHB0Ij4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tZWxlbWVudDpmcmFt ZTttc28tZWxlbWVudC1mcmFtZS1oc3BhY2U6Mi4yNXB0O21zby1lbGVtZW50LXdyYXA6YXJvdW5k O21zby1lbGVtZW50LWFuY2hvci12ZXJ0aWNhbDpwYXJhZ3JhcGg7bXNvLWVsZW1lbnQtYW5jaG9y LWhvcml6b250YWw6Y29sdW1uO21zby1oZWlnaHQtcnVsZTpleGFjdGx5Ij4NCjxiPjxzcGFuIHN0 eWxlPSJmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMt c2VyaWY7Y29sb3I6YmxhY2siPkVYVEVSTkFMIEVNQUlMIC0gVVNFIENBVVRJT04gd2hlbiBjbGlj a2luZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPC9zcGFuPjwvYj48bzpwPjwvbzpwPjwvcD4NCjwv dGQ+DQo8L3RyPg0KPC90Ym9keT4NCjwvdGFibGU+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQiPjxicj4NCjxicj4NCjxvOnA+PC9vOnA+PC9wPg0KPGRp dj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+TGUgMjQgZsOpdnJpZXIgMjAy NCAxNzoxNTozOCBHTVQrMDE6MDAsIFJpY2hhcmQgU2NoZWZmZW5lZ2dlciAmbHQ7PGEgaHJlZj0i bWFpbHRvOnJzY2hlZmZARnJlZUJTRC5vcmciPnJzY2hlZmZARnJlZUJTRC5vcmc8L2E+Jmd0OyBh IMOpY3JpdCZuYnNwOzo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9 ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20g MGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtIj4NCjxkaXY+ DQo8cHJlPlRoZSBicmFuY2ggbWFpbiBoYXMgYmVlbiB1cGRhdGVkIGJ5IHJzY2hlZmY6PGJyPjxi cj5VUkw6IDxhIGhyZWY9Imh0dHBzOi8vY2dpdC5mcmVlYnNkLm9yZy9zcmMvY29tbWl0Lz9pZD1m NzQzNTJmYmNmMTUzNDFhY2NhZjVhOTIyNDA4NzFmOTgzMjMyMTVkIj5odHRwczovL2NnaXQuRnJl ZUJTRC5vcmcvc3JjL2NvbW1pdC8/aWQ9Zjc0MzUyZmJjZjE1MzQxYWNjYWY1YTkyMjQwODcxZjk4 MzIzMjE1ZDwvYT48YnI+PGJyPmNvbW1pdCBmNzQzNTJmYmNmMTUzNDFhY2NhZjVhOTIyNDA4NzFm OTgzMjMyMTVkPGJyPkF1dGhvcjombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUmljaGFyZCBTY2hl ZmZlbmVnZ2VyICZsdDs8YSBocmVmPSJtYWlsdG86cnNjaGVmZkBGcmVlQlNELm9yZyI+cnNjaGVm ZkBGcmVlQlNELm9yZzwvYT4mZ3Q7PGJyPkF1dGhvckRhdGU6IDIwMjQtMDItMjQgMTU6NDE6MzEg KzAwMDA8YnI+Q29tbWl0OiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBSaWNoYXJkIFNjaGVmZmVu ZWdnZXIgJmx0OzxhIGhyZWY9Im1haWx0bzpyc2NoZWZmQEZyZWVCU0Qub3JnIj5yc2NoZWZmQEZy ZWVCU0Qub3JnPC9hPiZndDs8YnI+Q29tbWl0RGF0ZTogMjAyNC0wMi0yNCAxNTo0MTo0OCArMDAw MDxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IHRjcDogdXNlIGVudW0gZm9yIGFsbCBjb25nZXN0 aW9uIGNvbnRyb2wgc2lnbmFsczxicj4mbmJzcDsmbmJzcDsmbmJzcDsgPGJyPiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO0ZhY2lsaXRhdGUgZWFzaWVyIHRyb3VibGVzaG9vdGluZyBieSBlbnVtZXJh dGluZzxicj4mbmJzcDsmbmJzcDsmbmJzcDsgYWxsIGNvbmdlc3Rpb24gY29udHJvbCBzaWduYWxz LiBUeXBlY2FzdCB0aGU8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVudW0gdG8gaW50LCB3aGVuIGEg Y29uZ2VzdGlvbiBjb250cm9sIG1vZHVsZSB1c2VzPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBwcml2 YXRlIHNpZ25hbHMuPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Tm8gZXh0ZXJuYWwgY2hhbmdlLjxicj4mbmJzcDsmbmJzcDsmbmJzcDsgPGJyPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO1Jldmlld2VkIEJ5OiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBnbGViaXVzLCB0dWV4ZW4s ICN0cmFuc3BvcnQ8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IFNwb25zb3JlZCBieTombmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgTmV0QXBw LCBJbmMuPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyBEaWZmZXJlbnRpYWwgUmV2aXNpb246Jm5ic3A7 IDxhIGhyZWY9Imh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9ENDM4MzgiPmh0dHBzOi8vcmV2 aWV3cy5mcmVlYnNkLm9yZy9ENDM4Mzg8L2E+PG86cD48L286cD48L3ByZT4NCjxwcmUgc3R5bGU9 InRleHQtYWxpZ246Y2VudGVyIj48aHIgc2l6ZT0iMiIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50 ZXIiPjwvcHJlPg0KPHByZT4gc3lzL25ldGluZXQvY2MvY2MuYyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDIgKy08YnI+IHN5cy9uZXRpbmV0 L2NjL2NjLmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg fCA0MiArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+IHN5cy9u ZXRpbmV0L2NjL2NjX2NkZy5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgMTAgKysrKystLS0t LTxicj4gc3lzL25ldGluZXQvY2MvY2NfY2hkLmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCAx MSArKysrKystLS0tLTxicj4gc3lzL25ldGluZXQvY2MvY2NfY3ViaWMuYyZuYnNwOyZuYnNwOyB8 IDEwICsrKysrKy0tLS08YnI+IHN5cy9uZXRpbmV0L2NjL2NjX2RjdGNwLmMmbmJzcDsmbmJzcDsg fCAxMCArKysrKystLS0tPGJyPiBzeXMvbmV0aW5ldC9jYy9jY19oZC5jJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgNCArKy0tPGJyPiBzeXMvbmV0aW5ldC9jYy9jY19odGNw LmMmbmJzcDsmbmJzcDsmbmJzcDsgfCAxMCArKysrKystLS0tPGJyPiBzeXMvbmV0aW5ldC9jYy9j Y19uZXdyZW5vLmMgfCAxMCArKysrKystLS0tPGJyPiBzeXMvbmV0aW5ldC9jYy9jY192ZWdhcy5j Jm5ic3A7Jm5ic3A7IHwgMTMgKysrKysrKy0tLS0tLTxicj4gMTAgZmlsZXMgY2hhbmdlZCwgNjYg aW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pPGJyPjxicj5kaWZmIC0tZ2l0IGEvc3lzL25l dGluZXQvY2MvY2MuYyBiL3N5cy9uZXRpbmV0L2NjL2NjLmM8YnI+aW5kZXggYzI5NjViMWU2YTQ4 Li45MzA4YjVmOGQ3NjQgMTAwNjQ0PGJyPi0tLSBhL3N5cy9uZXRpbmV0L2NjL2NjLmM8YnI+Kysr IGIvc3lzL25ldGluZXQvY2MvY2MuYzxicj5AQCAtNTA1LDcgKzUwNSw3IEBAIG5ld3Jlbm9fY2Nf Y29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MzJfdCB0eXBlKTxicj4gfTxicj4g PGJyPiZuYnNwO3ZvaWQ8YnI+LW5ld3Jlbm9fY2NfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIg KmNjdiwgdWludDE2X3QgdHlwZSk8YnI+K25ld3Jlbm9fY2NfYWNrX3JlY2VpdmVkKHN0cnVjdCBj Y192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKTxicj4gezxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGlmICh0eXBlID09IENDX0FDSyAmYW1wOyZhbXA7ICFJTl9SRUNPVkVSWShDQ1YoY2N2 LCB0X2ZsYWdzKSkgJmFtcDsmYW1wOzxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyhjY3YtJmd0O2ZsYWdzICZhbXA7IENDRl9DV05EX0xJTUlURUQp KSB7PGJyPmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC9jYy9jYy5oIGIvc3lzL25ldGluZXQvY2Mv Y2MuaDxicj5pbmRleCA5NTcxZGE1MGIyYzcuLjViMmNiNThhMjRhMCAxMDA2NDQ8YnI+LS0tIGEv c3lzL25ldGluZXQvY2MvY2MuaDxicj4rKysgYi9zeXMvbmV0aW5ldC9jYy9jYy5oPGJyPkBAIC0x MjEsMjUgKzEyMSwyNSBAQCBzdHJ1Y3QgY2NfdmFyIHs8YnI+ICNkZWZpbmUgQ0NGX0hZU1RBUlRf Q0FOX1NIX0NXTkQmbmJzcDsmbmJzcDsmbmJzcDsgMHgwODAwJm5ic3A7IC8qIENhbiBoeXN0YXJ0 IHdoZW4gZ29pbmcgQ1NTIC0mZ3Q7IENBIHNsYW0gdGhlIGN3bmQgKi88YnI+ICNkZWZpbmUgQ0NG X0hZU1RBUlRfQ09OU19TU1RIJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDB4MTAwMCZu YnNwOyAvKiBTaG91bGQgaHlzdGFydCB1c2UgdGhlIG1vcmUgY29uc2VydmF0aXZlIHNzdGhyZXNo ICovPGJyPiA8YnI+LS8qIEFDSyB0eXBlcyBwYXNzZWQgdG8gdGhlIGFja19yZWNlaXZlZCgpIGhv b2suICovPGJyPi0jZGVmaW5lJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IENDX0FDSyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAweDAwMDEmbmJzcDsgLyog UmVndWxhciBpbiBzZXF1ZW5jZSBBQ0suICovPGJyPi0jZGVmaW5lJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IENDX0RVUEFDSyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAweDAwMDImbmJz cDsgLyogRHVwbGljYXRlIEFDSy4gKi88YnI+LSNkZWZpbmUmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgQ0NfUEFSVElBTEFDSyZuYnNwOyAweDAwMDQmbmJzcDsgLyogTm90IHlldC4gKi88YnI+LSNk ZWZpbmUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ0NfU0FDSyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAweDAwMDgmbmJzcDsgLyogTm90IHlldC4gKi88YnI+K3R5 cGVkZWYgZW51bSB7PGJyPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogQUNLIHR5cGVzIHBh c3NlZCB0byB0aGUgYWNrX3JlY2VpdmVkKCkgaG9vay4gKi88YnI+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBDQ19BQ0sgPSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAweDAw MDEsIC8qIFJlZ3VsYXIgaW4gc2VxdWVuY2UgQUNLLiAqLzxicj4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IENDX0RVUEFDSyA9Jm5ic3A7Jm5ic3A7Jm5ic3A7IDB4MDAwMiwgLyogRHVwbGljYXRl IEFDSy4gKi88YnI+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDQ19QQVJUSUFMQUNLID0gMHgw MDA0LCAvKiBOb3QgeWV0LiAqLzxicj4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IENDX1NBQ0sg PSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAweDAwMDgsIC8qIE5vdCB5ZXQuICovPGJy PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogQ29uZ2VzdGlvbiBzaWduYWwgdHlwZXMgcGFz c2VkIHRvIHRoZSBjb25nX3NpZ25hbCgpIGhvb2suICovPGJyPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgQ0NfRUNOID0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgMHgwMTAw LCAvKiBFQ04gbWFya2VkIHBhY2tldCByZWNlaXZlZC4gKi88YnI+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBDQ19SVE8gPSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAweDAy MDAsIC8qIFJUTyBmaXJlZC4gKi88YnI+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDQ19SVE9f RVJSID0mbmJzcDsmbmJzcDsgMHgwNDAwLCAvKiBSVE8gZmlyZWQgaW4gZXJyb3IuICovPGJyPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ0NfTkRVUEFDSyA9Jm5ic3A7Jm5ic3A7IDB4MDgwMCwg LyogVGhyZXNob2xkIG9mIGR1cGFjaydzIHJlYWNoZWQuICovPGJyPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgLyo8YnI+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAgKiBUaGUgaGlnaGVzdCBv cmRlciA4IGJpdHMgKDB4MDEwMDAwMDAgLSAweDgwMDAwMDAwKSBhcmUgcmVzZXJ2ZWQ8YnI+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAgKiBmb3IgQ0MgYWxnb3MgdG8gZGVjbGFyZSB0aGVpciBv d24gY29uZ2VzdGlvbiBzaWduYWwgdHlwZXMuPGJyPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg ICovPGJyPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ0NfU0lHUFJJVk1BU0sgPSAweEZGMDAw MDAwJm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIE1hc2sgdG8gY2hlY2sgaWYgc2lnIGlzIHByaXZhdGUu ICovPGJyPit9IGNjc2lnbmFsX3Q7PGJyPiAjZW5kaWYgLyogZGVmaW5lZChfS0VSTkVMKSB8fCBk ZWZpbmVkKF9XQU5UX1RDUENCKSAqLzxicj4gPGJyPi0vKjxicj4tICogQ29uZ2VzdGlvbiBzaWdu YWwgdHlwZXMgcGFzc2VkIHRvIHRoZSBjb25nX3NpZ25hbCgpIGhvb2suIFRoZSBoaWdoZXN0IG9y ZGVyIDg8YnI+LSAqIGJpdHMgKDB4MDEwMDAwMDAgLSAweDgwMDAwMDAwKSBhcmUgcmVzZXJ2ZWQg Zm9yIENDIGFsZ29zIHRvIGRlY2xhcmUgdGhlaXIgb3duPGJyPi0gKiBjb25nZXN0aW9uIHNpZ25h bCB0eXBlcy48YnI+LSAqLzxicj4tI2RlZmluZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDQ19F Q04mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgMHgwMDAw MDAwMSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBFQ04gbWFya2VkIHBhY2tldCByZWNlaXZl ZC4gKi88YnI+LSNkZWZpbmUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ0NfUlRPJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDB4MDAwMDAwMDImbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgLyogUlRPIGZpcmVkLiAqLzxicj4tI2RlZmluZSZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBDQ19SVE9fRVJSJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDB4MDAwMDAw MDQmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogUlRPIGZpcmVkIGluIGVycm9yLiAqLzxicj4t I2RlZmluZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBDQ19ORFVQQUNLJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IDB4MDAwMDAwMDgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogVGhyZXNob2xk IG9mIGR1cGFjaydzIHJlYWNoZWQuICovPGJyPi08YnI+LSNkZWZpbmUmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgQ0NfU0lHUFJJVk1BU0sgMHhGRjAwMDAwMCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAvKiBNYXNrIHRvIGNoZWNrIGlmIHNpZyBpcyBwcml2YXRlLiAqLzxicj4tPGJyPiAjaWZkZWYg X0tFUk5FTDxicj4gLyo8YnI+Jm5ic3A7ICogU3RydWN0dXJlIHRvIGhvbGQgZGF0YSBhbmQgZnVu Y3Rpb24gcG9pbnRlcnMgdGhhdCB0b2dldGhlciByZXByZXNlbnQgYTxicj5AQCAtMTc1LDEwICsx NzUsMTAgQEAgc3RydWN0IGNjX2FsZ28gezxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHZv aWQmbmJzcDsmbmJzcDsmbmJzcDsgKCpjb25uX2luaXQpKHN0cnVjdCBjY192YXIgKmNjdik7PGJy PiA8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIENhbGxlZCBvbiByZWNlaXB0 IG9mIGFuIGFjay4gKi88YnI+LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB2b2lkJm5ic3A7Jm5i c3A7Jm5ic3A7ICgqYWNrX3JlY2VpdmVkKShzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IHR5 cGUpOzxicj4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHZvaWQmbmJzcDsmbmJzcDsmbmJzcDsg KCphY2tfcmVjZWl2ZWQpKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKTs8YnI+ IDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogQ2FsbGVkIG9uIGRldGVjdGlv biBvZiBhIGNvbmdlc3Rpb24gc2lnbmFsLiAqLzxicj4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IHZvaWQmbmJzcDsmbmJzcDsmbmJzcDsgKCpjb25nX3NpZ25hbCkoc3RydWN0IGNjX3ZhciAqY2N2 LCB1aW50MzJfdCB0eXBlKTs8YnI+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB2b2lkJm5ic3A7 Jm5ic3A7Jm5ic3A7ICgqY29uZ19zaWduYWwpKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxf dCB0eXBlKTs8YnI+IDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogQ2FsbGVk IGFmdGVyIGV4aXRpbmcgY29uZ2VzdGlvbiByZWNvdmVyeS4gKi88YnI+ICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyB2b2lkJm5ic3A7Jm5ic3A7Jm5ic3A7ICgqcG9zdF9yZWNvdmVyeSkoc3RydWN0 IGNjX3ZhciAqY2N2KTs8YnI+QEAgLTIzNiw4ICsyMzYsOCBAQCBleHRlcm4gc3RydWN0IHJ3bG9j ayBjY19saXN0X2xvY2s7PGJyPiZuYnNwOyAqLzxicj4gdm9pZCBuZXdyZW5vX2NjX3Bvc3RfcmVj b3Zlcnkoc3RydWN0IGNjX3ZhciAqKTs8YnI+IHZvaWQgbmV3cmVub19jY19hZnRlcl9pZGxlKHN0 cnVjdCBjY192YXIgKik7PGJyPi12b2lkIG5ld3Jlbm9fY2NfY29uZ19zaWduYWwoc3RydWN0IGNj X3ZhciAqLCB1aW50MzJfdCApOzxicj4tdm9pZCBuZXdyZW5vX2NjX2Fja19yZWNlaXZlZChzdHJ1 Y3QgY2NfdmFyICosIHVpbnQxNl90KTs8YnI+K3ZvaWQgbmV3cmVub19jY19jb25nX3NpZ25hbChz dHJ1Y3QgY2NfdmFyICosIGNjc2lnbmFsX3QpOzxicj4rdm9pZCBuZXdyZW5vX2NjX2Fja19yZWNl aXZlZChzdHJ1Y3QgY2NfdmFyICosIGNjc2lnbmFsX3QpOzxicj4gPGJyPiZuYnNwOy8qIENhbGxl ZCB0byB0ZW1wb3JhcmlseSBrZWVwIGFuIGFsZ28gZnJvbSBnb2luZyBhd2F5IGR1cmluZyBjaGFu Z2UgKi88YnI+IHZvaWQgY2NfcmVmZXIoc3RydWN0IGNjX2FsZ28gKmFsZ28pOzxicj5kaWZmIC0t Z2l0IGEvc3lzL25ldGluZXQvY2MvY2NfY2RnLmMgYi9zeXMvbmV0aW5ldC9jYy9jY19jZGcuYzxi cj5pbmRleCAzZjIzYzQwOTExNzAuLjFlOTIzNmY4NzhkNCAxMDA2NDQ8YnI+LS0tIGEvc3lzL25l dGluZXQvY2MvY2NfY2RnLmM8YnI+KysrIGIvc3lzL25ldGluZXQvY2MvY2NfY2RnLmM8YnI+QEAg LTIyMSw4ICsyMjEsOCBAQCBzdGF0aWMgaW50IGNkZ19tb2RfZGVzdHJveSh2b2lkKTs8YnI+IHN0 YXRpYyB2b2lkIGNkZ19jb25uX2luaXQoc3RydWN0IGNjX3ZhciAqY2N2KTs8YnI+IHN0YXRpYyBp bnQgY2RnX2NiX2luaXQoc3RydWN0IGNjX3ZhciAqY2N2LCB2b2lkICpwdHIpOzxicj4gc3RhdGlj IHZvaWQgY2RnX2NiX2Rlc3Ryb3koc3RydWN0IGNjX3ZhciAqY2N2KTs8YnI+LXN0YXRpYyB2b2lk IGNkZ19jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQzMl90IHNpZ25hbF90eXBl KTs8YnI+LXN0YXRpYyB2b2lkIGNkZ19hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCB1 aW50MTZfdCBhY2tfdHlwZSk7PGJyPitzdGF0aWMgdm9pZCBjZGdfY29uZ19zaWduYWwoc3RydWN0 IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHNpZ25hbF90eXBlKTs8YnI+K3N0YXRpYyB2b2lkIGNk Z19hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IGFja190eXBlKTs8 YnI+IHN0YXRpYyBzaXplX3QgY2RnX2RhdGFfc3oodm9pZCk7PGJyPiA8YnI+Jm5ic3A7c3RydWN0 IGNjX2FsZ28gY2RnX2NjX2FsZ28gPSB7PGJyPkBAIC00NTAsMTEgKzQ1MCwxMSBAQCBjZGdfd2lu ZG93X2luY3JlYXNlKHN0cnVjdCBjY192YXIgKmNjdiwgaW50IG5ld19tZWFzdXJlbWVudCk8YnI+ IH08YnI+IDxicj4mbmJzcDtzdGF0aWMgdm9pZDxicj4tY2RnX2Nvbmdfc2lnbmFsKHN0cnVjdCBj Y192YXIgKmNjdiwgdWludDMyX3Qgc2lnbmFsX3R5cGUpPGJyPitjZGdfY29uZ19zaWduYWwoc3Ry dWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHNpZ25hbF90eXBlKTxicj4gezxicj4gJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBjZGcgKmNkZ19kYXRhID0gY2N2LSZndDtjY19kYXRh Ozxicj4gPGJyPi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3dpdGNoKHNpZ25hbF90eXBlKSB7 PGJyPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3dpdGNoKChpbnQpc2lnbmFsX3R5cGUpIHs8 YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjYXNlIENDX0NER19ERUxBWTo8YnI+ICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBDQ1YoY2N2LCBzbmRfc3N0aHJlc2gpID0gY2RnX3dpbmRvd19kZWNyZWFzZShjY3YsPGJy PiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q0NWKGNjdiwgc25kX2N3bmQpLCBW X2NkZ19iZXRhX2RlbGF5KTs8YnI+QEAgLTU3MSw3ICs1NzEsNyBAQCBjYWxjX21vdmluZ19hdmVy YWdlKHN0cnVjdCBjZGcgKmNkZ19kYXRhLCBsb25nIHFkaWZmX21heCwgbG9uZyBxZGlmZl9taW4p PGJyPiB9PGJyPiA8YnI+Jm5ic3A7c3RhdGljIHZvaWQ8YnI+LWNkZ19hY2tfcmVjZWl2ZWQoc3Ry dWN0IGNjX3ZhciAqY2N2LCB1aW50MTZfdCBhY2tfdHlwZSk8YnI+K2NkZ19hY2tfcmVjZWl2ZWQo c3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IGFja190eXBlKTxicj4gezxicj4gJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cnVjdCBjZGcgKmNkZ19kYXRhOzxicj4gJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IHN0cnVjdCBlcnR0ICplX3Q7PGJyPmRpZmYgLS1naXQgYS9zeXMvbmV0aW5l dC9jYy9jY19jaGQuYyBiL3N5cy9uZXRpbmV0L2NjL2NjX2NoZC5jPGJyPmluZGV4IGM2NDRkOWIy Y2RiOC4uNTIwNDhhN2MwNWFlIDEwMDY0NDxicj4tLS0gYS9zeXMvbmV0aW5ldC9jYy9jY19jaGQu Yzxicj4rKysgYi9zeXMvbmV0aW5ldC9jYy9jY19jaGQuYzxicj5AQCAtODgsMTAgKzg4LDEwIEBA PGJyPiAvKiBMYXJnZXN0IHBvc3NpYmxlIG51bWJlciByZXR1cm5lZCBieSByYW5kb20oKS4gKi88 YnI+ICNkZWZpbmUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgUkFORE9NX01BWCZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBJTlRfTUFYPGJyPiA8YnI+LXN0YXRpYyB2b2lkIGNoZF9hY2tfcmVjZWl2 ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MTZfdCBhY2tfdHlwZSk7PGJyPitzdGF0aWMgdm9p ZCBjaGRfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCBhY2tfdHlw ZSk7PGJyPiBzdGF0aWMgdm9pZCBjaGRfY2JfZGVzdHJveShzdHJ1Y3QgY2NfdmFyICpjY3YpOzxi cj4gc3RhdGljIGludCZuYnNwOyBjaGRfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YsIHZvaWQg KnB0cik7PGJyPi1zdGF0aWMgdm9pZCBjaGRfY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2 LCB1aW50MzJfdCBzaWduYWxfdHlwZSk7PGJyPitzdGF0aWMgdm9pZCBjaGRfY29uZ19zaWduYWwo c3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHNpZ25hbF90eXBlKTs8YnI+IHN0YXRpYyB2 b2lkIGNoZF9jb25uX2luaXQoc3RydWN0IGNjX3ZhciAqY2N2KTs8YnI+IHN0YXRpYyBpbnQmbmJz cDsgY2hkX21vZF9pbml0KHZvaWQpOzxicj4gc3RhdGljIHNpemVfdCZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBjaGRfZGF0YV9zeih2b2lkKTs8YnI+QEAgLTIzNSw3ICsyMzUs NyBAQCBjaGRfd2luZG93X2luY3JlYXNlKHN0cnVjdCBjY192YXIgKmNjdiwgaW50IG5ld19tZWFz dXJlbWVudCk8YnI+Jm5ic3A7ICogYWNrX3R5cGUgPT0gQ0NfQUNLLjxicj4mbmJzcDsgKi88YnI+ IHN0YXRpYyB2b2lkPGJyPi1jaGRfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgdWlu dDE2X3QgYWNrX3R5cGUpPGJyPitjaGRfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwg Y2NzaWduYWxfdCBhY2tfdHlwZSk8YnI+IHs8YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBz dHJ1Y3QgY2hkICpjaGRfZGF0YTs8YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3Qg ZXJ0dCAqZV90Ozxicj5AQCAtMzM2LDcgKzMzNiw3IEBAIGNoZF9jYl9pbml0KHN0cnVjdCBjY192 YXIgKmNjdiwgdm9pZCAqcHRyKTxicj4gfTxicj4gPGJyPiZuYnNwO3N0YXRpYyB2b2lkPGJyPi1j aGRfY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MzJfdCBzaWduYWxfdHlwZSk8 YnI+K2NoZF9jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3Qgc2lnbmFs X3R5cGUpPGJyPiB7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IGVydHQgKmVf dDs8YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgY2hkICpjaGRfZGF0YTs8YnI+ QEAgLTM0Niw3ICszNDYsNyBAQCBjaGRfY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1 aW50MzJfdCBzaWduYWxfdHlwZSk8YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjaGRfZGF0 YSA9IGNjdi0mZ3Q7Y2NfZGF0YTs8YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBxZGx5ID0g aW1heChlX3QtJmd0O3J0dCwgY2hkX2RhdGEtJmd0O21heHJ0dF9pbl9ydHQpIC0gZV90LSZndDtt aW5ydHQ7PGJyPiA8YnI+LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzd2l0Y2goc2lnbmFsX3R5 cGUpIHs8YnI+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzd2l0Y2goKGludClzaWduYWxfdHlw ZSkgezxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNhc2UgQ0NfQ0hEX0RFTEFZOjxicj4g Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IGNoZF93aW5kb3dfZGVjcmVhc2UoY2N2KTsgLyogU2V0IG5ldyBzc3RocmVzaC4g Ki88YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBDQ1YoY2N2LCBzbmRfY3duZCkgPSBDQ1YoY2N2LCBzbmRfc3N0aHJl c2gpOzxicj5AQCAtMzg3LDYgKzM4Nyw3IEBAIGNoZF9jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFy ICpjY3YsIHVpbnQzMl90IHNpZ25hbF90eXBlKTxicj4gPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBkZWZhdWx0Ojxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG5ld3Jlbm9fY2NfY29uZ19zaWduYWwo Y2N2LCBzaWduYWxfdHlwZSk7PGJyPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYnJlYWs7PGJyPiAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgfTxicj4gfTxicj4gPGJyPmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC9jYy9j Y19jdWJpYy5jIGIvc3lzL25ldGluZXQvY2MvY2NfY3ViaWMuYzxicj5pbmRleCBlYjE1ODdkNDQ0 MjcuLmE5Yzc1OTJiODBjYSAxMDA2NDQ8YnI+LS0tIGEvc3lzL25ldGluZXQvY2MvY2NfY3ViaWMu Yzxicj4rKysgYi9zeXMvbmV0aW5ldC9jYy9jY19jdWJpYy5jPGJyPkBAIC03MywxMCArNzMsMTAg QEA8YnI+ICNpbmNsdWRlICZsdDtuZXRpbmV0L2NjL2NjX2N1YmljLmgmZ3Q7PGJyPiAjaW5jbHVk ZSAmbHQ7bmV0aW5ldC9jYy9jY19tb2R1bGUuaCZndDs8YnI+IDxicj4tc3RhdGljIHZvaWQgY3Vi aWNfYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDE2X3QgdHlwZSk7PGJyPitz dGF0aWMgdm9pZCBjdWJpY19hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25h bF90IHR5cGUpOzxicj4gc3RhdGljIHZvaWQgY3ViaWNfY2JfZGVzdHJveShzdHJ1Y3QgY2NfdmFy ICpjY3YpOzxicj4gc3RhdGljIGludCZuYnNwOyBjdWJpY19jYl9pbml0KHN0cnVjdCBjY192YXIg KmNjdiwgdm9pZCAqcHRyKTs8YnI+LXN0YXRpYyB2b2lkIGN1YmljX2Nvbmdfc2lnbmFsKHN0cnVj dCBjY192YXIgKmNjdiwgdWludDMyX3QgdHlwZSk7PGJyPitzdGF0aWMgdm9pZCBjdWJpY19jb25n X3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgdHlwZSk7PGJyPiBzdGF0aWMg dm9pZCBjdWJpY19jb25uX2luaXQoc3RydWN0IGNjX3ZhciAqY2N2KTs8YnI+IHN0YXRpYyBpbnQm bmJzcDsgY3ViaWNfbW9kX2luaXQodm9pZCk7PGJyPiBzdGF0aWMgdm9pZCBjdWJpY19wb3N0X3Jl Y292ZXJ5KHN0cnVjdCBjY192YXIgKmNjdik7PGJyPkBAIC0yMzMsNyArMjMzLDcgQEAgY3ViaWNf ZG9lc19zbG93X3N0YXJ0KHN0cnVjdCBjY192YXIgKmNjdiwgc3RydWN0IGN1YmljICpjdWJpY2Qp PGJyPiB9PGJyPiA8YnI+Jm5ic3A7c3RhdGljIHZvaWQ8YnI+LWN1YmljX2Fja19yZWNlaXZlZChz dHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IHR5cGUpPGJyPitjdWJpY19hY2tfcmVjZWl2ZWQo c3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHR5cGUpPGJyPiB7PGJyPiAmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgc3RydWN0IGN1YmljICpjdWJpY19kYXRhOzxicj4gJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IHVuc2lnbmVkIGxvbmcgV19lc3QsIFdfY3ViaWM7PGJyPkBAIC00MTcsNyAr NDE3LDcgQEAgY3ViaWNfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YsIHZvaWQgKnB0cik8YnI+ Jm5ic3A7ICogUGVyZm9ybSBhbnkgbmVjZXNzYXJ5IHRhc2tzIGJlZm9yZSB3ZSBlbnRlciBjb25n ZXN0aW9uIHJlY292ZXJ5Ljxicj4mbmJzcDsgKi88YnI+IHN0YXRpYyB2b2lkPGJyPi1jdWJpY19j b25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQzMl90IHR5cGUpPGJyPitjdWJpY19j b25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgdHlwZSk8YnI+IHs8YnI+ ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgY3ViaWMgKmN1YmljX2RhdGE7PGJyPiAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdWludDMyX3QgbXNzLCBwaXBlOzxicj5AQCAtNTAzLDYg KzUwMyw4IEBAIGN1YmljX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDMyX3Qg dHlwZSk8YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBjdWJpY19kYXRhLSZndDtjd25kX2Vwb2NoID0gY3ViaWNfZGF0 YS0mZ3Q7dW5kb19jd25kX2Vwb2NoOzxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGN1YmljX2RhdGEtJmd0O3RfZXBv Y2ggPSBjdWJpY19kYXRhLSZndDt1bmRvX3RfZXBvY2g7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYnJlYWs7PGJy PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVmYXVsdDo8YnI+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBicmVhazs8 YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPiB9PGJyPiA8YnI+ZGlmZiAtLWdpdCBh L3N5cy9uZXRpbmV0L2NjL2NjX2RjdGNwLmMgYi9zeXMvbmV0aW5ldC9jYy9jY19kY3RjcC5jPGJy PmluZGV4IGFlMGE1NjgzOTQ0OS4uMzc0ZGI5OGM1ZTYwIDEwMDY0NDxicj4tLS0gYS9zeXMvbmV0 aW5ldC9jYy9jY19kY3RjcC5jPGJyPisrKyBiL3N5cy9uZXRpbmV0L2NjL2NjX2RjdGNwLmM8YnI+ QEAgLTc5LDExICs3OSwxMSBAQCBzdHJ1Y3QgZGN0Y3Agezxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHVpbnQzMl90IG51bV9jb25nX2V2ZW50czsgLyogIyBvZiBjb25nZXN0aW9uIGV2ZW50 cyAqLzxicj4gfTs8YnI+IDxicj4tc3RhdGljIHZvaWQgZGN0Y3BfYWNrX3JlY2VpdmVkKHN0cnVj dCBjY192YXIgKmNjdiwgdWludDE2X3QgdHlwZSk7PGJyPitzdGF0aWMgdm9pZCBkY3RjcF9hY2tf cmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHR5cGUpOzxicj4gc3RhdGlj IHZvaWQgZGN0Y3BfYWZ0ZXJfaWRsZShzdHJ1Y3QgY2NfdmFyICpjY3YpOzxicj4gc3RhdGljIHZv aWQgZGN0Y3BfY2JfZGVzdHJveShzdHJ1Y3QgY2NfdmFyICpjY3YpOzxicj4gc3RhdGljIGludCZu YnNwOyBkY3RjcF9jYl9pbml0KHN0cnVjdCBjY192YXIgKmNjdiwgdm9pZCAqcHRyKTs8YnI+LXN0 YXRpYyB2b2lkIGRjdGNwX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDMyX3Qg dHlwZSk7PGJyPitzdGF0aWMgdm9pZCBkY3RjcF9jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpj Y3YsIGNjc2lnbmFsX3QgdHlwZSk7PGJyPiBzdGF0aWMgdm9pZCBkY3RjcF9jb25uX2luaXQoc3Ry dWN0IGNjX3ZhciAqY2N2KTs8YnI+IHN0YXRpYyB2b2lkIGRjdGNwX3Bvc3RfcmVjb3Zlcnkoc3Ry dWN0IGNjX3ZhciAqY2N2KTs8YnI+IHN0YXRpYyB2b2lkIGRjdGNwX2VjbnBrdF9oYW5kbGVyKHN0 cnVjdCBjY192YXIgKmNjdik7PGJyPkBAIC0xMDQsNyArMTA0LDcgQEAgc3RydWN0IGNjX2FsZ28g ZGN0Y3BfY2NfYWxnbyA9IHs8YnI+IH07PGJyPiA8YnI+Jm5ic3A7c3RhdGljIHZvaWQ8YnI+LWRj dGNwX2Fja19yZWNlaXZlZChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IHR5cGUpPGJyPitk Y3RjcF9hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHR5cGUpPGJy PiB7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IGRjdGNwICpkY3RjcF9kYXRh Ozxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGludCBieXRlc19hY2tlZCA9IDA7PGJyPkBA IC0yMzcsNyArMjM3LDcgQEAgZGN0Y3BfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YsIHZvaWQg KnB0cik8YnI+Jm5ic3A7ICogUGVyZm9ybSBhbnkgbmVjZXNzYXJ5IHRhc2tzIGJlZm9yZSB3ZSBl bnRlciBjb25nZXN0aW9uIHJlY292ZXJ5Ljxicj4mbmJzcDsgKi88YnI+IHN0YXRpYyB2b2lkPGJy Pi1kY3RjcF9jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQzMl90IHR5cGUpPGJy PitkY3RjcF9jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgdHlwZSk8 YnI+IHs8YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgZGN0Y3AgKmRjdGNwX2Rh dGE7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdWludDMyX3QgY3dpbiwgbXNzLCBwaXBl Ozxicj5AQCAtMzA4LDYgKzMwOCw4IEBAIGRjdGNwX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIg KmNjdiwgdWludDMyX3QgdHlwZSk8YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBkY3RjcF9kYXRhLSZndDtzYXZlX3NuZG54dCArPSBD Q1YoY2N2LCB0X21heHNlZyk7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGN0Y3BfZGF0YS0mZ3Q7bnVtX2NvbmdfZXZlbnRzKys7 PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgYnJlYWs7PGJyPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVmYXVsdDo8YnI+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBicmVhazs8YnI+ICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyB9PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfSBlbHNlPGJyPiAmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg bmV3cmVub19jY19jb25nX3NpZ25hbChjY3YsIHR5cGUpOzxicj5kaWZmIC0tZ2l0IGEvc3lzL25l dGluZXQvY2MvY2NfaGQuYyBiL3N5cy9uZXRpbmV0L2NjL2NjX2hkLmM8YnI+aW5kZXggMWE4YjYy Y2NmNDI2Li44MjQ4NjU2M2Y5N2UgMTAwNjQ0PGJyPi0tLSBhL3N5cy9uZXRpbmV0L2NjL2NjX2hk LmM8YnI+KysrIGIvc3lzL25ldGluZXQvY2MvY2NfaGQuYzxicj5AQCAtODAsNyArODAsNyBAQDxi cj4gLyogTGFyZ2VzdCBwb3NzaWJsZSBudW1iZXIgcmV0dXJuZWQgYnkgcmFuZG9tKCkuICovPGJy PiAjZGVmaW5lJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFJBTkRPTV9NQVgmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgSU5UX01BWDxicj4gPGJyPi1zdGF0aWMgdm9pZCBoZF9hY2tfcmVjZWl2ZWQo c3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MTZfdCBhY2tfdHlwZSk7PGJyPitzdGF0aWMgdm9pZCBo ZF9hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IGFja190eXBlKTs8 YnI+IHN0YXRpYyBpbnQmbmJzcDsgaGRfbW9kX2luaXQodm9pZCk7PGJyPiBzdGF0aWMgc2l6ZV90 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGhkX2RhdGFfc3oodm9pZCk7PGJy PiA8YnI+QEAgLTEzOCw3ICsxMzgsNyBAQCBzaG91bGRfYmFja29mZihpbnQgcWRseSwgaW50IG1h eHFkbHkpPGJyPiZuYnNwOyAqIGFzIE5ld1Jlbm8gaW4gYWxsIG90aGVyIGNpcmN1bXN0YW5jZXMu PGJyPiZuYnNwOyAqLzxicj4gc3RhdGljIHZvaWQ8YnI+LWhkX2Fja19yZWNlaXZlZChzdHJ1Y3Qg Y2NfdmFyICpjY3YsIHVpbnQxNl90IGFja190eXBlKTxicj4raGRfYWNrX3JlY2VpdmVkKHN0cnVj dCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCBhY2tfdHlwZSk8YnI+IHs8YnI+ICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBzdHJ1Y3QgZXJ0dCAqZV90Ozxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGludCBxZGx5Ozxicj5kaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQvY2MvY2NfaHRjcC5jIGIv c3lzL25ldGluZXQvY2MvY2NfaHRjcC5jPGJyPmluZGV4IDQzMjI0NDQ2ZmQ4NC4uNDFjNTUyYTNi ZmEwIDEwMDY0NDxicj4tLS0gYS9zeXMvbmV0aW5ldC9jYy9jY19odGNwLmM8YnI+KysrIGIvc3lz L25ldGluZXQvY2MvY2NfaHRjcC5jPGJyPkBAIC0xMzYsMTAgKzEzNiwxMCBAQDxicj4gJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7ICgoKGRpZmYpIC8gaHopICogKCgoZGlmZikgJmx0OyZsdDsgSFRD UF9BTFBIQV9JTkNfU0hJRlQpIC8gKDQgKiBoeikpKSBcPGJyPiApICZndDsmZ3Q7IEhUQ1BfQUxQ SEFfSU5DX1NISUZUKTxicj4gPGJyPi1zdGF0aWMgdm9pZCBodGNwX2Fja19yZWNlaXZlZChzdHJ1 Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IHR5cGUpOzxicj4rc3RhdGljIHZvaWQgaHRjcF9hY2tf cmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHR5cGUpOzxicj4gc3RhdGlj IHZvaWQgaHRjcF9jYl9kZXN0cm95KHN0cnVjdCBjY192YXIgKmNjdik7PGJyPiBzdGF0aWMgaW50 Jm5ic3A7IGh0Y3BfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YsIHZvaWQgKnB0cik7PGJyPi1z dGF0aWMgdm9pZCBodGNwX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDMyX3Qg dHlwZSk7PGJyPitzdGF0aWMgdm9pZCBodGNwX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNj diwgY2NzaWduYWxfdCB0eXBlKTs8YnI+IHN0YXRpYyBpbnQmbmJzcDsgaHRjcF9tb2RfaW5pdCh2 b2lkKTs8YnI+IHN0YXRpYyB2b2lkIGh0Y3BfcG9zdF9yZWNvdmVyeShzdHJ1Y3QgY2NfdmFyICpj Y3YpOzxicj4gc3RhdGljIHZvaWQgaHRjcF9yZWNhbGNfYWxwaGEoc3RydWN0IGNjX3ZhciAqY2N2 KTs8YnI+QEAgLTE5MCw3ICsxOTAsNyBAQCBzdHJ1Y3QgY2NfYWxnbyBodGNwX2NjX2FsZ28gPSB7 PGJyPiB9Ozxicj4gPGJyPiZuYnNwO3N0YXRpYyB2b2lkPGJyPi1odGNwX2Fja19yZWNlaXZlZChz dHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQxNl90IHR5cGUpPGJyPitodGNwX2Fja19yZWNlaXZlZChz dHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgdHlwZSk8YnI+IHs8YnI+ICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBzdHJ1Y3QgaHRjcCAqaHRjcF9kYXRhOzxicj4gPGJyPkBAIC0yNzgsNyAr Mjc4LDcgQEAgaHRjcF9jYl9pbml0KHN0cnVjdCBjY192YXIgKmNjdiwgdm9pZCAqcHRyKTxicj4m bmJzcDsgKiBQZXJmb3JtIGFueSBuZWNlc3NhcnkgdGFza3MgYmVmb3JlIHdlIGVudGVyIGNvbmdl c3Rpb24gcmVjb3ZlcnkuPGJyPiZuYnNwOyAqLzxicj4gc3RhdGljIHZvaWQ8YnI+LWh0Y3BfY29u Z19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MzJfdCB0eXBlKTxicj4raHRjcF9jb25n X3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgdHlwZSk8YnI+IHs8YnI+ICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgaHRjcCAqaHRjcF9kYXRhOzxicj4gJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHVpbnQzMl90IG1zcywgcGlwZTs8YnI+QEAgLTM0NSw2ICszNDUs OCBAQCBodGNwX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDMyX3QgdHlwZSk8 YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBpZiAoQ0NWKGNjdiwgdF9yeHRzaGlmdCkgJmd0Oz0gMik8YnI+ICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBodGNw X2RhdGEtJmd0O3RfbGFzdF9jb25nID0gdGlja3M7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYnJlYWs7PGJyPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVmYXVsdDo8YnI+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBicmVhazs8YnI+ ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPiB9PGJyPiA8YnI+ZGlmZiAtLWdpdCBhL3N5 cy9uZXRpbmV0L2NjL2NjX25ld3Jlbm8uYyBiL3N5cy9uZXRpbmV0L2NjL2NjX25ld3Jlbm8uYzxi cj5pbmRleCA3MWYyNzY0ZWY0YmMuLmFhMjBlMmM2NGY3ZCAxMDA2NDQ8YnI+LS0tIGEvc3lzL25l dGluZXQvY2MvY2NfbmV3cmVuby5jPGJyPisrKyBiL3N5cy9uZXRpbmV0L2NjL2NjX25ld3Jlbm8u Yzxicj5AQCAtODQsOSArODQsOSBAQDxicj4gI2luY2x1ZGUgJmx0O25ldGluZXQvY2MvY2NfbmV3 cmVuby5oJmd0Ozxicj4gPGJyPiZuYnNwO3N0YXRpYyB2b2lkIG5ld3Jlbm9fY2JfZGVzdHJveShz dHJ1Y3QgY2NfdmFyICpjY3YpOzxicj4tc3RhdGljIHZvaWQgbmV3cmVub19hY2tfcmVjZWl2ZWQo c3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MTZfdCB0eXBlKTs8YnI+K3N0YXRpYyB2b2lkIG5ld3Jl bm9fYWNrX3JlY2VpdmVkKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCB0eXBlKTs8YnI+ IHN0YXRpYyB2b2lkIG5ld3Jlbm9fYWZ0ZXJfaWRsZShzdHJ1Y3QgY2NfdmFyICpjY3YpOzxicj4t c3RhdGljIHZvaWQgbmV3cmVub19jb25nX3NpZ25hbChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVpbnQz Ml90IHR5cGUpOzxicj4rc3RhdGljIHZvaWQgbmV3cmVub19jb25nX3NpZ25hbChzdHJ1Y3QgY2Nf dmFyICpjY3YsIGNjc2lnbmFsX3QgdHlwZSk7PGJyPiBzdGF0aWMgaW50IG5ld3Jlbm9fY3RsX291 dHB1dChzdHJ1Y3QgY2NfdmFyICpjY3YsIHN0cnVjdCBzb2Nrb3B0ICpzb3B0LCB2b2lkICpidWYp Ozxicj4gc3RhdGljIHZvaWQgbmV3cmVub19uZXdyb3VuZChzdHJ1Y3QgY2NfdmFyICpjY3YsIHVp bnQzMl90IHJvdW5kX2NudCk7PGJyPiBzdGF0aWMgdm9pZCBuZXdyZW5vX3J0dHNhbXBsZShzdHJ1 Y3QgY2NfdmFyICpjY3YsIHVpbnQzMl90IHVzZWNfcnR0LCB1aW50MzJfdCByeHRjbnQsIHVpbnQz Ml90IGZhcyk7PGJyPkBAIC0yMTIsNyArMjEyLDcgQEAgbmV3cmVub19jYl9kZXN0cm95KHN0cnVj dCBjY192YXIgKmNjdik8YnI+IH08YnI+IDxicj4mbmJzcDtzdGF0aWMgdm9pZDxicj4tbmV3cmVu b19hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MTZfdCB0eXBlKTxicj4rbmV3 cmVub19hY2tfcmVjZWl2ZWQoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90IHR5cGUpPGJy PiB7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IG5ld3Jlbm8gKm5yZW5vOzxi cj4gPGJyPkBAIC0zNjMsNyArMzYzLDcgQEAgbmV3cmVub19hZnRlcl9pZGxlKHN0cnVjdCBjY192 YXIgKmNjdik8YnI+Jm5ic3A7ICogUGVyZm9ybSBhbnkgbmVjZXNzYXJ5IHRhc2tzIGJlZm9yZSB3 ZSBlbnRlciBjb25nZXN0aW9uIHJlY292ZXJ5Ljxicj4mbmJzcDsgKi88YnI+IHN0YXRpYyB2b2lk PGJyPi1uZXdyZW5vX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDMyX3QgdHlw ZSk8YnI+K25ld3Jlbm9fY29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCBjY3NpZ25hbF90 IHR5cGUpPGJyPiB7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IG5ld3Jlbm8g Km5yZW5vOzxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHVpbnQzMl90IGJldGEsIGJldGFf ZWNuLCBjd2luLCBmYWN0b3IsIG1zcywgcGlwZTs8YnI+QEAgLTQ0Miw2ICs0NDIsOCBAQCBuZXdy ZW5vX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDMyX3QgdHlwZSk8YnI+ICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyB9PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ0NWKGNjdiwgc25kX2N3bmQpID0gbXNzOzxicj4gJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGJyZWFrOzxicj4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGRlZmF1bHQ6PGJyPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgYnJlYWs7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4gfTxicj4g PGJyPmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC9jYy9jY192ZWdhcy5jIGIvc3lzL25ldGluZXQv Y2MvY2NfdmVnYXMuYzxicj5pbmRleCBhYWM5YzljZTc3ZmYuLmVjZDQyYzFhMGY1MyAxMDA2NDQ8 YnI+LS0tIGEvc3lzL25ldGluZXQvY2MvY2NfdmVnYXMuYzxicj4rKysgYi9zeXMvbmV0aW5ldC9j Yy9jY192ZWdhcy5jPGJyPkBAIC04NCwxMiArODQsMTIgQEA8YnI+Jm5ic3A7ICogUHJpdmF0ZSBz aWduYWwgdHlwZSBmb3IgcmF0ZSBiYXNlZCBjb25nZXN0aW9uIHNpZ25hbC48YnI+Jm5ic3A7ICog U2VlICZsdDtuZXRpbmV0L2NjLmgmZ3Q7IGZvciBhcHByb3ByaWF0ZSBiaXQtcmFuZ2UgdG8gdXNl IGZvciBwcml2YXRlIHNpZ25hbHMuPGJyPiZuYnNwOyAqLzxicj4tI2RlZmluZSZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBDQ19WRUdBU19SQVRFJm5ic3A7IDB4MDEwMDAwMDA8YnI+KyNkZWZpbmUm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ0NfVkVHQVNfUkFURSZuYnNwOyAweDA0MDAwMDAwPGJy PiA8YnI+LXN0YXRpYyB2b2lkIHZlZ2FzX2Fja19yZWNlaXZlZChzdHJ1Y3QgY2NfdmFyICpjY3Ys IHVpbnQxNl90IGFja190eXBlKTs8YnI+K3N0YXRpYyB2b2lkIHZlZ2FzX2Fja19yZWNlaXZlZChz dHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgYWNrX3R5cGUpOzxicj4gc3RhdGljIHZvaWQg dmVnYXNfY2JfZGVzdHJveShzdHJ1Y3QgY2NfdmFyICpjY3YpOzxicj4gc3RhdGljIGludCZuYnNw OyB2ZWdhc19jYl9pbml0KHN0cnVjdCBjY192YXIgKmNjdiwgdm9pZCAqcHRyKTs8YnI+LXN0YXRp YyB2b2lkIHZlZ2FzX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgdWludDMyX3Qgc2ln bmFsX3R5cGUpOzxicj4rc3RhdGljIHZvaWQgdmVnYXNfY29uZ19zaWduYWwoc3RydWN0IGNjX3Zh ciAqY2N2LCBjY3NpZ25hbF90IHNpZ25hbF90eXBlKTs8YnI+IHN0YXRpYyB2b2lkIHZlZ2FzX2Nv bm5faW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YpOzxicj4gc3RhdGljIGludCZuYnNwOyB2ZWdhc19t b2RfaW5pdCh2b2lkKTs8YnI+IHN0YXRpYyBzaXplX3QmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgdmVnYXNfZGF0YV9zeih2b2lkKTs8YnI+QEAgLTEyNCw3ICsxMjQsNyBAQCBz dHJ1Y3QgY2NfYWxnbyB2ZWdhc19jY19hbGdvID0gezxicj4mbmJzcDsgKiBoYXMgYmVlbiB1c2Vk Ljxicj4mbmJzcDsgKi88YnI+IHN0YXRpYyB2b2lkPGJyPi12ZWdhc19hY2tfcmVjZWl2ZWQoc3Ry dWN0IGNjX3ZhciAqY2N2LCB1aW50MTZfdCBhY2tfdHlwZSk8YnI+K3ZlZ2FzX2Fja19yZWNlaXZl ZChzdHJ1Y3QgY2NfdmFyICpjY3YsIGNjc2lnbmFsX3QgYWNrX3R5cGUpPGJyPiB7PGJyPiAmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RydWN0IGVydHQgKmVfdDs8YnI+ICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBzdHJ1Y3QgdmVnYXMgKnZlZ2FzX2RhdGE7PGJyPkBAIC0yMDMsNyArMjAzLDcg QEAgdmVnYXNfY2JfaW5pdChzdHJ1Y3QgY2NfdmFyICpjY3YsIHZvaWQgKnB0cik8YnI+Jm5ic3A7 ICogaGFuZGxlZCBoZXJlLCBvdGhlcndpc2UgaXQgZmFsbHMgYmFjayB0byBuZXdyZW5vJ3MgY29u Z2VzdGlvbiBoYW5kbGluZy48YnI+Jm5ic3A7ICovPGJyPiBzdGF0aWMgdm9pZDxicj4tdmVnYXNf Y29uZ19zaWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MzJfdCBzaWduYWxfdHlwZSk8YnI+ K3ZlZ2FzX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIgKmNjdiwgY2NzaWduYWxfdCBzaWduYWxf dHlwZSk8YnI+IHs8YnI+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJ1Y3QgdmVnYXMgKnZl Z2FzX2RhdGE7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaW50IHByZXNpZ25hbHJlY292 Ozxicj5AQCAtMjE1LDcgKzIxNSw3IEBAIHZlZ2FzX2Nvbmdfc2lnbmFsKHN0cnVjdCBjY192YXIg KmNjdiwgdWludDMyX3Qgc2lnbmFsX3R5cGUpPGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg ZWxzZTxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHByZXNpZ25hbHJlY292ID0gMDs8YnI+IDxicj4tJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IHN3aXRjaChzaWduYWxfdHlwZSkgezxicj4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IHN3aXRjaCgoaW50KXNpZ25hbF90eXBlKSB7PGJyPiAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgY2FzZSBDQ19WRUdBU19SQVRFOjxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghSU5fUkVDT1ZF UlkoQ0NWKGNjdiwgdF9mbGFncykpKSB7PGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQ0NWKGNjdiwgc25kX2N3bmQpID0gbWF4KDIg KiBDQ1YoY2N2LCB0X21heHNlZyksPGJyPkBAIC0yMjgsNiArMjI4LDcgQEAgdmVnYXNfY29uZ19z aWduYWwoc3RydWN0IGNjX3ZhciAqY2N2LCB1aW50MzJfdCBzaWduYWxfdHlwZSk8YnI+IDxicj4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZGVmYXVsdDo8YnI+ICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBuZXdy ZW5vX2NjX2Nvbmdfc2lnbmFsKGNjdiwgc2lnbmFsX3R5cGUpOzxicj4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGJyZWFr Ozxicj4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+IDxicj4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgaWYgKElOX1JFQ09WRVJZKENDVihjY3YsIHRfZmxhZ3MpKSAmYW1wOyZh bXA7ICFwcmVzaWduYWxyZWNvdik8bzpwPjwvbzpwPjwvcHJlPg0KPC9kaXY+DQo8L2Jsb2NrcXVv dGU+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiciBjbGVhcj0iYWxsIj4NCjxvOnA+ PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90 dG9tOjEyLjBwdCI+QnVpbGR3b3JsZCBpcyBub3cgYnJva2VuIGZvciBhbGwgYXJjaGVzIChhdCBs ZWFzdCBpbmNyZW1lbnRhbCBidWlsZCk8YnI+DQo8YnI+DQpBbW9uZyB0aGUgZXJyb3JzPGJyPg0K PGJyPg0KL2hvbWUvYmFwdC93b3JrdHJlZXMvbWFpbi9saWIvbGlic3RhdHMvLi4vLi4vc3lzL25l dGluZXQvdGNwX3N0YXRzLmM6MTM4OjMyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRp ZmllciAnQ0NfTkRVUEFDSyc8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4N CjwvYm9keT4NCjwvaHRtbD4NCg== --_000_PH0PR06MB7639163516643B8783C1DB5186542PH0PR06MB7639namp_-- From nobody Sat Feb 24 20:38:06 2024 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 4ThzGn1HL2z5BYV4; Sat, 24 Feb 2024 20:38:09 +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 4ThzGm65SMz4LJV; Sat, 24 Feb 2024 20:38:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708807088; h=from:from:reply-to:subject: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=BhN15oDwgptoHHEtm/AdNov2cmsRSBh9dhRvnP8INfg=; b=jzloIYBF2Wi9RRy3kh2SoJYTyH/6FFyOGqqsIH/Ao5TIsE73gqjrdJNKi6rlOTdWfOLroX fZ3rrAZI4IhzxpQOKDdAJZkgQGOzweEvwyW5X6gjDnachx6/ApEpL9Q1hUuUeyVt5y+of6 u9EC2WPDlqlsU2Hqwv89OVAQlI691Gk8NlIY++TSQU/UFq+8ExMJJ2cV7pObYE9vJIDfsI NMMA3dGiPGiCzbZxPdew4utLzdZjR3aTHa7JzJDOtfnqzKohXy76pbOzNYKWQPWcOvwVHA VFJ1Kzc5x2Fuc+RSUyty/9tP1/qAbShYM4bh0Z7zbeNexukIIkNmCY1tGU953Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708807088; a=rsa-sha256; cv=none; b=hfQMnC8Ibszm/GFhY9LBAQ6y3M1ZmRst6cgpxq4A3+DB/vWpkyeelu5+FBW39joJr4sDYH yP1hnn+tvB20E10vwYn1MYpHse34e1slpnhjj+NSthuJJqctl2xm361a3ttVG07YZvk0G3 ZXpchTZrhetH3VP4bPi1ojlSwLv8oYQBcZUeOx+Sdn9wEIGR1c/75bz+hA736srQeFaIYQ B4dJJ8aqvjraAuNgHa6IfaYa3S197/1eF9xCNueG5kY7MTS0SpVUm7r3CSPZG2/iZVV9ou 4wYfwJOKPPNBmqs5a4aREXXLgt7G92m6Mw8ksawCgcPjIHDU86xL7HY15yQ57A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708807088; h=from:from:reply-to:subject: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=BhN15oDwgptoHHEtm/AdNov2cmsRSBh9dhRvnP8INfg=; b=IaJrpxp2Kt0s/uJaA/mSUfhdnCekuJRa2uCpk53noSyVL6okjjTn3HTC1CrhJhfiFneiVQ mE1nDH/cHZOUl9iFXsKIRlmOElkdcE4VDn+CbI2xXAtD0YzgFg1gA140fMQJCUuW+uyeu5 ntqcBK7hTCs9Vx4n1+oyRWjSmqVBLJy9CaEP9rc0xbeYCiZjCwUvXGnyFHQA+sDuGlFTef Yl4lAeFuByM8tkACCL4E1RQYKmltvTVe6QyavEDrR8/mSteDSwwwyGL2weTersFunmMIMg 1h94u87j8DFzrzlUqI1GcUdHK82uFxm1UYZRON9ux1sO8weY8vEhSTzLjJfH1w== Received: from [IPV6:2601:644:937f:4c50:9110:97a:5df4:795c] (unknown [IPv6:2601:644:937f:4c50:9110:97a:5df4:795c]) (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 4ThzGm20Qfz1Zjl; Sat, 24 Feb 2024 20:38:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <88451bc6-fb9a-42d0-9d6f-ba83330aa6b9@FreeBSD.org> Date: Sat, 24 Feb 2024 12:38: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 Subject: Re: git: 5e248c23d995 - main - tcp: retain some CC signals outside of kernel scope Content-Language: en-US To: Richard Scheffenegger , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202402242002.41OK2Rs0085089@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202402242002.41OK2Rs0085089@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2/24/24 12:02 PM, Richard Scheffenegger wrote: > The branch main has been updated by rscheff: > > URL: https://cgit.FreeBSD.org/src/commit/?id=5e248c23d995a059d24f4784d5a256cddd42e557 > > commit 5e248c23d995a059d24f4784d5a256cddd42e557 > Author: Richard Scheffenegger > AuthorDate: 2024-02-24 20:01:54 +0000 > Commit: Richard Scheffenegger > CommitDate: 2024-02-24 20:01:54 +0000 > > tcp: retain some CC signals outside of kernel scope > > Summary: fix build error after f74352fbcf15341accaf5a92240871f98323215d > > Reviewers: #transport! > > Subscribers: imp, melifaro, glebius > > Differential Revision: https://reviews.freebsd.org/D44066 > --- > sys/netinet/cc/cc.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/sys/netinet/cc/cc.h b/sys/netinet/cc/cc.h > index 5b2cb58a24a0..aac0825e5fe1 100644 > --- a/sys/netinet/cc/cc.h > +++ b/sys/netinet/cc/cc.h > @@ -121,12 +121,15 @@ struct cc_var { > #define CCF_HYSTART_CAN_SH_CWND 0x0800 /* Can hystart when going CSS -> CA slam the cwnd */ > #define CCF_HYSTART_CONS_SSTH 0x1000 /* Should hystart use the more conservative ssthresh */ > > +#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */ > typedef enum { > +#if defined(_KERNEL) || defined(_WANT_TCPCB) > /* ACK types passed to the ack_received() hook. */ > CC_ACK = 0x0001, /* Regular in sequence ACK. */ > CC_DUPACK = 0x0002, /* Duplicate ACK. */ > CC_PARTIALACK = 0x0004, /* Not yet. */ > CC_SACK = 0x0008, /* Not yet. */ > +#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */ > /* Congestion signal types passed to the cong_signal() hook. */ > CC_ECN = 0x0100, /* ECN marked packet received. */ > CC_RTO = 0x0200, /* RTO fired. */ > @@ -138,7 +141,6 @@ typedef enum { > */ > CC_SIGPRIVMASK = 0xFF000000 /* Mask to check if sig is private. */ > } ccsignal_t; > -#endif /* defined(_KERNEL) || defined(_WANT_TCPCB) */ Is there a good reason to not just expose all of the enum values always? -- John Baldwin From nobody Sun Feb 25 00:58:27 2024 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 4Tj5381vsXz5BxW1; Sun, 25 Feb 2024 00:58: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 4Tj5381BgZz4tG9; Sun, 25 Feb 2024 00:58:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FfgJe/GAe/sGr3x0tNuyGKGKdM9ZARcBeVFcRurVD4M=; b=ZPDhTbWYTaWh5i0IudaVG9fZp35hcsNePPWswXWajW+7nNXej0upQzw+K7Dy+RZF3OVpvh H9el/r6pjmdCgl+gOjd+atkxKQRBM4rp+5ENnJWNCbCBu2qKCJ1lhM5GdOMWGiZFMAeTZu uMK17mnc0XWrkBZtZHiwYEhtk9dcdE6erEPVl2IWf+Zij/5uEizIzylzhlpYSps3jsVZpg 4ertlY1PUSwAlCkyXxKcXUUprsP3pmsn1Wh5P2ksrNPxtiRZBZFf9eiEd/fNG8T0eYFLUM g+08S4YwbU+dwSezAPUIg1PuoR5ooMxycD8v4Ozsc4ogav3hNRKCY1p4crUZgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708822708; a=rsa-sha256; cv=none; b=Zx6O5/BboXPkehkHsNysK9WX5G5qbumRkv3D5Dry+wQPBJwOVmnPdE4WxrYGoHcxsMLRuk O+CgKZNTWgEp7Su/BIcz4FdaaUblBF7Elp53kuKjvyaw1ffn2YXGGggK/VE9n8aaUKLWuI zsN2lmE8vNjTx6id7Bl1VYUv4gfjgCvr+fyszYSh3W0NxcgO3SGx8Psu1TArLlBzIIOpzk VEX1S+QnUTBnu2BdDsYFp5b2wGRJx5SGDEh9+DO1hNYyrRyqDR5+E+AY+nCQVijRuGhDET HNQknYRuzNu2EAEfLxzsBQuGO5U1tOny9D+33DLItmRxZ5BlAxbQr8WwutE1EA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FfgJe/GAe/sGr3x0tNuyGKGKdM9ZARcBeVFcRurVD4M=; b=LygPjKA6ZVxgCQtyTS7k/V5etkd4bXQ7ByLjHGOv4ps0psL7wFXqebB5P3z3N3Pd5n/k5C gQqRhrcF79t7jZKkeuc5AXRmRHENIdG/VMCq77AYAgDXws0YSDsM2zlJpTSRp3T/v5UHqQ SDJU0NKPtkwNfOpoT2/1nsMkQhT4F1eOHsJjsKoNLNabMi8040t2ue7pLt35SbpL7X4mzL ySaY30yC8VNeHj8VQ0Y7bB9qC2JFChf+BCc0fsepf4yW73d3EoRDduNj4Bl8AK4EJnGjeg CjgWsOk+2aXwxm6xiedcMa+waRfkmBY0kaorgF/6PgiUuJwQslN9nFq2jh3M8g== 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 4Tj5376whJzNJZ; Sun, 25 Feb 2024 00:58: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 41P0wRhW081533; Sun, 25 Feb 2024 00:58:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P0wRVE081530; Sun, 25 Feb 2024 00:58:27 GMT (envelope-from git) Date: Sun, 25 Feb 2024 00:58:27 GMT Message-Id: <202402250058.41P0wRVE081530@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: 5b3b9a58584b - main - loader: Move ldscripts to match more standard practices 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: 5b3b9a58584b101e3ea0fd8dd50dc8d9157c058e Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5b3b9a58584b101e3ea0fd8dd50dc8d9157c058e commit 5b3b9a58584b101e3ea0fd8dd50dc8d9157c058e Author: Warner Losh AuthorDate: 2024-02-25 00:56:14 +0000 Commit: Warner Losh CommitDate: 2024-02-25 00:56:14 +0000 loader: Move ldscripts to match more standard practices In the larger open source community, ld scripts are foo.ldscrpt rather than ldscript.arch like we use here. This moves the EFI ldscripts. Sponsored by: Netflix Reviewed by: tsoome, kevans, emaste Differential Revision: https://reviews.freebsd.org/D44056 --- stand/efi/boot1/Makefile | 2 +- stand/efi/loader/Makefile | 2 +- stand/efi/loader/arch/amd64/{ldscript.amd64 => amd64.ldscript} | 0 stand/efi/loader/arch/arm/{ldscript.arm => arm.ldscript} | 0 stand/efi/loader/arch/arm64/{ldscript.arm64 => arm64.ldscript} | 0 stand/efi/loader/arch/riscv/{ldscript.riscv => riscv.ldscript} | 0 6 files changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/efi/boot1/Makefile b/stand/efi/boot1/Makefile index e03b95d2276f..fd5069004dff 100644 --- a/stand/efi/boot1/Makefile +++ b/stand/efi/boot1/Makefile @@ -64,7 +64,7 @@ CFLAGS+= -I${LDRSRC} FILES= ${BOOT1}.efi FILESMODE_${BOOT1}.efi= ${BINMODE} -LDSCRIPT= ${EFISRC}/loader/arch/${MACHINE}/ldscript.${MACHINE} +LDSCRIPT= ${EFISRC}/loader/arch/${MACHINE}/${MACHINE}.ldscript LDFLAGS+= -Wl,-T${LDSCRIPT},-Bsymbolic,-znotext -pie .if ${LINKER_TYPE} == "bfd" && ${LINKER_VERSION} >= 23400 LDFLAGS+= -Wl,--no-dynamic-linker diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index 5a755c1d329f..2031400814e9 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -100,7 +100,7 @@ FILESMODE_${LOADER}.efi= ${BINMODE} LINKS+= ${BINDIR}/${LOADER}.efi ${BINDIR}/loader.efi .endif -LDSCRIPT= ${.CURDIR}/../loader/arch/${MACHINE}/ldscript.${MACHINE} +LDSCRIPT= ${.CURDIR}/../loader/arch/${MACHINE}/${MACHINE}.ldscript LDFLAGS+= -Wl,-T${LDSCRIPT},-Bsymbolic,-znotext -pie .if ${LINKER_TYPE} == "bfd" && ${LINKER_VERSION} >= 23400 LDFLAGS+= -Wl,--no-dynamic-linker diff --git a/stand/efi/loader/arch/amd64/ldscript.amd64 b/stand/efi/loader/arch/amd64/amd64.ldscript similarity index 100% rename from stand/efi/loader/arch/amd64/ldscript.amd64 rename to stand/efi/loader/arch/amd64/amd64.ldscript diff --git a/stand/efi/loader/arch/arm/ldscript.arm b/stand/efi/loader/arch/arm/arm.ldscript similarity index 100% rename from stand/efi/loader/arch/arm/ldscript.arm rename to stand/efi/loader/arch/arm/arm.ldscript diff --git a/stand/efi/loader/arch/arm64/ldscript.arm64 b/stand/efi/loader/arch/arm64/arm64.ldscript similarity index 100% rename from stand/efi/loader/arch/arm64/ldscript.arm64 rename to stand/efi/loader/arch/arm64/arm64.ldscript diff --git a/stand/efi/loader/arch/riscv/ldscript.riscv b/stand/efi/loader/arch/riscv/riscv.ldscript similarity index 100% rename from stand/efi/loader/arch/riscv/ldscript.riscv rename to stand/efi/loader/arch/riscv/riscv.ldscript From nobody Sun Feb 25 00:58:28 2024 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 4Tj5391lNRz5BxfK; Sun, 25 Feb 2024 00:58: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 4Tj53911B4z4tGB; Sun, 25 Feb 2024 00:58:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1t3xo7N1AzsiGTyIbsClNm7kGj0HLmgLlebdTvzrJL4=; b=Ig2W5P/IISfWVTNy5lZQLrc8oqrGpMYaj3AC9zKOp6mxa4GdSNnqyHxR+93DfI1vd+SixA Dvga88YKupMHARl9Tcjf5dgP5g3LLUD2ox6+grmoFUORP0bvn4E2+ZisxtVCPSM2d5/8PT VXDpAaiPU/8UVey1j+MIc6XhcSWRiXDw5muhU6NCZUnJ3xd5dyk7VUEv5Ku0KK1Rz8xiKe phTi7MwQJWXoxlBJlvUfYiMPpPaFD4PsCoix2Oze/HgDiwfwidJ9XWXw35erjvhbXyHTg7 GJtWJUW3m3dmlrE08zb3CYfq1dnHZMHQ/MDM+hgt4ytlaoiiBaIndVwKj8FiyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708822709; a=rsa-sha256; cv=none; b=U9t2BV3LbznelX4ws6Evevb7XaFfDQYyxgaNJq5KFpcdmsy7fyUapHR3IoEfKcSOEaT2pa 671U3JnAacRpdE+m0Yrgqg9ebbTmowi1WeN5ShFdycr9FiAO0hJ++vJxnFYG4QyIm3Y2r5 8vxoF5oPqGepBL3m7cmfB7De4XhavhNYgAOd185vEUdmF7EThEtxq2dMHlii0BTKGpMMOX 0YTHSH1fMVCYt4Ciygd7qtD56F+K0aeTMtkm6788UqBzshfaBDvN9e8L+qk89MrAu/RL8A bHvOVcHbWsr8ekUqalsrtfqGHv1iE0KwlqzB8NnRRWdWxHbUXpMl7a+YiDmXqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1t3xo7N1AzsiGTyIbsClNm7kGj0HLmgLlebdTvzrJL4=; b=prlQqIAkEHBxoy0DeUCxb1zg4mS5QPh5UkZLxdjmNDJrT69Zpaqlo3QWafb3IBl5cFgwwL SlA0VwlONB5BYiOuYd930Eoq3SzZNpCvQ2Dg/orz/+4LdZj6r60u2bjCMfndLjGkjO9DG+ JKBRvN6fmcM2ifcGc1N7m4HK8LachuRsjdcE2J8QQiFlINLnZgVZzKJj+pvummKQWt8xWg NDJjorrVXS5mi05JjG+VrbgUV/9ZqZAIf5bfShDSyW6siDwm/BaE4LubRKt71F7GeM/fqV iF9lVKULcGnbOSAe5IahZKOoMOjXdo6yXdAZGgiyouZ6zUSKtx2YVkNYbObu0A== 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 4Tj5390595zMYQ; Sun, 25 Feb 2024 00:58: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 41P0wSi6081572; Sun, 25 Feb 2024 00:58:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P0wSCT081569; Sun, 25 Feb 2024 00:58:28 GMT (envelope-from git) Date: Sun, 25 Feb 2024 00:58:28 GMT Message-Id: <202402250058.41P0wSCT081569@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: acb474c084b8 - main - kboot: Centralize ldscript addition 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: acb474c084b8e3b7bb738a286f9218f926a15823 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=acb474c084b8e3b7bb738a286f9218f926a15823 commit acb474c084b8e3b7bb738a286f9218f926a15823 Author: Warner Losh AuthorDate: 2024-02-25 00:56:23 +0000 Commit: Warner Losh CommitDate: 2024-02-25 00:56:23 +0000 kboot: Centralize ldscript addition Make the pattern for ldscripts always be arch/$MACHINE_ARCH/$MACHINE_ARCH.ldscript so we can add it from a central Makefile. This also moves from ldscript.arch to arch.ldscript to match the loader's new convention. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44057 --- stand/kboot/kboot/Makefile | 3 +++ stand/kboot/kboot/arch/aarch64/Makefile.inc | 2 -- stand/kboot/kboot/arch/aarch64/{ldscript.aarch64 => aarch64.ldscript} | 0 stand/kboot/kboot/arch/amd64/Makefile.inc | 2 -- stand/kboot/kboot/arch/amd64/{ldscript.amd64 => amd64.ldscript} | 0 stand/kboot/kboot/arch/powerpc64/Makefile.inc | 2 -- .../kboot/arch/powerpc64/{ldscript.powerpc => powerpc64.ldscript} | 0 7 files changed, 3 insertions(+), 6 deletions(-) diff --git a/stand/kboot/kboot/Makefile b/stand/kboot/kboot/Makefile index b571c3acada1..c6cb47fbbba2 100644 --- a/stand/kboot/kboot/Makefile +++ b/stand/kboot/kboot/Makefile @@ -51,6 +51,9 @@ HELP_FILENAME= loader.help.kboot .PATH: ${.CURDIR}/arch/${MACHINE_ARCH} .include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc" +# Bring in our ldscript +LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH}.ldscript + # Always add MI sources .include "${BOOTSRC}/loader.mk" CFLAGS+= -I${.CURDIR} -I${.CURDIR}/arch/${MACHINE_ARCH} diff --git a/stand/kboot/kboot/arch/aarch64/Makefile.inc b/stand/kboot/kboot/arch/aarch64/Makefile.inc index 744a15f363d3..3e856f5322b3 100644 --- a/stand/kboot/kboot/arch/aarch64/Makefile.inc +++ b/stand/kboot/kboot/arch/aarch64/Makefile.inc @@ -8,5 +8,3 @@ CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include # load address. set in linker script RELOC?= 0x0 CFLAGS+= -DRELOC=${RELOC} - -LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.${MACHINE_ARCH} diff --git a/stand/kboot/kboot/arch/aarch64/ldscript.aarch64 b/stand/kboot/kboot/arch/aarch64/aarch64.ldscript similarity index 100% rename from stand/kboot/kboot/arch/aarch64/ldscript.aarch64 rename to stand/kboot/kboot/arch/aarch64/aarch64.ldscript diff --git a/stand/kboot/kboot/arch/amd64/Makefile.inc b/stand/kboot/kboot/arch/amd64/Makefile.inc index 55b1819ccdee..edb8a1de0bba 100644 --- a/stand/kboot/kboot/arch/amd64/Makefile.inc +++ b/stand/kboot/kboot/arch/amd64/Makefile.inc @@ -1,5 +1,3 @@ SRCS+= amd64_tramp.S elf64_freebsd.c load_addr.c fdt_arch.c CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include - -LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.amd64 diff --git a/stand/kboot/kboot/arch/amd64/ldscript.amd64 b/stand/kboot/kboot/arch/amd64/amd64.ldscript similarity index 100% rename from stand/kboot/kboot/arch/amd64/ldscript.amd64 rename to stand/kboot/kboot/arch/amd64/amd64.ldscript diff --git a/stand/kboot/kboot/arch/powerpc64/Makefile.inc b/stand/kboot/kboot/arch/powerpc64/Makefile.inc index 338d1222ab65..11a67a93d9e0 100644 --- a/stand/kboot/kboot/arch/powerpc64/Makefile.inc +++ b/stand/kboot/kboot/arch/powerpc64/Makefile.inc @@ -2,6 +2,4 @@ CFLAGS+= -mcpu=powerpc64 SRCS+= ppc64_elf_freebsd.c kerneltramp.S load_addr.c fdt_arch.c -LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.powerpc - MK_PIE= no diff --git a/stand/kboot/kboot/arch/powerpc64/ldscript.powerpc b/stand/kboot/kboot/arch/powerpc64/powerpc64.ldscript similarity index 100% rename from stand/kboot/kboot/arch/powerpc64/ldscript.powerpc rename to stand/kboot/kboot/arch/powerpc64/powerpc64.ldscript From nobody Sun Feb 25 00:58:30 2024 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 4Tj53B4FGHz5BxW7; Sun, 25 Feb 2024 00:58: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 4Tj53B1mVFz4tJC; Sun, 25 Feb 2024 00:58:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f8mRnsIhRCab7mnsVXJf6J7Sp3okwaCM9Q6E5WYzBAg=; b=G9jak/OcrWQqKA2BYbMDFwcTpR8VJaiLqoViHEj2p4K4+MbtULy+qe7P1OJWquguydTSZD Vh2PZm2WJywT/M+OGa56u6qxeJYKRLslxDw3GCmhQTxVP0DIRP89M4WfUgeZza8RVkd9NJ RhEcKwfynWYFxmfREtUzLh163duZf9/Ywclwrd6blp+T40toeG7N6lwG/Yapr0vzcOY1Jb mqlm8g6sjAJPjkrmEsonLu+f7imJdaCk+6nEm5lPuWXANIcRtbC7lDNugS7YvwmrZd6VYR xUxPwzseFai9dZAvKxFBNPO0ENtbHIB4qs6Uinf1bM7BPaeOqMjvfDfZ2j956g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708822710; a=rsa-sha256; cv=none; b=uyOV0FM1yx7PfNwIfIzk7dFpJAhoLg8DIdCUKYfO4ZYDxi6nRagEpo8Zet5I2C3F97kyCt xe9FJ7dAeu7sqPWzMe7XkVrD21Ltp56J1MK0pcS+1M1KueNafonQ3wginPfHGnvaNFZFIy KfeNg9yBuxLrbQe6/pUC+RmYATaIqGNOrVznkZbiB/dodwk/o6F3MGBOs7lmW2QOuzLJIo PZ04G24cD0MksoM1hHBvd9FMw1rFPlOvQdPt9lTCjg7kaMbvrDRSfHWm+mAZKW8c0+3fI/ +gI3KX6Zx6gu/0YA1yzmn4i0JVkUw/MjXGyuwak4tlKqfYYXxiAicg/zRkkHoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f8mRnsIhRCab7mnsVXJf6J7Sp3okwaCM9Q6E5WYzBAg=; b=YPvlYmi81DL2xLolbXixhumi8U/Lg7T66isXprKIw/Elmb0XR9VC75GqIAHHz0tAA1JR7t vv5GsPqiZgDiXHAXwjnXXIxYDoIOgP/GxIRuZttFejUx0LeR6LCQyjND5ZAN8yucGvCxtn kFu/GeIa/08FpwsJTGw9gUqOe0fXlvZoQMLtXZksVjZMjrZeBzFGW4B4bmBlY9QeiQHC7E 5bZ3qDwLvSdgMPXIsnnZP41RiVVVTNgBNx+5iveXt8i9txlrTpqbSkTtc2+Dkj75LT8Viy UuwU0JcPyEV9C5yE7+gaPEyzhsY/4ggkGeKMkmy9jOYnjI3a3aCJtKSDclWATg== 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 4Tj53B0q1nzNJb; Sun, 25 Feb 2024 00:58: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 41P0wUlm081615; Sun, 25 Feb 2024 00:58:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P0wUAo081612; Sun, 25 Feb 2024 00:58:30 GMT (envelope-from git) Date: Sun, 25 Feb 2024 00:58:30 GMT Message-Id: <202402250058.41P0wUAo081612@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: fe4ab1fdb0da - main - loader/powerpc: Share ldscript 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: fe4ab1fdb0da06ddfbd8bf168db9f91b66609253 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fe4ab1fdb0da06ddfbd8bf168db9f91b66609253 commit fe4ab1fdb0da06ddfbd8bf168db9f91b66609253 Author: Warner Losh AuthorDate: 2024-02-25 00:56:31 +0000 Commit: Warner Losh CommitDate: 2024-02-25 00:56:31 +0000 loader/powerpc: Share ldscript Share ldscript between the different ppc versions. There's two different scripts since we build 32-bit binaries for all types of powerpc, but have little endian and big endian variations that are different by only two lines. Set the output format and include the rest. Move to foo.ldscript as well. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44058 --- stand/powerpc/ofw/Makefile | 6 +- stand/powerpc/ofw/ldscript.powerpcle | 142 --------------------- stand/powerpc/ofw/powerpc.ldscript | 3 + stand/powerpc/ofw/powerpc64.ldscript | 3 + stand/powerpc/ofw/powerpc64le.ldscript | 3 + stand/powerpc/ofw/powerpcspe.ldscript | 3 + .../ofw/{ldscript.powerpc => ppc-common.ldscript} | 3 - 7 files changed, 13 insertions(+), 150 deletions(-) diff --git a/stand/powerpc/ofw/Makefile b/stand/powerpc/ofw/Makefile index b7cbbd9fca00..80ebaf486296 100644 --- a/stand/powerpc/ofw/Makefile +++ b/stand/powerpc/ofw/Makefile @@ -47,11 +47,7 @@ CFLAGS+= -DRELOC=${RELOC} -g LDFLAGS= -nostdlib -static -.if ${MACHINE_ARCH} == "powerpc64le" -LDFLAGS+= -T ${.CURDIR}/ldscript.powerpcle -.else -LDFLAGS+= -T ${.CURDIR}/ldscript.powerpc -.endif +LDFLAGS+= -L ${.CURDIR} -T ${.CURDIR}/${MACHINE_ARCH}.ldscript # Open Firmware standalone support library LIBOFW= ${BOOTOBJ}/libofw/libofw.a diff --git a/stand/powerpc/ofw/ldscript.powerpcle b/stand/powerpc/ofw/ldscript.powerpcle deleted file mode 100644 index 946e3dd48ae9..000000000000 --- a/stand/powerpc/ofw/ldscript.powerpcle +++ /dev/null @@ -1,142 +0,0 @@ - -OUTPUT_FORMAT("elf32-powerpcle-freebsd", "elf32-powerpcle-freebsd", - "elf32-powerpcle-freebsd") -OUTPUT_ARCH(powerpcle:common) -ENTRY(_start) -SEARCH_DIR(/usr/lib); -PROVIDE (__stack = 0); -PHDRS -{ - text PT_LOAD; -} -SECTIONS -{ - /* Read-only sections, merged into text segment: */ - . = 0x02c00000 + SIZEOF_HEADERS; - .interp : { *(.interp) } :text - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - .rela.text : - { *(.rela.text) *(.rela.gnu.linkonce.t*) } - .rela.data : - { *(.rela.data) *(.rela.gnu.linkonce.d*) } - .rela.rodata : - { *(.rela.rodata) *(.rela.gnu.linkonce.r*) } - .rela.got : { *(.rela.got) } - .rela.got1 : { *(.rela.got1) } - .rela.got2 : { *(.rela.got2) } - .rela.ctors : { *(.rela.ctors) } - .rela.dtors : { *(.rela.dtors) } - .rela.init : { *(.rela.init) } - .rela.fini : { *(.rela.fini) } - .rela.bss : { *(.rela.bss) } - .rela.plt : { *(.rela.plt) } - .rela.sdata : { *(.rela.sdata) } - .rela.sbss : { *(.rela.sbss) } - .rela.sdata2 : { *(.rela.sdata2) } - .rela.sbss2 : { *(.rela.sbss2) } - .text : - { - *(.text) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - } =0 - _etext = .; - PROVIDE (etext = .); - .init : { *(.init) } =0 - .fini : { *(.fini) } =0 - .rodata : { *(.rodata) *(.gnu.linkonce.r*) } - .rodata1 : { *(.rodata1) } - .sdata2 : { *(.sdata2) } - .sbss2 : { *(.sbss2) } - /* Adjust the address for the data segment to the next page up. */ - . = ((. + 0x1000) & ~(0x1000 - 1)); - .data.rel.ro : { *(.data.rel.ro*) } - .data : - { - *(.data) - *(.gnu.linkonce.d*) - CONSTRUCTORS - } - .data1 : { *(.data1) } - .got1 : { *(.got1) } - .dynamic : { *(.dynamic) } - /* Put .ctors and .dtors next to the .got2 section, so that the pointers - get relocated with -mrelocatable. Also put in the .fixup pointers. - The current compiler no longer needs this, but keep it around for 2.7.2 */ - PROVIDE (_GOT2_START_ = .); - .got2 : { *(.got2) } - PROVIDE (__CTOR_LIST__ = .); - .ctors : { *(.ctors) } - PROVIDE (__CTOR_END__ = .); - PROVIDE (__DTOR_LIST__ = .); - .dtors : { *(.dtors) } - PROVIDE (__DTOR_END__ = .); - PROVIDE (_FIXUP_START_ = .); - .fixup : { *(.fixup) } - PROVIDE (_FIXUP_END_ = .); - PROVIDE (_GOT2_END_ = .); - PROVIDE (_GOT_START_ = .); - .got : { *(.got) } - .got.plt : { *(.got.plt) } - PROVIDE (_GOT_END_ = .); - /* We want the small data sections together, so single-instruction offsets - can access them all, and initialized data all before uninitialized, so - we can shorten the on-disk segment size. */ - .sdata : { *(.sdata) } - _edata = .; - PROVIDE (edata = .); - .sbss : - { - PROVIDE (__sbss_start = .); - *(.sbss) - *(.scommon) - *(.dynsbss) - PROVIDE (__sbss_end = .); - } - .plt : { *(.plt) } - .bss : - { - PROVIDE (__bss_start = .); - *(.dynbss) - *(.bss) - *(COMMON) - } - _end = . ; - PROVIDE (end = .); - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /* These must appear regardless of . */ -} - diff --git a/stand/powerpc/ofw/powerpc.ldscript b/stand/powerpc/ofw/powerpc.ldscript new file mode 100644 index 000000000000..aa48f257af1a --- /dev/null +++ b/stand/powerpc/ofw/powerpc.ldscript @@ -0,0 +1,3 @@ +OUTPUT_FORMAT("elf32-powerpc-freebsd", "elf32-powerpc-freebsd", + "elf32-powerpc-freebsd") +INCLUDE "ppc-common.ldscript" diff --git a/stand/powerpc/ofw/powerpc64.ldscript b/stand/powerpc/ofw/powerpc64.ldscript new file mode 100644 index 000000000000..aa48f257af1a --- /dev/null +++ b/stand/powerpc/ofw/powerpc64.ldscript @@ -0,0 +1,3 @@ +OUTPUT_FORMAT("elf32-powerpc-freebsd", "elf32-powerpc-freebsd", + "elf32-powerpc-freebsd") +INCLUDE "ppc-common.ldscript" diff --git a/stand/powerpc/ofw/powerpc64le.ldscript b/stand/powerpc/ofw/powerpc64le.ldscript new file mode 100644 index 000000000000..269d8121db6b --- /dev/null +++ b/stand/powerpc/ofw/powerpc64le.ldscript @@ -0,0 +1,3 @@ +OUTPUT_FORMAT("elf32-powerpcle-freebsd", "elf32-powerpcle-freebsd", + "elf32-powerpcle-freebsd") +INCLUDE "ppc-common.ldscript" diff --git a/stand/powerpc/ofw/powerpcspe.ldscript b/stand/powerpc/ofw/powerpcspe.ldscript new file mode 100644 index 000000000000..aa48f257af1a --- /dev/null +++ b/stand/powerpc/ofw/powerpcspe.ldscript @@ -0,0 +1,3 @@ +OUTPUT_FORMAT("elf32-powerpc-freebsd", "elf32-powerpc-freebsd", + "elf32-powerpc-freebsd") +INCLUDE "ppc-common.ldscript" diff --git a/stand/powerpc/ofw/ldscript.powerpc b/stand/powerpc/ofw/ppc-common.ldscript similarity index 97% rename from stand/powerpc/ofw/ldscript.powerpc rename to stand/powerpc/ofw/ppc-common.ldscript index 1c023ce6ade6..e12dee74824a 100644 --- a/stand/powerpc/ofw/ldscript.powerpc +++ b/stand/powerpc/ofw/ppc-common.ldscript @@ -1,6 +1,3 @@ - -OUTPUT_FORMAT("elf32-powerpc-freebsd", "elf32-powerpc-freebsd", - "elf32-powerpc-freebsd") OUTPUT_ARCH(powerpc:common) ENTRY(_start) SEARCH_DIR(/usr/lib); From nobody Sun Feb 25 00:58:32 2024 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 4Tj53D55Zwz5Bxbx; Sun, 25 Feb 2024 00:58: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 4Tj53D3kyvz4tP5; Sun, 25 Feb 2024 00:58:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FN4nBArQBZ32BeaManF68ZlvgyQ9RuUqomwIUTcxkGQ=; b=qu7s5k+yHHWxpa5veAV8huZTaP12p3MUS/JBLKr/NostoKIV72lYCdpHbpqqPzX4+EDmF1 rUQVHA33gnhVBg/3dyKApjgNWC1ZCBzDMhB4tzrdoQOYJjrk7sYGsY/mlPXl2RRGPD02av 1xP/9enS4CHSF4rerWxfN/8B1CILbfeh5i1EddKWPwndLGndD/kJSQzU7TaWK0m5PP9UqP mwe3eennskxHhKcJ/o3bS7k5EWyVyVpAXd4pMDP5FizDc09i0vAMcx9P91mHrbnRl7xxf7 neTBxGfdcrFupzM8w3Mi9gNK97WAAQ5y68NJwHmlfij1XCCMGyUQJnMoE/E3KQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708822712; a=rsa-sha256; cv=none; b=xrE8GSRmnuww0QLGYhxf8Y4a94ur+Zz30g5cUCXQNwqgh0hLHyuBI+/+wy7Nk25MdeIvmR OC2nqFTEWlb3OELQRHlIKxlHWeWzxjTCZRZetyF3RZNzp1QC+BGKuJ30A27anRwO0Hp901 PLv3rQFKhigh8MzicSSLseJasSEkhH2h177oAQDZ+hdsZW1cftDhkKrmQ8fI4vJGYUZh69 IfY/Tl+yyv+eBem3v6r8cMcTZN/Uf/ZzXVhi5xbqmrAafTtS+5wi+KWnwIJm5rV1cY1OY9 oUaR7K4GHjo4SYMLfoCkdZcNQvyajcj1RZpdeAuq7TAioJVhUzWBbpE2NCa4BQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FN4nBArQBZ32BeaManF68ZlvgyQ9RuUqomwIUTcxkGQ=; b=hoC5n+fhFqJf3i+4YvSvc6ql7o3e1Lmnt+g85cZiOELaGjZlPqwTTYo+Dlq0t/9M3wMgU4 DZSU0rE1DZIPKYDnbfhRvEhiLaJ6GK0bN1qYcgjwQpJ3gn0+zfAD1ufEPBKFbRmxVtvsAx NCm8UaZCETF3VmuFilK/X+7RA708bsLc3fl40VfDVvb+tDtxVNgUSBZNgh4kM/vidkhktA UvRGyedFcK8TeoXGp/BzNnb7zjBPWneuQWbgbcROKcGDZGjUUEIRMl7A1sY35WBKTQYOxs AkVDuad9A/eKlH467toPQ+7Z//RG8YmfNOIaBlj9mpv7EM3VFZELVnHsozDyjQ== 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 4Tj53D2qCVzNH2; Sun, 25 Feb 2024 00:58: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 41P0wWeX081705; Sun, 25 Feb 2024 00:58:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P0wWut081702; Sun, 25 Feb 2024 00:58:32 GMT (envelope-from git) Date: Sun, 25 Feb 2024 00:58:32 GMT Message-Id: <202402250058.41P0wWut081702@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: ec6cbe468fb3 - main - loader/kboot: simplify linker set inclusion a little 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: ec6cbe468fb364a763fdea3a2803481624702cad Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ec6cbe468fb364a763fdea3a2803481624702cad commit ec6cbe468fb364a763fdea3a2803481624702cad Author: Warner Losh AuthorDate: 2024-02-25 00:56:56 +0000 Commit: Warner Losh CommitDate: 2024-02-25 00:56:56 +0000 loader/kboot: simplify linker set inclusion a little Linker set sections are included by default. No need to do so explicitly. These were bogusly copied from the efi ldscripts. They were there due to a workaround introduced in 2002 by peter@ for a gcc upgrade, but whatever bugs necessitated it were filed by 2010 when rpaulo@ imported the i386 support (though they were copied even though the objcopy retained them correctly, the gcc bug having been fixed). They've never been needed. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44060 --- stand/kboot/kboot/arch/aarch64/aarch64.ldscript | 11 ----------- stand/kboot/kboot/arch/amd64/amd64.ldscript | 11 ----------- 2 files changed, 22 deletions(-) diff --git a/stand/kboot/kboot/arch/aarch64/aarch64.ldscript b/stand/kboot/kboot/arch/aarch64/aarch64.ldscript index 62b7d2b6be01..9460be1874bf 100644 --- a/stand/kboot/kboot/arch/aarch64/aarch64.ldscript +++ b/stand/kboot/kboot/arch/aarch64/aarch64.ldscript @@ -34,17 +34,6 @@ SECTIONS *(COMMON) } . = ALIGN(4096); - set_Xcommand_set : { - __start_set_Xcommand_set = .; - *(set_Xcommand_set) - __stop_set_Xcommand_set = .; - } - set_Xficl_compile_set : { - __start_set_Xficl_compile_set = .; - *(set_Xficl_compile_set) - __stop_set_Xficl_compile_set = .; - } - . = ALIGN(4096); __gp = .; .sdata : { *(.got.plt .got) diff --git a/stand/kboot/kboot/arch/amd64/amd64.ldscript b/stand/kboot/kboot/arch/amd64/amd64.ldscript index 4009ba5fa81c..f8ba7b05a55a 100644 --- a/stand/kboot/kboot/arch/amd64/amd64.ldscript +++ b/stand/kboot/kboot/arch/amd64/amd64.ldscript @@ -34,17 +34,6 @@ SECTIONS *(COMMON) } . = ALIGN(4096); - set_Xcommand_set : { - __start_set_Xcommand_set = .; - *(set_Xcommand_set) - __stop_set_Xcommand_set = .; - } - set_Xficl_compile_set : { - __start_set_Xficl_compile_set = .; - *(set_Xficl_compile_set) - __stop_set_Xficl_compile_set = .; - } - . = ALIGN(4096); __gp = .; .sdata : { *(.got.plt .got) From nobody Sun Feb 25 00:58:31 2024 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 4Tj53C7302z5BxYf; Sun, 25 Feb 2024 00:58: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 4Tj53C2xgMz4tGY; Sun, 25 Feb 2024 00:58:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dEKDwr3sdPxpkBQEbrVjayNTKzHHH3BJrJgbnNGzGJQ=; b=xE142NthHU/xX+1OXJ9UxBPNWYiMAn6quBRyKUXDkFNIbsNnGePv08Aq3992SbHv7U4p2u ralGmB1Zq5gX+BLw9jmngUigNXW8o62nt8H7yfOYY2xb/d+Oe0FduE9SGHxRydfrr6izoX PdQsQ5QxaTBUAPl6NBjXdE92Ak5GK0gJSCbYQKEPzMwWjSTJ/CrzLFSQPzFGogqerkelZD RFAfc/9XQPcP381q79mvHWYKtap0/qNlZ5uGkQ3AkAkZd25GysJlZUHJWCzjKWIL0n/LZk K35JN5xWRoJ7BUtJUxv5yiTKY3qIpdZfiAEXwfIv2fUzPQs3QyEs9yz2jhuCpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708822711; a=rsa-sha256; cv=none; b=qLODsDMEHSael9JTS1rliew6YKnmowtH1XzWQHYfS5ImLKv5DE5hEpdsXHZkhpbPFg0oXC Vr/YH91iVqo9ytu/LURZcrF+l88mFZG9UaYU9r0/pvL8ZaMzeQZZ+Wiq8zGLPl1cMIXXDb tvbOyUXyGDo0bFdAw3EjQ73u5B/HJeHUpS2uop0WxCZ+bkIpajnCAIXWGaKYw1Lj/kAfdC 1BBbIGuRqUjcHCdvzl1hSk5uWG/5rQ40eIsSnJCedRoS8ngaROoe2K1GdLBGZZV+1MJ7Sg lcbQ6Cb8bjpZKObaR1RpE5TH3M8z23gy/I+p4bMtd/PBJsfkGwxe6Pgb0Yi8ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dEKDwr3sdPxpkBQEbrVjayNTKzHHH3BJrJgbnNGzGJQ=; b=QZSUMWv2o3FyULpNrawNgOoB9/8gTBP1S9ZfD0hEqHNnqjQpFGlBkVFabypJlmibIUfb+e yB3eSuvuJett46jaewqjLp/RIis5RvGX14768/i3cPiQdO5PGncN5puydm48yOmU1J8PKt vw4aseHWMXO0UGxIlZ9tvebkWadaQJAs3g81xml2584rUuoRwOJRzKlXoJJrNlzNRQlGrX dh8f/G1aOSBWVrztc72x8tarXORt6VH1IefS7K6t7QN8vvUyG3hcVt9csst7BYxYYzrQZ6 Lg6Oe/wIxU0ryk5OkoqaNHehqCPDmEvFJzVO/0Z2E+hAekBeTrcNfrIKDF/U7g== 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 4Tj53C1plkzN27; Sun, 25 Feb 2024 00:58: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 41P0wVGV081657; Sun, 25 Feb 2024 00:58:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P0wVdO081654; Sun, 25 Feb 2024 00:58:31 GMT (envelope-from git) Date: Sun, 25 Feb 2024 00:58:31 GMT Message-Id: <202402250058.41P0wVdO081654@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: 3d6239d2449e - main - loader/uboot: Move to foo.ldconfig 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: 3d6239d2449ee085a9a078c378659469fd69b135 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3d6239d2449ee085a9a078c378659469fd69b135 commit 3d6239d2449ee085a9a078c378659469fd69b135 Author: Warner Losh AuthorDate: 2024-02-25 00:56:48 +0000 Commit: Warner Losh CommitDate: 2024-02-25 00:56:48 +0000 loader/uboot: Move to foo.ldconfig Move to the foo.ldconfig convention to match the rest of the boot loader. No functional change intended. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44059 --- stand/uboot/Makefile | 2 +- stand/uboot/arch/arm/Makefile.inc | 14 +++++++------- stand/uboot/arch/arm/{ldscript.arm => arm.ldscript} | 0 .../arch/powerpc/{ldscript.powerpc => powerpc.ldscript} | 0 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/uboot/Makefile b/stand/uboot/Makefile index 4405f09408bf..ccd02c44957f 100644 --- a/stand/uboot/Makefile +++ b/stand/uboot/Makefile @@ -40,7 +40,7 @@ HELP_FILENAME= loader.help.uboot # Always add MI sources .include "${BOOTSRC}/loader.mk" -LDSCRIPT= ${.CURDIR}/arch/${MACHINE_CPUARCH}/ldscript.${MACHINE_CPUARCH} +LDSCRIPT= ${.CURDIR}/arch/${MACHINE_CPUARCH}/${MACHINE_CPUARCH}.ldscript LDFLAGS= -nostdlib -static -T ${LDSCRIPT} LDFLAGS+= -Wl,-znotext diff --git a/stand/uboot/arch/arm/Makefile.inc b/stand/uboot/arch/arm/Makefile.inc index 66cb3f1b4dda..115f48672b18 100644 --- a/stand/uboot/arch/arm/Makefile.inc +++ b/stand/uboot/arch/arm/Makefile.inc @@ -4,22 +4,22 @@ UBLDR_LOADADDR?= 0x1000000 SRCS+= start.S conf.c self_reloc.c -ldscript.abs: +abs.ldscript: echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >${.TARGET} -ldscript.pie: +pie.ldscript: echo "UBLDR_LOADADDR = 0;" >${.TARGET} -ubldr: ${OBJS} ldscript.abs ${LDSCRIPT} ${DPADD} - ${CC} ${CFLAGS} -T ldscript.abs ${LDFLAGS} \ +ubldr: ${OBJS} abs.ldscript ${LDSCRIPT} ${DPADD} + ${CC} ${CFLAGS} -T abs.ldscript ${LDFLAGS} \ -o ${.TARGET} ${OBJS} ${LDADD} -ubldr.pie: ${OBJS} ldscript.pie ${LDSCRIPT} ${DPADD} - ${CC} ${CFLAGS} -T ldscript.pie ${LDFLAGS} -pie -Wl,-Bsymbolic \ +ubldr.pie: ${OBJS} pie.ldscript ${LDSCRIPT} ${DPADD} + ${CC} ${CFLAGS} -T pie.ldscript ${LDFLAGS} -pie -Wl,-Bsymbolic \ -o ${.TARGET} ${OBJS} ${LDADD} ubldr.bin: ubldr.pie ${OBJCOPY} -S -O binary ubldr.pie ${.TARGET} -CLEANFILES+= ldscript.abs ldscript.pie ubldr ubldr.pie ubldr.bin +CLEANFILES+= abs.ldscript pie.ldscript ubldr ubldr.pie ubldr.bin diff --git a/stand/uboot/arch/arm/ldscript.arm b/stand/uboot/arch/arm/arm.ldscript similarity index 100% rename from stand/uboot/arch/arm/ldscript.arm rename to stand/uboot/arch/arm/arm.ldscript diff --git a/stand/uboot/arch/powerpc/ldscript.powerpc b/stand/uboot/arch/powerpc/powerpc.ldscript similarity index 100% rename from stand/uboot/arch/powerpc/ldscript.powerpc rename to stand/uboot/arch/powerpc/powerpc.ldscript From nobody Sun Feb 25 00:58:33 2024 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 4Tj53G0Pblz5BxWD; Sun, 25 Feb 2024 00: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 4Tj53F4VSFz4tRj; Sun, 25 Feb 2024 00:58:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BsNpsB2kxZUuoTKBear28XPj1Q8/+0ID0NyyZPrf4jA=; b=pNm5MFEqqKTDYlBGRlxK2n3yp8gz91rm1N1LhtX+MniXVhbRQkurqGpPSBMeCgYJfh56Sc 4Am7PzoXExkHjsIR8qisqOJevkvyFGOjuqDke7oDLw0rIMir4RpHTthAus0HLM8pKM4eQR 0adSf3KGaU8SCvjewvBqRg7FjBmSCaIbuG8nTsttDb3dKdDHweIZPmh4bPzTfLLLSmCLWQ DC1YzaQV0BufmL0Ut26OngapH/wWlIwD2kzXUVSLy2Zr2cZI44GVfjBLOaQxRQk4NMbBrc 6wCQdby/k0IbvtQ77Mp3INI+bXdWsyNmNS9xVVryqNTJHJO9CjiGyx1UtHNyqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708822713; a=rsa-sha256; cv=none; b=RrGfdkjtrI6TtmB32/tE3f4I+Oekv0hREGHeBVdFu9nLxpKIV1KK1fohToYblKZtmLYwzM jCZvmJG2JL5nn2zLwmdERvbFapRXqopgDjblM7obTfO9pGHo66gmEb8OTugerwhC0xRC3g a5GEisANXUBnQwqBku4thE+Tlivd849XG95lug2rNREkd/EvbjDc5qZZjDuDMPg8KuBagu 4hysQlomeHJ3iMvqcB4WzeKwCCPRmAKMkfaJCVM3rDBMFi5B7tmkrUCQGpM4O6JtLEpBai 9AIfIPlc2vRHLVIxMygChFsI258EfLUX5k08VbLC47JBErVidO0kY49lvKkhhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BsNpsB2kxZUuoTKBear28XPj1Q8/+0ID0NyyZPrf4jA=; b=nOHJPoHjkAmpucYbvS5tQRNAExGTFhPhAIMyoLEG9gXK5cR/vYgaXVc6bZ8s+TMLJMMJBW FzsGefP4NajoASK2dqe951XafYtDI0KtXM7kASUicWWR7JQAilDgmHpQ3azXDivIlCKv3s GWgKKabzVT/cDfAXuUlJ+777YsjKUi1wlwF5++y0PkgwrC3Oh10Bi3w6X9BdPpjgX7jwQZ onlPHli1+zneqtYWu3fKdi5WMUUEYozPsKWQoMjISPOknUHFAejU05egGdLwDH+r7MYdAL weYsWWACqxggnUfbucKNhN91pO4SaiF4Y/W7MTWCnZ4Pej+B989mAvQlPalfnw== 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 4Tj53F3c6SzN4w; Sun, 25 Feb 2024 00:58: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 41P0wX10081747; Sun, 25 Feb 2024 00:58:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P0wXNb081744; Sun, 25 Feb 2024 00:58:33 GMT (envelope-from git) Date: Sun, 25 Feb 2024 00:58:33 GMT Message-Id: <202402250058.41P0wXNb081744@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: d024bc7ff5e8 - main - loader/efi: Linker sets not needed. 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: d024bc7ff5e80537438b4556810782e9a8257b44 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d024bc7ff5e80537438b4556810782e9a8257b44 commit d024bc7ff5e80537438b4556810782e9a8257b44 Author: Warner Losh AuthorDate: 2024-02-25 00:57:04 +0000 Commit: Warner Losh CommitDate: 2024-02-25 00:57:04 +0000 loader/efi: Linker sets not needed. We don't need linker sets listed as sections. They are explicitly included in the objcopy we use to create the .efi file. This practice was added in 2002 by peter@ in a6d81d83a280 to make ia64 builds self-hosted. However, it was added back to the objcopy in 2010 by rpaulo in 8df7a05edd36 for i386 EFI support, though the ldscript file then retained them needlessly. The gcc/binutils bug having been fixed in the interim. We've not needed them since then, but the redundancy didn't matter. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44061 --- stand/efi/loader/arch/amd64/amd64.ldscript | 11 ----------- stand/efi/loader/arch/arm/arm.ldscript | 10 ---------- stand/efi/loader/arch/arm64/arm64.ldscript | 11 ----------- stand/efi/loader/arch/riscv/riscv.ldscript | 11 ----------- 4 files changed, 43 deletions(-) diff --git a/stand/efi/loader/arch/amd64/amd64.ldscript b/stand/efi/loader/arch/amd64/amd64.ldscript index 57014aefc025..0e620654ea81 100644 --- a/stand/efi/loader/arch/amd64/amd64.ldscript +++ b/stand/efi/loader/arch/amd64/amd64.ldscript @@ -34,17 +34,6 @@ SECTIONS *(COMMON) } . = ALIGN(4096); - set_Xcommand_set : { - __start_set_Xcommand_set = .; - *(set_Xcommand_set) - __stop_set_Xcommand_set = .; - } - set_Xficl_compile_set : { - __start_set_Xficl_compile_set = .; - *(set_Xficl_compile_set) - __stop_set_Xficl_compile_set = .; - } - . = ALIGN(4096); __gp = .; .sdata : { *(.got.plt .got) diff --git a/stand/efi/loader/arch/arm/arm.ldscript b/stand/efi/loader/arch/arm/arm.ldscript index 13affe12bbba..7b5c2af399c9 100644 --- a/stand/efi/loader/arch/arm/arm.ldscript +++ b/stand/efi/loader/arch/arm/arm.ldscript @@ -42,16 +42,6 @@ SECTIONS *(.got.plt .got) *(.sdata*.sdata.* .gnu.linkonce.s.*) } - set_Xcommand_set : { - __start_set_Xcommand_set = .; - *(set_Xcommand_set) - __stop_set_Xcommand_set = .; - } - set_Xficl_compile_set : { - __start_set_Xficl_compile_set = .; - *(set_Xficl_compile_set) - __stop_set_Xficl_compile_set = .; - } __gp = .; .plt : { *(.plt) } .reloc : { *(.reloc) } diff --git a/stand/efi/loader/arch/arm64/arm64.ldscript b/stand/efi/loader/arch/arm64/arm64.ldscript index bacb81b5032f..18aead05cb49 100644 --- a/stand/efi/loader/arch/arm64/arm64.ldscript +++ b/stand/efi/loader/arch/arm64/arm64.ldscript @@ -39,17 +39,6 @@ SECTIONS __bss_end = .; } . = ALIGN(16); - set_Xcommand_set : { - __start_set_Xcommand_set = .; - *(set_Xcommand_set) - __stop_set_Xcommand_set = .; - } - set_Xficl_compile_set : { - __start_set_Xficl_compile_set = .; - *(set_Xficl_compile_set) - __stop_set_Xficl_compile_set = .; - } - . = ALIGN(16); __gp = .; .sdata : { *(.got.plt .got) diff --git a/stand/efi/loader/arch/riscv/riscv.ldscript b/stand/efi/loader/arch/riscv/riscv.ldscript index 342ec62cf03e..63b71c3bd702 100644 --- a/stand/efi/loader/arch/riscv/riscv.ldscript +++ b/stand/efi/loader/arch/riscv/riscv.ldscript @@ -35,17 +35,6 @@ SECTIONS __bss_end = .; } . = ALIGN(16); - set_Xcommand_set : { - __start_set_Xcommand_set = .; - *(set_Xcommand_set) - __stop_set_Xcommand_set = .; - } - set_Xficl_compile_set : { - __start_set_Xficl_compile_set = .; - *(set_Xficl_compile_set) - __stop_set_Xficl_compile_set = .; - } - . = ALIGN(16); .sdata : { /* * u-boot expects the gp register to be untouched by the EFI payload, so we From nobody Sun Feb 25 00:58:34 2024 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 4Tj53H0qjgz5BxYk; Sun, 25 Feb 2024 00:58: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 4Tj53G5b7Bz4tRv; Sun, 25 Feb 2024 00: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=1708822714; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pqZFAISMZVa7GzIMi0XMnPfPYg+Zuf0XjugsVXTz4GQ=; b=KwtqttvQiIx9gieZTNW4RF3AOITJEIZy8tYimfCkQzHhoQ2XG2t9GtIQFOPscJ7oE7zU/8 ZlVNekn+k1n728hy9BHz0mfF10L4u6lvokKL7OnXWYxRgDe2fkVwZqKxmPPJs276qobVcM fyGsdH4Yx3zS/auKvNsJGy6S+Lo6w0ZPPbsQNmaVyCtNh+pTPGgJaWTLxZJcgicgQ3F+KH MI2Vm8ujv8/q7ZQv5FprNSP418ak8ypZMQAk/oKR9uX22lHgbzcnWE8DcDatWMeSH/MlBy POVn/ul79uKQII9kUyXGZxC5ZkSpYKLoC4OVPnYT+caSwXZUFhzJ3QguUcmOFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708822714; a=rsa-sha256; cv=none; b=fkyhyK9FCIegAO0zqqvAzB2lVcOGj5Yzd+YtswBLMKpsamkrcf93/Ylt7aTp4N6BSkpGIF k3yJOWvOltOvTovQP7oWmEGZFTJKLhz/0EBqKYTUHBkf/Iqv9h1Ih3WI7u3NuwanGyY/Da CPgHuVWfeMbAL6AxNOe/OrDFZsAfhKdCo1kb9w//hC9kdGqaJlCIRRch6rfaJgCgsMW1Xh NIO6M6tASspobwO4BnSNrfQXSaastevWUNgozPPzK8fny5MOupADmYNcEmNXFFdRZHkYOY xwYILreCnuS2nhWsQ2IRtnpK+dhIlXn0XgDSVTT7jEZpnUOkCQOV9ZtEGJ/HJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822714; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pqZFAISMZVa7GzIMi0XMnPfPYg+Zuf0XjugsVXTz4GQ=; b=CPrpASTu5i6iWZTQTVwMuV+i7mPONJI65MnCPXu/U/6Q14h2EKAl2nn9EzhofQhCpoi+rq PCRhiunW5V8O/Er+eSVJv9UMfSEaXMI2gujH72zdPNR+Ag32XPbNLNGD+lBzFtjfCfO01K aJMicN2UaEmOD4n71jfqHuVh+FK21Qvwddvpbj7Q6QCbjtvwmxGtcAjJphHVUyjSZAx18I 0L0aZ3SeQonCMsafulOZ+smm9X7FN58feqdUa2gXnQYM/TXDzvijMtgipfW0VzXVoPODrB mEq9p7IpoW3wZPEFqMG/WE3wNhZUf9hJCHcXyW9gEszhzB95A/zXrqWu8gyGVw== 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 4Tj53G4h8szN4x; Sun, 25 Feb 2024 00: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 41P0wYir081798; Sun, 25 Feb 2024 00: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 41P0wYp1081795; Sun, 25 Feb 2024 00:58:34 GMT (envelope-from git) Date: Sun, 25 Feb 2024 00:58:34 GMT Message-Id: <202402250058.41P0wYp1081795@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: b4e85f760b6b - main - loader/efi: Use unique linker set for lua 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: b4e85f760b6b77d276747c9beb6191bfb864e0c2 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b4e85f760b6b77d276747c9beb6191bfb864e0c2 commit b4e85f760b6b77d276747c9beb6191bfb864e0c2 Author: Warner Losh AuthorDate: 2024-02-25 00:57:13 +0000 Commit: Warner Losh CommitDate: 2024-02-25 00:57:13 +0000 loader/efi: Use unique linker set for lua After the linker set cleanup in ldscripts, there's now only one place we need to know the linkerset name, so go ahead and change the lua interpreter augmentation linker set to be uniquely named. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44062 --- stand/efi/loader/Makefile | 2 +- stand/liblua/lutils.h | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index 2031400814e9..bb95b6480646 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -117,7 +117,7 @@ ${LOADER}.efi: ${PROG} ${OBJCOPY} -j .peheader -j .text -j .sdata -j .data \ -j .dynamic -j .dynsym -j .rel.dyn \ -j .rela.dyn -j .reloc -j .eh_frame -j set_Xcommand_set \ - -j set_Xficl_compile_set \ + -j set_Xficl_compile_set -j set_Xlua_compile_set \ --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} LIBEFI= ${BOOTOBJ}/efi/libefi/libefi.a diff --git a/stand/liblua/lutils.h b/stand/liblua/lutils.h index 522abfd3d0d4..ea715096df09 100644 --- a/stand/liblua/lutils.h +++ b/stand/liblua/lutils.h @@ -34,8 +34,9 @@ int luaopen_pager(lua_State *); #include typedef void lua_init_md_t(lua_State *); +#define _LUA_COMPIE_SET Xlua_compile_set #define LUA_COMPILE_SET(func) \ - DATA_SET(Xficl_compile_set, func) /* XXX linker set know by ldscrips */ + DATA_SET(_LUA_COMPILE_SET, func) #define LUA_FOREACH_SET(s) \ - SET_FOREACH((s), Xficl_compile_set) -SET_DECLARE(Xficl_compile_set, lua_init_md_t); + SET_FOREACH((s), _LUA_COMPILE_SET) +SET_DECLARE(_LUA_COMPILE_SET, lua_init_md_t); From nobody Sun Feb 25 00:58:35 2024 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 4Tj53J1GG1z5Bxhn; Sun, 25 Feb 2024 00:58: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 4Tj53H6dQ6z4tZc; Sun, 25 Feb 2024 00:58:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Vz6VAU6BQcj7eEg/tS4I0CN65lh+2GigMSpswC2bBo=; b=KFb0WlxWHWSgcIEXLkWwlZo0vKYu16ZeU2sDVqxOhGVcopJMMY1RiNe8teNUiMTKjad0gY a9u/Cp6NsgmsSHAzPdKeGDMpQUkFuUMESEH341sHp00PZQNYKyU/exrINeW/HctxXxKVcC 53MTMyNI6xH0FpLRV5QoFampa1qs0IXV63JeKUSEgnKPnbE5k0EZ07MQ2ZOjDXB8ZQn/Wj oxSdla7kdcY6AyrCkBotzYUBEuEcS2RMPFzTeKUR8rEVJedQgZe66uIyB7m1uIjkgsO9mH NBLFbFkX7xUrXFLGwM7fU87jZ8un30icH2ddn35W/NQfvTin71r1XWMenEbdIg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708822715; a=rsa-sha256; cv=none; b=OA4uDiucTOKnmFSylu/jpHhkBzIixAEuDcSUS7NTUQeKmxaFJhDb+V0bb2Zzx+E22Gvgf1 ZORLMKhkWU/3MtZH46PkS5WA/ta4TcckvCsGgQjvm3oi0ajzBQxfouHhKpmhlI654gZ0iS y21Dn2hdbNcF064oBS3xOitck9OXX8jgS2cCEs9HUmS8N0lZgSeZMPqP/XWrmM+wdWmZRZ dd38PJGm4RAsglpZNoRyGDE0qHbPnglwrpJXdPy8F5mX7WlwnVAPPGtGg3VahOQrt/30LL w03MiYr08P+qp3WACThUTwTxYNEOdYAcrbAY0i+oloLHqeLp4M9WEprnQhkgew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Vz6VAU6BQcj7eEg/tS4I0CN65lh+2GigMSpswC2bBo=; b=hn6tqzioLUwIL+WDqgDHkWXl9tBlPW3fVF2vS3kxa4Dhuy6D4BDoqumHDh4auoVAMpnFam 6QBNGdNUSMWbYMeijWdrT8pczjs6WSTWrA4SyjwU8lzkDHZQyaJkXX/7ay1XS/OS1qpTmg oRcsg4F8sQ/8TOAFv4UtuhHRSRDjiPVcy68d7eqtmErgpEH/0Ql7+7uNas7af2TIr2PhOk n37GvN4K8Ug4x8JKhvbJDo78oIRn+Uc0bEk3UusBJUNWUVV04M6xpjcqH5TuE555qG025J crIl/a1GJxwC6rj/wTPdQZssRt/Kuv2nLlsoEiYWxeEsLPcXAGsVx+vJ9hpbzw== 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 4Tj53H5bDVzN0H; Sun, 25 Feb 2024 00:58: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 41P0wZpd081855; Sun, 25 Feb 2024 00:58:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P0wZuL081852; Sun, 25 Feb 2024 00:58:35 GMT (envelope-from git) Date: Sun, 25 Feb 2024 00:58:35 GMT Message-Id: <202402250058.41P0wZuL081852@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: 8ec8413faa35 - main - loader/ficl: Rename the ficl compile set to X4th_compile_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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ec8413faa3573c579d9e6361de904f8251b0c0e Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8ec8413faa3573c579d9e6361de904f8251b0c0e commit 8ec8413faa3573c579d9e6361de904f8251b0c0e Author: Warner Losh AuthorDate: 2024-02-25 00:57:21 +0000 Commit: Warner Losh CommitDate: 2024-02-25 00:57:21 +0000 loader/ficl: Rename the ficl compile set to X4th_compile_set And upcoming change will need this set to be named this. Since it's only used in the efi Makefile, and inside if ficl itself, the change should be a nop. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44063 --- stand/efi/loader/Makefile | 2 +- stand/ficl/ficl.h | 4 ++-- stand/ficl/loader.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index bb95b6480646..b8a98fc1dd47 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -117,7 +117,7 @@ ${LOADER}.efi: ${PROG} ${OBJCOPY} -j .peheader -j .text -j .sdata -j .data \ -j .dynamic -j .dynsym -j .rel.dyn \ -j .rela.dyn -j .reloc -j .eh_frame -j set_Xcommand_set \ - -j set_Xficl_compile_set -j set_Xlua_compile_set \ + -j set_X4th_compile_set -j set_Xlua_compile_set \ --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} LIBEFI= ${BOOTOBJ}/efi/libefi/libefi.a diff --git a/stand/ficl/ficl.h b/stand/ficl/ficl.h index bdade26eee09..7be78f1a36b8 100644 --- a/stand/ficl/ficl.h +++ b/stand/ficl/ficl.h @@ -1153,8 +1153,8 @@ typedef struct ficlFILE typedef void ficlCompileFcn(FICL_SYSTEM *); #define FICL_COMPILE_SET(func) \ - DATA_SET(Xficl_compile_set, func) -SET_DECLARE(Xficl_compile_set, ficlCompileFcn); + DATA_SET(X4th_compile_set, func) +SET_DECLARE(X4th_compile_set, ficlCompileFcn); #ifdef LOADER_VERIEXEC #include diff --git a/stand/ficl/loader.c b/stand/ficl/loader.c index 618d9483fbd9..69a65ebedb73 100644 --- a/stand/ficl/loader.c +++ b/stand/ficl/loader.c @@ -865,7 +865,7 @@ void ficlCompilePlatform(FICL_SYSTEM *pSys) dictAppendWord(dp, "uuid-from-string", ficlUuidFromString, FW_DEFAULT); dictAppendWord(dp, "uuid-to-string", ficlUuidToString, FW_DEFAULT); - SET_FOREACH(fnpp, Xficl_compile_set) + SET_FOREACH(fnpp, X4th_compile_set) (*fnpp)(pSys); #if defined(__i386__) From nobody Sun Feb 25 00:58:36 2024 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 4Tj53K2P5fz5BxQb; Sun, 25 Feb 2024 00:58:37 +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 4Tj53K0NLmz4tVQ; Sun, 25 Feb 2024 00:58:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fy5mj+ojQKWdgykTMtLlD9Se880NX0stE/I/UwrrnKw=; b=mdvyG8cFqZ9G7fmCn8lKvZfBM9Fo+twOkegMXyduPHA6ig1cynXB/OQjyL5/8m402GjQWi PIM9mitstgniGqQ+J4z5s+yid6eSAjLxFnpW/Zq4E2dZJDqIAJVOJ3Nsusa5+Ygb1pUGRR jU3WkdNzmXy/A3hQY+UNpxQ+vUVtgmF4aczzy3UDOJ6EmZVH5heeOesXDY7Oh4fRqsCWwl JOfINa/RogRTTU1pMxkj5qJ3gwETjceq0jKiTke/WB5vaTZAVdDjf0ZX1dB+bN0fZEXq4q wJNDJVktUSBbH3Ysjx7KxoQu391gjrtIMA6lYUYjSy84GE8XhXc0x3xGChaGRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708822717; a=rsa-sha256; cv=none; b=nVlpZF38xkcOh2VG9pyQHh/eNczZU8h35z12uIHJDBrHje5uwT5Hin2x+qGO28S2d+0SUD g77OYcxTiSh0bEuwOb7ybkNZ5f6x/dypJKl7ui5cJQ/uL6DeeQ6TyRcSeSMMPrFb4wxF62 PvPCIO58Afi/MBYJ4ZsJa9XbafOAcYcs19ja4Nq/88sGq3iNcPt9Kkal5KHlyXZyRaAGFA vU2qbbxKghXj9MBaKJOg7ZB8IuAoSEpUi0yapODIhBsTHi0oiQ0Le0P7HqG6e3sq/RiuR6 t4M1OTFGUPTDVbqvWzdG+5V26bx9e7Jbff3XXdQjucABxKfUFy7oYp3I1OSf0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708822717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fy5mj+ojQKWdgykTMtLlD9Se880NX0stE/I/UwrrnKw=; b=yWk7sVKAb8y/rIC4dCba4A774VT53H4h5W9VRkCvthgLwI+yGOI8W7OjiekTIJA//Wqlk6 Eb+EoamUD/kEsx0XiTAQPw3OeY/X+yFe5V5f4shxHP1gjF7TtSHFZL378j0eC5Fy6iWJue +AbUGrR6LA8c0q/11rEcXUSGommnPTv/hQdGc50275xIuv3Wprnhawx90wSwptB08MC7V3 rtEkoG1zHE3zqM38uuv0JISvc4wsvu9J8VT2EWS3ULp2pvGRPb/BzH8+uZaG/hQtJNW0qJ lzItt1FTSfq1k94+uWn4xGXefeB8CgHQKySowQjY1Uw3xeP9BOohg1K6PGG8+Q== 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 4Tj53J6byrzN0J; Sun, 25 Feb 2024 00:58: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 41P0wa4e081903; Sun, 25 Feb 2024 00:58:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P0wavY081900; Sun, 25 Feb 2024 00:58:36 GMT (envelope-from git) Date: Sun, 25 Feb 2024 00:58:36 GMT Message-Id: <202402250058.41P0wavY081900@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: f5f08e41aa57 - main - loader/efi: Only include interpreter's linker 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f5f08e41aa57f94e3c127a488a82b4e518781f89 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f5f08e41aa57f94e3c127a488a82b4e518781f89 commit f5f08e41aa57f94e3c127a488a82b4e518781f89 Author: Warner Losh AuthorDate: 2024-02-25 00:57:29 +0000 Commit: Warner Losh CommitDate: 2024-02-25 00:57:29 +0000 loader/efi: Only include interpreter's linker script For safety, only include the interpreter's linker script. Note that the simple loader doesn't have one, but it's not an error to copy a ELF section that does not exist. No functional change, however. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44064 --- stand/efi/loader/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index b8a98fc1dd47..b3395bdfdf53 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -117,7 +117,7 @@ ${LOADER}.efi: ${PROG} ${OBJCOPY} -j .peheader -j .text -j .sdata -j .data \ -j .dynamic -j .dynsym -j .rel.dyn \ -j .rela.dyn -j .reloc -j .eh_frame -j set_Xcommand_set \ - -j set_X4th_compile_set -j set_Xlua_compile_set \ + -j set_X${LOADER_INTERP}_compile_set \ --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} LIBEFI= ${BOOTOBJ}/efi/libefi/libefi.a From nobody Sun Feb 25 07:44:05 2024 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 4TjG3B2wvhz5Bv7T; Sun, 25 Feb 2024 07:44: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 4TjG3B1GbNz4MNy; Sun, 25 Feb 2024 07:44:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VnwGEHlt/kyOoPKOO4QBN+j9ILlY+sBn/4/ota5ALNo=; b=GA8lIqScEhwppDYBXr9fNN8bUCBh8xTLJXl9MTOs+hgDhJ8Kd6s0i7/NFu/56+a6Luxbjq 4SkFfGnKr0NL0jpZsELmGCro3Whg1NW7kiSck1ObTr8fCVYH43/LKD4rPDstQubGJnNSJ3 usOx18XM/m7TtiO+vA1ZoOn3r6mms9Kl9XdNTxmERjoFFbMAHN4biTigSOU1zm+wT4Y+aI d+0uQzFegs0mPS5SofUDVFeR1boMZY2TXd86v5Io5G7inZ2ZoDg6yXW0G8XyxcWYHLUQ9B rUsJ2liQ+EdkxPppq5M0QQFtqyozu0/fWRTEoO74+YuqL8Jw3Rw2AhEbwd7ARQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847046; a=rsa-sha256; cv=none; b=vxjMIEqAtT05uaM3Su2K42N7uKl2B3oAtTjTdvAS2IuuL+/eDPEcvpRzUtNZq/aYpgpilN ju3C1V2FL1Inp1kX097gnCN28RTB0HvjEmrwmywrUIOu3qh/1hazk0lXj+IsRvBUh2KHND M4lGT0J2tJddpqjWEhcWxWznOELSw4H0L5/oBMAUN899bm/+klN8NwoqTdyVDmeTGLSMzo kpMS8w75LShjPyCVFkihUjtCCbeD9RXFZDS3taROHCAx/64xTmC42t/Ots46pQmEyRsdlS fSkhp7eCOPmvhMNWtM1Z/+Mrcs98RF6boUmUx3jnQoEcKKq4yVvL6ezUiXYc1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VnwGEHlt/kyOoPKOO4QBN+j9ILlY+sBn/4/ota5ALNo=; b=pVS/kKjBzHfBiMHuX0VEbaX/glExibgE8qkNe0IWIOtpB+dmoTcREo4aetq0T6Bvwulx91 fqV4BGD1HMhzpD0nB5iX2sQLpCT8oyzwof+cHrdG9Z4o2JAQmqcPXGT9H6HtYN7QvzkDI5 6m1vc45gKNqLzvCyiYmcFT8IJdiydswgyqpVbh2CvMr2fxOyVTc9+xKpNbWSEgqggS48y+ r9Rd2ZfqhEz8hj5KOCaFqzXWvLw11aa6useHEwWSkJMsSvLIqISDvv8/cRLdxNLl9v6XkX +7yzd0/iiPws1BYTCJpmY3N4AI5dIy0lTvOe5ROOvAP+WKtYc1NtSSOWwkVZaA== 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 4TjG3B0Kt7zbTx; Sun, 25 Feb 2024 07:44: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 41P7i5Iw073215; Sun, 25 Feb 2024 07:44:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7i5XR073212; Sun, 25 Feb 2024 07:44:05 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:44:05 GMT Message-Id: <202402250744.41P7i5XR073212@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: a3c51cfd5da1 - stable/14 - uath(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/stable/14 X-Git-Reftype: branch X-Git-Commit: a3c51cfd5da1f1675e07fe2e8cd21fcc56515ed4 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=a3c51cfd5da1f1675e07fe2e8cd21fcc56515ed4 commit a3c51cfd5da1f1675e07fe2e8cd21fcc56515ed4 Author: Gordon Bergling AuthorDate: 2024-02-22 15:55:51 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:42:24 +0000 uath(4): Fix a typo in a source code comment - s/parmeter/parameter/ (cherry picked from commit 5a476e64b543dc63fae7fcd243dc066dced31c3b) --- sys/dev/usb/wlan/if_uathreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/wlan/if_uathreg.h b/sys/dev/usb/wlan/if_uathreg.h index 47ec13267e17..91e5f04bc902 100644 --- a/sys/dev/usb/wlan/if_uathreg.h +++ b/sys/dev/usb/wlan/if_uathreg.h @@ -50,7 +50,7 @@ struct uath_fwblock { * parameter 2 * ... * - * A variable-length parameter, or a parmeter that is larger than + * A variable-length parameter, or a parameter that is larger than * 32 bits is passed as pair, where length is a * 32-bit quantity and data is padded to 32 bits. */ From nobody Sun Feb 25 07:44:07 2024 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 4TjG3C2nLbz5Bv0h; Sun, 25 Feb 2024 07:44: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 4TjG3C2GYwz4MRS; Sun, 25 Feb 2024 07:44:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jI/7fU/u4TJiIya+CIkTtHB+ZZBxVSrWAJo2e5qx6S4=; b=Cghk6w1uvWR5otr3KBhVmn8KOfEBRfZNrr5PeR9k2D0vyyPPOgG83y5uTls3nVOfKjtUnS 5EbqH6SpPyMNx+ndNDCC8PgonUppVVSnh+JP65nEgS7lynD8l7zUWaY3MKS1RhTdwoJZAG 2nyMZ/P6VW0OwHFc4CHLkZzH8MK1gTSJxGw47ziyD5dR9ZQ9UavkR35R0S//pTCqFQaFJM W6Oes2JqPKTcj4CmQ07K9zSh3DPJstX0/W022GAGv2RvETHA1rofOZUEZswxB4rRNP/JYF m1SVUtGqtEVE54RUc5xkRHKKqXy/ASsjRjBvqgmWUyR+onxQ7IaLOfd2f6FaAw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847047; a=rsa-sha256; cv=none; b=iML3m8KIxfZCJcwUjdTE5mo5M6+JhU0c1HUPQQodWi88+j9mPt119Tqq08dBTlyLm/Mxi8 gvxsGVwCEhFjLvtvInY8gRmR8UHBsLwrGhVFExUTCAvTMBsQEC8JvvJbqnV45f6fQynkEr fKDNOcFO+SRibo380RiP3rohEC9wsayyXWlAujXCz2zPN48Y0nwSirDvemHxb7iMv2EEGC g4I89BsZI2jtPOw4MA6lKdSftqEGeuiAR1X67CNOs+263lXGQ6YF2scWNLUpMHhJN53ADZ ilgLTlpDaK92Lew9yAzQ0GRIJvylSGoGtC4RsN49i+h8tEmbOdBGXesjpjvi3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847047; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jI/7fU/u4TJiIya+CIkTtHB+ZZBxVSrWAJo2e5qx6S4=; b=PUevoETSYinwzNxr0fYwDCNlOjP2MbUwVSBmx5SoyayPXGNquF5NI5aBUQsdS7lZZUkavk kMYlnv/lgmEms+jrTOOuOvf32FFcygxaGoCa9bmp7k0/wcZz6Z2PIRJi1lFQMzCpL7o4sC gaw59+Is7st2NJ8FRPKS/602pppd/XexcVza6DC/vAECEyWbzhSfXTg3HfHjU5TdMYm3j6 Hajt/iCVIMb1C98k63XrHAe7gB1FRB6tQALYIyL0TAdAviP8eNMVAVTOzahfmAWpRNRPtg uirUVCyjn/BBDZLcHGxHfsGlocvp33dj+GwwvjL8KMgPbA3Kbb4oFA7H/j/zyQ== 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 4TjG3C1NkHzbkG; Sun, 25 Feb 2024 07:44: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 41P7i7S8073270; Sun, 25 Feb 2024 07:44:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7i7FV073267; Sun, 25 Feb 2024 07:44:07 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:44:07 GMT Message-Id: <202402250744.41P7i7FV073267@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: efbeab503b2c - stable/14 - vge(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/stable/14 X-Git-Reftype: branch X-Git-Commit: efbeab503b2c8bfa4488e54171f98f61f551195a Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=efbeab503b2c8bfa4488e54171f98f61f551195a commit efbeab503b2c8bfa4488e54171f98f61f551195a Author: Gordon Bergling AuthorDate: 2024-02-22 16:33:35 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:42:41 +0000 vge(4): Fix a typo in a source code comment - s/embadded/embedded/ (cherry picked from commit 04440331b5700e124c42b570ae1dfd00ea9c26f7) --- sys/dev/vge/if_vgereg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/vge/if_vgereg.h b/sys/dev/vge/if_vgereg.h index e005526c95c1..c5cb53ef2ca7 100644 --- a/sys/dev/vge/if_vgereg.h +++ b/sys/dev/vge/if_vgereg.h @@ -444,7 +444,7 @@ #define VGE_MIICMD_MOUT 0x08 /* data out pin enable */ #define VGE_MIICMD_MDP 0x10 /* enable direct programming mode */ #define VGE_MIICMD_WCMD 0x20 /* embedded mode write */ -#define VGE_MIICMD_RCMD 0x40 /* embadded mode read */ +#define VGE_MIICMD_RCMD 0x40 /* embedded mode read */ #define VGE_MIICMD_MAUTO 0x80 /* enable autopolling */ /* MII address register */ From nobody Sun Feb 25 07:44:08 2024 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 4TjG3F077wz5BtvQ; Sun, 25 Feb 2024 07:44: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 4TjG3D3bC5z4Mnq; Sun, 25 Feb 2024 07:44:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SxnvS+ntOi2WYxSblhWY4/YUbK+5q9ctf3h1ih0pF1A=; b=sOEbHYWOHRlFAGrQkrkZEZt7eYcsqck+6sRQFvQPRZFZHO8IWfgFqKQWzJiB5xBWjgxlHB bXosII//ZlXDxkdw6csqnm9tvFgVgK0k77v78jef6cgGTXR2rFg8iGmnzzdEyR4JtBT5PD Otjcf/UQlrUFU6LjoD8rZc/Ph1Yneo+Qg9nXGVxtZ+YQUGTdjAdvIynqRMbT/E33ehEClg XqZGMyaYS/0Tvp1mtdCb9iIjIwAjJkviqQsLb7QtSF6E+tuWb+145hJnuakPJzrnk4qE/i pTnlrIw+ozNVrJoImavcFGEvpvqaBkLC91odb+lZAy4RXYoyQy8enZTEn0icXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847048; a=rsa-sha256; cv=none; b=KSJZrVb7EpuuZ4GZe0ohdivGS3Dr87eFakQxBLJEWD8zGR2XrR+0BdwfFm7N9HqZJzrkYB Z6z5w68ki5ifgOjDEW0DNHUTnZPaNkK94JmdRkoWVWKCsxdP4CRp7zyGBLfqUXGVEXl55g MIvZjf9xDd53TM8AerpKes4KzKUwHdB0+b3S0tP9wXvEiDPMWhgPFmdb2b5gdCwYMjulw/ muNQth2LV3bepJC26XuKy7EJ2+Y5RdcZ+rSp7MJNG8yke6mxArg5j5khe881a7n54JgOHd N10TO+h4IJ2KhCoThUqhAcEty45GJbaamvq4fmWHWPcJ1ZWArpcen4HhS1kWhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SxnvS+ntOi2WYxSblhWY4/YUbK+5q9ctf3h1ih0pF1A=; b=bniT3eDxTyhyvXMFLcQMtXKCpBj5Xq8+/Gc6kYBOM2hDRitZ3S2uAUuS+ZCMUFFvpBn7YX HdbL27EoLlhlqX15BJTqgguK2f8kgnuMkevXS+atT3M5E4VeCS5MDJG/yGtsYn7vJF3eQh EoEW91BG348P6qSIPZiN8UiyEtG0YnfEptmiCFnFh27bLf+woGrVuHLM/v1A0lSjf6TMsu +t66IU9dhAyooL43Tq/e5SRDvGuPmvsipeNDH8FZUdjcG/uFUbZTuMkOrpYhYD3R6XaEJj rnYLoowtG4G7Kw3Fnk+Og0kZZOkoPCAIeuqQM/haxKNrB3JWuBcbAL0P9+K6xg== 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 4TjG3D2SYYzbkH; Sun, 25 Feb 2024 07:44: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 41P7i8WK073324; Sun, 25 Feb 2024 07:44:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7i8SG073321; Sun, 25 Feb 2024 07:44:08 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:44:08 GMT Message-Id: <202402250744.41P7i8SG073321@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: f7d2a1d2dc56 - stable/14 - random(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/stable/14 X-Git-Reftype: branch X-Git-Commit: f7d2a1d2dc56eca7d1e210f8ff9db29467903626 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=f7d2a1d2dc56eca7d1e210f8ff9db29467903626 commit f7d2a1d2dc56eca7d1e210f8ff9db29467903626 Author: Gordon Bergling AuthorDate: 2024-02-22 15:54:50 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:43:02 +0000 random(4): Fix a typo in a source code comment - s/parmeter/parameter/ (cherry picked from commit 5e89e34f846a233fb97302c05af5a47c694405a1) --- sys/dev/random/hash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/random/hash.c b/sys/dev/random/hash.c index 8e63d0f638f3..90ac65f42241 100644 --- a/sys/dev/random/hash.c +++ b/sys/dev/random/hash.c @@ -124,7 +124,7 @@ randomdev_encrypt_init(union randomdev_key *context, const void *data) /* * Create a pseudorandom output stream of 'bytecount' bytes using a CTR-mode - * cipher or similar. The 128-bit counter is supplied in the in-out parmeter + * cipher or similar. The 128-bit counter is supplied in the in-out parameter * 'ctr.' The output stream goes to 'd_out.' * * If AES is used, 'bytecount' is guaranteed to be a multiple of From nobody Sun Feb 25 07:44:09 2024 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 4TjG3F6b0tz5BvK6; Sun, 25 Feb 2024 07:44: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 4TjG3F4mkMz4MrM; Sun, 25 Feb 2024 07:44:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uJUC7rETW5Fmh/xMNk0UmtI9odI5+ujc+DhCNsBvrmM=; b=LhlHe7Coplo+7HZnu0nlsglSUHTk4dNWzF2Py6+WVzOrLr9X0BlmWW7zH0jovCXP7FfIJ/ Pf5lKuK1vN6nMgeMApZMbU+dUktG4MbDLFEueFQS/e3+J+0pGI+Spyp55IDtzA88jIyhCm SxlkHce8ZjUDgaGHP1g8Yw8N8t1DZgxnqIZmqxHP6I0xblxKpoddwVPExp7RgvQ834V9c0 6ar8jakW4WK1+nrEYs825TwgZNrrHbEEOZR3gxN/RghWKOQdjl9q+N0KEhZ7t4F2dJowJw S9fY0HqOOfzVY0zxmNPAiUPptGwNFRL6f98ilCIxRjAgXoS0LLyNgpskFP+XHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847049; a=rsa-sha256; cv=none; b=WkocpOMkYrPSHf9rTey+3GVqEEO1ZJd2WZ0AlXkAUQ4Y9Hy0cgGhZ5avjl4GcL3GEuMK+y YH1HPL2tpoghvWsWwtsPxGwOntGonPdMx9RgfbjOgoYLZ8kYk+pXtqH8K9NGkXw9b9nc29 AW5blMGSFbwjgeWKTrRchVLlZbuna+dj0P+QDsRGp09pSXBRd/7kv1zfHXUNxqEKnXxKcP ZlIVzsPccTL6Uueb8HR6gtJh+4lw8x2Pp3LlEW7Wmsj0EBVMYgqXmniCBGFbz7+Ph6XRet oUm7D2r4eVxUV2vTDrpAYTcoUXZmT9lsGHJi6dGDe//R9CfCWk9DnqaAlVx/iQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uJUC7rETW5Fmh/xMNk0UmtI9odI5+ujc+DhCNsBvrmM=; b=XKtYT7s1nlJCL8rsmmud6kNe/wCWDhRLr7TCFlh4fa3DKceJCCfQtjK5XIkGyqXO4rBiuN 5mSWlr9jCMsPXqsfbaVJO2gW1RYcgbyAnymm4ozgfVcObwnDHpR7+fDQ7kUBBx0k65ZhtB 6mebMU7z9yOD2w8GiWsY2Xk1oUdRh+4btP7qn3gUVGr/7cwRkWkNy76IfDB/MMVs1ULz8P 7eGo4YsTq4lX/jG8DSuyiyp5TpmLvVQ5R4Wbp8YWbdY+34Vd6uVmJR48ba3oJKO5IG28XU Lr6rHPCu6iAP9iU/zPIK2LwAm+u0e9UvUWvgced2G3DMYIoVFkJ5RKgJCYtkDQ== 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 4TjG3F3YtTzb9f; Sun, 25 Feb 2024 07:44: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 41P7i9oS073375; Sun, 25 Feb 2024 07:44:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7i9xT073372; Sun, 25 Feb 2024 07:44:09 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:44:09 GMT Message-Id: <202402250744.41P7i9xT073372@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: a7a0875d276b - stable/14 - bge(4): Fix some typos in source code comments 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: a7a0875d276b127aecba837c5374e4071540ce1b Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=a7a0875d276b127aecba837c5374e4071540ce1b commit a7a0875d276b127aecba837c5374e4071540ce1b Author: Gordon Bergling AuthorDate: 2024-02-22 19:38:50 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:43:21 +0000 bge(4): Fix some typos in source code comments - s/firwmare/firmware/ - s/recue/reduce/ - s/throughpout/throughput/ - s/hardwares/hardware/ Obtainted from: NetBSD (cherry picked from commit d646dca3bc1bbd3bfd38bc5ed375d7a346768dcf) --- sys/dev/bge/if_bge.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index 77a4cb90d852..a646ed226d3c 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -701,7 +701,7 @@ bge_ape_read_fw_ver(struct bge_softc *sc) sc->bge_mfw_flags |= BGE_MFW_ON_APE; - /* Fetch the APE firwmare type and version. */ + /* Fetch the APE firmware type and version. */ apedata = APE_READ_4(sc, BGE_APE_FW_VERSION); features = APE_READ_4(sc, BGE_APE_FW_FEATURES); if ((features & BGE_APE_FW_FEATURE_NCSI) != 0) { @@ -2159,7 +2159,7 @@ bge_blockinit(struct bge_softc *sc) * The BD ring replenish thresholds control how often the * hardware fetches new BD's from the producer rings in host * memory. Setting the value too low on a busy system can - * starve the hardware and recue the throughpout. + * starve the hardware and reduce the throughput. * * Set the BD ring replentish thresholds. The recommended * values are 1/8th the number of descriptors allocated to @@ -2295,7 +2295,7 @@ bge_blockinit(struct bge_softc *sc) */ CSR_WRITE_4(sc, BGE_RXLP_CFG, 0x181); - /* Inialize RX list placement stats mask. */ + /* Initialize RX list placement stats mask. */ CSR_WRITE_4(sc, BGE_RXLP_STATS_ENABLE_MASK, 0x007FFFFF); CSR_WRITE_4(sc, BGE_RXLP_STATS_CTL, 0x1); @@ -3536,7 +3536,7 @@ bge_attach(device_t dev) * known bug which can't handle TSO if Ethernet header + IP/TCP * header is greater than 80 bytes. A workaround for the TSO * bug exist but it seems it's too expensive than not using - * TSO at all. Some hardwares also have the TSO bug so limit + * TSO at all. Some hardware also have the TSO bug so limit * the TSO to the controllers that are not affected TSO issues * (e.g. 5755 or higher). */ From nobody Sun Feb 25 07:44:10 2024 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 4TjG3H0P8rz5BvK8; Sun, 25 Feb 2024 07:44: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 4TjG3G5w8nz4MxD; Sun, 25 Feb 2024 07:44:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dVAVTI914KZYzH5Qu0v0fk/voZ5PzUa52nkm+DiNyrU=; b=giQg47NfOQlsy0gH/lz9MhyVW05PnPnwjUQmeLpY7w+Mne9xLwjAn731K29Cr36accONEm bn+2Bt41BULuW5JPI/ND6GjIZ8nf0WwIZ1gpFTLXg6+pb7PEI6RNVZ4PchEZH8uW2msD4m UgQtrx4u8upYYG8MSo2kelktq3jSlLdSFK0fr4J0rQuac2NwrDagX+ngR9FElPvt6o/5Vt VylE0YNsdDujpnU7hsg6HBKF6cvaG3Nb0HfHVQzzDpSLn3Emzv8z9kCr2jtmem0Ui4z7GK xB8d8p0VZQcTHteq5SynGdUqOaC8QgIHbUWHCrLXD8BUDfFaHGEAs7wjVr6FQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847050; a=rsa-sha256; cv=none; b=EduWkAIBZpg/2VeuK2T/u1/9aqufi9fDX8MIeAnY03tiM7CIyV4dryQuRiUsTIrqXR7RHK InGQRsiInbAc7BYCq31vVf5EdE11yN6onLtMi2L+kb+Q5knUeK95pwLaoDDtlVqiuQkU4N zLF8bEdZL3uoBtyqf5QSLcns8do8uMoABbWwrgjXQbk0CwllPuDrtmJv8XDRHPm/XVtUlT 9Ed57ep/dISrFspij2kVIC6Vc2CErP5yES7DntRRmJJLuYKt8RU1hGjqsm2gaUzggMrFxE Ao60vYTWdjfwrBlZ+Wjx91sIpWnTvfx3+0kDtfruCjAjSoe01pxr1qH2Ie8TwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dVAVTI914KZYzH5Qu0v0fk/voZ5PzUa52nkm+DiNyrU=; b=tfIAOBp1zbVX4z5rU746GHJzeCqwJlY+QUII+fiFNAFIu3pMN+HEAY3WcyowtKwj+UbGHi Aiwbquwag3UTxJnBBuVh9b5VAlhoTRU+24osIZS2m956lzmbuls0Trca0qKPDolJ07wQHw vUD0idkKaWTpfMV7Xq2v7iplvnmRoTtk7PyZfLBRAfA4hIua/QDrGQAqMESRzdU//LtvBF FtLPtQMisv/pN3sjzljvCuxTfcHjeCkqQyNW3brF+b7PFbeCmRuDoXUTYm3AUZw6P0aUHv cH2CZwFtF61xgYg3E+SZEjpTD3GAW222AYsJ9pvHLr4H4VwckqG421a9Xuyyog== 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 4TjG3G4f9lzbmP; Sun, 25 Feb 2024 07:44: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 41P7iA21073429; Sun, 25 Feb 2024 07:44:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7iA9D073426; Sun, 25 Feb 2024 07:44:10 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:44:10 GMT Message-Id: <202402250744.41P7iA9D073426@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: 324f8ce49a16 - stable/14 - sk(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/stable/14 X-Git-Reftype: branch X-Git-Commit: 324f8ce49a1646cd64da618fd54c83b20468d217 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=324f8ce49a1646cd64da618fd54c83b20468d217 commit 324f8ce49a1646cd64da618fd54c83b20468d217 Author: Gordon Bergling AuthorDate: 2024-02-22 16:16:49 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:43:38 +0000 sk(4): Fix a typo in a source code comment - /integeated/integrated/ - s/extented/extended/ Obtained from: NetBSD (cherry picked from commit a53204c22790a94a15f0e3c153f7fa12f9d57d27) --- sys/dev/sk/if_skreg.h | 2 +- sys/dev/sk/xmaciireg.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/sk/if_skreg.h b/sys/dev/sk/if_skreg.h index 29284025463d..63452e30f575 100644 --- a/sys/dev/sk/if_skreg.h +++ b/sys/dev/sk/if_skreg.h @@ -405,7 +405,7 @@ * fiber-based cards or BCOM for 1000baseT cards with a Broadcom * PHY. */ -#define SK_PHYTYPE_XMAC 0 /* integeated XMAC II PHY */ +#define SK_PHYTYPE_XMAC 0 /* integrated XMAC II PHY */ #define SK_PHYTYPE_BCOM 1 /* Broadcom BCM5400 */ #define SK_PHYTYPE_LONE 2 /* Level One LXT1000 */ #define SK_PHYTYPE_NAT 3 /* National DP83891 */ diff --git a/sys/dev/sk/xmaciireg.h b/sys/dev/sk/xmaciireg.h index ff836dd48903..dcd91e1640ab 100644 --- a/sys/dev/sk/xmaciireg.h +++ b/sys/dev/sk/xmaciireg.h @@ -335,7 +335,7 @@ #define XM_PHY_ANEXP 0x0006 /* autoneg expansion */ #define XM_PHY_NEXTP 0x0007 /* nextpage */ #define XM_PHY_LPNEXTP 0x0008 /* link partner's nextpage */ -#define XM_PHY_EXTSTS 0x000F /* extented status */ +#define XM_PHY_EXTSTS 0x000F /* extended status */ #define XM_PHY_RESAB 0x0010 /* resolved ability */ #define XM_BMCR_DUPLEX 0x0100 From nobody Sun Feb 25 07:44:11 2024 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 4TjG3J137Mz5Bv7f; Sun, 25 Feb 2024 07:44: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 4TjG3H6BLvz4Mh2; Sun, 25 Feb 2024 07:44:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s3F+qKA8+9dAm6w+9eq1QLGL9WtzFtBuYpnC+QnpTCY=; b=NazYBzXQfG2ji75+k/2UofVADlIU2bQN9FPjAg5Jje331imd+5XftfLwDbm+j37ilv4R++ F116x3rlT+/bHdFdrAxx9ecd28P7oxaAiHlZc6C/8x0yJP9D/H/d4pRx0hS/b3Aj2cExZD cMocj7VzROz6odcj0kr8CByIqz4zzbRxMNnDsFU3OS7OH26t+amYA5wZjK/n0uY3EuLM4n PNkgXdvzUVMfD/bdKp4cnl05VpXguBJaXfpy0vrlZYzfJ7MRntUcfolVuysjJgBG56nfJh qeb0Z6lawd4Nd3Ta6q5i5D0uY8bUCn2LN7PQ0bM1GeP8HMd+QBN1DWb8ydrGeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847051; a=rsa-sha256; cv=none; b=pC0VDoy59EunWTPtDg3a6skLUUYbwHF1wQA4M8XFYgwApWABzxW8xTX4hwXIFKgWCeVuhu EWBwYGaVWZXZayWMTkDmRp3A3ARTw3KY5w422B12QTR/J+MQRlF4dEdvtD/JYPKCp6+CIX VKRGgEDhBYegj8hIR/PtrC+ogJOdp8MV0cq83kK0Sj3eUiSftBwTl/LLnKNzWocfksiboZ wkK+NHyi0tFkiYJd/PQpXNVAtLOO98e7rVT6lHb1v2DKG84YgNKUUcbsTizUwL8kv/Cu5c XaTxPl2EhMT96JS7QPJHapQkuvD+dxj2C4fpExG8BnrKcLUY+U5gx2KIYkbayw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s3F+qKA8+9dAm6w+9eq1QLGL9WtzFtBuYpnC+QnpTCY=; b=MTKkMvJ5kXfMLthvA/UtK/mAupv0tte60CXM9FGK81o8ogavq3T+VTk9fu5Uhfsw3Nqvfo DXClqPMAcW2NjshmzwZykzT3mtdr+EVCGpGNVj/t3d9bj7w/tsh34t53cnsU8Hbv+Ob2jV EbjQwzqXRPzE3zy67qYDLDs+Tzjz+EAp/aGNeYm5B9srxe/p8j7/fYHANkjjPtzMGoDr0D Xtrggdp9vzRH9b7TM0z4pAXfgFKClBIZUvQKTUQbYsk3i+6EiI18g0e6NX3E5exrxaKsJT ko4AA6WIX8d4huC1GfPzRSFXiN6bGkc5uSyspO/od0Atz1UsZU/rbTQ9q1BIDw== 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 4TjG3H5Gd4zbkJ; Sun, 25 Feb 2024 07:44: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 41P7iBiM073483; Sun, 25 Feb 2024 07:44:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7iBxN073480; Sun, 25 Feb 2024 07:44:11 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:44:11 GMT Message-Id: <202402250744.41P7iBxN073480@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: ff9794844f86 - stable/14 - umcs(4): Fix two typos in source code comments 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: ff9794844f86d6c30b82cc29ec3f175f449b2e94 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=ff9794844f86d6c30b82cc29ec3f175f449b2e94 commit ff9794844f86d6c30b82cc29ec3f175f449b2e94 Author: Gordon Bergling AuthorDate: 2024-02-22 13:14:08 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:43:54 +0000 umcs(4): Fix two typos in source code comments - s/frequences/frequencies/ (cherry picked from commit 059fd69e749953c12b2cf099b34d3323d9c67d11) --- sys/dev/usb/serial/umcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/serial/umcs.c b/sys/dev/usb/serial/umcs.c index ec8c89ab1f8b..18135e3bf67d 100644 --- a/sys/dev/usb/serial/umcs.c +++ b/sys/dev/usb/serial/umcs.c @@ -1047,7 +1047,7 @@ umcs7840_set_baudrate(struct umcs7840_softc *sc, uint8_t portno, uint32_t rate) } DPRINTF("Port %d set speed: %d (%02x / %d)\n", portno, rate, clk, divisor); - /* Set clock source for standard BAUD frequences */ + /* Set clock source for standard BAUD frequencies */ err = umcs7840_get_reg_sync(sc, umcs7840_port_registers[portno].reg_sp, &data); if (err) return (err); @@ -1078,7 +1078,7 @@ umcs7840_set_baudrate(struct umcs7840_softc *sc, uint8_t portno, uint32_t rate) return (0); } -/* Maximum speeds for standard frequences, when PLL is not used */ +/* Maximum speeds for standard frequencies, when PLL is not used */ static const uint32_t umcs7840_baudrate_divisors[] = {0, 115200, 230400, 403200, 460800, 806400, 921600, 1572864, 3145728,}; static const uint8_t umcs7840_baudrate_divisors_len = nitems(umcs7840_baudrate_divisors); From nobody Sun Feb 25 07:45:39 2024 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 4TjG4z3WRLz5Bv9C; Sun, 25 Feb 2024 07:45: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 4TjG4z301dz4P4S; Sun, 25 Feb 2024 07:45:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Wcr57E2ld8MDX3VlA0CXoABRCWmKmsLedoJgng8qts=; b=BiDvzBmqb/dIgEUtduyBvbKYsOtq7mG+pNoHASb0MN46zq9E/IG/i7G1EJg7kZjP+XQqlM nWdndGyYz/OYqVg/ftnuKBIEC+g2Xv2edIec2b/MAOWrM82Vhng3q3RmFZmnb1RX4mWk9f T/nVyRVaymW8FfPBcuuC6zciyKsYAsaF5kPPdIzJh36CeovoSO207GEV/QpPnz3TBDrVps u+2UyFy3ES5wDPJIKyiGw8QS8gekmBd51RU0M0NFSiOtw25eQq6PS4GmkvOcTvGmFbz+kL xdK1pm8r0QO8pyzCf2gT4318wGzPQcM9EdcYKIYtne/0Cd9afeeKRbWLpOBqAw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847139; a=rsa-sha256; cv=none; b=vf4Ut7POquXM3Db9N5ngNVRBm5iRw4KlqE8JiRuvpx/1P/M5hJENu5x7RS/FP+W+R2nNm6 svS/Y6tR+3+prbv5aE6BDcocMoQDi+hiGzAqrjioN/l04Yatdo5Vzk0qrA2m3UjYZSw4sW iEdoaNfzPqyc+bu8qgH45exSSLSXE1xij7u2ocmEPIQ7uWuZKQtp50zKDL03SyMZGzj8nD jJ33Hrh4CP/3TXaVYTR5HUzQKVS3ZzFKrwQLbej6Ilcrqyt0Uui7UGymhgyxJOnwQgoF9q WWUb/Ce7nbeHQaEhFbky9dTikH5s8eXxB8nuOotdzrLlxWFMjdWNN3zrE+Tbzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Wcr57E2ld8MDX3VlA0CXoABRCWmKmsLedoJgng8qts=; b=xVe2+FXSMniWsM/4NO+sUm5Rt1LXMYzRDXjYpT7uEcT7+J9SiELffESolqmim02WZa3rF0 2KtM0/t5Ky8yrXlsLy/fy/iqWIIh86yZjWBTXl9/XIMLH/5UDgWu33q1LMZsx3s3VHpozI ncUmvWJn0IiKaJa1Rm3t7dOqrQr2wxJ1YVCOhR0Mm/xvBtlD9PHLnoIDhPTL/Ccsv4gnG9 iKmaB/WN10XTTWRNIysJB9SFwRKXUc3YRdJ8DfNII2FWVyRfMbCctacH1YN4+1xsOKRAsg XLkn65UCQawlfWxRY0WWNLmpt7Z8za8y6/OI7W8LOVeMhMMuYuiTNI9ggs4Fzw== 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 4TjG4z1yPPzbpw; Sun, 25 Feb 2024 07:45: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 41P7jdWh073911; Sun, 25 Feb 2024 07:45:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7jdRT073908; Sun, 25 Feb 2024 07:45:39 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:45:39 GMT Message-Id: <202402250745.41P7jdRT073908@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: 91ebcc32be85 - stable/13 - uath(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/stable/13 X-Git-Reftype: branch X-Git-Commit: 91ebcc32be85f5ad93e048bc7040b21779109f30 Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=91ebcc32be85f5ad93e048bc7040b21779109f30 commit 91ebcc32be85f5ad93e048bc7040b21779109f30 Author: Gordon Bergling AuthorDate: 2024-02-22 15:55:51 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:44:26 +0000 uath(4): Fix a typo in a source code comment - s/parmeter/parameter/ (cherry picked from commit 5a476e64b543dc63fae7fcd243dc066dced31c3b) --- sys/dev/usb/wlan/if_uathreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/wlan/if_uathreg.h b/sys/dev/usb/wlan/if_uathreg.h index 47ec13267e17..91e5f04bc902 100644 --- a/sys/dev/usb/wlan/if_uathreg.h +++ b/sys/dev/usb/wlan/if_uathreg.h @@ -50,7 +50,7 @@ struct uath_fwblock { * parameter 2 * ... * - * A variable-length parameter, or a parmeter that is larger than + * A variable-length parameter, or a parameter that is larger than * 32 bits is passed as pair, where length is a * 32-bit quantity and data is padded to 32 bits. */ From nobody Sun Feb 25 07:45:40 2024 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 4TjG504T1jz5Bv4Y; Sun, 25 Feb 2024 07:45: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 4TjG50425rz4P2B; Sun, 25 Feb 2024 07:45:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C74oucyO7SyOe26vi+7kqJNuA2ntLvWOfVEcQnSCdGw=; b=IPHVlMfsohkOwjkwgrK3zv53b5FVNm+7x6J3xou/yO5Jj+chvlgrSaMXfFxYTGqu9Ms3L3 yFF8xl6e9qXRez43Uy3vgbDI0660fCjOQDNzKz+/EBc7LZjqy9e3fR//IC7SbkOA3UJ/vl SrvvNYv1+VB+k0Muec6Pk56ymUENYpuM+0uqX77dhAxb2XsiWtw2JUZgULsG32teCoFMVM 8BAaxCEFFi1jKuTzyM4JuDlUP0XYm94kIO01an1DccPb3l3JFsj+PF4aDYHTiffVd8koGA 5sC/kjiQ9DPGEC6zWsAHQ+P70sMGHv9+4fFGk3gw+qjWTIuriZ1/Z2XsaPKbrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847140; a=rsa-sha256; cv=none; b=OIqpUj9lFXMEQF4dqlOGKNKIG3UYReFFcgQblXFY1yZlPxz6GW6IJj9BvBR+3ciLjhvTKZ pJFJ9FkoGyVvz907I01oOHIjrQkQgb8QFDbIWxX9aP2fzNoY5nknsX674rdDKL6mmXkeb2 ryzUQgb2uawCcTPapYUA+9f81NL1ENzPmcNy5VruxvmpYyLSyW7NwEZd4mOmlZ5pPfTE7q +G0XkdSWz35QB2K/CIb5o48KK82+tBbTRMroUiRz62+2FCMXHo7lyQh3uJCsdMqs1V6k0T 3sGPK+JqhmUKBBq9M43RT8xgBDCV/afUJe642HXuG3JWwQ74Ifw63/2CT+XRxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C74oucyO7SyOe26vi+7kqJNuA2ntLvWOfVEcQnSCdGw=; b=pSEHCgaryIl3MfKe0Xf2hDHiXhY1G7s/1alprBtbEZLXJrY1sGVFmPt0iM8n2VxijMV6Ap gnjqG+WZn4fB5lKfRw32iE0l1PeOoWf6Jq+gP+g1BbJJM+AUJNDMINdkColy8d3j81gClb d3XPZIHObAfRSsTiFGy9lURVA0ZV1nH3ruyCfAgbupvd2Tkits6H91xU4EvnJii1fnYDXZ DjOS4sklbYDKTfSxZmv9Ao22V9kjQhGhzXfqwdJ9DJ/TbeRTtfssHYSP1trvM9WxyAwxJx mlZJlq2W/yeCZDCKFoLR3+UFIIf3sjvarvUFA3ec8fHSdiiDD2wT2v7R/C2RYg== 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 4TjG503153zbkN; Sun, 25 Feb 2024 07: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 41P7jeHw073965; Sun, 25 Feb 2024 07: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 41P7jejc073962; Sun, 25 Feb 2024 07:45:40 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:45:40 GMT Message-Id: <202402250745.41P7jejc073962@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: d7670d898dee - stable/13 - vge(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/stable/13 X-Git-Reftype: branch X-Git-Commit: d7670d898deeef5b22ee1a2967ae541ce3a00e6f Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=d7670d898deeef5b22ee1a2967ae541ce3a00e6f commit d7670d898deeef5b22ee1a2967ae541ce3a00e6f Author: Gordon Bergling AuthorDate: 2024-02-22 16:33:35 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:44:37 +0000 vge(4): Fix a typo in a source code comment - s/embadded/embedded/ (cherry picked from commit 04440331b5700e124c42b570ae1dfd00ea9c26f7) --- sys/dev/vge/if_vgereg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/vge/if_vgereg.h b/sys/dev/vge/if_vgereg.h index e005526c95c1..c5cb53ef2ca7 100644 --- a/sys/dev/vge/if_vgereg.h +++ b/sys/dev/vge/if_vgereg.h @@ -444,7 +444,7 @@ #define VGE_MIICMD_MOUT 0x08 /* data out pin enable */ #define VGE_MIICMD_MDP 0x10 /* enable direct programming mode */ #define VGE_MIICMD_WCMD 0x20 /* embedded mode write */ -#define VGE_MIICMD_RCMD 0x40 /* embadded mode read */ +#define VGE_MIICMD_RCMD 0x40 /* embedded mode read */ #define VGE_MIICMD_MAUTO 0x80 /* enable autopolling */ /* MII address register */ From nobody Sun Feb 25 07:45:41 2024 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 4TjG522RSSz5BvWr; Sun, 25 Feb 2024 07:45: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 4TjG5157qNz4PN9; Sun, 25 Feb 2024 07: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=1708847141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f/nH9kNlr4mSCuKs/DTasAlfXeXFnTFmgB0X3tqt6DU=; b=cgS1aE7nB1nH2kVECw/oz+xB/ooH9kY/CcI1aKS7NYK2Xxlz11u/h6+kggJkH7M7ZMgZZU hiOV3uhOe+4oZ8OP9WMT5OMSGAtJRDFD6XdUZdihfGmWtmb9oUEJrggthouQV3qhciWjWy OD1cTG6+JjyT081kXpMITPZk3sQ4vdk3T1EDbwDTccGQMjjjat47h+RXfjK/guL/Onel+I EGTaoK7PO9CathGvP1HVkwfhZ6SUz10vhfujv7WZGnqh7D+SIclLP/vTNVaSDSsRdo9OL5 GAPr/lQTPGSsM7ThcNPD/NlA+Q5hpDo5h4KJXGkCYGMKHQuzQETW0bXxu6b6Kg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847141; a=rsa-sha256; cv=none; b=j79VdDjlkQvzj9Ix2welyJOIRIhRekinQKPir9mkQVcWcJKiFRq3tFGiUQ75DV+SKFOfEU 649u+N5qjxkvyrJyccvo159WOYM0MnvmCJQU+qyUWeMiBiDzbkCs0+ajoVPx5WnbN7OtMf KOngc398ULUIzFq9JQWw9GTm67mBKieD1FbToh4E+1nBGC50DGXADMl+Dv6jnncGxPi9ck Jj0R1SrLi6LjTcVxIDO08xSL6ccU+I+m4Nx0H/EGrTH6hhcA6lBATzeFKM7gRC20/yMBtA srJlOhHeBs3BE4LjGchfjKgUrByCDBarXtUHaf0d1q747KEDqJ7h+r9uVosb0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f/nH9kNlr4mSCuKs/DTasAlfXeXFnTFmgB0X3tqt6DU=; b=Sovr86E4n+XC3hHenOLd57fkXbd7HGJ9fEhMrs3TcQ/l/xkRGuYHND2CuaYV0mXU+6n/Jg iz1SNeDtrOrkbJmC5d68BRBbIy8tn7nKGCGgoXNaRdWiHpel87Gbzpy5mOsQeBJTYNiSst O1lsB2a2K7qwC6Fi9/0yALyAs4YH9I5OSsh0z+kBXISRuH0wdXhj7KkISf7OVZ92V61tfv 5yH3F7ZzyaTMUtlwuuzHn9OaeWyD6j4B9Is5CUfyzetnGQTZDSlrIXi7aYK72dsm2+fVH+ 8SM/gug6t+3I9QQ/0o/77leywml3EUG2JZanaXaPcleSi7ug7a3Mv3f3ZLXA0Q== 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 4TjG5144vBzbmQ; Sun, 25 Feb 2024 07:45: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 41P7jfF8074019; Sun, 25 Feb 2024 07:45:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7jf6c074016; Sun, 25 Feb 2024 07:45:41 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:45:41 GMT Message-Id: <202402250745.41P7jf6c074016@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: 8c3b4af727a0 - stable/13 - random(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/stable/13 X-Git-Reftype: branch X-Git-Commit: 8c3b4af727a03d08ffe126bee8e74ace0deccfb0 Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=8c3b4af727a03d08ffe126bee8e74ace0deccfb0 commit 8c3b4af727a03d08ffe126bee8e74ace0deccfb0 Author: Gordon Bergling AuthorDate: 2024-02-22 15:54:50 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:44:50 +0000 random(4): Fix a typo in a source code comment - s/parmeter/parameter/ (cherry picked from commit 5e89e34f846a233fb97302c05af5a47c694405a1) --- sys/dev/random/hash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/random/hash.c b/sys/dev/random/hash.c index 8e63d0f638f3..90ac65f42241 100644 --- a/sys/dev/random/hash.c +++ b/sys/dev/random/hash.c @@ -124,7 +124,7 @@ randomdev_encrypt_init(union randomdev_key *context, const void *data) /* * Create a pseudorandom output stream of 'bytecount' bytes using a CTR-mode - * cipher or similar. The 128-bit counter is supplied in the in-out parmeter + * cipher or similar. The 128-bit counter is supplied in the in-out parameter * 'ctr.' The output stream goes to 'd_out.' * * If AES is used, 'bytecount' is guaranteed to be a multiple of From nobody Sun Feb 25 07:45:42 2024 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 4TjG533nWZz5BvTk; Sun, 25 Feb 2024 07: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 4TjG526HrHz4PQP; Sun, 25 Feb 2024 07:45:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QucGKE54OeUXmNUKlzul754WV7ndn6to/NYe9zE73kY=; b=yMgqZaGciwM4DewEOOvura9z7KQ0PCyHsetaWfbxkXu2Lpgd8cK2xvHvXC3GecM/t+Uort iZAQMa8lBc+fI8DsWbCjVbxE2Bz4ssv6HmKgjqbkDf++mg6xj9U2YceYPNiBvJjaOad5sk T+pcbsTonrWUEmMZibLEpDNyVuO4Yun7vL5Jf9K2ayb0kE/iJeB92Q6FI0XDDMjATb2ktT Ssjpi9magDC1kLLWmWsU3FfFY9ZtdFDpSJ7a+ajC3A4IAV7N5Ud9WV/ZIP1o7aKiBsxC2X WeaVPC5gmqnON8WWdFzVbrQZeu5XMLiOw9d4fgmYbNqNCU2JryYNY9FePwQJtg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847142; a=rsa-sha256; cv=none; b=WTIwc1GYSj9VWJ6kbymgK8Uq2vfYMLCpj0eM5s8GAj+AhJ6m4JXp0Btqqb6EM6W35Mnj5D SaOBDHoW3zf2YpJkuE+R/S7hfQi+K4z8o6TakYnPP5hwWKpLFz6AxMFqqE+ZBKBRentJFQ zewXAtxMy4uaK58hrxB5ohQ3LIM+w7fnXdeMgFA6ZJfn21mR3WY5XGcLC7H3frs7SkbLUK JJmszvUbwcpn7qLJG2rNtrb4niEkFIiC34k36OuP4TzGXqhStvwxoDwvp1Fog7fip4BZkv Rq3QEVueubP7uOZ+Ad0QM1TLXr+B2LaT9+BHjojakjCxklVObnTobbn7vVslDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QucGKE54OeUXmNUKlzul754WV7ndn6to/NYe9zE73kY=; b=Y+2gFmCHcmqLTONEZDzmB63QdeJmg2ahDmPrpB7bC/mNHcS+gGcHkZBA1mM5W8f7a8a9VB YLGt2U2P6viPrte+WmDMlLoLnU+Ra29GFR0WwXLb65enb/otawvHmdEo9Hlqjpq/X0xcvU ivRubWp0vvG8600qI48u3mRPq+heEGBEcgSIQbYse9Uj+d9pE0VGpuPTHy3TIuTyJPO7fY en3pGEDaDVfAuPyxcY85XiwiaDTQGwHe3vC03vzx7dbuhOZEdINo1lgTAHlZhIgD92fVL1 u6KZg5QYg8EZNnCE0Wv7rN3If5xkGsFhoRO9KXgIjYd4cWwGHaRUWTPQlO+plQ== 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 4TjG524v3NzbmR; Sun, 25 Feb 2024 07: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 41P7jg3U074077; Sun, 25 Feb 2024 07: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 41P7jgnb074074; Sun, 25 Feb 2024 07:45:42 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:45:42 GMT Message-Id: <202402250745.41P7jgnb074074@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: dd4d5219070a - stable/13 - bge(4): Fix some typos in source code comments 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: dd4d5219070a2b663c8d7a752c6140268b9a1111 Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=dd4d5219070a2b663c8d7a752c6140268b9a1111 commit dd4d5219070a2b663c8d7a752c6140268b9a1111 Author: Gordon Bergling AuthorDate: 2024-02-22 19:38:50 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:45:02 +0000 bge(4): Fix some typos in source code comments - s/firwmare/firmware/ - s/recue/reduce/ - s/throughpout/throughput/ - s/hardwares/hardware/ Obtainted from: NetBSD (cherry picked from commit d646dca3bc1bbd3bfd38bc5ed375d7a346768dcf) --- sys/dev/bge/if_bge.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index 7a35aa518b8c..dcd65f9348d6 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -703,7 +703,7 @@ bge_ape_read_fw_ver(struct bge_softc *sc) sc->bge_mfw_flags |= BGE_MFW_ON_APE; - /* Fetch the APE firwmare type and version. */ + /* Fetch the APE firmware type and version. */ apedata = APE_READ_4(sc, BGE_APE_FW_VERSION); features = APE_READ_4(sc, BGE_APE_FW_FEATURES); if ((features & BGE_APE_FW_FEATURE_NCSI) != 0) { @@ -2160,7 +2160,7 @@ bge_blockinit(struct bge_softc *sc) * The BD ring replenish thresholds control how often the * hardware fetches new BD's from the producer rings in host * memory. Setting the value too low on a busy system can - * starve the hardware and recue the throughpout. + * starve the hardware and reduce the throughput. * * Set the BD ring replentish thresholds. The recommended * values are 1/8th the number of descriptors allocated to @@ -2295,7 +2295,7 @@ bge_blockinit(struct bge_softc *sc) */ CSR_WRITE_4(sc, BGE_RXLP_CFG, 0x181); - /* Inialize RX list placement stats mask. */ + /* Initialize RX list placement stats mask. */ CSR_WRITE_4(sc, BGE_RXLP_STATS_ENABLE_MASK, 0x007FFFFF); CSR_WRITE_4(sc, BGE_RXLP_STATS_CTL, 0x1); @@ -3536,7 +3536,7 @@ bge_attach(device_t dev) * known bug which can't handle TSO if Ethernet header + IP/TCP * header is greater than 80 bytes. A workaround for the TSO * bug exist but it seems it's too expensive than not using - * TSO at all. Some hardwares also have the TSO bug so limit + * TSO at all. Some hardware also have the TSO bug so limit * the TSO to the controllers that are not affected TSO issues * (e.g. 5755 or higher). */ From nobody Sun Feb 25 07:45:43 2024 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 4TjG540s91z5BvP0; Sun, 25 Feb 2024 07: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 4TjG536l0cz4PD2; Sun, 25 Feb 2024 07: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=1708847143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/jXTEg2dO/BDQD9kZlcF+NDrLzfCKDi816YBdUOIAHo=; b=NcZuHaTTSumeIC6vGcEN+sqP75LXCHVh+z8jwQwHJO9V8xCwjQ5FdIE0Y+QpxQb7Qo/1HB qpXLI1uMJ7WKy08uq3n9wW46xBN+7UxZDl2y8680nuJzL+c9fw23FdltTq6l7WpNfvwuJw blLKPOCgV+u/YclojtJt9Pvu633Ul8pminBNjn3bV1FdBoN87Bjn/z5dRroR3dWutRWpfV VXBhmgCegQp86iIRhaWDrt0Me3e3BIyRL1gjq3BQeKruwCra9LBxEJwGwGlkTzwyTaV8Y4 DC+vDI/yNwjy8Xq0Pa4WqsK5uterICwlS/vBmky4v4nSRRhYH76gb7acfO+AyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847143; a=rsa-sha256; cv=none; b=Sx0/fDBNy1X3v1kYhwyWh5Rxgs6OYhR1LFztsp1OIafs4GJl9Qo7h8G3SR77Pom3WLFl2S 8xYK7TcvCduEan3ssTVddcIF9BxiNo4HM+yJHDMnz47eozuSl1mOg/Nl1fHpFGtnKMvalU 7PqQFbqObm2CJvFRvU+Y8nQSPeHDph5qtSWV/1rQXlfrpX5N027CjGXvYiL4BUpjtVvJBR k7fagWYCew/3sjR6MxlAyCzT6249inYCUNJlY+DP8TaN3TLyxgKInGI0Jhx3ZmW+rhLO+e LKcGlOeH3+uSYfykvBaGVPdGl4ccy8Ci/bBWO2UOLNFPmWXadJ9uaVL2zp91Zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/jXTEg2dO/BDQD9kZlcF+NDrLzfCKDi816YBdUOIAHo=; b=wyUZPJeyPTTm3SnrMuaICl86DTK3KWJMzBMkkUvZA0y5MQ4Ib9bsGqc06ef72nLWAg72Qk iN0QbDuKjsfaTxMmrPYH7ciRy72/4YSMMG9/lxohbRHRBqdC4mQCgBI1J46o4mqjaBby4r cbPNvUoOrt1wfsEU642oCQrQLMlyG68a9kFZRlF5Acp8+Vg9XCxLQc5kcKqz72Y3ZuzvDs k9U184CrSwamZ8qUYwliTfYi5tzstw32OugQiSjTUM0waM9JAfeqRWVA/jGt53xSoqvo6t EUfKVijjHMM+51WMTUMVGb/sE6ZwbkNTo+LhnSM14juIoTOYQL2EsVnMZRnYXA== 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 4TjG535Vyvzb1v; Sun, 25 Feb 2024 07: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 41P7jhX0074132; Sun, 25 Feb 2024 07: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 41P7jhQ4074129; Sun, 25 Feb 2024 07:45:43 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:45:43 GMT Message-Id: <202402250745.41P7jhQ4074129@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: bbefc61cacc8 - stable/13 - sk(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/stable/13 X-Git-Reftype: branch X-Git-Commit: bbefc61cacc83af56165c901e92f46d60d19832e Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=bbefc61cacc83af56165c901e92f46d60d19832e commit bbefc61cacc83af56165c901e92f46d60d19832e Author: Gordon Bergling AuthorDate: 2024-02-22 16:16:49 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:45:16 +0000 sk(4): Fix a typo in a source code comment - /integeated/integrated/ - s/extented/extended/ Obtained from: NetBSD (cherry picked from commit a53204c22790a94a15f0e3c153f7fa12f9d57d27) --- sys/dev/sk/if_skreg.h | 2 +- sys/dev/sk/xmaciireg.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/sk/if_skreg.h b/sys/dev/sk/if_skreg.h index 541fed4096b2..044b0be2e1a9 100644 --- a/sys/dev/sk/if_skreg.h +++ b/sys/dev/sk/if_skreg.h @@ -405,7 +405,7 @@ * fiber-based cards or BCOM for 1000baseT cards with a Broadcom * PHY. */ -#define SK_PHYTYPE_XMAC 0 /* integeated XMAC II PHY */ +#define SK_PHYTYPE_XMAC 0 /* integrated XMAC II PHY */ #define SK_PHYTYPE_BCOM 1 /* Broadcom BCM5400 */ #define SK_PHYTYPE_LONE 2 /* Level One LXT1000 */ #define SK_PHYTYPE_NAT 3 /* National DP83891 */ diff --git a/sys/dev/sk/xmaciireg.h b/sys/dev/sk/xmaciireg.h index ff836dd48903..dcd91e1640ab 100644 --- a/sys/dev/sk/xmaciireg.h +++ b/sys/dev/sk/xmaciireg.h @@ -335,7 +335,7 @@ #define XM_PHY_ANEXP 0x0006 /* autoneg expansion */ #define XM_PHY_NEXTP 0x0007 /* nextpage */ #define XM_PHY_LPNEXTP 0x0008 /* link partner's nextpage */ -#define XM_PHY_EXTSTS 0x000F /* extented status */ +#define XM_PHY_EXTSTS 0x000F /* extended status */ #define XM_PHY_RESAB 0x0010 /* resolved ability */ #define XM_BMCR_DUPLEX 0x0100 From nobody Sun Feb 25 07:45:44 2024 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 4TjG5569Jdz5BvLv; Sun, 25 Feb 2024 07: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 4TjG550dxNz4PNl; Sun, 25 Feb 2024 07: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=1708847145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F7eoW2HixoAGVWiGmjbXY4B5YNfa0v/BFXrywHrcRko=; b=uC+F2+f+xCmtg/mDI8Pnau68he9rD7Yn2cgMYbDDiGjz4+X772N7iffwc6MqUQyqwATNPt AIfwbf5d3I0fxQvm2zTp0qw03yyYUMAFd8bcmJwVOq134tn7s4fiMBWsKPmCogsd7k088w oYlNRGQAbr1nfATpb0YzhmQbOTWvSGEzLTKPJ1qL3eKb+1VeFQjVelmIYZaA26wmbSexd+ lRp0DObwJbFUe8GqGydo2x7ShndbBvCAAEGF1uuhc11e0dpnrRVmy1h4V3ISMYKX6q07Ne sAd1QXaDwG6p81ihnmZu0pxbLTanEbt8j9o9kys7ZdWVPInDYk6suw+uviKD2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847145; a=rsa-sha256; cv=none; b=XF9CNSmwyIZgIuzFmU67lp4gS1BJr6iirAmSYwkNj2KRVgI+HDw3BawF9v6nn/7rBQYS0j FM3ZAlY6ql0kXXd832LzWYJ2YEfw4+HGybzhXyDh4hG8Tzkh/G4DsVgD1WXi3fRoHUs7Vc JHxqx3RytYyTGPnQKAyBcNhcbIsbK2jG7YOA0qvvqYe+QYAuvRdsWJdaMgPENJQcDa7ciy OTeuZFh6znS3poJ5RDKd2kLP3gEwPWtbo07QcQ6XzYkWDkfSEps2IVgqzrhCQu6LTELd2a W5OXfU+BQjHjQJuKNWI6v0K4Zw2VqZi+vqVDGliT2iHZvs5PllM6sG+q1jihVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F7eoW2HixoAGVWiGmjbXY4B5YNfa0v/BFXrywHrcRko=; b=XKqQ+NLVDP+ibTFJijC+iv/nfGkwGjOBjCQL4DZ/HCgS6AtZTe94gqx/WRFKbLE+CLwqWJ bRWJBZatfIXdxvRgCpUiFIX4xOQ2FVJHHAHri3ad+pBwCuReUFkEvf0M8xkC1yTT8HEMAi DzTpHxPVlNHYdZeHvMkGNCEDvpMlWEDb0N/KHIjZ/SAiD7VzDcsal8dnC3TbRCIrFyZj7j Ow4QCYcIlJwJgb+M0KfjxcOStY+2vqA+EF5Yx0yMCaV/9MNg1qpd3HrQtcJqRJZt26xTgn oqP6zY8wPZipDqsI/I5Z8o06MTg3lSWM7RBP1UEbNvJX+qJLR7cwc9PF+jgA7A== 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 4TjG546lrXzbKD; Sun, 25 Feb 2024 07:45: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 41P7jisE074183; Sun, 25 Feb 2024 07:45:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7jiiN074180; Sun, 25 Feb 2024 07:45:44 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:45:44 GMT Message-Id: <202402250745.41P7jiiN074180@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: f3d93603bc29 - stable/13 - umcs(4): Fix two typos in source code comments 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: f3d93603bc2960a98cfa11906335e9d86f97b668 Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=f3d93603bc2960a98cfa11906335e9d86f97b668 commit f3d93603bc2960a98cfa11906335e9d86f97b668 Author: Gordon Bergling AuthorDate: 2024-02-22 13:14:08 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:45:29 +0000 umcs(4): Fix two typos in source code comments - s/frequences/frequencies/ (cherry picked from commit 059fd69e749953c12b2cf099b34d3323d9c67d11) --- sys/dev/usb/serial/umcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/serial/umcs.c b/sys/dev/usb/serial/umcs.c index 8138d09594f7..a413101cb03a 100644 --- a/sys/dev/usb/serial/umcs.c +++ b/sys/dev/usb/serial/umcs.c @@ -1049,7 +1049,7 @@ umcs7840_set_baudrate(struct umcs7840_softc *sc, uint8_t portno, uint32_t rate) } DPRINTF("Port %d set speed: %d (%02x / %d)\n", portno, rate, clk, divisor); - /* Set clock source for standard BAUD frequences */ + /* Set clock source for standard BAUD frequencies */ err = umcs7840_get_reg_sync(sc, umcs7840_port_registers[portno].reg_sp, &data); if (err) return (err); @@ -1080,7 +1080,7 @@ umcs7840_set_baudrate(struct umcs7840_softc *sc, uint8_t portno, uint32_t rate) return (0); } -/* Maximum speeds for standard frequences, when PLL is not used */ +/* Maximum speeds for standard frequencies, when PLL is not used */ static const uint32_t umcs7840_baudrate_divisors[] = {0, 115200, 230400, 403200, 460800, 806400, 921600, 1572864, 3145728,}; static const uint8_t umcs7840_baudrate_divisors_len = nitems(umcs7840_baudrate_divisors); From nobody Sun Feb 25 07:47:19 2024 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 4TjG6w2lHqz5BvXF; Sun, 25 Feb 2024 07:47: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 4TjG6w1p1Yz4QlS; Sun, 25 Feb 2024 07:47:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S1EopAyzoErulnC8LLS8k6AwwRooFD2y9YIrO7smr3s=; b=Bsx8iXgAr1fWEABHT1vPpCszVo8XDYhXknH3TrEmS/jm5ltvX2uTCHDKnq1oxNRNfXHZfg Tj74QLEaM5lX6ts+zQ2u0amnZBNn2pW7irQc+U/ttuRvvRsn6Cw+3J8TfLqgY1ZMe7TDJB wf4tyP++XYaFzZ/PJetNRbHH4zCgIXLlLeKHQp6akyWyG7ej96skG2hpuIlw//MCwhc1PY imHNijZWj5pGZQ5gpLVZmG7b0YGgOcZ/WyRul2uwgOc1h0CPXqydTNBgeFDK541CqOrhj1 MKeNl0jqGRG5Qivq7qBNhbzMy59aovaQLr+Azg74dJTAL9yo1OYCRTKhzEvwpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847240; a=rsa-sha256; cv=none; b=PYsDETpvlNjoLpun3EB4p0hCOpwMRpX5sACxUn38RnHY+mos2O0O/wxW+K4xLKDnTGLMe2 rQsePnLV64y8rLdNBhmwJ4ZaLMx0lIkZxuUvfx8TQB3vTx0tmAMFJYdiZpuDHx28ErJaDG ptb/lzuSVNFEDZpAHAtdtNtUb+NqrQeEks1shX6vpmoVFfT0MBDzm08RUopFdBydZbb9rG t1CYPRg1l+SfYy/c9D/Feu3gfQEfU+wc3OKJxJQJ72eEHKumBIfb29KSPahbS+7Sti1Lj0 O/m7eHYsDLqEsOvkM2qLkKuNJ3J9Jw4e90ruUcm7E+7dhkthtCkTVdP74NKjuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S1EopAyzoErulnC8LLS8k6AwwRooFD2y9YIrO7smr3s=; b=jAc25Rks2GHBIcbPAEeDOrug1rICr6qnMPRI2KysHCTrlK8rpFCszP9vt165lZtRa2HxOW KN2PR65+z3lijPq+deYeQZvFHweG5zyz3DKJODFJ4y28WWT+PP6lcykcTCgvtO1D7l2CkV qJgmM03ngDcMgMd6MxHUXJZRm6oye3y8+rCKYpnVcDQGh5BLNfuo/PE87XQMCf3gvN4IXf pHdGVI1Sn6A/Mg4g026oj2PMjvLftc5nMexyDJVf4hh1kpNSWMOqToL72hC//Edwgt8GwV DuySJ6yyJ/bwYVC5vbkVkJgalyqPQ1klhiju8r3nyVa/lrQLTdH5hk2eknDxmQ== 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 4TjG6w0SLKzbKH; Sun, 25 Feb 2024 07:47: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 41P7lJ2S074567; Sun, 25 Feb 2024 07:47:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7lJwG074564; Sun, 25 Feb 2024 07:47:19 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:47:19 GMT Message-Id: <202402250747.41P7lJwG074564@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: 442d1ee07efc - stable/12 - uath(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/stable/12 X-Git-Reftype: branch X-Git-Commit: 442d1ee07efc4f5a1995429abec242439ac2d035 Auto-Submitted: auto-generated The branch stable/12 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=442d1ee07efc4f5a1995429abec242439ac2d035 commit 442d1ee07efc4f5a1995429abec242439ac2d035 Author: Gordon Bergling AuthorDate: 2024-02-22 15:55:51 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:46:00 +0000 uath(4): Fix a typo in a source code comment - s/parmeter/parameter/ (cherry picked from commit 5a476e64b543dc63fae7fcd243dc066dced31c3b) --- sys/dev/usb/wlan/if_uathreg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/wlan/if_uathreg.h b/sys/dev/usb/wlan/if_uathreg.h index 1e7929bc7e8f..71abdcf5b91f 100644 --- a/sys/dev/usb/wlan/if_uathreg.h +++ b/sys/dev/usb/wlan/if_uathreg.h @@ -51,7 +51,7 @@ struct uath_fwblock { * parameter 2 * ... * - * A variable-length parameter, or a parmeter that is larger than + * A variable-length parameter, or a parameter that is larger than * 32 bits is passed as pair, where length is a * 32-bit quantity and data is padded to 32 bits. */ From nobody Sun Feb 25 07:47:21 2024 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 4TjG6x3nwdz5BvcS; Sun, 25 Feb 2024 07:47: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 4TjG6x3Df9z4QZd; Sun, 25 Feb 2024 07:47:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/CIV3zuhrbDy4UrMTngn5JCqUuVrORPiR89ildb35+Y=; b=NEbTZNezvbU9SQ/zlhD+R8yklYWpR2s/11zBKPb1U5HoGpf4MJRpXjzKp2ANOMwvGaGHdK ALU60qUZ5fTRypokHKA5zEOoCwQQRSFt4msNpxOo0Tqs9He9pSxEHaHmMgG7s43H3qmDQr YNLhPJ9dONc3CcHbRBpFU6y4b5+bmOZ7QSiPw/0+Uaw1ViMusZv76W2nxQPTbPy5V8/sNE +I42POB3OEOCNS+/vTnCkV0/prlPEGJQMYS5fOFHeHTSx8SpUruz38LRdjz36nVODBaIyG tuolo9ZZzArqA3Q8+bWGG1saLFh0x04DK5DtcfMQxA76MESBEV6YwiwbpuQ/yQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847241; a=rsa-sha256; cv=none; b=a9nWktYPgz9jVshYcTVl2oMJtMDIGRZVRdqHW6Pn6fwkLL2CggmhPLajjJP2uTbcxYcUS6 rG+Y+APUI+AgY1D7hqJpZ/zaU4R+E//8Ocj+0KBZNY9FSO473Fairr746EuO1LJnEsp9OH GgBHlISEmCA/uj3ijzC9X4M5LB6VBK73LLTwSH0OFQL8T4EPRUvzElp9M54l/V92NTCb9G SiC163s6sQC+DtOifhfVlZgc8Y5ZEh+v0CkIK5melfMVnJxdq4cdCoDs2Dy/lQFFzEhdKy 4Q6B56bq1liswc3rQjFV3f+UY2q+qH+FPAtomslR0g9LJ+bTX0Fi5O1YNLE9JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/CIV3zuhrbDy4UrMTngn5JCqUuVrORPiR89ildb35+Y=; b=KGiXJEaL/219wtuUBqD4+Xo1HHtwvoaJ0/jovWau4+wZIPoHMLBC/dPD43AZm0PQUFacP1 oWMmuhbns12dlCt3pS5TGCC5hUezzVdjxPPfVjUtlS6xflADwVG/LCl5njZNx2ky91rs8H +M3IcCdOKMJXRwZZ9371B5zOs3TPQmNDIOPk+nPaNwFyF5jUqGHuxLcvOsqsa4HTPFLxzj yTXON4EtSpMIJ71wFea4NJd4Uvybh46EF9htKdlMS9TmO+SAdga6g7kckX8S7rjfBgrggT JNjceaS52qjxtWqSymQ90h5HiEoaQO8AMUkPhcroVC3EdWnP41Q6R381EsQKAA== 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 4TjG6x1hdkzbgg; Sun, 25 Feb 2024 07:47: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 41P7lL6Y074621; Sun, 25 Feb 2024 07:47:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7lLAs074618; Sun, 25 Feb 2024 07:47:21 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:47:21 GMT Message-Id: <202402250747.41P7lLAs074618@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: c513a1b09b40 - stable/12 - vge(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/stable/12 X-Git-Reftype: branch X-Git-Commit: c513a1b09b4032b44176f4d81b0c59f8a2f3d650 Auto-Submitted: auto-generated The branch stable/12 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=c513a1b09b4032b44176f4d81b0c59f8a2f3d650 commit c513a1b09b4032b44176f4d81b0c59f8a2f3d650 Author: Gordon Bergling AuthorDate: 2024-02-22 16:33:35 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:46:11 +0000 vge(4): Fix a typo in a source code comment - s/embadded/embedded/ (cherry picked from commit 04440331b5700e124c42b570ae1dfd00ea9c26f7) --- sys/dev/vge/if_vgereg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/vge/if_vgereg.h b/sys/dev/vge/if_vgereg.h index 88e6f22f3124..1ce8797d1a6b 100644 --- a/sys/dev/vge/if_vgereg.h +++ b/sys/dev/vge/if_vgereg.h @@ -447,7 +447,7 @@ #define VGE_MIICMD_MOUT 0x08 /* data out pin enable */ #define VGE_MIICMD_MDP 0x10 /* enable direct programming mode */ #define VGE_MIICMD_WCMD 0x20 /* embedded mode write */ -#define VGE_MIICMD_RCMD 0x40 /* embadded mode read */ +#define VGE_MIICMD_RCMD 0x40 /* embedded mode read */ #define VGE_MIICMD_MAUTO 0x80 /* enable autopolling */ /* MII address register */ From nobody Sun Feb 25 07:47:22 2024 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 4TjG6y4YtPz5BvSK; Sun, 25 Feb 2024 07:47: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 4TjG6y3hnhz4Qjf; Sun, 25 Feb 2024 07:47:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kZvyUX9z50+foUnLBfFS4qflyRAjhSBdjO/PM3cAY98=; b=TWIPXfQsd1/q315CXFY/X3fPzJPHa/JelE75QJ8T5jkw0Q6sVZdWveYXIr0fJDIYh1vPGB Qk2mAMrOi+4w44ah6k2PWKkKKEZEYSBnxJYkS1TlBj3JmCpLpdGg+zZdxaa9l9HYh6hfJE mNbD69EIsWJsvFaCoVr4YNh2NM5Vn4B048L2OnkMSpho1skQi3ru45CmbVCQBAQTKm+0s9 84DONRsEhV0QHGvLmXHi0xC3NR2rsusVKnB+DLNGrNMsg2QUxZwbV6GUeHrmC38BAFP3Uy Q5+r9m88z9XFEuJPUz0pfS8/Vmj2njgKj0z18goT7iztz/Z0ERgbbwYRqjkLWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847242; a=rsa-sha256; cv=none; b=eZT32RaQlctEWME0HGfs8F58lqGJON4f0c70eQgkEQXAXUWxUiil1NrtwJ1WaS2OxLFTl6 zckWmrumDj6dQYrwNq31ifzkShwnXFcFNOlsfO7ios4acyFSOd5lMJdC0joGiG6XrjOMr8 GfwmOjO9D3NwDThYnX9TA+eqvO7J9EJZWE0MwrYPQj7lGRCFVTRvo7MbwXjuC5ZQi50rZE 8DrkcZY5K5iKcEMo2ExShHGsBfJcC8tK3mzNCCowwdafnW7jMFUG4/ArcgoBZHw8dvFrNI Q+d1Fs02c7ispwbB01SG80oBqao1PkYr8o3yVhtsIjZ/hBt1ae6EQCsdoZrqoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kZvyUX9z50+foUnLBfFS4qflyRAjhSBdjO/PM3cAY98=; b=WihkDzu0RVHBFNzp4gKtSAolPmHTn/mvIRb11yZGsQ0ya9bPDQWUdIWeMSNeb2MZ+CJbe1 dShcU9hAlgJpxFQVVvq/MsqsgpA+7XscWJuC0DiYjAYXjjLKG2LBd/67bNmPrX/xDk/Put RS0bBjNgg63gJ4wxpl/I+XM2ZNE8LWquiPCcdXKO7+q/q5Oe4fuycBL5k8aSC327OVypZG xEefK+hKgDrODhF7wG0Le7rNl0rcs0cW5juj08X0OJ/lTVGK96ZYJCbdFADbLZpw+z+xp9 XmlJkDcbtRmIaAEshSN598A/OqLOK4EsNYZ7nWCL43V60LSdBDvS0yLUF/K9Gg== 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 4TjG6y2LvWzbgh; Sun, 25 Feb 2024 07:47: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 41P7lM16074675; Sun, 25 Feb 2024 07:47:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7lMcV074672; Sun, 25 Feb 2024 07:47:22 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:47:22 GMT Message-Id: <202402250747.41P7lMcV074672@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: 8dbf4f6c232d - stable/12 - random(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/stable/12 X-Git-Reftype: branch X-Git-Commit: 8dbf4f6c232d99486ae9ced375d8b44a42775d3c Auto-Submitted: auto-generated The branch stable/12 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=8dbf4f6c232d99486ae9ced375d8b44a42775d3c commit 8dbf4f6c232d99486ae9ced375d8b44a42775d3c Author: Gordon Bergling AuthorDate: 2024-02-22 15:54:50 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:46:29 +0000 random(4): Fix a typo in a source code comment - s/parmeter/parameter/ (cherry picked from commit 5e89e34f846a233fb97302c05af5a47c694405a1) --- sys/dev/random/hash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/random/hash.c b/sys/dev/random/hash.c index 6fead915254b..59e2203d0c82 100644 --- a/sys/dev/random/hash.c +++ b/sys/dev/random/hash.c @@ -126,7 +126,7 @@ randomdev_encrypt_init(union randomdev_key *context, const void *data) /* * Create a pseudorandom output stream of 'bytecount' bytes using a CTR-mode - * cipher or similar. The 128-bit counter is supplied in the in-out parmeter + * cipher or similar. The 128-bit counter is supplied in the in-out parameter * 'ctr.' The output stream goes to 'd_out.' * * If AES is used, 'bytecount' is guaranteed to be a multiple of From nobody Sun Feb 25 07:47:23 2024 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 4TjG6z6W2cz5BvXL; Sun, 25 Feb 2024 07:47: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 4TjG6z4RLPz4Qk0; Sun, 25 Feb 2024 07:47:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JtU4tbo4+jKm0ox1gtn1Rq4MGpKvPHForsln3/zbQPM=; b=nUp4Xb2yIIZutprszDIJ0MHpABVmR/Ug8kS5hfyAaFYtstBv2Tvce5i5C/De4hKNxST6VG YLZxH0BM8DSHKAHVTyYWfG3XzGegzvqVn2Cf3IL0lMs+7Y0Qp2oAXUrUDufCD96iWsUzwB qrL3Bd1zMJV19m+3T9eEzyRaj+lwV8l19eC9xSM+WtmAcnWQnSLF2kQh3SpOcEVcoiqVB4 bKcJ4hE9/wGUf7nk9OWuxu3VdqL4bzz5PU+WoY1KvFGr8cEGtL+263g2nvLvC0hMdmGPXw CHYCW39AByrEgafkGfccAdGAcofBm87dWhfDJVS5k7Wwxh/eqPEWY7RrzhhbSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847243; a=rsa-sha256; cv=none; b=Zjmy78xQGb/hG+eT390ATeMMOiWSOwzGKFV+pvVeD0htH2lFT0CxM/pjur9Ne7Y124okij rQUDGSn3tVLEJAVHXPZTJXqZNaDjnUWHgjrwFYHYisSjQo8Ufyx7VcPh8V8aHOCK4+WWG+ jp+Z12zTG7dNPmAZGUmRXt3n3AZWOERICcW4gp3PQWqOP1or2fTHKVuHjZoQyANTZiIsT6 RaSVejK92NiKCwjeVQhUBDuAijgj560X7OX9jc/cRkJyeKSqycjcV1lXR4gk4hUBjcPLhY 75dueeZeNdTt1k5fP2TjdlO6NsxvpbYDO6QcysH9en/sqzIhjI14GjLxmotM0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JtU4tbo4+jKm0ox1gtn1Rq4MGpKvPHForsln3/zbQPM=; b=XBdqNmLBZV4QtL9bYvA70yWWNQdoLDS1w2TUhMnw78Igu0rZZHMrTY0UsOAAGSOMcw49Nb FJSFlNQq5Mv/JVarIrwvGojwxtGlZ2e5w8IHtqns802z2lUXV6CqiWljq776T+WjXdM/IM ymh/MscHaus09WBm5jRkA6g+YqLTZIQChLZwgzwEH+fVlXvf7knjtMsS+3GBexZBLdlZwy MIFCwgW2/Irb/Tv3xcrrOKjMqTob3zCjdugNBzR7iwvuULtmWJY0VNeERZiV/eeW2g0/IR bSxuVYNWv2vcEFd+A0hXuNTFP2lAx8Pc1sJBpjHopX3GyKY5wnT5zs0lslu//Q== 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 4TjG6z3QxJzbkP; Sun, 25 Feb 2024 07: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 41P7lNv2074726; Sun, 25 Feb 2024 07: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 41P7lNVB074723; Sun, 25 Feb 2024 07:47:23 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:47:23 GMT Message-Id: <202402250747.41P7lNVB074723@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: eeee62ac1eb7 - stable/12 - bge(4): Fix some typos in source code comments 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/12 X-Git-Reftype: branch X-Git-Commit: eeee62ac1eb756993cd6be72d6dbf2337048f3df Auto-Submitted: auto-generated The branch stable/12 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=eeee62ac1eb756993cd6be72d6dbf2337048f3df commit eeee62ac1eb756993cd6be72d6dbf2337048f3df Author: Gordon Bergling AuthorDate: 2024-02-22 19:38:50 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:46:43 +0000 bge(4): Fix some typos in source code comments - s/firwmare/firmware/ - s/recue/reduce/ - s/throughpout/throughput/ - s/hardwares/hardware/ Obtainted from: NetBSD (cherry picked from commit d646dca3bc1bbd3bfd38bc5ed375d7a346768dcf) --- sys/dev/bge/if_bge.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index be52518fa6c7..c4d88486dff7 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -754,7 +754,7 @@ bge_ape_read_fw_ver(struct bge_softc *sc) sc->bge_mfw_flags |= BGE_MFW_ON_APE; - /* Fetch the APE firwmare type and version. */ + /* Fetch the APE firmware type and version. */ apedata = APE_READ_4(sc, BGE_APE_FW_VERSION); features = APE_READ_4(sc, BGE_APE_FW_FEATURES); if ((features & BGE_APE_FW_FEATURE_NCSI) != 0) { @@ -2219,7 +2219,7 @@ bge_blockinit(struct bge_softc *sc) * The BD ring replenish thresholds control how often the * hardware fetches new BD's from the producer rings in host * memory. Setting the value too low on a busy system can - * starve the hardware and recue the throughpout. + * starve the hardware and reduce the throughput. * * Set the BD ring replentish thresholds. The recommended * values are 1/8th the number of descriptors allocated to @@ -2354,7 +2354,7 @@ bge_blockinit(struct bge_softc *sc) */ CSR_WRITE_4(sc, BGE_RXLP_CFG, 0x181); - /* Inialize RX list placement stats mask. */ + /* Initialize RX list placement stats mask. */ CSR_WRITE_4(sc, BGE_RXLP_STATS_ENABLE_MASK, 0x007FFFFF); CSR_WRITE_4(sc, BGE_RXLP_STATS_CTL, 0x1); @@ -3595,7 +3595,7 @@ bge_attach(device_t dev) * known bug which can't handle TSO if Ethernet header + IP/TCP * header is greater than 80 bytes. A workaround for the TSO * bug exist but it seems it's too expensive than not using - * TSO at all. Some hardwares also have the TSO bug so limit + * TSO at all. Some hardware also have the TSO bug so limit * the TSO to the controllers that are not affected TSO issues * (e.g. 5755 or higher). */ From nobody Sun Feb 25 07:47:24 2024 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 4TjG711nVbz5Bv9T; Sun, 25 Feb 2024 07:47: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 4TjG706v0Yz4Qm3; Sun, 25 Feb 2024 07: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=1708847245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=95EX91qZc63GMleWNb642+x2aB1iP7ut+Ckznxq491A=; b=eGtiJ2oJqpL4DPgZCa9qKFme+vtt/muhcHQe+y3la49a/oPjOS/6CW3ViGTCsA2Tbeu180 CI4GeR/12j6WjenfGMyxzz2GDzs8eJlsRtQy8yzyLVdDLtL+Gig3pGzK9GGlrQjaua++Vd +789KaFP9yYOQtD++cdgOyJ6ONx8ocsKT/phAzr+uvXH4DYs2ullhnybEBaa/GRNZTB+dZ ijHxmNs/XZidD63rNJK2Z646aT5Edh8x5icRe1FN9SBzu8qmyqpel8CL634HSPmyYfa9DG duzRkSXlxiCEUENjobgYp7HoDHU5taqHkSq1ed8VGw0bljFeOwyiJuFxB2SRIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847245; a=rsa-sha256; cv=none; b=yFxJGeF/Dz5fd8x2HwlXsaq/EHM56OlApft4aNH4ACyxgtLdn8hIUag05pP2qr2bINyVX7 a0TbFPfTcxinpgvp+q1gW0qfNYfgJgTXJSB3EE/mI4eQ/BKex+REMv1ZkssIzk26yzFWfW M1pOTe7pfw7SOeHJ1GQVuTo9sxy0jiOOGhYkh24uZqxqt1Q/5SwU4/DBi1fGSL2V37Ec7E 4v2p81g0Ds6787k/npLVxzA5RbJh5G/mIRlQ4k/EsO6sVVdheW4TJo65Pkt2U/u6ZWKVMP L6DxXUcEmURLF1mWmB2X15oMI9dUFtK50bPbj1e4b2gu3Ic5Afrnc0JgkFs23w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=95EX91qZc63GMleWNb642+x2aB1iP7ut+Ckznxq491A=; b=wDj7kPTWkz0D8Vsrg6AreV6JD9Sfs++LzUiojwrbHNvlWzKsMIKpnEEOfJr1MEjEzwDmsY XT0cJ2K8kqGHKS21G9+yYwcxtk6QJ8UQw5x4MuKsNDcLHZHltbW6Yjp/9O7Q4KgGXPQw2e Hnt4lPFmcvFfzrMxcEHfpODFzJdCi56aKjmvNkBocUGdb0+LnaU/MSUcxwEnUVjOxR1vz4 Y77FGW1teCYEozQ8U5H/h3urweKUrhtLZQSwbZsns5I2dO+yG2jca08Ll/qvVn6+8AZT3n f2dDXUhpdPyml+PBK9BFLateR7SDIQPMLKk+I0sSGNrC7Yy0qvGGPxDG6gHRpA== 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 4TjG704TMmzbgj; Sun, 25 Feb 2024 07:47:24 +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 41P7lOVQ074786; Sun, 25 Feb 2024 07:47:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7lOAD074783; Sun, 25 Feb 2024 07:47:24 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:47:24 GMT Message-Id: <202402250747.41P7lOAD074783@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: 64d52e1605ae - stable/12 - sk(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/stable/12 X-Git-Reftype: branch X-Git-Commit: 64d52e1605aeb8cf4c93e5663e8c3f61d79b695a Auto-Submitted: auto-generated The branch stable/12 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=64d52e1605aeb8cf4c93e5663e8c3f61d79b695a commit 64d52e1605aeb8cf4c93e5663e8c3f61d79b695a Author: Gordon Bergling AuthorDate: 2024-02-22 16:16:49 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:46:57 +0000 sk(4): Fix a typo in a source code comment - /integeated/integrated/ - s/extented/extended/ Obtained from: NetBSD (cherry picked from commit a53204c22790a94a15f0e3c153f7fa12f9d57d27) --- sys/dev/sk/if_skreg.h | 2 +- sys/dev/sk/xmaciireg.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/sk/if_skreg.h b/sys/dev/sk/if_skreg.h index 85d3f14ea625..2dc2c9658a49 100644 --- a/sys/dev/sk/if_skreg.h +++ b/sys/dev/sk/if_skreg.h @@ -408,7 +408,7 @@ * fiber-based cards or BCOM for 1000baseT cards with a Broadcom * PHY. */ -#define SK_PHYTYPE_XMAC 0 /* integeated XMAC II PHY */ +#define SK_PHYTYPE_XMAC 0 /* integrated XMAC II PHY */ #define SK_PHYTYPE_BCOM 1 /* Broadcom BCM5400 */ #define SK_PHYTYPE_LONE 2 /* Level One LXT1000 */ #define SK_PHYTYPE_NAT 3 /* National DP83891 */ diff --git a/sys/dev/sk/xmaciireg.h b/sys/dev/sk/xmaciireg.h index 30bd16c9a749..3c5598a692b8 100644 --- a/sys/dev/sk/xmaciireg.h +++ b/sys/dev/sk/xmaciireg.h @@ -337,7 +337,7 @@ #define XM_PHY_ANEXP 0x0006 /* autoneg expansion */ #define XM_PHY_NEXTP 0x0007 /* nextpage */ #define XM_PHY_LPNEXTP 0x0008 /* link partner's nextpage */ -#define XM_PHY_EXTSTS 0x000F /* extented status */ +#define XM_PHY_EXTSTS 0x000F /* extended status */ #define XM_PHY_RESAB 0x0010 /* resolved ability */ #define XM_BMCR_DUPLEX 0x0100 From nobody Sun Feb 25 07:47:25 2024 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 4TjG720F8Pz5Bv9X; Sun, 25 Feb 2024 07:47: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 4TjG7163bNz4QVV; Sun, 25 Feb 2024 07:47:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=URx0wcXju/m4B45SHpBOkvS4aXuaxJqRm5y+NrC/XjM=; b=FbFdWu8en4StDXmNfu5Nct5br3I2bx6LDuR/Vwbk1coYiYxmrMXJCus0KDSlQrvuESOeYO Aqjaj189oKDvUzLixJ/u/WDLkQEqOmcq66K6TUUQk5GYpdcQEJ7RzNcrdFbEnNfCmRUPQI DYwA8XaM9ptKVKKjoxyDSunb/Stpn4//kp67Nm83xUhsWn9tatlxjNIrtMvoQCfnstAKMR oShJ1ulyzEPWvFTH8X/3m02dv3pDzi/MmDka4PE2qUZHBuMGeeyBIu1myV5/UHpo6kgx/7 AvefYPpfydpCwEefRzpGdYwvKx3j/UBGuTHQIxQ6sdPsbAPo5C73fYCiRzI6lQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847245; a=rsa-sha256; cv=none; b=pi439HEq4VTX3PWWOgDQHfEAJ7DTkddlM7TvFAXp3+hI6rUAAelzfYvSkpunZD7RR8a3nD pz0UX2DGbctqVvd7pme/jA3cRZzgns5/zDOdB0vft66JyUnkAIfqVb4kY5aBDL2hfZ63Xm x6swn65O2jeyRx6fpPc4kJS9Ne/Cux/nws3JaC8HVeyEnfptfif0MdmR7Wdo++naRr1DD6 7N1G0uqA8GHhImY0Jf3suQ7oAUj9ZkmrTkVSXvmlqX7xomzUohOmHVQMEkUXuYb+ooGJMn zQlkOPInnRuypnCF4j84W8mYmRJ6tgM2r7MA/TWjvRP8jy3gxhfITfzRw1jRjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847245; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=URx0wcXju/m4B45SHpBOkvS4aXuaxJqRm5y+NrC/XjM=; b=czRzhJDP37YAmLkdWQmVvZxIMjp2YocXFYGkhVS7Da1xQ+2X6Dvi2Ih83rVMMpQ7E3twDq Gnf1qF87Jn6kzGzdJKGk/aH+O7afTXC1yTdaZdrNT8/92YSB0CZCDwhe4uFssrOJe+m1Nq /ucBIoKddlbGEBTauXf4Ans5GxRrHfai6QzBjqpCPzb+FBO79e9Z/PAhY837wU/Gt+4zEO zgrllC54bsmpTojUcoO6AjZlEeJ0qj42AvBQN9zHw7xEhS7pIOiP/jK2Wh4BWcApI4u3AI uGdAfzNQdMvV6DL+262QR064mk9c7HRyNEuxg1okUTTUY/P7u1hyovHH7uuUjw== 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 4TjG7156CRzbmV; Sun, 25 Feb 2024 07:47: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 41P7lPQv074838; Sun, 25 Feb 2024 07:47:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7lPu6074835; Sun, 25 Feb 2024 07:47:25 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:47:25 GMT Message-Id: <202402250747.41P7lPu6074835@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: ef2b2b0bf3e3 - stable/12 - umcs(4): Fix two typos in source code comments 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/12 X-Git-Reftype: branch X-Git-Commit: ef2b2b0bf3e3240b27dabd5a6c15503b5c03e031 Auto-Submitted: auto-generated The branch stable/12 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=ef2b2b0bf3e3240b27dabd5a6c15503b5c03e031 commit ef2b2b0bf3e3240b27dabd5a6c15503b5c03e031 Author: Gordon Bergling AuthorDate: 2024-02-22 13:14:08 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 07:47:09 +0000 umcs(4): Fix two typos in source code comments - s/frequences/frequencies/ (cherry picked from commit 059fd69e749953c12b2cf099b34d3323d9c67d11) --- sys/dev/usb/serial/umcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/serial/umcs.c b/sys/dev/usb/serial/umcs.c index 5b1add0f55fe..3473143c0bd1 100644 --- a/sys/dev/usb/serial/umcs.c +++ b/sys/dev/usb/serial/umcs.c @@ -1052,7 +1052,7 @@ umcs7840_set_baudrate(struct umcs7840_softc *sc, uint8_t portno, uint32_t rate) } DPRINTF("Port %d set speed: %d (%02x / %d)\n", portno, rate, clk, divisor); - /* Set clock source for standard BAUD frequences */ + /* Set clock source for standard BAUD frequencies */ err = umcs7840_get_reg_sync(sc, umcs7840_port_registers[portno].reg_sp, &data); if (err) return (err); @@ -1083,7 +1083,7 @@ umcs7840_set_baudrate(struct umcs7840_softc *sc, uint8_t portno, uint32_t rate) return (0); } -/* Maximum speeds for standard frequences, when PLL is not used */ +/* Maximum speeds for standard frequencies, when PLL is not used */ static const uint32_t umcs7840_baudrate_divisors[] = {0, 115200, 230400, 403200, 460800, 806400, 921600, 1572864, 3145728,}; static const uint8_t umcs7840_baudrate_divisors_len = nitems(umcs7840_baudrate_divisors); From nobody Sun Feb 25 07:50:26 2024 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 4TjGBW0kCQz5BvfF; Sun, 25 Feb 2024 07:50: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 4TjGBV6zs4z4S6R; Sun, 25 Feb 2024 07:50:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PRWCsC7XjPWGuFvgtsz85Wrr3z3KPqWtieuL73DN5lE=; b=ltMeHzdnlM+XDPdk4GYy+QCREfOaAsGThNCW+8uZ8TJ+xj+JotO8oT8NWd6Hq1JWfm41dY gDdmfoy+KEu+ImU94dxVkYAr2jvsn9gZzItwTI58nFNOKLwcUWppRl/NPVwJmsK2zviPMr LSld1Zj88v/Ot983zhR9LRWMqhq/SeTlLkXnPtieOUCOnccsKAmLamjEvEPSlNFL0IElrj nyO7nbeNSJb9FrQRBOTIqdalAbERbGkIgRw50EJiXTh0eYDkBUAp8JQj3G484KI/8ZEHD1 ScPoKp6LaDAx0lpGHvRihkKpYfdzCFaoA9OL3eCkXVLqWcom/60q5UaHxWt2NA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708847427; a=rsa-sha256; cv=none; b=Veof8FoVN095YRgwjfUCXNynkCJuYOdNrzbaRYIy02xRUxncxp/bmiwRZwLLsSfAKyTWLU pp8Y8J8hQfcL1PRSOAGBgKkgTs8w/NvMeNlgmQ2goPHA7+Q0A4lc5akX+lLptugKG9Vjqs 9iyD46Iwmhm5tqV4im3MF96Wv+mWmxOWRqKn61MgeaQUTdG08byTbwyMpQjaIXbebfn3Cc JgnWteLnzzNk2s8wKSVCcHyoLEx78qBKtkaP5HdQfK57U2u+gwAo6ocML0WTTDPs8aZrEQ aEBqwf595z5M6vjaklGiAWpg+4xYr0ObkK7pf6CDx87vUnCZNZGcgw1NqGfsAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708847427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PRWCsC7XjPWGuFvgtsz85Wrr3z3KPqWtieuL73DN5lE=; b=vl7sia27l8G/SJ+SxNllotGwOfXEMjefT7Pl6q3rPi236JtyXQKAfL5z9QOsd++vXKuzMI oPbYlAvhIxgV1P3WG44LRdnUPjqgJg2NYxAJceNMvCZLLJczXm1yuamoCZWYFCuIGlJqG2 qZhGVcAJsasWVWdVJ46tH/mEK3oX043hcHVk01bHi8htxqwZqOxM5NHdWiPPDJFUjgg9MG F4n6xYiu6J3csF6JWIgxhE6MkTSXIUkkvYElTyPRM0xz9TId39y/Ed2Pdp/jDnw2DP+K2s OAANVR75GIDMptk7z/svymCIv7ESe4buF24Fm1DerOVe4U+Rctj7dP+Lg7mJwA== 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 4TjGBV61LczbKM; Sun, 25 Feb 2024 07:50: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 41P7oQsF083918; Sun, 25 Feb 2024 07:50:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P7oQXm083915; Sun, 25 Feb 2024 07:50:26 GMT (envelope-from git) Date: Sun, 25 Feb 2024 07:50:26 GMT Message-Id: <202402250750.41P7oQXm083915@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 8997b0270dae - releng/13.3 - 13.3: update to RC1 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: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.3 X-Git-Reftype: branch X-Git-Commit: 8997b0270dae7ace32e87b3059c64834283c63fb Auto-Submitted: auto-generated The branch releng/13.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=8997b0270dae7ace32e87b3059c64834283c63fb commit 8997b0270dae7ace32e87b3059c64834283c63fb Author: Colin Percival AuthorDate: 2024-02-25 07:49:41 +0000 Commit: Colin Percival CommitDate: 2024-02-25 07:49:41 +0000 13.3: update to RC1 Now that we're at RC1, switch from "quarterly" packages to the release package set. Approved by: re (implicit) Sponsored by: https://www.patreon.com/cperciva --- release/pkg_repos/release-dvd.conf | 2 +- sys/conf/newvers.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/release/pkg_repos/release-dvd.conf b/release/pkg_repos/release-dvd.conf index 600c309d5979..72c369da39b1 100644 --- a/release/pkg_repos/release-dvd.conf +++ b/release/pkg_repos/release-dvd.conf @@ -1,5 +1,5 @@ release: { - url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly", + url: "pkg+http://pkg.FreeBSD.org/${ABI}/release_3", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/pkg", diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index a71331c3bb6f..8bc10ea021bf 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="13.3" -BRANCH="BETA3" +BRANCH="RC1" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Sun Feb 25 08:15:34 2024 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 4TjGlV664Jz5By2h; Sun, 25 Feb 2024 08:15: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 4TjGlV3l4qz4VHn; Sun, 25 Feb 2024 08:15:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708848934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KsN7vp6I3pS8v5IwtCI/fBZkUpg6m3mf0P1yPD73La8=; b=d5xnBovNIG5rhIie/mtzh7B8Eo3Vh77tTuAePzB5iB3hXdlKMPm030XVTCKrCcA3+toCgV REPnYPQyrFcz6bbEWn4c+accbwP8449zO8HgamcSIT8w/Y27rxlYKb1HiVotcbuSfCE+n7 f7HE/SPtTelaVsY7uPuShfDufvbb7t+xbTdZkZ48viFJrdHLCP7T8v3cvtRQQemRIPOjN3 EH36uZS8PitSZ5HNTvtIyEfQt8K9xjH0lFgkwjDBpiiqKrKKKFXVYH/1LqWnZ9xeanhiI8 fyUrpgoWLRg8cw2Yl468f9LudK3oH0VmtKp8cQubiNfj333h7ol44v5ayFQq0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708848934; a=rsa-sha256; cv=none; b=Sr2gZeJisovH/1pbozoHVoDZiImKl0RCMVDXKRfNDpCwLfmnOzee0Za0dSmKKCKN+DPxkT mjTpFe3mMEFQFRFTuyar7WcgOquvjtBiGMMBqleTk7OsQ1Wa99Y5okBi3Zb8wyT8Tig+aK 7bTnbujz4Uzz6sX6ydcranWzLNKaL8yj5WLiyu2kLWmE7MoeJN5BAgLld2f3labWkkFi50 yxZQoqqFXPGBq+qvqASoIENfXa5IMqnxYhvzWGWIk3YK6ORWxq7e0RoJryU3JriG9d0aUQ +rdxr2AVHn+p/SJjrkLWfTBcW5No0qi/usRL/NdxU9n780z4fnEz8jKlnu3NmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708848934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KsN7vp6I3pS8v5IwtCI/fBZkUpg6m3mf0P1yPD73La8=; b=rQYHxXgAFZnjM7XMBd//ndbBYNuVt+VRVENH5zGU3hGyKpepp++4ZHIAuT2Uw8RC7NGeOK 7s0DDWKOT0eWrHpvMzSfMJOoA4eAhrDmOrbjp2CaVso8pkRHyVFqWLEKPKB2dM0gaAJp08 Qr1UL67swGT/+MHxy7vLbefqdHfGJ3xOHb4YXtvaQ4or0OV32DL3pS7n9GheibvUTjElQL jTfVVZ+FzvyIUs4eflmyTsOmc4XQcg8iVauzcmNQIKSasGNgd1OT8djXvwqra/MgW1wqQt xV2ewqHSfIfAxX4ufuQEUyjgVyDe/gqrxSISzrlk+8oUMStQpglAH6gqfrsc/w== 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 4TjGlV2q6Hzc7c; Sun, 25 Feb 2024 08:15: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 41P8FYl1026658; Sun, 25 Feb 2024 08:15:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P8FY7h026655; Sun, 25 Feb 2024 08:15:34 GMT (envelope-from git) Date: Sun, 25 Feb 2024 08:15:34 GMT Message-Id: <202402250815.41P8FY7h026655@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: 09dd7240acf1 - main - sigsys test: correct count of delivered signals 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: 09dd7240acf1fc50061246013ce318404d70c4e0 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=09dd7240acf1fc50061246013ce318404d70c4e0 commit 09dd7240acf1fc50061246013ce318404d70c4e0 Author: Konstantin Belousov AuthorDate: 2024-02-25 01:36:27 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-25 08:11:49 +0000 sigsys test: correct count of delivered signals When knob is zero, intent is that no SIGSYS signals are delivered. Comparing zero to zero does not test much, we should compare the count of delivered SIGSYSs to zero. Reviewed by: dchagin, imp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D44077 --- tests/sys/kern/sigsys.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/sys/kern/sigsys.c b/tests/sys/kern/sigsys.c index 8b9a4e8516e7..d135ed777498 100644 --- a/tests/sys/kern/sigsys.c +++ b/tests/sys/kern/sigsys.c @@ -41,23 +41,23 @@ sigsys_test(int knob) ATF_REQUIRE(syscall(273) == -1); /* reserved */ ATF_CHECK_ERRNO(ENOSYS, true); atomic_signal_fence(memory_order_seq_cst); - ATF_CHECK_EQ(1 * knob, sigsys_cnt * knob); + ATF_CHECK_EQ(1 * knob, sigsys_cnt); ATF_REQUIRE(syscall(440) == -1); /* SYS_kse_switchin */ ATF_CHECK_ERRNO(ENOSYS, true); atomic_signal_fence(memory_order_seq_cst); - ATF_CHECK_EQ(2 * knob, sigsys_cnt * knob); + ATF_CHECK_EQ(2 * knob, sigsys_cnt); /* Hope this is enough for say next two months */ ATF_REQUIRE(syscall(3000000) == -1); ATF_CHECK_ERRNO(ENOSYS, true); atomic_signal_fence(memory_order_seq_cst); - ATF_CHECK_EQ(3 * knob, sigsys_cnt * knob); + ATF_CHECK_EQ(3 * knob, sigsys_cnt); ATF_REQUIRE(syscall(SYS_afs3_syscall) == -1); ATF_CHECK_ERRNO(ENOSYS, true); atomic_signal_fence(memory_order_seq_cst); - ATF_CHECK_EQ(4 * knob, sigsys_cnt * knob); + ATF_CHECK_EQ(4 * knob, sigsys_cnt); } static void From nobody Sun Feb 25 09:17:18 2024 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 4TjJ6l19XBz5C48S; Sun, 25 Feb 2024 09: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 4TjJ6l0fwRz4c61; Sun, 25 Feb 2024 09: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=1708852639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lUjTvlrU8nNVUQpCOteWR3PecD4at6LIKcsXoR8BOpY=; b=v0udpfsNAxEWPu+UxObgI/qvuqFkeyjCdy7ney1b6EgVdVoGE9KJoW+hm3qQV/T0M1EWLh dFn77nFZ8+bInelstizaUFLQWlaie1+gWl+UmHoTIxuvx7dpZ1qhXeQSwmtjeWhUXvugrd W03hXVqbPhTUbmYZ4h0ZEP0/2/Yjc59jqIb5l8CKZRwZeF3Mmz2pBYMbk2rF+G40lm5LVX SYhi65sgQh0cSo4ym+CCNHvgLCWAtR/LoAMXgQJ1k8AaOVR4PBY2+srfQDQ6SrO9nE6ViY puzDQ+g7RIqfzNEtS5QfxQqSddSBimUvnt7OFo3sk9/R8aVdPt+EtnyZ1PnHtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708852639; a=rsa-sha256; cv=none; b=tH+INt2sW+EmMCMX2DfxNN5BURbgK8G52hlDKYkNr1baRJi+m3COWZaetI3CKuBTlwmmXO ggeCmadjBre5QmuBSPuJfnmDL4ruez2klGAAYfxcizX7TBr1B6ur5sQpFhC8BmRans5x1q 9vZlxJ6/xzocJDt+3wQZu75121S3clPAFvlvhP4HFfoqhYb+97uDfS67LhQYZkZ6rOAMLD NUch/b6vGvqZNgOYIo3Wy3XnvNzQLbkyKdF1Dk742AJ9J7yqKAXZBykZlIkl7OWJnStGf+ 9wuKZxcV4APDmHEqK6Jn1VbVGl+P5u8/gSOaNvWhwSyfxSBZePdUs8vYB9Vk8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708852639; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lUjTvlrU8nNVUQpCOteWR3PecD4at6LIKcsXoR8BOpY=; b=AedPJke+BTD01UJFTnnTZwWXDtfJGU+S8KTFofU6kfbL7obCpfEWTKu+9SZGuRPBBB00q3 /NZBOYD7QPCquJ0gayU3yXO2eptJoXIu9bA4wnKaJCcrTfnG6h3oi5IqN3Y6Mt8RS8x7Io InN6Z7y/iT7VkmBQu6Cb2/qqCNcCZRY9Fkew0LG7/EFYIZnBLe5fgMeaMtKp17Wvk+O9aF tJ7rfFFVItef6db8Ss89MI35PYM1dkk8LEcwQkNbCzvT49kF0Wpj9t+Kw1kXNnOw9gYOY9 Y9XgHf5Rd36SIU0mHMgEUNYuD6L6wR9czIIY5VbRuuK2FfY4t9u6xt1X45bwhA== 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 4TjJ6k6sLFzdHF; Sun, 25 Feb 2024 09:17: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 41P9HIKs029064; Sun, 25 Feb 2024 09:17:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41P9HIef029061; Sun, 25 Feb 2024 09:17:18 GMT (envelope-from git) Date: Sun, 25 Feb 2024 09:17:18 GMT Message-Id: <202402250917.41P9HIef029061@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: 6e9a71706906 - main - tcp_rack.4: Fix a link in the SEE ALSO section 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: 6e9a71706906b86e627cfdd27bc37b88a796f46e Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=6e9a71706906b86e627cfdd27bc37b88a796f46e commit 6e9a71706906b86e627cfdd27bc37b88a796f46e Author: Gordon Bergling AuthorDate: 2024-02-25 09:16:25 +0000 Commit: Gordon Bergling CommitDate: 2024-02-25 09:16:25 +0000 tcp_rack.4: Fix a link in the SEE ALSO section The URL of the paper at arxiv.org has changed so link the PDF-file directly. MFC after: 3 days --- share/man/man4/tcp_rack.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/tcp_rack.4 b/share/man/man4/tcp_rack.4 index 791b48baf6f6..566834f4283b 100644 --- a/share/man/man4/tcp_rack.4 +++ b/share/man/man4/tcp_rack.4 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 17, 2023 +.Dd February 25, 2024 .Dt TCP_RACK 4 .Os .Sh NAME @@ -134,7 +134,7 @@ What method should we use for rate sampling 0=high, 1=low .%A "Ahmed M. Abdelmoniem" .%A "Brahim Bensaou" .%T "T-RACKs: A Faster Recovery Mechanism for TCP in Data Center Networks" -.%O "https://arxiv.org/abs/2102.07477" +.%O "https://arxiv.org/pdf/2102.07477.pdf" .%D "February 2021" .Re .Sh HISTORY From nobody Sun Feb 25 09:29:23 2024 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 4TjJNp2Q0bz5C4pX; Sun, 25 Feb 2024 09:29:30 +0000 (UTC) (envelope-from tuexen@fh-muenster.de) Received: from drew.franken.de (mail-n.franken.de [193.175.24.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.franken.de", Issuer "Sectigo RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TjJNn6K9hz4fl7; Sun, 25 Feb 2024 09:29:29 +0000 (UTC) (envelope-from tuexen@fh-muenster.de) Authentication-Results: mx1.freebsd.org; none Received: from smtpclient.apple (ip4d15f54e.dynamic.kabel-deutschland.de [77.21.245.78]) (Authenticated sender: micmac) by mail-n.franken.de (Postfix) with ESMTPSA id A2DB0721E2817; Sun, 25 Feb 2024 10:29:24 +0100 (CET) Content-Type: multipart/signed; boundary="Apple-Mail=_05E37298-BFCE-4336-BAEA-AE1983E28300"; protocol="application/pkcs7-signature"; micalg=sha-256 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.400.31\)) Subject: Re: git: 6e9a71706906 - main - tcp_rack.4: Fix a link in the SEE ALSO section From: tuexen@fh-muenster.de In-Reply-To: <202402250917.41P9HIef029061@gitrepo.freebsd.org> Date: Sun, 25 Feb 2024 10:29:23 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <6731EBF5-A6BD-48A6-BABD-685DE54DF764@fh-muenster.de> References: <202402250917.41P9HIef029061@gitrepo.freebsd.org> To: Gordon Bergling X-Mailer: Apple Mail (2.3774.400.31) X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, T_SCC_BODY_TEXT_LINE autolearn=disabled version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail-n.franken.de 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:680, ipnet:193.174.0.0/15, country:DE] X-Rspamd-Queue-Id: 4TjJNn6K9hz4fl7 --Apple-Mail=_05E37298-BFCE-4336-BAEA-AE1983E28300 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Feb 25, 2024, at 10:17, Gordon Bergling wrote: >=20 > The branch main has been updated by gbe: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D6e9a71706906b86e627cfdd27bc37b88= a796f46e >=20 > commit 6e9a71706906b86e627cfdd27bc37b88a796f46e > Author: Gordon Bergling > AuthorDate: 2024-02-25 09:16:25 +0000 > Commit: Gordon Bergling > CommitDate: 2024-02-25 09:16:25 +0000 >=20 > tcp_rack.4: Fix a link in the SEE ALSO section >=20 > The URL of the paper at arxiv.org has changed so link the > PDF-file directly. >=20 > MFC after: 3 days > --- > share/man/man4/tcp_rack.4 | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) >=20 > diff --git a/share/man/man4/tcp_rack.4 b/share/man/man4/tcp_rack.4 > index 791b48baf6f6..566834f4283b 100644 > --- a/share/man/man4/tcp_rack.4 > +++ b/share/man/man4/tcp_rack.4 > @@ -23,7 +23,7 @@ > .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE = POSSIBILITY OF > .\" SUCH DAMAGE. > .\" > -.Dd December 17, 2023 > +.Dd February 25, 2024 > .Dt TCP_RACK 4 > .Os > .Sh NAME > @@ -134,7 +134,7 @@ What method should we use for rate sampling = 0=3Dhigh, 1=3Dlow > .%A "Ahmed M. Abdelmoniem" > .%A "Brahim Bensaou" > .%T "T-RACKs: A Faster Recovery Mechanism for TCP in Data Center = Networks" > -.%O "https://arxiv.org/abs/2102.07477" > +.%O "https://arxiv.org/pdf/2102.07477.pdf" Hi Gordon, as I asked before: Why is that link given at all? It is not related to the RACK = implementation. Best regards Michael > .%D "February 2021" > .Re > .Sh HISTORY --Apple-Mail=_05E37298-BFCE-4336-BAEA-AE1983E28300 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEfMw ggUSMIID+qADAgECAgkA4wvV+K8l2YEwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAkRFMSsw KQYDVQQKDCJULVN5c3RlbXMgRW50ZXJwcmlzZSBTZXJ2aWNlcyBHbWJIMR8wHQYDVQQLDBZULVN5 c3RlbXMgVHJ1c3QgQ2VudGVyMSUwIwYDVQQDDBxULVRlbGVTZWMgR2xvYmFsUm9vdCBDbGFzcyAy MB4XDTE2MDIyMjEzMzgyMloXDTMxMDIyMjIzNTk1OVowgZUxCzAJBgNVBAYTAkRFMUUwQwYDVQQK EzxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMg ZS4gVi4xEDAOBgNVBAsTB0RGTi1QS0kxLTArBgNVBAMTJERGTi1WZXJlaW4gQ2VydGlmaWNhdGlv biBBdXRob3JpdHkgMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMtg1/9moUHN0vqH l4pzq5lN6mc5WqFggEcVToyVsuXPztNXS43O+FZsFVV2B+pG/cgDRWM+cNSrVICxI5y+NyipCf8F XRgPxJiZN7Mg9mZ4F4fCnQ7MSjLnFp2uDo0peQcAIFTcFV9Kltd4tjTTwXS1nem/wHdN6r1ZB+Ba L2w8pQDcNb1lDY9/Mm3yWmpLYgHurDg0WUU2SQXaeMpqbVvAgWsRzNI8qIv4cRrKO+KA3Ra0Z3qL NupOkSk9s1FcragMvp0049ENF4N1xDkesJQLEvHVaY4l9Lg9K7/AjsMeO6W/VRCrKq4Xl14zzsjz 9AkH4wKGMUZrAcUQDBHHWekCAwEAAaOCAXQwggFwMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU k+PYMiba1fFKpZFK4OpL4qIMz+EwHwYDVR0jBBgwFoAUv1kgNgB5oKAia4zV8mHSuCzLgkowEgYD VR0TAQH/BAgwBgEB/wIBAjAzBgNVHSAELDAqMA8GDSsGAQQBga0hgiwBAQQwDQYLKwYBBAGBrSGC LB4wCAYGZ4EMAQICMEwGA1UdHwRFMEMwQaA/oD2GO2h0dHA6Ly9wa2kwMzM2LnRlbGVzZWMuZGUv cmwvVGVsZVNlY19HbG9iYWxSb290X0NsYXNzXzIuY3JsMIGGBggrBgEFBQcBAQR6MHgwLAYIKwYB BQUHMAGGIGh0dHA6Ly9vY3NwMDMzNi50ZWxlc2VjLmRlL29jc3ByMEgGCCsGAQUFBzAChjxodHRw Oi8vcGtpMDMzNi50ZWxlc2VjLmRlL2NydC9UZWxlU2VjX0dsb2JhbFJvb3RfQ2xhc3NfMi5jZXIw DQYJKoZIhvcNAQELBQADggEBAIcL/z4Cm2XIVi3WO5qYi3FP2ropqiH5Ri71sqQPrhE4eTizDnS6 dl2e6BiClmLbTDPo3flq3zK9LExHYFV/53RrtCyD2HlrtrdNUAtmB7Xts5et6u5/MOaZ/SLick0+ hFvu+c+Z6n/XUjkurJgARH5pO7917tALOxrN5fcPImxHhPalR6D90Bo0fa3SPXez7vTXTf/D6OWS T1k+kEcQSrCFWMBvf/iu7QhCnh7U3xQuTY+8npTD5+32GPg8SecmqKc22CzeIs2LgtjZeOJVEqM7 h0S2EQvVDFKvaYwPBt/QolOLV5h7z/0HJPT8vcP9SpIClxvyt7bPZYoaorVyGTkwggWsMIIElKAD AgECAgcbY7rQHiw9MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJERTFFMEMGA1UEChM8VmVy ZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYu MRAwDgYDVQQLEwdERk4tUEtJMS0wKwYDVQQDEyRERk4tVmVyZWluIENlcnRpZmljYXRpb24gQXV0 aG9yaXR5IDIwHhcNMTYwNTI0MTEzODQwWhcNMzEwMjIyMjM1OTU5WjCBjTELMAkGA1UEBhMCREUx RTBDBgNVBAoMPFZlcmVpbiB6dXIgRm9lcmRlcnVuZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5n c25ldHplcyBlLiBWLjEQMA4GA1UECwwHREZOLVBLSTElMCMGA1UEAwwcREZOLVZlcmVpbiBHbG9i YWwgSXNzdWluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ07eRxH3h+Gy8Zp 1xCeOdfZojDbchwFfylfS2jxrRnWTOFrG7ELf6Gr4HuLi9gtzm6IOhDuV+UefwRRNuu6cG1joL6W LkDh0YNMZj0cZGnlm6Stcq5oOVGHecwX064vXWNxSzl660Knl5BpBb+Q/6RAcL0D57+eGIgfn5mI TQ5HjUhfZZkQ0tkqSe3BuS0dnxLLFdM/fx5ULzquk1enfnjK1UriGuXtQX1TX8izKvWKMKztFwUk P7agCwf9TRqaA1KgNpzeJIdl5Of6x5ZzJBTN0OgbaJ4YWa52fvfRCng8h0uwN89Tyjo4EPPLR22M ZD08WkVKusqAfLjz56dMTM0CAwEAAaOCAgUwggIBMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYDVR0P AQH/BAQDAgEGMCkGA1UdIAQiMCAwDQYLKwYBBAGBrSGCLB4wDwYNKwYBBAGBrSGCLAEBBDAdBgNV HQ4EFgQUazqYi/nyU4na4K2yMh4JH+iqO3QwHwYDVR0jBBgwFoAUk+PYMiba1fFKpZFK4OpL4qIM z+EwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9v dC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDBAoD6gPIY6aHR0cDovL2NkcDIucGNhLmRmbi5kZS9n bG9iYWwtcm9vdC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDCB3QYIKwYBBQUHAQEEgdAwgc0wMwYI KwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDBKBggrBgEF BQcwAoY+aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY2FjZXJ0 L2NhY2VydC5jcnQwSgYIKwYBBQUHMAKGPmh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZ2xvYmFsLXJv b3QtZzItY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQCBeEWkTqR/ DlXwCbFqPnjMaDWpHPOVnj/z+N9rOHeJLI21rT7H8pTNoAauusyosa0zCLYkhmI2THhuUPDVbmCN T1IxQ5dGdfBi5G5mUcFCMWdQ5UnnOR7Ln8qGSN4IFP8VSytmm6A4nwDO/afr0X9XLchMX9wQEZc+ lgQCXISoKTlslPwQkgZ7nu7YRrQbtQMMONncsKk/cQYLsgMHM8KNSGMlJTx6e1du94oFOO+4oK4v 9NsH1VuEGMGpuEvObJAaguS5Pfp38dIfMwK/U+d2+dwmJUFvL6Yb+qQTkPp8ftkLYF3sv8pBoGH7 EUkp2KgtdRXYShjqFu9VNCIaE40GMIIHKTCCBhGgAwIBAgIMJrRClNKRzetB0jc/MA0GCSqGSIb3 DQEBCwUAMIGNMQswCQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVp bmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUw IwYDVQQDDBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBMB4XDTIyMDUzMDEzMjIxNVoXDTI1 MDUyOTEzMjIxNVowgcQxCzAJBgNVBAYTAkRFMRwwGgYDVQQIDBNOb3JkcmhlaW4tV2VzdGZhbGVu MREwDwYDVQQHDAhNdWVuc3RlcjEUMBIGA1UECgwLRkggTXVlbnN0ZXIxMjAwBgNVBAsMKUZhY2hi ZXJlaWNoIEVsZWt0cm90ZWNobmlrIHVuZCBJbmZvcm1hdGlrMQ8wDQYDVQQEDAZUdWV4ZW4xEDAO BgNVBCoMB01pY2hhZWwxFzAVBgNVBAMMDk1pY2hhZWwgVHVleGVuMIICIjANBgkqhkiG9w0BAQEF AAOCAg8AMIICCgKCAgEA2QZ7Uheto325SEnX2BTxBvYnz7u/BVmzxKlogaR4K0MA8ZcfNIdQkiJU efjL6imq21BSFsr/tXcODFZmPrvx9aIxjntCxmEFr7qFaw3e3mUIxJyj5n6BxjzZ/hyJte8LBDbj zj+e8WPUzXmYbSxtrh9kgw8NMx3+bo3Hslic+PkKEGx9JJp2I2TEs88xD0rHC2Ljwcfk6bS9jC+/ BAuY/TsbJoq+8d64DYSLGiIYbvMMuxM2C8BlpHLIOLx2FaH+uMqdH2dLVvCacZJ9YzHvvZY8O2nQ OBFCG1UMpX5YLHN8g/t02a+IBt+oe97JMdJ/kZsPjolI98dcRdzz0hTXZql2xvp6zlocm9iGTRcv dCSxy+0x4CIZD1EkVX9zCPGpzdTXnrU+zvnz14Uq3Wbfl3GiVgK0Avr1enfZepruAxAy7KGIm2zi /qY3XSkN8fvWJmYnomOjCRjaPtqS/azmnyeodsxlVhqQKbES65u/PbOXjOlhiYAvemS0IbK4iR76 3iSmkpwSNpJt6BCtFJN+w3Y8tztCP66KPPC1Fri1oj27KPaf04J66MkSjlQdpI7POS6lDyN7X2Hw tgZKRVA94h/JvZp4ld7mTzXTEW2tdO5azPILsL9xOYjSS5VIyUFF4MoxSbfZtXWaZFsMC1fXDNNL uRDrISotdwADuU75Fe0CAwEAAaOCAk4wggJKMD4GA1UdIAQ3MDUwDwYNKwYBBAGBrSGCLAEBBDAQ Bg4rBgEEAYGtIYIsAQEECjAQBg4rBgEEAYGtIYIsAgEECjAJBgNVHRMEAjAAMA4GA1UdDwEB/wQE AwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFDbROYIxDr3fvlX tkXqx7T8lihxMB8GA1UdIwQYMBaAFGs6mIv58lOJ2uCtsjIeCR/oqjt0MCAGA1UdEQQZMBeBFXR1 ZXhlbkBmaC1tdWVuc3Rlci5kZTCBjQYDVR0fBIGFMIGCMD+gPaA7hjlodHRwOi8vY2RwMS5wY2Eu ZGZuLmRlL2Rmbi1jYS1nbG9iYWwtZzIvcHViL2NybC9jYWNybC5jcmwwP6A9oDuGOWh0dHA6Ly9j ZHAyLnBjYS5kZm4uZGUvZGZuLWNhLWdsb2JhbC1nMi9wdWIvY3JsL2NhY3JsLmNybDCB2wYIKwYB BQUHAQEEgc4wgcswMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2 ZXIvT0NTUDBJBggrBgEFBQcwAoY9aHR0cDovL2NkcDEucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFs LWcyL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBJBggrBgEFBQcwAoY9aHR0cDovL2NkcDIucGNhLmRm bi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDANBgkqhkiG9w0BAQsF AAOCAQEALubmL854icQMxKxOxQK+deXTjC6CLYnUDwB8MvnDC+BSeh3tUHT37fSgsK1ShNUSNJX0 YF0VYLfZ6+lPyaFYLArVrAIHqvDiVURaulB9NA+3gck/VSuRz4ILYBy61XbcGQQ8Wx+g6TcqsjsF oOhqEBycj5QuITj+EFmX8nvfo0dJtVa2OPDk1N9beLfQBcLhspJ/nv0pKhpNWv5YETG26YqYfsC7 FA/ZNGvRcoOPkjkDhBTtG+qq9DDD75XtGEBZhYXbnG15tn4/UV07B+UyK4/cqQSA+My5FML3YsQw EYrV9klVD/mLMOdZV5+95xt7O8IdYeHrBapVlhANH5bFazGCBJ0wggSZAgEBMIGeMIGNMQswCQYD VQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBG b3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUwIwYDVQQDDBxERk4tVmVy ZWluIEdsb2JhbCBJc3N1aW5nIENBAgwmtEKU0pHN60HSNz8wDQYJYIZIAWUDBAIBBQCgggHPMBgG CSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI0MDIyNTA5MjkyM1owLwYJ KoZIhvcNAQkEMSIEIHh3tHHhWfYuU7gGMzmBvpuJT2nknD48A3sOOx4Hz58GMIGvBgkrBgEEAYI3 EAQxgaEwgZ4wgY0xCzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZvZXJkZXJ1bmcg ZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsMB0RGTi1QS0kx JTAjBgNVBAMMHERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCa0QpTSkc3rQdI3PzCBsQYL KoZIhvcNAQkQAgsxgaGggZ4wgY0xCzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZv ZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsM B0RGTi1QS0kxJTAjBgNVBAMMHERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCa0QpTSkc3r QdI3PzANBgkqhkiG9w0BAQsFAASCAgANJFHYWeRQtr5LcVbuPCxw4V0Wb3tNcv074a1VgYUAtqUA TA/WyX4GksJ9uxUwh/rfO3Uf1Qh5XkanB7SnabRBL8FFMLdlsdBHOLlK64uDAvhZ8ZXKWgewwir8 82/KX102LTA5bo0VHz9Mpsd598/7rHsqJnS3bzKpmePn2gsiuCQlr0PgONAhAm6EmX2/z6EwJtyW A6EdPoAL4fA65IaXkFSycFrk6mCR4wDPDhu+81sJnRZG+gSjK+Ur8ziHdG96p/kmQx5GKccKBJfl x5E5VYAOZgoP4xTfBtrdJ+JunNh78MwwyAlz6EecnkOukRbUQed+8hWMqmn0LENs2kGZGHnDSV1M 53WSjG57gHvpe/rt1i6jafnQbAsw5Q3YugDwDLEPpgm6IO+/KaSUneYNA0c0RT2Du/kgIMjv27xv ZzxFmb8+3mschwKmMBhEJrygjGLgDpC2I7rJc/QVkWor5vrrzJrbR/4LaGQ1Pw0aLSy4GoDf6m7C fyrfUk6nTd7WkBcfk+5G0NLiiytvJcfwP9Pt3F29tVQVlH79VSfWZEfl5X4tf3jQoaIuHluXpicQ 0ZoZdaQqs+S64R8XAbAOkTgoAtNCFQNjuVN6pc/tQQ96OO8Y/YC0vHFfei13r91QGXbOECbzcOVg fJSfISrIS/jcXvUO3eZGhHGRwXV4PAAAAAAAAA== --Apple-Mail=_05E37298-BFCE-4336-BAEA-AE1983E28300-- From nobody Sun Feb 25 11:49:14 2024 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 4TjMV23z9Cz5B4Wx; Sun, 25 Feb 2024 11:49: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 4TjMV23SpWz41dM; Sun, 25 Feb 2024 11:49:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708861754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uJBeUyWHnrtJZmOQeGpHLfpoa17aaUg2H6QRDSZP6YE=; b=viDvefjrBavSUK7MQz/hfOhyhqkyqfosqW3hi72Qp4dNBwEXybeMcxLmFDKqLhyBfxlKm7 INlBv3QO0kOh7Rf+sngtieASikZqF+iZU76KsGz3TyxGyxVAQfHc8DK9uo0uwANLKTxNun LscVQYImeMxc1wyBD7ISHz9oAIbuIzXiFhCRKSkk/0oL1FqA6pxLKQ/rpe7ASQxs13fFIk YM/zrIOvldhVznqf3Nq4i39HABA8Wi8mu18OOltRhP1oXbbr5jRzWJUfMoV+pqZDPB6jb6 RPHxFjWqlJyzQmIrovOvbhA9pvC1TDKHO9ji1K+YCpg5zvH7vOh3xOhJJWEhcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708861754; a=rsa-sha256; cv=none; b=RodSP+L3NIv//vJ4yi8VjAOh2dZ4pZPWuOLJLdTr00PCkZA2mbq7/Zwk60LdKuMBEnvOMg AorLG3clhtmbzx9D0ME/xlHjLmMiW4/ewauEWj9+SVE0iSKWMwm7giJenyC0HXxKEY9aOx VlB+bbTyFbqCdsmNcdozNYaAxtv/4GUZkbu3uXtEV5JVL3mFqWiPXiZRDQGJ2nV35e0XK8 X0quVyoeoX+kjZWGbiHOx5d6/deoIQz81KgmzxVAfrHdODEcT5jNFfp5qIt3IK7coqsTrE +HDmsKRAt2oZmVQZqTvn61G0HazzszteZxpcDTMhGwONgiSGVlUrBgtnap7GPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708861754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uJBeUyWHnrtJZmOQeGpHLfpoa17aaUg2H6QRDSZP6YE=; b=e6woChHnE7xJ4uK6Dp0f0i5IX9VFSs8NOtoaY7iDHFicICwNGpgTyFMoDqncXrPYLw0GnD jVmobsmjL1DN/pMNB3RRl8mVAzVSJ6NgbTlx2ldM0x8u8OFJ5CmTimdTu6OXreFzaKiEeg TVOKJxtbPvpUBRiRMBnd48V5KQARxo2l3vtufMYO6qv1babhWItoUL0qgDP4EfsTDHKIgp oyX+FAb6HzFIHQ7z/W4q5vy7K+1cK5nYi+6pjdlZLKL/gW6jPmZ5t3Co1Fs8YIxtNVWaHN A2fFD/NGSP1jXL9NVyPiN7h+s0JNVJGMT62biRRsIBKnuYifjl3+ldFxqTBv8Q== 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 4TjMV22WJQzjTK; Sun, 25 Feb 2024 11:49: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 41PBnEfH086744; Sun, 25 Feb 2024 11:49:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41PBnENk086741; Sun, 25 Feb 2024 11:49:14 GMT (envelope-from git) Date: Sun, 25 Feb 2024 11:49:14 GMT Message-Id: <202402251149.41PBnENk086741@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: c9b6241e250a - main - tcp: address enum-int-mismatch fix gcc13 error after f74352fbcf15341accaf5a92240871f98323215d 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: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c9b6241e250a4f1156e2150ccdbad0d3029dcef6 Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=c9b6241e250a4f1156e2150ccdbad0d3029dcef6 commit c9b6241e250a4f1156e2150ccdbad0d3029dcef6 Author: Richard Scheffenegger AuthorDate: 2024-02-25 03:45:05 +0000 Commit: Richard Scheffenegger CommitDate: 2024-02-25 03:46:39 +0000 tcp: address enum-int-mismatch fix gcc13 error after f74352fbcf15341accaf5a92240871f98323215d --- sys/netinet/cc/cc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/cc/cc.c b/sys/netinet/cc/cc.c index 9308b5f8d764..adcb16e87637 100644 --- a/sys/netinet/cc/cc.c +++ b/sys/netinet/cc/cc.c @@ -452,7 +452,7 @@ newreno_cc_after_idle(struct cc_var *ccv) * Perform any necessary tasks before we enter congestion recovery. */ void -newreno_cc_cong_signal(struct cc_var *ccv, uint32_t type) +newreno_cc_cong_signal(struct cc_var *ccv, ccsignal_t type) { uint32_t cwin, factor, mss, pipe; From nobody Sun Feb 25 12:30:29 2024 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 4TjNPn1ChTz5B8Pk; Sun, 25 Feb 2024 12:30:37 +0000 (UTC) (envelope-from bapt@nours.eu) 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) by mx1.freebsd.org (Postfix) with ESMTPS id 4TjNPm2vGnz46bG; Sun, 25 Feb 2024 12:30:36 +0000 (UTC) (envelope-from bapt@nours.eu) Authentication-Results: mx1.freebsd.org; none Received: from [IPv6:::1] (2a02-8428-078f-2201-3283-37fb-2795-6f19.rev.sfr.net [IPv6:2a02:8428:78f:2201:3283:37fb:2795:6f19]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aniel.nours.eu (Postfix) with ESMTPSA id 0BE4210CEA; Sun, 25 Feb 2024 13:30:29 +0100 (CET) Date: Sun, 25 Feb 2024 13:30:29 +0100 From: Baptiste Daroussin To: Richard Scheffenegger , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: =?US-ASCII?Q?Re=3A_git=3A_c9b6241e250a_-_main_-_?= =?US-ASCII?Q?tcp=3A_address_enum-int-mismatch_?= =?US-ASCII?Q?_fix_gcc13_error_after_f74352fb?= =?US-ASCII?Q?cf15341accaf5a92240871f98323215d?= User-Agent: K-9 Mail for Android In-Reply-To: <202402251149.41PBnENk086741@gitrepo.freebsd.org> References: <202402251149.41PBnENk086741@gitrepo.freebsd.org> Message-ID: <8136FFC0-33D6-4E57-8835-452A0A4E9A03@nours.eu> 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=----D698OXYCBC5PNXG3R5A7JIX564LU6D 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:16276, ipnet:176.31.0.0/16, country:FR] X-Rspamd-Queue-Id: 4TjNPm2vGnz46bG ------D698OXYCBC5PNXG3R5A7JIX564LU6D Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Le 25 f=C3=A9vrier 2024 12:49:14 GMT+01:00, Richard Scheffenegger a =C3=A9crit=C2=A0: >The branch main has been updated by rscheff: > >URL: https://cgit=2EFreeBSD=2Eorg/src/commit/?id=3Dc9b6241e250a4f1156e215= 0ccdbad0d3029dcef6 > >commit c9b6241e250a4f1156e2150ccdbad0d3029dcef6 >Author: Richard Scheffenegger >AuthorDate: 2024-02-25 03:45:05 +0000 >Commit: Richard Scheffenegger >CommitDate: 2024-02-25 03:46:39 +0000 > > tcp: address enum-int-mismatch > fix gcc13 error after f74352fbcf15341accaf5a92240871f98323215d >--- > sys/netinet/cc/cc=2Ec | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/sys/netinet/cc/cc=2Ec b/sys/netinet/cc/cc=2Ec >index 9308b5f8d764=2E=2Eadcb16e87637 100644 >--- a/sys/netinet/cc/cc=2Ec >+++ b/sys/netinet/cc/cc=2Ec >@@ -452,7 +452,7 @@ newreno_cc_after_idle(struct cc_var *ccv) > * Perform any necessary tasks before we enter congestion recovery=2E > */ > void >-newreno_cc_cong_signal(struct cc_var *ccv, uint32_t type) >+newreno_cc_cong_signal(struct cc_var *ccv, ccsignal_t type) > { > uint32_t cwin, factor, mss, pipe; >=20 Somehow incremental build has been broken in the last couple of days=2E /home/bapt/worktrees/main/sys/netinet/cc/cc=2Ec:475:10: error: 6 enumerati= on values not handled in switch: 'CC_ACK', 'CC_DUPACK', 'CC_PARTIALACK'=2E= =2E=2E [-Werror,-Wswitch] 4= 75 | switch (type) { | ^= ~~~ This is the error I get since this commit in buildkernel for pkgbase, all = arches Best regards, Bapt ------D698OXYCBC5PNXG3R5A7JIX564LU6D Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
    Le 25= f=C3=A9vrier 2024 12:49:14 GMT+01:00, Richard Scheffenegger <rscheff@Fr= eeBSD=2Eorg> a =C3=A9crit=C2=A0:
    The branch main has been updated b= y rscheff:

    URL: https://cgit=2EFreeBSD=2Eorg= /src/commit/?id=3Dc9b6241e250a4f1156e2150ccdbad0d3029dcef6

    commi= t c9b6241e250a4f1156e2150ccdbad0d3029dcef6
    Author: Richard Scheffene= gger <rscheff@FreeBSD=2Eorg>
    AuthorDate: 2024-02-25 03:45:05 +0000=
    Commit: Richard Scheffenegger <rscheff@FreeBSD=2Eorg>
    Comm= itDate: 2024-02-25 03:46:39 +0000

    tcp: address enum-int-mismatch=
    fix gcc13 error after f74352fbcf15341accaf5a92240871f98323215d
    = sys/netinet/cc/cc=2Ec | 2 +-
    1 file changed, 1 insertion(+), 1 deletion= (-)

    diff --git a/sys/netinet/cc/cc=2Ec b/sys/netinet/cc/cc=2Ec
    in= dex 9308b5f8d764=2E=2Eadcb16e87637 100644
    --- a/sys/netinet/cc/cc=2Ec+++ b/sys/netinet/cc/cc=2Ec
    @@ -452,7 +452,7 @@ newreno_cc_after_idle(s= truct cc_var *ccv)
    * Perform any necessary tasks before we enter conge= stion recovery=2E
    */
    void
    -newreno_cc_cong_signal(struct cc_var= *ccv, uint32_t type)
    +newreno_cc_cong_signal(struct cc_var *ccv, ccsign= al_t type)
    {
    uint32_t cwin, factor, mss, pipe;


    Somehow incremental= build has been broken in the last couple of days=2E

    /home/bapt/work= trees/main/sys/netinet/cc/cc=2Ec:475:10: error: 6 enumeration values not ha= ndled in switch: 'CC_ACK', 'CC_DUPACK', 'CC_PARTIALACK'=2E=2E=2E [-Werror,-= Wswitch]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 47= 5 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 switch (type) {=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~

    This is the error I get since th= is commit in buildkernel for pkgbase, all arches

    Best regards,
    Ba= pt
    ------D698OXYCBC5PNXG3R5A7JIX564LU6D-- From nobody Sun Feb 25 13:30:56 2024 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 4TjPm62DNgz5BG8s; Sun, 25 Feb 2024 13:31:34 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Received: from smtp6.goneo.de (smtp6.goneo.de [IPv6:2001:1640:5::8:31]) (using TLSv1.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 4TjPm55TpPz4KSr; Sun, 25 Feb 2024 13:31:33 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Authentication-Results: mx1.freebsd.org; none Received: from hub2.goneo.de (hub2.goneo.de [IPv6:2001:1640:5::8:53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp6.goneo.de (Postfix) with ESMTPS id A1FE0240865; Sun, 25 Feb 2024 14:31:26 +0100 (CET) Received: from hub2.goneo.de (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by hub2.goneo.de (Postfix) with ESMTPS id A9F822400CA; Sun, 25 Feb 2024 14:31:24 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walstatt-de.de; s=DKIM001; t=1708867884; 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=S+FhDwrTzrFkUPhLz0nskzKfL3eJKREd5fVui8k+sNc=; b=UitLQHoCktC8VsJuR7/LGDinsqybBlhdy5v7QxIvurTP2VE9dFf/um1BxJaKIlZwBgv4jg h8p3UCIVDxZmiQID/e2/jGzQTBOFYAto4TwCSQ6IoCIIJhUXfkmEOBMkKhTBnoqBHJyX/J 3pxixyq+70hFLXqZS1L2Yy20/iElCR4npToK4rRDTZ5hT28q6SGOtBRW9868CFcJEPUoNS oJMQyK/W1fg2mHN3Io/6xic2wrEGCqXj2JmGBZ5jY9zkntyDx58CajHQKq+Vfp+77h7+EH M4PHRWo5xPpwKwCueaPOOoOgJzS6+3bOyZchRbpeM0qVErMWq+NtQM2TTeS7IA== Received: from thor.intern.walstatt.dynvpn.de (dynamic-077-013-153-128.77.13.pool.telefonica.de [77.13.153.128]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by hub2.goneo.de (Postfix) with ESMTPSA id 6BE53240022; Sun, 25 Feb 2024 14:31:24 +0100 (CET) Date: Sun, 25 Feb 2024 14:30:56 +0100 From: FreeBSD User To: Richard Scheffenegger Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: c9b6241e250a - main - tcp: address enum-int-mismatch fix gcc13 error after f74352fbcf15341accaf5a92240871f98323215d Message-ID: <20240225143123.5cd90ae3@thor.intern.walstatt.dynvpn.de> In-Reply-To: <202402251149.41PBnENk086741@gitrepo.freebsd.org> References: <202402251149.41PBnENk086741@gitrepo.freebsd.org> Organization: walstatt-de.de 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-Rspamd-UID: fa6e7b X-Rspamd-UID: 9c004a 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:25394, ipnet:2001:1640::/32, country:DE] X-Rspamd-Queue-Id: 4TjPm55TpPz4KSr Am Sun, 25 Feb 2024 11:49:14 GMT Richard Scheffenegger schrieb: > The branch main has been updated by rscheff: > > URL: https://cgit.FreeBSD.org/src/commit/?id=c9b6241e250a4f1156e2150ccdbad0d3029dcef6 > > commit c9b6241e250a4f1156e2150ccdbad0d3029dcef6 > Author: Richard Scheffenegger > AuthorDate: 2024-02-25 03:45:05 +0000 > Commit: Richard Scheffenegger > CommitDate: 2024-02-25 03:46:39 +0000 > > tcp: address enum-int-mismatch > fix gcc13 error after f74352fbcf15341accaf5a92240871f98323215d > --- > sys/netinet/cc/cc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sys/netinet/cc/cc.c b/sys/netinet/cc/cc.c > index 9308b5f8d764..adcb16e87637 100644 > --- a/sys/netinet/cc/cc.c > +++ b/sys/netinet/cc/cc.c > @@ -452,7 +452,7 @@ newreno_cc_after_idle(struct cc_var *ccv) > * Perform any necessary tasks before we enter congestion recovery. > */ > void > -newreno_cc_cong_signal(struct cc_var *ccv, uint32_t type) > +newreno_cc_cong_signal(struct cc_var *ccv, ccsignal_t type) > { > uint32_t cwin, factor, mss, pipe; > > The patch corrupts building the kernel: /usr/src/sys/netinet/cc/cc.c:475:10: error: 6 enumeration values not handled in switch: 'CC_ACK', 'CC_DUPACK', 'CC_PARTIALACK'... [-Werror,-Wswitch] -- O. Hartmann From nobody Sun Feb 25 16:34:57 2024 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 4TjTql2skBz5BYkV; Sun, 25 Feb 2024 16:34:59 +0000 (UTC) (envelope-from bapt@nours.eu) 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) by mx1.freebsd.org (Postfix) with ESMTPS id 4TjTqk3mV7z4mvm; Sun, 25 Feb 2024 16:34:58 +0000 (UTC) (envelope-from bapt@nours.eu) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=pass (policy=none) header.from=nours.eu; spf=pass (mx1.freebsd.org: domain of bapt@nours.eu designates 176.31.115.77 as permitted sender) smtp.mailfrom=bapt@nours.eu Received: from [IPv6:::1] (2a02-8428-078f-2201-fbd7-2dba-7903-24bc.rev.sfr.net [IPv6:2a02:8428:78f:2201:fbd7:2dba:7903:24bc]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aniel.nours.eu (Postfix) with ESMTPSA id 00EA2112E2; Sun, 25 Feb 2024 17:34:55 +0100 (CET) Date: Sun, 25 Feb 2024 17:34:57 +0100 From: Baptiste Daroussin To: Richard Scheffenegger , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: =?US-ASCII?Q?Re=3A_git=3A_c9b6241e250a_-_main_-_?= =?US-ASCII?Q?tcp=3A_address_enum-int-mismatch_?= =?US-ASCII?Q?_fix_gcc13_error_after_f74352fb?= =?US-ASCII?Q?cf15341accaf5a92240871f98323215d?= User-Agent: K-9 Mail for Android In-Reply-To: <8136FFC0-33D6-4E57-8835-452A0A4E9A03@nours.eu> References: <202402251149.41PBnENk086741@gitrepo.freebsd.org> <8136FFC0-33D6-4E57-8835-452A0A4E9A03@nours.eu> Message-ID: <1B1DFBB8-6926-48DF-9192-E794D60B6E3D@nours.eu> 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=----6R0Z6S6D35S1COZOCMTQIGOQU8WOF7 Content-Transfer-Encoding: 7bit X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.50 / 15.00]; SUBJ_EXCESS_QP(1.20)[]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[nours.eu,none]; R_SPF_ALLOW(-0.20)[+ip4:176.31.115.77]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; ONCE_RECEIVED(0.10)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; ASN(0.00)[asn:16276, ipnet:176.31.0.0/16, country:FR]; RCVD_COUNT_ONE(0.00)[1]; FREEFALL_USER(0.00)[bapt]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4TjTqk3mV7z4mvm ------6R0Z6S6D35S1COZOCMTQIGOQU8WOF7 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Le 25 f=C3=A9vrier 2024 13:30:29 GMT+01:00, Baptiste Daroussin a =C3=A9crit=C2=A0: >Le 25 f=C3=A9vrier 2024 12:49:14 GMT+01:00, Richard Scheffenegger a =C3=A9crit=C2=A0: >>The branch main has been updated by rscheff: >> >>URL: https://cgit=2EFreeBSD=2Eorg/src/commit/?id=3Dc9b6241e250a4f1156e21= 50ccdbad0d3029dcef6 >> >>commit c9b6241e250a4f1156e2150ccdbad0d3029dcef6 >>Author: Richard Scheffenegger >>AuthorDate: 2024-02-25 03:45:05 +0000 >>Commit: Richard Scheffenegger >>CommitDate: 2024-02-25 03:46:39 +0000 >> >> tcp: address enum-int-mismatch >> fix gcc13 error after f74352fbcf15341accaf5a92240871f98323215d >>--- >> sys/netinet/cc/cc=2Ec | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >>diff --git a/sys/netinet/cc/cc=2Ec b/sys/netinet/cc/cc=2Ec >>index 9308b5f8d764=2E=2Eadcb16e87637 100644 >>--- a/sys/netinet/cc/cc=2Ec >>+++ b/sys/netinet/cc/cc=2Ec >>@@ -452,7 +452,7 @@ newreno_cc_after_idle(struct cc_var *ccv) >> * Perform any necessary tasks before we enter congestion recovery=2E >> */ >> void >>-newreno_cc_cong_signal(struct cc_var *ccv, uint32_t type) >>+newreno_cc_cong_signal(struct cc_var *ccv, ccsignal_t type) >> { >> uint32_t cwin, factor, mss, pipe; >>=20 > >Somehow incremental build has been broken in the last couple of days=2E > >/home/bapt/worktrees/main/sys/netinet/cc/cc=2Ec:475:10: error: 6 enumerat= ion values not handled in switch: 'CC_ACK', 'CC_DUPACK', 'CC_PARTIALACK'=2E= =2E=2E [-Werror,-Wswitch] 4= 75 | switch (type) { | ^= ~~~ > >This is the error I get since this commit in buildkernel for pkgbase, all= arches > >Best regards, >Bapt Ci confirms all arches are broken ------6R0Z6S6D35S1COZOCMTQIGOQU8WOF7 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
    Le 25= f=C3=A9vrier 2024 13:30:29 GMT+01:00, Baptiste Daroussin <bapt@nours=2E= eu> a =C3=A9crit=C2=A0:
    Le 25 f=C3=A9vrier 2024 12:49= :14 GMT+01:00, Richard Scheffenegger <rscheff@FreeBSD=2Eorg> a =C3=A9= crit :
    The branch main has been updated b= y rscheff:

    URL: https://cgit=2EFreeBSD=2Eorg= /src/commit/?id=3Dc9b6241e250a4f1156e2150ccdbad0d3029dcef6

    commi= t c9b6241e250a4f1156e2150ccdbad0d3029dcef6
    Author: Richard Scheffene= gger <rscheff@FreeBSD=2Eorg>
    AuthorDate: 2024-02-25 03:45:05 +0000=
    Commit: Richard Scheffenegger <rscheff@FreeBSD=2Eorg>
    Comm= itDate: 2024-02-25 03:46:39 +0000

    tcp: address enum-int-mismatch=
    fix gcc13 error after f74352fbcf15341accaf5a92240871f98323215d
    = sys/netinet/cc/cc=2Ec | 2 +-
    1 file changed, 1 insertion(+), 1 deletion= (-)

    diff --git a/sys/netinet/cc/cc=2Ec b/sys/netinet/cc/cc=2Ec
    in= dex 9308b5f8d764=2E=2Eadcb16e87637 100644
    --- a/sys/netinet/cc/cc=2Ec+++ b/sys/netinet/cc/cc=2Ec
    @@ -452,7 +452,7 @@ newreno_cc_after_idle(s= truct cc_var *ccv)
    * Perform any necessary tasks before we enter conge= stion recovery=2E
    */
    void
    -newreno_cc_cong_signal(struct cc_var= *ccv, uint32_t type)
    +newreno_cc_cong_signal(struct cc_var *ccv, ccsign= al_t type)
    {
    uint32_t cwin, factor, mss, pipe;


    Somehow incremental= build has been broken in the last couple of days=2E

    /home/bapt/work= trees/main/sys/netinet/cc/cc=2Ec:475:10: error: 6 enumeration values not ha= ndled in switch: 'CC_ACK', 'CC_DUPACK', 'CC_PARTIALACK'=2E=2E=2E [-Werror,-= Wswitch]           &= nbsp;           &nbs= p;            &= nbsp;            475= |         switch (type) { &nb= sp;            =             &nb= sp; |           &nbs= p;     ^~~~

    This is the error I get since this c= ommit in buildkernel for pkgbase, all arches

    Best regards,
    Bapt

    Ci confirms all = arches are broken
    ------6R0Z6S6D35S1COZOCMTQIGOQU8WOF7-- From nobody Sun Feb 25 18:03:36 2024 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 4TjWp11PQZz5Bj2B; Sun, 25 Feb 2024 18:03:37 +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 4TjWp10rpXz464Z; Sun, 25 Feb 2024 18:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708884217; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U5empYguDYoQyMlqk26YnrnFfqCGjFkaamViCxaDtF8=; b=h9uGoViLO+cbUJQK+PmIxT+oVbUcquviKv2taOUWohhbtBAuARsK5brFuoa4CKtU+3BgG6 yeytPuKlwigajWw6tezW9zMt6h4yLLyzf/7EW0Dh3HZMXtngz9Ibb++45PquluY/E+Dlpf XCK7touO0nDs7QymK+xSKPxLip90Ke2I1JyLFkoRs76OInGOj77C0XI4Rx7Zq3F/mbvPaV DfTk4u1dqjth+0R+G7zWJcj976ruLXdIflbQlJSOLjOUMWBdET+wnEf9Ap3usmVS3mAXHj VjEPqktyRfUK7+tiTMumN7XRbGHRxMzpRiAcxorFQByVOtMRjXRfs1mLsrX0Rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708884217; a=rsa-sha256; cv=none; b=nKkvWQ2pM0j2iVIeLjK4fZeJI0WHogQZOVGkKwo9SX3pMXWW6Uonh0wb3Gtlm+VZhwhAtA 1xcPxQQPKioDGdgtlCEuL5EoUnBqQFor41/UMcbUV3nqRbOSCiUb3YmaI/BOOL+2pya1eL dbRMPX/ksNGqjDKr2B4uX0rrmdpI+QOsqb7EP9Q5UvUZzr6//fQAWigI1VgY1QpFLCHeZY atY+Fa1VVLpBOgDpk0/5H325dKhLkwzH4kkI/KlKw679TiyVtY+dsWWJHnHxoEiynxorbZ aFPbQ1UK17VTNINzAO63hfIIIVmUEaDuHG2IGhFY4EF9Lme+PhOUKNmf73BrYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708884217; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U5empYguDYoQyMlqk26YnrnFfqCGjFkaamViCxaDtF8=; b=naOdhxiDEqWoGZupdg3xFVSEcGmRcRbGQzGkNQb6Rk7VUrwHAUnU4r9x1SNxhpQQhiznkY m9XUQ4pl7uwin/1NokbXIBp090cz0+0SvoxG7lRTzwU3MXej96+hYS+4wrmhlmHRa0OLV2 XapnX6e1ZHWi8GK+bCAEOkQWBSz0rl8E1rNTnpQI4bKR0P9e91AhBHnoM2TRAQ6DhrjISN AtFLfePgJwQxeg8Iqu/e5CrB4+84gb5wFWCMUMhzWvk1TuM2WOOHppB3YlUgGnsSqo24vs WLPVO+IR5Z0cIriD7P7JqlVUU3+L2fTP6SVDLVBxehshaEJEObAY01b8/wWoYg== 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 4TjWp071NdztX4; Sun, 25 Feb 2024 18:03: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 41PI3aFZ034640; Sun, 25 Feb 2024 18:03:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41PI3aAq034637; Sun, 25 Feb 2024 18:03:36 GMT (envelope-from git) Date: Sun, 25 Feb 2024 18:03:36 GMT Message-Id: <202402251803.41PI3aAq034637@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gleb Smirnoff Subject: git: 1e74fc950419 - stable/14 - arp: fix arp -s/-S 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 1e74fc950419f2b2482d313fc664cc03aa46f13c Auto-Submitted: auto-generated The branch stable/14 has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=1e74fc950419f2b2482d313fc664cc03aa46f13c commit 1e74fc950419f2b2482d313fc664cc03aa46f13c Author: Gleb Smirnoff AuthorDate: 2024-02-20 18:31:05 +0000 Commit: Gleb Smirnoff CommitDate: 2024-02-25 18:03:17 +0000 arp: fix arp -s/-S When setting a permanent ARP entry, the route(4) would use rtm->rtm_rmx.rmx_expire == 0 as a flag for installing a static entry, but netlink(4) is looking for explicit NTF_STICKY flag in the request. The arp(8) utility was adopted to use netlink(4) by default, but it has lots of route-era guts internally. Specifically there is global variable 'opts' that shares configuration for both protocols, and it is still initialized with route(4) specific RTF_xxx flags. In set_nl() these flags are translated to netlink(4) parameters. However, RTF_STATIC is a flag that is never set by default, so attempt to use it as a proxy flag manifesting -s/-S results in losing it. Use zero opts.expire_time as a manifest of -s/-S operation. This is a minimal fix. A better one would be to fully get rid of route(4) legacy. The change also corrects the logic to set NUD_PERMANENT flag for consistency. This flag is ignored by our kernel (now). Reviewed by: melifaro, tuexen, emaste PR: 277063 Fixes: 6ad73dbf65048b0950a1ba6ff25607f6708c8954 Differential Revision: https://reviews.freebsd.org/D43983 (cherry picked from commit 6a3e87e1306d5058d63f7552a25ed6376422f658) --- usr.sbin/arp/arp_netlink.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/usr.sbin/arp/arp_netlink.c b/usr.sbin/arp/arp_netlink.c index d78f380af04b..8644f3722aed 100644 --- a/usr.sbin/arp/arp_netlink.c +++ b/usr.sbin/arp/arp_netlink.c @@ -390,9 +390,6 @@ set_nl(uint32_t ifindex, struct sockaddr_in *dst, struct sockaddr_dl *sdl, char return (0); } - if (opts.expire_time != 0) - opts.flags &= ~RTF_STATIC; - snl_init_writer(&ss, &nw); struct nlmsghdr *hdr = snl_create_msg_request(&nw, RTM_NEWNEIGH); hdr->nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE; @@ -402,11 +399,12 @@ set_nl(uint32_t ifindex, struct sockaddr_in *dst, struct sockaddr_dl *sdl, char ndmsg->ndm_family = AF_INET; ndmsg->ndm_ifindex = ifindex; - ndmsg->ndm_state = (opts.flags & RTF_STATIC) ? NUD_PERMANENT : NUD_NONE; + ndmsg->ndm_state = (opts.expire_time == 0) ? \ + NUD_PERMANENT : NUD_NONE; if (opts.flags & RTF_ANNOUNCE) nl_flags |= NTF_PROXY; - if (opts.flags & RTF_STATIC) + if (opts.expire_time == 0) nl_flags |= NTF_STICKY; ndmsg->ndm_flags = nl_flags; } From nobody Sun Feb 25 19:09:06 2024 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 4TjYFb3rXsz5BpRh; Sun, 25 Feb 2024 19:09: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 4TjYFb0Qjhz4Ft5; Sun, 25 Feb 2024 19:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708888147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qO7+K8/btQRpfqparwIgxLZsezIgX4oQ9JOTr+dwJuY=; b=HUyOVO1Z1QdkzxJ98YVFqAbAUb3CdM2ycD+2IX/L2J6T8EWk//p36VD4Ikr4+Vbd9XRPwp UjlyAGjuXQNThw65bitjIq/LoEoVigAseKwo1BjGXHaq5COcaoF/q4ZiCGHlboFCsdXd4h ehbL5GI3WeznTTV0Yf+CCO/f4LLfhcydozFNaXSAAJe6j6VuvYZXJ8LIuTiMe7UB1DHdAz OPp+rZwk/Mz1ZpdehW1uUI+a5o/2QdPbsd+FZt7QSq4Vba6hsZZ64rga+uoqz7d2YUtK3D BIkY8UGLEi/5I/g+d/rBVu+6O3fvNTtAGSZzIyW2Ls0hLa4Zix+veByaxCSvAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708888147; a=rsa-sha256; cv=none; b=Z/5V1uK0Hmgt3qAUZzQEg+J2Ml5uziBFIznyOFMs8l2W+gkawP6A6dFwd2uwLI1wZFMn7d qOS09U7yi7F3CyX6MmtotOFOMiBqNVJVJ6sU3GbZ43gSAmBx3kCEWFO3/2VzU1HNEY0UTG ZxtcBmdPcsKi2F2OMt10G+ZUX4gY1H8OGLI5fE6rUTOkzoniN7QAmaXl0H1WyeIjjqk612 LqRqcvfIzx5YuPTSXp49FY9tV/V/fa3fv1p+AKogrVBVaY65rAI0EyfEwa3nlDNYdsz0MA yyPfFmHvLS1d7nw8I33sQt8LIw0ELJ9Y6JfohJxu9h8RjDWtz49kjijt+e5mkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708888147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qO7+K8/btQRpfqparwIgxLZsezIgX4oQ9JOTr+dwJuY=; b=pDJnfvCTZS5zao5WriaDx/w9qqyqycMDMCm5LhOd91sSyVYCj2ql6IQDmdG7BngdcKOjJu lGHz1APWlA1xHbPUQVpBJVdXJiiu7wkwOfzCWe6X5G/YImX6KlgmyKB4nlHx0aBOd9phfm v3ZRvuDDrnUPhUYuK76aFfJT9NaL+zFJ5Cum7YFotko15ZIICOFA3pA51r6ez0P5S6AEHr 3BSUk5floNWw9typFM0cOa4brX6Pqfb3VcBf2mHcMmDp81wOsl0QP4IAeaykpi9ebR5Yi5 lBFnZB7debUu1XvF5/SgSJ5bOf06SwfUtqXQUUQrlJop+9evKeXbfCha0S4YoA== 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 4TjYFZ5rwpzwgB; Sun, 25 Feb 2024 19:09: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 41PJ96qM037740; Sun, 25 Feb 2024 19:09:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41PJ96lv037737; Sun, 25 Feb 2024 19:09:06 GMT (envelope-from git) Date: Sun, 25 Feb 2024 19:09:06 GMT Message-Id: <202402251909.41PJ96lv037737@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 8917131e00b0 - main - tcp: need default in switch statement for enum. fix clang error after c9b6241e250a4f1156e2150ccdbad0d3029dcef6 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: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8917131e00b0fcd47113bdf3fa8f9b01d6c7f8da Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=8917131e00b0fcd47113bdf3fa8f9b01d6c7f8da commit 8917131e00b0fcd47113bdf3fa8f9b01d6c7f8da Author: Richard Scheffenegger AuthorDate: 2024-02-25 07:23:07 +0000 Commit: Richard Scheffenegger CommitDate: 2024-02-25 07:24:13 +0000 tcp: need default in switch statement for enum. fix clang error after c9b6241e250a4f1156e2150ccdbad0d3029dcef6 Reviewed By: imp Differential Revision: https://reviews.freebsd.org/D44081 --- sys/netinet/cc/cc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netinet/cc/cc.c b/sys/netinet/cc/cc.c index adcb16e87637..9a8ca760fa28 100644 --- a/sys/netinet/cc/cc.c +++ b/sys/netinet/cc/cc.c @@ -501,6 +501,8 @@ newreno_cc_cong_signal(struct cc_var *ccv, ccsignal_t type) } CCV(ccv, snd_cwnd) = mss; break; + default: + break; } } From nobody Sun Feb 25 20:36:22 2024 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 4TjbBG39dcz5C2M8; Sun, 25 Feb 2024 20:36: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 4TjbBG2dpKz4QtL; Sun, 25 Feb 2024 20:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708893382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y7ucEgSSV0feaI2ZWijGT5Kgxi0uVy2lbysBrKRu304=; b=GFck6Pmnt1Lt0CbCNXhcD9bCUYlAylcS/dr7fYCYkHnst9EpwkzJkqLXxLY2gwftuwZwIm lW2xyLvpPUMUaWkxo5XHbC8nkJoffXEQlzVOkSzK2nmlGC96y+DcSqYbRZgCCSSy8rP9Tz aS2J8RhYqluW0lMEe4N/iWwr1vXGgqlKdlbNzw4RMax4f/0DTnT7zQJzets/0KfzIM5UtS 8v0UPf3h5w5Dfb1jF2W2NI0zBWEUkoSmeMZ3NmxjJ+u1O4lvkARolBvcoXJxs7gD0zgH7b f9XDKj6esTUstpqs+Ag4AB41XXxzWXXdOWiLU9nXP32fQAYfrnHQP3gb2chcKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708893382; a=rsa-sha256; cv=none; b=WZlVPG7epL7PC2BcOz6axUVzN95z3aYnqNIarO1EHBmgMbEXZciLv2DvSSjLtr8HO++Yn/ 3UIjmhboNg9n+sYoJ2/JjrGEJwVM6/ByE5mFXaaJvvOri7jlwiDg19nAlVaUF0sqNXdqse pnhSpqTHg8RB3mYg+U5Mnl2tbw1FBnuxULC+SRxCMSOFoRHP7vpY3eDLQQ0QoOL9a4wgDD czCOBrMvRoXRLmS1NizkHlj1VEp+nqJ/JLH+Ug6ofBmhMMR/D6sPUEJAJbFhWbs+F7OluL 5a6Xv/YshJqfXbn9ceSFx9BLFbd8jOW9zxO+pthQLtHmkN+1sD3+B1vrHe4DjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708893382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y7ucEgSSV0feaI2ZWijGT5Kgxi0uVy2lbysBrKRu304=; b=Gtkrzj3PS+tKQ7b216KWbhXMdBOJo3pqVuOFGY71VVIRmQiXzepnHlkyEg0JBOuBCXO4TA rl3QMdjPP3IR+pZDxdLal9U54PVLeN4rSpRyRA+SkgjZpBivmBkk8FY36DCf6/BXnhrLF3 9XDpqyKMI736CV0piaikqRzslRLts+12Ar0yXb5ayR0gErWdycOUqdRIw97m0eAkKKNETM kgXdLB1gEkIFFT7u+MEJHTCVb52R9zmCiU/a3oMJ8H565HcavEt/hnKteHuCv/9nG9E3kW tX8B+Jti5m1KxPDCSkS3WdXq1E+lCzuv2bTEOgQq82HPBN+FrOH/5dqfJQ+gSg== 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 4TjbBG1hCpzyhM; Sun, 25 Feb 2024 20:36: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 41PKaMdv089047; Sun, 25 Feb 2024 20:36:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41PKaMwn089044; Sun, 25 Feb 2024 20:36:22 GMT (envelope-from git) Date: Sun, 25 Feb 2024 20:36:22 GMT Message-Id: <202402252036.41PKaMwn089044@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: 32fdcff8703d - main - libc/sys: add errno 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 32fdcff8703da6f2795193acc77ec3c1fb8b723d Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=32fdcff8703da6f2795193acc77ec3c1fb8b723d commit 32fdcff8703da6f2795193acc77ec3c1fb8b723d Author: Konstantin Belousov AuthorDate: 2024-02-24 23:39:02 +0000 Commit: Konstantin Belousov CommitDate: 2024-02-25 20:35:17 +0000 libc/sys: add errno test Despite looking trivial, it requires proper split of exports from libsys and libc, proper filtering work in rtld, and operational libsys. Reviewed by: emaste, imp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D44075 --- lib/libc/tests/sys/Makefile | 1 + lib/libc/tests/sys/errno_test.c | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/lib/libc/tests/sys/Makefile b/lib/libc/tests/sys/Makefile index f44cec11225d..380b3b511049 100644 --- a/lib/libc/tests/sys/Makefile +++ b/lib/libc/tests/sys/Makefile @@ -7,6 +7,7 @@ PACKAGE= tests ATF_TESTS_C+= brk_test .endif ATF_TESTS_C+= cpuset_test +ATF_TESTS_C+= errno_test ATF_TESTS_C+= queue_test ATF_TESTS_C+= sendfile_test diff --git a/lib/libc/tests/sys/errno_test.c b/lib/libc/tests/sys/errno_test.c new file mode 100644 index 000000000000..27d0548fc29d --- /dev/null +++ b/lib/libc/tests/sys/errno_test.c @@ -0,0 +1,36 @@ +/*- + * Copyright (c) 2024 The FreeBSD Foundation + * + * SPDX-License-Identifier: BSD-2-Clause + * + * This software were developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + */ + +#include +#include + +#include + +ATF_TC(errno_basic); +ATF_TC_HEAD(errno_basic, tc) +{ + atf_tc_set_md_var(tc, "descr", + "Verify basic functionality of errno"); +} + +ATF_TC_BODY(errno_basic, tc) +{ + int res; + + res = unlink("/non/existent/file"); + ATF_REQUIRE(res == -1); + ATF_REQUIRE(errno == ENOENT); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, errno_basic); + + return (atf_no_error()); +} From nobody Sun Feb 25 21:48:00 2024 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 4Tjcmw5B1fz5C8mY; Sun, 25 Feb 2024 21:48: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 4Tjcmw4kWBz4bdk; Sun, 25 Feb 2024 21:48:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708897680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LKmxxRwXRsN4J2ZOveO6/G72pZUNf81vlacNV4ZHg5A=; b=HSjSbrw3758fpL5sGlYUjDwWkwwonS2M1L4LGOZ1x7HjLDZ0RJPzWM9q3vFnaMckqGbnkR IsYJuwUjez1HsgAnR1j+LevWGHG0FEMFWHl8UjzX0uZ6qCcOmkfk1SV0kPdeAt7Fs9VZdJ vm1OpQ7fGz1DSHk+Nkhn89o2I3ttCbpzUYa3p40GUaBVxocYOclm4LJFKk/guzgsg519wu swPrYVVGukhfu0mu542ZCCkpk/wJWECmuOUhUYU/LuPeOzCfq0U0MA/9wslMAkw8OEzyX8 ubQy/CzoxlIm329AvSMWC0LT6XEtmt2m8tRhtaSR97MlHzalsHudhHlX7wgw6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708897680; a=rsa-sha256; cv=none; b=cQ565+PH22H2CKdw9oMCfvxKSwRvnkKje7VqUaMX1e4zlgvhd7sIvkdBTmAOAewvmZ+p0j x4WOtc7u3fo2vYGBd+MxfYWLr+6PlQKCtBCdp2n4ugQzlGoSEonMc+CCBeY4yG4/KFRlDK 5VYnRx9J4deEJzqpKOjR3RJ3k7n8NIkj4kMKuSE+DhmRyZKMCkBXHzyLonTlGxLHPf8Qzi TRxkT1ru4J5SvRR9EeXydS7Nnx7v8gjZJQnWCm9vRYj/WSbr/5K+oYGtXlxu8HVVDrMJhk PDxm7vg12W7K99n2jA0+qJRmvQ9yrecnAzcLJdEpfEj1GUW30yRhr/MtISXVXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708897680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LKmxxRwXRsN4J2ZOveO6/G72pZUNf81vlacNV4ZHg5A=; b=AW4/pcEOHN290kTsdtHRJ4pZ8SrXFYQyKf9j6sdSDpc2sgA52utXr/BjEH4I27d3C/y+vV qukutBcSra8dDgfmHBl2GGvarontEQA4pjYQ9hsMgeDuGJvIjv+5zawmtLfQaEjeQ3na9Q atPV5HEOrM0QYoIkoAi0NFcviEvYXwNs/uXMl9INIxlLu4qTE5rHzZUf8mqvkXso9nBUwr R2klMkXGqjpj3h4D1JV7zgUM7+mANQwMQhSTTpvqxvE6Qr4ICK4iW+fLcCATSCtDKeOkFZ uFA0dfvzC+YIet/l+Pxc540WoxTolsK7MtnVdFfYuaxPRwCyL9ufLT0edfAiaQ== 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 4Tjcmw3fyxz11LD; Sun, 25 Feb 2024 21:48: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 41PLm0V3007193; Sun, 25 Feb 2024 21:48:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41PLm01B007190; Sun, 25 Feb 2024 21:48:00 GMT (envelope-from git) Date: Sun, 25 Feb 2024 21:48:00 GMT Message-Id: <202402252148.41PLm01B007190@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ruslan Bukin Subject: git: dc15f025062d - main - snd_hdspe(4): Optional unified pcm device. 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: br X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dc15f025062da40ac3a2529b6c979c597b9eb94c Auto-Submitted: auto-generated The branch main has been updated by br: URL: https://cgit.FreeBSD.org/src/commit/?id=dc15f025062da40ac3a2529b6c979c597b9eb94c commit dc15f025062da40ac3a2529b6c979c597b9eb94c Author: Florian Walpen AuthorDate: 2024-02-25 21:39:36 +0000 Commit: Ruslan Bukin CommitDate: 2024-02-25 21:39:36 +0000 snd_hdspe(4): Optional unified pcm device. Add a sysctl tunable to unify all physical ports of an HDSPe sound card into one pcm device, with up to 14 (AIO) or 36 (RayDAT) channels. This makes all ports available in multi-channel audio software. Differential Revision: https://reviews.freebsd.org/D43798 --- share/man/man4/snd_hdspe.4 | 23 ++++++++++++++++++++++- sys/dev/sound/pci/hdspe-pcm.c | 9 ++++++++- sys/dev/sound/pci/hdspe.c | 22 ++++++++++++++++++++-- 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/share/man/man4/snd_hdspe.4 b/share/man/man4/snd_hdspe.4 index 7d8cc2adc1af..a8c7be538dd1 100644 --- a/share/man/man4/snd_hdspe.4 +++ b/share/man/man4/snd_hdspe.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 29, 2024 +.Dd February 9, 2024 .Dt SND_HDSPE 4 .Os .Sh NAME @@ -64,8 +64,29 @@ By default, each .Xr pcm 4 device corresponds to a physical port on the sound card. For ADAT ports, 8 channel, 4 channel and 2 channel formats are supported. +The effective number of ADAT channels is 8 channels at single speed +(32kHz-48kHz), 4 channels at double speed (64kHz-96kHz), and 2 channels at +quad speed (128kHz-192kHz). Depending on sample rate and channel format selected, not all pcm channels can be mapped to ADAT channels and vice versa. +.Sh LOADER TUNABLES +These settings can be entered at the +.Xr loader 8 +prompt or in +.Xr loader.conf 5 . +.Bl -tag -width indent +.It Va hw.hdspe.unified_pcm +If set to 1, all physical ports are combined into one unified pcm device. +When opened in multi-channel audio software, this makes all ports available +at the same time, and fully synchronized. +For resulting channel numbers consult the following table: +.El +.Bl -column "HDSPe RayDAT" "Single Speed" "Double Speed" "Quad Speed" +.Sy "Sound Card" Ta Sy "Single Speed" Ta Sy "Double Speed" Ta Sy "Quad Speed" +.It "" Ta "Play | Rec" Ta "Play | Rec" Ta "Play | Rec" +.It HDSPe AIO Ta " 16 | 14" Ta " 12 | 10" Ta " 10 | 8" +.It HDSPe RayDAT Ta " 36 | 36" Ta " 20 | 20" Ta " 12 | 12" +.El .Sh SYSCTL TUNABLES These settings and informational values can be accessed at runtime with the .Xr sysctl 8 diff --git a/sys/dev/sound/pci/hdspe-pcm.c b/sys/dev/sound/pci/hdspe-pcm.c index cf764f19a933..594a4f704028 100644 --- a/sys/dev/sound/pci/hdspe-pcm.c +++ b/sys/dev/sound/pci/hdspe-pcm.c @@ -41,6 +41,8 @@ #include +#define HDSPE_MATRIX_MAX 8 + struct hdspe_latency { uint32_t n; uint32_t period; @@ -1007,6 +1009,7 @@ hdspe_pcm_attach(device_t dev) char status[SND_STATUSLEN]; struct sc_pcminfo *scp; const char *buf; + uint32_t pcm_flags; int err; int play, rec; @@ -1025,7 +1028,11 @@ hdspe_pcm_attach(device_t dev) * We don't register interrupt handler with snd_setup_intr * in pcm device. Mark pcm device as MPSAFE manually. */ - pcm_setflags(dev, pcm_getflags(dev) | SD_F_MPSAFE); + pcm_flags = pcm_getflags(dev) | SD_F_MPSAFE; + if (hdspe_channel_count(scp->hc->ports, 8) > HDSPE_MATRIX_MAX) + /* Disable vchan conversion, too many channels. */ + pcm_flags |= SD_F_BITPERFECT; + pcm_setflags(dev, pcm_flags); play = (hdspe_channel_play_ports(scp->hc)) ? 1 : 0; rec = (hdspe_channel_rec_ports(scp->hc)) ? 1 : 0; diff --git a/sys/dev/sound/pci/hdspe.c b/sys/dev/sound/pci/hdspe.c index 1d1068c9f8fe..0773362f2bc3 100644 --- a/sys/dev/sound/pci/hdspe.c +++ b/sys/dev/sound/pci/hdspe.c @@ -44,6 +44,14 @@ #include +static bool hdspe_unified_pcm = false; + +static SYSCTL_NODE(_hw, OID_AUTO, hdspe, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "PCI HDSPe"); + +SYSCTL_BOOL(_hw_hdspe, OID_AUTO, unified_pcm, CTLFLAG_RWTUN, + &hdspe_unified_pcm, 0, "Combine physical ports in one unified pcm device"); + static struct hdspe_clock_source hdspe_clock_source_table_rd[] = { { "internal", 0 << 1 | 1, HDSPE_STATUS1_CLOCK(15), 0, 0 }, { "word", 0 << 1 | 0, HDSPE_STATUS1_CLOCK( 0), 1 << 24, 1 << 25 }, @@ -78,6 +86,11 @@ static struct hdspe_channel chan_map_aio[] = { { 0, NULL }, }; +static struct hdspe_channel chan_map_aio_uni[] = { + { HDSPE_CHAN_AIO_ALL, "all" }, + { 0, NULL }, +}; + static struct hdspe_channel chan_map_rd[] = { { HDSPE_CHAN_RAY_AES, "aes" }, { HDSPE_CHAN_RAY_SPDIF, "s/pdif" }, @@ -88,6 +101,11 @@ static struct hdspe_channel chan_map_rd[] = { { 0, NULL }, }; +static struct hdspe_channel chan_map_rd_uni[] = { + { HDSPE_CHAN_RAY_ALL, "all" }, + { 0, NULL }, +}; + static void hdspe_intr(void *p) { @@ -538,11 +556,11 @@ hdspe_attach(device_t dev) switch (rev) { case PCI_REVISION_AIO: sc->type = HDSPE_AIO; - chan_map = chan_map_aio; + chan_map = hdspe_unified_pcm ? chan_map_aio_uni : chan_map_aio; break; case PCI_REVISION_RAYDAT: sc->type = HDSPE_RAYDAT; - chan_map = chan_map_rd; + chan_map = hdspe_unified_pcm ? chan_map_rd_uni : chan_map_rd; break; default: return (ENXIO); From nobody Sun Feb 25 23:06:39 2024 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 4TjfWg4ytTz5CGpQ for ; Sun, 25 Feb 2024 23:06: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 4TjfWg4QQBz4j8G; Sun, 25 Feb 2024 23:06:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708902399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UnLzJrl3/8jihEJjjXwBAfljCrnL7pMUGcUvfrbQvtk=; b=Ycuj+WYGEyS9SrHE2yOP6belA8bQLNyfoEb/tqfZ/HjcXPHG9npAGaZ3r24Pfwyg90yaw0 S2qkljfOi2mR5MRaSQFf59+CWWczuoiBUER65Jx2qzMwJ86gPwyvZOWb5KH/lAAia58nX4 xHgsuuK1HHdm5RagEzEcZsGTSj8w4TU0zIYNJM01K7ObkxRodiRLTV2x8W0LcHrmLiJvNo eLhaZ8to4cxgEUNKVK/j2aarfnP4Ny337epBxbQJY1itesUSqxmymezucCLZkw07V4F1YH nvcM8NTLvlPK0xypuNVQf+Jsormud2VCT9VsYcY3Hhp7h0iFKBIrJf0EHNlN6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708902399; a=rsa-sha256; cv=none; b=vB8DUVWlwP17+ry01de5my8vNzabM5UgvPbF9AzKstl90O3qoghAUWtvm/sGo23ss7X80e lNqDufm1yvVChySdlxY+8Vb59OdzvS45F/dHWylAA9euwVvf/H8FTSEEFnMYUDV4F4LSKf aNfd6L8gYsG4ax5AMpCFv97XuSI9GQz3TfDJNP3xAE0SypaaC4NZMerSM4ict9u9EZ7yi0 kjkJtsFOGxmSwre4toaayOX4b9RzTLgudKzdyp2wzC8HXzNTziIY7XNmzznGqoNhMg0f4Z Tzxf6BbXv0Hl6KH5ULi4J/uPoq4Tts+nnbyxggxps+djVEfG9DMxL4aBPWuBPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708902399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UnLzJrl3/8jihEJjjXwBAfljCrnL7pMUGcUvfrbQvtk=; b=lAALye+auhuNu/5/ArIUKFDWR/XR+ucT2J2U8OaZDawcCCI8zwxq+v57KhHKqLMxL7FBio kpSU5NAYDrlb7m8qYWQjEX9tUVUxmV40laOVZlLJORXZHMLfJE/cLh6V9VIG7DfUvPtrk/ WDiDJW1Dm5PzC+/HOt+angsjEpPDxSRhGeMO6l1whUO++FMb3bzyPePOErF1yEb33PHBU6 s8k0afInzYkIAkwgBS7DN1x5gzvgA54FYVQWrQStxFjr8p495F35UFP15u6a9KdVKbGusC kr11u3o+59TK7lsW+jCOFjZRNO/P5fhQFbSFQWOG4Q/KNiA33CIMZ0OJRQsmNQ== 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 4TjfWg3CsBz13VN; Sun, 25 Feb 2024 23:06: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 41PN6d0j041808; Sun, 25 Feb 2024 23:06:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41PN6doE041807; Sun, 25 Feb 2024 23:06:39 GMT (envelope-from git) Date: Sun, 25 Feb 2024 23:06:39 GMT Message-Id: <202402252306.41PN6doE041807@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Xin LI Subject: git: 039b23c9238c..a7819ed7ade8 - vendor/xz - 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: delphij X-Git-Repository: src X-Git-Refname: refs/heads/vendor/xz X-Git-Reftype: branch X-Git-Commit: a7819ed7ade8bf37ad82b0b26da9237692430eef X-Git-Oldrev: 039b23c9238cdf8995ad978ae6342957c2f819fa X-Git-Newrev: a7819ed7ade8bf37ad82b0b26da9237692430eef Auto-Submitted: auto-generated The branch vendor/xz has been updated by delphij: URL: https://cgit.FreeBSD.org/src/log/?id=039b23c9238c..a7819ed7ade8 a7819ed7ade8 Vendor import of xz 5.6.0 (trimmed) From nobody Sun Feb 25 23:06:39 2024 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 4TjfWh0vKDz5BX5W for ; Sun, 25 Feb 2024 23:06: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 4TjfWg5DtWz4jF4; Sun, 25 Feb 2024 23:06:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708902399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kzXdxnIWVN68vPR7QlZ41DlcI6SYUl5uWONVtnrbkx4=; b=vU++mZcsFHC7+t7vjjOZ7gfSSQhG1gkvsJEBXtfjl9OqsKNqaSaA/gmZkdHv838fGvnPZl IuY+XpB6US+IANl7gGlzF/MIkusdm8xoGpmAStzl0zEH8BgrHFAfsEP5YSFqXbbMGQRrvB jIlTE1B4I7qOidfD/DI8Wh/TwmwyivdPDd56FPGYO+SpuRwxq84aG83IDBAk4oZ42L0CYd AbhEPsVOm4or/sZFQ5Xr/60uisrD6/bCnYx38IkJ9d3XYFGNfirvepZN4Ko6TnDX8bjj4j 2uciPKiDCRX9AHUIJng2AdIko3cB212pJ5eHKmUz+csKMZXyJkJfpK2lSRkx0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708902399; a=rsa-sha256; cv=none; b=AEuegB9cBYCGZWie5+5h0NSbyTSXjyG7i04vBZ+qd1m1B5RNXpNdbYOUHk6B5SSRw+GlvQ EJNulYZJmMOnokvHe/FjI/3vQbrg5SdY8HvLg40UYadp3QB3p08DnY97GYOQxU9rciTaQj 5wzPtgdBWCo/6SizoM9dJWA73hjmaNBH9QapmJi1AOE0wzjrEJLqZubkVqbKgMqqbdB6u4 6Abh8MgTFDTw3vsq40jrqoRDv107ByxUCavlkT1efLJ8Pup/y7nT2q3Hx054OjRAW7kXSd U/+PMf4K+u6/SkREEGN+18DB2SIHglMSIj1ntO4EeuPX5W01C2VbQpGImOsMag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708902399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kzXdxnIWVN68vPR7QlZ41DlcI6SYUl5uWONVtnrbkx4=; b=Ynci0SPas43j9qQZ9WkUbpk23wSO9aLo2A2x/69CPJhAPgLNmHPHMiIPg+HFF3Jjer4gGm Mdryo1BuKxg9XDCO3Ansu6eC+h5LJGtJ6TXLNZ/01n9DsOJM9eoDiOlyoN6044pu/0PeHV ajVYtsUAiiy3VdWGSxEUsN1Ug6/yYkrQcVIUb5duor7GVWh6jzRT3KJmFBJ5bH/Uh16x46 8cDU8JKlSnvjJ97TKOiAXckMquLRkPrUJ/wIVSeos2KvVjLgqjM5Tn1l77Y5yqJTT5ChJY VYLq7vLIJ7KBTNMVn/MRhwZqw/E7v/iDZlpvQXRYU4ADkgvRg3CTDxNBvk0RjQ== 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 4TjfWg3gkvz13jf; Sun, 25 Feb 2024 23:06: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 41PN6djE041827; Sun, 25 Feb 2024 23:06:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41PN6dR4041826; Sun, 25 Feb 2024 23:06:39 GMT (envelope-from git) Date: Sun, 25 Feb 2024 23:06:39 GMT Message-Id: <202402252306.41PN6dR4041826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Xin LI Subject: git: da26c639e338 - Create tag vendor/xz/5.6.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=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/tags/vendor/xz/5.6.0 X-Git-Reftype: annotated tag X-Git-Commit: da26c639e338e3a8f0e09518ba3b416da678e355 Auto-Submitted: auto-generated The annotated tag vendor/xz/5.6.0 has been created by delphij: URL: https://cgit.FreeBSD.org/src/tag/?h=vendor/xz/5.6.0 tag vendor/xz/5.6.0 Tagger: Xin LI TaggerDate: 2024-02-25 19:07:57 +0000 Tag xz 5.6.0. commit a7819ed7ade8bf37ad82b0b26da9237692430eef Author: Xin LI AuthorDate: 2024-02-25 19:07:13 +0000 Commit: Xin LI CommitDate: 2024-02-25 19:07:28 +0000 Vendor import of xz 5.6.0 (trimmed) From nobody Sun Feb 25 23:46:57 2024 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 4TjgQD0xHFz5BbN3; Sun, 25 Feb 2024 23:47: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 4TjgQD0RGTz4mB1; Sun, 25 Feb 2024 23:47:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708904820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BEv6430vfumYnvettnvJ+Z5VwU2jrQZ8q6ZDc8Spuww=; b=nSsgjnzOqhvth1VNUXEGmLPHoUwCg0ph1xzHYjeQ777ZJgbcDc0nPORwqKme+CdsT2XId8 CIV5uY8+3J6RHruK4zRVON3yfO6MIUndXlrf2XfPi42d/l8MKYu6SmFvbD455gW93pyiGd vJWpwacoP0LaaiRKPfsiMQcLJJEsSt7Pj2ytsbR/yk8WtOLHA1hxi8ZtMamCPRmFFKXoGc d4faC1yN9bkdoIt9b+Bx2x+qNEgP/keMur+0tKTuykHH3PaBuLo/nesRZ7nDKsV8vI5VwK /Bajrvw7BbtwlbH27lD+huBX87xTo1IJqzNDQ/aq5MCBqQTH5BJigWEpJPPo0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708904820; a=rsa-sha256; cv=none; b=j0XIxNKhhpv2bulyH6hyjupeumhh2iaiIjSbQ4iEtFHQoU2gfujcQcDFCWK1VAcLDGhI58 SKohCC2LS5p+DZvENA62A1b1VVZ7Z1rhs19DeCJRcR/YAjbNbOYR4vKP9yTl80Ve6AygBk oFbhfoqTWsrrwLmFdI4Ke2MiQfuqGs8WaAAYGiT3tl4S8XANFpE/RazluLr4VpkLnnBaMY W0whOvUI62yEf5vkkbQInwpvLGWob/AdI4oWswY9EU7aE/+PrYKWGjvwl/JHegukEsYiOo foIkAOvs4NIBpah9tePC5AL7332nZpxAhobT3vxueYiZ0VA+sXOFEz+IBPm4/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708904820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BEv6430vfumYnvettnvJ+Z5VwU2jrQZ8q6ZDc8Spuww=; b=DBBuYJPIwmLDh8Fz0bYyyj7Tkwda06QsEhBhr+xBVw/WIyDcfO5zgZbmYj35KpUOnpEwGW 36Lk/bqyBUMzW5baQpQMceulpgbyZUtn8eBqBA+YLHTzr3cxLHE39vBNhAGz1z1VZnUGKQ f7xyS88oVCp3EAamybFyZPI0abTFUH0rWxxhcGpNqy100cIJHBZo3kPMFBSMhRP1MGZbYL ht704ZK3u3VBsQbar0VJhU44twTuLcHDV72KtIZGLNSgFfkyUrhdHmK+zzGFPqnwF18chW WXlnUKWq6AMAi3tn7OVARdTVXivpqAS4sAvIWYfxsfYgRLWM89AIlPWtY6pDtw== 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 4TjgQC6d0qz14wt; Sun, 25 Feb 2024 23:46: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 41PNkxEM009358; Sun, 25 Feb 2024 23:46:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41PNkvCn009349; Sun, 25 Feb 2024 23:46:57 GMT (envelope-from git) Date: Sun, 25 Feb 2024 23:46:57 GMT Message-Id: <202402252346.41PNkvCn009349@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: 8db56defa766 - main - MFV: xz 5.6.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=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: 8db56defa766eacdbaf89a37f25b11a57fd9787a Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=8db56defa766eacdbaf89a37f25b11a57fd9787a commit 8db56defa766eacdbaf89a37f25b11a57fd9787a Merge: dc15f025062d a7819ed7ade8 Author: Xin LI AuthorDate: 2024-02-25 23:46:22 +0000 Commit: Xin LI CommitDate: 2024-02-25 23:46:22 +0000 MFV: xz 5.6.0. MFC after: 2 weeks contrib/xz/AUTHORS | 40 +- contrib/xz/COPYING | 116 +- contrib/xz/COPYING.0BSD | 11 + contrib/xz/COPYING.CC-BY-SA-4.0 | 427 + contrib/xz/ChangeLog | 16248 ++++++++----------- contrib/xz/README | 43 +- contrib/xz/THANKS | 7 + contrib/xz/TODO | 4 - contrib/xz/doxygen/Doxyfile | 6 +- contrib/xz/doxygen/footer.html | 13 + contrib/xz/doxygen/update-doxygen | 6 +- contrib/xz/src/common/mythread.h | 28 +- contrib/xz/src/common/sysdefs.h | 18 +- contrib/xz/src/common/tuklib_common.h | 27 +- contrib/xz/src/common/tuklib_config.h | 2 + contrib/xz/src/common/tuklib_cpucores.c | 5 +- contrib/xz/src/common/tuklib_cpucores.h | 5 +- contrib/xz/src/common/tuklib_exit.c | 5 +- contrib/xz/src/common/tuklib_exit.h | 9 +- contrib/xz/src/common/tuklib_gettext.h | 5 +- contrib/xz/src/common/tuklib_integer.h | 7 +- contrib/xz/src/common/tuklib_mbstr.h | 5 +- contrib/xz/src/common/tuklib_mbstr_fw.c | 5 +- contrib/xz/src/common/tuklib_mbstr_width.c | 5 +- contrib/xz/src/common/tuklib_open_stdxxx.c | 5 +- contrib/xz/src/common/tuklib_open_stdxxx.h | 5 +- contrib/xz/src/common/tuklib_physmem.c | 25 +- contrib/xz/src/common/tuklib_physmem.h | 5 +- contrib/xz/src/common/tuklib_progname.c | 5 +- contrib/xz/src/common/tuklib_progname.h | 5 +- contrib/xz/src/liblzma/api/lzma.h | 31 +- contrib/xz/src/liblzma/api/lzma/base.h | 23 +- contrib/xz/src/liblzma/api/lzma/bcj.h | 10 +- contrib/xz/src/liblzma/api/lzma/block.h | 5 +- contrib/xz/src/liblzma/api/lzma/check.h | 5 +- contrib/xz/src/liblzma/api/lzma/container.h | 43 +- contrib/xz/src/liblzma/api/lzma/delta.h | 5 +- contrib/xz/src/liblzma/api/lzma/filter.h | 11 +- contrib/xz/src/liblzma/api/lzma/hardware.h | 5 +- contrib/xz/src/liblzma/api/lzma/index.h | 36 +- contrib/xz/src/liblzma/api/lzma/index_hash.h | 5 +- contrib/xz/src/liblzma/api/lzma/lzma12.h | 7 +- contrib/xz/src/liblzma/api/lzma/stream_flags.h | 5 +- contrib/xz/src/liblzma/api/lzma/version.h | 9 +- contrib/xz/src/liblzma/api/lzma/vli.h | 5 +- contrib/xz/src/liblzma/check/check.c | 5 +- contrib/xz/src/liblzma/check/check.h | 5 +- contrib/xz/src/liblzma/check/crc32_arm64.h | 119 + contrib/xz/src/liblzma/check/crc32_fast.c | 187 +- contrib/xz/src/liblzma/check/crc32_small.c | 5 +- contrib/xz/src/liblzma/check/crc32_table.c | 36 +- contrib/xz/src/liblzma/check/crc32_table_be.h | 4 +- contrib/xz/src/liblzma/check/crc32_table_le.h | 4 +- contrib/xz/src/liblzma/check/crc32_tablegen.c | 21 +- contrib/xz/src/liblzma/check/crc32_x86.S | 5 +- contrib/xz/src/liblzma/check/crc64_fast.c | 450 +- contrib/xz/src/liblzma/check/crc64_small.c | 5 +- contrib/xz/src/liblzma/check/crc64_table.c | 16 +- contrib/xz/src/liblzma/check/crc64_table_be.h | 4 +- contrib/xz/src/liblzma/check/crc64_table_le.h | 4 +- contrib/xz/src/liblzma/check/crc64_tablegen.c | 13 +- contrib/xz/src/liblzma/check/crc64_x86.S | 5 +- contrib/xz/src/liblzma/check/crc_common.h | 143 + contrib/xz/src/liblzma/check/crc_macros.h | 30 - contrib/xz/src/liblzma/check/crc_x86_clmul.h | 435 + contrib/xz/src/liblzma/common/alone_decoder.c | 5 +- contrib/xz/src/liblzma/common/alone_decoder.h | 5 +- contrib/xz/src/liblzma/common/alone_encoder.c | 5 +- contrib/xz/src/liblzma/common/auto_decoder.c | 5 +- .../xz/src/liblzma/common/block_buffer_decoder.c | 5 +- .../xz/src/liblzma/common/block_buffer_encoder.c | 5 +- .../xz/src/liblzma/common/block_buffer_encoder.h | 5 +- contrib/xz/src/liblzma/common/block_decoder.c | 5 +- contrib/xz/src/liblzma/common/block_decoder.h | 5 +- contrib/xz/src/liblzma/common/block_encoder.c | 5 +- contrib/xz/src/liblzma/common/block_encoder.h | 5 +- .../xz/src/liblzma/common/block_header_decoder.c | 5 +- .../xz/src/liblzma/common/block_header_encoder.c | 5 +- contrib/xz/src/liblzma/common/block_util.c | 5 +- contrib/xz/src/liblzma/common/common.c | 5 +- contrib/xz/src/liblzma/common/common.h | 5 +- .../xz/src/liblzma/common/easy_buffer_encoder.c | 5 +- .../xz/src/liblzma/common/easy_decoder_memusage.c | 5 +- contrib/xz/src/liblzma/common/easy_encoder.c | 5 +- .../xz/src/liblzma/common/easy_encoder_memusage.c | 5 +- contrib/xz/src/liblzma/common/easy_preset.c | 5 +- contrib/xz/src/liblzma/common/easy_preset.h | 5 +- contrib/xz/src/liblzma/common/file_info.c | 5 +- .../xz/src/liblzma/common/filter_buffer_decoder.c | 5 +- .../xz/src/liblzma/common/filter_buffer_encoder.c | 5 +- contrib/xz/src/liblzma/common/filter_common.c | 14 +- contrib/xz/src/liblzma/common/filter_common.h | 5 +- contrib/xz/src/liblzma/common/filter_decoder.c | 13 +- contrib/xz/src/liblzma/common/filter_decoder.h | 5 +- contrib/xz/src/liblzma/common/filter_encoder.c | 39 +- contrib/xz/src/liblzma/common/filter_encoder.h | 11 +- .../xz/src/liblzma/common/filter_flags_decoder.c | 5 +- .../xz/src/liblzma/common/filter_flags_encoder.c | 5 +- .../xz/src/liblzma/common/hardware_cputhreads.c | 5 +- contrib/xz/src/liblzma/common/hardware_physmem.c | 5 +- contrib/xz/src/liblzma/common/index.c | 5 +- contrib/xz/src/liblzma/common/index.h | 5 +- contrib/xz/src/liblzma/common/index_decoder.c | 5 +- contrib/xz/src/liblzma/common/index_decoder.h | 5 +- contrib/xz/src/liblzma/common/index_encoder.c | 5 +- contrib/xz/src/liblzma/common/index_encoder.h | 5 +- contrib/xz/src/liblzma/common/index_hash.c | 5 +- contrib/xz/src/liblzma/common/lzip_decoder.c | 5 +- contrib/xz/src/liblzma/common/lzip_decoder.h | 5 +- contrib/xz/src/liblzma/common/memcmplen.h | 24 +- contrib/xz/src/liblzma/common/microlzma_decoder.c | 5 +- contrib/xz/src/liblzma/common/microlzma_encoder.c | 5 +- contrib/xz/src/liblzma/common/outqueue.c | 5 +- contrib/xz/src/liblzma/common/outqueue.h | 5 +- .../xz/src/liblzma/common/stream_buffer_decoder.c | 5 +- .../xz/src/liblzma/common/stream_buffer_encoder.c | 5 +- contrib/xz/src/liblzma/common/stream_decoder.c | 5 +- contrib/xz/src/liblzma/common/stream_decoder.h | 5 +- contrib/xz/src/liblzma/common/stream_decoder_mt.c | 5 +- contrib/xz/src/liblzma/common/stream_encoder.c | 5 +- contrib/xz/src/liblzma/common/stream_encoder_mt.c | 25 +- .../xz/src/liblzma/common/stream_flags_common.c | 5 +- .../xz/src/liblzma/common/stream_flags_common.h | 5 +- .../xz/src/liblzma/common/stream_flags_decoder.c | 5 +- .../xz/src/liblzma/common/stream_flags_encoder.c | 5 +- contrib/xz/src/liblzma/common/string_conversion.c | 14 +- contrib/xz/src/liblzma/common/vli_decoder.c | 5 +- contrib/xz/src/liblzma/common/vli_encoder.c | 5 +- contrib/xz/src/liblzma/common/vli_size.c | 5 +- contrib/xz/src/liblzma/delta/delta_common.c | 5 +- contrib/xz/src/liblzma/delta/delta_common.h | 5 +- contrib/xz/src/liblzma/delta/delta_decoder.c | 5 +- contrib/xz/src/liblzma/delta/delta_decoder.h | 5 +- contrib/xz/src/liblzma/delta/delta_encoder.c | 5 +- contrib/xz/src/liblzma/delta/delta_encoder.h | 5 +- contrib/xz/src/liblzma/delta/delta_private.h | 5 +- contrib/xz/src/liblzma/liblzma.pc.in | 6 +- contrib/xz/src/liblzma/liblzma_generic.map | 7 + contrib/xz/src/liblzma/liblzma_linux.map | 7 + contrib/xz/src/liblzma/lz/lz_decoder.c | 48 +- contrib/xz/src/liblzma/lz/lz_decoder.h | 116 +- contrib/xz/src/liblzma/lz/lz_encoder.c | 13 +- contrib/xz/src/liblzma/lz/lz_encoder.h | 21 +- contrib/xz/src/liblzma/lz/lz_encoder_hash.h | 5 +- contrib/xz/src/liblzma/lz/lz_encoder_hash_table.h | 4 +- contrib/xz/src/liblzma/lz/lz_encoder_mf.c | 5 +- contrib/xz/src/liblzma/lzma/fastpos.h | 5 +- contrib/xz/src/liblzma/lzma/fastpos_table.c | 4 +- contrib/xz/src/liblzma/lzma/fastpos_tablegen.c | 17 +- contrib/xz/src/liblzma/lzma/lzma2_decoder.c | 5 +- contrib/xz/src/liblzma/lzma/lzma2_decoder.h | 5 +- contrib/xz/src/liblzma/lzma/lzma2_encoder.c | 8 +- contrib/xz/src/liblzma/lzma/lzma2_encoder.h | 5 +- contrib/xz/src/liblzma/lzma/lzma_common.h | 41 +- contrib/xz/src/liblzma/lzma/lzma_decoder.c | 760 +- contrib/xz/src/liblzma/lzma/lzma_decoder.h | 5 +- contrib/xz/src/liblzma/lzma/lzma_encoder.c | 18 +- contrib/xz/src/liblzma/lzma/lzma_encoder.h | 5 +- .../src/liblzma/lzma/lzma_encoder_optimum_fast.c | 5 +- .../src/liblzma/lzma/lzma_encoder_optimum_normal.c | 7 +- contrib/xz/src/liblzma/lzma/lzma_encoder_presets.c | 5 +- contrib/xz/src/liblzma/lzma/lzma_encoder_private.h | 9 +- contrib/xz/src/liblzma/rangecoder/price.h | 5 +- contrib/xz/src/liblzma/rangecoder/price_table.c | 4 +- contrib/xz/src/liblzma/rangecoder/price_tablegen.c | 22 +- contrib/xz/src/liblzma/rangecoder/range_common.h | 14 +- contrib/xz/src/liblzma/rangecoder/range_decoder.h | 838 +- contrib/xz/src/liblzma/rangecoder/range_encoder.h | 5 +- contrib/xz/src/liblzma/simple/arm.c | 5 +- contrib/xz/src/liblzma/simple/arm64.c | 5 +- contrib/xz/src/liblzma/simple/armthumb.c | 5 +- contrib/xz/src/liblzma/simple/ia64.c | 5 +- contrib/xz/src/liblzma/simple/powerpc.c | 5 +- contrib/xz/src/liblzma/simple/riscv.c | 755 + contrib/xz/src/liblzma/simple/simple_coder.c | 5 +- contrib/xz/src/liblzma/simple/simple_coder.h | 14 +- contrib/xz/src/liblzma/simple/simple_decoder.c | 5 +- contrib/xz/src/liblzma/simple/simple_decoder.h | 5 +- contrib/xz/src/liblzma/simple/simple_encoder.c | 5 +- contrib/xz/src/liblzma/simple/simple_encoder.h | 5 +- contrib/xz/src/liblzma/simple/simple_private.h | 5 +- contrib/xz/src/liblzma/simple/sparc.c | 5 +- contrib/xz/src/liblzma/simple/x86.c | 5 +- contrib/xz/src/liblzma/validate_map.sh | 6 +- contrib/xz/src/lzmainfo/lzmainfo.1 | 4 +- contrib/xz/src/lzmainfo/lzmainfo.c | 5 +- contrib/xz/src/xz/args.c | 159 +- contrib/xz/src/xz/args.h | 8 +- contrib/xz/src/xz/coder.c | 648 +- contrib/xz/src/xz/coder.h | 31 +- contrib/xz/src/xz/file_io.c | 144 +- contrib/xz/src/xz/file_io.h | 21 +- contrib/xz/src/xz/hardware.c | 11 +- contrib/xz/src/xz/hardware.h | 5 +- contrib/xz/src/xz/list.c | 31 +- contrib/xz/src/xz/list.h | 5 +- contrib/xz/src/xz/main.c | 91 +- contrib/xz/src/xz/main.h | 5 +- contrib/xz/src/xz/message.c | 94 +- contrib/xz/src/xz/message.h | 15 +- contrib/xz/src/xz/mytime.c | 105 +- contrib/xz/src/xz/mytime.h | 11 +- contrib/xz/src/xz/options.c | 7 +- contrib/xz/src/xz/options.h | 5 +- contrib/xz/src/xz/private.h | 26 +- contrib/xz/src/xz/sandbox.c | 355 + contrib/xz/src/xz/sandbox.h | 43 + contrib/xz/src/xz/signals.c | 22 +- contrib/xz/src/xz/signals.h | 5 +- contrib/xz/src/xz/suffix.c | 17 +- contrib/xz/src/xz/suffix.h | 5 +- contrib/xz/src/xz/util.c | 36 +- contrib/xz/src/xz/util.h | 19 +- contrib/xz/src/xz/xz.1 | 439 +- contrib/xz/src/xzdec/xzdec.1 | 8 +- contrib/xz/src/xzdec/xzdec.c | 160 +- lib/liblzma/Makefile | 1 + lib/liblzma/Symbol.map | 5 +- lib/liblzma/Versions.def | 5 +- lib/liblzma/config.h | 120 +- usr.bin/xz/Makefile | 1 + 221 files changed, 13494 insertions(+), 11300 deletions(-) diff --cc contrib/xz/COPYING.0BSD index 000000000000,4322122aecf1..4322122aecf1 mode 000000,100644..100644 --- a/contrib/xz/COPYING.0BSD +++ b/contrib/xz/COPYING.0BSD diff --cc contrib/xz/COPYING.CC-BY-SA-4.0 index 000000000000,7d4f96c54aa1..7d4f96c54aa1 mode 000000,100644..100644 --- a/contrib/xz/COPYING.CC-BY-SA-4.0 +++ b/contrib/xz/COPYING.CC-BY-SA-4.0 diff --cc contrib/xz/doxygen/footer.html index 000000000000,38d6ea0f4364..38d6ea0f4364 mode 000000,100644..100644 --- a/contrib/xz/doxygen/footer.html +++ b/contrib/xz/doxygen/footer.html diff --cc contrib/xz/src/liblzma/check/crc32_arm64.h index 000000000000,6cdb5dab32e6..6cdb5dab32e6 mode 000000,100644..100644 --- a/contrib/xz/src/liblzma/check/crc32_arm64.h +++ b/contrib/xz/src/liblzma/check/crc32_arm64.h diff --cc contrib/xz/src/liblzma/check/crc_common.h index 000000000000,856665db79a8..856665db79a8 mode 000000,100644..100644 --- a/contrib/xz/src/liblzma/check/crc_common.h +++ b/contrib/xz/src/liblzma/check/crc_common.h diff --cc contrib/xz/src/liblzma/check/crc_x86_clmul.h index 000000000000,ae66ca9f8c71..ae66ca9f8c71 mode 000000,100644..100644 --- a/contrib/xz/src/liblzma/check/crc_x86_clmul.h +++ b/contrib/xz/src/liblzma/check/crc_x86_clmul.h diff --cc contrib/xz/src/liblzma/simple/riscv.c index 000000000000,aabbb0520577..aabbb0520577 mode 000000,100644..100644 --- a/contrib/xz/src/liblzma/simple/riscv.c +++ b/contrib/xz/src/liblzma/simple/riscv.c diff --cc contrib/xz/src/xz/sandbox.c index 000000000000,3b3069c8b2c8..3b3069c8b2c8 mode 000000,100644..100644 --- a/contrib/xz/src/xz/sandbox.c +++ b/contrib/xz/src/xz/sandbox.c diff --cc contrib/xz/src/xz/sandbox.h index 000000000000,f41b4725ce3f..f41b4725ce3f mode 000000,100644..100644 --- a/contrib/xz/src/xz/sandbox.h +++ b/contrib/xz/src/xz/sandbox.h diff --cc lib/liblzma/Makefile index 85e7b87bbbf0,000000000000..e656ddd9bb45 mode 100644,000000..100644 --- a/lib/liblzma/Makefile +++ b/lib/liblzma/Makefile @@@ -1,176 -1,0 +1,177 @@@ + +PACKAGE=lib${LIB} +LIB= lzma +LZMADIR= ${SRCTOP}/contrib/xz/src/liblzma + +.PATH: ${LZMADIR:H}/common +SRCS+= tuklib_physmem.c tuklib_cpucores.c + +.PATH: ${LZMADIR}/api/lzma + +MAININCS= ../lzma.h +MAININCSDIR= ${INCLUDEDIR} + +LZMAINCS+= base.h \ + bcj.h \ + block.h \ + check.h \ + container.h \ + delta.h \ + filter.h \ + hardware.h \ + index.h \ + index_hash.h \ + lzma12.h \ + stream_flags.h \ + version.h \ + vli.h + +LZMAINCSDIR= ${INCLUDEDIR}/lzma + +INCSGROUPS= MAININCS LZMAINCS + +.PATH: ${LZMADIR}/common +SRCS+= common.c \ + block_util.c \ + easy_preset.c \ + filter_common.c \ + hardware_physmem.c \ + hardware_cputhreads.c \ + index.c \ + stream_flags_common.c \ + string_conversion.c \ + vli_size.c \ + alone_encoder.c \ + block_buffer_encoder.c \ + block_encoder.c \ + block_header_encoder.c \ + easy_buffer_encoder.c \ + easy_encoder.c \ + easy_encoder_memusage.c \ + filter_buffer_encoder.c \ + filter_encoder.c \ + filter_flags_encoder.c \ + index_encoder.c \ + lzip_decoder.c \ + microlzma_encoder.c \ + microlzma_decoder.c \ + stream_buffer_encoder.c \ + stream_encoder.c \ + stream_flags_encoder.c \ + vli_encoder.c \ + alone_decoder.c \ + auto_decoder.c \ + block_buffer_decoder.c \ + block_decoder.c \ + block_header_decoder.c \ + easy_decoder_memusage.c \ + file_info.c \ + filter_buffer_decoder.c \ + filter_decoder.c \ + filter_flags_decoder.c \ + index_decoder.c \ + index_hash.c \ + stream_buffer_decoder.c \ + stream_decoder.c \ + stream_decoder_mt.c \ + stream_flags_decoder.c \ + stream_encoder_mt.c \ + vli_decoder.c \ + outqueue.c + + +.PATH: ${LZMADIR}/check +SRCS+= check.c \ + crc32_table.c \ + crc64_table.c +.if defined(MACHINE_ARCH) && ${MACHINE_ARCH} == "i386" +SRCS+= crc32_x86.S \ + crc64_x86.S +ACFLAGS+= -Wa,--noexecstack +.else +SRCS+= crc32_fast.c \ + crc64_fast.c +.endif + +.PATH: ${LZMADIR}/lz +SRCS+= lz_encoder.c \ + lz_encoder_mf.c \ + lz_decoder.c + +.PATH: ${LZMADIR}/lzma +SRCS+= lzma_encoder.c \ + lzma_encoder_presets.c \ + lzma_encoder_optimum_fast.c \ + lzma_encoder_optimum_normal.c \ + fastpos_table.c \ + lzma_decoder.c \ + lzma2_encoder.c \ + lzma2_decoder.c + +.PATH: ${LZMADIR}/rangecoder +SRCS+= price_table.c + +.PATH: ${LZMADIR}/delta +SRCS+= delta_common.c \ + delta_encoder.c \ + delta_decoder.c + +.PATH: ${LZMADIR}/simple +SRCS+= simple_coder.c \ + simple_encoder.c \ + simple_decoder.c \ + x86.c \ + powerpc.c \ + ia64.c \ + arm.c \ + arm64.c \ + armthumb.c \ ++ riscv.c \ + sparc.c + +.PATH: ${LZMADIR} + +VERSION_MAJOR!= sed -n '/define.*LZMA_VERSION_MAJOR/{s,[^0-9.],,gp;q;}' \ + ${LZMADIR}/api/lzma/version.h +VERSION_MINOR!= sed -n '/define.*LZMA_VERSION_MINOR/{s,[^0-9.],,gp;q;}' \ + ${LZMADIR}/api/lzma/version.h +VERSION_PATCH!= sed -n '/define.*LZMA_VERSION_PATCH/{s,[^0-9.],,gp;q;}' \ + ${LZMADIR}/api/lzma/version.h + +WARNS?= 3 + +CFLAGS+= -DHAVE_CONFIG_H \ + -DTUKLIB_SYMBOL_PREFIX=lzma_ \ + -I${.CURDIR} \ + -I${LZMADIR}/api \ + -I${LZMADIR}/common \ + -I${LZMADIR}/check \ + -I${LZMADIR}/lz \ + -I${LZMADIR}/rangecoder \ + -I${LZMADIR}/lzma \ + -I${LZMADIR}/delta \ + -I${LZMADIR}/simple \ + -I${LZMADIR:H}/common + +LIBADD+= md pthread + +VERSION_DEF= ${.CURDIR}/Versions.def +SYMBOL_MAPS= ${.CURDIR}/Symbol.map + +CLEANFILES+= liblzma.pc + +PCFILES= liblzma.pc + +liblzma.pc: liblzma.pc.in + sed -e 's,@prefix@,/usr,g ; \ + s,@exec_prefix@,/usr,g ; \ + s,@libdir@,${LIBDIR},g ; \ + s,@sharedlibdir@,${SHLIBDIR},g ; \ + s,@includedir@,${INCLUDEDIR},g ; \ + s,@LIBS@,-pthread -lmd,g ; \ + s,@PACKAGE_URL@,https://tukaani.org/xz/,g ; \ + s,@PACKAGE_VERSION@,${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH},g ; \ + s,@PTHREAD_CFLAGS@,,g ; \ + s,@PTHREAD_LIBS@,,g' ${.ALLSRC} > ${.TARGET} + +.include diff --cc lib/liblzma/Symbol.map index 8e8fc10a2453,000000000000..3b58bc759e75 mode 100644,000000..100644 --- a/lib/liblzma/Symbol.map +++ b/lib/liblzma/Symbol.map @@@ -1,211 -1,0 +1,214 @@@ +XZ_5.0 { + lzma_alone_decoder; + lzma_alone_encoder; + lzma_auto_decoder; + lzma_block_buffer_bound; + lzma_block_buffer_decode; + lzma_block_buffer_encode; + lzma_block_compressed_size; + lzma_block_decoder; + lzma_block_encoder; + lzma_block_header_decode; + lzma_block_header_encode; + lzma_block_header_size; + lzma_block_total_size; + lzma_block_unpadded_size; + lzma_check_is_supported; + lzma_check_size; + lzma_code; + lzma_crc32; + lzma_crc64; + lzma_easy_buffer_encode; + lzma_easy_decoder_memusage; + lzma_easy_encoder; + lzma_easy_encoder_memusage; + lzma_end; + lzma_filter_decoder_is_supported; + lzma_filter_encoder_is_supported; + lzma_filter_flags_decode; + lzma_filter_flags_encode; + lzma_filter_flags_size; + lzma_filters_copy; + lzma_filters_update; + lzma_get_check; + lzma_index_append; + lzma_index_block_count; + lzma_index_buffer_decode; + lzma_index_buffer_encode; + lzma_index_cat; + lzma_index_checks; + lzma_index_decoder; + lzma_index_dup; + lzma_index_encoder; + lzma_index_end; + lzma_index_file_size; + lzma_index_hash_append; + lzma_index_hash_decode; + lzma_index_hash_end; + lzma_index_hash_init; + lzma_index_hash_size; + lzma_index_init; + lzma_index_iter_init; + lzma_index_iter_locate; + lzma_index_iter_next; + lzma_index_iter_rewind; + lzma_index_memusage; + lzma_index_memused; + lzma_index_size; + lzma_index_stream_count; + lzma_index_stream_flags; + lzma_index_stream_padding; + lzma_index_stream_size; + lzma_index_total_size; + lzma_index_uncompressed_size; + lzma_lzma_preset; + lzma_memlimit_get; + lzma_memlimit_set; + lzma_memusage; + lzma_mf_is_supported; + lzma_mode_is_supported; + lzma_physmem; + lzma_properties_decode; + lzma_properties_encode; + lzma_properties_size; + lzma_raw_buffer_decode; + lzma_raw_buffer_encode; + lzma_raw_decoder; + lzma_raw_decoder_memusage; + lzma_raw_encoder; + lzma_raw_encoder_memusage; + lzma_stream_buffer_bound; + lzma_stream_buffer_decode; + lzma_stream_buffer_encode; + lzma_stream_decoder; + lzma_stream_encoder; + lzma_stream_flags_compare; + lzma_stream_footer_decode; + lzma_stream_footer_encode; + lzma_stream_header_decode; + lzma_stream_header_encode; + lzma_version_number; + lzma_version_string; + lzma_vli_decode; + lzma_vli_encode; + lzma_vli_size; +}; + +XZ_5.2 { + lzma_block_uncomp_encode; + lzma_cputhreads; + lzma_get_progress; + lzma_stream_encoder_mt; + lzma_stream_encoder_mt_memusage; +}; + +XZ_5.4 { + lzma_file_info_decoder; + lzma_filters_free; + lzma_lzip_decoder; + lzma_microlzma_decoder; + lzma_microlzma_encoder; + lzma_stream_decoder_mt; + lzma_str_from_filters; + lzma_str_list_filters; + lzma_str_to_filters; +}; + ++XZ_5.6 { ++ lzma_mt_block_size; ++}; ++ +XZprivate_1.0 { + lzma_alloc; + lzma_alloc_zero; + lzma_alone_decoder_init; + lzma_block_buffer_bound64; + lzma_block_decoder_init; + lzma_block_encoder_init; + lzma_bufcpy; + lzma_check_finish; + lzma_check_init; + lzma_check_update; + lzma_delta_coder_init; + lzma_delta_coder_memusage; + lzma_delta_decoder_init; + lzma_delta_encoder_init; + lzma_delta_props_decode; + lzma_delta_props_encode; + lzma_easy_preset; + lzma_free; + lzma_index_encoder_init; + lzma_index_padding_size; + lzma_index_prealloc; + lzma_lz_decoder_init; + lzma_lz_decoder_memusage; + lzma_lz_decoder_uncompressed; + lzma_lz_encoder_init; + lzma_lz_encoder_memusage; + lzma_lzma2_block_size; + lzma_lzma2_decoder_init; + lzma_lzma2_decoder_memusage; + lzma_lzma2_encoder_init; + lzma_lzma2_encoder_memusage; + lzma_lzma2_props_decode; + lzma_lzma2_props_encode; + lzma_lzma_decoder_create; + lzma_lzma_decoder_init; + lzma_lzma_decoder_memusage; + lzma_lzma_decoder_memusage_nocheck; + lzma_lzma_encode; + lzma_lzma_encoder_create; + lzma_lzma_encoder_init; + lzma_lzma_encoder_memusage; + lzma_lzma_encoder_reset; + lzma_lzma_lclppb_decode; + lzma_lzma_lclppb_encode; + lzma_lzma_optimum_fast; + lzma_lzma_optimum_normal; + lzma_lzma_props_decode; + lzma_lzma_props_encode; + lzma_mf_bt2_find; + lzma_mf_bt2_skip; + lzma_mf_bt3_find; + lzma_mf_bt3_skip; + lzma_mf_bt4_find; + lzma_mf_bt4_skip; + lzma_mf_find; + lzma_mf_hc3_find; + lzma_mf_hc3_skip; + lzma_mf_hc4_find; + lzma_mf_hc4_skip; - lzma_mt_block_size; + lzma_next_end; + lzma_next_filter_init; + lzma_next_filter_update; + lzma_outq_end; + lzma_outq_get_buf; + lzma_outq_init; + lzma_outq_is_readable; + lzma_outq_memusage; + lzma_outq_read; + lzma_raw_coder_init; + lzma_raw_coder_memusage; + lzma_raw_decoder_init; + lzma_raw_encoder_init; + lzma_simple_arm_decoder_init; + lzma_simple_arm_encoder_init; + lzma_simple_armthumb_decoder_init; + lzma_simple_armthumb_encoder_init; + lzma_simple_coder_init; + lzma_simple_ia64_decoder_init; + lzma_simple_ia64_encoder_init; + lzma_simple_powerpc_decoder_init; + lzma_simple_powerpc_encoder_init; + lzma_simple_props_decode; + lzma_simple_props_encode; + lzma_simple_props_size; + lzma_simple_sparc_decoder_init; + lzma_simple_sparc_encoder_init; + lzma_simple_x86_decoder_init; + lzma_simple_x86_encoder_init; + lzma_stream_decoder_init; + lzma_strm_init; + lzma_tuklib_cpucores; + lzma_tuklib_physmem; +}; diff --cc lib/liblzma/Versions.def index dea89514beda,000000000000..25064d9d50e7 mode 100644,000000..100644 --- a/lib/liblzma/Versions.def +++ b/lib/liblzma/Versions.def @@@ -1,13 -1,0 +1,16 @@@ + +XZ_5.0 { +}; + +XZ_5.2 { +} XZ_5.0; + +XZ_5.4 { +} XZ_5.2; + - XZprivate_1.0 { ++XZ_5.6 { +} XZ_5.4; + ++XZprivate_1.0 { ++} XZ_5.6; ++ diff --cc lib/liblzma/config.h index cfa53becb2ad,000000000000..15e0c71e5ed1 mode 100644,000000..100644 --- a/lib/liblzma/config.h +++ b/lib/liblzma/config.h @@@ -1,618 -1,0 +1,654 @@@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* How many MiB of RAM to assume if the real amount cannot be determined. */ +#define ASSUME_RAM 128 + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* FreeBSD - disabled intentionally */ +/* #undef ENABLE_NLS */ + ++/* Define to 1 if ARM64 CRC32 instruction is supported. See configure.ac for ++ details. */ ++/* #undef HAVE_ARM64_CRC32 */ ++ +/* Define to 1 if bswap_16 is available. */ +/* #undef HAVE_BSWAP_16 */ + +/* Define to 1 if bswap_32 is available. */ +/* #undef HAVE_BSWAP_32 */ + +/* Define to 1 if bswap_64 is available. */ +/* #undef HAVE_BSWAP_64 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_BYTESWAP_H */ + +#ifndef WITHOUT_CAPSICUM - /* Define to 1 if Capsicum is available. */ - #define HAVE_CAPSICUM 1 ++/* Define to 1 if you have the 'cap_rights_limit' function. */ ++#define HAVE_CAP_RIGHTS_LIMIT 1 +#endif + - /* Define to 1 if the system has the type `CC_SHA256_CTX'. */ ++/* Define to 1 if the system has the type 'CC_SHA256_CTX'. */ +/* #undef HAVE_CC_SHA256_CTX */ + - /* Define to 1 if you have the `CC_SHA256_Init' function. */ ++/* Define to 1 if you have the 'CC_SHA256_Init' function. */ +/* #undef HAVE_CC_SHA256_INIT */ + +/* 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 */ + +/* Define to 1 if crc32 integrity check is enabled. */ +#define HAVE_CHECK_CRC32 1 + +/* Define to 1 if crc64 integrity check is enabled. */ +#define HAVE_CHECK_CRC64 1 + +/* Define to 1 if sha256 integrity check is enabled. */ +#define HAVE_CHECK_SHA256 1 + - /* Define to 1 if you have the `clock_gettime' function. */ ++/* Define to 1 if you have the 'clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + - /* Define to 1 if `CLOCK_MONOTONIC' is declared in . */ ++/* Define to 1 if 'CLOCK_MONOTONIC' is declared in . */ +#define HAVE_CLOCK_MONOTONIC 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_COMMONCRYPTO_COMMONDIGEST_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CPUID_H 1 + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* FreeBSD - disabled intentionally */ +/* #undef HAVE_DCGETTEXT */ + +/* Define to 1 if any of HAVE_DECODER_foo have been defined. */ +#define HAVE_DECODERS 1 + +/* Define to 1 if arm decoder is enabled. */ +#define HAVE_DECODER_ARM 1 + +/* Define to 1 if arm64 decoder is enabled. */ +#define HAVE_DECODER_ARM64 1 + +/* Define to 1 if armthumb decoder is enabled. */ +#define HAVE_DECODER_ARMTHUMB 1 + +/* Define to 1 if delta decoder is enabled. */ +#define HAVE_DECODER_DELTA 1 + +/* Define to 1 if ia64 decoder is enabled. */ +#define HAVE_DECODER_IA64 1 + +/* Define to 1 if lzma1 decoder is enabled. */ +#define HAVE_DECODER_LZMA1 1 + +/* Define to 1 if lzma2 decoder is enabled. */ +#define HAVE_DECODER_LZMA2 1 + +/* Define to 1 if powerpc decoder is enabled. */ +#define HAVE_DECODER_POWERPC 1 + ++/* Define to 1 if riscv decoder is enabled. */ ++#define HAVE_DECODER_RISCV 1 ++ +/* Define to 1 if sparc decoder is enabled. */ +#define HAVE_DECODER_SPARC 1 + +/* Define to 1 if x86 decoder is enabled. */ +#define HAVE_DECODER_X86 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + ++/* Define to 1 if you have the 'elf_aux_info' function. */ ++/* #undef HAVE_ELF_AUX_INFO */ ++ +/* Define to 1 if any of HAVE_ENCODER_foo have been defined. */ +#define HAVE_ENCODERS 1 + +/* Define to 1 if arm encoder is enabled. */ +#define HAVE_ENCODER_ARM 1 + +/* Define to 1 if arm64 encoder is enabled. */ +#define HAVE_ENCODER_ARM64 1 + +/* Define to 1 if armthumb encoder is enabled. */ +#define HAVE_ENCODER_ARMTHUMB 1 + +/* Define to 1 if delta encoder is enabled. */ +#define HAVE_ENCODER_DELTA 1 + +/* Define to 1 if ia64 encoder is enabled. */ +#define HAVE_ENCODER_IA64 1 + +/* Define to 1 if lzma1 encoder is enabled. */ +#define HAVE_ENCODER_LZMA1 1 + +/* Define to 1 if lzma2 encoder is enabled. */ +#define HAVE_ENCODER_LZMA2 1 + +/* Define to 1 if powerpc encoder is enabled. */ +#define HAVE_ENCODER_POWERPC 1 + ++/* Define to 1 if riscv encoder is enabled. */ ++#define HAVE_ENCODER_RISCV 1 ++ +/* Define to 1 if sparc encoder is enabled. */ +#define HAVE_ENCODER_SPARC 1 + +/* Define to 1 if x86 encoder is enabled. */ +#define HAVE_ENCODER_X86 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if __attribute__((__constructor__)) is supported for functions. + */ +#define HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR 1 + - /* Define to 1 if you have the `futimens' function. */ ++/* Define to 1 if __attribute__((__ifunc__())) is supported for functions. */ ++#define HAVE_FUNC_ATTRIBUTE_IFUNC 1 ++ ++/* Define to 1 if you have the 'futimens' function. */ +#define HAVE_FUTIMENS 1 + - /* Define to 1 if you have the `futimes' function. */ ++/* Define to 1 if you have the 'futimes' function. */ +/* #undef HAVE_FUTIMES */ + - /* Define to 1 if you have the `futimesat' function. */ ++/* Define to 1 if you have the 'futimesat' function. */ +/* #undef HAVE_FUTIMESAT */ + ++/* Define to 1 if you have the 'getauxval' function. */ ++/* #undef HAVE_GETAUXVAL */ ++ +/* Define to 1 if you have the header file. */ +#define HAVE_GETOPT_H 1 + - /* Define to 1 if you have the `getopt_long' function. */ ++/* Define to 1 if you have the 'getopt_long' function. */ +#define HAVE_GETOPT_LONG 1 + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* FreeBSD - disabled intentionally */ +/* #undef HAVE_GETTEXT */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +/* FreeBSD - only with clang because the base gcc does not support it */ +#if defined(__clang__) && defined(__FreeBSD__) && defined(__amd64__) +#define HAVE_IMMINTRIN_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_LINUX_LANDLOCK_H */ ++ +/* Define to 1 if .lz (lzip) decompression support is enabled. */ +#define HAVE_LZIP_DECODER 1 + +/* Define to 1 if mbrtowc and mbstate_t are properly declared. */ +#define HAVE_MBRTOWC 1 + +/* Define to 1 to enable bt2 match finder. */ +#define HAVE_MF_BT2 1 + +/* Define to 1 to enable bt3 match finder. */ +#define HAVE_MF_BT3 1 + +/* Define to 1 to enable bt4 match finder. */ +#define HAVE_MF_BT4 1 + +/* Define to 1 to enable hc3 match finder. */ +#define HAVE_MF_HC3 1 + +/* Define to 1 to enable hc4 match finder. */ +#define HAVE_MF_HC4 1 + ++/* Define to 1 if MicroLZMA support is enabled. */ ++#define HAVE_MICROLZMA 1 ++ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MINIX_CONFIG_H */ + +/* Define to 1 if getopt.h declares extern int optreset. */ +#define HAVE_OPTRESET 1 + - /* Define to 1 if you have the `pledge' function. */ ++/* Define to 1 if you have the 'pledge' function. */ +/* #undef HAVE_PLEDGE */ + - /* Define to 1 if you have the `posix_fadvise' function. */ ++/* Define to 1 if you have the 'posix_fadvise' function. */ +#define HAVE_POSIX_FADVISE 1 + - /* Define to 1 if `program_invocation_name' is declared in . */ ++/* Define to 1 if 'program_invocation_name' is declared in . */ +/* #undef HAVE_PROGRAM_INVOCATION_NAME */ + - /* Define to 1 if you have the `pthread_condattr_setclock' function. */ ++/* Define to 1 if you have the 'pthread_condattr_setclock' function. */ +#define HAVE_PTHREAD_CONDATTR_SETCLOCK 1 + +/* Have PTHREAD_PRIO_INHERIT. */ +#define HAVE_PTHREAD_PRIO_INHERIT 1 + - /* Define to 1 if you have the `SHA256Init' function. */ ++/* Define to 1 if you have the 'SHA256Init' function. */ +/* #undef HAVE_SHA256INIT */ + - /* Define to 1 if the system has the type `SHA256_CTX'. */ ++/* Define to 1 if the system has the type 'SHA256_CTX'. */ +#define HAVE_SHA256_CTX 1 + +/* Define to 1 if you have the header file. */ *** 484 LINES SKIPPED ***