From nobody Sat Sep 23 22:02:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RtNR40KxXz4vJvM; Sat, 23 Sep 2023 22:02:24 +0000 (UTC) (envelope-from gad@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 4RtNR37011z3XlL; Sat, 23 Sep 2023 22:02:23 +0000 (UTC) (envelope-from gad@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695506544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/3l5zYlw8+jSnXxj9AA16ZnTGW8j72AVWEacqjOiorU=; b=xJMdvFd4T2k78fag+3uNvE0x+/VHFH5SWf8iLXr8w3VYMJbcCQt3oN4i/B9jsSLwv8Zjc4 FT+liM+xPn0oGTGgJaPWJAL4K6Egya0YWDmc8f5DMOXExgiEnBN+xTKBcCZOWPfCAFo3wO EvhUwc4o87laFvByl1QY+iT1B8wA1PvgfP6//Y61EQvz+vPgvCgud9DC8hvS9uLTgukM9T P3ZVsNk1pToodpEmTDrwiVA++C6lx2nvkO1fxk9jyiQvKP6AYfQdrSWnZbMBSgW8c8FLFk NOXwG3lu+L18EhD30hZA9Vj+Q7ke2V8oPwV3udGzviIaW905RDQi1YdB4pDknQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695506544; a=rsa-sha256; cv=none; b=JQN8dm2xDeDNqJKoS2do3Ij6UWWJi2nRjxpb9oHOXt8EIR7ZSLV/V02A8EX0qYDaF3ab8v ZyAkTGPQdHP48f+D8FHtSQQpSXtZrvFfG/TO/H/MvaS5IW1D3EltTVSj66cNg4fTh6ZpIO L0gTGej8eqC//zTrC6wZFCxBzVBJBbUnHIsc+IN9jUQ/u2kZblIP8m4UxySjnXRHKHohcl /d6QVdMNpoa0o1qKQcMiBQopCBp80hBpjFJdA6kbcE1+JENAQFl9a2QVwcQj9Fge+K2zwk E5IdMS7DY1WeAvC7PMF9lGTvHnng7/81Y2kewCPb1IkuDMcVC4PSwdYHEuP6PQ== 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=1695506544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=/3l5zYlw8+jSnXxj9AA16ZnTGW8j72AVWEacqjOiorU=; b=NA+uiTmIluB1bS+hdlh2Okzw/zEREKSZq5XqjT8RGDc3x2oKz/WawTs+RG8FacyyOOz0lh kqDUBMvargj7CnPYQxRNrLjuwlLPdIxnscRLHssDt/5kuMSc7USbzlB2BtN4BC4nVaceSk jR79vU9YTUC6Qi9W9OUHr0TjU/mRU7BRd2cfjLQJegET3R/iKEE0unC/WLbaoQLo52bMOj JJ1XZkU8iiaVJqp+sHYmvjyEiae+spH3pWCZ7V2xYYkrlZEz33zJuvGqYXS7cvo9G+Ko4m RqnjFx8e/FIUymT7TbZuyKBrSHEPbXyK4diLg6pUI5H9z1BdZgRcKGD0Hutjlg== Received: from [128.113.125.56] (cpe-72-224-11-59.nycap.res.rr.com [72.224.11.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: gad/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4RtNR34gHhz1S3m; Sat, 23 Sep 2023 22:02:23 +0000 (UTC) (envelope-from gad@FreeBSD.org) From: Garance A Drosehn To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: Re: git: ca927128bf6a - stable/13 - When parsing a rule to rotate log files ... MFC Date: Sat, 23 Sep 2023 18:02:16 -0400 X-Mailer: MailMate (1.14r5937) Message-ID: In-Reply-To: <202309232109.38NL94uB071348@gitrepo.freebsd.org> References: <202309232109.38NL94uB071348@gitrepo.freebsd.org> List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_MailMate_037E44F4-1A1F-4BA6-832D-78B178A3D9EB_=" --=_MailMate_037E44F4-1A1F-4BA6-832D-78B178A3D9EB_= Content-Type: text/plain; format=flowed; markup=markdown Content-Transfer-Encoding: quoted-printable Apologies for the absurdly-long line in that MFC! The first time I tried the MFC I had modified the commit-log message to = follow standard conventions, but then it turned out I had the wrong = ssh-keys in effect so the 'git push' didn't work. I then redid all the steps for the MFC, this time setting up the correct = ssh-keys, but then I forgot the '--edit' on the git cherry-pick step. I = was expecting the editting to happen on the 'git push' step, and was = quite surprised to see the commit sail right in there! "Yay" for using = the right ssh-keys, but also an "oops...". > The branch stable/13 has been updated by gad: > > URL: = > https://cgit.FreeBSD.org/src/commit/?id=3Dca927128bf6a92abce27151fbb1ab= 112fd2a8385 > > commit ca927128bf6a92abce27151fbb1ab112fd2a8385 > Author: Garance A Drosehn > AuthorDate: 2021-12-30 20:45:13 +0000 > Commit: Garance A Drosehn > CommitDate: 2023-09-23 21:04:40 +0000 > > When parsing a rule to rotate log files on a specific week day, > parseDWM() can advance the time to the next week. If the next week = > is > in the next month, then tm_mon is incremented. However, the = > increment > was failing to handle the wraparound from December to January, so = > when > parsing a rule during the last week of the December, the month = > would > advance to month 12. This triggered an out-of-bounds read of the > mtab[] array in days_pmonth() after parseDWM() returned. To fix, > this change resets the month to January and increment the year = > when > the month increment wraps. -- = Garance Alistair Drosehn =3D drosih@rpi.edu Lead Developer @rpi and gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA --=_MailMate_037E44F4-1A1F-4BA6-832D-78B178A3D9EB_= Content-Type: text/html Content-Transfer-Encoding: quoted-printable

Apologies for the absurdly-long line in that MFC!

The first time I tried the MFC I had modified the commit-= log message to follow standard conventions, but then it turned out I had = the wrong ssh-keys in effect so the 'git push' didn't work.

I then redid all the steps for the MFC, this time setting= up the correct ssh-keys, but then I forgot the '--edit' on the git cherr= y-pick step. I was expecting the editting to happen on the 'git push' st= ep, and was quite surprised to see the commit sail right in there! "= ;Yay" for using the right ssh-keys, but also an "oops...".=

The branch stable/13 has been updated by gad:

URL: https= ://cgit.FreeBSD.org/src/commit/?id=3Dca927128bf6a92abce27151fbb1ab112fd2a= 8385

commit ca927128bf6a92abce27151fbb1ab112fd2a8385
Author: Garance A Drosehn gad@FreeBSD.org
AuthorDate: 2021-12-30 20:45:13 +0000
Commit: Garance A Drosehn gad@FreeBSD.org
CommitDate: 2023-09-23 21:04:40 +0000

When parsing a rule to rotate log files =
on a specific week day,
parseDWM() can advance the time to the next week. If the next week is
in the next month, then tm_mon is incremented. However, the increment
was failing to handle the wraparound from December to January, so when
parsing a rule during the last week of the December, the month would
advance to month 12. This triggered an out-of-bounds read of the
mtab[] array in days_pmonth() after parseDWM() returned.  To fix,
this change resets the month to January and increment the year when
the month increment wraps.
-- =
Garance Alistair Drosehn = =3D drosih@rpi.edu
Lead Developer @rpi = and gad@FreeBSD.org
Rensselaer Polytechnic Institut= e; Troy, NY; USA
--=_MailMate_037E44F4-1A1F-4BA6-832D-78B178A3D9EB_=-- From nobody Sun Sep 24 08:29:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RtfL54cTcz4tc8G; Sun, 24 Sep 2023 08:29: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 4RtfL544W7z3Z89; Sun, 24 Sep 2023 08:29:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695544141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YN4Wev5cUFyZObmua8gfXXO14Scie7QGl35UKAsZVmY=; b=mBUKbPKMdhLk7P7CCrYqPvw9pb7Hiyr/Qig+DBtJSuXvdazt9CgMNIEM4ncc9YJaYh9mAz EllWPJoq/frpScPM7k78noXu1knW/zrj2zatRfAN5ZVM7D9btJBlJvikO7vW4eY9S6iNW7 xz8QTjg6hBk0JPtGeDxYuxbN47s41RHJM66mgKtO7yraLkT9JbL4+F+HchrQ+9hVwPHqpx pRCgw3TCsyw3GjN5hrOUVO9YKx8KgfS5mFv0kHyFqq7iVerc3R30qEhJVN/MbjUfQl8Z1L ElJ/tybH2OreA3vpK9cOP+y7Q9R0KxBpgnzO0qbRdwAA63Ldl/lu2KObM+Zd5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695544141; a=rsa-sha256; cv=none; b=pgPMcokftuq6UpcmYkT7hYzSMMe+x5raeSHV/Ajtxrtl5D2jBCC2kX1cmoO8rK3ijh33PD fvBEEiub59gCocvCrAzyr05t+MwJzy01ByCKrthY8vjETADK3wX8diD4s1Sz0m7sOecS1g SBCLQ3zIIi0CUKXhSLsg3iS+Cti/5RpQ5paJx5K2eLIJWYZx8nOoUuc6tISrsScAu/wQsF DBuo+tqSN7mIj1hDvWeEtv1rVIPoSz0iGMo6POHf6TsbzPECLxAAEnzmbNDbOiwQzRjqIT 5hZX8GTf62XvGcmiLQOmKxovk2vcZGyq0XfVcL0P7jyuzUJuNzU9+HojzxkwqQ== 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=1695544141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YN4Wev5cUFyZObmua8gfXXO14Scie7QGl35UKAsZVmY=; b=e+TPS9mHNIrmMNOyeDZs9glgjPGHgtsURyVcAeGfhprM5BNe7wZYJAy4kXCfcqde6g5iIo nxA58/WYjj9lkQ8wWHV1EP0Z+qOgNBdDVfP1VstiwgK5yQuyo8IRVIdKoqx+YTJyLziGD3 djs7eaH5YzX1MQeSXQg9YyDhVqyqLekJ3WG5gZXXjHw5nVfqCcLtuqdNGrYqOR4tTihmt0 mVQzZ2grMfLc/H1WvZPK+k+S/1PNmcdfTCXiWwaeKri+YIlOHTO29rz6wmhjGaavLVH6lj blz6lWl34J6f4qW62FINS/IXmTZAFSrVCtvL2qc2HSb9lclNd5spYwRuFtYtxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RtfL537xvzftl; Sun, 24 Sep 2023 08:29: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 38O8T19v097620; Sun, 24 Sep 2023 08:29:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38O8T1uc097617; Sun, 24 Sep 2023 08:29:01 GMT (envelope-from git) Date: Sun, 24 Sep 2023 08:29:01 GMT Message-Id: <202309240829.38O8T1uc097617@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: bb438c08b86a - stable/14 - zfs: update share/zfs/compatibility.d to match current ZFS code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: bb438c08b86a32f13da16b2e7801f2cbd45bc5c1 Auto-Submitted: auto-generated The branch stable/14 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=bb438c08b86a32f13da16b2e7801f2cbd45bc5c1 commit bb438c08b86a32f13da16b2e7801f2cbd45bc5c1 Author: Martin Matuska AuthorDate: 2023-09-21 23:34:47 +0000 Commit: Martin Matuska CommitDate: 2023-09-24 08:27:38 +0000 zfs: update share/zfs/compatibility.d to match current ZFS code MFC after: 3 days (cherry picked from commit 7a0e9e3f8f3a9379df793284f719f1a7ee5734c2) --- cddl/share/zfs/compatibility.d/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cddl/share/zfs/compatibility.d/Makefile b/cddl/share/zfs/compatibility.d/Makefile index e60bd172dcce..13d88fef184d 100644 --- a/cddl/share/zfs/compatibility.d/Makefile +++ b/cddl/share/zfs/compatibility.d/Makefile @@ -22,6 +22,7 @@ FILES= \ openzfs-2.0-linux \ openzfs-2.1-freebsd \ openzfs-2.1-linux \ + openzfs-2.2 \ zol-0.6.1 \ zol-0.6.4 \ zol-0.6.5 \ @@ -42,12 +43,17 @@ LINKS= \ ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freebsd-12.0 \ ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freebsd-12.1 \ ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freebsd-12.2 \ + ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freebsd-12.3 \ + ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freebsd-12.4 \ ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freenas-11.3 \ ${FILESDIR}/freenas-11.0 ${FILESDIR}/freenas-11.1 \ ${FILESDIR}/openzfsonosx-1.9.3 ${FILESDIR}/openzfsonosx-1.9.4 \ ${FILESDIR}/openzfs-2.0-freebsd ${FILESDIR}/truenas-12.0 \ ${FILESDIR}/zol-0.7 ${FILESDIR}/ubuntu-18.04 \ - ${FILESDIR}/zol-0.8 ${FILESDIR}/ubuntu-20.04 + ${FILESDIR}/zol-0.8 ${FILESDIR}/ubuntu-20.04 \ + ${FILESDIR}/openzfs-2.1-linux ${FILESDIR}/ubuntu-22.04 \ + ${FILESDIR}/openzfs-2.2 ${FILESDIR}/openzfs-2.2-linux \ + ${FILESDIR}/openzfs-2.2 ${FILESDIR}/openzfs-2.2-freebsd LINKMODE= ${NOBINMODE} From nobody Sun Sep 24 10:44:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RtjLD43F0z4tnGw; Sun, 24 Sep 2023 10: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 4RtjLD34zXz4Jlk; Sun, 24 Sep 2023 10: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=1695552260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gmhkI+4/AxWoloDxpgNTfB/bJvElpGvfJ0pICrmPRJs=; b=lVuzLv69JNb9cekQEDdiH7nme2uc+cDUFzNNB6uaYgD8HQQXpLi2x/cmuM0RmkKotxb8Kp poqxwQzgsNJ1SH4bWd/ljocbne6u+13zN0c7+wS49OkPRKYtCcZTQACf89fYAkWudOzaaK 7OmG8JgxWnjEX2BWP+MLnSLU8hTSTAC79BgohN8EfY69KDVW3rcoI7CIE4Y5ZiSHfOC61E cyWPCynAVtWim8OfHO99e81fdTQvv5gGM3Ado+X4ebcajuNAl8a46A3CKgsnaoIE5dNhv6 uvJ4U1SBuBNsszu4S6ts+DULXiWJKcNZguUqr7D5QVKZ5946cO2an07L6Kk9jQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695552260; a=rsa-sha256; cv=none; b=RX5+iBlTJ4XulmL4Hwo1mWOZmcksKyqO7MHtB+KFIp5l0LLpNysx+7FGEDXyCuIp/BDKGy lVLDD1phVvgh8l88tVvC57VE/1fj2var53xqA81nIdxqpVXlqEJKLP/vdpSBi152+gQsRy ISUYR3MggMEgBx/V+OsK7DBKKCKbtjfKU3PatyovlLc4nO2x8eQJa57v8TLiwDK+/GUx3i 1ANAofk4pLBE/f1pxYD8ZiSzvQjZ4urzAGOmw688Ys5t2za3rEx+MO28Jc8lDVASpltWah wOwzj2nB68BAFlvLHaze3u/eMaIOmIkiR6cGRKHzAkIHnttozSW+OlshP0Za7w== 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=1695552260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gmhkI+4/AxWoloDxpgNTfB/bJvElpGvfJ0pICrmPRJs=; b=kDXyNZUakD3A4JTmABS8vV4pCs4gonNR2R4swle/mDil2U1qMRsYpgy9VGd/sT4Pav1Kfq brZHvq8abdCkIhHNfPnNroEBvgbh8yW54Iz9HzRvN3+1nid2+6dO6k7rpTkRr5GkCY2xCd ve7TDzSH+YPdlBqyeF05GMc4DmsatZFP4+wuvylDnQvyTHp9NoT2KzSsp45Pd0ADin/DWK c9i4TtJGqXB5tDcFo7KEgURraVUnmXVdMzJCmrdmpaSOluxiajL5B9ebbI+m3RiCmtK6bg mgfjpGIfb0KS+siCnV51CWz4a13QKHOIdNp40/wmKPYHHSKKzniEy0ynDke4YA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RtjLD27Dszk3f; Sun, 24 Sep 2023 10:44: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 38OAiKX3029581; Sun, 24 Sep 2023 10: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 38OAiKSJ029578; Sun, 24 Sep 2023 10:44:20 GMT (envelope-from git) Date: Sun, 24 Sep 2023 10:44:20 GMT Message-Id: <202309241044.38OAiKSJ029578@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: c76dfb929e70 - stable/14 - vfs: fix reference counting/locking on LK_UPGRADE error List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c76dfb929e70c80a2d0280a1371c07738d910c11 Auto-Submitted: auto-generated The branch stable/14 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=c76dfb929e70c80a2d0280a1371c07738d910c11 commit c76dfb929e70c80a2d0280a1371c07738d910c11 Author: Olivier Certner AuthorDate: 2023-09-22 20:57:20 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 10:44:11 +0000 vfs: fix reference counting/locking on LK_UPGRADE error Factoring out this code unfortunately introduced reference and lock leaks in case of failure in the lock upgrade path under VV_CROSSLOCK. In terms of practical use, this impacts unionfs (and nullfs in a corner case). Fixes: 80bd5ef07025 ("vfs: factor out mount point traversal to a dedicated routine") MFC after: 3 days MFC to: stable/14 releng/14.0 Sponsored by: The FreeBSD Foundation Reviewed by: mjg [mjg: massaged the commit message a little bit] Differential Revision: https://reviews.freebsd.org/D41731 (cherry picked from commit 02cbc029dac936b4ddbc38cef969c4b30c9a7d1f) --- sys/kern/vfs_lookup.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index 151253ffa0f5..d75351c34314 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -905,8 +905,15 @@ vfs_lookup_cross_mount(struct nameidata *ndp) crosslkflags |= LK_EXCLUSIVE | LK_CANRECURSE; } else if ((crosslkflags & LK_EXCLUSIVE) != 0) { error = vn_lock(dp, LK_UPGRADE); - if (error != 0) + if (error != 0) { + MPASS(error == ENOENT); + vrele(dp); + if (dp != ndp->ni_dvp) + vput(ndp->ni_dvp); + else + vrele(ndp->ni_dvp); break; + } if (dp->v_mountedhere != mp) { continue; } From nobody Sun Sep 24 10:54:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RtjYS10PQz4tnS8; Sun, 24 Sep 2023 10:54: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 4RtjYS0F8Dz4L5Q; Sun, 24 Sep 2023 10:54:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695552844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/3E9LTD+xrJCp894TUYIJn5HdAtXNuX0iKn7r/2fQ+I=; b=D1WHmRVFOuka7L7r7i1gks5pE9KhdiUOunRcu6NbORpe3wPLHWIW3WiicOt2tcq0dzRHHy E0RDb0LylMwWM/FVaRVkr7K9YLfuLAILQkdCvQHccmVrNmAnEazL/8krx1cBbKtoU+2Ow2 yayCfaPV9FiaVNL7VvHT6kmCkJFDE2SFhNInYJHDGTsa9AKoLpLKsXHACH27fvWIO9tkD9 S5ebU5A6xPJo2WUjUT5iCLX88Ajz8Go40nkfbbvdDWKVVSOHj923DCyWOl7JgBATSe94Hf P+CQOZt8ykoqrTkxWOXTfKCltpLWRYyPH6xVRH8804rDey7Vm9jjxg3UaRXM2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695552844; a=rsa-sha256; cv=none; b=XoV4SqtFboFcnI+P3q4W2U/MyY6d6fTAVQEPZfq7aTsJn+MRsFXBkE1hcDPI72mUbHBYXP IqfjS/nqrDuhQowZgemZ+f0CumHevPWx08pfOFPdi2O3uR6C6hsFo/1LgJhr1lUIt4Yh6r z4sZH/cnYWYP4arDVEZLaSidAVfRWluZsNTiRB+28kusMnE26ewAg1aaVC024/ON3cxjS2 3LshW8zatC6ypzhgRKVslzUnLGUq9qnkQ932RbGS+Y3/v/wLP5e1NKDqE3kPAgzTgomPVr 1kj2caNCOqqVrXxtc6NKrA9wX0On8RbmB5k5dNIj6QVAy+mYzCFS16+FZTPbNg== 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=1695552844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/3E9LTD+xrJCp894TUYIJn5HdAtXNuX0iKn7r/2fQ+I=; b=AKvIZKMQxf+NxXq2VHr1EAxPET8jpFWVuToTP882Ff0S6aisD4byBHtdPDzdJPD3QGlAAD hRTsUWzLznsT37H+skBNTF+cwmBzhCHeOR3za4D+znouGsAPS1sbl01FPlTiTh/rBPxMN1 FW5cR5YmqeCXP2qwV05XlhP7tYU2Gqf16WESloEPXzMXpjgWzxZOjSJ1d77ZlEU0idsOYW jkUheDu7XeQ+off9Cj7mRIkCOmhiSK4qK0hvegdLIdjZzgqVd6s8irFTZsyxoh7B1eV8kw x/YT7N+Qf3L+geezFHE/utERebdZo5Eb/pGGrj/L+oBxEjIwb+F4uCLfqcW85w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RtjYR6Q0szk0x; Sun, 24 Sep 2023 10:54: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 38OAs3sw046097; Sun, 24 Sep 2023 10:54:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OAs37N046094; Sun, 24 Sep 2023 10:54:03 GMT (envelope-from git) Date: Sun, 24 Sep 2023 10:54:03 GMT Message-Id: <202309241054.38OAs37N046094@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: e68a2f18b64a - stable/14 - linux(4): Validate exec_setregs on arm64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e68a2f18b64a0b3b6e17f4a8ada68c6332e14423 Auto-Submitted: auto-generated The branch stable/14 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=e68a2f18b64a0b3b6e17f4a8ada68c6332e14423 commit e68a2f18b64a0b3b6e17f4a8ada68c6332e14423 Author: Dmitry Chagin AuthorDate: 2023-09-05 18:19:08 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-24 10:51:36 +0000 linux(4): Validate exec_setregs on arm64 The lr register is cleared at the beginning of the _dl_start and _start, so there is no need to initialize it. Gnu libc _start takes an rtld_fini pointer in x0 which is set by ld.so for __libc_start_main, the kernel does not register any atexit pointers. While here fix whitespaces. MFC after: 1 week (cherry picked from commit 20845a6994c548977874d1f413044d43c8474f0a) --- sys/arm64/linux/linux_sysvec.c | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index 885ac4657380..3072732de768 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -51,7 +51,6 @@ #include #include -#include #include #include #include @@ -107,12 +106,6 @@ static void linux_exec_sysvec_init(void *param); static int linux_on_exec_vmspace(struct proc *p, struct image_params *imgp); -/* DTrace init */ -LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); - -/* DTrace probes */ -LIN_SDT_PROBE_DEFINE0(sysvec, linux_exec_setregs, todo); - LINUX_VDSO_SYM_CHAR(linux_platform); LINUX_VDSO_SYM_INTPTR(kern_timekeep_base); LINUX_VDSO_SYM_INTPTR(__user_rt_sigreturn); @@ -178,19 +171,9 @@ linux_exec_setregs(struct thread *td, struct image_params *imgp, struct trapframe *regs = td->td_frame; struct pcb *pcb = td->td_pcb; - /* LINUXTODO: validate */ - LIN_SDT_PROBE0(sysvec, linux_exec_setregs, todo); - memset(regs, 0, sizeof(*regs)); - /* glibc start.S registers function pointer in x0 with atexit. */ - regs->tf_sp = stack; -#if 0 /* LINUXTODO: See if this is used. */ - regs->tf_lr = imgp->entry_addr; -#else - regs->tf_lr = 0xffffffffffffffff; -#endif - regs->tf_elr = imgp->entry_addr; - + regs->tf_sp = stack; + regs->tf_elr = imgp->entry_addr; pcb->pcb_tpidr_el0 = 0; pcb->pcb_tpidrro_el0 = 0; WRITE_SPECIALREG(tpidrro_el0, 0); From nobody Sun Sep 24 10:54:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RtjYT1q4bz4tnVj; Sun, 24 Sep 2023 10:54: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 4RtjYT1K5Gz4KmQ; Sun, 24 Sep 2023 10:54:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695552845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sAqsg8zHqfHTJ16eOAtH+WjatCIIQH+RnR5XnjNUvnU=; b=uFydvYYWSfvwlButIOA+hiX4FP7RIiaEhwW/IdOAIbrgHNxM69Lr3G3oK0aCQ1t/p/pSUS 4+Xnmp4ympDFoKJQHwMmDmrM2E4UE7wcIcCjeiz+LsIH3E6DASkqnr0BpBTexuMDt3nbpw oG1kzIH8k0VaXVDH/jLh5v0ISfol1gPZyd1aYPpeLFSm2t/yPAINICkEk4CVv63fuSuaJU TaU0oUPEaaMCLsUqN/BbRV6uE9oYYdnuTtqAwmdO33XOlEib+N1EOwbHkl/0kKfB7qRp9h 6uMK4NEbRG4ZCWYtsKAvzlhBpvz7xn3IhzoKi9mR7HWAmErPoOpXMQHrp3SbOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695552845; a=rsa-sha256; cv=none; b=a8FfpjQtHYjpUzWXR9c3xLR/4MsLnT3rZ9CigeAD5uZNKLCAt/BXA926Oi3eVngAKZA8yW zyuvQ4HJuwwb7T1jIvmkrBWAxR+NuS0Bt5lMtHyVFf1ZPeZ/kup1BzdOm4GfUOIbOR/LGO 1Ahbo0hsJaaUOcmqDHRcE4Fol6obHxa3zN2R3iYjpCgh6Idq17Eg8EDlKTsk1vwtV9Dc3f WIDYxsrmSlh3nnxPPMnWP1wxuZNBVmIzIP+puZK1APdezNdfryAXjPvV8zhRWzzWt/NNi7 Xx8PPzI3TWKgDQk9U/sdjniAbeb00Vs8TAlT6kz475t8kwCiyfO/XuHBS47zbw== 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=1695552845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sAqsg8zHqfHTJ16eOAtH+WjatCIIQH+RnR5XnjNUvnU=; b=DvzfwXIlhE0gyO8ErrLs22YDfoXs3in1nL+9MFuy9gaYo53bX3xIvILJbxyubX3JEj3hJX OCxTQrYaZYoCTpcawtLmRSgvP76H/JvnQUZVUBvhuKb2Yfyw2V6XKUV9FZXXyaIdD6R1HC eyoVKFniuTlvqqtjhAp8+Gj2eEvALaMoWfkA/twAVqrJ84N/LYHl+/VJxCqgfJ83FgEt/2 7jPAgiURrQ9A9PUeXzGIpLCYi+iS44yGtmnZdZGpCgY1Z4/ZoiBeZTeoacawTvujdTOfXZ rZS/MpjLxFXrv8+4PkdJg6iXCo/dnswEJkgY8p6tEtFHd55LEQBOvxQg9ysQNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RtjYT0KzBzkmC; Sun, 24 Sep 2023 10:54: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 38OAs43b046140; Sun, 24 Sep 2023 10:54:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OAs4mR046137; Sun, 24 Sep 2023 10:54:04 GMT (envelope-from git) Date: Sun, 24 Sep 2023 10:54:04 GMT Message-Id: <202309241054.38OAs4mR046137@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: cce0625cdf4f - stable/14 - linux(4): Cleanup includes under arm64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cce0625cdf4f014b819b1a9665a299f127eae48a Auto-Submitted: auto-generated The branch stable/14 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=cce0625cdf4f014b819b1a9665a299f127eae48a commit cce0625cdf4f014b819b1a9665a299f127eae48a Author: Dmitry Chagin AuthorDate: 2023-09-11 18:29:28 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-24 10:51:36 +0000 linux(4): Cleanup includes under arm64 No functional changes. MFC after: 1 week (cherry picked from commit 027d727d4071435376017d3789fe603a8aec805a) --- sys/arm64/linux/linux_machdep.c | 2 -- sys/arm64/linux/linux_sysvec.c | 4 +--- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/sys/arm64/linux/linux_machdep.c b/sys/arm64/linux/linux_machdep.c index 3ba5683941b5..3bc2923b9d4d 100644 --- a/sys/arm64/linux/linux_machdep.c +++ b/sys/arm64/linux/linux_machdep.c @@ -27,8 +27,6 @@ */ #include -#include -#include #include #include #include diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index 3072732de768..5f9252accb5f 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -44,10 +44,8 @@ #include #include -#include #include -#include -#include +#include #include #include From nobody Sun Sep 24 10:54:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RtjYV4T1Kz4tnPv; Sun, 24 Sep 2023 10: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 4RtjYV2CxDz4LH6; Sun, 24 Sep 2023 10: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=1695552846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vdvQoWR+3WRnMcxzHQsMM9BfJJDCwbWqvwUQFlOpknM=; b=Wl7UQW36Fz/W5Nb1F2eQzLbnC0ikfjyz1y/1EXSBtfQCuf/3tABMQZY2y8ZNmaJaRtx4wM UHdbhCs1DIsXLCd6TQUCESGgyiFVVOyk4pRv7AmGcHw0vY0CGNQTWbADcLIqOCtuBF32QO m+Eyp1Ane7Wan4dlt2/grBMVg2Na9BavYCN2j8Ic12YEGVxAyaJRFqbMfZxt3qfKDfDLKY NAh9bsku+4ODZJbQL0edcjAZzUu1s52TqWOGQNe7Yo0K2vb5ZboYwMXPo7fwEqIXEt3rXK v7xXr0VAJoW25a9ktGCYNia80S7cYdUQeVNY8bivrV+seyPw+0IuzvmBb92KUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695552846; a=rsa-sha256; cv=none; b=tK3nmAhYEpMByAiVmu+V1g7UeeQQfJmTJxWLMUH1fhKsnhUyDW4egyTnnNdguWcwoW4dNt 6fJnu3jAVwKUvMn7FRBkt/kTA0jJFEOBQOAULcfO/t3Jb3ugCrtEwi6qI5VOnYTYt+69kn BhsWj+ao+EUCkn7ES9ExoykCP4HRgqmkryonJjYx3DOKycBfnCfjnNux3ALCcr+ZHObkrn 9aYeXK16MyUGHckIBtEa6siEespx7HtlojKfYzNF/YWn+rtdO+s0YSLGPMZ0Hhv7PL8rTo nQwot7UWqlgn07HuKePGoB+K0F4+sEDsFfukajTCKEgct0bGCq0IWWhaIKo1Jw== 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=1695552846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vdvQoWR+3WRnMcxzHQsMM9BfJJDCwbWqvwUQFlOpknM=; b=MOGdBjEC5f48yrJzSmPLdEMsX4zbdi43SqubLsVxcKjEhmEvRtoE6oDCaQTu1jr2+C7CVa iGVVUWmLSjwMNATMRkxDGJbvVLA8DYalBQtdztkFLphO3eN4EBY8Ko7KBD+k+GYl232253 b53qasXWwhj1zsbqixa3reIX/NgpYAF5p+3KYTGz6bJlaD4o+P2k3eAUR+Udaov04rurv3 rHgF2wKRSgFZp4X1y0CC4b1frb5x2QlBZNAYpL7hUnb7RWdIXCiQ+LQJhZa4ZOmSfhfPU/ 2LkzZ3pkFy69gFNufawxaes54UlYL1AGGfRMu9trXGbuhccx2OFPLb1EXBQcDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RtjYV1DZvzk10; Sun, 24 Sep 2023 10: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 38OAs6DQ046187; Sun, 24 Sep 2023 10: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 38OAs6iV046184; Sun, 24 Sep 2023 10:54:06 GMT (envelope-from git) Date: Sun, 24 Sep 2023 10:54:06 GMT Message-Id: <202309241054.38OAs6iV046184@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 41a4122b7b78 - stable/14 - linux(4): Cleanup includes under amd64/linux List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 41a4122b7b78e49fbcd91a8abb409dad9f3ac2d2 Auto-Submitted: auto-generated The branch stable/14 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=41a4122b7b78e49fbcd91a8abb409dad9f3ac2d2 commit 41a4122b7b78e49fbcd91a8abb409dad9f3ac2d2 Author: Dmitry Chagin AuthorDate: 2023-09-11 18:29:34 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-24 10:51:36 +0000 linux(4): Cleanup includes under amd64/linux No functional changes. MFC after: 1 week (cherry picked from commit 68df2376e0e50cea0f8c3c04dc2d8a7b63515773) --- sys/amd64/linux/linux_machdep.c | 13 ------------- sys/amd64/linux/linux_sysvec.c | 7 +------ 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/sys/amd64/linux/linux_machdep.c b/sys/amd64/linux/linux_machdep.c index 33ce902a45bd..7ec1ec56bb95 100644 --- a/sys/amd64/linux/linux_machdep.c +++ b/sys/amd64/linux/linux_machdep.c @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -41,25 +40,13 @@ #include #include -#include - -#include -#include -#include - -#include #include #include -#include -#include #include #include #include #include -#include -#include -#include #include #include diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index 55eb34b6d329..2907323d903c 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -40,7 +40,6 @@ #include #include #include -#include #include #include #include @@ -51,13 +50,9 @@ #include #include -#include -#include +#include -#include #include -#include -#include #include #include From nobody Sun Sep 24 10:54:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RtjYW50xrz4tnPx; Sun, 24 Sep 2023 10: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 4RtjYW35wbz4LKc; Sun, 24 Sep 2023 10: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=1695552847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tCvBNEdSXuttWE27bulODoZbpdrHTYCmZbbRdvJIjB8=; b=o0S30VYGFo977prBGiICjJFyzuilWXYKpNbl9BktXbOl/1yUYMYAwgZTmr03GDgUuWmwOP 51SCF1EquKWic0IoHC+VhCzPNgI/HqZ7nw+n3V2TxOEAG1MrZSz9Y2UsmA1DgCRgFE/i4+ Qlkc+L1mFw2dgzdPUYf5WjDr+cA53bmXES9oo2LevNf7z/pvU5lmLcOgSmyfo2Wgk/TPlz Hrz+3doawN4mH2ZEQb4rsylceWVxfls1fIZYvoBcLGsptQq2Mzy/xodBOSLC/dvctq1d69 gSefoKUu+maqSXY6x5sWwqppnj1VFjE0wPbog4TW1T6ZyX9xY/FrzC/pvPnLUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695552847; a=rsa-sha256; cv=none; b=anwddYRQ62JjF3eYVnMDhY6IjuqEcqP2lJvYdQgVzoiTAlI4utGLWmWnvIaUBS7/HhnpNU gBFFig5vgsNJYtIq240afKsxczMaiTp4NILO5ZbOiQ6e2S3kdpU77fHW7ljP4VJ4g57Vl3 exk9D2NGXGkQivtV0J5giO0jPpXKQngzjGcMEHwcUsu4KchmaW6yaInb7X4KE3kTzhSq+T bfsegafbHkZDvsNXQmA75vBGYEh9Rt/2j4OUYNKOFWGftI4PWvVrdELSpNLQsbjplKImoT 7UKV/XuRQrf4/rZbWpPP0qox0j+KjbjEy7QWi7WoyMvIIB4jNvdEex+8RkbhDA== 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=1695552847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tCvBNEdSXuttWE27bulODoZbpdrHTYCmZbbRdvJIjB8=; b=KjI1VHzNdA7PZf6woRFLu0mdy8hAd0AwjxgIZVIuZE98jPetvrLSGmJoQoLcVqYDQhazPL XnTBy041WLTDpZOfyTalAlEbqgdQGYA0htu9SSuPh1ppTErI4ND00hkxLwTdNrpL+DnOMU JiXb37JWgiqa/Sc0qcgPD5fx3L3UeR9eLPwgIiwWin2pclZUC/x5RNYOkTItB4aTkRbPKT /DKwJ774GfzSqA7mUcdXSU4Kk9mpEZUCt6NSrWFlJx//S0WLRvB4bmjG4G6ECChvpMQUeQ 0ZFeSyHtdtqieQ8gb1vhiJBzAxYixEJ9aMlFfh6vrml0BDwHRJ8lxyDViw1n0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RtjYW2C0nzkkj; Sun, 24 Sep 2023 10: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 38OAs7xF046231; Sun, 24 Sep 2023 10: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 38OAs764046228; Sun, 24 Sep 2023 10:54:07 GMT (envelope-from git) Date: Sun, 24 Sep 2023 10:54:07 GMT Message-Id: <202309241054.38OAs764046228@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: cba7b3b9563c - stable/14 - linux(4): Cleanup includes under amd64/linux32 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cba7b3b9563cefd73a90c7a044ebc7827de1eed8 Auto-Submitted: auto-generated The branch stable/14 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=cba7b3b9563cefd73a90c7a044ebc7827de1eed8 commit cba7b3b9563cefd73a90c7a044ebc7827de1eed8 Author: Dmitry Chagin AuthorDate: 2023-09-11 18:29:40 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-24 10:51:36 +0000 linux(4): Cleanup includes under amd64/linux32 No functional changes. MFC after: 1 week (cherry picked from commit ba90a31d08e413b82c1d1d4d697c2cdb32a13674) --- sys/amd64/linux32/linux32_machdep.c | 14 -------------- sys/amd64/linux32/linux32_sysvec.c | 7 +------ 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/sys/amd64/linux32/linux32_machdep.c b/sys/amd64/linux32/linux32_machdep.c index e10502f9bd80..ba4dcc61af76 100644 --- a/sys/amd64/linux32/linux32_machdep.c +++ b/sys/amd64/linux32/linux32_machdep.c @@ -31,31 +31,17 @@ */ #include -#include -#include -#include #include -#include #include #include #include #include #include -#include #include -#include -#include -#include #include #include -#include -#include -#include - -#include - #include #include #include diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c index f2a379a66860..31436ee7162a 100644 --- a/sys/amd64/linux32/linux32_sysvec.c +++ b/sys/amd64/linux32/linux32_sysvec.c @@ -40,12 +40,10 @@ #include #include -#include #include #include #include #include -#include #include #include #include @@ -57,12 +55,9 @@ #include #include #include -#include +#include -#include #include -#include -#include #include #include From nobody Sun Sep 24 13:19:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtmnk3r4cz4tyHn; Sun, 24 Sep 2023 13:19: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 4Rtmnk3LnPz4WGj; Sun, 24 Sep 2023 13:19:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695561594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4O+7J/WpIHswDgkDeBF1qczhxypPtMhrC0ITIAau8F8=; b=W8+jyHintSak5SETVGPDnqoZaxNoES58R5xU3BjiRhovRYQLTXTtN6fM7p+3W3NxLLNifF YT2jEK9XyaZUPiwYJsPpwX1VoESh/A/ypyrkosxipPHYPm1I0xX0sR8povNYVrq0jGqwRi PSNNQfl8KIv9acjp0vws/zK9/9MsZvXYRW80DESmA0448lro0Bz8+Nfd75cHf4vNVnDmnj k8TUUZsdl1i1UnXvNid4O1rnSFPMgwmIp6D8otZoTqsQ8Upok9a+7ELjgrimZXY9AJthSe hOIAu16OWPKt+bTS2gqi90us/wrZOB9nefrMCPHEgm8j8lVSCUSSJWN8kh+LxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695561594; a=rsa-sha256; cv=none; b=CcCU51zxlA0DzncH7IrQRzSyIzXglpjApgwd7IoMRTj1bemOyNRQjAyCkddtkwHKYgEG35 DRtVahMpxt0V6HNsIzCoAnmYgjxs2klL25xNDG1zyfyFCIXl76737NV1UK6vvNi+6qLy8e 5BYt/X0d2/JcldQnMF1WQIwRbKY7vRBo7GQQiT1oJaimyCRqEtFGgWeBWbr3WoJ+QZ3oNh 85b9ZNg6k5crVZ+cUutLXyFPeT3CkYH3ArSuEY3iEak51UBfDLHv+I4i/ifq/+i3BzU6m2 1fLw5Fe+lnmYNmAuYswcS/hn6GPzqZ4Vc8YxyWNp1cm7J8lLj38rLRlAi1YZKw== 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=1695561594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4O+7J/WpIHswDgkDeBF1qczhxypPtMhrC0ITIAau8F8=; b=EhnwOTVgucXuQSJY87R9KNgGXcIu2w9/x7KXKtjJxrl4L9NiKSPTYCYgFIKp2rTNMcHA2Y O6KhyNL3R+DwyEouQ8/6gSH2QExEYAIJXoUljOnbRBne+FG2J29zwRQGxniJqiQHYCHUsC hHcm8jBuI46XKlXypSx/969r1fq6tdpLJOcjSDH9FQftIQl1XrIqUjSISxHWuESB6VtA4H B57SDt1JDlCiYPV76t694O2gulvlfP6QJJWx2JSc3CxIiPCNrqnyaCCeIurnOdXX8wReN4 9VrfPNJI5ARIEyallGXVWSN/oXydXBGG+VRrsNvnkGrAsqQwdtcBkAj23/Obww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtmnk2Q3mznQ0; Sun, 24 Sep 2023 13:19:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38ODJsLY079646; Sun, 24 Sep 2023 13:19:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38ODJsml079643; Sun, 24 Sep 2023 13:19:54 GMT (envelope-from git) Date: Sun, 24 Sep 2023 13:19:54 GMT Message-Id: <202309241319.38ODJsml079643@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: be31bd59895e - stable/14 - makefs: Handle missing link keyword in mtree spec List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: be31bd59895e57fb7359de870ea3ecc19e3d1ae1 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=be31bd59895e57fb7359de870ea3ecc19e3d1ae1 commit be31bd59895e57fb7359de870ea3ecc19e3d1ae1 Author: Stéphane Rochoy AuthorDate: 2023-09-21 07:14:20 +0000 Commit: Ed Maste CommitDate: 2023-09-24 13:17:43 +0000 makefs: Handle missing link keyword in mtree spec PR: 241178 Reviewed by: emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/850 (cherry picked from commit d26c1a0f8bceb6748436fe3fc57bac3ef8179dd3) --- usr.sbin/makefs/mtree.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usr.sbin/makefs/mtree.c b/usr.sbin/makefs/mtree.c index 45588e202542..3e62afbc1137 100644 --- a/usr.sbin/makefs/mtree.c +++ b/usr.sbin/makefs/mtree.c @@ -740,7 +740,10 @@ read_mtree_keywords(FILE *fp, fsnode *node) type = S_IFREG; } else if (node->type != 0) { type = node->type; - if (type == S_IFREG) { + if (type == S_IFLNK && node->symlink == NULL) { + mtree_error("%s: link type requires link keyword", node->name); + return (0); + } else if (type == S_IFREG) { /* the named path is the default contents */ node->contents = mtree_file_path(node); } From nobody Sun Sep 24 13:19:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtmnl5L1Pz4ty9G; Sun, 24 Sep 2023 13:19:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rtmnl4cSbz4WML; Sun, 24 Sep 2023 13:19:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695561595; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u81/sb1gGcHAwEcsPnh1uFVIibn9jiW/pfBEsNDpTdA=; b=orZowJ20vg9aKWtVb8mysEfuRyiSrNp2z7xKJn3lyjMdi3SN4Xe06MbTS/UjQlSkeO1/hM E14NxnuCV2VPQ8QnOpSkv+1jXXxLcZXJCn6u5GlfYycuy+fmRnJg8HBHef3375QEZFJ3xE GjBzySxRwhwewNz/0sZ0Owulyyt78IhRxvDRmTX2Wv5FzPEIwDPHb0CvTjRFD4bT6gFGiE 4qYK6d4GmEis+zR4f6ODJaF4feXmYYWs5B0B1NujmVwbVgIlo8rvE2uKwq+3AUjpRh7moV N61Xr078x92X4K48F1kbJqeVmffz5U+0nHnzz/96oUk7vkcTOjlbZDvs38AkuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695561595; a=rsa-sha256; cv=none; b=kUvkI5eiXgWM2v8SO0usyxgljOxluReY9wCPlX+Fc8BSnYOVxBUUDvUJKKB1mXro/FDsgC mb9ccsd1J8btYc7sDCNThQn2su98SJ43cXRLtOTPA+sT7+MmZ4urt0JB+jfM8lGokGIGc4 QJ8aPJHkZttw+GmGLjvHMUgRXwWdL8N6AxiKfoQHb86MbrUamL8XnKCxjiYazcHb4hzmUQ NuDDY3WDVZaNDtmIoepjBIC8hf7dAA8lrHpV18DmvtUD0tgBO25UrAvQ19fXEy2YDHhcIB nptCzfiJIS2a4pR6HLnyh57ns8QsIpoOo7tqTm90U5MIhZeAiN0L7eG7Ft1ztg== 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=1695561595; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u81/sb1gGcHAwEcsPnh1uFVIibn9jiW/pfBEsNDpTdA=; b=LB7S/PQ2kY6d1Xje2SGodoInFSQ+AZ02aX9SI27trjlrj/BXEWLw4PrPDEhvf2OC+wNWz3 okgDYl2FsC/Ui6cXeggBr9WnbP6ADYgpdxyGtPOq8NPTQ9w4M2YKbC3C3shaeXIPcdL23m FdjqQ5KV4T5GfspXYmL1MlVMhirMc7mCfiKhMVO29tNzJRr+k8eDrqK92bl3Gpwr5VgBTA Dc8aCsMJmu0R0Mx/IbS4Q8Lg/WUSLaXLBgvTNsZVLGZJ8erSUMfOmkdgu8tq4/fZ5PR037 ROeO8OBpcznqEv96WvYb3yoOeT4l1d32fxGzpb0ntwwReyhVOZZaJ/vSFLV/6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtmnl3Q0Gznvw; Sun, 24 Sep 2023 13:19: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 38ODJtDo079701; Sun, 24 Sep 2023 13:19:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38ODJtol079698; Sun, 24 Sep 2023 13:19:55 GMT (envelope-from git) Date: Sun, 24 Sep 2023 13:19:55 GMT Message-Id: <202309241319.38ODJtol079698@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: f701d9da1d94 - stable/14 - rc.subr: don't require service to be enabled for `status` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: f701d9da1d94891dd2edad607a989cad6eb10313 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f701d9da1d94891dd2edad607a989cad6eb10313 commit f701d9da1d94891dd2edad607a989cad6eb10313 Author: Daniel Tameling AuthorDate: 2023-07-01 08:43:40 +0000 Commit: Ed Maste CommitDate: 2023-09-24 13:17:43 +0000 rc.subr: don't require service to be enabled for `status` For a service that sets an rcvar, there is a check whether it has been enabled before the actual command is executed. If the check fails, one gets a message to enable it and the returned exit status is 0. However, this is usually undesirable for the status command, which is a) supposed to check whether the service is running anyway and b) returns a non-zero exit code if that is not the case. Thus, skip the check for the status command. PR: 272282 Reviewed by: emaste (cherry picked from commit ba793728a840041e93e38bcbff4a7233dc63b722) --- libexec/rc/rc.subr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index 17ca904ff1e7..332718dc6f2c 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -1041,13 +1041,14 @@ run_rc_command() continue fi # if ${rcvar} is set, $1 is not "rcvar", "describe", - # "enable" or "delete", and ${rc_pid} is not set, run: + # "enable", "delete" or "status", and ${rc_pid} is + # not set, run: # checkyesno ${rcvar} # and return if that failed # if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" -a "$rc_arg" != "stop" \ -a "$rc_arg" != "delete" -a "$rc_arg" != "enable" \ - -a "$rc_arg" != "describe" ] || + -a "$rc_arg" != "describe" -a "$rc_arg" != "status" ] || [ -n "${rcvar}" -a "$rc_arg" = "stop" -a -z "${rc_pid}" ]; then if ! checkyesno ${rcvar}; then if [ -n "${rc_quiet}" ]; then From nobody Sun Sep 24 13:19:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtmnm5yM2z4ty9K; Sun, 24 Sep 2023 13:19: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 4Rtmnm5S34z4WS0; Sun, 24 Sep 2023 13:19:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695561596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g1jCY4m6TAh4NXmBs9ekebh9S+sAsScKtCOXyHVZdGk=; b=h9QampkuUl2itqzSRaCgLa+IW/QDkZ3H9YnxDHPBIqWiuUvvlR9CBa3OvGbuodgb8dxUg7 vA6YYo1p+rfjHRJuOzgXPwoSJY6kre+YYnVQ8I4HIkjfytdTq2klwA4owbvXW7Um1Pneug QelHlFwIfZDG6Hgd1DYwr+va2ihBj33/3brI5KKkX/OnEEAWySneZVDA9wjoXUwFSdn2xV 219pmawYZ8KjPF/sHNsW4bD7dj8N11SuUP56SL7cjtVuLDTUNZ5PoO3zsaoFg3Z60iuI3V LyPS0vB0X6PnBAwY2J1doLSN6GYKydoDZuLu6hjjjnJdWdNtUsBb5zJr0B4Tig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695561596; a=rsa-sha256; cv=none; b=USzAbQIbY1pVRX2qDxEnGcZdmgZpmOUhgcG8N2yHI0YkmJKKF6zTW41KJx8cApEKuQqdPV 8PscZR7zBGi16LT/ckczXKIfEI5D/bQ9/sI+Vy/8PsbJN7OaL+qeWQpnKWmF+j53X6CgwI 3BI0diyy+RbtESBsp1ZpsGXfUCA811lBsYT1lDxtOIoktbJtxkMq2moFxj5JWJAkiw9pEK qmqp4x4ADUaKwsMDP2pUri0Q+66cIOjYMT4JnpKbZlqzbDRSEI73xF85/2x3cvywFdJxrh Yd+QCtSyZk0+c2sRDH4F1wG74RGUSG8S2CVRMbFhzi686f6ZmPzm+g5vbB49UA== 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=1695561596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g1jCY4m6TAh4NXmBs9ekebh9S+sAsScKtCOXyHVZdGk=; b=LtAqEqHUm3LmSmtQX+HpIahmARB+OuOPQU3dvDskzgeJpFqoetwGIKBMWe0qD+Qig4erV2 DZ49hgANC+wQr15/zU0QYonSW3lR7oX8jEiCcILIpfZWTbZR93QWACypdoH+doUbw94S8P SdPXyG8JIz4YHhpBmb0JykdBvY3H47QyhabscJroKfMBKD8XhGVfkXgnta+5W24eQzui/F nSJQZax6IEiZFpy35l0LHUova8/mU0MzfXJBkR2PdiA9NMzox/SB6wmEw8J121BFoFJ0xF FkX5oP1ZcLAe2gFUQ/oamtJWr6WqNiy4cHxGlyLSmMFUaNRdsHsHFDwkMFAX/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 4Rtmnm4R8dznQ1; Sun, 24 Sep 2023 13:19: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 38ODJuTu079756; Sun, 24 Sep 2023 13:19:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38ODJuFD079753; Sun, 24 Sep 2023 13:19:56 GMT (envelope-from git) Date: Sun, 24 Sep 2023 13:19:56 GMT Message-Id: <202309241319.38ODJuFD079753@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: ab64f100ca5d - stable/14 - libcrypto: complete the support for the 0.9.8 API List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: ab64f100ca5ddd37029695646003abaf49c3065e Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ab64f100ca5ddd37029695646003abaf49c3065e commit ab64f100ca5ddd37029695646003abaf49c3065e Author: Pierre Pronchery AuthorDate: 2023-09-21 11:42:06 +0000 Commit: Ed Maste CommitDate: 2023-09-24 13:17:43 +0000 libcrypto: complete the support for the 0.9.8 API When importing OpenSSL 3 in base, some but not all source files implementing the deprecated 0.9.8 API were imported. With this change, it becomes possible again to compile software targeting this API. PR: 272220 Fixes: b077aed33b7b ("Merge OpenSSL 3.0.9") Reviewed by: emaste Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-src/pull/851 (cherry picked from commit b15b39521644ebffdcc091bd283ed410b0ae9274) --- secure/lib/libcrypto/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile index d8ae91bb3272..dc701d90451e 100644 --- a/secure/lib/libcrypto/Makefile +++ b/secure/lib/libcrypto/Makefile @@ -196,14 +196,14 @@ SRCS+= des_enc.c fcrypt_b.c .endif # dh -SRCS+= dh_ameth.c dh_asn1.c dh_backend.c dh_check.c dh_err.c dh_gen.c +SRCS+= dh_ameth.c dh_asn1.c dh_backend.c dh_check.c dh_depr.c dh_err.c dh_gen.c SRCS+= dh_group_params.c dh_kdf.c dh_key.c dh_lib.c dh_meth.c dh_pmeth.c SRCS+= dh_prn.c dh_rfc5114.c # dsa -SRCS+= dsa_ameth.c dsa_asn1.c dsa_backend.c dsa_check.c dsa_err.c dsa_gen.c -SRCS+= dsa_key.c dsa_lib.c dsa_meth.c dsa_ossl.c dsa_pmeth.c dsa_prn.c -SRCS+= dsa_sign.c dsa_vrf.c +SRCS+= dsa_ameth.c dsa_asn1.c dsa_backend.c dsa_check.c dsa_depr.c dsa_err.c +SRCS+= dsa_gen.c dsa_key.c dsa_lib.c dsa_meth.c dsa_ossl.c dsa_pmeth.c +SRCS+= dsa_prn.c dsa_sign.c dsa_vrf.c # dso SRCS+= dso_dlfcn.c dso_err.c dso_lib.c From nobody Sun Sep 24 13:19:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtmnn6rvBz4tyLG; Sun, 24 Sep 2023 13:19: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 4Rtmnn6Q26z4WkL; Sun, 24 Sep 2023 13:19:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695561597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CCCJsSaWvZJ7YNFLE8gr1G+hroBOvt52vBv1rVvWh4A=; b=URzZN1lkB4DPZOBIs0gsXPlTvbqjrxsChBWNsZxB0TVyRpnOZYXDuO84NrCddVy0zZDQxO 0VB++7+xtPfU45NBSN33r7NBMlToyX0QjB/0nGT5OuUOBe3qPTPPgXCtaSbmxxw3fiYlRD IkS1m4nAQoz4FI7ObHbEpi9bUue6ZKb6XFTwDpC+fuzqsg7Z6ago24hNftvKnrrh9Oh1uM ZfpJtdMJIv++yhedZojXeBANYA6slvPFWVFyhVPlxQHpGCXtbfEekLBfRH8uZ5mzZaGrp0 YfQiH1GeG4B10ZIYfQgfuX6a4Ewwo1TFsrgneLGv1XysLF7qvJhnpPUOTwaQ4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695561597; a=rsa-sha256; cv=none; b=ODRQOsTFoFw7KAyyPKMC8W/MBcSEMZ/Gg2NcjOkpLQJ528+iPTNkMqUB31cy4VUr+x0b/L s12gRfDDMBlQDWfID8NpEK2ahtz01gu+3eiA9eAkoM/1nRj81/CnTcmDuxISGFwmhmd/zS plgjswycVoW72V8WJDk2pZ7MUzkUIWmnC8xR/AtlHU4oyOldPKMDRW/dbxWfRvrYH5f9Go +GNg0RqxnCQc8xi4Iju6l+oeoMa5xzXIL7iENUQ0ZgEQnyy3nPU4XwNHnlndF2tF22on47 WVjJp8HJYkT33kie81uUHiDT0PGaCkDDWvJlOiikOuSeaXhbIfWhWnMsdCxIlw== 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=1695561597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CCCJsSaWvZJ7YNFLE8gr1G+hroBOvt52vBv1rVvWh4A=; b=CqOGe4rEYOnWpAxn2HZ8+UUTPxH0zfsVoqQCNFT8MhF3mwFFJZeyL6P7kIo4VszB8NG2CK jSTBPpQBaYgbr4G5pQ8yFwgSiEDjgHM0ftUcMNHU9GioaIlA4EfvGce8ZRM0jsT8E4OufC JqR0RCa6xqgQlmIpLwR2sIyg1Tt9T21cEV0SXfDtgYMjZRmYjaSwkHecEBiDrfZA5DN/+n 4TLKANT9rPSjlc38k4slAz03QOCMnYsrluhiXpkJEbtglOab8eGJHeM6jXzyqnyUBVG6qA fJpFkyzGMFuyZ9FcWbbXshBk28LGHg0dpM48aX6HM7CmqBJt9RzZoXccFRyaCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtmnn5TRkzp5j; Sun, 24 Sep 2023 13:19: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 38ODJv6B079807; Sun, 24 Sep 2023 13:19:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38ODJv5J079804; Sun, 24 Sep 2023 13:19:57 GMT (envelope-from git) Date: Sun, 24 Sep 2023 13:19:57 GMT Message-Id: <202309241319.38ODJv5J079804@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: 9200ca25d9d2 - stable/14 - udl.4: note that "device videomode" is also required List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 9200ca25d9d251d720e8b5263e5aa2fb8ba2e68d Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9200ca25d9d251d720e8b5263e5aa2fb8ba2e68d commit 9200ca25d9d251d720e8b5263e5aa2fb8ba2e68d Author: Archimedes Gaviola AuthorDate: 2023-09-09 17:39:17 +0000 Commit: Ed Maste CommitDate: 2023-09-24 13:17:44 +0000 udl.4: note that "device videomode" is also required Reviewed by: emaste (cherry picked from commit 9888a79adad22ba06b5aff17d05abac0029c537a) --- share/man/man4/udl.4 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/share/man/man4/udl.4 b/share/man/man4/udl.4 index fa6e96343a2a..b2cfeba2489c 100644 --- a/share/man/man4/udl.4 +++ b/share/man/man4/udl.4 @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd February 15, 2015 +.Dd September 9, 2023 .Dt UDL 4 .Os .Sh NAME @@ -22,10 +22,11 @@ .Nd DisplayLink DL-120 / DL-160 USB display devices .Sh SYNOPSIS To compile this driver into the kernel, -place the following line in your +place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device udl" +.Cd "device videomode" .Ed .Pp Alternatively, to load the driver as a From nobody Sun Sep 24 13:19:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtmnq1CX9z4tyC5; Sun, 24 Sep 2023 13:19: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 4Rtmnq0PQRz4WjK; Sun, 24 Sep 2023 13:19:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695561599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XKE13mTnrfJ2BQVjxXd736IomTNHDyyoxuz33AVPUf8=; b=eGs15ioojCJNM6On6BrJeqTgo/OVqZqVhI+KwUo8ziU5K/RebXhTyvCpJvAxPc0ouIxSVr W/QksflrmTJ3Xu3qpwmAquy1rpRZc0wnps8kaFMtuLt9d0C4y1Rcydzq/N+kWQuWQ52rRy 1WHJ0145WQuSQnFeYLeLgaqopTFPeDN/cnqKlSLo9RQf873DVe2U5hPg+54UGO6NHiNrKB AzZWfPGJMMsgajOZ9pFkkSnTHG71kEDcS9p4hRzesbtBxF8pI2reWNMwK5L8N+o6VFIGYl jv5RaI0d/tx4AdFA/3LwGPyd6KgiGhku3usvE6judWrGveHPURpJuDNVRyTKqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695561599; a=rsa-sha256; cv=none; b=KoyZ2uE75OCQEeDcNavTECl8kD/zYxgCBS23OfpbI/XZuTkBoDggHutnjHGYIg4IbaliwN a9MGLwBNdKV2hsu0yNJGqNyAhF7j4Ycy/+RD6A4qHyTgm3QCP7hRyOzK7QnlsHcHVOYYEW TjGLPUBh4f1YkE7Nb65jh4i3o0+VUL3mcPddoCQjbrbaXPLl9gtCe5c6yjQoOQSrKqmhh3 GDWTprBBdw5w5AaKGa7U9rsJZX3fRhAoomSW4HFZ1DdAXUt2GDMvqwetQ7MGsuwE66QvHf gz3TvFdg+ckDCFWdOot+/mFHtHXqRbWT99D2270Yt83CtsYeXQSJs4eIcyMqfw== 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=1695561599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XKE13mTnrfJ2BQVjxXd736IomTNHDyyoxuz33AVPUf8=; b=XPXUWW1CKfmOTySIre1++cH7AFvTdNYSCPyPQjQG40IskP9C0J61YGnsRAMqTW2cG43G9S pc6knpBchoNUhmmpuyxwiXlQyGgXEBWPcBVSghpxwzXWMVMVb5+hAXTo0bFXTnnZtzJt3Q /uwShFStvQQ9Z6qTzeIzRzWXOOL4X9fGmrfmSv2dMJ3HqQRYmKL1csKkrKnEUg+w1a1JaA WCp/6rg3eELuXvr34O9pWOkfyAE0bCZd/wDQG3eKrvPSJJxJfiP1AdfROSrmjCjd4VbDvp jsbNPuNECsK2Y0z5bBv0wf7hdV9M5auTSyr6VZQK6uHCKYHu/3EQNyNCNDiBiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtmnp6T3FznsW; Sun, 24 Sep 2023 13:19: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 38ODJwtk079849; Sun, 24 Sep 2023 13:19:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38ODJwmP079846; Sun, 24 Sep 2023 13:19:58 GMT (envelope-from git) Date: Sun, 24 Sep 2023 13:19:58 GMT Message-Id: <202309241319.38ODJwmP079846@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: 9b12f3763f24 - stable/14 - axge: Skip dummy packet headers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 9b12f3763f2463732b4353ebd000ecb34d3f6322 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=9b12f3763f2463732b4353ebd000ecb34d3f6322 commit 9b12f3763f2463732b4353ebd000ecb34d3f6322 Author: Damien Broka AuthorDate: 2023-09-13 08:23:47 +0000 Commit: Ed Maste CommitDate: 2023-09-24 13:18:06 +0000 axge: Skip dummy packet headers Newer versions of the AX88179 interweave dummies alongside valid packet headers in bulk IN transfer data. This was probably done for backward compatibility with existing drivers. However current driver records these dummy headers as dropped frames, leading to stats misreporting one Ierr per Ipkt. This skips those dummy headers silently, thereby not generating Ierrs for them. Reviewed by: emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/842 (cherry picked from commit 70fbcd451b68b7f6038d8a602cd8d5e1bb890f1d) --- sys/dev/usb/net/if_axge.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/net/if_axge.c b/sys/dev/usb/net/if_axge.c index a3b459a553e0..385a982afd9d 100644 --- a/sys/dev/usb/net/if_axge.c +++ b/sys/dev/usb/net/if_axge.c @@ -959,8 +959,16 @@ axge_rx_frame(struct usb_ether *ue, struct usb_page_cache *pc, int actlen) hdr_off = pkt_end = (rxhdr >> 16) & 0xFFFF; /* + * On older firmware: * <----------------------- actlen ------------------------> * [frame #0]...[frame #N][pkt_hdr #0]...[pkt_hdr #N][rxhdr] + * + * On newer firmware: + * <----------------------- actlen ----------------- + * [frame #0]...[frame #N][pkt_hdr #0][dummy_hdr]... + * --------------------------------> + * ...[pkt_hdr #N][dummy_hdr][rxhdr] + * * Each RX frame would be aligned on 8 bytes boundary. If * RCR_IPE bit is set in AXGE_RCR register, there would be 2 * padding bytes and 6 dummy bytes(as the padding also should @@ -968,6 +976,10 @@ axge_rx_frame(struct usb_ether *ue, struct usb_page_cache *pc, int actlen) * IP header on 32bits boundary. Driver don't set RCR_IPE bit * of AXGE_RCR register, so there should be no padding bytes * which simplifies RX logic a lot. + * + * Further, newer firmware interweaves dummy headers that have + * pktlen == 0 and should be skipped without being seen as + * dropped frames. */ while (pkt_cnt--) { /* verify the header offset */ @@ -978,6 +990,12 @@ axge_rx_frame(struct usb_ether *ue, struct usb_page_cache *pc, int actlen) usbd_copy_out(pc, hdr_off, &pkt_hdr, sizeof(pkt_hdr)); pkt_hdr.status = le32toh(pkt_hdr.status); pktlen = AXGE_RXBYTES(pkt_hdr.status); + hdr_off += sizeof(pkt_hdr); + + /* Skip dummy packet header. */ + if (pktlen == 0) + continue; + if (pos + pktlen > pkt_end) { DPRINTF("Data position reached end\n"); break; @@ -989,7 +1007,6 @@ axge_rx_frame(struct usb_ether *ue, struct usb_page_cache *pc, int actlen) } else axge_rxeof(ue, pc, pos, pktlen, pkt_hdr.status); pos += (pktlen + 7) & ~7; - hdr_off += sizeof(pkt_hdr); } } From nobody Sun Sep 24 13:19:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtmnr2QFwz4tyLM; Sun, 24 Sep 2023 13:20:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rtmnr0Z34z4WlK; Sun, 24 Sep 2023 13:20:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695561600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F0kkIa9zIbEP6eCfvq6Oh3uo5oo9AFGY8dcvIOIYFX8=; b=gqWYRr8+JkjdHXSkfiyZMOluJb4MEUi+hwHc2YLJHHhLVXs/UgstUDmfVwkvioOdNbMQP1 VuT1QJFMjrpMWCVIQbD0ywwQDk7fcqa1AlhKqibk1NXE+GV+Vg/Fc+rU8ARrecCXjXAinS oyKG+JgQyM9WJ5Xz1K6wy2AX2n1EGQ1st33ON601KKjY9ajGUMZaLqxZ2eJqmKeIj5Lh6b 2mN0k8q6ZtWNhDuOopyI/x7H0ZxTygjy7eZJq92LY1iC3qCduGfnBOvrAqLQw0DtXVS4Xp OIYFMCxObFma55koWO7MwXEBn5WxIn2vsLOLeJX5yNWCldYTw8YObI/PefU96g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695561600; a=rsa-sha256; cv=none; b=boj/M0fANzzjW/7nPXTmGgjnzU9qyLtfp8v45+orqFHP+6vaoqRHaXCjkzeIAMqg+X/3G5 sknZPlojBPosEYOMRHbOH+4VkxozMBohzucF/kz1DGg1/cpFAcneh5rTzmkXaPLFXiF8gR vurusCUvVWFWzo4cxApcnPO5XafjHvnnym7QZnQmzbu615wvfupAu+46Lt3udrWZIsweKU RPRqWRRwp01GX51R2+RzsyFLURUM7ognXkqeG0WY/6SgL07UOxf3NtZRRI9J0Loy38EsVW WRka5WF+J1i1dfgVBryBQpa+yGDHzHB3QdUq9bS2+vRhJB1MQyTVpx6bLNEDvA== 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=1695561600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F0kkIa9zIbEP6eCfvq6Oh3uo5oo9AFGY8dcvIOIYFX8=; b=lrwXbqOEDplj1ROtTSx/7QUHdnPHGpXhKPWw8f44SijzI/TNQKu5/TBTiyfo3I7aQZC0eK tvN3rK8Bx2sYPgg3lmb5UJz5W9ET66xmamZ7zIIEuKROYDyRNcNoZaVFF43YU88thxGCEK 39cBGFQLywCGEKYlJi7pSHe9CfOg4auGp9i6jONbAxhJ9TxKLxTlq6VibP16qJEf63ZsuP YcC6S0x1tgmFL6WouPjhq0R9ISLtS67j+dsSkYJO2bGf+rULCaiYSX8uEB1uOe/dO3C+70 CoGX6SOqGHqkTla8sAQ6mXcJqYa0PZ0XQ7wosAirWJq44dLxSWJk+teOQPNwvQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtmnq6mynznVn; Sun, 24 Sep 2023 13:19: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 38ODJxtD079908; Sun, 24 Sep 2023 13:19:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38ODJxd8079905; Sun, 24 Sep 2023 13:19:59 GMT (envelope-from git) Date: Sun, 24 Sep 2023 13:19:59 GMT Message-Id: <202309241319.38ODJxd8079905@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: 0de10f10c474 - stable/14 - Fix typo in RELNOTES (objump -> objdump) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 0de10f10c474a722b3a9197e607ca2ba33b3634c Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0de10f10c474a722b3a9197e607ca2ba33b3634c commit 0de10f10c474a722b3a9197e607ca2ba33b3634c Author: Kenta Kubo AuthorDate: 2023-09-17 13:55:16 +0000 Commit: Ed Maste CommitDate: 2023-09-24 13:18:21 +0000 Fix typo in RELNOTES (objump -> objdump) Pull Request: https://github.com/freebsd/freebsd-src/pull/847 (cherry picked from commit 501edb1cc76bcdefa1032ea5f28655b115bb2560) --- RELNOTES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELNOTES b/RELNOTES index f3d717525929..c5686a4f30fb 100644 --- a/RELNOTES +++ b/RELNOTES @@ -128,7 +128,7 @@ d198b8774d2c: swap. See growfs(7). 86edb11e7491: - llvm-objump is now always installed as objdump. + llvm-objdump is now always installed as objdump. 616f32ea6da7: mta_start_script along with othermta rc.d script has been retired. From nobody Sun Sep 24 13:20:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtmns2RT4z4ty9X; Sun, 24 Sep 2023 13:20:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rtmns1lG9z4WyZ; Sun, 24 Sep 2023 13:20:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695561601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eRXB7/Y0CMvgb4ApF8cvA1IamRJZZzAAGzQN0TipAkM=; b=HSWj3eG5puFd9kbG4zeCs5HE3B/VJVSRctl3g0gXxvo37Qg2piiROnETksOKAeLojlYmDR ulkNvf4LUyqEj9U9GBwRjKUf7ZH0Ul3HRRSGhXSmEdQZ68eD8JpFq2m5NQk9+1mteK8yeZ Ljya9u8HogCd3zSsW0XfzQV2s75JyIsiwFicxnoxrBCBbYM+x2q3P45fIwcPgjGMweFtcp a0t0aJOjRuPl/HiB2KavTj6fs4osFcPat0MLnMMPwNV3F8xYs+iLBLcFNuv9fWnPpBTIZz VXUA6BLrqA7OHMJu/vCC2evkMdpDl4kuJikMfLYIYUS4WQ0siCaZTk5HvwiIRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695561601; a=rsa-sha256; cv=none; b=hAxno36/NSwBqq08WFaicCLIqoXfY1gzcu2nSGq8Qqdq5gV9ykSLzt60hzIbl+2pH1t7kb QYrTPXxH3WBo7GsEfrEcYCdeOr7x3neHlA8rde36+iAa0KPhQ9jQ/BIS2TCl6oukZQhyDm yo4+wK2Mz139Amqxk5BvyFPIsFwr6LALW5dawvg2g+g9Ov9pJGa7KB81xflXNWvYaRVknE 9CyOZE5Qf6QBGCUWzWVQxIVGKJWUZ18PZ6aUGRNiO8FoPiwsuMz828c2AAyfnrFTfRKPQK sUk4RpIFdhWn1yNtz50NH8amjGnFdT/TgBF7dj8fPGX7D5tjZauPw/uwXcA5KA== 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=1695561601; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eRXB7/Y0CMvgb4ApF8cvA1IamRJZZzAAGzQN0TipAkM=; b=Ztk7XdAibEsT2z5W47GBnKEEhXgHfDrEZAAL7EOaaT+FGLmg8mws+pDDsxzNRAunrxp5f9 EZvPzVMNN5fbQe3rpErVO074XrqfHrCnx2NomfHEzwYpbdW6e2VOHEOApeBQR7qltmpG6Q ieQBNLKNjW/dPqoztczjhppZeO7lbkNPhflQb5HgRGfllG+9CCE1IV5K+irpHT1c+pJoaF 23BiSWGQiDNCvVZWhmOr2zARqtptk50o+hWpSSPHri0Jok9Fji3w4Ca8K2is/yD87EB3aY qNw1cz+9r8cP0eyYncxAXyiWiXobIqiRMTZuuJ7imUht0rTq+aqfgOC8wFbf2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtmns0TJYzp5k; Sun, 24 Sep 2023 13:20:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38ODK0v9081717; Sun, 24 Sep 2023 13:20:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38ODK0jJ081713; Sun, 24 Sep 2023 13:20:00 GMT (envelope-from git) Date: Sun, 24 Sep 2023 13:20:00 GMT Message-Id: <202309241320.38ODK0jJ081713@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: 3024443da584 - stable/14 - dummynet: fix comment typo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 3024443da5846739488ae51f2a1eabbd069eddbd Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3024443da5846739488ae51f2a1eabbd069eddbd commit 3024443da5846739488ae51f2a1eabbd069eddbd Author: Igor Ostapenko AuthorDate: 2023-09-19 11:18:36 +0000 Commit: Ed Maste CommitDate: 2023-09-24 13:18:53 +0000 dummynet: fix comment typo Signed-off-by: Igor Ostapenko Pull-request: https://github.com/freebsd/freebsd-src/pull/848 (cherry picked from commit 75556db552c993dd4948c8e0ae83cc386c350451) --- sys/netpfil/ipfw/ip_dn_io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/ipfw/ip_dn_io.c b/sys/netpfil/ipfw/ip_dn_io.c index a8957bcb479f..3e6bd0e229b5 100644 --- a/sys/netpfil/ipfw/ip_dn_io.c +++ b/sys/netpfil/ipfw/ip_dn_io.c @@ -865,7 +865,7 @@ tag_mbuf(struct mbuf *m, int dir, struct ip_fw_args *fwa) dt->if_index = fwa->ifp->if_index; dt->if_idxgen = fwa->ifp->if_idxgen; } - /* dt->output tame is updated as we move through */ + /* dt->output_time is updated as we move through */ dt->output_time = V_dn_cfg.curr_time; dt->iphdr_off = (dir & PROTO_LAYER2) ? ETHER_HDR_LEN : 0; return 0; From nobody Sun Sep 24 14:08:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RtnsF5Llwz4v1ny; Sun, 24 Sep 2023 14: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 4RtnsF4prtz4cDr; Sun, 24 Sep 2023 14:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695564481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1p2MnHP5D7hOAf8+pDlQRzNIudk5UxMqBzOTtaclXEY=; b=mT2lKwFFLC6UmftRw8ZoOLyIJTCvliRkUEGdhTYjZG+iDRaWdRKYRm9xYnU3eACVjyTjKD UtKLZO/rqVsD5wHo7SPjVDBd2j0GXlUNsDtjfUS39RfmRF/YDpb66YOqko6kXa5pXLUkjw bpLvWhCQqbfpZnSzKJYLLG+cu0WicdOeqWJQnJaXQ7FiajXjbKzPwUopHmoaSlVmCx5ufA tXp/oIMAfu7N3gONjmt0JSpGvg46yDw0RCYz3RSsj08nj8MYLa56/rFqkFKoaOTWdN4VGW /uYibIL/OeJUuv5mWdNHFk5usDtmyuBy5UE9diQgbOI9FWB9/Y6e9vBdTqsXQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695564481; a=rsa-sha256; cv=none; b=thFZ3fVxjNCzSUggOCypx0w/x2N0BMDEpGab2ERBmlVi7b6gkOAmquXgUZPJhyI142itRa 7W3fSx6zjM49l43jjyafNKnkX9XTFgG82pJjNrrTcZoPDuozPvdiLpwgdS3FY5vp6Gwnco rUxtmZf2CtrkzaGrQTWvH0cO5tjZrht4tvmHks1xRgF3yLXgQ8ffT6KqGUqGR7M6lEW+mm +nZk4u9zHudzEHrGHM8Y/MEtrBnrdIMWM49F+BlGqol4oI5NEOK98pyxkRgII3smvbujE9 jzthe6AyzMA2eIgTwYEY9iD1abaQ293cuRwFVV8yK0c+gVII8O4e1HtSnFCoBw== 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=1695564481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1p2MnHP5D7hOAf8+pDlQRzNIudk5UxMqBzOTtaclXEY=; b=fVOhIrxJZphOAWneWyK0R7P7bwvZ5b89a45O2XmDsV6a0oSccPX6sFNme/KGga3DxFo6Tw BbQc+bdpH+HT0xZPTegQi2RWd2tVFMzWgLMQAQAHSuETTHnp/RgOZe5BUlDDUFIkJeVv1Z c6QkHzdU15CKhMavbelvOKFMP7NzwxKQk37uBGZLfjxdo5wdjFojyuoZdWhRZ+u6/oZeYg sa+QU1f5Zi0ll/NTrjkeKYqJGAZfyTl4lfdIMZXAOXFKn5QutTSh70IF8sUr6stfk65SsJ 18SgPb3sO4XydMpxjRWD3xBHLwuIzfRMUNoJSFD0RRiHYrci0z+xEntfmbGveg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RtnsF3svvzqNf; Sun, 24 Sep 2023 14: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 38OE81r2062600; Sun, 24 Sep 2023 14: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 38OE81XJ062597; Sun, 24 Sep 2023 14:08:01 GMT (envelope-from git) Date: Sun, 24 Sep 2023 14:08:01 GMT Message-Id: <202309241408.38OE81XJ062597@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: 0674fb66667b - stable/13 - Update WITH_/WITHOUT_SSP descriptions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 0674fb66667ba9e03c76dd21a279bb83bedb1a91 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0674fb66667ba9e03c76dd21a279bb83bedb1a91 commit 0674fb66667ba9e03c76dd21a279bb83bedb1a91 Author: Ed Maste AuthorDate: 2023-08-30 20:49:44 +0000 Commit: Ed Maste CommitDate: 2023-09-24 14:07:08 +0000 Update WITH_/WITHOUT_SSP descriptions ProPolice refers to a specific implementation by Hiroaki Etoh and Kunikazu Yoda. The implementation in contemporary Clang and GCC is somewhat different and newer, so use a generic term in the src.conf descriptions. Sponsored by: The FreeBSD Foundation (cherry picked from commit b461276d75488fe50c1503db85d43cbb8c3c3067) --- tools/build/options/WITHOUT_SSP | 2 +- tools/build/options/WITH_SSP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/build/options/WITHOUT_SSP b/tools/build/options/WITHOUT_SSP index 9dc19c117995..88162cecf14a 100644 --- a/tools/build/options/WITHOUT_SSP +++ b/tools/build/options/WITHOUT_SSP @@ -1 +1 @@ -Do not build world with propolice stack smashing protection. +Do not build world with stack smashing protection. diff --git a/tools/build/options/WITH_SSP b/tools/build/options/WITH_SSP index 22aba26fd6cc..0088dd133782 100644 --- a/tools/build/options/WITH_SSP +++ b/tools/build/options/WITH_SSP @@ -1 +1 @@ -Build world with propolice stack smashing protection. +Build world with stack smashing protection. From nobody Sun Sep 24 14:08:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RtnsG6Pvqz4v20L; Sun, 24 Sep 2023 14: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 4RtnsG5x0Cz4cN5; Sun, 24 Sep 2023 14: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=1695564482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z2cVrVNH2zYFIj7oee3J+71UCGtKevqhsNFz/sCsy7o=; b=l+LdNwfn4229h4mfck2VkmiSbstxG3/7CtYsjlUqHhPVtFPorH/Cq4FcgvgYXPb9mNTcON ijEOtG95hVZohkTEUzN3NJOA6vHeuFrimiz2qQFuudNLxCTpZywWBW4+/XgttIt9my3RYr d7aA77y98xHrDLsnA5LRJV6LnOMaBamb9H0qKxihapXYecSOJbwD/lrRuUQaYRQfqqNQWU dH5mjKS2vObAM0sw8GypJRn+Yr+I7qfuFB+ADpPgdD6eygsw3E2Cb/oPGlv19c+0oNhRue ZWSyqO/EC+dch948oJUWlN94GkbZ3Elu+qfbHekZ9HUE8nTqq9r7NVGCOnDf0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695564482; a=rsa-sha256; cv=none; b=TguwI4s0Vw7fAtwbE9hJP28nHGCs6v0imkkF8imhaVtXFv3HQjdO5qWIZ1BH/T9zFoDUbC zIYaavWxZwoaMNRQewOt9mbeCjuewZhH4nIPvkM73wPZcyRuh3zvUzGI3DAQ1fmt1L9NwC GKTfwbfUMUH4Z4lf9jXdPi6LvrXn8qqzorXXvNTgBl09WftcVFN3h32OMImjYhJ6AW4+BT RMy32dUlOFacouIX+vXW6XP3YBspK1N8ZOQp4hcx45A6Iel/vb+vBJGvhnLctdk/l/T64n mpnZCvLCRNUni5Dub+FiJiBrFlNqNO1OFp/kizDLY8CPgVN8nKhRrjFiYYN8SQ== 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=1695564482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z2cVrVNH2zYFIj7oee3J+71UCGtKevqhsNFz/sCsy7o=; b=UDulfR4zAGCIT7J+D41uiGMaiQsnyVE/Lr6OVDtod0kpLX31WMNHmXFhbOHUgpgesf318N i9y8y+flMpZvsmvSw6PTOdz16JZ75q/v/qRVhR/C9ldWmpmsKy+P5KbGhY2URjKEhS2UTC cI2U/+f8o84U6Rda5cA8K/4bkgyEQpoy7SbsC3TFrE28TW1iNn4ijPfyw0v3NQNHAORgax L+aQcdN+GaWsWUS+WTOxE0E5H986EVRXbOL2Teu1oOJ80CHCPqYxnm3TMGddkzXHtqVcAF NmepzeiP8h0RXFAd1YqpnZCW1h+s9E9l/ZcgNm9+Uausri0co8GUqBgXrvdW5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RtnsG4l0QzpwB; Sun, 24 Sep 2023 14: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 38OE82HI062655; Sun, 24 Sep 2023 14: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 38OE82l2062652; Sun, 24 Sep 2023 14:08:02 GMT (envelope-from git) Date: Sun, 24 Sep 2023 14:08:02 GMT Message-Id: <202309241408.38OE82l2062652@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: 06bcd6142af1 - stable/13 - src.conf.5: regen after SSP option description update List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 06bcd6142af1c5f220f9e4e0d5029c0df6408d0f Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=06bcd6142af1c5f220f9e4e0d5029c0df6408d0f commit 06bcd6142af1c5f220f9e4e0d5029c0df6408d0f Author: Ed Maste AuthorDate: 2023-09-07 15:57:46 +0000 Commit: Ed Maste CommitDate: 2023-09-24 14:07:08 +0000 src.conf.5: regen after SSP option description update Also pick up missing note about SSP being disabled for MIPS. (cherry picked from commit 5449d0144d612d7b7b3b85ab292d514db4e300c3) --- share/man/man5/src.conf.5 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 37edfc1f0861..9aab6fc459c1 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,6 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd July 7, 2023 +.\" $FreeBSD$ +.Dd September 24, 2023 .Dt SRC.CONF 5 .Os .Sh NAME @@ -1503,12 +1504,12 @@ When set, it enforces these options: .Va WITHOUT_KERNEL_SYMBOLS .El .It Va WITHOUT_SSP -Do not build world with propolice stack smashing protection. +Do not build world with stack smashing protection. .Pp This is a default setting on mips/mips and mips/mips64. .It Va WITH_SSP -Build world with propolice stack smashing protection. +Build world with stack smashing protection. .Pp This is a default setting on amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf. From nobody Sun Sep 24 14:21:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtp8v1pHfz4v2Wv; Sun, 24 Sep 2023 14:21: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 4Rtp8v1M2yz4fGk; Sun, 24 Sep 2023 14:21:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695565295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2SsD9/cOlLfw9bpVNPjNuz9B7BBnkiyWdIx8Xuds3k0=; b=ak9rKJVBHbuosvFC+zA3PxSvjKfwXpNhyA9KZsw1go9FGl7upAtNkRJJ3GIf+Y2WOP/dk4 ZHI2q35768p8AQ9+u9/MuoYxJo4vGisJaovN5CPv97YcFgeAARPn4tNAi1E91baU2Z2Pss cmbSDPZfzfhbeLuqt7dekIvHNcH4AYiKPFWXaa8RMkwbTKVYpTSbn9/nKu6puKF/q8nKoP a+zOKsfyvu/XZTjV4nVY35Tzw1ML6Ic2dGxVGie4dMocw86jbsVzY+kXa1xLMF24Qitw8Q GMdIp55pAl8gqR4GpWYMR/qM8cNhXCBViI3M7I+d6l1NJECIpHSHkrx7HMuunQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695565295; a=rsa-sha256; cv=none; b=FwKlt9CEZjwsVxVGoeCGsT2dues2Wbd9qL0C8vuci8gqZGcR8dfHWoMSRg+y2h1/Ou/vOK uZ/sINf7XA9v6+yEJXMGTVQ52FPP0nFrVswY/vqUuYprBaDjaIlFy9GReYpBdTjt+/RByB TuQWBcs57z26rpfvmSbeLGpLGA5eze7mhjeQcsQeymfynTRMY4kUrd6rDr3PSzTxaIbX6C DV770ydjpu8aOL6neB0IV/+Nk6K2+cPNfEDULBxyLF/IFxfxCgEOyY6sZKJ2PnwTuj+r5C gPN7Yt67ELOotcjn6dXfmpswk/uxQUIBObNJ7bWnnpKlF1wbR+hbk/9XURi84A== 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=1695565295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2SsD9/cOlLfw9bpVNPjNuz9B7BBnkiyWdIx8Xuds3k0=; b=AUpQZcXV/xrGpXN42HP4ExRRTEIwjg1x8YWNLy8fC0QE0gU3z6rArRZ0oAFNPZOnZTRgs9 N2GVcpk0ABRSjVykwx9QqcvDNu5EkT5bL8YMoOxyaAogIAhQIYVfTk5dyxta6mfirEKNO2 R7zEZjVxdw5S9BNYjjgcu2AhQdpgkocFkTJE1KVv704NZtnX3Qh5KxnbdFylSWSAd1DNzb 4aNiJqc/NH7fUbKXTzldyrGzQELjKGWfG4OalJwwOdJtcD8nyHcIfxyRk/OE606OkeL5kV C9tiBso45Rl1xtgtvH6NsQ0uodpRnvpKONQmbzJIc1zo20aaw1xKCKEDRlJigw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtp8v0QjFzqZR; Sun, 24 Sep 2023 14:21: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 38OELYid088511; Sun, 24 Sep 2023 14:21:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OELYDZ088508; Sun, 24 Sep 2023 14:21:34 GMT (envelope-from git) Date: Sun, 24 Sep 2023 14:21:34 GMT Message-Id: <202309241421.38OELYDZ088508@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: 95d4529fb06b - stable/13 - rc.subr: don't require service to be enabled for `status` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 95d4529fb06b6121a87ee06b0ab982fe49e3ce82 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=95d4529fb06b6121a87ee06b0ab982fe49e3ce82 commit 95d4529fb06b6121a87ee06b0ab982fe49e3ce82 Author: Daniel Tameling AuthorDate: 2023-07-01 08:43:40 +0000 Commit: Ed Maste CommitDate: 2023-09-24 14:07:40 +0000 rc.subr: don't require service to be enabled for `status` For a service that sets an rcvar, there is a check whether it has been enabled before the actual command is executed. If the check fails, one gets a message to enable it and the returned exit status is 0. However, this is usually undesirable for the status command, which is a) supposed to check whether the service is running anyway and b) returns a non-zero exit code if that is not the case. Thus, skip the check for the status command. PR: 272282 Reviewed by: emaste (cherry picked from commit ba793728a840041e93e38bcbff4a7233dc63b722) (cherry picked from commit f701d9da1d94891dd2edad607a989cad6eb10313) --- libexec/rc/rc.subr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index d679584768d0..37a614e122a4 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -1009,13 +1009,14 @@ run_rc_command() continue fi # if ${rcvar} is set, $1 is not "rcvar", "describe", - # "enable" or "delete", and ${rc_pid} is not set, run: + # "enable", "delete" or "status", and ${rc_pid} is + # not set, run: # checkyesno ${rcvar} # and return if that failed # if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" -a "$rc_arg" != "stop" \ -a "$rc_arg" != "delete" -a "$rc_arg" != "enable" \ - -a "$rc_arg" != "describe" ] || + -a "$rc_arg" != "describe" -a "$rc_arg" != "status" ] || [ -n "${rcvar}" -a "$rc_arg" = "stop" -a -z "${rc_pid}" ]; then if ! checkyesno ${rcvar}; then if [ -n "${rc_quiet}" ]; then From nobody Sun Sep 24 14:21:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtp8w2VfGz4v2Ly; Sun, 24 Sep 2023 14:21: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 4Rtp8w21Hhz4dpf; Sun, 24 Sep 2023 14:21:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695565296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hAB/sEz5XmLepf/7j9GvQRB0XqX1Hex1eikVNo/7m6Y=; b=wyfkU79ArDOGOeakUD9Ls2lRwjkgjf3SncluHiYRKL2+dK9gOUULtKx5RmlMG2BYpWWsrq j7FjQYz25erWTjK5OxYtRutLreeUKXufgz/bGTv+H0HbYpXs6HUycaZR7pnk+jD2LbTnIb YJ/8GXwcfhizEJFZP0G+qn5BPHt4vHxqQXsx43Mk5YMgqf2/RLxNnpmwOhlPTvOZkWQPiB bAO5rP+sRaRaqcjX/zrwvjiOZX6ltqm5rKBs1CpEdnMqCug+AWZgfOh423olHk97Z4yPtb eaSccd8E+kUp21BnxMsIrxmQabq55BW+MM1p7Iwtev4HmeOlM/pwKLg3KbyB3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695565296; a=rsa-sha256; cv=none; b=RpwPh4YWx5B8m/p8rM8/gr1PDZXz1WTcazTBUl3zmd4sSr0Zj2oow71irQEKkFN7cgkTa0 eWys/0S81qLxM1ELE4h2AmzewPieiz1shrExL+9/Ve0IxAj+wl5pRsHw4+ZttF37fWzKV6 0CPB5Wi+AsVdpp/GPp+py1cM4SAXy49rybHhQK2f5rMPTns6N3YlMHpW+3rWGMIHWgtc+2 TNcvcL0/L4FGaa8B22vj5YfVdP9V70t2dXXyU3GZFMTwxlP00Z3Ilf5xUCODwfm13gtEtt FQXirwwK0H+q8AtTa567UKx3BU46hdwPXJf7FhkBNcJB9GssWgRZxsg/ug2r1w== 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=1695565296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hAB/sEz5XmLepf/7j9GvQRB0XqX1Hex1eikVNo/7m6Y=; b=qA20Qj9F6J4A+l+Rp+xzQe7LrSdqEhYBvKK3U6iQ3K7033+JezfGlhrQB0YZOl7zDxVj8l 66HI5VsGRq+2MUXxLidy1Ed+2cNQluv7gr8M5NaY3Y0JAaAuFKm6IsEUoDAG1/98arzRTy DCXINFg5+gpolA/m0Hd+Y9955WLfYUg7qC9xxOCFumeF5fyPHjBrukIyMewFUaNRwsGjRN VhDpprO7UR+vA8TbP+7EPrk3mxYyxYd6AFJCoKevZKwZZHWvtgHv4eZryiBXRyzdquOd2n 1W8aD0TZUfhqbAfMs2P+YJevKuF9Lohj/sfS/A/KPdFjH+h2LGPRKzSoC3sCtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtp8w15grzqmr; Sun, 24 Sep 2023 14:21: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 38OELaAZ088563; Sun, 24 Sep 2023 14:21:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OELaJM088560; Sun, 24 Sep 2023 14:21:36 GMT (envelope-from git) Date: Sun, 24 Sep 2023 14:21:36 GMT Message-Id: <202309241421.38OELaJM088560@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: 6ac81f5bb60a - stable/13 - Add deprecation notices to publickey(5) tools List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 6ac81f5bb60a5f1e026305831214be3b370e2c6e Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=6ac81f5bb60a5f1e026305831214be3b370e2c6e commit 6ac81f5bb60a5f1e026305831214be3b370e2c6e Author: Ed Maste AuthorDate: 2023-09-20 11:31:14 +0000 Commit: Ed Maste CommitDate: 2023-09-24 14:07:40 +0000 Add deprecation notices to publickey(5) tools Reviewed by: imp, manu MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40144 (cherry picked from commit d5ef73a71f0e2fbc4dc9b907a6e59a15599c50b3) --- usr.bin/chkey/chkey.1 | 4 ++++ usr.bin/keylogin/keylogin.1 | 4 ++++ usr.bin/keylogout/keylogout.1 | 4 ++++ usr.bin/newkey/newkey.8 | 4 ++++ usr.sbin/keyserv/keyserv.8 | 4 ++++ 5 files changed, 20 insertions(+) diff --git a/usr.bin/chkey/chkey.1 b/usr.bin/chkey/chkey.1 index 0721c07e8c14..508227ba9601 100644 --- a/usr.bin/chkey/chkey.1 +++ b/usr.bin/chkey/chkey.1 @@ -9,6 +9,10 @@ .Nd change your encryption key .Sh SYNOPSIS .Nm +.Sh DEPRECATION NOTICE +.Nm +is deprecated and is not available as of +.Fx 15.0. .Sh DESCRIPTION The .Nm diff --git a/usr.bin/keylogin/keylogin.1 b/usr.bin/keylogin/keylogin.1 index a8a429e6c786..32a3e8e1b5b4 100644 --- a/usr.bin/keylogin/keylogin.1 +++ b/usr.bin/keylogin/keylogin.1 @@ -9,6 +9,10 @@ .Nd decrypt and store secret key .Sh SYNOPSIS .Nm +.Sh DEPRECATION NOTICE +.Nm +is deprecated and is not available as of +.Fx 15.0. .Sh DESCRIPTION The .Nm diff --git a/usr.bin/keylogout/keylogout.1 b/usr.bin/keylogout/keylogout.1 index 54cd5a575c51..1480a83aece5 100644 --- a/usr.bin/keylogout/keylogout.1 +++ b/usr.bin/keylogout/keylogout.1 @@ -8,6 +8,10 @@ .Sh SYNOPSIS .Nm .Op Fl f +.Sh DEPRECATION NOTICE +.Nm +is deprecated and is not available as of +.Fx 15.0. .Sh DESCRIPTION The .Nm diff --git a/usr.bin/newkey/newkey.8 b/usr.bin/newkey/newkey.8 index 966692b5968c..51dca6688bd0 100644 --- a/usr.bin/newkey/newkey.8 +++ b/usr.bin/newkey/newkey.8 @@ -10,6 +10,10 @@ .Fl h Ar hostname .Nm .Fl u Ar username +.Sh DEPRECATION NOTICE +.Nm +is deprecated and is not available as of +.Fx 15.0. .Sh DESCRIPTION The .Nm diff --git a/usr.sbin/keyserv/keyserv.8 b/usr.sbin/keyserv/keyserv.8 index af8acd2fd642..17007c7d8f40 100644 --- a/usr.sbin/keyserv/keyserv.8 +++ b/usr.sbin/keyserv/keyserv.8 @@ -16,6 +16,10 @@ .Op Fl n .Op Fl p Ar path .Op Fl v +.Sh DEPRECATION NOTICE +.Nm +is deprecated and is not available as of +.Fx 15.0. .Sh DESCRIPTION The .Nm From nobody Sun Sep 24 14:21:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtp8x5VGGz4v2ZC; Sun, 24 Sep 2023 14:21: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 4Rtp8x3KmJz4f1c; Sun, 24 Sep 2023 14:21:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695565297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olC2Nc7SARcxNO3BqkQ0HnKEWg/YrIHaymuB/5RlvCs=; b=uhfQyod7/OxdZ45ZMLPaHeudMZADm9oP3dSeSt8x4jfeZgb7bSNmMqmf6f7/SWQAmRuCbV zUZnMZDqzyG4bVT5F08fOtVqlP80sWUej6SJbS5m46Yl6Ky31O0vBAVGbxXbDSMdHKZPk6 64rW7it0/IubATJ3v/G6qTz11kIw3DlBGsZq1bU9D7hF4ckuKO5Rq7RdDxp9mOVaK5HIEX +uZpRzi8SpL3g2F/Rqt527Rzp1pE4x9TG/eykV2iCJWjmykdK1DaUxveTW07kgRvce9g8N YSwg5dW/hTQ6KAfXf7VBp4lJDCuT4GDpWxe6no+7kjCU/vx4/Uc1hMPkaVS1ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695565297; a=rsa-sha256; cv=none; b=MGSl9MRKA5jhiTvuYZzQAtTqBlWEBhZ/JFIYRkYMO9Ee9VkT09dYy22a4aO+CNidrQfVjj kXNiRtS9b2hoKj37YssmQrqU//a8FhE3mTEkURI3mKQmvcw/ZDg/J07GXcmLrZsl1u44Jq zuJuqH14NwQKhE+J8HWLBrFbjQvMYvJepm3SPQrGWzOR/QA8xEXeZa8C5LSHXpVfJnyuve SkakXB8+iUW75vOhvN9osN7X1GCbsUUgmZ01hIg0viI+0eibK/tPsqDPqJkabIV/P/PE5V uyeSKxMMlbKL/ZLO04dOnx8Ap/kO9u446WFo5hJiEo7IyyNBKBG2IwBu3s5a4g== 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=1695565297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olC2Nc7SARcxNO3BqkQ0HnKEWg/YrIHaymuB/5RlvCs=; b=lPwGQUZah9rgWLBg+SUb6fWExYg1sd/yMrMTuCTfbP5k4CFmaFV53Y3iKQ90FZ8nucM+Gl qhfWykjMoBS8XrdhhVsbFACXfE+GCyUcGQJYIzBpWo1W+lERSx/T0hGPTaYWAdehwwX8pL H1h/kOYcs9/M/6Zv2cq81CLBiBh3eugA+hr5Vc4dvCIduY7/kzNtPM7GLf0DfEI8/DNTeV r+85Uez48qrJpYkkk8skRZDkqHSpeh1z7keNNzhmoc3H2OArY+SJiG/4y9wPrFPgF0MvDn KF+tFv+cnpHmE42hetm03cJn28rli6YVhLuJjFVCaKXHcp6yNEgj+YalE2hEjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtp8x2MSrzq9J; Sun, 24 Sep 2023 14:21: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 38OELbpm088626; Sun, 24 Sep 2023 14:21:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OELbI7088623; Sun, 24 Sep 2023 14:21:37 GMT (envelope-from git) Date: Sun, 24 Sep 2023 14:21:37 GMT Message-Id: <202309241421.38OELbI7088623@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: 4db191160107 - stable/13 - udl.4: note that "device videomode" is also required List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 4db19116010707158f2ff5c74cf73a0a5378f5df Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=4db19116010707158f2ff5c74cf73a0a5378f5df commit 4db19116010707158f2ff5c74cf73a0a5378f5df Author: Archimedes Gaviola AuthorDate: 2023-09-09 17:39:17 +0000 Commit: Ed Maste CommitDate: 2023-09-24 14:07:40 +0000 udl.4: note that "device videomode" is also required Reviewed by: emaste (cherry picked from commit 9888a79adad22ba06b5aff17d05abac0029c537a) --- share/man/man4/udl.4 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/share/man/man4/udl.4 b/share/man/man4/udl.4 index fa6e96343a2a..b2cfeba2489c 100644 --- a/share/man/man4/udl.4 +++ b/share/man/man4/udl.4 @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd February 15, 2015 +.Dd September 9, 2023 .Dt UDL 4 .Os .Sh NAME @@ -22,10 +22,11 @@ .Nd DisplayLink DL-120 / DL-160 USB display devices .Sh SYNOPSIS To compile this driver into the kernel, -place the following line in your +place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device udl" +.Cd "device videomode" .Ed .Pp Alternatively, to load the driver as a From nobody Sun Sep 24 15:49:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtr6n3LRZz4v7Kc; Sun, 24 Sep 2023 15:49: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 4Rtr6n2rKXz3L3N; Sun, 24 Sep 2023 15:49:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695570593; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aGmKqAqDyn+NaQzJ7cRxudt84ggpvPY6kd0yxZyP2OA=; b=yLAcrywXMxkcN0VIAa5KSHgAsewsquOcahAQQIbwSsay39Pts0UDfwuEyCztUItdez/5mL VpRTEXbuQ0URd2RQj+Zt/poOb0sGqeWfMnVLxF2QH/eIGt98MaGxqK3/n/VEyrgTS8J6xJ yH47XoVqziZwPL35r6TaIJ0rAnlEfGjR6uCbY06Li1zv+VyT4XEu1WqZW2AvxP9oQRA11R ipRq/0n8cir+2vSBuPtDmJ3pspDaZFWuM9PA7oIl5EVWdEAjgseOFejAu2lvbayIE1t+N7 F+86P912O66onj6qD2dYPF2/lSxGGy6/wLn6e0+8w8iMUrN5/TUIfn/hTOSyXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695570593; a=rsa-sha256; cv=none; b=sAF6k2WGv5opJYOrGFLtFmuc+Mi2jEK1qIVWDhlhL6EqBrj45q8orfooyRZXFkzPsSah/q ImrJj5qutLiGrrcZ+EzcCNuYVPOUKxo8FJx/5NiZ03U7KvNimUIhnuKHDEg183pKAU8eey t3aB+bQz6WmxULSL2z74+9q0Mx+8wMbkGCSKtv0VJUIt9LNpEd1q3sdU/YOq4yz0bdP3Gk NMFB39j2Qlszequzwkv/0+uptEkftGJfOO6oO5wlUG6d+ImN3sRdHYhtWp/uG+PR196uTI PdngB+XErmf1R06WjuQB6RcIzAczX+ZiIv6zexe1lD7TlCavaZ+f1fRerYCq/w== 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=1695570593; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aGmKqAqDyn+NaQzJ7cRxudt84ggpvPY6kd0yxZyP2OA=; b=smjUwt9DYP4CmQs4CAj9n9T0bB/V1cXcPncK24D6qGF78Hruv36cgDiAmDdRjtNAuB6Wdu dQ27lIepgzHMMQz39/Ci0tKriTdQd2wjgPZNtVGp7x7cYW62XSD/rgKTq7n0xbxdsV50fw Uc4W1cJp+0lAi19Jqh0zgTAwpRNt2K71xJ3Xiyzq3V4igE/CSItseaOJW3Myvcnn1Q0P8c ymyb/cYFrBrMiFVVHmpgtSqf5wNpbcj3CmHr5axtQkaPZnhk3lUgfqHhZNBAv9vSBSzsDd UwKCoWZH8tuP0U6JszqrJlj2k1bt+Ui/rLCAkoMQSCuu+wj07voWAA132BagLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtr6n1tffzsfG; Sun, 24 Sep 2023 15:49: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 38OFnrRH028658; Sun, 24 Sep 2023 15:49:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OFnr1R028655; Sun, 24 Sep 2023 15:49:53 GMT (envelope-from git) Date: Sun, 24 Sep 2023 15:49:53 GMT Message-Id: <202309241549.38OFnr1R028655@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: db9863a7975d - stable/13 - rescue: include ping iff at least one of INET & INET6 is enabled List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: db9863a7975ddc22609c07e7273790c852efd8b6 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=db9863a7975ddc22609c07e7273790c852efd8b6 commit db9863a7975ddc22609c07e7273790c852efd8b6 Author: Ed Maste AuthorDate: 2021-12-31 01:11:31 +0000 Commit: Ed Maste CommitDate: 2023-09-24 15:48:33 +0000 rescue: include ping iff at least one of INET & INET6 is enabled Ping does not build (and serves no purpose) if neither is enabled (i.e., building WITHOUT_INET and WITHOUT_INET6). This is equvalent to a4ef9e58bc0c but for rescue/. PR: 260082 Fixes: a4ef9e58bc0c ("sbin: build ping if at least one of...") Sponsored by: The FreeBSD Foundation (cherry picked from commit daf481f3d508e7497b456e8df7db17c90b623ee0) --- rescue/rescue/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rescue/rescue/Makefile b/rescue/rescue/Makefile index fc5e54adacf0..92411336b83f 100644 --- a/rescue/rescue/Makefile +++ b/rescue/rescue/Makefile @@ -105,7 +105,7 @@ CRUNCH_PROGS_sbin= \ md5 mdconfig mdmfs mknod mount mount_cd9660 \ mount_msdosfs mount_nfs mount_nullfs \ mount_udf mount_unionfs newfs \ - newfs_msdos nos-tun ping reboot \ + newfs_msdos nos-tun reboot \ restore rcorder route savecore \ shutdown spppcontrol swapon sysctl tunefs umount @@ -113,6 +113,10 @@ CRUNCH_PROGS_sbin= \ CRUNCH_PROGS_sbin+= ccdconfig .endif +.if ${MK_INET} != "no" || ${MK_INET6} != "no" +CRUNCH_PROGS_sbin+= ping +.endif + .if ${MK_INET6_SUPPORT} != "no" CRUNCH_ALIAS_ping= ping6 CRUNCH_PROGS_sbin+= rtsol From nobody Sun Sep 24 15:49:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtr6p4r0Kz4v7SG; Sun, 24 Sep 2023 15: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 4Rtr6p3pGFz3KsX; Sun, 24 Sep 2023 15: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=1695570594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h+JEAyoCCKNlpeOjB9CVDL41N3YgFEVjX+7Ufdw0Y5o=; b=Oc5HputFS+8DFeS10unPwBkGuIsfbmIRMq6CsDI6POgSl/lsXx9l4C+prdBF4BQf/r35C8 uTNlMyeaYg7MgkS4p9aYABa7kdZ93Q8rTk+rCs91JfY0GtOQ2dxOU60RQDG6kJH5Cicjme P3ITsmeYEuLXgtt8dF5zR72lmfA64wvgpFaROd4xqAgwKu9oiBIuwaSPUJLEpSPemmgeZ8 16K3N5eQVnFxh17FkveveDmGyQL09sFuzZdiAsFcK1T7j2wLVscTLEfNqadyX9B42KUjUm g9R+2xsdOTGCILvDiAZx8vRUHilAjZs0X+JvE7bEy6sbDH4REpAk9vqvvNkM+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695570594; a=rsa-sha256; cv=none; b=SF1AgkUuyGj/7ectbOOfVKiJhi29AcCjON40WsKUbRVLJoSIB+xKmetpLX65TM6c41zzBe +3cYVEZ4Gltf44vaT/CBPEP6DQQUSHAMMCUM5m4RvphNzJYlrS1o1wKfUO2WAfy0Wddswm cziP0qA1J6NDjCTq6oVZzwIhDGhamW/FLWTzF20tDvak1/g7JlyugBVPoeFyFt9a8hMQzW aXjaZ5ptEQkTCxfvDWLp51Hhi9aWjKEsRefAVzWAhedchDqG2oKxvIrloo1SF/V1XxfKkc 4AaVG2IZtQs9rXLcd8p4khPYtbVSHYJGl0L6AB5hpL5HSmZad4DAUeZ6TV41/w== 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=1695570594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h+JEAyoCCKNlpeOjB9CVDL41N3YgFEVjX+7Ufdw0Y5o=; b=IJICeWkXdWaMCZzj+yS5ZJn0kCrGKUJfw8cByvPbG3kWZOykOQTNLtfXHacTHrINUxCh2E okcLd7o3C6H3Qo1DDQLg1uo3Z4cwWNsR/gA76pQgBbphxlu/H4oe6HALUhSsfRlxw4fVAf fmTj5OIcAO/aZbNh9IDUZXFrMzacH3FIGVwnR7sWqkBP+ZZ9jarR5q915hYScauVTjabF1 0ngSoA+UKbkWM1DzpRJ110qEOWNHRfLi6R05ecGjH+fIEcWFbZ8/TwdtH9aWxkTBMbw9PH vaYlzQwBbKZeoTU1dZ6ZJiS5JN2KcgB78/tP8NOsKlSWaV2bhAbp9EJhiu6BQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtr6p2tHRzsmg; Sun, 24 Sep 2023 15: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 38OFnsxq028710; Sun, 24 Sep 2023 15: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 38OFnsFU028707; Sun, 24 Sep 2023 15:49:54 GMT (envelope-from git) Date: Sun, 24 Sep 2023 15:49:54 GMT Message-Id: <202309241549.38OFnsFU028707@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: 0e6bf38b578b - stable/13 - memcpy.3: remove BUGS section allowing overlapping strings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 0e6bf38b578b7b0a5bef0d8dbfb1fe6b1d9868f9 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0e6bf38b578b7b0a5bef0d8dbfb1fe6b1d9868f9 commit 0e6bf38b578b7b0a5bef0d8dbfb1fe6b1d9868f9 Author: Ed Maste AuthorDate: 2021-08-24 13:20:18 +0000 Commit: Ed Maste CommitDate: 2023-09-24 15:48:33 +0000 memcpy.3: remove BUGS section allowing overlapping strings The removed text claimed that memcpy is implemented using bcopy and thus strings may overlap. Use of bcopy is an implementation detail that is no longer true, even if the implementation (on some archs) does allow overlap. In any case behaviour is undefined per the C standard if memcpy is called with overlapping objects, and this man page already claimed that src and dst may not overlap. Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31192 (cherry picked from commit 37296464defda0aa769c39ab554deb4875aef000) --- lib/libc/string/memcpy.3 | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/lib/libc/string/memcpy.3 b/lib/libc/string/memcpy.3 index c1aa2d4dd8f5..5ce43d5dfe75 100644 --- a/lib/libc/string/memcpy.3 +++ b/lib/libc/string/memcpy.3 @@ -85,19 +85,3 @@ The function conforms to .St -isoC . -.Sh BUGS -In this implementation -.Fn memcpy -and -.Fn mempcpy -are implemented using -.Xr bcopy 3 , -and therefore the strings may overlap. -On other systems, copying overlapping strings may produce surprises. -Programs intended to be portable should use -.Xr memmove 3 -when -.Fa src -and -.Fa dst -may overlap. From nobody Sun Sep 24 15:49:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtr6q69fpz4v7Gx; Sun, 24 Sep 2023 15:49: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 4Rtr6q4FCcz3LBr; Sun, 24 Sep 2023 15:49:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695570595; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kd7i4veUjMgV72EChwRkD8pgtHNCbPnvNFTBoYhRLhA=; b=KJQAalZssttrktVCWVxImDuxERYuXQHD9sOYKSZqwv3X62NzyNqtluhl2FwTlW74Cd5qCQ AZldHvhZOTKxCjmmdYHnr6fOJ0xsNtl5FsExm+Q2Ay0hyvz7dBiYw9oTR7rSDlWHo3TnVQ a//Qhy6qur/c+3YZxNzEEpLxgFqu4dE4mtrE6GHZ118UK2Q5j50L6X9Vcyzu979IAMc4L6 tgBWM3xtEh/CDbbyPSZd1TPemDMYlZ942o2lmgaIzqlICWAoPCOImrQTrXuKqTb8QG5Knt mXWw5VubInTF5i+2maq+TIWLPRSmAk1G7GCwPY4Btw4iVa5eBTZ3O3q5IYUxHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695570595; a=rsa-sha256; cv=none; b=cOELS9HzGfi4dutonxPl0sK5MvtYjBhY6OsT58GCNo6NA/KJdGa8CD6ws2Qn1lS5mr1P/v 22rou60KpdtnuRb+N1CnyIhiJUy9n4uwAOamsAIv2Syr3uAUjGRJibJGXSufxncedbRQ4S XbdPXDn1uZ8II9r80N4rO2tQcagYL6oIcu+yo3B0CHVWnTKiP50utEJRfklr75c6Weg1Tf o46yRF01bY0S+8KQGNeMMGNcgLIjUwhcLxl8BiuoSqu/dTqbZOkloV9sE5rmIRQ69S5lAy 2VvdFtyynWCsPA9hFar3zvZALrrL/wCJtcnjhM/Gs+UdWo5EuRoilPCOi9sR6A== 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=1695570595; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kd7i4veUjMgV72EChwRkD8pgtHNCbPnvNFTBoYhRLhA=; b=tU8H08NQDjGFFtDm82dWC6iybdLSDTR0nvVRyL1GFxHpZ9pI1M1XPKlJYqvpq/x3/wBLTk mCVAHmy7T/KhJZFZNDSfE/GDzQbnbRQXTfnK263OJ7tOlKuo6E4gG3w044yOfPRgXT5+OP th8p8ZZpao0IIfsXAqilb7G+4Vo/FOv+iQ0Bun/xyojBfKL49XgSd0g78mJHPoMHqcM5VX V1GdXch5VrVlwZXM9lKKzq52/heb4qkDdyA3LYXTIrHjVFYIn80QXzx/Wt3N6poYetW9bZ oaYLUROf/we1XiyI/AshrPQr5NMe6FL+b3pw9KXffyp+k2QOplROC8qvjeLgpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtr6q3GVvzsd4; Sun, 24 Sep 2023 15:49: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 38OFntZQ028756; Sun, 24 Sep 2023 15:49:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OFntZc028753; Sun, 24 Sep 2023 15:49:55 GMT (envelope-from git) Date: Sun, 24 Sep 2023 15:49:55 GMT Message-Id: <202309241549.38OFntZc028753@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: 1b4d7a2ee761 - stable/13 - vt: clarify comments on kbd add/release List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 1b4d7a2ee76121cada89d6f17fab0feed42c3bff Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1b4d7a2ee76121cada89d6f17fab0feed42c3bff commit 1b4d7a2ee76121cada89d6f17fab0feed42c3bff Author: Ed Maste AuthorDate: 2022-02-24 15:38:16 +0000 Commit: Ed Maste CommitDate: 2023-09-24 15:48:34 +0000 vt: clarify comments on kbd add/release PR: 247498 (cherry picked from commit a2774a9264eb11b26fc6be4127a8c0da1ead297d) --- sys/dev/vt/vt_core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index c8e9865be32f..b27628d17732 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -2410,8 +2410,8 @@ skip_thunk: case KDGKBTYPE: case KDGETREPEAT: /* get keyboard repeat & delay rates */ case KDSETREPEAT: /* set keyboard repeat & delay rates (new) */ - case KBADDKBD: /* add/remove keyboard to/from mux */ - case KBRELKBD: { + case KBADDKBD: /* add keyboard to mux */ + case KBRELKBD: { /* release keyboard from mux */ error = 0; mtx_lock(&Giant); From nobody Sun Sep 24 15:49:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtr6r5kMBz4v7Py; Sun, 24 Sep 2023 15:49: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 4Rtr6r566Mz3L90; Sun, 24 Sep 2023 15:49:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695570596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4w0Z3jXsAfU5IpcKO+9FriD/oP7Gxy/n1tLGEEeD7Lg=; b=t0mDV2YFR3FqwtajtuDtUPK+053PxaCxFyijJ7oGs3KPtwzD1bSdvZLBFaDk1W9m5jQf18 ha/xg4i3TQ9cAUEsER0e0vv8DvAlbxRhLs++kG7tTzgKeh9RzFSx+f3h371zrzde9OUp8q tabcV4Og3YyL0UDoDRppAXSDWvD4rOgEEasMWRAuEf4Vkv0JTSspibwr4hoJtrfszunXWB FjjoNJZajrUtO73HmYVVpS+Fk4z0BjpKZybx8Eiu3k82xQSEivBv6rgQ+FrQCgIMPdUdoX UwOwBMuBxhtRMqetPAZRUZzdQcVO6MEX+LNXUEXA/7jbn0yKBMHShn4VNThB6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695570596; a=rsa-sha256; cv=none; b=yrrftrsg/KVYEAGp7FKQ/e2UDhZvPjmzXzAbhDmadALjEOrweaLZgCKSO7U9WRLbSS+ByC RblFu+7RDcoD0gOgL6ex5PD2x3QtZWMbGY56PIplpkH2uYzbojL6t4zawJziHFt21gJPlL 6J9LsSrlk9DvZ7ntXT0GKzmv7mBj2h2ipliqqlJ5hkHcj2hT9WPIB2Lm6TQ8dVGuaT4647 x+gjAJgWVV2Yp2cWzurNf9LGjJ3PpGt+ofteS4sO6zw4SGfOP6pw2gcg0NhamfQwKl3cQh vsBXz8ebmP0aF0IqIGmSeERtqDJvC3wD1G9C0tQlP6W55U+J4DoawIq59DbwVQ== 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=1695570596; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4w0Z3jXsAfU5IpcKO+9FriD/oP7Gxy/n1tLGEEeD7Lg=; b=l8pSt8hP5AtrGf8FFeyRt4Z5TdeaT8GJzXRMU2VQFA5JZywbUpBMoDS4Y4xNwKgIBa0oKZ uEjno10dqiFHF6+YMYd1tJgmxhXwvy+OWS3OdZXDYrFt+RmdyK11Yhd8ML5zvOcTfzCd9S ypOSKuRQr0sgRKiQcN/abjoz9gDjK2I+KG1Tx62bqUU5wK2G0LCksNdLdAtrvzgz5EdEsh 1frXAvfJE5OumFHyRGGnZZ4csQ6L3f4K5OJKOxDZCN32cvmsqgiqiREPa8MBXKTSfABdIe U40AkabjH9GcVKmYZ08TJBNei+bsbds8yVeV3S8QgXVpGPbyJhTRonL3eC94sg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtr6r49hHzsd5; Sun, 24 Sep 2023 15:49: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 38OFnu7W028796; Sun, 24 Sep 2023 15:49:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OFnuce028793; Sun, 24 Sep 2023 15:49:56 GMT (envelope-from git) Date: Sun, 24 Sep 2023 15:49:56 GMT Message-Id: <202309241549.38OFnuce028793@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: 7af7a0d1b14e - stable/13 - rc.d/hostid: remove useless cat List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 7af7a0d1b14e669277f704eac0b8d3f82d327a9b Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=7af7a0d1b14e669277f704eac0b8d3f82d327a9b commit 7af7a0d1b14e669277f704eac0b8d3f82d327a9b Author: наб AuthorDate: 2022-05-30 23:18:12 +0000 Commit: Ed Maste CommitDate: 2023-09-24 15:48:34 +0000 rc.d/hostid: remove useless cat We've already read it and validated it ‒ re-reading is wasteful PR: 264376 (cherry picked from commit 11bd40d04af59daa7ae7feea0518081a35f07053) --- libexec/rc/rc.d/hostid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/hostid b/libexec/rc/rc.d/hostid index b28e0fc9240e..1d6337e1e28c 100755 --- a/libexec/rc/rc.d/hostid +++ b/libexec/rc/rc.d/hostid @@ -137,7 +137,7 @@ hostid_start() if [ -r ${hostid_file} ]; then read saved_hostid < ${hostid_file} if valid_hostid ${saved_hostid}; then - hostid_set `cat ${hostid_file}` + hostid_set ${saved_hostid} exit 0 fi fi From nobody Sun Sep 24 16:19:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtrmq0fBGz4v8th; Sun, 24 Sep 2023 16:19: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 4Rtrmp73t0z3PT8; Sun, 24 Sep 2023 16:19:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695572363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3/ERNWDo22SLkkW/3nm50MLGS81d5Uvkjuej4rjnCmY=; b=Iyuu0KlCEeMe87EIQK4+9pyqFZGIcj4kaP4qmDQX0YIoPaF6na7TI+32ZUZJlnG/33GG2/ o1fA90b0K42SVFUvHwwK45ElT+Wj2q7lqfKU0HNBlYWRY4KaRuFNygFWi8br2Jb9UI5ajT Lb1XdnOzVUoNfg1pi6rKaHiMGPuOtGrexWbMT4Ms6eIlvJc5/W4h/RamLjd5/TZG9XzZZN 5L1FpcmB8hLbgcLMpTHWFZ55VmEmuF6OivZ9mzP7Eu38ZEnI4Mc8wkc7wzZkh711KxLhUe eecVynCdK5CkHqUD5/R+xv19Xtw76tqY5YsNDD3iUHhaF/QBHTNJwyXyNqMhBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695572363; a=rsa-sha256; cv=none; b=tdEv4GZkSy7MpMVZx+MQlC9bRAI5BpsYjQjKFDSUlisq4p9AkdOSZrYDXmwHpdI9/41H7l w0NmU1ea4qfKxJE0rqzAWECF1aZu+QeZL74g2E74GprpampshfF03PLnr8x7Qvrc2jOI4T Z1MxnC42oAuiuJhea/vi4zACLEgSZmmkE8VbeMnEXDF3mAh+xdbav0aNh4Bjn+F6nUfj+7 1v5OibNATjoHv2rwqgFNoPH0qE+iTiKjspTErBo3SCvVEa0uhr0adPcGBlx4z9BdjtF+UG 63jcYFGUICbP3ZHa/1s04HhgppfzaZfriwd7imGlQQiZVhW/9BC5TFce+u1LXw== 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=1695572363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3/ERNWDo22SLkkW/3nm50MLGS81d5Uvkjuej4rjnCmY=; b=dRWkhMuX6zRvc+/JXkTnkB7wUNwWKahTiGdpnvWwU99hMa4LgbdYtR8HXZ84C9CmZa8fll KPArM83wMnKWBz/CMSQ1zVvCPsW5ICOhBWi8kPqwEm/ezDjObjnVqfMfcKd7ErUo4yJy1M Nmv+tlMuR+6js/wHYxwHdByoNC4MlzZ5wGSI5eb966yHkcI1q9oT5nkhy3xem8FA6zDUo5 MKdj/XF8H4y2TKPY4UYqD5G8N36TR2pwjo2ksOL17PXkU3xPnNJnSpIVR7cwnzzW8SiJvu P9LXIQ9jSELOpQA0DEFMsyC5VeLIn2ubk3j4oYPckTeuI7XNk0yBlCEuk08iZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtrmp67JNztZy; Sun, 24 Sep 2023 16:19: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 38OGJMac079298; Sun, 24 Sep 2023 16:19:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OGJMs6079295; Sun, 24 Sep 2023 16:19:22 GMT (envelope-from git) Date: Sun, 24 Sep 2023 16:19:22 GMT Message-Id: <202309241619.38OGJMs6079295@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: cd8cd03403cc - releng/14.0 - OpenSSL: Fix handling of the "0:" label in arm-xlate.pl List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: cd8cd03403cc74f4e55dbc9f55ff0271a5b0a2d0 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=cd8cd03403cc74f4e55dbc9f55ff0271a5b0a2d0 commit cd8cd03403cc74f4e55dbc9f55ff0271a5b0a2d0 Author: Tom Cosgrove AuthorDate: 2023-08-29 21:38:11 +0000 Commit: Ed Maste CommitDate: 2023-09-24 16:18:09 +0000 OpenSSL: Fix handling of the "0:" label in arm-xlate.pl When $label == "0", $label is not truthy, so `if ($label)` thinks there isn't a label. Correct this by looking at the result of the s/// command. Verified that there are no changes in the .S files created during a normal build, and that the "0:" labels appear in the translation given in the error report (and they are the only difference in the before and after output). Obtained from: OpenSSL commit 9607f5ccf285ac9988a86f95c5ad9f92b556a843 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D41587 (cherry picked from commit eba6abafc1988dc8753b08822abff333d4810e75) (cherry picked from commit e99406a2bb3234e2a05eef5e63be3054ffac3371) Approved by: re (gjb) --- crypto/openssl/crypto/perlasm/arm-xlate.pl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/crypto/openssl/crypto/perlasm/arm-xlate.pl b/crypto/openssl/crypto/perlasm/arm-xlate.pl index a90885905c0f..57b75c4e5dad 100755 --- a/crypto/openssl/crypto/perlasm/arm-xlate.pl +++ b/crypto/openssl/crypto/perlasm/arm-xlate.pl @@ -159,9 +159,8 @@ while(my $line=<>) { } { - $line =~ s|(^[\.\w]+)\:\s*||; - my $label = $1; - if ($label) { + if ($line =~ s|(^[\.\w]+)\:\s*||) { + my $label = $1; printf "%s:",($GLOBALS{$label} or $label); } } From nobody Sun Sep 24 16:19:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtrmr18pbz4v97D; Sun, 24 Sep 2023 16:19: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 4Rtrmr0gz8z3PTQ; Sun, 24 Sep 2023 16:19:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695572364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dd173VF0RNeYQP2IK9+l8QSmuDFZTWRwFHX9+k/FZn8=; b=MtxxgyknC1xkM2eNtEw1LYpP2YeXxQkbQMSM5iDZ/CXRofgTxrnfQAygWDjkxwZYLVFy7R DN5l6URlAwXF5sgLXxXfLnQcfW7laLJ6OOcKV9MGb9QCIUSfwehCa+EfDBShjQyK+hcKtd ewXKg0N8Ix3lS1FlfRqtJLVbVrs08MDjY4fBx79TYnRaHdfR4/osaleLfMmiOZFf3YCyue tXG3qxqNaYpNeXNX8OEPxwN0fVBIwwRF0QBHyDLvg3HYF+qUYkK7D4o7AysfRQxR5P6fzb CunBh1otbrdVktjsghDuCeXJcaZgZWb47mi3BMhSlbfiQ8Vut3XlRkuMfGwLzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695572364; a=rsa-sha256; cv=none; b=h75ViYSIafiArBz68LoyYeo8vNX3t7GarXlXLozgVyIkpZC37N2fmrHOT+tmcrDa29ZJj9 CBRpgQPvh8NjsPl49xSS6Vj4KP5rZOh+OQ7X2ndGjA6mgotDJgKLmV4qKFO2SgeSTmi+eh ZNpGffLJySLEW8dSBUBNio76suK4R8blGoaCdy5yZfEwE7nck6IWZ7z8M/qMENaVPY9ESW hIN0Ehz8K5YewImDls2dGjRdcwztPyQH+19AWDAY8mBx85WSXCSQ0zKrBQssLck5FIC//m z2uzIeZ/NHB9RV/Th9WTcIHygvAXEP6W7mwEk8y2NFk20y0liBMWfF9UyspGvQ== 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=1695572364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dd173VF0RNeYQP2IK9+l8QSmuDFZTWRwFHX9+k/FZn8=; b=NOTdg4HvqihtjOeGmSdvsgo8AYXhjvf4Mdn8dI49irmU6e309/7rQso/Au+oeMvIeqWg2t 7zL9y27roINa0kbDTCdPqzNCWv815GLHfTB9pyLihCr4Gwqsm4i3FQpujlNXF9lGBz07nj jxVJ+fTU/gP/HnO1qCI5WkJ8ImEbFmGsnA74S5BOQSC16Zy90PR+MrSPIOUv6/WulbjfhZ M1y1j+cMEgSWj2fOc9npvAKLLLOeBgTCrA8o/bKhRQNcQ4IfA2zhgcez116eeviMGUFdJ3 VKucuZa53DIzvyFWaCWsnxBpzqq/PH5tVKBjklj3KklyswR2pZPbh1r+Uo/ndA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtrmq6tNJztXQ; Sun, 24 Sep 2023 16:19: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 38OGJNiJ079346; Sun, 24 Sep 2023 16:19:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OGJN7L079343; Sun, 24 Sep 2023 16:19:23 GMT (envelope-from git) Date: Sun, 24 Sep 2023 16:19:23 GMT Message-Id: <202309241619.38OGJN7L079343@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: f5892bbbaf54 - releng/14.0 - libcrypto: fix the FIPS provider on amd64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: f5892bbbaf54bfd40638359621265c47d1e419c3 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f5892bbbaf54bfd40638359621265c47d1e419c3 commit f5892bbbaf54bfd40638359621265c47d1e419c3 Author: Pierre Pronchery AuthorDate: 2023-09-04 17:57:35 +0000 Commit: Ed Maste CommitDate: 2023-09-24 16:18:20 +0000 libcrypto: fix the FIPS provider on amd64 This corrects the list of source files required for the FIPS provider. To test: ``` INSTALL PASSED enter AES-128-CBC encryption password: Verifying - enter AES-128-CBC encryption password: U2FsdGVkX1+MGm7LbZou29UWU+KAyBX/PxF5T1pO9VM= ``` Reviewed by: emaste Fixes: b077aed33b7b ("Merge OpenSSL 3.0.9") Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-src/pull/837 Differential Revision: https://reviews.freebsd.org/D41720 (cherry picked from commit 8f37b3a142f2f7197896cd283c44c7e4fb64aaf3) (cherry picked from commit abd9da936335eca88d670ad35a94ed67d911bdb1) Approved by: re (gjb) --- secure/lib/libcrypto/modules/fips/Makefile | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/secure/lib/libcrypto/modules/fips/Makefile b/secure/lib/libcrypto/modules/fips/Makefile index 145cb5993786..b77bcf785454 100644 --- a/secure/lib/libcrypto/modules/fips/Makefile +++ b/secure/lib/libcrypto/modules/fips/Makefile @@ -32,25 +32,25 @@ SRCS+= mem_clr.c .endif # crypto/aes -SRCS+= aes_cbc.c aes_cfb.c aes_ecb.c aes_ige.c aes_misc.c aes_ofb.c aes_wrap.c +SRCS+= aes_cfb.c aes_ecb.c aes_ige.c aes_misc.c aes_ofb.c aes_wrap.c .if defined(ASM_aarch64) -SRCS+= aes_core.c aesv8-armx.S vpaes-armv8.S +SRCS+= aes_cbc.c aes_core.c aesv8-armx.S vpaes-armv8.S ACFLAGS.aesv8-armx.S= -march=armv8-a+crypto .elif defined(ASM_amd64) -SRCS+= aes_core.c aesni-mb-x86_64.S aesni-sha1-x86_64.S aesni-sha256-x86_64.S -SRCS+= aesni-x86_64.S vpaes-x86_64.S +SRCS+= aes-x86_64.S aesni-mb-x86_64.S aesni-sha1-x86_64.S +SRCS+= aesni-sha256-x86_64.S aesni-x86_64.S bsaes-x86_64.S vpaes-x86_64.S .elif defined(ASM_arm) -SRCS+= aes-armv4.S aesv8-armx.S bsaes-armv7.S +SRCS+= aes_cbc.c aes-armv4.S aesv8-armx.S bsaes-armv7.S .elif defined(ASM_i386) -SRCS+= aes_core.c aesni-x86.S vpaes-x86.S +SRCS+= aes-586.S aesni-x86.S vpaes-x86.S .elif defined(ASM_powerpc) -SRCS+= aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S +SRCS+= aes_cbc.c aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S .elif defined(ASM_powerpc64) -SRCS+= aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S +SRCS+= aes_cbc.c aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S .elif defined(ASM_powerpc64le) -SRCS+= aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S +SRCS+= aes_cbc.c aes_core.c aes-ppc.S vpaes-ppc.S aesp8-ppc.S .else -SRCS+= aes_core.c +SRCS+= aes_cbc.c aes_core.c .endif # crypto/bn From nobody Sun Sep 24 16:19:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtrms2JFsz4v951; Sun, 24 Sep 2023 16:19: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 4Rtrms1mvvz3PZk; Sun, 24 Sep 2023 16:19:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695572365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GQhB60dtdjyPdTyc6803Cnt+CQLMGEwHrqVXd+5eH50=; b=AbpY4l8HSqxl0vdMWGggt371TlaD9hrTjVqipvcdc9LONWVJ5DfJDdk9YTS3UsHjn878US ph/SK9XihHcz4NLSXdUVW+R+BAFpVeRoCNUAyNZ5j3Z3PkFS70M4hyCYr7DidQEoGksv9S TS7LyL5Lwdis5rJaeOVc28xZbaredGF47pYIi72q55He2aLFav9yluFeDCCRvX5kfFvT1w 7uE7ET9ouJrtbLAzESWNbXhum6lyj2feH16P3K4SlAngBTrSc3wrbemmJsSL818G+ocIJu T2WG4MFfQw8G6bVWTZV+1WcdnQP2Xh/EjgakhTu7oBtdVvzjfQJBDdzg20jBlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695572365; a=rsa-sha256; cv=none; b=XP+8aVzyumyzPgDtJgEfgoeSYW3h6tS4nZjbxQxaniY7jU0rPt42i6zA8jb8/EATqei70l soD94oezLP5DxcKqPsJXEMZBp6nhWPXJFV4vegvtIQXZmel5z4wrPV1a6WRcnaM1PoiS4q 2N5ljS14FM4ej6QBpryQBuVunfoQkxRcqay0UKzsVHURy7U8J0Tr6lD6jvLdOt6+C53pJm ojmFWHYD3zL6AARyIRliD9lzyb4n8BpVhRFqeftb8r80FCBQ4McAZU3JrsUAgH61S291/h CDkc2NtzrAkj7Osx2msXSRuD/XiGoqsCamkbEIoV6tz7Bj8zu7jSeWP9Xkm6Eg== 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=1695572365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GQhB60dtdjyPdTyc6803Cnt+CQLMGEwHrqVXd+5eH50=; b=GKrGjCD8FZqQffWchpg84EXjHXhzq0J6D5GykqCh676qnMf3AmPoTRmKnfg65gm73Di3ox vmummsb9tGbbTbYgDPsgIQnpoDTJOSrA/iUgfvesiPJUveU/9RwyWo34zFkQXdL2vaUdb9 OWFDXM4o3sLbpxuxuHW0dlDs1PSM7+c3mo2H/R0aUDB2sk9W8DsGcyEITvoD5JsyNRNNp9 QiuV9qFHq0qR42mLTzCobF1qMK56/CB0e53LW7M6eo+3lUgW8/cIXA6bdkgp8Xc8l6tyC8 wqJxJdgTecfb6BdkR9MHqJMc6xB+A/tdY06IUtLBNA5w2cfQgAzVOSZDdvALMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtrms0qC4ztb0; Sun, 24 Sep 2023 16:19: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 38OGJPqY079398; Sun, 24 Sep 2023 16:19:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OGJPEk079395; Sun, 24 Sep 2023 16:19:25 GMT (envelope-from git) Date: Sun, 24 Sep 2023 16:19:25 GMT Message-Id: <202309241619.38OGJPEk079395@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: 444eda0dda64 - releng/14.0 - libcrypto: complete the support for the 0.9.8 API List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 444eda0dda6407c56c80638f2218ce80e7c90a1f Auto-Submitted: auto-generated The branch releng/14.0 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=444eda0dda6407c56c80638f2218ce80e7c90a1f commit 444eda0dda6407c56c80638f2218ce80e7c90a1f Author: Pierre Pronchery AuthorDate: 2023-09-21 11:42:06 +0000 Commit: Ed Maste CommitDate: 2023-09-24 16:18:28 +0000 libcrypto: complete the support for the 0.9.8 API When importing OpenSSL 3 in base, some but not all source files implementing the deprecated 0.9.8 API were imported. With this change, it becomes possible again to compile software targeting this API. PR: 272220 Fixes: b077aed33b7b ("Merge OpenSSL 3.0.9") Reviewed by: emaste Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-src/pull/851 (cherry picked from commit b15b39521644ebffdcc091bd283ed410b0ae9274) (cherry picked from commit ab64f100ca5ddd37029695646003abaf49c3065e) Approved by: re (gjb) --- secure/lib/libcrypto/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile index 827dee41201d..70208cd17c8a 100644 --- a/secure/lib/libcrypto/Makefile +++ b/secure/lib/libcrypto/Makefile @@ -196,14 +196,14 @@ SRCS+= des_enc.c fcrypt_b.c .endif # dh -SRCS+= dh_ameth.c dh_asn1.c dh_backend.c dh_check.c dh_err.c dh_gen.c +SRCS+= dh_ameth.c dh_asn1.c dh_backend.c dh_check.c dh_depr.c dh_err.c dh_gen.c SRCS+= dh_group_params.c dh_kdf.c dh_key.c dh_lib.c dh_meth.c dh_pmeth.c SRCS+= dh_prn.c dh_rfc5114.c # dsa -SRCS+= dsa_ameth.c dsa_asn1.c dsa_backend.c dsa_check.c dsa_err.c dsa_gen.c -SRCS+= dsa_key.c dsa_lib.c dsa_meth.c dsa_ossl.c dsa_pmeth.c dsa_prn.c -SRCS+= dsa_sign.c dsa_vrf.c +SRCS+= dsa_ameth.c dsa_asn1.c dsa_backend.c dsa_check.c dsa_depr.c dsa_err.c +SRCS+= dsa_gen.c dsa_key.c dsa_lib.c dsa_meth.c dsa_ossl.c dsa_pmeth.c +SRCS+= dsa_prn.c dsa_sign.c dsa_vrf.c # dso SRCS+= dso_dlfcn.c dso_err.c dso_lib.c From nobody Sun Sep 24 16:19:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtrmt4JQVz4v97J; Sun, 24 Sep 2023 16:19: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 4Rtrmt3Q8rz3Q12; Sun, 24 Sep 2023 16:19:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695572366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fA8s56MdG4oI6NIweJqkxIHeppn9VfIAHWwABEYlWLg=; b=W1ZdO1rPCG+wbcjoYhVNnqJNB4Au0IrRFJWWN2IF0n1TdTyEXXOAvAncQW1IQr5LZ5RKxj VdQSi2VDbNsOJadw4fL3mAG+XJb3hK96pH6F79msDbl9U5WvVU81J/j9tLwO+McfeUaH4a VAyKImehpJTP2XBoHankSv5AuZo5TEe9iSyzJmNYXMG4g065Da+gwCkAYaNNyLXZKdxD+H EYbML0Fa+MlljmYFc9mxd11qLi4DjZ7fQmcBirmJs8qDioGk12qaIeeABk5URbT8HTYM8N MSU+KFcNvGcNFaxqYDU2rJiAGC49iCTavEwfJyPKdvncWE94c5x0C1GrYE65Kw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695572366; a=rsa-sha256; cv=none; b=uBgDeH/B/c7LXMHSDwnSAoCakA/qv+4unEuOE+AVm56PIvFujyMXtHYwBAiHdrt65+sek6 ftbEVknSPmy+BTWAiqoPr/HQjZ4yPCat7+6cdE/UtC9j9buHLmcXaKuJlX4f59XBYd2nOD 1ktpSC4CNOMbc3ekIY9+CkkXlipgicnWu9vmFD6PjnKfIXL7gqMD+kgqeyq76BvHFx94lU pI6mm6+JfNXJWfw6oJzTtJPKeqHHF4aIV2TTcVglGZsdZz09VvLnuQL3qAWHLxDyAAgw04 QocHLTFwUzrJ6Rq7givPwrJ9RNse5Gq2xa/OuzsPvTVK/uTMeZaucSuSpKBjiw== 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=1695572366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fA8s56MdG4oI6NIweJqkxIHeppn9VfIAHWwABEYlWLg=; b=GfVjnKXZtVn66JefnJpXz0IPWRWzbKA+b8dPKiQwxlRHHiN0jPS8LofWPW81FmFe6CEWn7 qHCgLah7wbRivugmX6ZKjIjZWD2oB19vvnTeurDg6CNwaBh/xMDo1MSxYtiVXVKRvB5+R5 2IUI1YeoyShGKKAyZ5ogNCeSjyGPrVvNuRwcAN0+rx3SNVr7OZlWD3f8WTiy3/A/sZOU6B KaLjmOidmGIz9PFFymbv0BSniruSZzQgsmOhVjfMkvsEnp3z78NqhFGIRlK4eyAIirCZZt vgjrxoAhOJq21H3mu1yX1UpkeudU1Bi91rSJinL25741+PlX6899dVu7vkawRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtrmt22zlzt1k; Sun, 24 Sep 2023 16:19: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 38OGJQqK079443; Sun, 24 Sep 2023 16:19:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OGJQHE079440; Sun, 24 Sep 2023 16:19:26 GMT (envelope-from git) Date: Sun, 24 Sep 2023 16:19:26 GMT Message-Id: <202309241619.38OGJQHE079440@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: 5b980017909a - releng/14.0 - Add deprecation notices to publickey(5) tools List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 5b980017909a40179ab6f11d739cea8b450b6bf6 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5b980017909a40179ab6f11d739cea8b450b6bf6 commit 5b980017909a40179ab6f11d739cea8b450b6bf6 Author: Ed Maste AuthorDate: 2023-09-20 11:31:14 +0000 Commit: Ed Maste CommitDate: 2023-09-24 16:18:35 +0000 Add deprecation notices to publickey(5) tools Reviewed by: imp, manu MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40144 (cherry picked from commit d5ef73a71f0e2fbc4dc9b907a6e59a15599c50b3) (cherry picked from commit 84266fb897e6e75569a81418f146f134af04046b) Approved by: re (gjb) --- usr.bin/chkey/chkey.1 | 4 ++++ usr.bin/keylogin/keylogin.1 | 4 ++++ usr.bin/keylogout/keylogout.1 | 4 ++++ usr.bin/newkey/newkey.8 | 4 ++++ usr.sbin/keyserv/keyserv.8 | 4 ++++ 5 files changed, 20 insertions(+) diff --git a/usr.bin/chkey/chkey.1 b/usr.bin/chkey/chkey.1 index 0721c07e8c14..508227ba9601 100644 --- a/usr.bin/chkey/chkey.1 +++ b/usr.bin/chkey/chkey.1 @@ -9,6 +9,10 @@ .Nd change your encryption key .Sh SYNOPSIS .Nm +.Sh DEPRECATION NOTICE +.Nm +is deprecated and is not available as of +.Fx 15.0. .Sh DESCRIPTION The .Nm diff --git a/usr.bin/keylogin/keylogin.1 b/usr.bin/keylogin/keylogin.1 index a8a429e6c786..32a3e8e1b5b4 100644 --- a/usr.bin/keylogin/keylogin.1 +++ b/usr.bin/keylogin/keylogin.1 @@ -9,6 +9,10 @@ .Nd decrypt and store secret key .Sh SYNOPSIS .Nm +.Sh DEPRECATION NOTICE +.Nm +is deprecated and is not available as of +.Fx 15.0. .Sh DESCRIPTION The .Nm diff --git a/usr.bin/keylogout/keylogout.1 b/usr.bin/keylogout/keylogout.1 index 54cd5a575c51..1480a83aece5 100644 --- a/usr.bin/keylogout/keylogout.1 +++ b/usr.bin/keylogout/keylogout.1 @@ -8,6 +8,10 @@ .Sh SYNOPSIS .Nm .Op Fl f +.Sh DEPRECATION NOTICE +.Nm +is deprecated and is not available as of +.Fx 15.0. .Sh DESCRIPTION The .Nm diff --git a/usr.bin/newkey/newkey.8 b/usr.bin/newkey/newkey.8 index 966692b5968c..51dca6688bd0 100644 --- a/usr.bin/newkey/newkey.8 +++ b/usr.bin/newkey/newkey.8 @@ -10,6 +10,10 @@ .Fl h Ar hostname .Nm .Fl u Ar username +.Sh DEPRECATION NOTICE +.Nm +is deprecated and is not available as of +.Fx 15.0. .Sh DESCRIPTION The .Nm diff --git a/usr.sbin/keyserv/keyserv.8 b/usr.sbin/keyserv/keyserv.8 index af8acd2fd642..17007c7d8f40 100644 --- a/usr.sbin/keyserv/keyserv.8 +++ b/usr.sbin/keyserv/keyserv.8 @@ -16,6 +16,10 @@ .Op Fl n .Op Fl p Ar path .Op Fl v +.Sh DEPRECATION NOTICE +.Nm +is deprecated and is not available as of +.Fx 15.0. .Sh DESCRIPTION The .Nm From nobody Sun Sep 24 16:19:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rtrmv43G3z4v8yw; Sun, 24 Sep 2023 16:19: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 4Rtrmv3Qn4z3Q3x; Sun, 24 Sep 2023 16:19:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695572367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1tq1+w8rji4NdMdNbb+jjLaq/+asXBd5HnlLq1ElU0s=; b=UKOMfheBkrRO/mScUa3NMDs7a24MEewv9JcHFeFUo+dbi2yTkqITZ5fbG4i/rw0OyO8ies IIxwyqSWfr0Wkc4aGFdVi93ij2VPUsLftL5+mh/MzQrmxk1p+v9heovpjSt2tZoWORSL9z Bqrr+AML+dyoZdSuhriX9fQqhyLgiWg+nFrkcN9XQs43+PgRh5BOzEaJ6ns63d1PWsvEl1 TlPHh7647DO0OPNQ54HcV06K+szAlJ4vUMzcKXCyOB7XHfAEQYi7Y/1aZa7ORTQ6OuB9JE iwDViV3yVvE6gcrLmiCpOIiWwONRqJE03HKv5EJnwA5Qu3bABFegc1RnFdxjjA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695572367; a=rsa-sha256; cv=none; b=cKdguj/kUkBZ0sVdnd75z7AU87hcjlpFu+iifX+ZK0SK4H7QXLyRcw3I5NVW56NHE3Fa0p aVDC3LDZwJ7edviOMD5ZF/Ru4hAcZDV21LP6TgOlrFXcNsFghTztkP8Ij8+d5AQRsuwlbj 0moLq7JvVWbyJQmYoNelZA05Zt98ffW4hZkWXnsgTHYF4a8PI4/JH98f8ciK9RLemH42V/ 1Xjoa+wYw6hdIv4KKRUaOx4jU4GorY5kcYH3i3e4UfRddK2mgLm6x21OtdRQctTev1yyKE b0pICMu7lxkXXC1oGTGLWOyAUQRiSHd4pAKa+5hF0rb8hcOKCZ4U7kQ1fR2naw== 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=1695572367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1tq1+w8rji4NdMdNbb+jjLaq/+asXBd5HnlLq1ElU0s=; b=EeDSbHSlePN53lFTh66Xmh1pQuj8dtnDq3dvBu8xa+cVqkL6Rr4/Q5potgdwt3Keh3+TIg bZPMF8inuNwTDKvG/mOAt83fFkALGodNGg7aaXDzC7rPnTNLSIIL18il3T7dD9KP5meMho OUOYvLIuRyeE0yf1Cydb3+7VHgEfUNbjoRSvaK02CEJaXOF5ljwHVSmGunpcxBfVbKBI8Z a3IjLPO2Yh/lxX5XziUsP6hZcQje1T7kYP8UkVOLelkkEHjq0FgoWs/E+joHfempnJa2zp wDDdIm4yrg7b3J5AqokVlmuuyQlob6darkJproh69mXmZK8PH/6/AQ/wa3vN1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rtrmv2TGnztVn; Sun, 24 Sep 2023 16:19: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 38OGJRKi079503; Sun, 24 Sep 2023 16:19:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OGJRdK079500; Sun, 24 Sep 2023 16:19:27 GMT (envelope-from git) Date: Sun, 24 Sep 2023 16:19:27 GMT Message-Id: <202309241619.38OGJRdK079500@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: 20f6af198e72 - releng/14.0 - rc.subr: don't require service to be enabled for `status` List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 20f6af198e728262472bd347d68ea264b8cf37eb Auto-Submitted: auto-generated The branch releng/14.0 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=20f6af198e728262472bd347d68ea264b8cf37eb commit 20f6af198e728262472bd347d68ea264b8cf37eb Author: Daniel Tameling AuthorDate: 2023-07-01 08:43:40 +0000 Commit: Ed Maste CommitDate: 2023-09-24 16:18:41 +0000 rc.subr: don't require service to be enabled for `status` For a service that sets an rcvar, there is a check whether it has been enabled before the actual command is executed. If the check fails, one gets a message to enable it and the returned exit status is 0. However, this is usually undesirable for the status command, which is a) supposed to check whether the service is running anyway and b) returns a non-zero exit code if that is not the case. Thus, skip the check for the status command. PR: 272282 Reviewed by: emaste (cherry picked from commit ba793728a840041e93e38bcbff4a7233dc63b722) (cherry picked from commit f701d9da1d94891dd2edad607a989cad6eb10313) Approved by: re (gjb) --- libexec/rc/rc.subr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index 17ca904ff1e7..332718dc6f2c 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -1041,13 +1041,14 @@ run_rc_command() continue fi # if ${rcvar} is set, $1 is not "rcvar", "describe", - # "enable" or "delete", and ${rc_pid} is not set, run: + # "enable", "delete" or "status", and ${rc_pid} is + # not set, run: # checkyesno ${rcvar} # and return if that failed # if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" -a "$rc_arg" != "stop" \ -a "$rc_arg" != "delete" -a "$rc_arg" != "enable" \ - -a "$rc_arg" != "describe" ] || + -a "$rc_arg" != "describe" -a "$rc_arg" != "status" ] || [ -n "${rcvar}" -a "$rc_arg" = "stop" -a -z "${rc_pid}" ]; then if ! checkyesno ${rcvar}; then if [ -n "${rc_quiet}" ]; then From nobody Sun Sep 24 17:32:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RttP54CMTz4vDbJ; Sun, 24 Sep 2023 17:32: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 4RttP53tf0z3Xsd; Sun, 24 Sep 2023 17:32:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695576745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4TDj8I3h906594hl8+5Nj1+o+y3OYz9+ImicVA8bSXY=; b=GUdMNeH0mK4aaPMt77M9iF2zBj9VuCtSKqY668gabcZQx2upGYaPknvva/2CZti6xWzpG9 oqk/9pdVKFYJq6N+SP73sseFhP8EaJVl8iHSl809W2sgzYlfSEpPR2SUKzyfCz8t0NLqbe E+Lh5v2eix9Eiejn7og8UUTW25DGkNxdxjKKdP+JohMTsHie9XEwRCxK3nT5Rg3ZiwlevV IiN8QQpLnt0TPiOVZYkoi9tl+qtvCvoPdAKXe+UryDibsvsh2diZgrEC/7dk/uL5spzyXX 4+IfuayHxEZ1dVTeK4z3Ipl8KofF30Gm3Ce8MhlNHr2+/rYur+HWPIjLcJlgMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695576745; a=rsa-sha256; cv=none; b=j7u2E30Lp0qRZYRDvhmpk0lU019eyh2jsMKAIp+GGmmxR13yABKuh2pCI3gS473xLotVtz 3Bi6SoX2DPGtA+FvvPgjjaCC+an8DUNHpbaARhlaWIH4ynQtxNpp3flXhCPiAk6xSnBoff mp9ZtK8mCzR0hAEQWCLGDx3PrFRg0j2u89ceULsukAmr9cXaVTYTXsQfFF/ngwPcjIz+rO WmZObWxZ2nl2hZE8NDH7KFX8idJn9nId+F0qJtE/eJcmdY7jiRP1VoviIoLkJLLw6/qRjE eWt1oKVey3ny7lmVuvKn6AIiOmuAdKTon6yQrd4L8Vgdw3wJvRkmVfgPASIqJw== 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=1695576745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4TDj8I3h906594hl8+5Nj1+o+y3OYz9+ImicVA8bSXY=; b=Nx2L098+K8P/MNdakA74zfl2LK6xPGLPs8GvsX0rW6ix8k2O2X548KAWsd3CI8j6YnHJIy /nqwuKWCXJiueTO3tg4mWeKlfsMPf84hzpmGcm7gVqAIdMMvgrZUc+F0EP4pxLAAh+sZWn uIZ8iFCA88dJ5Z/8XKMlEcSLVf+faseiA6Q+nD0mSn9b4CIYot5lgfr7+o1WqfOGCop4ph lYbHkT+M8Dc9PD0y1hMk7f4x03jrCkgXx1k1Yn2yop8D/mqAWwhW0mra0PQGgP2rH9sHmM zI2psGL97X71hsQpPbvA3EMT0v1KnC5BT8H8hj1w0vQN5DSDHYGuXGXCCrYkYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RttP52wwmzwbt; Sun, 24 Sep 2023 17:32: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 38OHWPOa011044; Sun, 24 Sep 2023 17:32:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OHWPl6011041; Sun, 24 Sep 2023 17:32:25 GMT (envelope-from git) Date: Sun, 24 Sep 2023 17:32:25 GMT Message-Id: <202309241732.38OHWPl6011041@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: 4afaeab99e9e - releng/14.0 - zfs: merge openzfs/zfs@62677576a (zfs-2.2-release) into stable/14 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 4afaeab99e9e4e8e4d8306aff51f9557d8d14cdf Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=4afaeab99e9e4e8e4d8306aff51f9557d8d14cdf commit 4afaeab99e9e4e8e4d8306aff51f9557d8d14cdf Author: Martin Matuska AuthorDate: 2023-09-21 09:29:21 +0000 Commit: Martin Matuska CommitDate: 2023-09-24 17:30:02 +0000 zfs: merge openzfs/zfs@62677576a (zfs-2.2-release) into stable/14 Notable upstream pull request merges: #15274 f7a07d76e Retire z_nr_znodes #15278 62677576a ZIL: Fix potential race on flush deferring #15279 11943656f Update the MOS directory on spa_upgrade_errlog() #15281 54c6fbd37 zed: Allow autoreplace and fault LEDs for removed vdevs Obtained from: OpenZFS Approved by: re (gjb) OpenZFS commit: 62677576a75e94396e945c4ecd9372f5d34e50cb (cherry picked from commit 35e5fd1b286c18371ec6f66addf678cd4429302c) (cherry picked from commit 646c82e08a433b61b97073051fd558e42c64603c) --- sys/contrib/openzfs/META | 2 +- sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c | 1 + .../openzfs/cmd/zed/zed.d/statechange-led.sh | 2 +- sys/contrib/openzfs/config/kernel-blkdev.m4 | 84 +++++++++++++++++++++- .../config/kernel-block-device-operations.m4 | 35 ++++++++- .../openzfs/config/kernel-filemap-splice-read.m4 | 25 +++++++ .../openzfs/config/kernel-register_sysctl_table.m4 | 27 +++++++ sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4 | 26 ++++++- sys/contrib/openzfs/config/kernel.m4 | 4 ++ .../include/os/freebsd/zfs/sys/zfs_vfsops_os.h | 1 - .../include/os/linux/kernel/linux/blkdev_compat.h | 7 ++ sys/contrib/openzfs/include/os/linux/spl/sys/uio.h | 12 ++++ .../include/os/linux/zfs/sys/zfs_vfsops_os.h | 1 - sys/contrib/openzfs/man/man7/zpoolconcepts.7 | 8 +-- sys/contrib/openzfs/module/Makefile.in | 2 +- .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c | 8 +-- .../openzfs/module/os/freebsd/zfs/zfs_znode.c | 2 - sys/contrib/openzfs/module/os/linux/spl/spl-proc.c | 77 ++++++++++++++------ .../openzfs/module/os/linux/zfs/vdev_disk.c | 65 ++++++++++++++--- .../openzfs/module/os/linux/zfs/zfs_ctldir.c | 1 - .../openzfs/module/os/linux/zfs/zfs_vfsops.c | 7 +- .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 2 +- .../openzfs/module/os/linux/zfs/zfs_znode.c | 2 - .../openzfs/module/os/linux/zfs/zpl_ctldir.c | 2 +- sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c | 15 ++-- sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c | 28 ++++++-- sys/contrib/openzfs/module/zfs/spa_errlog.c | 9 +++ sys/contrib/openzfs/module/zfs/zil.c | 9 +++ .../cli_root/zdb/zdb_block_size_histogram.ksh | 8 +-- sys/modules/zfs/zfs_config.h | 27 ++++++- sys/modules/zfs/zfs_gitrev.h | 2 +- 31 files changed, 419 insertions(+), 82 deletions(-) diff --git a/sys/contrib/openzfs/META b/sys/contrib/openzfs/META index 0953cc51922f..9ffe90458dbd 100644 --- a/sys/contrib/openzfs/META +++ b/sys/contrib/openzfs/META @@ -6,5 +6,5 @@ Release: rc4 Release-Tags: relext License: CDDL Author: OpenZFS -Linux-Maximum: 6.4 +Linux-Maximum: 6.5 Linux-Minimum: 3.10 diff --git a/sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c b/sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c index a8d084bb4bd3..2f040ff7582c 100644 --- a/sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c +++ b/sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c @@ -372,6 +372,7 @@ zfs_process_add(zpool_handle_t *zhp, nvlist_t *vdev, boolean_t labeled) /* Only autoreplace bad disks */ if ((vs->vs_state != VDEV_STATE_DEGRADED) && (vs->vs_state != VDEV_STATE_FAULTED) && + (vs->vs_state != VDEV_STATE_REMOVED) && (vs->vs_state != VDEV_STATE_CANT_OPEN)) { zed_log_msg(LOG_INFO, " not autoreplacing since disk isn't in " "a bad state (currently %llu)", vs->vs_state); diff --git a/sys/contrib/openzfs/cmd/zed/zed.d/statechange-led.sh b/sys/contrib/openzfs/cmd/zed/zed.d/statechange-led.sh index 46bfc1b866f1..40cb61f17307 100755 --- a/sys/contrib/openzfs/cmd/zed/zed.d/statechange-led.sh +++ b/sys/contrib/openzfs/cmd/zed/zed.d/statechange-led.sh @@ -121,7 +121,7 @@ state_to_val() { state="$1" case "$state" in - FAULTED|DEGRADED|UNAVAIL) + FAULTED|DEGRADED|UNAVAIL|REMOVED) echo 1 ;; ONLINE) diff --git a/sys/contrib/openzfs/config/kernel-blkdev.m4 b/sys/contrib/openzfs/config/kernel-blkdev.m4 index 887acee670ba..e04a2bd2c3b6 100644 --- a/sys/contrib/openzfs/config/kernel-blkdev.m4 +++ b/sys/contrib/openzfs/config/kernel-blkdev.m4 @@ -16,12 +16,63 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH], [ ]) ]) +dnl # +dnl # 6.5.x API change, +dnl # blkdev_get_by_path() takes 4 args +dnl # +AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH_4ARG], [ + ZFS_LINUX_TEST_SRC([blkdev_get_by_path_4arg], [ + #include + #include + ], [ + struct block_device *bdev __attribute__ ((unused)) = NULL; + const char *path = "path"; + fmode_t mode = 0; + void *holder = NULL; + struct blk_holder_ops h; + + bdev = blkdev_get_by_path(path, mode, holder, &h); + ]) +]) + AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH], [ - AC_MSG_CHECKING([whether blkdev_get_by_path() exists]) + AC_MSG_CHECKING([whether blkdev_get_by_path() exists and takes 3 args]) ZFS_LINUX_TEST_RESULT([blkdev_get_by_path], [ AC_MSG_RESULT(yes) ], [ - ZFS_LINUX_TEST_ERROR([blkdev_get_by_path()]) + AC_MSG_RESULT(no) + AC_MSG_CHECKING([whether blkdev_get_by_path() exists and takes 4 args]) + ZFS_LINUX_TEST_RESULT([blkdev_get_by_path_4arg], [ + AC_DEFINE(HAVE_BLKDEV_GET_BY_PATH_4ARG, 1, + [blkdev_get_by_path() exists and takes 4 args]) + AC_MSG_RESULT(yes) + ], [ + ZFS_LINUX_TEST_ERROR([blkdev_get_by_path()]) + ]) + ]) +]) + +dnl # +dnl # 6.5.x API change +dnl # blk_mode_t was added as a type to supercede some places where fmode_t +dnl # is used +dnl # +AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_BLK_MODE_T], [ + ZFS_LINUX_TEST_SRC([blk_mode_t], [ + #include + #include + ], [ + blk_mode_t m __attribute((unused)) = (blk_mode_t)0; + ]) +]) + +AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_BLK_MODE_T], [ + AC_MSG_CHECKING([whether blk_mode_t is defined]) + ZFS_LINUX_TEST_RESULT([blk_mode_t], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_BLK_MODE_T, 1, [blk_mode_t is defined]) + ], [ + AC_MSG_RESULT(no) ]) ]) @@ -41,12 +92,35 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_PUT], [ ]) ]) +dnl # +dnl # 6.5.x API change. +dnl # blkdev_put() takes (void* holder) as arg 2 +dnl # +AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_PUT_HOLDER], [ + ZFS_LINUX_TEST_SRC([blkdev_put_holder], [ + #include + #include + ], [ + struct block_device *bdev = NULL; + void *holder = NULL; + + blkdev_put(bdev, holder); + ]) +]) + AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_PUT], [ AC_MSG_CHECKING([whether blkdev_put() exists]) ZFS_LINUX_TEST_RESULT([blkdev_put], [ AC_MSG_RESULT(yes) ], [ - ZFS_LINUX_TEST_ERROR([blkdev_put()]) + AC_MSG_CHECKING([whether blkdev_put() accepts void* as arg 2]) + ZFS_LINUX_TEST_RESULT([blkdev_put_holder], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_BLKDEV_PUT_HOLDER, 1, + [blkdev_put() accepts void* as arg 2]) + ], [ + ZFS_LINUX_TEST_ERROR([blkdev_put()]) + ]) ]) ]) @@ -495,7 +569,9 @@ AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_BLK_STS_RESV_CONFLICT], [ AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV], [ ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH + ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH_4ARG ZFS_AC_KERNEL_SRC_BLKDEV_PUT + ZFS_AC_KERNEL_SRC_BLKDEV_PUT_HOLDER ZFS_AC_KERNEL_SRC_BLKDEV_REREAD_PART ZFS_AC_KERNEL_SRC_BLKDEV_INVALIDATE_BDEV ZFS_AC_KERNEL_SRC_BLKDEV_LOOKUP_BDEV @@ -510,6 +586,7 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV], [ ZFS_AC_KERNEL_SRC_BLKDEV_PART_TO_DEV ZFS_AC_KERNEL_SRC_BLKDEV_DISK_CHECK_MEDIA_CHANGE ZFS_AC_KERNEL_SRC_BLKDEV_BLK_STS_RESV_CONFLICT + ZFS_AC_KERNEL_SRC_BLKDEV_BLK_MODE_T ]) AC_DEFUN([ZFS_AC_KERNEL_BLKDEV], [ @@ -530,4 +607,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BLKDEV], [ ZFS_AC_KERNEL_BLKDEV_PART_TO_DEV ZFS_AC_KERNEL_BLKDEV_DISK_CHECK_MEDIA_CHANGE ZFS_AC_KERNEL_BLKDEV_BLK_STS_RESV_CONFLICT + ZFS_AC_KERNEL_BLKDEV_BLK_MODE_T ]) diff --git a/sys/contrib/openzfs/config/kernel-block-device-operations.m4 b/sys/contrib/openzfs/config/kernel-block-device-operations.m4 index 84e39dc8a2f6..d13c1337b1fb 100644 --- a/sys/contrib/openzfs/config/kernel-block-device-operations.m4 +++ b/sys/contrib/openzfs/config/kernel-block-device-operations.m4 @@ -49,12 +49,42 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID], [ ], [], []) ]) +dnl # +dnl # 5.9.x API change +dnl # +AC_DEFUN([ZFS_AC_KERNEL_SRC_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG], [ + ZFS_LINUX_TEST_SRC([block_device_operations_release_void_1arg], [ + #include + + void blk_release(struct gendisk *g) { + (void) g; + return; + } + + static const struct block_device_operations + bops __attribute__ ((unused)) = { + .open = NULL, + .release = blk_release, + .ioctl = NULL, + .compat_ioctl = NULL, + }; + ], [], []) +]) + AC_DEFUN([ZFS_AC_KERNEL_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID], [ - AC_MSG_CHECKING([whether bops->release() is void]) + AC_MSG_CHECKING([whether bops->release() is void and takes 2 args]) ZFS_LINUX_TEST_RESULT([block_device_operations_release_void], [ AC_MSG_RESULT(yes) ],[ - ZFS_LINUX_TEST_ERROR([bops->release()]) + AC_MSG_RESULT(no) + AC_MSG_CHECKING([whether bops->release() is void and takes 1 arg]) + ZFS_LINUX_TEST_RESULT([block_device_operations_release_void_1arg], [ + AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG], [1], + [Define if release() in block_device_operations takes 1 arg]) + ],[ + ZFS_LINUX_TEST_ERROR([bops->release()]) + ]) ]) ]) @@ -92,6 +122,7 @@ AC_DEFUN([ZFS_AC_KERNEL_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK], [ AC_DEFUN([ZFS_AC_KERNEL_SRC_BLOCK_DEVICE_OPERATIONS], [ ZFS_AC_KERNEL_SRC_BLOCK_DEVICE_OPERATIONS_CHECK_EVENTS ZFS_AC_KERNEL_SRC_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID + ZFS_AC_KERNEL_SRC_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG ZFS_AC_KERNEL_SRC_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK ]) diff --git a/sys/contrib/openzfs/config/kernel-filemap-splice-read.m4 b/sys/contrib/openzfs/config/kernel-filemap-splice-read.m4 new file mode 100644 index 000000000000..4c83b31d738a --- /dev/null +++ b/sys/contrib/openzfs/config/kernel-filemap-splice-read.m4 @@ -0,0 +1,25 @@ +AC_DEFUN([ZFS_AC_KERNEL_SRC_COPY_SPLICE_READ], [ + dnl # + dnl # Kernel 6.5 - generic_file_splice_read was removed in favor + dnl # of copy_splice_read for the .splice_read member of the + dnl # file_operations struct. + dnl # + ZFS_LINUX_TEST_SRC([has_copy_splice_read], [ + #include + + struct file_operations fops __attribute__((unused)) = { + .splice_read = copy_splice_read, + }; + ],[]) +]) + +AC_DEFUN([ZFS_AC_KERNEL_COPY_SPLICE_READ], [ + AC_MSG_CHECKING([whether copy_splice_read() exists]) + ZFS_LINUX_TEST_RESULT([has_copy_splice_read], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_COPY_SPLICE_READ, 1, + [copy_splice_read exists]) + ],[ + AC_MSG_RESULT(no) + ]) +]) diff --git a/sys/contrib/openzfs/config/kernel-register_sysctl_table.m4 b/sys/contrib/openzfs/config/kernel-register_sysctl_table.m4 new file mode 100644 index 000000000000..a5e934f56d29 --- /dev/null +++ b/sys/contrib/openzfs/config/kernel-register_sysctl_table.m4 @@ -0,0 +1,27 @@ +dnl # +dnl # Linux 6.5 removes register_sysctl_table +dnl # +AC_DEFUN([ZFS_AC_KERNEL_SRC_REGISTER_SYSCTL_TABLE], [ + ZFS_LINUX_TEST_SRC([has_register_sysctl_table], [ + #include + + static struct ctl_table dummy_table[] = { + {} + }; + + ],[ + struct ctl_table_header *h + __attribute((unused)) = register_sysctl_table(dummy_table); + ]) +]) + +AC_DEFUN([ZFS_AC_KERNEL_REGISTER_SYSCTL_TABLE], [ + AC_MSG_CHECKING([whether register_sysctl_table exists]) + ZFS_LINUX_TEST_RESULT([has_register_sysctl_table], [ + AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_REGISTER_SYSCTL_TABLE, 1, + [register_sysctl_table exists]) + ],[ + AC_MSG_RESULT([no]) + ]) +]) diff --git a/sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4 b/sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4 index e0617faab02c..ff560ff3eef0 100644 --- a/sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4 +++ b/sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4 @@ -6,8 +6,7 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_VFS_IOV_ITER], [ #include #include ],[ - int type __attribute__ ((unused)) = - ITER_IOVEC | ITER_KVEC | ITER_BVEC | ITER_PIPE; + int type __attribute__ ((unused)) = ITER_KVEC; ]) ZFS_LINUX_TEST_SRC([iov_iter_advance], [ @@ -93,6 +92,14 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_VFS_IOV_ITER], [ struct iov_iter iter = { 0 }; __attribute__((unused)) enum iter_type i = iov_iter_type(&iter); ]) + + ZFS_LINUX_TEST_SRC([iter_iov], [ + #include + #include + ],[ + struct iov_iter iter = { 0 }; + __attribute__((unused)) const struct iovec *iov = iter_iov(&iter); + ]) ]) AC_DEFUN([ZFS_AC_KERNEL_VFS_IOV_ITER], [ @@ -201,4 +208,19 @@ AC_DEFUN([ZFS_AC_KERNEL_VFS_IOV_ITER], [ AC_DEFINE(HAVE_VFS_IOV_ITER, 1, [All required iov_iter interfaces are available]) ]) + + dnl # + dnl # Kernel 6.5 introduces the iter_iov() function that returns the + dnl # __iov member of an iov_iter*. The iov member was renamed to this + dnl # __iov member, and is intended to be accessed via the helper + dnl # function now. + dnl # + AC_MSG_CHECKING([whether iter_iov() is available]) + ZFS_LINUX_TEST_RESULT([iter_iov], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_ITER_IOV, 1, + [iter_iov() is available]) + ],[ + AC_MSG_RESULT(no) + ]) ]) diff --git a/sys/contrib/openzfs/config/kernel.m4 b/sys/contrib/openzfs/config/kernel.m4 index 1487fa2e7793..df194ec72207 100644 --- a/sys/contrib/openzfs/config/kernel.m4 +++ b/sys/contrib/openzfs/config/kernel.m4 @@ -160,6 +160,8 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [ ZFS_AC_KERNEL_SRC_FILEMAP ZFS_AC_KERNEL_SRC_WRITEPAGE_T ZFS_AC_KERNEL_SRC_RECLAIMED + ZFS_AC_KERNEL_SRC_REGISTER_SYSCTL_TABLE + ZFS_AC_KERNEL_SRC_COPY_SPLICE_READ case "$host_cpu" in powerpc*) ZFS_AC_KERNEL_SRC_CPU_HAS_FEATURE @@ -299,6 +301,8 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [ ZFS_AC_KERNEL_FILEMAP ZFS_AC_KERNEL_WRITEPAGE_T ZFS_AC_KERNEL_RECLAIMED + ZFS_AC_KERNEL_REGISTER_SYSCTL_TABLE + ZFS_AC_KERNEL_COPY_SPLICE_READ case "$host_cpu" in powerpc*) ZFS_AC_KERNEL_CPU_HAS_FEATURE diff --git a/sys/contrib/openzfs/include/os/freebsd/zfs/sys/zfs_vfsops_os.h b/sys/contrib/openzfs/include/os/freebsd/zfs/sys/zfs_vfsops_os.h index 5948e44daab1..56a0ac96ac19 100644 --- a/sys/contrib/openzfs/include/os/freebsd/zfs/sys/zfs_vfsops_os.h +++ b/sys/contrib/openzfs/include/os/freebsd/zfs/sys/zfs_vfsops_os.h @@ -93,7 +93,6 @@ struct zfsvfs { zfs_teardown_lock_t z_teardown_lock; zfs_teardown_inactive_lock_t z_teardown_inactive_lock; list_t z_all_znodes; /* all vnodes in the fs */ - uint64_t z_nr_znodes; /* number of znodes in the fs */ kmutex_t z_znodes_lock; /* lock for z_all_znodes */ struct zfsctl_root *z_ctldir; /* .zfs directory pointer */ boolean_t z_show_ctldir; /* expose .zfs in the root dir */ diff --git a/sys/contrib/openzfs/include/os/linux/kernel/linux/blkdev_compat.h b/sys/contrib/openzfs/include/os/linux/kernel/linux/blkdev_compat.h index e0f20ba32008..f111e648ccf7 100644 --- a/sys/contrib/openzfs/include/os/linux/kernel/linux/blkdev_compat.h +++ b/sys/contrib/openzfs/include/os/linux/kernel/linux/blkdev_compat.h @@ -347,6 +347,7 @@ zfs_check_media_change(struct block_device *bdev) #define vdev_bdev_reread_part(bdev) zfs_check_media_change(bdev) #elif defined(HAVE_DISK_CHECK_MEDIA_CHANGE) #define vdev_bdev_reread_part(bdev) disk_check_media_change(bdev->bd_disk) +#define zfs_check_media_change(bdev) disk_check_media_change(bdev->bd_disk) #else /* * This is encountered if check_disk_change() and bdev_check_media_change() @@ -397,6 +398,12 @@ vdev_lookup_bdev(const char *path, dev_t *dev) #endif } +#if defined(HAVE_BLK_MODE_T) +#define blk_mode_is_open_write(flag) ((flag) & BLK_OPEN_WRITE) +#else +#define blk_mode_is_open_write(flag) ((flag) & FMODE_WRITE) +#endif + /* * Kernels without bio_set_op_attrs use bi_rw for the bio flags. */ diff --git a/sys/contrib/openzfs/include/os/linux/spl/sys/uio.h b/sys/contrib/openzfs/include/os/linux/spl/sys/uio.h index fe2b5c07a018..cce097e16fbc 100644 --- a/sys/contrib/openzfs/include/os/linux/spl/sys/uio.h +++ b/sys/contrib/openzfs/include/os/linux/spl/sys/uio.h @@ -173,4 +173,16 @@ zfs_uio_iov_iter_init(zfs_uio_t *uio, struct iov_iter *iter, offset_t offset, } #endif +#if defined(HAVE_ITER_IOV) +#define zfs_uio_iter_iov(iter) iter_iov((iter)) +#else +#define zfs_uio_iter_iov(iter) (iter)->iov +#endif + +#if defined(HAVE_IOV_ITER_TYPE) +#define zfs_uio_iov_iter_type(iter) iov_iter_type((iter)) +#else +#define zfs_uio_iov_iter_type(iter) (iter)->type +#endif + #endif /* SPL_UIO_H */ diff --git a/sys/contrib/openzfs/include/os/linux/zfs/sys/zfs_vfsops_os.h b/sys/contrib/openzfs/include/os/linux/zfs/sys/zfs_vfsops_os.h index e320b8de4222..b4d5db21f5e5 100644 --- a/sys/contrib/openzfs/include/os/linux/zfs/sys/zfs_vfsops_os.h +++ b/sys/contrib/openzfs/include/os/linux/zfs/sys/zfs_vfsops_os.h @@ -105,7 +105,6 @@ struct zfsvfs { rrmlock_t z_teardown_lock; krwlock_t z_teardown_inactive_lock; list_t z_all_znodes; /* all znodes in the fs */ - uint64_t z_nr_znodes; /* number of znodes in the fs */ unsigned long z_rollback_time; /* last online rollback time */ unsigned long z_snap_defer_time; /* last snapshot unmount deferral */ kmutex_t z_znodes_lock; /* lock for z_all_znodes */ diff --git a/sys/contrib/openzfs/man/man7/zpoolconcepts.7 b/sys/contrib/openzfs/man/man7/zpoolconcepts.7 index db3fd4926236..98f3ee7cd660 100644 --- a/sys/contrib/openzfs/man/man7/zpoolconcepts.7 +++ b/sys/contrib/openzfs/man/man7/zpoolconcepts.7 @@ -203,11 +203,9 @@ For more information, see the section. .El .Pp -Virtual devices cannot be nested, so a mirror or raidz virtual device can only -contain files or disks. -Mirrors of mirrors -.Pq or other combinations -are not allowed. +Virtual devices cannot be nested arbitrarily. +A mirror, raidz or draid virtual device can only be created with files or disks. +Mirrors of mirrors or other such combinations are not allowed. .Pp A pool can have any number of virtual devices at the top of the configuration .Po known as diff --git a/sys/contrib/openzfs/module/Makefile.in b/sys/contrib/openzfs/module/Makefile.in index 5b71e1abf79e..9b34b3dfaec7 100644 --- a/sys/contrib/openzfs/module/Makefile.in +++ b/sys/contrib/openzfs/module/Makefile.in @@ -168,4 +168,4 @@ gen-zstd-symbols: for obj in $(addprefix zstd/,$(ZSTD_UPSTREAM_OBJS)); do echo; echo "/* $${obj#zstd/}: */"; @OBJDUMP@ -t $$obj | awk '$$2 == "g" && !/ zfs_/ {print "#define\t" $$6 " zfs_" $$6}' | sort; done >> zstd/include/zstd_compat_wrapper.h check-zstd-symbols: - @OBJDUMP@ -t $(addprefix zstd/,$(ZSTD_UPSTREAM_OBJS)) | awk '/file format/ {print} $$2 == "g" && !/ zfs_/ {++ret; print} END {exit ret}' + @OBJDUMP@ -t $(addprefix zstd/,$(ZSTD_UPSTREAM_OBJS)) | awk '/file format/ {print} $$2 == "g" && (!/ zfs_/ && !/ __pfx_zfs_/) {++ret; print} END {exit ret}' diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c index 49b97ae8f590..8969fd6a54bd 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c @@ -1158,7 +1158,6 @@ zfsvfs_free(zfsvfs_t *zfsvfs) mutex_destroy(&zfsvfs->z_znodes_lock); mutex_destroy(&zfsvfs->z_lock); - ASSERT3U(zfsvfs->z_nr_znodes, ==, 0); list_destroy(&zfsvfs->z_all_znodes); ZFS_TEARDOWN_DESTROY(zfsvfs); ZFS_TEARDOWN_INACTIVE_DESTROY(zfsvfs); @@ -1562,12 +1561,11 @@ zfsvfs_teardown(zfsvfs_t *zfsvfs, boolean_t unmounting) * may add the parents of dir-based xattrs to the taskq * so we want to wait for these. * - * We can safely read z_nr_znodes without locking because the - * VFS has already blocked operations which add to the - * z_all_znodes list and thus increment z_nr_znodes. + * We can safely check z_all_znodes for being empty because the + * VFS has already blocked operations which add to it. */ int round = 0; - while (zfsvfs->z_nr_znodes > 0) { + while (!list_is_empty(&zfsvfs->z_all_znodes)) { taskq_wait_outstanding(dsl_pool_zrele_taskq( dmu_objset_pool(zfsvfs->z_os)), 0); if (++round > 1 && !unmounting) diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_znode.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_znode.c index c4f2b722ef4e..0d4c94555c6b 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_znode.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_znode.c @@ -537,7 +537,6 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_buf_t *db, int blksz, mutex_enter(&zfsvfs->z_znodes_lock); list_insert_tail(&zfsvfs->z_all_znodes, zp); - zfsvfs->z_nr_znodes++; zp->z_zfsvfs = zfsvfs; mutex_exit(&zfsvfs->z_znodes_lock); @@ -1286,7 +1285,6 @@ zfs_znode_free(znode_t *zp) mutex_enter(&zfsvfs->z_znodes_lock); POINTER_INVALIDATE(&zp->z_zfsvfs); list_remove(&zfsvfs->z_all_znodes, zp); - zfsvfs->z_nr_znodes--; mutex_exit(&zfsvfs->z_znodes_lock); #if __FreeBSD_version >= 1300139 diff --git a/sys/contrib/openzfs/module/os/linux/spl/spl-proc.c b/sys/contrib/openzfs/module/os/linux/spl/spl-proc.c index 01f5619e1893..f0f929d3ce90 100644 --- a/sys/contrib/openzfs/module/os/linux/spl/spl-proc.c +++ b/sys/contrib/openzfs/module/os/linux/spl/spl-proc.c @@ -47,6 +47,10 @@ static unsigned long table_min = 0; static unsigned long table_max = ~0; static struct ctl_table_header *spl_header = NULL; +#ifndef HAVE_REGISTER_SYSCTL_TABLE +static struct ctl_table_header *spl_kmem = NULL; +static struct ctl_table_header *spl_kstat = NULL; +#endif static struct proc_dir_entry *proc_spl = NULL; static struct proc_dir_entry *proc_spl_kmem = NULL; static struct proc_dir_entry *proc_spl_kmem_slab = NULL; @@ -624,6 +628,7 @@ static struct ctl_table spl_table[] = { .mode = 0644, .proc_handler = &proc_dohostid, }, +#ifdef HAVE_REGISTER_SYSCTL_TABLE { .procname = "kmem", .mode = 0555, @@ -634,9 +639,11 @@ static struct ctl_table spl_table[] = { .mode = 0555, .child = spl_kstat_table, }, +#endif {}, }; +#ifdef HAVE_REGISTER_SYSCTL_TABLE static struct ctl_table spl_dir[] = { { .procname = "spl", @@ -648,21 +655,64 @@ static struct ctl_table spl_dir[] = { static struct ctl_table spl_root[] = { { - .procname = "kernel", - .mode = 0555, - .child = spl_dir, + .procname = "kernel", + .mode = 0555, + .child = spl_dir, }, {} }; +#endif + +static void spl_proc_cleanup(void) +{ + remove_proc_entry("kstat", proc_spl); + remove_proc_entry("slab", proc_spl_kmem); + remove_proc_entry("kmem", proc_spl); + remove_proc_entry("taskq-all", proc_spl); + remove_proc_entry("taskq", proc_spl); + remove_proc_entry("spl", NULL); + +#ifndef HAVE_REGISTER_SYSCTL_TABLE + if (spl_kstat) { + unregister_sysctl_table(spl_kstat); + spl_kstat = NULL; + } + if (spl_kmem) { + unregister_sysctl_table(spl_kmem); + spl_kmem = NULL; + } +#endif + if (spl_header) { + unregister_sysctl_table(spl_header); + spl_header = NULL; + } +} int spl_proc_init(void) { int rc = 0; +#ifdef HAVE_REGISTER_SYSCTL_TABLE spl_header = register_sysctl_table(spl_root); if (spl_header == NULL) return (-EUNATCH); +#else + spl_header = register_sysctl("kernel/spl", spl_table); + if (spl_header == NULL) + return (-EUNATCH); + + spl_kmem = register_sysctl("kernel/spl/kmem", spl_kmem_table); + if (spl_kmem == NULL) { + rc = -EUNATCH; + goto out; + } + spl_kstat = register_sysctl("kernel/spl/kstat", spl_kstat_table); + if (spl_kstat == NULL) { + rc = -EUNATCH; + goto out; + } +#endif proc_spl = proc_mkdir("spl", NULL); if (proc_spl == NULL) { @@ -703,15 +753,8 @@ spl_proc_init(void) goto out; } out: - if (rc) { - remove_proc_entry("kstat", proc_spl); - remove_proc_entry("slab", proc_spl_kmem); - remove_proc_entry("kmem", proc_spl); - remove_proc_entry("taskq-all", proc_spl); - remove_proc_entry("taskq", proc_spl); - remove_proc_entry("spl", NULL); - unregister_sysctl_table(spl_header); - } + if (rc) + spl_proc_cleanup(); return (rc); } @@ -719,13 +762,5 @@ out: void spl_proc_fini(void) { - remove_proc_entry("kstat", proc_spl); - remove_proc_entry("slab", proc_spl_kmem); - remove_proc_entry("kmem", proc_spl); - remove_proc_entry("taskq-all", proc_spl); - remove_proc_entry("taskq", proc_spl); - remove_proc_entry("spl", NULL); - - ASSERT(spl_header != NULL); - unregister_sysctl_table(spl_header); + spl_proc_cleanup(); } diff --git a/sys/contrib/openzfs/module/os/linux/zfs/vdev_disk.c b/sys/contrib/openzfs/module/os/linux/zfs/vdev_disk.c index 925ee9d9fe9c..48ac55f07034 100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/vdev_disk.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/vdev_disk.c @@ -80,9 +80,22 @@ typedef struct dio_request { static unsigned int zfs_vdev_failfast_mask = 1; +#ifdef HAVE_BLK_MODE_T +static blk_mode_t +#else static fmode_t +#endif vdev_bdev_mode(spa_mode_t spa_mode) { +#ifdef HAVE_BLK_MODE_T + blk_mode_t mode = 0; + + if (spa_mode & SPA_MODE_READ) + mode |= BLK_OPEN_READ; + + if (spa_mode & SPA_MODE_WRITE) + mode |= BLK_OPEN_WRITE; +#else fmode_t mode = 0; if (spa_mode & SPA_MODE_READ) @@ -90,6 +103,7 @@ vdev_bdev_mode(spa_mode_t spa_mode) if (spa_mode & SPA_MODE_WRITE) mode |= FMODE_WRITE; +#endif return (mode); } @@ -197,12 +211,47 @@ vdev_disk_kobj_evt_post(vdev_t *v) } } +#if !defined(HAVE_BLKDEV_GET_BY_PATH_4ARG) +/* + * Define a dummy struct blk_holder_ops for kernel versions + * prior to 6.5. + */ +struct blk_holder_ops {}; +#endif + +static struct block_device * +vdev_blkdev_get_by_path(const char *path, spa_mode_t mode, void *holder, + const struct blk_holder_ops *hops) +{ +#ifdef HAVE_BLKDEV_GET_BY_PATH_4ARG + return (blkdev_get_by_path(path, + vdev_bdev_mode(mode) | BLK_OPEN_EXCL, holder, hops)); +#else + return (blkdev_get_by_path(path, + vdev_bdev_mode(mode) | FMODE_EXCL, holder)); +#endif +} + +static void +vdev_blkdev_put(struct block_device *bdev, spa_mode_t mode, void *holder) +{ +#ifdef HAVE_BLKDEV_PUT_HOLDER + return (blkdev_put(bdev, holder)); +#else + return (blkdev_put(bdev, vdev_bdev_mode(mode) | FMODE_EXCL)); +#endif +} + static int vdev_disk_open(vdev_t *v, uint64_t *psize, uint64_t *max_psize, uint64_t *logical_ashift, uint64_t *physical_ashift) { struct block_device *bdev; +#ifdef HAVE_BLK_MODE_T + blk_mode_t mode = vdev_bdev_mode(spa_mode(v->vdev_spa)); +#else fmode_t mode = vdev_bdev_mode(spa_mode(v->vdev_spa)); +#endif hrtime_t timeout = MSEC2NSEC(zfs_vdev_open_timeout_ms); vdev_disk_t *vd; @@ -252,15 +301,15 @@ vdev_disk_open(vdev_t *v, uint64_t *psize, uint64_t *max_psize, reread_part = B_TRUE; } - blkdev_put(bdev, mode | FMODE_EXCL); + vdev_blkdev_put(bdev, mode, zfs_vdev_holder); } if (reread_part) { - bdev = blkdev_get_by_path(disk_name, mode | FMODE_EXCL, - zfs_vdev_holder); + bdev = vdev_blkdev_get_by_path(disk_name, mode, + zfs_vdev_holder, NULL); if (!IS_ERR(bdev)) { int error = vdev_bdev_reread_part(bdev); - blkdev_put(bdev, mode | FMODE_EXCL); + vdev_blkdev_put(bdev, mode, zfs_vdev_holder); if (error == 0) { timeout = MSEC2NSEC( zfs_vdev_open_timeout_ms * 2); @@ -305,8 +354,8 @@ vdev_disk_open(vdev_t *v, uint64_t *psize, uint64_t *max_psize, hrtime_t start = gethrtime(); bdev = ERR_PTR(-ENXIO); while (IS_ERR(bdev) && ((gethrtime() - start) < timeout)) { - bdev = blkdev_get_by_path(v->vdev_path, mode | FMODE_EXCL, - zfs_vdev_holder); + bdev = vdev_blkdev_get_by_path(v->vdev_path, mode, + zfs_vdev_holder, NULL); if (unlikely(PTR_ERR(bdev) == -ENOENT)) { /* * There is no point of waiting since device is removed @@ -382,8 +431,8 @@ vdev_disk_close(vdev_t *v) return; if (vd->vd_bdev != NULL) { - blkdev_put(vd->vd_bdev, - vdev_bdev_mode(spa_mode(v->vdev_spa)) | FMODE_EXCL); + vdev_blkdev_put(vd->vd_bdev, spa_mode(v->vdev_spa), + zfs_vdev_holder); } rw_destroy(&vd->vd_lock); diff --git a/sys/contrib/openzfs/module/os/linux/zfs/zfs_ctldir.c b/sys/contrib/openzfs/module/os/linux/zfs/zfs_ctldir.c index c45a3eb5a4eb..02cb379ea840 100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/zfs_ctldir.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/zfs_ctldir.c @@ -537,7 +537,6 @@ zfsctl_inode_alloc(zfsvfs_t *zfsvfs, uint64_t id, mutex_enter(&zfsvfs->z_znodes_lock); list_insert_tail(&zfsvfs->z_all_znodes, zp); - zfsvfs->z_nr_znodes++; membar_producer(); mutex_exit(&zfsvfs->z_znodes_lock); diff --git a/sys/contrib/openzfs/module/os/linux/zfs/zfs_vfsops.c b/sys/contrib/openzfs/module/os/linux/zfs/zfs_vfsops.c index 464c12e1108d..a1db5c57c18b 100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/zfs_vfsops.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/zfs_vfsops.c @@ -1330,12 +1330,11 @@ zfsvfs_teardown(zfsvfs_t *zfsvfs, boolean_t unmounting) * may add the parents of dir-based xattrs to the taskq * so we want to wait for these. * - * We can safely read z_nr_znodes without locking because the - * VFS has already blocked operations which add to the - * z_all_znodes list and thus increment z_nr_znodes. + * We can safely check z_all_znodes for being empty because the + * VFS has already blocked operations which add to it. */ int round = 0; - while (zfsvfs->z_nr_znodes > 0) { + while (!list_is_empty(&zfsvfs->z_all_znodes)) { taskq_wait_outstanding(dsl_pool_zrele_taskq( dmu_objset_pool(zfsvfs->z_os)), 0); if (++round > 1 && !unmounting) diff --git a/sys/contrib/openzfs/module/os/linux/zfs/zfs_vnops_os.c b/sys/contrib/openzfs/module/os/linux/zfs/zfs_vnops_os.c index 234c4d5ef0e0..33baac9db06b 100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/zfs_vnops_os.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/zfs_vnops_os.c @@ -186,7 +186,7 @@ zfs_open(struct inode *ip, int mode, int flag, cred_t *cr) return (error); /* Honor ZFS_APPENDONLY file attribute */ - if ((mode & FMODE_WRITE) && (zp->z_pflags & ZFS_APPENDONLY) && + if (blk_mode_is_open_write(mode) && (zp->z_pflags & ZFS_APPENDONLY) && ((flag & O_APPEND) == 0)) { zfs_exit(zfsvfs, FTAG); return (SET_ERROR(EPERM)); diff --git a/sys/contrib/openzfs/module/os/linux/zfs/zfs_znode.c b/sys/contrib/openzfs/module/os/linux/zfs/zfs_znode.c index 335ae3460c58..52c8e51df659 100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/zfs_znode.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/zfs_znode.c @@ -390,7 +390,6 @@ zfs_inode_destroy(struct inode *ip) mutex_enter(&zfsvfs->z_znodes_lock); if (list_link_active(&zp->z_link_node)) { list_remove(&zfsvfs->z_all_znodes, zp); - zfsvfs->z_nr_znodes--; } mutex_exit(&zfsvfs->z_znodes_lock); @@ -641,7 +640,6 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_buf_t *db, int blksz, mutex_enter(&zfsvfs->z_znodes_lock); list_insert_tail(&zfsvfs->z_all_znodes, zp); - zfsvfs->z_nr_znodes++; mutex_exit(&zfsvfs->z_znodes_lock); if (links > 0) diff --git a/sys/contrib/openzfs/module/os/linux/zfs/zpl_ctldir.c b/sys/contrib/openzfs/module/os/linux/zfs/zpl_ctldir.c index 68a7de78f471..7786444fea35 100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/zpl_ctldir.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/zpl_ctldir.c @@ -42,7 +42,7 @@ static int zpl_common_open(struct inode *ip, struct file *filp) { - if (filp->f_mode & FMODE_WRITE) + if (blk_mode_is_open_write(filp->f_mode)) return (-EACCES); return (generic_file_open(ip, filp)); diff --git a/sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c b/sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c index 73526db731c4..3caa0fc6c214 100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c @@ -301,15 +301,10 @@ zpl_uio_init(zfs_uio_t *uio, struct kiocb *kiocb, struct iov_iter *to, #if defined(HAVE_VFS_IOV_ITER) zfs_uio_iov_iter_init(uio, to, pos, count, skip); #else -#ifdef HAVE_IOV_ITER_TYPE - zfs_uio_iovec_init(uio, to->iov, to->nr_segs, pos, - iov_iter_type(to) & ITER_KVEC ? UIO_SYSSPACE : UIO_USERSPACE, + zfs_uio_iovec_init(uio, zfs_uio_iter_iov(to), to->nr_segs, pos, + zfs_uio_iov_iter_type(to) & ITER_KVEC ? + UIO_SYSSPACE : UIO_USERSPACE, count, skip); -#else - zfs_uio_iovec_init(uio, to->iov, to->nr_segs, pos, - to->type & ITER_KVEC ? UIO_SYSSPACE : UIO_USERSPACE, - count, skip); -#endif #endif } @@ -1328,7 +1323,11 @@ const struct file_operations zpl_file_operations = { .read_iter = zpl_iter_read, .write_iter = zpl_iter_write, #ifdef HAVE_VFS_IOV_ITER +#ifdef HAVE_COPY_SPLICE_READ + .splice_read = copy_splice_read, +#else .splice_read = generic_file_splice_read, +#endif .splice_write = iter_file_splice_write, #endif #else diff --git a/sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c b/sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c index 38bc8e2c4eeb..7a95b54bdf0d 100644 --- a/sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c +++ b/sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c @@ -671,7 +671,11 @@ zvol_request(struct request_queue *q, struct bio *bio) } static int +#ifdef HAVE_BLK_MODE_T +zvol_open(struct gendisk *disk, blk_mode_t flag) +#else zvol_open(struct block_device *bdev, fmode_t flag) +#endif { zvol_state_t *zv; int error = 0; @@ -686,10 +690,14 @@ retry: /* * Obtain a copy of private_data under the zvol_state_lock to make * sure that either the result of zvol free code path setting - * bdev->bd_disk->private_data to NULL is observed, or zvol_os_free() + * disk->private_data to NULL is observed, or zvol_os_free() * is not called on this zv because of the positive zv_open_count. */ +#ifdef HAVE_BLK_MODE_T + zv = disk->private_data; +#else zv = bdev->bd_disk->private_data; +#endif if (zv == NULL) { rw_exit(&zvol_state_lock); return (SET_ERROR(-ENXIO)); @@ -769,14 +777,15 @@ retry: } } - error = -zvol_first_open(zv, !(flag & FMODE_WRITE)); + error = -zvol_first_open(zv, !(blk_mode_is_open_write(flag))); if (drop_namespace) mutex_exit(&spa_namespace_lock); } if (error == 0) { - if ((flag & FMODE_WRITE) && (zv->zv_flags & ZVOL_RDONLY)) { + if ((blk_mode_is_open_write(flag)) && + (zv->zv_flags & ZVOL_RDONLY)) { if (zv->zv_open_count == 0) *** 204 LINES SKIPPED *** From nobody Sun Sep 24 21:46:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02Z69dvz4tX5Z; Sun, 24 Sep 2023 21: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 4Rv02Z5TNPz4Z2v; Sun, 24 Sep 2023 21: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=1695592006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M4pC4K86M0CfrLuGw5+WNlKfpYK82853FQkmsbwl3fU=; b=FDs4ftyYvmmn48RiytD+M7+1HYSrhNe60+B0FfrFCszXiVcrtWZ7mW7EhPAWUmwoJmim+V 375IpYtD2GYaMVcpDw5BTFjgovp54p9oB9v9C0pQxuhLC7wL0rzD/S0KoRfzRBYnRiZQuA OrLwvuBNb94efn/o/uSBz5nSrVT8MchRrfJWQ2zBGrHgNXoWc7N+WEd/PtrKHtuG0DGo8N GZdkp3hHxW9lLBNbok7D7f0CMn3L3q1ASIVsrVwtBN9mYi/Irl3tM5gSkdOdk1AyY0+H2J Gfy2Pm3QnBzqlKsTjmcrAJJngge8c0Fprj3i6vhfmgHoCN3ywITZ2NEzAZhJpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592006; a=rsa-sha256; cv=none; b=a5xcTAqgKjbTWhAktX7NnTCqcCEE+Ry8BfCAtV9rG+/0AjuxGvHc9Lkou8VKpcGq9kna0h IJwIZRmOynYvat4bQNwEdWEuKrFI2w3/gDGaOsu+4hEH0m/cUlum0JUIp9MIJtBCywjPY9 ksN5XTMn1K7lTIOfKctGuQJu1j1abOn026Tqmf8ynGVwIeU90HWEfAU35IYFnsHSiAFg8B wBmpPzLg1zI8ShO/5gLqhe9kiCMBsgRAaqQiKqB6BCETaVE2+OYsLNBT4neqdytFRFvNZl iQsYj2OuCmw3tfYTU1rxWLT+N9UCeaN3EGnHG5U1jWs3VG/o+uzrcXmBOJd1FA== 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=1695592006; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M4pC4K86M0CfrLuGw5+WNlKfpYK82853FQkmsbwl3fU=; b=A4ehjxsAowFHnMg4u2sKDfIi2zEuwJgCsr1056USKh3IX3NPMo4aYssNGmpmfpf1KcAhhD u6ElvMWCs7R9XVRvQAoHl/ZRnQKUuUewGNCYixOFvCSsWGuSeMtK7GJVr5JoaMidFXvgsj vBFelMeDYd9hSyT4xpQ7nguJc4gYVqya7ihPo/09Hd3H58pkHlev4IjTzSwcZsznX0JjMs hhYlOokEaM5nlFaP18EWexjBWnB9JHDVhaEmnslQKfm8TGce3zxCZrAC6zS6TnJMbJMVu1 rhGrM46Pg3AVyPndd6hLYZTer4MJ0NkJmX2rIKEzxL/GDxeA19BHLSY8J2UwJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02Z4XKVz13ff; Sun, 24 Sep 2023 21: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 38OLkkxp030279; Sun, 24 Sep 2023 21: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 38OLkkBW030276; Sun, 24 Sep 2023 21:46:46 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:46 GMT Message-Id: <202309242146.38OLkkBW030276@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: fb4c1757a920 - releng/14.0 - drm2: whack set-but-not-used warns List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: fb4c1757a920be7194fed954e799cfd2a0959be0 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=fb4c1757a920be7194fed954e799cfd2a0959be0 commit fb4c1757a920be7194fed954e799cfd2a0959be0 Author: Mateusz Guzik AuthorDate: 2023-09-18 21:11:26 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:45:06 +0000 drm2: whack set-but-not-used warns immediate MFC to unbreak the build Approved by: re (gjb) (cherry picked from commit c9130a46bca272492b4f29429ed340504b8eced7) (cherry picked from commit be6f70428d6c918998e5430d2b60b9a8897ea9d8) --- sys/dev/drm2/drm_fops.c | 2 +- sys/dev/drm2/ttm/ttm_lock.c | 2 +- sys/dev/drm2/ttm/ttm_tt.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/drm2/drm_fops.c b/sys/dev/drm2/drm_fops.c index 5d040e92ed12..316d21a8e731 100644 --- a/sys/dev/drm2/drm_fops.c +++ b/sys/dev/drm2/drm_fops.c @@ -536,7 +536,7 @@ void drm_event_wakeup(struct drm_pending_event *e) { struct drm_file *file_priv; - struct drm_device *dev; + struct drm_device *dev __diagused; file_priv = e->file_priv; dev = file_priv->minor->dev; diff --git a/sys/dev/drm2/ttm/ttm_lock.c b/sys/dev/drm2/ttm/ttm_lock.c index 9a8cafbf2abc..1884acb12118 100644 --- a/sys/dev/drm2/ttm/ttm_lock.c +++ b/sys/dev/drm2/ttm/ttm_lock.c @@ -245,7 +245,7 @@ static void ttm_vt_lock_remove(struct ttm_base_object **p_base) { struct ttm_base_object *base = *p_base; struct ttm_lock *lock = container_of(base, struct ttm_lock, base); - int ret; + int ret __diagused; *p_base = NULL; ret = __ttm_vt_unlock(lock); diff --git a/sys/dev/drm2/ttm/ttm_tt.c b/sys/dev/drm2/ttm/ttm_tt.c index 55131c73bdc3..d52df50adeb3 100644 --- a/sys/dev/drm2/ttm/ttm_tt.c +++ b/sys/dev/drm2/ttm/ttm_tt.c @@ -243,7 +243,7 @@ void ttm_dma_tt_fini(struct ttm_dma_tt *ttm_dma) void ttm_tt_unbind(struct ttm_tt *ttm) { - int ret; + int ret __diagused; if (ttm->state == tt_bound) { ret = ttm->func->unbind(ttm); From nobody Sun Sep 24 21:46:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02b71fCz4tX89; Sun, 24 Sep 2023 21:46: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 4Rv02b6Rdmz4Ys8; Sun, 24 Sep 2023 21:46:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W9LM3rfhSVlF/BkaVxDnU2UlcrtWDPgpMbhKeC6tLhI=; b=aAqcDNyWt7AOsQpdRIr/ldgPDJZy7vYsv2TrfbF9BmRMwUZl+5FWpJkv5tnQaiNeM2Ofyy E3jXgG82rY4q2RX4P+6pULLkvOpiYoHUqOqyRIQh5SYX1oYtrGIWpqWwuimQHjieaYjiUE 1vEGut5bF35U9HACWHfkriMDscPjLCVyGWmvgLiUn4obreLF+G0i/jaZTkpX+U0mERvGMd AF7kwV0Z4IJmBW3OUrgHNFqRT2oKHyMK0wTIm7u4BA3DPdxsT1elFzYjzfQ3JOpd9wmVfX LBrKj7BW89UOS2YVCjEKYY65QOYdimDhZD7TGeUC4OBUrOgan096wgF0ZnfDpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592007; a=rsa-sha256; cv=none; b=ck/VIiZP/P0cRqFDEUD1IFPWXDZbtqUiJEaoLVxFNUubqa5m0EcCi+DtS/ZxVA8545UIOy t2RmQLRQ/UusoqmQklQXnMsqMJyHXYpK/2nllcW/p5M8DVIP/VO5jJKg/qyjfGkEIj6pLW qEVO/1WO1f5SERx+kqjcrACoT6HAZIZ0mRUX1+oKLPKpJwtlStFbVo74pq0Pt1r732aZ3Q 9CtU6rBSxMNIePt+9h6wCZj/PKAVc+lJVv1CldYLH/tYBu4AXXAESa3mubMW+t10Mb1kik op4oEr5YD0qxTuK3aS0yCB02zSL2ssXifeY8ozMbAfPsHHjs36bFCf5sltWdjg== 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=1695592007; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W9LM3rfhSVlF/BkaVxDnU2UlcrtWDPgpMbhKeC6tLhI=; b=HpHwSLshLkFNnfeWeXYbnoHDSrtkRpVzF3Nk9xKaikqergKsrGx3hdGRHHgPRNj7s8Np2v jydDCgR4MYWJ4XZSUsiyfeqEkAjwma3SWOj1wcCiHhgFHxQnnh37tVqO28tBHf19kwFRBr 57JSGm97q2fz0ovdqEb+3eGg7IPReQ47Ye9GvYZ5YnpSjYLxgR2UxgU/9j8Z5hOmsubPc5 TA4/lGqkK59y95PwwZfcvCGu+P/ZGLEmd06+uq4MfuD2WhIJMybFESEAG8g8DZzoxvRTPt d0zNon8t4Bg0fWUnFs0OSwrAIkvwwSi4C3Okd/Mdio7VeJbnyWCIo3EMDJUYeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02b5YS7z13fg; Sun, 24 Sep 2023 21:46: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 38OLkl68030348; Sun, 24 Sep 2023 21:46:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLkluf030345; Sun, 24 Sep 2023 21:46:47 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:47 GMT Message-Id: <202309242146.38OLkluf030345@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 2701cbf16165 - releng/14.0 - vfs cache: fix a hang when bumping vnode limit too high List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 2701cbf16165adbd782c6eea816d4b7214a1d2b8 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=2701cbf16165adbd782c6eea816d4b7214a1d2b8 commit 2701cbf16165adbd782c6eea816d4b7214a1d2b8 Author: Mateusz Guzik AuthorDate: 2023-09-02 14:27:33 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:45:23 +0000 vfs cache: fix a hang when bumping vnode limit too high Overflow in cache_changesize would make the value flip to 0 and stay there as 0 << 1 does not do anything. Note callers limit the outcome to something below u_int. Also note there entire vnode handling thing both in vfs layer as a whole and this file can't decide whether to long, u_long or u_int. Approved by: re (gjb) (cherry picked from commit 32988c1499f8698b41e15ed40a46d271e757bba3) (cherry picked from commit 41fad6503c1e5259e65d4f14110a5decb7653b02) --- sys/kern/vfs_cache.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 92c926a16afb..5b0cd64146ad 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -2597,10 +2597,10 @@ cache_enter_time_flags(struct vnode *dvp, struct vnode *vp, struct componentname cache_enter_time(dvp, vp, cnp, tsp, dtsp); } -static u_int -cache_roundup_2(u_int val) +static u_long +cache_roundup_2(u_long val) { - u_int res; + u_long res; for (res = 1; res <= val; res <<= 1) continue; @@ -2616,7 +2616,7 @@ nchinittbl(u_long elements, u_long *hashmask) hashsize = cache_roundup_2(elements) / 2; - hashtbl = malloc((u_long)hashsize * sizeof(*hashtbl), M_VFSCACHE, M_WAITOK); + hashtbl = malloc(hashsize * sizeof(*hashtbl), M_VFSCACHE, M_WAITOK); for (i = 0; i < hashsize; i++) CK_SLIST_INIT(&hashtbl[i]); *hashmask = hashsize - 1; @@ -2762,7 +2762,7 @@ cache_changesize(u_long newmaxvnodes) struct namecache *ncp; uint32_t hash; u_long newncsize; - int i; + u_long i; newncsize = newmaxvnodes * ncsizefactor; newmaxvnodes = cache_roundup_2(newmaxvnodes * 2); From nobody Sun Sep 24 21:46:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02d0sC0z4tWfr; Sun, 24 Sep 2023 21:46: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 4Rv02d04Lgz4Ymf; Sun, 24 Sep 2023 21:46:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=exRroulhWS+3yf8+DNuZolB/Ltf4WMaPMaSu10VbdfU=; b=VMwEVZTC5Y/t6USEcOuXkRWzwR+qn7mHznNwphdXIfLfLdPZ9CRD+W5dxd5r1nagdgCveI GSjLsf70fQCmgNqbOck9x6NCRPUnrtCE5pcY+Ubaqo4rOQ1ZGa4/BcUFBmQuODAHiN4nTp iQ88MnzxOBTcgbT3qdc3uZkA/Z5xzLF59ithDcFF1/zxwZ7jk0F/Q/RB/ZCrkExh34S/HR pfW5VBxeSWbUhrF+0keID4zBE89fn1E2qnPGVkTBXAMgfgdid3rz2uaUdjWwMXk+pv0MeO X1w7ZIqd2gwIO1RuFYLA6n4ouu5JZLh/hwWz89VJTlEvZiEGgH/nV7lQcqV2/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592009; a=rsa-sha256; cv=none; b=WhMzglcpIlmljHsrFRNWfwEhCAf4zqdI1RjSzyLo+PQ0y9AP6fuGk6fzmgp7jxRZ42EBbW Bl1e/nBtv2kc0O5bW1RztrHMfZBMhWIc8+GaBL5OwdDxF71Gk3jRUfnbrHxuQGXe+jwEWm Wb/BiN/xY7R+mMIYdFgS+Z7s5lGUrxZu+B826A5MTo/ZbtZZch0/7pwKm/ae8wZhCox7Za O0Ly3Cb6Zw8c8pDnItcIKP8dqT5NgPcb0RIain5axHAj2aV5KRWCDwqMUoj5v4Prv+li2n aLUCfoia1NE32bNL9QeadGqxH/EwYG60+z2LXcEC6boEjzlMcyCnFxDEGuOItQ== 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=1695592009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=exRroulhWS+3yf8+DNuZolB/Ltf4WMaPMaSu10VbdfU=; b=jg9nV5X4hchemKWMOW7JmJwSk6skIcziF9FHdYqbWbFngQX6Lm/XDqjeXXEicXM1d/MHe2 Lgy9lnO9miq1fjh3CJgBSewjMRJVCoHqj7AOwTyZdc3dbKzOAMBhSLaq2Qoxk4BwbpwrI2 a+18vOcEDo42mcAZcnVcFFbuj2YvIxwJuzJLH1gNFmvlqepkOzt6ShurHuNt3QQqUjOy/B rrkBpY/08eBNNzaAUIrLfhDGH8h3iY1OdLN+HSRNed8BuMCZALoyJKoSzZ1O+UMLEH53nM eUw5IoacIsak/b3KmOLOA5IhdRGktGbh4SLB5/Lyw4VyNgtxxAYydOxdiVX8BQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02c6Hb1z13hy; Sun, 24 Sep 2023 21:46: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 38OLkmLD030399; Sun, 24 Sep 2023 21:46:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLkmud030396; Sun, 24 Sep 2023 21:46:48 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:48 GMT Message-Id: <202309242146.38OLkmud030396@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: efc027d99c76 - releng/14.0 - ufs: restore name cache fast path lookup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: efc027d99c76dd8d4d1a7de232142c7d54632faf Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=efc027d99c76dd8d4d1a7de232142c7d54632faf commit efc027d99c76dd8d4d1a7de232142c7d54632faf Author: Mateusz Guzik AuthorDate: 2023-09-09 21:48:57 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:45:27 +0000 ufs: restore name cache fast path lookup Found by: dchagin Fixes: f3c81b973897 ("ufs: add missing vop_fplookup ops") Approved by: re (gjb) (cherry picked from commit a87c6962affc2d1994d8f30806c934eb4cb7af22) (cherry picked from commit 25d8cf225ac29bb450bf52866aa6d169b9193178) --- sys/ufs/ffs/ffs_vnops.c | 6 ++++-- sys/ufs/ufs/ufs_vnops.c | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index 0dd64f696e0c..2b11a15c46c9 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -135,6 +135,8 @@ static vop_setextattr_t ffs_setextattr; static vop_vptofh_t ffs_vptofh; static vop_vput_pair_t ffs_vput_pair; +vop_fplookup_vexec_t ufs_fplookup_vexec; + /* Global vfs data structures for ufs. */ struct vop_vector ffs_vnodeops1 = { .vop_default = &ufs_vnodeops, @@ -151,7 +153,7 @@ struct vop_vector ffs_vnodeops1 = { .vop_write = ffs_write, .vop_vptofh = ffs_vptofh, .vop_vput_pair = ffs_vput_pair, - .vop_fplookup_vexec = VOP_EAGAIN, + .vop_fplookup_vexec = ufs_fplookup_vexec, .vop_fplookup_symlink = VOP_EAGAIN, }; VFS_VOP_VECTOR_REGISTER(ffs_vnodeops1); @@ -192,7 +194,7 @@ struct vop_vector ffs_vnodeops2 = { .vop_setextattr = ffs_setextattr, .vop_vptofh = ffs_vptofh, .vop_vput_pair = ffs_vput_pair, - .vop_fplookup_vexec = VOP_EAGAIN, + .vop_fplookup_vexec = ufs_fplookup_vexec, .vop_fplookup_symlink = VOP_EAGAIN, }; VFS_VOP_VECTOR_REGISTER(ffs_vnodeops2); diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index a7d5e8ba96fc..79cca75fc563 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -101,7 +101,7 @@ VFS_SMR_DECLARE; #include static vop_accessx_t ufs_accessx; -static vop_fplookup_vexec_t ufs_fplookup_vexec; +vop_fplookup_vexec_t ufs_fplookup_vexec; static int ufs_chmod(struct vnode *, int, struct ucred *, struct thread *); static int ufs_chown(struct vnode *, uid_t, gid_t, struct ucred *, struct thread *); @@ -475,7 +475,7 @@ ufs_accessx( * VOP_FPLOOKUP_VEXEC routines are subject to special circumstances, see * the comment above cache_fplookup for details. */ -static int +int ufs_fplookup_vexec( struct vop_fplookup_vexec_args /* { struct vnode *a_vp; From nobody Sun Sep 24 21:46:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02f2FpBz4tWjN; Sun, 24 Sep 2023 21:46: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 4Rv02f1Wrgz4ZFX; Sun, 24 Sep 2023 21:46:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9QSx/LXuVAClD9+8q7i6FxDKbIZE5u2+C5Ud3nlKpn4=; b=DnkX01S7xbod2eTXeNFlpLFnwqrrVelz9m6xoYnixXfmaeGWU1wXjssknqrmSsOl98D1q3 fw4/c6jJdUwKpCyn6i0T7NFbOEyxK+w74cC8YhZUIXhBc/EMtzxqENzISbhF/6QBwcfOD7 RcZAyylKTjBuyquMD376tHHvlF21Ae/v2K5cPuso5kItFxtlPknZR8PlUP/xsIiW6AVqnV zxYy4WZv2grmNQv1ef7i6UqfRr1K949SnfAqFebeLYvJvJjcyfM/FxlNWuN+GvW/QPPDkq RLV2upzM8ieVjURQ1M33WbsJiU0Zib1+FanbRRFov9tJpTtaBPdIiZFFoppiMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592010; a=rsa-sha256; cv=none; b=lQxNI6riaZ/AG9R3iqeSDZigl62m4ZRrZE/TCoDrc1BsCkE3wU6vwFxuRZHqcsITsVVkt2 9vecEj1pZADSsQ2TDuAbvKqWgH6UHiN3H1rcb2M0JATp0ZtJGZMFoQw3jcbOGQKNQptlQl pgd2pE7L/ZLtIMgV3Ja5DZW9TtSJCuNUC4PJO4pUA8vmKYQFivg9KoGtAXIG8KZG/Mizh6 qnaPlpImE5AnnmpIWmWr4qiqXPYFii4VKaq90gVYezh/rinRZqj5bI6vZ9KK64Iv8fEPG+ AJBuAqGf0iegYkC1H+959iF6plpoZmrxVqu4HFZCwuJAD0ekvyoNsTTAOjj0yQ== 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=1695592010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9QSx/LXuVAClD9+8q7i6FxDKbIZE5u2+C5Ud3nlKpn4=; b=V7NLEJLdOe2qeIlcKOiEYveph8frAF3wzQEQ1vUE/UxBljM7XjIhlpoBHdI1fhsDKf10Gk wj5Ih3ajy8YBPoHrQeHIJ/wGPJ+Wlrojjs6BSM8JXKf9wo0KKZgeOZZcDEpuPp+l6ErW4a fMF4HGrTBNB5Qnn5NdGfGK7TJWc2//PKu+nR8bgCbJJo0d8R/Z9cA0nx8lB2FbM2k3JQSo Rq7YwTcIHxE/CkPH1xh9UA/meYEdYHfFqLA8EI9rXGA2clhSQQ1c7ys1qyReJ7KihUGV/s Q5q5s2SP7unmYgHAfNH+5XRGLcbkfnK8pqYTPWgHwMRnQ1SdwBuIQrsfWkFjMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02f0VwCz13fh; Sun, 24 Sep 2023 21:46: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 38OLknVt030467; Sun, 24 Sep 2023 21:46:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLknQS030464; Sun, 24 Sep 2023 21:46:49 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:49 GMT Message-Id: <202309242146.38OLknQS030464@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: aeb0da3771a5 - releng/14.0 - vfs: drop one vnode list lock trip during vnlru free recycle List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: aeb0da3771a504de37c2311ea838b0edc9fdee98 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=aeb0da3771a504de37c2311ea838b0edc9fdee98 commit aeb0da3771a504de37c2311ea838b0edc9fdee98 Author: Mateusz Guzik AuthorDate: 2023-09-14 14:35:40 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:45:35 +0000 vfs: drop one vnode list lock trip during vnlru free recycle vnlru_free_impl would take the lock prior to returning even though most frequent caller does not need it. Unsurprisingly vnode_list mtx is the primary bottleneck when recycling and avoiding the useless lock trip helps. Setting maxvnodes to 400000 and running 20 parallel finds each with a dedicated directory tree of 1 million vnodes in total: before: 4.50s user 1225.71s system 1979% cpu 1:02.14 total after: 4.20s user 806.23s system 1973% cpu 41.059 total That's 34% reduction in total real time. With this the block *remains* the primary bottleneck when running on ZFS. Approved by: re (gjb) (cherry picked from commit 74be676d87745eb727642f6f8329236c848929d5) (cherry picked from commit 206dd9d1a82df140a6071545a2dc558e8d9f5ad0) --- sys/kern/vfs_subr.c | 43 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 1c6827ba0587..80ec15f78028 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1290,13 +1290,14 @@ vnlru_free_impl(int count, struct vfsops *mnt_op, struct vnode *mvp) mtx_assert(&vnode_list_mtx, MA_OWNED); if (count > max_vnlru_free) count = max_vnlru_free; + if (count == 0) { + mtx_unlock(&vnode_list_mtx); + return (0); + } ocount = count; retried = false; vp = mvp; for (;;) { - if (count == 0) { - break; - } vp = TAILQ_NEXT(vp, v_vnodelist); if (__predict_false(vp == NULL)) { /* @@ -1319,6 +1320,7 @@ vnlru_free_impl(int count, struct vfsops *mnt_op, struct vnode *mvp) */ TAILQ_REMOVE(&vnode_list, mvp, v_vnodelist); TAILQ_INSERT_TAIL(&vnode_list, mvp, v_vnodelist); + mtx_unlock(&vnode_list_mtx); break; } if (__predict_false(vp->v_type == VMARKER)) @@ -1366,18 +1368,28 @@ vnlru_free_impl(int count, struct vfsops *mnt_op, struct vnode *mvp) */ vtryrecycle(vp); count--; + if (count == 0) { + break; + } mtx_lock(&vnode_list_mtx); vp = mvp; } + mtx_assert(&vnode_list_mtx, MA_NOTOWNED); return (ocount - count); } +/* + * XXX: returns without vnode_list_mtx locked! + */ static int vnlru_free_locked(int count) { + int ret; mtx_assert(&vnode_list_mtx, MA_OWNED); - return (vnlru_free_impl(count, NULL, vnode_list_free_marker)); + ret = vnlru_free_impl(count, NULL, vnode_list_free_marker); + mtx_assert(&vnode_list_mtx, MA_NOTOWNED); + return (ret); } void @@ -1389,7 +1401,7 @@ vnlru_free_vfsops(int count, struct vfsops *mnt_op, struct vnode *mvp) VNPASS(mvp->v_type == VMARKER, mvp); mtx_lock(&vnode_list_mtx); vnlru_free_impl(count, mnt_op, mvp); - mtx_unlock(&vnode_list_mtx); + mtx_assert(&vnode_list_mtx, MA_NOTOWNED); } struct vnode * @@ -1534,7 +1546,7 @@ vnlru_under_unlocked(u_long rnumvnodes, u_long limit) } static void -vnlru_kick(void) +vnlru_kick_locked(void) { mtx_assert(&vnode_list_mtx, MA_OWNED); @@ -1544,6 +1556,15 @@ vnlru_kick(void) } } +static void +vnlru_kick(void) +{ + + mtx_lock(&vnode_list_mtx); + vnlru_kick_locked(); + mtx_unlock(&vnode_list_mtx); +} + static void vnlru_proc(void) { @@ -1574,6 +1595,7 @@ vnlru_proc(void) */ if (rnumvnodes > desiredvnodes) { vnlru_free_locked(rnumvnodes - desiredvnodes); + mtx_lock(&vnode_list_mtx); rnumvnodes = atomic_load_long(&numvnodes); } /* @@ -1751,6 +1773,7 @@ vn_alloc_hard(struct mount *mp) rnumvnodes = atomic_load_long(&numvnodes); if (rnumvnodes + 1 < desiredvnodes) { vn_alloc_cyclecount = 0; + mtx_unlock(&vnode_list_mtx); goto alloc; } rfreevnodes = vnlru_read_freevnodes(); @@ -1770,22 +1793,26 @@ vn_alloc_hard(struct mount *mp) */ if (vnlru_free_locked(1) > 0) goto alloc; + mtx_assert(&vnode_list_mtx, MA_NOTOWNED); if (mp == NULL || (mp->mnt_kern_flag & MNTK_SUSPEND) == 0) { /* * Wait for space for a new vnode. */ - vnlru_kick(); + mtx_lock(&vnode_list_mtx); + vnlru_kick_locked(); vn_alloc_sleeps++; msleep(&vnlruproc_sig, &vnode_list_mtx, PVFS, "vlruwk", hz); if (atomic_load_long(&numvnodes) + 1 > desiredvnodes && vnlru_read_freevnodes() > 1) vnlru_free_locked(1); + else + mtx_unlock(&vnode_list_mtx); } alloc: + mtx_assert(&vnode_list_mtx, MA_NOTOWNED); rnumvnodes = atomic_fetchadd_long(&numvnodes, 1) + 1; if (vnlru_under(rnumvnodes, vlowat)) vnlru_kick(); - mtx_unlock(&vnode_list_mtx); return (uma_zalloc_smr(vnode_zone, M_WAITOK)); } From nobody Sun Sep 24 21:46:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02g2rYmz4tX11; Sun, 24 Sep 2023 21:46: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 4Rv02g1wJfz4ZJP; Sun, 24 Sep 2023 21:46:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R1xn26coI1oiYtCXQZyzC9mqE4FY5Liz4DRHTqg6Riw=; b=lRkPP3htMtxj+Cn+GTKy/fBmRpijPFj9KfUegeXH9mCyn1EQkfX6YOLe/OH/JMjOMk8BlQ V/3eCNsymeU3J8K8yacw4I6rDAyLg3WnveVDPNxWHenlkr22wykpHOQImYT1IiUn8tNnUX ylrMRlbXPvh8Yo1/tHhH7rVja2JgrSHjY0C0xtkmWIP8i3F4+sQfXfBt08hc2TzFMRArMW 8iby0e6Zfod9raHrdSdXpp8RlB6rRdjvMovEypIlERIGx9AsMZ0vF8cZws57JSTGoi9whj 1+L5RvEbGGGgJ+1TXfhUtXNdortLbBCKeL0G6qO8YMdM4BYs3euq7HPKZw2O8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592011; a=rsa-sha256; cv=none; b=Z8/rGEEimfYVuhWoc7e0K8avXhv9hUp3TnTifmnbhgfdlkb+Nbthpct5BXpq1GagWpJvmw 99WS3FZfgI/dxmmTPXJOMswJd5qG4UqKr17Udhz/0IZOemSpMR7nYo3lZY1T27Qc+z3Jb1 wnXU6Gd3TfaprGMgpR06oNqaLoOMAUFm/KoiD84Z2i5z0XO5dBpliLW5dXF83MlyRsrfcs ZBC/7QQwy7CnRXB0A5TzVXg/gkjdgeUa/W6BhZ30JLbLTWcZxwXc/LJpDMvBYEtWgQCuID rHsGxCrwxfPcWHlAp8/51nXyCtO5zNzDlbMv2rY7jl2O9dFLnQwvgTTbhsr+Ww== 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=1695592011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R1xn26coI1oiYtCXQZyzC9mqE4FY5Liz4DRHTqg6Riw=; b=GDPQxSKTjuRewAbSkFfyMdZJYPFWGQqoGvK0zjQJ8rj1wCoQfFvQbpu6l7q63caqKov5E4 AzCuzOjafIJkZENN+YnbsCu3UXdtVcpW+l7QA4vEaYiOu/EG3c9QuLdg2Bd/IyOdzWFsAK ndoQfOyTqJBnO1uf/FCm0m4NNw1LShthNfSsA7GmzXdUbQmNWHu3xEnzjlh9C14mKrYTJw BXRFb7zZ9rIRIfsL3iSswkM/uo39OUIzL6xDdfJLwr8H16LZEBkz59uEMw/dfxt5+Lwj67 6tZCmFDDMgu9xHB1cnkXidiEGw2lCSTG84YAwRR5hfTmS+ad0VNAQcymYBhogg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02g0yM7z13j0; Sun, 24 Sep 2023 21:46: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 38OLkpxM030521; Sun, 24 Sep 2023 21:46:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLkpBI030518; Sun, 24 Sep 2023 21:46:51 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:51 GMT Message-Id: <202309242146.38OLkpBI030518@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 3e8f649ec351 - releng/14.0 - vfs: don't kick vnlru if it is already running List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 3e8f649ec3516a5506bbd3fd95051448e3b1b6d5 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=3e8f649ec3516a5506bbd3fd95051448e3b1b6d5 commit 3e8f649ec3516a5506bbd3fd95051448e3b1b6d5 Author: Mateusz Guzik AuthorDate: 2023-09-14 16:27:47 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:45:41 +0000 vfs: don't kick vnlru if it is already running Further shaves some lock trips. Approved by: re (gjb) (cherry picked from commit 76f1153790b6d2e1a4f0389c3ac24e41d08f9ba6) (cherry picked from commit 2ea531b264df97bfea7d74c7f9414b2d3c5d4277) --- sys/kern/vfs_subr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 80ec15f78028..4c9cb6200f10 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1557,9 +1557,11 @@ vnlru_kick_locked(void) } static void -vnlru_kick(void) +vnlru_kick_cond(void) { + if (vnlruproc_sig) + return; mtx_lock(&vnode_list_mtx); vnlru_kick_locked(); mtx_unlock(&vnode_list_mtx); @@ -1812,7 +1814,7 @@ alloc: mtx_assert(&vnode_list_mtx, MA_NOTOWNED); rnumvnodes = atomic_fetchadd_long(&numvnodes, 1) + 1; if (vnlru_under(rnumvnodes, vlowat)) - vnlru_kick(); + vnlru_kick_cond(); return (uma_zalloc_smr(vnode_zone, M_WAITOK)); } From nobody Sun Sep 24 21:46:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02h42zMz4tWvf; Sun, 24 Sep 2023 21:46: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 4Rv02h2qYdz4ZGY; Sun, 24 Sep 2023 21:46:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592012; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVPZsZctgfe5jgXCj8jw24a+VPajrmNsb6GShSGar8c=; b=kAdgNFzZQ/oouZ5G/Oc2K9M9/DxS45Bi3oJlxxtVXqNVEeCY+KF6rMj8YizptmtW3WNiwA 0Gpt6zJLjLNFj543723wwkWr0/L6l3VSSINNgMYA1cw+ETuQYU2CnAfQNABk+RdbeOJNaw /NdK8jrjnZbzb9CS5E6SSlzkzulTQ6Z0zim5HaUEqM8NwaBF6ySq2kBnOus0ffiTW5I8xY f0AcTqOJw0soE/k5OMX6LHMQiThKxfgfud+MzXB4Z476B5LIt6MhXJsvdXUcut0qrYVs9Z uuYcrROOiRXseXn51M8Kai77OQrbJY5q+RmrqPdIk9p05C6HhpeAxilaNBSc6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592012; a=rsa-sha256; cv=none; b=s6makEfx1KNA0XziwwD9PFx6WM9UnQ6rKOt/fVho31fmxc6GLw+BGwoXcEMdeV1Sq7HQRH IJAejNvu6CiZaatjxDK+xSJ+kiqVEtHqgLe1HqD6+3Fr/hgKA8WURDCpjxjh9JGLZ10tgL fuPBUNW0jCgevp6JF/gpUtsLLhelaCLWUHruetcnVeiHsXncqGnGN5dKhuaxonuQ1rh6E0 h9a2Zc2x8pH2Vo7kofDotsqw5E7N2SGHGAYq/pBTmsfb7sMsXw90M5u+cUyptZa0pM5SPz qTAOKODbsr4idvu0fSeqKKGazLT4uCpi+wBa7n3V7BqcxsPMLfXQwpQQw7x2iQ== 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=1695592012; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVPZsZctgfe5jgXCj8jw24a+VPajrmNsb6GShSGar8c=; b=dRpY7OqdeLe/WaWiv4k8ozfgjEyQ41UfSrpi+UAMGLRkw5MgYYzyq8a3/rOPp4DssHryoE 3EjKqbr8deFhJsaL3og9KQyzN/7Ge3BaIG9PSX3RMJBAvuoXH7Jo7rHDlOAo/R1vt+0LNo k233bPA6JtTbt/9NhPeQg368mgaGS7dLdgJnGXGzYIVvH8q5tnCpIiPTcuVdWa83euS/c+ EFBSpw1Tkts2eIkKH/fbDSQD4tctWXd0MFHyWjAaayoDBuzStkmzcFriekWFTNlDBrf4w2 /SY1Alsxnc+OiLqhnOsj+BszV4SJJy5UFwonAN533DTv5ZEOGUIYX4y/NfN4kg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02h1xB5z13Vf; Sun, 24 Sep 2023 21:46: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 38OLkqMH030569; Sun, 24 Sep 2023 21:46:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLkqQD030566; Sun, 24 Sep 2023 21:46:52 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:52 GMT Message-Id: <202309242146.38OLkqQD030566@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 6d5db9c5239b - releng/14.0 - vfs: fix stale comment about freevnodes management List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 6d5db9c5239b3ed27fec9d52420443ab800353ea Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=6d5db9c5239b3ed27fec9d52420443ab800353ea commit 6d5db9c5239b3ed27fec9d52420443ab800353ea Author: Mateusz Guzik AuthorDate: 2023-09-14 17:28:32 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:45:46 +0000 vfs: fix stale comment about freevnodes management Approved by: re (gjb) (cherry picked from commit 9dc0c983b0931f359c2ff10d47ad835ef74e929a) (cherry picked from commit 210dd7aa1f48848707b09a172a957f0f4b7aacab) --- sys/kern/vfs_subr.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 4c9cb6200f10..ed478d33aed0 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1444,12 +1444,12 @@ static struct proc *vnlruproc; static int vnlruproc_sig; /* - * The main freevnodes counter is only updated when threads requeue their vnode - * batches. CPUs are conditionally walked to compute a more accurate total. + * The main freevnodes counter is only updated when a counter local to CPU + * diverges from 0 by more than VNLRU_FREEVNODES_SLOP. CPUs are conditionally + * walked to compute a more accurate total. * - * Limit how much of a slop are we willing to tolerate. Note: the actual value - * at any given moment can still exceed slop, but it should not be by significant - * margin in practice. + * Note: the actual value at any given moment can still exceed slop, but it + * should not be by significant margin in practice. */ #define VNLRU_FREEVNODES_SLOP 126 From nobody Sun Sep 24 21:46:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02j5622z4tWg1; Sun, 24 Sep 2023 21:46: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 4Rv02j4Bqtz4ZMX; Sun, 24 Sep 2023 21:46:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LNJ+KSAtMvRUa5ad5MYXVmFWvCgfAUZm4lrYmfv2Fmk=; b=V/fAbgzt5rr+K1IRjoVkC5MCFCurY2M9AbppRIpSk6OLXkkvCoRfMBRO3x8Y+WTjTl0pF0 KPvJTYRwrLVKugfL0d1AfOblAZ0UJJlsFCYUe9vnKc83zYNOm8ZsZ8Xe16tLE5IA+pGecw ROQg/e+g640lZQhkQtYXYE++Upb/cGZ3SfNy7fj3Ph1NU0tVWddwSuLKGSYejZIDx97s8a tjqecVAUB3D551VCjmJSXGb0wvwiWqf4Ze8WrVQhMvUu5LAST1rzjZO38e1QbdCLReMSRO BhwZhHj905hZDr/+SWZ81IPKwPOZYdoMsPYhQewD06LhZDvRILrPYYh9fU1gTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592013; a=rsa-sha256; cv=none; b=O55kHlfEjG7iJyLYxGmlg841lxRBLByL11D6Zx3h47Wm/Bmfgmf5CQXKBAWorI75808zH8 /Dbt0NhdXcnxhM0vL8Zx8eMAwwGl+jMPmrtjmsU4glLVaQm8Sa2bPJINdTtNVXG/nRy+V0 osDgipRyxaX5h8ohOxd3u8Pza6K+KPoiJF2AqQkkncBErDpZrfjSmwNkQgDDHOS58718sV dC5H0wI30sBZfW9wMkexxqHcwZWY8LGfQV8tKZe1xx4R7LNIymZAd+mdVyd8Uem5ExuoM4 Q/BY6p+qtvXsCXBCrwDClkHs96s0e0GzKBnk2n4amzChfnh8TJQ/J1scN3jDmQ== 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=1695592013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LNJ+KSAtMvRUa5ad5MYXVmFWvCgfAUZm4lrYmfv2Fmk=; b=ofokaPDUfyltAVKfT10g940gHInbHt8N3p6wjMLEeY0B70oq7EzB2HqtQ7ckHJ3a1hMvu7 CuFant6TigFCy2TGW12nvh4SXgasds4sxtYWZz9x7BJYWFs3vinMD+ItlFjDka4aMiQ58E 4rnhyft7xIxDOazXUDDoL59D2PbTXaA5ejci6cxjnnrPbVZ+WURbF63lmwC2CwPk0AHRfI cvgGzxeZa/p6bI89/iLBzrfOX185TqDm5SQhWXvxKGHwn8eErMzzkVS9s5oZhg99exqiEc 16EVh/CLKImBdWbYG/wJyqf7+XKEQzoMgRHcMge8HjHvTg4Ref3BkwzymFdRdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02j3CrQz133Q; Sun, 24 Sep 2023 21:46: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 38OLkrn9030618; Sun, 24 Sep 2023 21:46:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLkrSe030615; Sun, 24 Sep 2023 21:46:53 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:53 GMT Message-Id: <202309242146.38OLkrSe030615@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: dc804471fa88 - releng/14.0 - vfs cache: garbage collect the fullpathfail2 counter List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: dc804471fa88a60d8112d7beea59c39cf2c1d123 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=dc804471fa88a60d8112d7beea59c39cf2c1d123 commit dc804471fa88a60d8112d7beea59c39cf2c1d123 Author: Mateusz Guzik AuthorDate: 2023-09-14 20:25:54 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:45:51 +0000 vfs cache: garbage collect the fullpathfail2 counter The conditions it checks cannot legally be true (modulo races against forced unmount), so assert on it instead. Approved by: re (gjb) (cherry picked from commit 07f52c4b5a4f7a658bf7ed29eadd5c4d52a4f3b2) (cherry picked from commit 8e4a043bad750d85e0028ae6ceb9c9e37842bf4a) --- sys/kern/vfs_cache.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 5b0cd64146ad..0f4d7526ebb5 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -542,7 +542,6 @@ STATNODE_COUNTER(negzaps, numnegzaps, STATNODE_COUNTER(neghits, numneghits, "Number of cache hits (negative)"); /* These count for vn_getcwd(), too. */ STATNODE_COUNTER(fullpathcalls, numfullpathcalls, "Number of fullpath search calls"); -STATNODE_COUNTER(fullpathfail1, numfullpathfail1, "Number of fullpath search errors (ENOTDIR)"); STATNODE_COUNTER(fullpathfail2, numfullpathfail2, "Number of fullpath search errors (VOP_VPTOCNP failures)"); STATNODE_COUNTER(fullpathfail4, numfullpathfail4, "Number of fullpath search errors (ENOMEM)"); @@ -3400,14 +3399,7 @@ vn_fullpath_dir(struct vnode *vp, struct vnode *rdir, char *buf, char **retbuf, vp = vp1; continue; } - if (vp->v_type != VDIR) { - vrele(vp); - counter_u64_add(numfullpathfail1, 1); - error = ENOTDIR; - SDT_PROBE3(vfs, namecache, fullpath, return, - error, vp, NULL); - break; - } + VNPASS(vp->v_type == VDIR || VN_IS_DOOMED(vp), vp); error = vn_vptocnp(&vp, buf, &buflen); if (error) break; From nobody Sun Sep 24 21:46:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02k5jgvz4tX5r; Sun, 24 Sep 2023 21:46: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 4Rv02k540tz4ZdB; Sun, 24 Sep 2023 21:46:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XKddRBsCjmynQZduCxMigkMi0rlW1+07q8j3+RzMcqg=; b=XnAN1fQ/y6/F0kxczFj5RNUsEtSfOmcrq7Z3YDEzOhjjq4UYvqYhYKhDzZvnN5yVvpFRpH 5f6IBEjPDQi9LBbz+bX9r4VxF/BSlvrArkvlXo31zjtGkruidYId9pgsZ1AVUeHPVYfWn+ TK7dDs88Yq4iQG2nf9nF1G0vXWRtoyIrWxxELqLTC8TnyR4hhN4Hr8E08TaDIZ98J+DXoD RH/56jF0f2VytK/iAjbZBk4qEZtJFMeOl2jkBC0wa20WuUAxiSY1eztrsS50KcBiSbxXEX LfMQ8c4M8NJet6RTVO3WwVsAAlW62Hm1nz03Z4+VoICFa+CqVjOr0i46P9auVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592014; a=rsa-sha256; cv=none; b=fLmhSjGi6I05RawIgHu0J8GSVXQQBrv/1tyc1IpfFM3MqkCfSuAaLPGLVnA/aLQQqrMNAd Mc3p/jqCiSzvu/rkGAiGBBIJkgpNFo0755lQ1d7BUOHs7PP0MGOOUZm3VUgVod3JtOaf97 jyE/sMA92V8hpMZXCNQNE8VkrYp+WuC/+THqMgZj499DeGLVQNPqfJ/Ku1VVhg+qqiT+D4 vQe0i+6mqwI9PgSXpuEc+/yEKJ/DQv5dhUnU92wurUnp2PNobBpMW5EgkJiI48XwfLJyax RaLYU13zO6xXTnlS/hhOf1Q8ym7ZbpdZcvXYg5kA2JR9ny0Qz7gEN2Hj9BcbrA== 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=1695592014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XKddRBsCjmynQZduCxMigkMi0rlW1+07q8j3+RzMcqg=; b=NR8dYkaq6qT5t/N/Bkew3o4zliKWhn65jb0eR0+i7tvjt8w+tgEkCuwoYB6207oio9pfy9 x8QbyNT6hb4zRAccScTGps6Frfh8IG3mcEQ3UQ8D7GP0vQrL4dK8mXjUyP+XObNxwbr51I 2l1RQzbUL1tiOxdV4yHk0lVjHFN98qvNpLjcW9oc9ZYuVIjuY6bpR0GChbmDZvkBoHGIsG 45FYJY+GhycFu18KtwU40ZNZdLauOyPwVEWWtcLJEvM0DowhVJCJOjHAZOjc+dBl8r0s79 2idlQSCgCIHwQwU2kq0Dq+zOD2dXqSNVq6dvEZ5WigNllCAc4fb6ku3JVGYjzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02k48dFz13j1; Sun, 24 Sep 2023 21:46: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 38OLksR2030659; Sun, 24 Sep 2023 21:46:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLksT7030656; Sun, 24 Sep 2023 21:46:54 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:54 GMT Message-Id: <202309242146.38OLksT7030656@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: f4f4f48e1293 - releng/14.0 - vfs: retire vnlru_under_unlocked List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: f4f4f48e12931f73565790c54f6ae2d54cf92d35 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=f4f4f48e12931f73565790c54f6ae2d54cf92d35 commit f4f4f48e12931f73565790c54f6ae2d54cf92d35 Author: Mateusz Guzik AuthorDate: 2023-09-14 23:05:51 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:45:56 +0000 vfs: retire vnlru_under_unlocked It only looks at the centralized value which in corner cases can end up being negative. Approved by: re (gjb) (cherry picked from commit ba5dc166e0f390c703042910b637a83c705c8af3) (cherry picked from commit b5210f3fb26031e24f2f4c465aa3eab64002353a) --- sys/kern/vfs_subr.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index ed478d33aed0..84219f3b5c12 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1528,23 +1528,6 @@ vnlru_under(u_long rnumvnodes, u_long limit) return (space < limit); } -static bool -vnlru_under_unlocked(u_long rnumvnodes, u_long limit) -{ - long rfreevnodes, space; - - if (__predict_false(rnumvnodes > desiredvnodes)) - return (true); - - space = desiredvnodes - rnumvnodes; - if (space < limit) { - rfreevnodes = atomic_load_long(&freevnodes); - if (rfreevnodes > wantfreevnodes) - space += rfreevnodes - wantfreevnodes; - } - return (space < limit); -} - static void vnlru_kick_locked(void) { @@ -1826,7 +1809,7 @@ vn_alloc(struct mount *mp) if (__predict_false(vn_alloc_cyclecount != 0)) return (vn_alloc_hard(mp)); rnumvnodes = atomic_fetchadd_long(&numvnodes, 1) + 1; - if (__predict_false(vnlru_under_unlocked(rnumvnodes, vlowat))) { + if (__predict_false(vnlru_under(rnumvnodes, vlowat))) { atomic_subtract_long(&numvnodes, 1); return (vn_alloc_hard(mp)); } From nobody Sun Sep 24 21:46:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02l6cMVz4tWyS; Sun, 24 Sep 2023 21:46: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 4Rv02l67YGz4ZVY; Sun, 24 Sep 2023 21:46:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PG/PWF0yk4Ef05S6HKPGkI1Mg9xw57XgFnbTCATCm6U=; b=usfl81NA/7KCtMR+XWSjxQe01oQuNms+PXILnC+FIo3RR9rzXgluPdOWK1Ysm9KEeaKVsb yeJjrqPDg9iDdl6el2RFz7G+ERJsaUY4oHinkGzmFCkK3ZjiGvcKU6oCw8V5RmRHnWsnNF jCkz49x/eDisJ78U+iSvCRet6YYzZ9pN+jIUikgEC7FV6ZrZRw5ZKgGKZ2qATOZeb/L5NJ o0v3/hVxT4ZqkRW2tTm8mcId+Yx9jKPKBMfM2+uITtudfoZ1ROie2tHP4C0lAtEuT/wnQH j8vjKmNJsJV8UuNhZHk+50osnMoxfjqZdpPbYCu2EKHZUMjEill78Ngl2eDCEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592015; a=rsa-sha256; cv=none; b=cnh9H1a3/Z3txXNiOiRmdfYiYmgpDPGS9e33xwVcd3H7Wyr9xpNGzIV8Q5N6UK+uNZLwZf FUjzH4E4LMEnNTnhpEe0NLXzluEU43C7LsKWYuJrieEiWV5Ka6/lVxdAjYF99mTj7dJctQ tD9/bSo5BvQpinXHfl5Aab1KHdgheZjjk14ZHhu1kKVIyBOPVOegNtAo1djXFc/o/jjz7a RagIfw3wkY1CZCAqiQKs/lLMI5esYG/GWcILMaWlzRBClT7PYDUf3GQzOV9OP6cVdE9CLL HZPe8eWKZmmiNC8ioM27N7pLSoKdBLhuZ4eK31jOgxjtOv6b+sDFH5KIpCHMHg== 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=1695592015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PG/PWF0yk4Ef05S6HKPGkI1Mg9xw57XgFnbTCATCm6U=; b=OMZhkLfaKVxZ0qSmcNOfUvPCrmUGSbr3KY0mig6RqdrKkjlwvTcoCqY51hJp13IYUk3JrI TEksX8SQWFNMZ/O2Q3DbGA1nk1SLDBjlbiHbuGUbf6WtuW6loE5IsBZItTiPff1r3vmd4Z t6hRvJZG75mVo493Bltx/qdbyJckK1BSwHGSRPp/HkbaZ87MDzfXP5oaZVQnM0dojOzBS6 WvpM+NbPaZQWW4hM6n9SX+n/T4hSMi/bSgMbMfL1HUcwVhP8bnPJqR4rAoFwirKJBjk/ff o1QRtl5XtymMMDTyHRHBVncjPeC4XeH5QUxw7SyZDpb1BXT3y5Tbn9IHSvsrUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02l51T7z133R; Sun, 24 Sep 2023 21:46: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 38OLktCK030709; Sun, 24 Sep 2023 21:46:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLktjF030706; Sun, 24 Sep 2023 21:46:55 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:55 GMT Message-Id: <202309242146.38OLktjF030706@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 4e5833d9aeb9 - releng/14.0 - vfs: use vnlru_read_freevnodes for the freevnodes sysctl List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 4e5833d9aeb9c7cb94aa70f40ddc96aecd84bba1 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=4e5833d9aeb9c7cb94aa70f40ddc96aecd84bba1 commit 4e5833d9aeb9c7cb94aa70f40ddc96aecd84bba1 Author: Mateusz Guzik AuthorDate: 2023-09-14 23:53:11 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:45:59 +0000 vfs: use vnlru_read_freevnodes for the freevnodes sysctl For a more accurate result. Approved by: re (gjb) (cherry picked from commit 03bfee175269960c67cab64d761bbb5eb9ac5878) (cherry picked from commit 07c081e59232433ce522cfdf37bc4a8afad75330) --- sys/kern/vfs_subr.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 84219f3b5c12..823b8005aa4d 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -184,8 +184,6 @@ static struct vnode *vnode_list_reclaim_marker; */ static long wantfreevnodes; static long __exclusive_cache_line freevnodes; -SYSCTL_ULONG(_vfs, OID_AUTO, freevnodes, CTLFLAG_RD, - &freevnodes, 0, "Number of \"free\" vnodes"); static long freevnodes_old; static counter_u64_t recycles_count; @@ -350,6 +348,19 @@ SYSCTL_PROC(_kern, KERN_MAXVNODES, maxvnodes, CTLTYPE_ULONG | CTLFLAG_MPSAFE | CTLFLAG_RW, NULL, 0, sysctl_maxvnodes, "LU", "Target for maximum number of vnodes"); +static int +sysctl_freevnodes(SYSCTL_HANDLER_ARGS) +{ + u_long rfreevnodes; + + rfreevnodes = vnlru_read_freevnodes(); + return (sysctl_handle_long(oidp, &rfreevnodes, 0, req)); +} + +SYSCTL_PROC(_vfs, OID_AUTO, freevnodes, + CTLTYPE_ULONG | CTLFLAG_MPSAFE | CTLFLAG_RD, NULL, 0, sysctl_freevnodes, + "LU", "Number of \"free\" vnodes"); + static int sysctl_wantfreevnodes(SYSCTL_HANDLER_ARGS) { From nobody Sun Sep 24 21:46:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02n2wWMz4tWvw; Sun, 24 Sep 2023 21:46: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 4Rv02m6p5Gz4Zbs; Sun, 24 Sep 2023 21:46:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=upkVd3iHzrCNdrBTRtqYKhCKmFqsOzoYy1xo1pKBwbs=; b=iS0NYK0fe0p/sbFxJIQ6XgjOCYQ0mP0RFUBo2T7ENFwB/dRb2ujbpI+YBEla6i2CKR10Eo vTf9QaMnxCDhycdnxMa1vusDbBXNpICB+XkVWRuWuSYfuYK7yJEWaEArJwerAxC/7Czy/H zINaL/qZ63XhpX3BoflpIiAaNT5CYL7Q6iPlPmZZHgYJ6SU4wYTHPKLvXOHc2OQRPncaP/ JZuKg/1Tg0VqeOvzE+8gZTK0sYn3OBRTOYQeSRDro9Cep2LIppwgiVh5lKA/tdsojaWy/f Sy6z89IrwVMYMAStjltcEhcnvqDclg/4rWt4WN2Y12B8S70UY4VELjyHdXGncg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592017; a=rsa-sha256; cv=none; b=eedWN5yzNP1Rt6yHMe4DvtLrlMnQiAJ6GVPzmmWDvdTupyCC5maO7do48cHN1HzJDrtNZB XlbCRU10tdGEPrRoqL+pwhhUIotpkzHD5TVqJA/Z/ShCn4YpnKQEe8GsxwitBw3/ych2Jl XZw1IpCNzJZHhmatMLRQoavyPBmPovkZd54lehTsMRAWrC+lrK8aFrK3FkIVJWRZw8peGp 7LR7+JJ9QkyqevThkx/YM4nCLmshp8yshVD5KCEi06yPAl2z0IWYPErRNML9de5llBcRPb O7m8D5kvmi1D5AoU9iybqHFa6q8nhQ6+52WiSTBmYfHj7HVEffFun5984LcHBA== 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=1695592017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=upkVd3iHzrCNdrBTRtqYKhCKmFqsOzoYy1xo1pKBwbs=; b=K4D5aJFHOPh+SnT7k3gwlkH+UIAx7DB4UIhgQPZt5KBQ25N42rDMwN4o+e7cy6QjlnXJ32 Hy0R92tZVD3oUX0Ed81DWcoJtNRjxdgMKN4GarwmYASOn4tkvlOGP11/xJgOowgRIkYEgB 7JrxT3l/QuK7Vc7kbbpK5FMxcrVpS1W3CTxUR3hjB6MqLnMIAMfYBjIRDiOTNJeFJ1bHvz O1pm3tn8D8+87KdvUQPrflviW8kt5dUXKQad4GEwW6AvJEVvsFSje0NoeZxsBnlfDO8Zy0 lfM+GunAZAk2SYQCGciDZVl9OYsn1cBXxOs6BMHp+MOpWC0NRNBVnhU8am6Gmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02m5tXQz133S; Sun, 24 Sep 2023 21:46: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 38OLkupN030747; Sun, 24 Sep 2023 21:46:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLku7n030744; Sun, 24 Sep 2023 21:46:56 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:56 GMT Message-Id: <202309242146.38OLku7n030744@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: a5e0eea4ca51 - releng/14.0 - vfs: retire kern.minvnodes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: a5e0eea4ca5152f965558fe310da6877f76c8b31 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=a5e0eea4ca5152f965558fe310da6877f76c8b31 commit a5e0eea4ca5152f965558fe310da6877f76c8b31 Author: Mateusz Guzik AuthorDate: 2023-09-16 07:33:36 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:46:03 +0000 vfs: retire kern.minvnodes It was marked as legacy in 2005. Approved by: re (gjb) (cherry picked from commit 2a689cadf092a3319d7619c3f4aa242011c20c8e) (cherry picked from commit b93b1b93938154baf86adbade6496d5b183d71f3) --- sys/kern/vfs_subr.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 823b8005aa4d..f4cccf2b4e1f 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -385,8 +385,6 @@ SYSCTL_PROC(_vfs, OID_AUTO, wantfreevnodes, CTLTYPE_ULONG | CTLFLAG_MPSAFE | CTLFLAG_RW, NULL, 0, sysctl_wantfreevnodes, "LU", "Target for minimum number of \"free\" vnodes"); -SYSCTL_ULONG(_kern, OID_AUTO, minvnodes, CTLFLAG_RW, - &wantfreevnodes, 0, "Old name for vfs.wantfreevnodes (legacy)"); static int vnlru_nowhere; SYSCTL_INT(_debug, OID_AUTO, vnlru_nowhere, CTLFLAG_RW | CTLFLAG_STATS, &vnlru_nowhere, 0, "Number of times the vnlru process ran without success"); From nobody Sun Sep 24 21:46:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02p3Dkqz4tX5x; Sun, 24 Sep 2023 21:46: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 4Rv02p0nprz4Zkq; Sun, 24 Sep 2023 21:46:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=84WykRFVQUzdtJTaxhGmVhNR8kcPK2vnDtoqtPLmYSE=; b=OPi21MX/lA+5jyPczTqxtnO4Z063PW74dhmmBtRuCBSx4mqfl9ks+k9HJXCOffKBqjThEr qDe+ScvvZWZI1qMihekuWt9lW4xI/5+kmkWfPLTVTisa/L6nAyF+45eKOn96WTMqAmJBKx /orO0RowgpR5iqeqzTNrDvKG1/rB+VctpFHIG24wx7Y782pS16ug6uQamQAlBfRHLuwbgi n/1St18Wvwj725BEe+IVunS/E0utjgTfu555QPmC4G+S31YdWw2PtRL9erK2+zR7wf2FOR A4mNvquNq+Rr9GHWKhQENpGCE05QnypHHrFMHaRDqKEjU3wuymDD3Pnysmpu6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592018; a=rsa-sha256; cv=none; b=LX3rJj5FlPm5AWv7t88JobN/DR19OeQtdFawxhIXigskx9ISdA8MoHGolQaEkfJ8VSKu+a 6Hx/yN++e3F0WvzwkQgfz3irJaRxxmO718Mh5I7xxCbQ4E1tcl4DbZxW5X8Kt7zYyeWjkt 7w34+l5XiGmeid6lSIl16qfkiuusCF3StkJnSWoCVXxkdKgUY+9k0DylbtJ1XldgugrhVD 9mfz0tNMi9ohYh6dHuyo3Kr5MZ98W9gK5w4asy+1MDc6oUvASt3kKFCp8mimiAgvfErmHj /8S9MBnWaLGTeYg5X3P5tP42h9DCuUQpJCpEBboYCD9JWB6gxDfer8zKHeDFww== 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=1695592018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=84WykRFVQUzdtJTaxhGmVhNR8kcPK2vnDtoqtPLmYSE=; b=ByndKAGmbfZQ+Aa8PsRzC2fD+xLTZBOx/61zTxafkOCFpuDTeeTEgkVhxkRz2RCYQ0NFmB qEJZxToWDWiZzYslywZNKNe3bfMazZY2fG3jKJ4+ErCwhNq4O9GQDKqxu0xUrOl6/7T24L uiEPAwZLKAAzABi81vOBUo5xDUigZvmk0atOmMFO5xi0libsIOB+nsAL1RYnjfAt9WpBpE 1DsSC8/BdybnCLs6k6iHA/BTmt/TyH0isDLkCuBIJisx07QnGau6Iof4dnZZBFce2+LlB+ I/stm5P0yWCYfojXl4pVHu6CvWKK0rRXdS5EJgJUT8krVYyzik29I8nUDZ0zUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02n70spz13j2; Sun, 24 Sep 2023 21:46: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 38OLkvCd030794; Sun, 24 Sep 2023 21:46:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLkv8n030791; Sun, 24 Sep 2023 21:46:57 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:57 GMT Message-Id: <202309242146.38OLkv8n030791@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 5034749bd436 - releng/14.0 - vfs: group vnode-related sysctls under vfs.vnode List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 5034749bd4365e483e21e4bcf4fe92e04b02b387 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=5034749bd4365e483e21e4bcf4fe92e04b02b387 commit 5034749bd4365e483e21e4bcf4fe92e04b02b387 Author: Mateusz Guzik AuthorDate: 2023-09-15 21:08:38 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:46:06 +0000 vfs: group vnode-related sysctls under vfs.vnode Instead of having things scattered through vfs, debug and kern trees. Old names remain for compatibility. Sample output of "sysctl vfs.vnode": vfs.vnode.vnlru.failed_runs: 0 vfs.vnode.vnlru.recycles_free: 0 vfs.vnode.vnlru.recycles: 0 vfs.vnode.stats.alloc_sleeps: 0 vfs.vnode.stats.free: 1310 vfs.vnode.stats.skipped_requeues: 0 vfs.vnode.stats.created: 1686 vfs.vnode.stats.count: 1641 vfs.vnode.param.wantfree: 2097152 vfs.vnode.param.limit: 8388608 Approved by: re (gjb) (cherry picked from commit d3e6478912431309aad36211b6c39b0d741312dc) (cherry picked from commit b757ea2bb27c4035d28009d4a9906c66301d8e3e) --- sys/kern/vfs_subr.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index f4cccf2b4e1f..a8477e4b691e 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -126,6 +126,15 @@ static int v_inval_buf_range_locked(struct vnode *vp, struct bufobj *bo, daddr_t startlbn, daddr_t endlbn); static void vnlru_recalc(void); +static SYSCTL_NODE(_vfs, OID_AUTO, vnode, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "vnode configuration and statistics"); +static SYSCTL_NODE(_vfs_vnode, OID_AUTO, param, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "vnode configuration"); +static SYSCTL_NODE(_vfs_vnode, OID_AUTO, stats, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "vnode statistics"); +static SYSCTL_NODE(_vfs_vnode, OID_AUTO, vnlru, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, + "vnode recycling"); + /* * Number of vnodes in existence. Increased whenever getnewvnode() * allocates a new vnode, decreased in vdropl() for VIRF_DOOMED vnode. @@ -133,10 +142,14 @@ static void vnlru_recalc(void); static u_long __exclusive_cache_line numvnodes; SYSCTL_ULONG(_vfs, OID_AUTO, numvnodes, CTLFLAG_RD, &numvnodes, 0, + "Number of vnodes in existence (legacy)"); +SYSCTL_ULONG(_vfs_vnode_stats, OID_AUTO, count, CTLFLAG_RD, &numvnodes, 0, "Number of vnodes in existence"); static counter_u64_t vnodes_created; SYSCTL_COUNTER_U64(_vfs, OID_AUTO, vnodes_created, CTLFLAG_RD, &vnodes_created, + "Number of vnodes created by getnewvnode (legacy)"); +SYSCTL_COUNTER_U64(_vfs_vnode_stats, OID_AUTO, created, CTLFLAG_RD, &vnodes_created, "Number of vnodes created by getnewvnode"); /* @@ -188,14 +201,18 @@ static long freevnodes_old; static counter_u64_t recycles_count; SYSCTL_COUNTER_U64(_vfs, OID_AUTO, recycles, CTLFLAG_RD, &recycles_count, + "Number of vnodes recycled to meet vnode cache targets (legacy)"); +SYSCTL_COUNTER_U64(_vfs_vnode_vnlru, OID_AUTO, recycles, CTLFLAG_RD, &recycles_count, "Number of vnodes recycled to meet vnode cache targets"); static counter_u64_t recycles_free_count; SYSCTL_COUNTER_U64(_vfs, OID_AUTO, recycles_free, CTLFLAG_RD, &recycles_free_count, + "Number of free vnodes recycled to meet vnode cache targets (legacy)"); +SYSCTL_COUNTER_U64(_vfs_vnode_vnlru, OID_AUTO, recycles_free, CTLFLAG_RD, &recycles_free_count, "Number of free vnodes recycled to meet vnode cache targets"); static counter_u64_t vnode_skipped_requeues; -SYSCTL_COUNTER_U64(_vfs, OID_AUTO, vnode_skipped_requeues, CTLFLAG_RD, &vnode_skipped_requeues, +SYSCTL_COUNTER_U64(_vfs_vnode_stats, OID_AUTO, skipped_requeues, CTLFLAG_RD, &vnode_skipped_requeues, "Number of times LRU requeue was skipped due to lock contention"); static u_long deferred_inact; @@ -345,6 +362,9 @@ sysctl_maxvnodes(SYSCTL_HANDLER_ARGS) } SYSCTL_PROC(_kern, KERN_MAXVNODES, maxvnodes, + CTLTYPE_ULONG | CTLFLAG_MPSAFE | CTLFLAG_RW, NULL, 0, sysctl_maxvnodes, + "LU", "Target for maximum number of vnodes (legacy)"); +SYSCTL_PROC(_vfs_vnode_param, OID_AUTO, limit, CTLTYPE_ULONG | CTLFLAG_MPSAFE | CTLFLAG_RW, NULL, 0, sysctl_maxvnodes, "LU", "Target for maximum number of vnodes"); @@ -358,6 +378,9 @@ sysctl_freevnodes(SYSCTL_HANDLER_ARGS) } SYSCTL_PROC(_vfs, OID_AUTO, freevnodes, + CTLTYPE_ULONG | CTLFLAG_MPSAFE | CTLFLAG_RD, NULL, 0, sysctl_freevnodes, + "LU", "Number of \"free\" vnodes (legacy)"); +SYSCTL_PROC(_vfs_vnode_stats, OID_AUTO, free, CTLTYPE_ULONG | CTLFLAG_MPSAFE | CTLFLAG_RD, NULL, 0, sysctl_freevnodes, "LU", "Number of \"free\" vnodes"); @@ -382,11 +405,14 @@ sysctl_wantfreevnodes(SYSCTL_HANDLER_ARGS) } SYSCTL_PROC(_vfs, OID_AUTO, wantfreevnodes, + CTLTYPE_ULONG | CTLFLAG_MPSAFE | CTLFLAG_RW, NULL, 0, sysctl_wantfreevnodes, + "LU", "Target for minimum number of \"free\" vnodes (legacy)"); +SYSCTL_PROC(_vfs_vnode_param, OID_AUTO, wantfree, CTLTYPE_ULONG | CTLFLAG_MPSAFE | CTLFLAG_RW, NULL, 0, sysctl_wantfreevnodes, "LU", "Target for minimum number of \"free\" vnodes"); static int vnlru_nowhere; -SYSCTL_INT(_debug, OID_AUTO, vnlru_nowhere, CTLFLAG_RW | CTLFLAG_STATS, +SYSCTL_INT(_vfs_vnode_vnlru, OID_AUTO, failed_runs, CTLFLAG_RD | CTLFLAG_STATS, &vnlru_nowhere, 0, "Number of times the vnlru process ran without success"); static int @@ -1755,7 +1781,7 @@ vtryrecycle(struct vnode *vp) static u_long vn_alloc_cyclecount; static u_long vn_alloc_sleeps; -SYSCTL_ULONG(_vfs, OID_AUTO, vnode_alloc_sleeps, CTLFLAG_RD, &vn_alloc_sleeps, 0, +SYSCTL_ULONG(_vfs_vnode_stats, OID_AUTO, alloc_sleeps, CTLFLAG_RD, &vn_alloc_sleeps, 0, "Number of times vnode allocation blocked waiting on vnlru"); static struct vnode * __noinline From nobody Sun Sep 24 21:46:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02q2p83z4tX1J; Sun, 24 Sep 2023 21:46: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 4Rv02q26vgz4Zfn; Sun, 24 Sep 2023 21:46:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oojIZeHDHJW3/1gOfuXjOIWM9GlyMeGlHV6e04Nad5s=; b=qzIsY4bfvbT9+s8CABKTmpIjP3z43gIPcmhtk73yGjLuoDJgjj8WgXp4ww0Fet/OhJ9ITn n27GT5PdwvNsxk2lI8a22Y0SyAVhyhFlwnyXysZXiPmkhaL0pYC3ZwO89eawHdnyOwgr9w 4TesOE9I5EA5U/Xi5BGoOmPNT3eNxCmzl0F9nMuWLQ27WjQ7t1cHoUvrYFFOXB3oLtDz+x Ia2hcQR+BdXKKbNZgfMLzf6Jve5vII43TuxS3ubZkvErRNF4NfpPN+ip2W9qEqwBQJPZUk QRGCNXKF3Ur/tEnqhrBEFZOs9G7y8ZBaRUSlvr3fGrd4aGKKELRpOuf2DOEcyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592019; a=rsa-sha256; cv=none; b=X4a8SCAfanxPMhv0A3bQr1Gamk/mLId9i0agro40LEcmPP1bToLFiWVBnCx+BhSha7oV5F R9HNTYHf+wbV/ZDZ4zunvnzRaa2sriswYx2bV40Je5tPLVpJIKZs1JuvHHNBCUS51rL8fJ Ph+24L3BbNKKAKDr1HopUZ8onlMV54Oe5JTUGeZTd4AJo69CtlOPw15dELE7gcsJVXMuKE wzQ1+MytvmROW4KVjUqIO0F4gg7sBCxwDmPNd8DtfB2QU5ZhOtrqaxVqGca3EhM0gghlbs fUxTal1x0nZ6+6P7iTaJKE9ZM0f/C5P5GhVhW9hiod97Fs0qCBH2US6hyMAbAw== 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=1695592019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oojIZeHDHJW3/1gOfuXjOIWM9GlyMeGlHV6e04Nad5s=; b=esnXd9t5mqauME6DP1RxuAjjWO2f1ncTYxl1wX2NVOE3irVRNJd8nZkPoofb4Wy2pgb0U/ e6HgIdkR8dvjO+Bkp9lJpGVHqIw63DdRyiHVNr8x8id+utO11sol9uPQFEMcMg6gl+Btxm NoGsh6HPINbK3vxjq5N1FYz2HpoAIIte/vr3fpkiVoL0hH0w9rKS1vb2OE5YBvm+Z5ML7W VlRu3lrI5vJ0KmQW9olIeYj/IPOj0MOOoilBe57+8NY4pXngL1ymR11KdTxeFmYzoquPGU ZD57FJqB41egay7ZG3ziNOkZW1wazOneKAEZeHjLIM/WqZVh5BYc7mt4bSa8bQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02q11b5z13HM; Sun, 24 Sep 2023 21: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 38OLkxe2030835; Sun, 24 Sep 2023 21: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 38OLkxFh030833; Sun, 24 Sep 2023 21:46:59 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:46:59 GMT Message-Id: <202309242146.38OLkxFh030833@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: cd132f8578f2 - releng/14.0 - vfs: s/u_long vstir/bool vstir/ List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: cd132f8578f288836c4302df243e64bfe9d6fc94 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=cd132f8578f288836c4302df243e64bfe9d6fc94 commit cd132f8578f288836c4302df243e64bfe9d6fc94 Author: Mateusz Guzik AuthorDate: 2023-09-16 08:19:24 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:46:12 +0000 vfs: s/u_long vstir/bool vstir/ Approved by: re (gjb) (cherry picked from commit 509d843a982b39a531a558c65794ffffcdf93ae8) (cherry picked from commit 1a644e8b68bef9b207eea67ccec190c7ccd26a39) --- sys/kern/vfs_subr.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index a8477e4b691e..9d5b1b7e472e 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -325,7 +325,7 @@ u_long desiredvnodes; static u_long gapvnodes; /* gap between wanted and desired */ static u_long vhiwat; /* enough extras after expansion */ static u_long vlowat; /* minimal extras before expansion */ -static u_long vstir; /* nonzero to stir non-free vnodes */ +static bool vstir; /* nonzero to stir non-free vnodes */ static volatile int vsmalltrigger = 8; /* pref to keep if > this many pages */ static u_long vnlru_read_freevnodes(void); @@ -1627,7 +1627,7 @@ vnlru_proc(void) */ if (vstir && force == 0) { force = 1; - vstir = 0; + vstir = false; } if (force == 0 && !vnlru_under(rnumvnodes, vlowat)) { vnlruproc_sig = 0; @@ -1799,7 +1799,7 @@ vn_alloc_hard(struct mount *mp) rfreevnodes = vnlru_read_freevnodes(); if (vn_alloc_cyclecount++ >= rfreevnodes) { vn_alloc_cyclecount = 0; - vstir = 1; + vstir = true; } /* * Grow the vnode cache if it will not be above its target max From nobody Sun Sep 24 21:47:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02r3ygRz4tX8V; Sun, 24 Sep 2023 21: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 4Rv02r3GV5z4ZlT; Sun, 24 Sep 2023 21: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=1695592020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IkOOMavPEF2MoCTd1EjBLxVTuZyUHv46UiBPaxpquwU=; b=NErU4Xx5qcYLg+ScnTiml8w1GulXJn7kqsSgsYDj0HMwelUdFv+qe79EqBkjdLmVqyv7SQ BqOkmGjzfP6FU0VmE0gFgPbVChiyGjc2K5VeDE7FUFmou0CtIDRFMSz01FhFRdJBrf05t8 vVv9grZxxFgZoe7ELj5Py2SGOZw2kBCC6CqFvB4X190RpqUBZ0WIZhj6RlBWMy+vR4Dx4W 2Q66gi/hsEXANgGVGGk4mMGF7q0aTGJS06woc15RaDfvKy7l7A8Qnf03zj8pJ23R+wmFAL x+ybXphzBLp6Z2cupgpWlOnXkTrRE/rIjczj+lxpFimeQL0ALY2uypqq3D8VRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592020; a=rsa-sha256; cv=none; b=PHmhkTfotLaxOalIF9+BnlnWIZ7mM5ifliED35OASIBWjDgdM+wmFamwGKuPa/5X9r3plF 5zwdqhBTZTw8OoE/mwpgss8VPEokzu2msDI3mMmoKMdpZUMBF+N7qoohtr8OCVcF5mjDvc X8jLWP3b2r+oQJ49jJqLqWdR3jpHArsQJhaKHYJ9MPpf+pzkHl8JwDes2uIxRr5FmNXSiF Cdi6c0PJg6Bw6p+vLCXVZdlGUv2l0MZh/1otr2b7iki8zCxF8pACtfrOtxjeoiV2JilXlh EH1nuZi0JFtYbouhmeTuXE84gB30b/ZykMx7banHF+MgSDBcZU6isDR1Igk7HA== 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=1695592020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IkOOMavPEF2MoCTd1EjBLxVTuZyUHv46UiBPaxpquwU=; b=UH/C8xa5lkvX4/Wj2dbU1jp5GgNjEkeYxMI/4vMqb20ywS1QFSCeaYdoy9T4pLFzkrfkod T9je6MC9M8BXe/qie6R1xIHWzVtv8QnSEo9XtAjTVSswo+2wbOI85Q+DyvNF5kFyNkugBi xEKLTVYowhL+sFMp9VlUfVMujtuPrHethBHKyGGXn7EDTg6uns1xtS8R4dKtriJYTH0Xrm y4XK9u2Nsj+P9zU9udPut++iySd2c9gij3GaTkpfR5dsPfwIVzwt6kgrOa767LDl3Iorlf R0qK0SsaUQFXqdVJaJz6lXjLKcDLXp5WhPcl8Z+tnwGDP0bH0fHvrupoTqvNHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02r27l5z13dQ; Sun, 24 Sep 2023 21:47: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 38OLl0b2030882; Sun, 24 Sep 2023 21:47:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLl0pp030879; Sun, 24 Sep 2023 21:47:00 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:47:00 GMT Message-Id: <202309242147.38OLl0pp030879@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 0e60950b4a44 - releng/14.0 - vfs: stabilize freevnodes_old List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 0e60950b4a44bf10b4994c256546d0820f9fe137 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=0e60950b4a44bf10b4994c256546d0820f9fe137 commit 0e60950b4a44bf10b4994c256546d0820f9fe137 Author: Mateusz Guzik AuthorDate: 2023-09-16 15:41:12 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:46:17 +0000 vfs: stabilize freevnodes_old In face of parallel callers. Approved by: re (gjb) (cherry picked from commit ef89b78bb1f60484cc743fa590d623ad896ca8e9) (cherry picked from commit 873b6cd6204376e844815b4698e0f674634bc1c0) --- sys/kern/vfs_subr.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 9d5b1b7e472e..11cdea5a7dc1 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1528,21 +1528,22 @@ vfs_freevnodes_dec(void) static u_long vnlru_read_freevnodes(void) { - long slop, rfreevnodes; + long slop, rfreevnodes, rfreevnodes_old; int cpu; rfreevnodes = atomic_load_long(&freevnodes); + rfreevnodes_old = atomic_load_long(&freevnodes_old); - if (rfreevnodes > freevnodes_old) - slop = rfreevnodes - freevnodes_old; + if (rfreevnodes > rfreevnodes_old) + slop = rfreevnodes - rfreevnodes_old; else - slop = freevnodes_old - rfreevnodes; + slop = rfreevnodes_old - rfreevnodes; if (slop < VNLRU_FREEVNODES_SLOP) return (rfreevnodes >= 0 ? rfreevnodes : 0); - freevnodes_old = rfreevnodes; CPU_FOREACH(cpu) { - freevnodes_old += cpuid_to_pcpu[cpu]->pc_vfs_freevnodes; + rfreevnodes += cpuid_to_pcpu[cpu]->pc_vfs_freevnodes; } + atomic_store_long(&freevnodes_old, rfreevnodes); return (freevnodes_old >= 0 ? freevnodes_old : 0); } From nobody Sun Sep 24 21:47:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02s6mYHz4tWgG; Sun, 24 Sep 2023 21:47: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 4Rv02s4Gxkz4ZrC; Sun, 24 Sep 2023 21:47:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lqORKNHgXJ0Zyl0kjY09VKQ7mcVqj61p2xusFu8gGPA=; b=cm0R3/Fjn2KtfJVceluv9haBm0frvc6bgqeAATnacSXqRW43mQOZsmAPa86ZfeLTx7P2uc 7NL4fq9FdqFRu6eBJOjFEtStK9AoMgCH9lAIOakfzK5eCyoAMgXsv4rJi5Ab/IYKAuHw6l n4nTniQVwpXnMM5f57w4h9Wku5pv48crdW0WtkNUlk32LgNkPpIXBrs9qJoz95528JW+hc c7mne/e5z/qeLeBgAFbyBBVml6j+QYukeDMzv8UYs/lmPWtQ0w77sOqMPA4QFp1bn4F5NZ lMby6GDLpulEaJronjwIeznZ01For9Tk05DjmfN2qqUX1Q6tNjFIj/B5b575EQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592021; a=rsa-sha256; cv=none; b=VN8yhHHa65Zul2OfyhyrAeyBVfAxvkmgkL2wHhqoV8tluUlgO4LVoc85a48Vsj9GUpqPbS JbeEeNeIZSyBhnEiAQ/Y0AJUpbN0igGcJQQmHbfqosv2sX7RyJcV9OdshYBRt/lyQYTXco NxWOMg4UvJKxYiPNyNFd6CxWgJBEmZYMapLZaK0cfuoDDuSLkRJ4ANHaojG8q/qbxCmkFK GyA+zPTvhV8XlLAjSM0S+yOQ7Oj9vo2yLnmvQ5zWMGcaXuScb1KqUIl65RcWW3pGaviKuX 4GKSR3JF6BFyRujxtWAYPiVMKetWf8HcGaAgSrgWviZHFeGeg53HgGAj/005dg== 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=1695592021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lqORKNHgXJ0Zyl0kjY09VKQ7mcVqj61p2xusFu8gGPA=; b=x2DzmgCie7h+Bi+DEjZaLxv7Y5MmnB/OWCBhWrb4eQnPg3wrhVCrpm+fnG+5hzDoAiJb9h qfXLFZYsx+sC5R7cPiZ/lrVjWjchdG0mpmJ7JaU5kTx2VZHOSHbovLCBzYWb0hdScPRese Fufs4fCvFYPKTIsf5JOBWRPRfaujewlAoAVKq3QP6DMlGfj+MQMR/YJo/a9/RwIln971v3 oq0N8I8vMk3sv+7+MvXzNUVVD1lWyozTUMeuuHE3kuRXzhoGE07zXIS84APNQLLIeBdlzu 98wm84prYNkiGZuezW4qexcC+ig+gQZopq8S8Jn1vHmggrJfoZAf7nBlB6ReLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02s3LXyz13dR; Sun, 24 Sep 2023 21:47: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 38OLl1ar030948; Sun, 24 Sep 2023 21:47:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLl14O030945; Sun, 24 Sep 2023 21:47:01 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:47:01 GMT Message-Id: <202309242147.38OLl14O030945@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: ba4d4882ce72 - releng/14.0 - vfs: count how many times vnlru got woken up due to vnode shortage List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: ba4d4882ce72d60b82e09c6060edf054917eec39 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=ba4d4882ce72d60b82e09c6060edf054917eec39 commit ba4d4882ce72d60b82e09c6060edf054917eec39 Author: Mateusz Guzik AuthorDate: 2023-09-16 17:26:39 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:46:21 +0000 vfs: count how many times vnlru got woken up due to vnode shortage Approved by: re (gjb) (cherry picked from commit 9080190b970c7026695571f90b95fdcf7056ec67) (cherry picked from commit e5114cc203a6bef23b072d9f98f6b8501e4ce6d9) --- sys/kern/vfs_subr.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 11cdea5a7dc1..0251525a50c7 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1477,6 +1477,10 @@ vnlru_recalc(void) */ static struct proc *vnlruproc; static int vnlruproc_sig; +static u_long vnlruproc_kicks; + +SYSCTL_ULONG(_vfs_vnode_vnlru, OID_AUTO, kicks, CTLFLAG_RD, &vnlruproc_kicks, 0, + "Number of times vnlru got woken up due to vnode shortage"); /* * The main freevnodes counter is only updated when a counter local to CPU @@ -1571,6 +1575,7 @@ vnlru_kick_locked(void) mtx_assert(&vnode_list_mtx, MA_OWNED); if (vnlruproc_sig == 0) { vnlruproc_sig = 1; + vnlruproc_kicks++; wakeup(vnlruproc); } } From nobody Sun Sep 24 21:47:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv02t6MVCz4tWwP; Sun, 24 Sep 2023 21:47: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 4Rv02t5HhRz4ZrS; Sun, 24 Sep 2023 21:47:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695592022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T5Rf20rUmcEM3uisYW/6Ab7e1fUxgRYxgNhh5s858OU=; b=em5S4kxHUWWWo73pig9nH3c6VwmMRHhCp9ESduWdx0ckgtXxFhMpJU1+GBwdjC1JIkSf52 kqpqVzavNzZCgYz6ndl3yR00iVRb6Rp0sp7oDDhAVM44Ui2HnbAZPYJmX2QSZ4U4bDeStT dgfaM7UHUvgHMlRZupxX1RIhJnavBTE9Q3NtzwXOobZpqDzS61/ZSIkrkmQWDfQCwa99YQ Y1ylYcMGlnC24l0a1U83WLnER2Pm8XSwFh2IeVdzJ0lhUgd06mztfvCWhpDdsM/Rw76GeX il3D2j+f7T7SK2CxJ1X/I5Sh0+DWc9mfhOxKFJU3gE0Ot9w9SxledmSrm+FMmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695592022; a=rsa-sha256; cv=none; b=Yd3ZUW/sOGSl/y2aOqrCQw59B2M5MWmMSjan5scuGMKL3m1gqpdCWEf5XpCvGmRfA7ZTQk fGdx9Q55s2rBrVutGtpOr10sV37yGJH693J5hTHONArIbHJfKCQQkt1XD/TzM3gEnUvaFv Isk+4ikw6fRt4/uVFtTVIVc21D3olPkOfq0fOGZyoxnSjsTE+RaN6+zDD5Y4/jB4fhF/p9 U/0f3+hWVIffJTRx/a5+88OjhMLdL4KgxAhxR8JXP89tAqp6TW56SZG3DkzGgOH17K7bTy 9re7B8nqcgHzC5FRqbwxvjE9tSGqoMl6WgBj0LQmiAZi3tqMljLEfOnKRh0LJw== 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=1695592022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T5Rf20rUmcEM3uisYW/6Ab7e1fUxgRYxgNhh5s858OU=; b=SNNoLzV67W3JXh19GqmoAQzo507JL1Ec2hbUTVE/VY6YO0bwLgJLcaU/sZzR4+y7JRNQSw fFoc6o+KStERzVcN+WyZRSMjyT1B6w8EZvDztU+Q2U1x8GN9sNyFbaBHz+2BC0OMe9j+Rr 4g3fy35UJhCykPg2G9sUI6PWLcpUMwb53H4ks5MEbGbg+O0v8UHcDZA93mSrE3eEOd10rO JhZZbG452WA0IbjcfYuOUje+pOPV2TAypDfMWoXIXJDjZkVkNgVfaunDpCYPSl8s4AsjQM NIL60PRAi4NRFUYguoqyK+kwQSZ9Xxk+RPMVqmZ2Js/BLS4DqLq1j4GPHRoo2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv02t4MdPz13j3; Sun, 24 Sep 2023 21:47: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 38OLl2E7031003; Sun, 24 Sep 2023 21:47:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OLl2iv031000; Sun, 24 Sep 2023 21:47:02 GMT (envelope-from git) Date: Sun, 24 Sep 2023 21:47:02 GMT Message-Id: <202309242147.38OLl2iv031000@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: aaeaba324335 - releng/14.0 - vfs: fix reference counting/locking on LK_UPGRADE error List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: aaeaba3243354f02a7a7c4ff519efd88edc22572 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=aaeaba3243354f02a7a7c4ff519efd88edc22572 commit aaeaba3243354f02a7a7c4ff519efd88edc22572 Author: Olivier Certner AuthorDate: 2023-09-22 20:57:20 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-24 21:46:25 +0000 vfs: fix reference counting/locking on LK_UPGRADE error Factoring out this code unfortunately introduced reference and lock leaks in case of failure in the lock upgrade path under VV_CROSSLOCK. In terms of practical use, this impacts unionfs (and nullfs in a corner case). Fixes: 80bd5ef07025 ("vfs: factor out mount point traversal to a dedicated routine") MFC after: 3 days MFC to: stable/14 releng/14.0 Sponsored by: The FreeBSD Foundation Reviewed by: mjg [mjg: massaged the commit message a little bit] Differential Revision: https://reviews.freebsd.org/D41731 Approved by: re (gjb) (cherry picked from commit 02cbc029dac936b4ddbc38cef969c4b30c9a7d1f) (cherry picked from commit c76dfb929e70c80a2d0280a1371c07738d910c11) --- sys/kern/vfs_lookup.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index 151253ffa0f5..d75351c34314 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -905,8 +905,15 @@ vfs_lookup_cross_mount(struct nameidata *ndp) crosslkflags |= LK_EXCLUSIVE | LK_CANRECURSE; } else if ((crosslkflags & LK_EXCLUSIVE) != 0) { error = vn_lock(dp, LK_UPGRADE); - if (error != 0) + if (error != 0) { + MPASS(error == ENOENT); + vrele(dp); + if (dp != ndp->ni_dvp) + vput(ndp->ni_dvp); + else + vrele(ndp->ni_dvp); break; + } if (dp->v_mountedhere != mp) { continue; } From nobody Sun Sep 24 22:56:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rv1b0311Tz4tcNY; Sun, 24 Sep 2023 22:56: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 4Rv1b01HtLz3FmW; Sun, 24 Sep 2023 22:56:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695596188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XYhefEKX0R5nCQu1sioUKTr42y4mguOH3P+v7z4Cptk=; b=RzGht7dQ9NnBU0Lf9rYNR3+AaZQ7Ut2jPXThPJvjqnjgrPq9Yxy5c9yJ1Rsg8A9Wuw+YyU LEFAvH1H7CwFtg41WNahVbomOiEZW2OwRy2dz2FbCBHYtDMIiOxL0bTYDEgFoV2icIeAEN /DYF4kaDyuQCKKXcwsMkNJqgHXYBhjHVSkxKjyB7U++gMJwSs2T+pYk/PkVWRtYFiJpvx1 YGEpCUk8wEicxBn0hwbgoI1qIIiAZIkk9++jRPx4r+JkJJCgZRp4BdW4Kgp78EMFTDe+tK V3UVn0fGvqHmmUdIu3//6XSoQH8NaP2vtk0Z/NrWKRZAJibGlcPYg87jdtEWRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695596188; a=rsa-sha256; cv=none; b=lHh1rIykAQhM3SLT6Yb8HOJM452qinKIKzFJ0SirEmIX3OvnDsIJy+RajxMEuvhuEobMLD u1tK0LKyeZXbI1q5CK4QVg3jZAxaEOqIHi5noyy+s8tS7cLWcAG9Ywe/TVmWbVDHZP0fbe zcZvIWmr+nyjb2Ux2rpnuhPJDHzKNgAgEdtzoElUc+Qhu28nWj4E/FDXer72GfLB8OWmvF uEXtNTZ0/ezNQJ4zF40dwfw/4CSSJEjUSYcvaU98ZaCih2bI8J4WHkBpv5z3wnin3oeLsO UHwg87WEfcNYkOKUuvxDUGe8PzI3elRl8E5LzIkmWqQQVOH7yo3Qy7sHxJm9gA== 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=1695596188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XYhefEKX0R5nCQu1sioUKTr42y4mguOH3P+v7z4Cptk=; b=UnZ2Y2gbGX7F2qxS5N6xemrWhe9NEvNd4hx2uM9+L5L8P9rkgciuMjixyVik79r5mSIYvH XLIVnU0EeQY3hfLi5q+Kz02A6FYdYEfxrOhIatYks+aNL40wdGQ5ePwojlx5Df/bTpjrcQ SzTmBS31UaL4Kwmtxwec8tcsOWC5x9sUyq+5t0Ft+9yklzq1OCa2qQeE08EMgbZibpO0m5 etckVZ2dwRHoQqfbVRKde4HuVeDpQV0IYi09uZBrvzyMGOX8xRJdhhkJSifYpUgbXnhZwI Y77RXjm33R+2Jww4fAHIavioCesb0CZiqBrceZcvdQr+eYiS2pbsisOoe12+zQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rv1b00LmNz14yD; Sun, 24 Sep 2023 22:56: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 38OMuRt8045934; Sun, 24 Sep 2023 22:56:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38OMuMN9045923; Sun, 24 Sep 2023 22:56:22 GMT (envelope-from git) Date: Sun, 24 Sep 2023 22:56:22 GMT Message-Id: <202309242256.38OMuMN9045923@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: 6cfb90c6ebe4 - stable/14 - zfs: merge openzfs/zfs@5f3069867 (zfs-2.2-release) into stable/14 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 6cfb90c6ebe4c2eb8de4abad679289b9a6c7aae2 Auto-Submitted: auto-generated The branch stable/14 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=6cfb90c6ebe4c2eb8de4abad679289b9a6c7aae2 commit 6cfb90c6ebe4c2eb8de4abad679289b9a6c7aae2 Merge: 3024443da584 5f30698670de Author: Martin Matuska AuthorDate: 2023-09-24 22:26:28 +0000 Commit: Martin Matuska CommitDate: 2023-09-24 22:55:30 +0000 zfs: merge openzfs/zfs@5f3069867 (zfs-2.2-release) into stable/14 Notable upstream pull request merges: #15248 cc75c816c Fix l2arc_apply_transforms ztest crash #15273 6d9bc3ec9 Fix occasional rsend test crashes #15288 f63683fe0 cmd: add 'help' subcommand to zpool and zfs #15297 a199cac6c status: report pool suspension state under failmode=continue Obtained from: OpenZFS OpenZFS commit: 5f30698670dec3fc2085663677021f0a592cf081 sys/contrib/openzfs/cmd/zfs/zfs_main.c | 30 +++++++++++++++++++++ sys/contrib/openzfs/cmd/zpool/zpool_main.c | 31 ++++++++++++++++++++++ sys/contrib/openzfs/cmd/ztest.c | 2 +- sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 3 ++- sys/contrib/openzfs/lib/libzfs_core/libzfs_core.c | 10 ++++--- sys/contrib/openzfs/module/zfs/arc.c | 11 ++++---- sys/contrib/openzfs/module/zfs/spa_misc.c | 4 +-- .../openzfs/tests/zfs-tests/tests/Makefile.am | 2 ++ ...ock_cloning_copyfilerange_fallback_same_txg.ksh | 1 + .../cli_root/zfs_program/zfs_program_json.ksh | 4 ++- sys/modules/zfs/zfs_config.h | 4 +-- sys/modules/zfs/zfs_gitrev.h | 2 +- 12 files changed, 87 insertions(+), 17 deletions(-) diff --cc sys/modules/zfs/zfs_config.h index f5d0a4d6d7d1,000000000000..059989a79d1c mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,1134 -1,0 +1,1134 @@@ +/* + */ + +/* zfs_config.h. Generated from zfs_config.h.in by configure. */ +/* zfs_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* bio_end_io_t wants 1 arg */ +/* #undef HAVE_1ARG_BIO_END_IO_T */ + +/* lookup_bdev() wants 1 arg */ +/* #undef HAVE_1ARG_LOOKUP_BDEV */ + +/* submit_bio() wants 1 arg */ +/* #undef HAVE_1ARG_SUBMIT_BIO */ + +/* bdi_setup_and_register() wants 2 args */ +/* #undef HAVE_2ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 2 args */ +/* #undef HAVE_2ARGS_VFS_GETATTR */ + +/* zlib_deflate_workspacesize() wants 2 args */ +/* #undef HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE */ + +/* bdi_setup_and_register() wants 3 args */ +/* #undef HAVE_3ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 3 args */ +/* #undef HAVE_3ARGS_VFS_GETATTR */ + +/* vfs_getattr wants 4 args */ +/* #undef HAVE_4ARGS_VFS_GETATTR */ + +/* kernel has access_ok with 'type' parameter */ +/* #undef HAVE_ACCESS_OK_TYPE */ + +/* posix_acl has refcount_t */ +/* #undef HAVE_ACL_REFCOUNT */ + +/* add_disk() returns int */ +/* #undef HAVE_ADD_DISK_RET */ + +/* Define if host toolchain supports AES */ +#define HAVE_AES 1 + +/* Define if you have [rt] */ +#define HAVE_AIO_H 1 + +#ifdef __amd64__ +#ifndef RESCUE +/* Define if host toolchain supports AVX */ +#define HAVE_AVX 1 +#endif + +/* Define if host toolchain supports AVX2 */ +#define HAVE_AVX2 1 + +/* Define if host toolchain supports AVX512BW */ +#define HAVE_AVX512BW 1 + +/* Define if host toolchain supports AVX512CD */ +#define HAVE_AVX512CD 1 + +/* Define if host toolchain supports AVX512DQ */ +#define HAVE_AVX512DQ 1 + +/* Define if host toolchain supports AVX512ER */ +#define HAVE_AVX512ER 1 + +/* Define if host toolchain supports AVX512F */ +#define HAVE_AVX512F 1 + +/* Define if host toolchain supports AVX512IFMA */ +#define HAVE_AVX512IFMA 1 + +/* Define if host toolchain supports AVX512PF */ +#define HAVE_AVX512PF 1 + +/* Define if host toolchain supports AVX512VBMI */ +#define HAVE_AVX512VBMI 1 + +/* Define if host toolchain supports AVX512VL */ +#define HAVE_AVX512VL 1 +#endif + +/* bdevname() is available */ +/* #undef HAVE_BDEVNAME */ + +/* bdev_check_media_change() exists */ +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_63 */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_OLD */ + +/* bdev_kobj() exists */ +/* #undef HAVE_BDEV_KOBJ */ + +/* bdev_max_discard_sectors() is available */ +/* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ + +/* bdev_max_secure_erase_sectors() is available */ +/* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ + +/* block_device_operations->submit_bio() returns void */ +/* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ + +/* bdev_whole() is available */ +/* #undef HAVE_BDEV_WHOLE */ + +/* bio_alloc() takes 4 arguments */ +/* #undef HAVE_BIO_ALLOC_4ARG */ + +/* bio->bi_bdev->bd_disk exists */ +/* #undef HAVE_BIO_BDEV_DISK */ + +/* bio->bi_opf is defined */ +/* #undef HAVE_BIO_BI_OPF */ + +/* bio->bi_status exists */ +/* #undef HAVE_BIO_BI_STATUS */ + +/* bio has bi_iter */ +/* #undef HAVE_BIO_BVEC_ITER */ + +/* bio_*_io_acct() available */ +/* #undef HAVE_BIO_IO_ACCT */ + +/* bio_max_segs() is implemented */ +/* #undef HAVE_BIO_MAX_SEGS */ + +/* bio_set_dev() is available */ +/* #undef HAVE_BIO_SET_DEV */ + +/* bio_set_dev() GPL-only */ +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ + +/* bio_set_dev() is a macro */ +/* #undef HAVE_BIO_SET_DEV_MACRO */ + +/* bio_set_op_attrs is available */ +/* #undef HAVE_BIO_SET_OP_ATTRS */ + +/* blkdev_get_by_path() exists and takes 4 args */ +/* #undef HAVE_BLKDEV_GET_BY_PATH_4ARG */ + +/* blkdev_get_by_path() handles ERESTARTSYS */ +/* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ + +/* blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD */ + +/* blkdev_issue_secure_erase() is available */ +/* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ + +/* blkdev_put() accepts void* as arg 2 */ +/* #undef HAVE_BLKDEV_PUT_HOLDER */ + +/* blkdev_reread_part() exists */ +/* #undef HAVE_BLKDEV_REREAD_PART */ + +/* blkg_tryget() is available */ +/* #undef HAVE_BLKG_TRYGET */ + +/* blkg_tryget() GPL-only */ +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ + +/* blk_alloc_disk() exists */ +/* #undef HAVE_BLK_ALLOC_DISK */ + +/* blk_alloc_queue() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ + +/* blk_alloc_queue_rh() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ + +/* blk_cleanup_disk() exists */ +/* #undef HAVE_BLK_CLEANUP_DISK */ + +/* blk_mode_t is defined */ +/* #undef HAVE_BLK_MODE_T */ + +/* block multiqueue is available */ +/* #undef HAVE_BLK_MQ */ + +/* blk queue backing_dev_info is dynamic */ +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ + +/* blk_queue_discard() is available */ +/* #undef HAVE_BLK_QUEUE_DISCARD */ + +/* blk_queue_flag_clear() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_CLEAR */ + +/* blk_queue_flag_set() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_SET */ + +/* blk_queue_flush() is available */ +/* #undef HAVE_BLK_QUEUE_FLUSH */ + +/* blk_queue_flush() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_FLUSH_GPL_ONLY */ + +/* blk_queue_secdiscard() is available */ +/* #undef HAVE_BLK_QUEUE_SECDISCARD */ + +/* blk_queue_secure_erase() is available */ +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */ + +/* blk_queue_update_readahead() exists */ +/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ + +/* blk_queue_write_cache() exists */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE */ + +/* blk_queue_write_cache() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE_GPL_ONLY */ + +/* BLK_STS_RESV_CONFLICT is defined */ +/* #undef HAVE_BLK_STS_RESV_CONFLICT */ + +/* Define if release() in block_device_operations takes 1 arg */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG */ + +/* Define if revalidate_disk() in block_device_operations */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ + +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* check_disk_change() exists */ +/* #undef HAVE_CHECK_DISK_CHANGE */ + +/* clear_inode() is available */ +/* #undef HAVE_CLEAR_INODE */ + +/* dentry uses const struct dentry_operations */ +/* #undef HAVE_CONST_DENTRY_OPERATIONS */ + +/* copy_from_iter() is available */ +/* #undef HAVE_COPY_FROM_ITER */ + +/* copy_splice_read exists */ +/* #undef HAVE_COPY_SPLICE_READ */ + +/* copy_to_iter() is available */ +/* #undef HAVE_COPY_TO_ITER */ + +/* cpu_has_feature() is GPL-only */ +/* #undef HAVE_CPU_HAS_FEATURE_GPL_ONLY */ + +/* yes */ +/* #undef HAVE_CPU_HOTPLUG */ + +/* current_time() exists */ +/* #undef HAVE_CURRENT_TIME */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* DECLARE_EVENT_CLASS() is available */ +/* #undef HAVE_DECLARE_EVENT_CLASS */ + +/* dentry aliases are in d_u member */ +/* #undef HAVE_DENTRY_D_U_ALIASES */ + +/* dequeue_signal() takes 4 arguments */ +/* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ + +/* lookup_bdev() wants dev_t arg */ +/* #undef HAVE_DEVT_LOOKUP_BDEV */ + +/* sops->dirty_inode() wants flags */ +/* #undef HAVE_DIRTY_INODE_WITH_FLAGS */ + +/* disk_check_media_change() exists */ +/* #undef HAVE_DISK_CHECK_MEDIA_CHANGE */ + +/* disk_*_io_acct() available */ +/* #undef HAVE_DISK_IO_ACCT */ + +/* disk_update_readahead() exists */ +/* #undef HAVE_DISK_UPDATE_READAHEAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* d_make_root() is available */ +/* #undef HAVE_D_MAKE_ROOT */ + +/* d_prune_aliases() is available */ +/* #undef HAVE_D_PRUNE_ALIASES */ + +/* dops->d_revalidate() operation takes nameidata */ +/* #undef HAVE_D_REVALIDATE_NAMEIDATA */ + +/* eops->encode_fh() wants child and parent inodes */ +/* #undef HAVE_ENCODE_FH_WITH_INODE */ + +/* sops->evict_inode() exists */ +/* #undef HAVE_EVICT_INODE */ + +/* FALLOC_FL_ZERO_RANGE is defined */ +/* #undef HAVE_FALLOC_FL_ZERO_RANGE */ + +/* fault_in_iov_iter_readable() is available */ +/* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ + +/* filemap_range_has_page() is available */ +/* #undef HAVE_FILEMAP_RANGE_HAS_PAGE */ + +/* fops->aio_fsync() exists */ +/* #undef HAVE_FILE_AIO_FSYNC */ + +/* file_dentry() is available */ +/* #undef HAVE_FILE_DENTRY */ + +/* fops->fadvise() exists */ +/* #undef HAVE_FILE_FADVISE */ + +/* file_inode() is available */ +/* #undef HAVE_FILE_INODE */ + +/* flush_dcache_page() is GPL-only */ +/* #undef HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY */ + +/* iops->follow_link() cookie */ +/* #undef HAVE_FOLLOW_LINK_COOKIE */ + +/* iops->follow_link() nameidata */ +/* #undef HAVE_FOLLOW_LINK_NAMEIDATA */ + +/* Define if compiler supports -Wformat-overflow */ +/* #undef HAVE_FORMAT_OVERFLOW */ + +/* 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 user_namespace* */ +/* #undef HAVE_GENERIC_FILLATTR_USERNS */ + +/* generic_*_io_acct() 3 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_3ARG */ + +/* generic_*_io_acct() 4 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_4ARG */ + +/* generic_readlink is global */ +/* #undef HAVE_GENERIC_READLINK */ + +/* generic_setxattr() exists */ +/* #undef HAVE_GENERIC_SETXATTR */ + +/* generic_write_checks() takes kiocb */ +/* #undef HAVE_GENERIC_WRITE_CHECKS_KIOCB */ + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* iops->get_acl() exists */ +/* #undef HAVE_GET_ACL */ + +/* iops->get_acl() takes rcu */ +/* #undef HAVE_GET_ACL_RCU */ + +/* has iops->get_inode_acl() */ +/* #undef HAVE_GET_INODE_ACL */ + +/* iops->get_link() cookie */ +/* #undef HAVE_GET_LINK_COOKIE */ + +/* iops->get_link() delayed */ +/* #undef HAVE_GET_LINK_DELAYED */ + +/* group_info->gid exists */ +/* #undef HAVE_GROUP_INFO_GID */ + +/* has_capability() is available */ +/* #undef HAVE_HAS_CAPABILITY */ + +/* iattr->ia_vfsuid and iattr->ia_vfsgid exist */ +/* #undef HAVE_IATTR_VFSID */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* iops->getattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_GETATTR */ + +/* iops->setattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_SETATTR */ + +/* APIs for idmapped mount are present */ +/* #undef HAVE_IDMAP_MNT_API */ + +/* Define if compiler supports -Wimplicit-fallthrough */ +/* #undef HAVE_IMPLICIT_FALLTHROUGH */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + +/* 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_flags() exists */ +/* #undef HAVE_INODE_SET_FLAGS */ + +/* inode_set_iversion() exists */ +/* #undef HAVE_INODE_SET_IVERSION */ + +/* inode->i_*time's are timespec64 */ +/* #undef HAVE_INODE_TIMESPEC64_TIMES */ + +/* timestamp_truncate() exists */ +/* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* in_compat_syscall() is available */ +/* #undef HAVE_IN_COMPAT_SYSCALL */ + +/* iops->create() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_CREATE_IDMAP */ + +/* iops->create() takes struct user_namespace* */ +/* #undef HAVE_IOPS_CREATE_USERNS */ + +/* iops->mkdir() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKDIR_IDMAP */ + +/* iops->mkdir() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKDIR_USERNS */ + +/* iops->mknod() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKNOD_IDMAP */ + +/* iops->mknod() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKNOD_USERNS */ + +/* iops->permission() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_PERMISSION_IDMAP */ + +/* iops->permission() takes struct user_namespace* */ +/* #undef HAVE_IOPS_PERMISSION_USERNS */ + +/* iops->rename() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_RENAME_IDMAP */ + +/* iops->rename() takes struct user_namespace* */ +/* #undef HAVE_IOPS_RENAME_USERNS */ + +/* iops->setattr() exists */ +/* #undef HAVE_IOPS_SETATTR */ + +/* iops->symlink() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_SYMLINK_IDMAP */ + +/* iops->symlink() takes struct user_namespace* */ +/* #undef HAVE_IOPS_SYMLINK_USERNS */ + +/* iov_iter_advance() is available */ +/* #undef HAVE_IOV_ITER_ADVANCE */ + +/* iov_iter_count() is available */ +/* #undef HAVE_IOV_ITER_COUNT */ + +/* iov_iter_fault_in_readable() is available */ +/* #undef HAVE_IOV_ITER_FAULT_IN_READABLE */ + +/* iov_iter_revert() is available */ +/* #undef HAVE_IOV_ITER_REVERT */ + +/* iov_iter_type() is available */ +/* #undef HAVE_IOV_ITER_TYPE */ + +/* iov_iter types are available */ +/* #undef HAVE_IOV_ITER_TYPES */ + +/* yes */ +/* #undef HAVE_IO_SCHEDULE_TIMEOUT */ + +/* Define to 1 if you have the `issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* iter_iov() is available */ +/* #undef HAVE_ITER_IOV */ + +/* kernel has kernel_fpu_* functions */ +/* #undef HAVE_KERNEL_FPU */ + +/* kernel has asm/fpu/api.h */ +/* #undef HAVE_KERNEL_FPU_API_HEADER */ + +/* kernel fpu internal */ +/* #undef HAVE_KERNEL_FPU_INTERNAL */ + +/* kernel has asm/fpu/internal.h */ +/* #undef HAVE_KERNEL_FPU_INTERNAL_HEADER */ + +/* uncached_acl_sentinel() exists */ +/* #undef HAVE_KERNEL_GET_ACL_HANDLE_CACHE */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_KERNEL_INFINITE_RECURSION */ + +/* kernel does stack verification */ +/* #undef HAVE_KERNEL_OBJTOOL */ + +/* kernel has linux/objtool.h */ +/* #undef HAVE_KERNEL_OBJTOOL_HEADER */ + +/* kernel_read() take loff_t pointer */ +/* #undef HAVE_KERNEL_READ_PPOS */ + +/* timer_list.function gets a timer_list */ +/* #undef HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST */ + +/* struct timer_list has a flags member */ +/* #undef HAVE_KERNEL_TIMER_LIST_FLAGS */ + +/* timer_setup() is available */ +/* #undef HAVE_KERNEL_TIMER_SETUP */ + +/* kernel_write() take loff_t pointer */ +/* #undef HAVE_KERNEL_WRITE_PPOS */ + +/* kmem_cache_create_usercopy() exists */ +/* #undef HAVE_KMEM_CACHE_CREATE_USERCOPY */ + +/* kstrtoul() exists */ +/* #undef HAVE_KSTRTOUL */ + +/* ktime_get_coarse_real_ts64() exists */ +/* #undef HAVE_KTIME_GET_COARSE_REAL_TS64 */ + +/* ktime_get_raw_ts64() exists */ +/* #undef HAVE_KTIME_GET_RAW_TS64 */ + +/* kvmalloc exists */ +/* #undef HAVE_KVMALLOC */ + +/* Define if you have [aio] */ +/* #undef HAVE_LIBAIO */ + +/* Define if you have [blkid] */ +/* #undef HAVE_LIBBLKID */ + +/* Define if you have [crypto] */ +#define HAVE_LIBCRYPTO 1 + +/* Define if you have [tirpc] */ +/* #undef HAVE_LIBTIRPC */ + +/* Define if you have [udev] */ +/* #undef HAVE_LIBUDEV */ + +/* Define if you have [uuid] */ +/* #undef HAVE_LIBUUID */ + +/* linux/blk-cgroup.h exists */ +/* #undef HAVE_LINUX_BLK_CGROUP_HEADER */ + +/* lseek_execute() is available */ +/* #undef HAVE_LSEEK_EXECUTE */ + +/* makedev() is declared in sys/mkdev.h */ +/* #undef HAVE_MAKEDEV_IN_MKDEV */ + +/* makedev() is declared in sys/sysmacros.h */ +/* #undef HAVE_MAKEDEV_IN_SYSMACROS */ + +/* Noting that make_request_fn() returns blk_qc_t */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_QC */ + +/* Noting that make_request_fn() returns void */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_VOID */ + +/* iops->mkdir() takes umode_t */ +/* #undef HAVE_MKDIR_UMODE_T */ + +/* Define to 1 if you have the `mlockall' function. */ +#define HAVE_MLOCKALL 1 + +/* lookup_bdev() wants mode arg */ +/* #undef HAVE_MODE_LOOKUP_BDEV */ + +/* Define if host toolchain supports MOVBE */ +#define HAVE_MOVBE 1 + +/* new_sync_read()/new_sync_write() are available */ +/* #undef HAVE_NEW_SYNC_READ */ + +/* folio_wait_bit() exists */ +/* #undef HAVE_PAGEMAP_FOLIO_WAIT_BIT */ + +/* part_to_dev() exists */ +/* #undef HAVE_PART_TO_DEV */ + +/* iops->getattr() takes a path */ +/* #undef HAVE_PATH_IOPS_GETATTR */ + +/* Define if host toolchain supports PCLMULQDQ */ +#define HAVE_PCLMULQDQ 1 + +/* percpu_counter_add_batch() is defined */ +/* #undef HAVE_PERCPU_COUNTER_ADD_BATCH */ + +/* percpu_counter_init() wants gfp_t */ +/* #undef HAVE_PERCPU_COUNTER_INIT_WITH_GFP */ + +/* posix_acl_chmod() exists */ +/* #undef HAVE_POSIX_ACL_CHMOD */ + +/* posix_acl_from_xattr() needs user_ns */ +/* #undef HAVE_POSIX_ACL_FROM_XATTR_USERNS */ + +/* posix_acl_release() is available */ +/* #undef HAVE_POSIX_ACL_RELEASE */ + +/* posix_acl_release() is GPL-only */ +/* #undef HAVE_POSIX_ACL_RELEASE_GPL_ONLY */ + +/* posix_acl_valid() wants user namespace */ +/* #undef HAVE_POSIX_ACL_VALID_WITH_NS */ + +/* proc_ops structure exists */ +/* #undef HAVE_PROC_OPS_STRUCT */ + +/* iops->put_link() cookie */ +/* #undef HAVE_PUT_LINK_COOKIE */ + +/* iops->put_link() delayed */ +/* #undef HAVE_PUT_LINK_DELAYED */ + +/* iops->put_link() nameidata */ +/* #undef HAVE_PUT_LINK_NAMEIDATA */ + +/* If available, contains the Python version number currently in use. */ +#define HAVE_PYTHON "3.7" + +/* qat is enabled and existed */ +/* #undef HAVE_QAT */ + +/* struct reclaim_state has reclaimed */ +/* #undef HAVE_RECLAIM_STATE_RECLAIMED */ + +/* register_shrinker is vararg */ +/* #undef HAVE_REGISTER_SHRINKER_VARARG */ + +/* register_sysctl_table exists */ +/* #undef HAVE_REGISTER_SYSCTL_TABLE */ + +/* iops->rename2() exists */ +/* #undef HAVE_RENAME2 */ + +/* struct inode_operations_wrapper takes .rename2() */ +/* #undef HAVE_RENAME2_OPERATIONS_WRAPPER */ + +/* iops->rename() wants flags */ +/* #undef HAVE_RENAME_WANTS_FLAGS */ + +/* REQ_DISCARD is defined */ +/* #undef HAVE_REQ_DISCARD */ + +/* REQ_FLUSH is defined */ +/* #undef HAVE_REQ_FLUSH */ + +/* REQ_OP_DISCARD is defined */ +/* #undef HAVE_REQ_OP_DISCARD */ + +/* REQ_OP_FLUSH is defined */ +/* #undef HAVE_REQ_OP_FLUSH */ + +/* REQ_OP_SECURE_ERASE is defined */ +/* #undef HAVE_REQ_OP_SECURE_ERASE */ + +/* REQ_PREFLUSH is defined */ +/* #undef HAVE_REQ_PREFLUSH */ + +/* revalidate_disk() is available */ +/* #undef HAVE_REVALIDATE_DISK */ + +/* revalidate_disk_size() is available */ +/* #undef HAVE_REVALIDATE_DISK_SIZE */ + +/* struct rw_semaphore has member activity */ +/* #undef HAVE_RWSEM_ACTIVITY */ + +/* struct rw_semaphore has atomic_long_t member count */ +/* #undef HAVE_RWSEM_ATOMIC_LONG_COUNT */ + +/* linux/sched/signal.h exists */ +/* #undef HAVE_SCHED_SIGNAL_HEADER */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SECURITY_PAM_MODULES_H 1 + +/* setattr_prepare() accepts mnt_idmap */ +/* #undef HAVE_SETATTR_PREPARE_IDMAP */ + +/* setattr_prepare() is available, doesn't accept user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_NO_USERNS */ + +/* setattr_prepare() accepts user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_USERNS */ + +/* iops->set_acl() exists, takes 3 args */ +/* #undef HAVE_SET_ACL */ + +/* iops->set_acl() takes 4 args, arg1 is struct mnt_idmap * */ +/* #undef HAVE_SET_ACL_IDMAP_DENTRY */ + +/* iops->set_acl() takes 4 args */ +/* #undef HAVE_SET_ACL_USERNS */ + +/* iops->set_acl() takes 4 args, arg2 is struct dentry * */ +/* #undef HAVE_SET_ACL_USERNS_DENTRY_ARG2 */ + +/* set_cached_acl() is usable */ +/* #undef HAVE_SET_CACHED_ACL_USABLE */ + +/* set_special_state() exists */ +/* #undef HAVE_SET_SPECIAL_STATE */ + +/* struct shrink_control exists */ +/* #undef HAVE_SHRINK_CONTROL_STRUCT */ + +/* kernel_siginfo_t exists */ +/* #undef HAVE_SIGINFO */ + +/* signal_stop() exists */ +/* #undef HAVE_SIGNAL_STOP */ + +/* new shrinker callback wants 2 args */ +/* #undef HAVE_SINGLE_SHRINKER_CALLBACK */ + +/* cs->count_objects exists */ +/* #undef HAVE_SPLIT_SHRINKER_CALLBACK */ + +#if defined(__amd64__) || defined(__i386__) +/* Define if host toolchain supports SSE */ +#define HAVE_SSE 1 + +/* Define if host toolchain supports SSE2 */ +#define HAVE_SSE2 1 + +/* Define if host toolchain supports SSE3 */ +#define HAVE_SSE3 1 + +/* Define if host toolchain supports SSE4.1 */ +#define HAVE_SSE4_1 1 + +/* Define if host toolchain supports SSE4.2 */ +#define HAVE_SSE4_2 1 + +/* Define if host toolchain supports SSSE3 */ +#define HAVE_SSSE3 1 +#endif + +/* STACK_FRAME_NON_STANDARD is defined */ +/* #undef HAVE_STACK_FRAME_NON_STANDARD */ + +/* standalone exists */ +/* #undef HAVE_STANDALONE_LINUX_STDARG */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcat' function. */ +#define HAVE_STRLCAT 1 + +/* Define to 1 if you have the `strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* submit_bio is member of struct block_device_operations */ +/* #undef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS */ + +/* super_setup_bdi_name() exits */ +/* #undef HAVE_SUPER_SETUP_BDI_NAME */ + +/* super_block->s_user_ns exists */ +/* #undef HAVE_SUPER_USER_NS */ + +/* struct kobj_type has default_groups */ +/* #undef HAVE_SYSFS_DEFAULT_GROUPS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* i_op->tmpfile() exists */ +/* #undef HAVE_TMPFILE */ + +/* i_op->tmpfile() uses old dentry signature */ +/* #undef HAVE_TMPFILE_DENTRY */ + +/* i_op->tmpfile() has mnt_idmap */ +/* #undef HAVE_TMPFILE_IDMAP */ + +/* i_op->tmpfile() has userns */ +/* #undef HAVE_TMPFILE_USERNS */ + +/* totalhigh_pages() exists */ +/* #undef HAVE_TOTALHIGH_PAGES */ + +/* kernel has totalram_pages() */ +/* #undef HAVE_TOTALRAM_PAGES_FUNC */ + +/* Define to 1 if you have the `udev_device_get_is_initialized' function. */ +/* #undef HAVE_UDEV_DEVICE_GET_IS_INITIALIZED */ + +/* kernel has __kernel_fpu_* functions */ +/* #undef HAVE_UNDERSCORE_KERNEL_FPU */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* iops->getattr() takes struct user_namespace* */ +/* #undef HAVE_USERNS_IOPS_GETATTR */ + +/* iops->setattr() takes struct user_namespace* */ +/* #undef HAVE_USERNS_IOPS_SETATTR */ + +/* user_namespace->ns.inum exists */ +/* #undef HAVE_USER_NS_COMMON_INUM */ + +/* iops->getattr() takes a vfsmount */ +/* #undef HAVE_VFSMOUNT_IOPS_GETATTR */ + +/* fops->clone_file_range() is available */ +/* #undef HAVE_VFS_CLONE_FILE_RANGE */ + +/* fops->copy_file_range() is available */ +/* #undef HAVE_VFS_COPY_FILE_RANGE */ + +/* fops->dedupe_file_range() is available */ +/* #undef HAVE_VFS_DEDUPE_FILE_RANGE */ + +/* aops->direct_IO() uses iovec */ +/* #undef HAVE_VFS_DIRECT_IO_IOVEC */ + +/* aops->direct_IO() uses iov_iter without rw */ +/* #undef HAVE_VFS_DIRECT_IO_ITER */ + +/* aops->direct_IO() uses iov_iter with offset */ +/* #undef HAVE_VFS_DIRECT_IO_ITER_OFFSET */ + +/* aops->direct_IO() uses iov_iter with rw and offset */ +/* #undef HAVE_VFS_DIRECT_IO_ITER_RW_OFFSET */ + +/* filemap_dirty_folio exists */ +/* #undef HAVE_VFS_FILEMAP_DIRTY_FOLIO */ + +/* file_operations_extend takes .copy_file_range() and .clone_file_range() */ +/* #undef HAVE_VFS_FILE_OPERATIONS_EXTEND */ + +/* generic_copy_file_range() is available */ +/* #undef HAVE_VFS_GENERIC_COPY_FILE_RANGE */ + +/* All required iov_iter interfaces are available */ +/* #undef HAVE_VFS_IOV_ITER */ + +/* fops->iterate() is available */ +/* #undef HAVE_VFS_ITERATE */ + +/* fops->iterate_shared() is available */ +/* #undef HAVE_VFS_ITERATE_SHARED */ + +/* fops->readdir() is available */ +/* #undef HAVE_VFS_READDIR */ + +/* address_space_operations->readpages exists */ +/* #undef HAVE_VFS_READPAGES */ + +/* read_folio exists */ +/* #undef HAVE_VFS_READ_FOLIO */ + +/* fops->remap_file_range() is available */ +/* #undef HAVE_VFS_REMAP_FILE_RANGE */ + +/* fops->read/write_iter() are available */ +/* #undef HAVE_VFS_RW_ITERATE */ + +/* __set_page_dirty_nobuffers exists */ +/* #undef HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS */ + +/* __vmalloc page flags exists */ +/* #undef HAVE_VMALLOC_PAGE_KERNEL */ + +/* yes */ +/* #undef HAVE_WAIT_ON_BIT_ACTION */ + +/* wait_queue_entry_t exists */ +/* #undef HAVE_WAIT_QUEUE_ENTRY_T */ *** 201 LINES SKIPPED *** From nobody Mon Sep 25 09:51:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvJ6x2Ncmz4vK8n; Mon, 25 Sep 2023 09:51: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 4RvJ6x1rF5z3Bsb; Mon, 25 Sep 2023 09: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=1695635497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wt46WR117OEinsDFMq0CCCy/SHdK3zU16LBwcmF9vm0=; b=na+mZha2eCmiFHtSlk1ubpOxxcp+8Jmlpp5zA1K2+Thcd+pAZEYAIomno6eRXzH/ED0ajq osJDrGAfsLztdg0aVfIFOwt77ETa1mn3R+AvIiw4CnQWJW9ZyMRBD2k9NhS+VzEcgaJM23 Cf0zjuz5rK/qSPmLwT3B5VeWm/MnwPIsZYzbLnWd+BlcFUlCyRuqfk3vlWsEreNA2lDcf8 Ym6sq436rQeuiN7MYOqWaxOYK/u6+wdFG3cHomDsToltUxOXSYAWlvT6mFQa94hSjrlu1c Yz42NJmBnEcDHO7g4+2xSlh3c3amwAKoYFWhumMYwNlfKGqcqdclAhQK5FKYaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695635497; a=rsa-sha256; cv=none; b=XW1qpfQV2cbeu93Yq3L2la+dR1MUyZVmyUwEr0iR+33OjXL3Sp9Gjx4OPJjpydUXWOYScM nDwlArZIE/jHh959iwvuPVGkZThJUommmhwGaxV5nP7wlKxQEYk77+t3UOujDwIEXsU/v8 WUzYagj7R0DN0fy2GJfAc9SSkEVF1nTPfQ1P4gbfv9AngJ4XtO65DWo0kRtixNUUtwl9LX xM5vgj4oVXh3ixdVicDYUTi5oz+bezXseTqGmhFKCHC0Kt9/hbV2IAafwqlvWDGMphkSRA RmxMqTqi/HLBrlCVPM+g6AKDSzcl0iP6nbH0weIzJ7tosd8U9srWqBRP2pUAYg== 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=1695635497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wt46WR117OEinsDFMq0CCCy/SHdK3zU16LBwcmF9vm0=; b=MBiZtwbxLBoqOdb5PnnmhYw9XX1nyoK0LXUKzqCKXAYjgn4uVJmM6MgdllSan3+kyNOzWh tvtoNognHbY+Bh3iS8POBE/HOO1pG37E5yG8UN05F5QEKUOOxGTmYKclYrwBXvKk+M77yK AwGVLguEhVfyhtJ+kVbt9G+rF23vfAywSwcVXjLNWrasFSlecqwzAiLP6WUEFFSBdYWKfn Sw/t2a7/PpmW4i/7yOkLwyMQ6uL7BFcSwkKVw4vuVgtjZlknFlo8zJQUOgMLlLUw47I2Y/ avTlOnX2HTMQP03bOfXqtCk//OB+ODuvSl7AS8mRT1rJbutZzgxbaisi6GF1fw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvJ6x0v8bz1Nwg; Mon, 25 Sep 2023 09: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 38P9pb8X038080; Mon, 25 Sep 2023 09: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 38P9pbfe038077; Mon, 25 Sep 2023 09:51:37 GMT (envelope-from git) Date: Mon, 25 Sep 2023 09:51:37 GMT Message-Id: <202309250951.38P9pbfe038077@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: 7f9f15230765 - stable/14 - switch groff parameter -man to -mandoc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7f9f152307652d1cb454acb8b9018f29672b452f Auto-Submitted: auto-generated The branch stable/14 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=7f9f152307652d1cb454acb8b9018f29672b452f commit 7f9f152307652d1cb454acb8b9018f29672b452f Author: Wolfram Schneider AuthorDate: 2023-09-07 06:28:24 +0000 Commit: Wolfram Schneider CommitDate: 2023-09-25 09:47:49 +0000 switch groff parameter -man to -mandoc groff 1.23.0 changed the semantics of the -man parameter, and many manual pages are not rendered. The -mandoc parameter brings back the old behavior, as in groff 1.22.4 and earlier. PR: 273565, 273245 Reviewed by: emaste, bapt MFC after: 1 week for all supported branches (stable/12, 13, 14) Differential Revision: https://reviews.freebsd.org/D41737 (cherry picked from commit 035f7c9a3653d91564a5513f1311aa3b6e14a17e) --- usr.bin/man/man.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index dd327cc5d1d8..b18895a91d96 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -1071,11 +1071,11 @@ do_whatis() { # User's PATH setting decides on the groff-suite to pick up. EQN=eqn -NROFF='groff -S -P-h -Wall -mtty-char -man' +NROFF='groff -S -P-h -Wall -mtty-char -mandoc' PIC=pic REFER=refer TBL=tbl -TROFF='groff -S -man' +TROFF='groff -S -mandoc' VGRIND=vgrind LOCALE=/usr/bin/locale From nobody Mon Sep 25 09:51:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvJ6y4y1yz4vJy9; Mon, 25 Sep 2023 09: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 4RvJ6y2sRlz3Bsw; Mon, 25 Sep 2023 09:51:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695635498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVuxKKt3Dho7X8wTiPgc/pfV8vVMKTFZkBBannZSP4M=; b=IEqMIotV0NLrn21mk2PWtNKPhxeXQxPl0JizDN+lJtGUz48SqU/1OHh8dVZk9M6N8R57St b380ec0Dkup/kggSN1+sC/V4cyszgJTtxaX1cW834mHrOK2gdtd3OscuuuJhZI8XEnwjmj P/lYNrYaAwIKd9MBfDHNVQVP7ipctbNGIhkQbEoERDtgWu2BYp1y7RybYmyaQ1A4V3myRr 173HCECaK5B19EuYTx74Kp9Z7lC3gJmROEVu7mumKx0tTk7ca7jcqzmA9qoxxmTEoTwZiN Ku5T1e0UqWfsl2cXOmr/PJPGsKZlYopaMMOUhjeCHZ+M0Xim+OSsgXtfh1Zw6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695635498; a=rsa-sha256; cv=none; b=RDX042p2xztzh7OXJcqBBULbEtO1TGi+Seu+SvgBm+H0GajvejzqlgRCfRfLpDh5Sg3mKE Nl0/MqPPc6Ea5bOwLkM9yR2SOb4RxrM/tPW+WeCI1i2OPaRTSzaecFf2fh02sIqWF1QLih vVPlFjLWQlP82FNrCsla2AabyLKIgKCX87NrFnL+wNKQaE8YK3+c/ECFadbkWdnMcSdJeK 6ghTZT/OGUgUrXCH+VWwpActPPHcfiiOjhMiRML5eSfT/ae1AMpp/bDWdBwKjRM5LnR3C3 8LT2FNHgiiWLiRE4ih4v1H6MIQzRunyrEHr75hv6qKwyQOWaXGhW4wtYR8cBaA== 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=1695635498; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVuxKKt3Dho7X8wTiPgc/pfV8vVMKTFZkBBannZSP4M=; b=vbvRA00nPklUUG0IzF1nVNCxBpvafMsaqB+GU5Mgy9LnzPEiMkQz/qenkT/7BhN8DtlAg+ 81/Blu1C7DFS6Pn2BxThB2G1+gFqhWF1ivf93NJOZNeFqGBZJBAGLEIhuRJB/saeuyJL6W rrQajnZTM9zgHkHsD/8bXqvKJjgtm1fzSxonp2E3W43z8Ug0j7lHKEfc70bqMihqBMyGMr ExdS1/3Zy84I7tTIDBgQuqDAO1muo8RpP+V1GBInYAqsTzvT4Jqpdd7Cvos5hkKJJSgP7F npPjxRNS95lczssNkltmaaUt0Fx+8NCYvSMzjpFZ5I6Qqu/gMQiygS2QNZKPyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvJ6y1vzYz1NfN; Mon, 25 Sep 2023 09: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 38P9pcI3038154; Mon, 25 Sep 2023 09: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 38P9pck7038151; Mon, 25 Sep 2023 09:51:38 GMT (envelope-from git) Date: Mon, 25 Sep 2023 09:51:38 GMT Message-Id: <202309250951.38P9pck7038151@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: b8acbf417699 - stable/14 - switch groff parameter -man to -mandoc for new groff release 1.23.0 PR: 273565 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b8acbf417699d7a164c4874a822e030d06216387 Auto-Submitted: auto-generated The branch stable/14 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=b8acbf417699d7a164c4874a822e030d06216387 commit b8acbf417699d7a164c4874a822e030d06216387 Author: Wolfram Schneider AuthorDate: 2023-09-07 14:59:12 +0000 Commit: Wolfram Schneider CommitDate: 2023-09-25 09:51:13 +0000 switch groff parameter -man to -mandoc for new groff release 1.23.0 PR: 273565 (cherry picked from commit cd89fe3923e92ab090cbdff7eb215c2d85b51718) --- usr.bin/man/man.conf.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/man/man.conf.5 b/usr.bin/man/man.conf.5 index 5bffbf96bec2..90595bb6d498 100644 --- a/usr.bin/man/man.conf.5 +++ b/usr.bin/man/man.conf.5 @@ -113,8 +113,8 @@ MANLOCALE ja_JP.eucJP EQN_JA /usr/local/bin/geqn PIC_JA /usr/local/bin/gpic TBL_JA /usr/local/bin/gtbl -NROFF_JA /usr/local/bin/groff -man -dlang=ja_JP.eucJP -TROFF_JA /usr/local/bin/groff -man -dlang=ja_JP.euc.jp +NROFF_JA /usr/local/bin/groff -mandoc -dlang=ja_JP.eucJP +TROFF_JA /usr/local/bin/groff -mandoc -dlang=ja_JP.euc.jp .Ed .Pp If the system administrator decides to override the From nobody Mon Sep 25 10:24:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvJsK49Vfz4vLbL; Mon, 25 Sep 2023 10:24: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 4RvJsK3gyKz3GtN; Mon, 25 Sep 2023 10:24:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695637493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B2nw1e81XNeI17WMI9bfQWvGaOaRB/MyNZdILUt9ifc=; b=ky3fnWih2XucQKwdsrwI4WNTVWJAHHYdOOIkJwmqNXOwsFAuRdjaAfzDiToFWE3eZp+bgy fuBdNPzMtZNk6xjAUsPlizhE4U+X07GnY11FysS6Y4W27SICb3Sw0grWo6DDSWThwFuzEg yNs3pXwzOz37TTVmQloephmsLg0r3Madd6/e1VLFA0ZPNaF5og3XOuzHnVxv2EUR5VsKhC eMLtFEMrtDAcQe5bNKKdLBmL4nO1XjvhkH9DyIfgdppFH5bJFC2glwk4mbfaQJSDUVtgT4 WIjGUJhZeheebg6OLuZSpE+PL04T03W0E+Mrotutl3CqvCTznvy9Kc/ZjpgEdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695637493; a=rsa-sha256; cv=none; b=BrD7ZfU02hNaT37lxGS6Bn7bmsKo9R3ATRmAZSWQ2HBVsEa9ylDBYsyQoHQS24X3yDCyfM KANErm8oLMMMP1P6kr9P8gLZOn0tvuBy+ycAS1u57Dsgi+rk1nQDvN5YQVtEsvD7iN3lBS UnvfFvnFmF3gAbis8DJYbfXBT2NDCIeNf70EgVDJ61pZoNmyvDl85dzzfj03Mb8mZL3nvy 2ee5smvBTu6NGIx3bdze3p1VCbxi5B7R4UQHeRC+m0Pmyiq9U5rVd+Wxt2satOMD3MCung StRULyNYTbPqZTvPZbNWU9CuLBiqyqm+wfANwnrndM1nr5btS7GgaeAtuSh4hw== 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=1695637493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B2nw1e81XNeI17WMI9bfQWvGaOaRB/MyNZdILUt9ifc=; b=rfmI3xHdZ9xnfW0+am+rESQ8p/u3H39HdUFWisvBfn4+V3kCoWLfPCPoTywjo8uC7AlJ+e mNdRixBDSMZw8rZmXQYPdcQiCNSr2vcFavISF7PJfrnzahBKkcfrczzcHjy84eLQ/ezDdY aov/8+egI9kbHzJaLn9L3ZjOYnJPvRwwy1lfg68Kfp8l0/HYTv3IJVnB4cFyHZPQonkwwI MlObZODRkMrgBbqk6xFQgEWQ1cO/RU+wiqmrGdf0qYN1poZABp08aS/JUFZg5W+ovGB0Gw 8xnt4+zdNdftEAKGz2EeIGg5Oxdm7A4Wky+DoO0DecvS3zcWFUNzjyTgYRtVdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvJsK2kxxz1PJx; Mon, 25 Sep 2023 10:24: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 38PAOrIo092742; Mon, 25 Sep 2023 10:24:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PAOrdJ092739; Mon, 25 Sep 2023 10:24:53 GMT (envelope-from git) Date: Mon, 25 Sep 2023 10:24:53 GMT Message-Id: <202309251024.38PAOrdJ092739@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 058e9c13e309 - stable/14 - linux(4): Cleanup dummy syscall list on arm64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 058e9c13e3096ff4e9b53cee83b8764d2cc9a85f Auto-Submitted: auto-generated The branch stable/14 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=058e9c13e3096ff4e9b53cee83b8764d2cc9a85f commit 058e9c13e3096ff4e9b53cee83b8764d2cc9a85f Author: Dmitry Chagin AuthorDate: 2023-09-12 10:37:45 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-25 10:18:54 +0000 linux(4): Cleanup dummy syscall list on arm64 These syscalls do not exist on arm64 Linux. MFC after: 1 week (cherry picked from commit d0266fbab9b8eafc1aedffbedf66dedb4774794c) --- sys/arm64/linux/linux_dummy_machdep.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sys/arm64/linux/linux_dummy_machdep.c b/sys/arm64/linux/linux_dummy_machdep.c index d38cea2ff1a4..a7a7795f573d 100644 --- a/sys/arm64/linux/linux_dummy_machdep.c +++ b/sys/arm64/linux/linux_dummy_machdep.c @@ -42,11 +42,6 @@ LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); * Before adding new stubs to this file, please check if a stub can be added to * the machine-independent code in sys/compat/linux/linux_dummy.c. */ - -UNIMPLEMENTED(get_thread_area); -UNIMPLEMENTED(set_thread_area); -UNIMPLEMENTED(uselib); - DUMMY(mq_open); DUMMY(mq_unlink); DUMMY(mq_timedsend); From nobody Mon Sep 25 10:24:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvJsL5Pp0z4vL9n; Mon, 25 Sep 2023 10:24: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 4RvJsL4yGXz3HCx; Mon, 25 Sep 2023 10:24:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695637494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NR+JtCz7A37p0F4Cc0u2Y2G8K8B4kCpxbxFEkhRwgPs=; b=V6I48ILD6Ej/KMlKxlgADM19+onXweiwis6rV/sDDJL2GnQt5/TaErUODnF6hl8AiUhiXO 1whIHmVZAjBhboEGSo7UWMuBwENYhcdEo6JMCgJN6wMHPCDxyAL88xjB1aOlubT+eLCzfQ KqKtDISSgXWQy+2Ff3iRCad0EOTs3AqTLQfzcwuwqBlWqee3Bk4KyteLHxDi6lXP1ywsCu EZ17mTY5FjY60dN6huOfte9VLo8y4o9g9e1KaSNwrTU2VIgFfRpp9X5kAZG4Abqup2KHzc mkbwXpO2qvUA+P15jznjLsYvTZJpKsqAolXonSSckHmZzP8wgXor9aKUooUGCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695637494; a=rsa-sha256; cv=none; b=KwJ139EzHiu+mq1Lru6a0HaZX96ZFZ1VZnXDNMyCx5Q45P52KnqDh1Qso0JTkic0XayvS7 4gmrNpgl7NNZDmUnNTx6wLup0pbQcNM3QhyGXjx2jDOjyiujruDnr9CZnGtHLQputi4I4r /PDcK6iaho4kW/dOgO+4CCVFobI8Gghfk8LzddXc5N+ncEVFXW+UdLppq3c+ts6yx6OPOS DNBxMdUSc5JRl1fq6YZUc9oaZmr9n1f4+MF3PKyyfoffqQZy9bBlmQgEtmHotKSmvETq5u dQZ0fcdxF1CrErLRO7sx4B+qkaU4AEoEJLvDH6fEOIIPIFftg3GYEmRfhabhNA== 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=1695637494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NR+JtCz7A37p0F4Cc0u2Y2G8K8B4kCpxbxFEkhRwgPs=; b=e91hHP6TT0g4gN8h96qKsFwslqJ5GK8ZouO1BtMYK85blLPxBcXinhbF9nnW5vLNW/7cU3 UZEOo+fjdo7EgRhw29L5B4fyAN43Q5S5STYQR/4n9uYETfTGChCw7X4SkwPI80LGsTY12J strIpVfOOc7PzDlzpV3oKlCTAWNpJzzz/BNTsl6ifH+HgEEio4uM5zo6GaSf8hdFNuYFUC JZ/sFJBvVXfGU4UWHZY7Yiat5LSYv7FTEO27wFEaC66plrAk447vNNF0o15IxLgtVuSa46 8gX4z6WV5fEqGAA/QpmXzFcY1SjRE38OyUBPhxStqAFYSnboXF1F5TnIGjJdeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvJsL3hJSz1PsF; Mon, 25 Sep 2023 10:24: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 38PAOsng092779; Mon, 25 Sep 2023 10:24:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PAOsJ7092776; Mon, 25 Sep 2023 10:24:54 GMT (envelope-from git) Date: Mon, 25 Sep 2023 10:24:54 GMT Message-Id: <202309251024.38PAOsJ7092776@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 5ce9df199d7c - stable/14 - linux(4): Staticize lsiginfo_to_siginfo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5ce9df199d7c5f70b4bcaac1ccb26254ddc72d83 Auto-Submitted: auto-generated The branch stable/14 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=5ce9df199d7c5f70b4bcaac1ccb26254ddc72d83 commit 5ce9df199d7c5f70b4bcaac1ccb26254ddc72d83 Author: Dmitry Chagin AuthorDate: 2023-09-18 14:52:43 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-25 10:18:54 +0000 linux(4): Staticize lsiginfo_to_siginfo It's not used outside of linux_signal.c While here fix the indentation. MFC after: 1 week (cherry picked from commit 794328fbc174360a09b6ad341624e9bce46f0d2e) --- sys/compat/linux/linux_signal.c | 2 +- sys/compat/linux/linux_signal.h | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c index 5b4f9c2adc6a..e3e3fc74a6a9 100644 --- a/sys/compat/linux/linux_signal.c +++ b/sys/compat/linux/linux_signal.c @@ -766,7 +766,7 @@ siginfo_to_lsiginfo(const siginfo_t *si, l_siginfo_t *lsi, l_int sig) } } -int +static int lsiginfo_to_siginfo(struct thread *td, const l_siginfo_t *lsi, siginfo_t *si, int sig) { diff --git a/sys/compat/linux/linux_signal.h b/sys/compat/linux/linux_signal.h index 3ef64c0007fb..3f3599f4027e 100644 --- a/sys/compat/linux/linux_signal.h +++ b/sys/compat/linux/linux_signal.h @@ -31,9 +31,7 @@ int linux_do_sigaction(struct thread *, int, l_sigaction_t *, l_sigaction_t *); void siginfo_to_lsiginfo(const siginfo_t *si, l_siginfo_t *lsi, l_int sig); -int lsiginfo_to_siginfo(struct thread *td, const l_siginfo_t *lsi, - siginfo_t *si, int sig); int linux_copyin_sigset(struct thread *td, l_sigset_t *, l_size_t, sigset_t *, - sigset_t **); + sigset_t **); #endif /* _LINUX_SIGNAL_H_ */ From nobody Mon Sep 25 10:24:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvJsM65Whz4vLfC; Mon, 25 Sep 2023 10:24: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 4RvJsM5dBDz3HRq; Mon, 25 Sep 2023 10:24:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695637495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TefoKLiiA3ZMCDnfnUv6q5z/GTs/wcAQyPTc4++2Rq4=; b=RPbbWoU3mzy7EEcLt58MikvN5sr94zX3DzKyNrBG2kQkCuYSRXoU4GeXd+tCseIL5RZV3k sypZ7KkYCfQEcOwsb/aOpIA1xz0AfdwjWF+IRkz/U3f675w66aa592Pt+2ttHmvzfxsA5L PQsVfSVFJRxtzDBy3d70jmbC1e2ncsB13EaQ9c4HBs/hvmAuEczeW3vYr7+C6lwmKTSYFx zkqNMj0wH/K+dW9KXwKk0vtsI76dyrCt/gVfG+Sa4QdhTMIYifx6MT73KjJAgS7vsJDOs0 QhrZrjhBCFI91arYzCqYm7gatdPnPgVJd/1QWEHkiIgweu+5YmD6My+qHWUB7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695637495; a=rsa-sha256; cv=none; b=K0pkyQmQ9zP/sI9wcieaQBJJQBXjpUQfd05TZ/u9G9y5DM41To3MVlA5ke0FFhihkZqAEI +38k8mqlTfop4WhMByzAVlzEOwoc0nm07u38KaIvCsdkRF3MEyAUHUxtn++Y/Yu41ZXSAQ rvR2rTxqqZRQCUSPVnz3nUtpYckpmxhpYRnvTvHxENjXbEFbdY5Ee+g0Fzme21OaLVvCta Hx8AmIzepg+x4VeeL5spMR/729DFwQVAqoqBZd1DBgnjFaEKXw7aZyseBBuk8vX6wMmcz5 MLep2QSx7sucOJEDN7bU8sZdpQZW3lHmf/PdOn/yZ3bg4gmP15yimpnLxljBmQ== 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=1695637495; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TefoKLiiA3ZMCDnfnUv6q5z/GTs/wcAQyPTc4++2Rq4=; b=Xq927YaZw2WjRprvW1745hwPH/qzLOtuk7cY7v0Z8MaI1YRD4Jzq02iBZ7FIcHp8M1pu42 PPmtStoagsceT6QI4G0W5MKl7J3F7+GaS+QYKu80ZpOqn5ssC90l0G6537tHUlYvayvM5U 6cPQDCcRpje7z8ScubMjMQaUx303m7OjCoy/Fg1bq+IQHdVIj/aNpmBqMVxJ7K3pYU4IWT 6Z6FzcR62c5CF3o12JC0hcbEQ4UFr0qVvHhCfk2M2mIql++qj0h1TJIgir7AgJdYGJJka5 CaH6wkDyBM9OHNwX+GNzc1FNgVt7aHnnqil0/E4XTUYEbv7cUBQwmsMH3kWp3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvJsM4kj3z1Ppx; Mon, 25 Sep 2023 10:24: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 38PAOt3N092840; Mon, 25 Sep 2023 10:24:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PAOtK5092837; Mon, 25 Sep 2023 10:24:55 GMT (envelope-from git) Date: Mon, 25 Sep 2023 10:24:55 GMT Message-Id: <202309251024.38PAOtK5092837@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: a08bb9bdd20b - stable/14 - linux(4): On Linux SIGKILL can not be reset to default List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a08bb9bdd20b4226d83f1f643116275e7af7e3f9 Auto-Submitted: auto-generated The branch stable/14 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=a08bb9bdd20b4226d83f1f643116275e7af7e3f9 commit a08bb9bdd20b4226d83f1f643116275e7af7e3f9 Author: Dmitry Chagin AuthorDate: 2023-09-18 14:53:01 +0000 Commit: Dmitry Chagin CommitDate: 2023-09-25 10:18:55 +0000 linux(4): On Linux SIGKILL can not be reset to default MFC after: 1 week (cherry picked from commit 227d01c1bc7caf2e838ee6eef1e6a3cc81d79d1b) --- sys/compat/linux/linux_signal.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c index e3e3fc74a6a9..9a84700b3949 100644 --- a/sys/compat/linux/linux_signal.c +++ b/sys/compat/linux/linux_signal.c @@ -170,6 +170,7 @@ linux_do_sigaction(struct thread *td, int linux_sig, l_sigaction_t *linux_nsa, if (!LINUX_SIG_VALID(linux_sig)) return (EINVAL); + sig = linux_to_bsd_signal(linux_sig); osa = (linux_osa != NULL) ? &oact : NULL; if (linux_nsa != NULL) { @@ -180,9 +181,11 @@ linux_do_sigaction(struct thread *td, int linux_sig, l_sigaction_t *linux_nsa, linux_ktrsigset(&linux_nsa->lsa_mask, sizeof(linux_nsa->lsa_mask)); #endif + if ((sig == SIGKILL || sig == SIGSTOP) && + nsa->sa_handler == SIG_DFL) + return (EINVAL); } else nsa = NULL; - sig = linux_to_bsd_signal(linux_sig); error = kern_sigaction(td, sig, nsa, osa, 0); if (error != 0) From nobody Mon Sep 25 11:00:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfd5c9jz4vMZK; Mon, 25 Sep 2023 11:00: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 4RvKfd5150z3LPY; Mon, 25 Sep 2023 11:00:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJ6dokyUgLbf/HZ201+ZjCeeDXb0Duj1IJO+utusBcI=; b=FE07fSpq6oQkxiALX2bXwDsvzvRkeq9So+4mFzEz4gkcT+D6hvXqpQxFuXKdegVKGJZ2TU Bw6xtWkTo/FOyJUk95U8jxp64bPfnxr9vgh43PX9dl9E5RqJ8WERyh9cI9oJ49qgr06QbA NCC2tZRQjz9Nk8uK8cep/vUN903LL7HTw56kvlJllr7x0oyrovi8LL1mzhjrZLlAnpo7ok iDsVygNpPUq1NdJ/E6ZlU2tKfzqCmmBgpO3qVX5GUqZUXUb/kKU/s5NBBqTA21T7wwP3qT aKHSbS7gGHfIHtO/VeuDg8ZYnxBQ6iw6azoIKLDMlXoeIb77+gQYO/CCjPrZqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639641; a=rsa-sha256; cv=none; b=euu13dpLqNhy41cV5raLeRo1ymIl+w1JCYXuvgMhoG8H8NpAlQypgQvQzWYWSo1K5moafU fkP1NyZWhoiIt+5UGpTAuoYLP3TcbhLYyXt7R3fArPZ7/nu7dxNFOsWcl4argoDRX433lO HAww3rmS8RviBrj2dmf68PS8T09tt+kmH4LIyJVd9zCV1zPb0qt1B+LIrdLfKt7Boeq83U fArqaqU7jJDx3xj5KtjYsbZjD/KS5rGROqRWvEhwKiZqXvOufTJvQZeIwgaQRm3VTD+9/V yWAu0N6KzK+MyaRhqK3jwOUvXcMyZKfR4tqc++ClF3Mz0zc4aUXe2cCe6amkYA== 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=1695639641; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJ6dokyUgLbf/HZ201+ZjCeeDXb0Duj1IJO+utusBcI=; b=kRRfhZp0BWMydJ/1TlcivDV5lKemXeU358fArJSDR1R5Fof4xYNckR9ffNwQLSW8GcGo1P YHWJF7zaOfODn+uBFZSIUXN7lHJcOby/kKTMrbaW/a2UUHF0oMofzsM0Fhm2UvYjfh2dZK cwOeDzD+ua6GGdV02lDie0hOOyhHjFJDfz+Ayhk/9O8AoQ6pIJmm227t33Zd3Ab7I1qz4U i+EY830Re3GmkLmS22eS81Y7QmBOI2YMUjSx5GLuVR+j99grPd1cJ+d+7ufOl5PVCSinpo 2x1Kd9C3LINSBhkXPKkVkE3W/1FjzSy9VqpNbA4SsnsenAgaN+xgDkHuAO07dA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfd44rZz1QQ4; Mon, 25 Sep 2023 11:00: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 38PB0fRM052257; Mon, 25 Sep 2023 11:00:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0f1R052254; Mon, 25 Sep 2023 11:00:41 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:41 GMT Message-Id: <202309251100.38PB0f1R052254@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: a2228dc70153 - stable/13 - Allow psci.h to be used by userspace List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: a2228dc7015344b4d8d532f75c3eb175c56ac513 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a2228dc7015344b4d8d532f75c3eb175c56ac513 commit a2228dc7015344b4d8d532f75c3eb175c56ac513 Author: Andrew Turner AuthorDate: 2023-03-16 12:08:32 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:15 +0000 Allow psci.h to be used by userspace Wrap parts of psci.h that aren't usable by userspace in _KERNEL checks. This allows it to be used to implement PSCI and SMCCC by bhyve in userspace. Sponsored by: Arm Ltd Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation (cherry picked from commit 473ab212dc1f72c1765f112568237d229d4e0441) --- sys/dev/psci/psci.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/dev/psci/psci.h b/sys/dev/psci/psci.h index 6eeab8ab6071..c34b5d0b104f 100644 --- a/sys/dev/psci/psci.h +++ b/sys/dev/psci/psci.h @@ -30,6 +30,7 @@ #include #include +#ifdef _KERNEL typedef int (*psci_initfn_t)(device_t dev, int default_version); typedef int (*psci_callfn_t)(register_t, register_t, register_t, register_t, register_t, register_t, register_t, register_t, @@ -50,6 +51,7 @@ psci_call(register_t a, register_t b, register_t c, register_t d) return (psci_callfn(a, b, c, d, 0, 0, 0, 0, NULL)); } +#endif /* * PSCI return codes. @@ -100,6 +102,7 @@ psci_call(register_t a, register_t b, register_t c, register_t d) #define PSCI_VER_MAJOR(v) (((v) >> 16) & 0xFF) #define PSCI_VER_MINOR(v) ((v) & 0xFF) +#ifdef _KERNEL enum psci_fn { PSCI_FN_VERSION, PSCI_FN_CPU_SUSPEND, @@ -113,5 +116,6 @@ enum psci_fn { PSCI_FN_SYSTEM_RESET, PSCI_FN_MAX }; +#endif #endif /* _MACHINE_PSCI_H_ */ From nobody Mon Sep 25 11:00:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKff6kZfz4vMZN; Mon, 25 Sep 2023 11:00: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 4RvKff662Yz3LdD; Mon, 25 Sep 2023 11:00:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iZdff3B47xjhfQ3jgowH2Q1d/jUvIqSqQx8fb9RoQxw=; b=DJHvzfeIefzR4JjpgWvTdikJkBc9ZvC4wxLP2MZAfN+xNKepUZjuLdwn7Y6TfvMG9Ko3iL IznL4FMkYUW2P8zwe0pqLY7cyRf1mXJxdp6AFH2U7TvKabJ5XjFbThQ3yVGVzhD7UM0tQV v8rOuJtRIwVtp9HyXH9lydKoThAK/ms/WUmgg5SP/VKeSATXhUmRdIPL4+2DCCC54pRAYK f/ULlDONSsI0WL+StOie8xasbts5fUhdpI4CP+Ew7sj/O3NQ2aTxmCusrSza7gJrFn3oJ6 NPWtFXPVlfSTRbfDpVw9591EEoVsQCO48ntPnOxhyL42cge5dJFGVnukHf/ZdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639642; a=rsa-sha256; cv=none; b=C/dWhImHOP+y3dE5src+5mkHAS+rYeO202V5fWD/n05M2h0O5/PentQz5JiJejHXtBd8mX XtZ58PSrtHBH6akhp9TxkiBeelJedXKVRx5rbMJFjTSM4UrkJcvOP2eBUXr8RKXdEKwpIr Ey1KvTqSJvVwme+ndI53Dy/q3sECfOiy+wMimjFJLmKCBnyJGncEH5I8K5JACTiCYzuL/W +GaRJKLImUhJr+KqEZ/nMRnsWpJH7QYx7HV69ZJvChDBPjqU1dDDkrxf6jujowypEq7+0x KYVjruOwJnlRi/oYjFFx5LnR2hqZOo7w+2SM4dzWbiA98+Mc6bUgDUjKOp2gSQ== 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=1695639642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iZdff3B47xjhfQ3jgowH2Q1d/jUvIqSqQx8fb9RoQxw=; b=simFBq4b1AD92lSuqtxwIGnHPakii1zoADgGMbsyTCr/kaM28aWJlq7tJf1I3q6Gsnty/x Qhqym+4BGJuJ2rN/OgT+AwXovP1O9x4lARsvTS6nVMEai3WiYnMM6CprdSkFKvU4vVF9Gj sDPQ+AFCxdy+sMcn2W31wa2iEDLCI1D6Qrj6N6ooKsUmDjEVAssX5hBc7wWdrXeM+e5HJo EcXObSQebKngQkPXod1aiT+BOlgsdhB9DwSaO+/pYkdR/1PJxfym73g+mJaNpXe7J19X2u yhL++KVWp83zvvA9GycM7e58rZshRqxiChnnOfW5ocTi0Onz3gL3/VO/vbl/4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKff55K0z1QMb; Mon, 25 Sep 2023 11:00: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 38PB0g1G052314; Mon, 25 Sep 2023 11:00:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0gSS052311; Mon, 25 Sep 2023 11:00:42 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:42 GMT Message-Id: <202309251100.38PB0gSS052311@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: 4401550f74ba - stable/13 - Add a psci macro to build a version value List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 4401550f74ba50f34e9f443307d170c6b05ba62f Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4401550f74ba50f34e9f443307d170c6b05ba62f commit 4401550f74ba50f34e9f443307d170c6b05ba62f Author: Andrew Turner AuthorDate: 2023-03-16 12:14:01 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:15 +0000 Add a psci macro to build a version value Add PSCI_VER that takes a major and minor version and builds the value returned by the firmware. This will be used by bhyve. Sponsored by: Arm Ltd (cherry picked from commit e89be21854b3aa33efd2e06529a181343281659d) --- sys/dev/psci/psci.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/psci/psci.h b/sys/dev/psci/psci.h index c34b5d0b104f..9f95cb535336 100644 --- a/sys/dev/psci/psci.h +++ b/sys/dev/psci/psci.h @@ -101,6 +101,7 @@ psci_call(register_t a, register_t b, register_t c, register_t d) #define PSCI_VER_MAJOR(v) (((v) >> 16) & 0xFF) #define PSCI_VER_MINOR(v) ((v) & 0xFF) +#define PSCI_VER(maj, min) (((maj) << 16) | (min)) #ifdef _KERNEL enum psci_fn { From nobody Mon Sep 25 11:00:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfh0fXSz4vMys; Mon, 25 Sep 2023 11:00: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 4RvKfg7437z3LkC; Mon, 25 Sep 2023 11:00:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HlDCuha76hWjDlfOJPHbsqcBGZOpYibww706bQq/kdA=; b=uHnC/EvmxWrUpb6uqefwPjppoc1YjabERhS89mza5c+Yi4mHREctJJ+2okJeEv//UWps6Z roHW0Fcg86O9x7FPCYs2ROe2QLmdc+MkBjst+BShwKo3sPX09qrF26yMzsoVzvOVNXuBDB Yc8Wjg2PWcWP//e3mgM03f5+5i+IqUtCtMU2yQ716Ho5flr8c6PvnX/C89EfDanb4xNWvm 2ZrUKRk4g1I4V9FxoG9YSuCM7psVDbiVbma1Y1G9UfIJErDDtif/g50cHkxzvWRiJ3ITYH +b7nhlENVbRY2caeOeejsEmUaRS1QXD0LnkWpBQqX/8FHhnEqyhz+JGOpAc1vQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639644; a=rsa-sha256; cv=none; b=xOZkpGYzO2mBensH3y1xJUH1SJGpcI9aamSzvv7FISFsw3k6Q6cHg+5LG+wDR3shHjXYgh wskkVb8aHyOJsanhDxVHa5d7FAzl8lQ3HMZzMCPUZYmfnGpgmcBYdH/oRHwzwQ/opBXX++ d8i3Af42bGgfA9J8r60Zp0nXlufbTgZcOHhZepv0tDS5w2yyPXGn+P6o0fvmnCBV2Lqrs7 l9siCIZJX3dowvo94ARI3J2lSqZYbWC89a1GuKPSPFdKHzE4ozwJCB7yJ/BPvIR4sxroaw zTtZmX1o/mNWm3/p4myjegHJK8vjHwsndnVa2e/65OnDOJm8/mMQ+gC8fq7LOQ== 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=1695639644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HlDCuha76hWjDlfOJPHbsqcBGZOpYibww706bQq/kdA=; b=IncvEttPs2pblr7N+lrx89Z7ufV0oFjBb0HjypahMqZCxJx6pyuUzc7NPkYYM7lnmP/2+4 TyMO9/K7jZieIw3RzH3+94vb/rCm1C8BNqJX3e6kC/aBzVK3WxVYNxyU4RDd7u7n2fgRW9 OWr/wD0BHmFHA587tTUKUlpsG9S/wrt/9qatI7KaawRyDoKt7Wq2aDD0xCV0JvGKTeBnBR fzUSFOBGGsXNjZyB+jcKxPrOXGaeo5Nojye+AD77Yv8bPyQl+OGVzGJ6HLX/ukQli8vwXT jKrFbc3BflaCH2+rE6NA0To9oBjRBB6x0IZhdCzed3hPk9o1pAAheje/r7dnqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfg65slz1QMc; Mon, 25 Sep 2023 11:00: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 38PB0hNY052359; Mon, 25 Sep 2023 11:00:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0hP1052356; Mon, 25 Sep 2023 11:00:43 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:43 GMT Message-Id: <202309251100.38PB0hP1052356@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: 8753f9e7b2bc - stable/13 - Add PSCI affinity info return values List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 8753f9e7b2bc5e482608939fc07513e60b479846 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=8753f9e7b2bc5e482608939fc07513e60b479846 commit 8753f9e7b2bc5e482608939fc07513e60b479846 Author: Andrew Turner AuthorDate: 2023-03-16 12:16:59 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:15 +0000 Add PSCI affinity info return values These can be returned from the PSCI AFFINITY_INFO call. This is not marked as optional so bhyve will need to implement it & can use these macros. Sponsored by: Arm Ltd (cherry picked from commit 7d0b915919665cb43107b36ad103791515eade5b) --- sys/dev/psci/psci.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/dev/psci/psci.h b/sys/dev/psci/psci.h index 9f95cb535336..451d40c0178d 100644 --- a/sys/dev/psci/psci.h +++ b/sys/dev/psci/psci.h @@ -103,6 +103,10 @@ psci_call(register_t a, register_t b, register_t c, register_t d) #define PSCI_VER_MINOR(v) ((v) & 0xFF) #define PSCI_VER(maj, min) (((maj) << 16) | (min)) +#define PSCI_AFFINITY_INFO_ON 0 +#define PSCI_AFFINITY_INFO_OFF 1 +#define PSCI_AFFINITY_INFO_ON_PENDING 2 + #ifdef _KERNEL enum psci_fn { PSCI_FN_VERSION, From nobody Mon Sep 25 11:00:44 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfj1c75z4vNGd; Mon, 25 Sep 2023 11:00: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 4RvKfj0vz1z3LX0; Mon, 25 Sep 2023 11:00:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X21NIbzR1R0ZnUPKCuUKePA86hGPiUHkMg/6HG4Bg1E=; b=ZnJ5DNONrzYkmkLS9gkNz+2VLQUmlAJnacRXldLP960VYBNFIPHbO+y6Aba/e8kAKCU9KO uvfrMmXipwVjfGtqUvR712ag6aA88nfht62rtsqdp9TUxwTokprEydjg6YyeTBvq918Gyv 1cEfx7ZbIEhQMsdR38WeMYrONZhabu32Tn+CQK0R0EAaAQWt5olC8J4RGWhGDE5sIRvjGy nDVfZ8gXF7P/rXa7cq9SrnhlEtXlWh38y15P7BzVwc9cC5H11F6zrFTiw0BWeZnDsoPZUQ dDA4RvLYXc6AlK9DOaCAp9CuAhiTT2cfF+A6/f7LoxmjiEqwcxbOSEw+Z9uSog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639645; a=rsa-sha256; cv=none; b=yW/Lur4OdUvC1KEou40iRf3pLbSryhh6+j4YQWke3XcqQTZknotfZ9hKwpkuwitE4lDEQR /lJpIslhWnlud6Y2FWMoJYSkoiIIgLEAHL6ZVtVuEL8CyuzTmk+G5KCgEzVAJBqruvvokp Xsu9ZZinZzBeYVR+sWmzq1f8GmF1q9dlj2pgxJjDX5gZ0qHN/dw6jjslEcSc4MLKV7Acqm ggFyb3ZnjI3hy0RpcY9sNHt3yVJWcCVt2wB7NpxMWyykOgDIHy1bnX0AJzvvJEeiPjAp0Q LcdUGsND/I50K156VL58wdUVoCa8mvVKoK9Y5k3sXdUo0QLS48ELL/DsQl2P6g== 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=1695639645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X21NIbzR1R0ZnUPKCuUKePA86hGPiUHkMg/6HG4Bg1E=; b=W1HNG4fhcA1NmrngRm8L/ZSZLm+BDr8O/hsRFgv9R90KiNtH0/mZn5xsUS2/NpBx6ySM12 XqdKwkRzf54UALsTioIRiRBaKs1f6e4Z5DD2dP44SXJcnALuALbw0Ixa/i+nr/pB5b9OH5 vA8/Jtmq7XVWqt0rXL3ifO+93Q+9FlvO+pl8JPMDc/Vi57JaK/+2egKG07T2T1NittWkjs S+45kpr8N4ThhZ9w2JTQeuuS2YegRMghyzg87F4hMZXiBuEUZUqVq4ZdhK2A03GcBEElGI RXoFF/OaIh8uBiXaNniInMC+UMInD4C4HEJf+UrLYyrDmwhO9L9QWRjLaglpww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfj019cz1QMd; Mon, 25 Sep 2023 11:00: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 38PB0ijk052411; Mon, 25 Sep 2023 11:00:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0iBC052408; Mon, 25 Sep 2023 11:00:44 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:44 GMT Message-Id: <202309251100.38PB0iBC052408@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: c1a1e8368b53 - stable/13 - Mark arm64 mair_el1 fields as unsigned long List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: c1a1e8368b53009efe11fd31990182de2d9f5962 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c1a1e8368b53009efe11fd31990182de2d9f5962 commit c1a1e8368b53009efe11fd31990182de2d9f5962 Author: Andrew Turner AuthorDate: 2023-03-16 16:19:21 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:15 +0000 Mark arm64 mair_el1 fields as unsigned long The register is 64-bit so the upper bits could be shifted past the signed 32-bit size of an int the values were before. Sponsored by: Arm Ltd (cherry picked from commit a671f96d9319d63e4a634f88ae277c4d682bba69) --- sys/arm64/include/armreg.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 6ca4454a3806..6996ea4556ae 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1173,13 +1173,13 @@ #define ID_ISAR5_VCMA_IMPL (UL(0x1) << ID_ISAR5_VCMA_SHIFT) /* MAIR_EL1 - Memory Attribute Indirection Register */ -#define MAIR_ATTR_MASK(idx) (0xff << ((n)* 8)) +#define MAIR_ATTR_MASK(idx) (UL(0xff) << ((n)* 8)) #define MAIR_ATTR(attr, idx) ((attr) << ((idx) * 8)) -#define MAIR_DEVICE_nGnRnE 0x00 -#define MAIR_DEVICE_nGnRE 0x04 -#define MAIR_NORMAL_NC 0x44 -#define MAIR_NORMAL_WT 0xbb -#define MAIR_NORMAL_WB 0xff +#define MAIR_DEVICE_nGnRnE UL(0x00) +#define MAIR_DEVICE_nGnRE UL(0x04) +#define MAIR_NORMAL_NC UL(0x44) +#define MAIR_NORMAL_WT UL(0xbb) +#define MAIR_NORMAL_WB UL(0xff) /* MDCCINT_EL1 */ #define MDCCINT_EL1 MRS_REG(MDCCINT_EL1) From nobody Mon Sep 25 11:00:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfk5HlLz4vNGh; Mon, 25 Sep 2023 11:00: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 4RvKfk26ddz3Lcp; Mon, 25 Sep 2023 11:00:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RakWQJ84KbOat6qt/dPUQQ3jlzUUtFDnm9TW83vJcFI=; b=IMulmUXzqUVAFFNyKRa+g7yEnmUjT8kO8fNTq3xl2/XA1RYjdMmhgl3dQDl4fsBBXIbiuJ AaN1MGqOt87F5BAcZN/mRE8buzhblD15mndOAc/WneQsGCLi3aiqMXCSszI7iNZiVKdpv0 8+5A4N0C1CZ+A6jv+6JXixqa7cE18zkFcaiSBMh8Z5A5QhZN7RJaXuNbPaS1Leno7DAoAr oRGoUvUetUH1xRAzRBrSJ9ZNEmkUfa3cshvtgJG2DHjPW9TCQ2wX1fi1TjSFcgJkq+muAE s5GUvXfQQYcdvp+ClKEz9OBXp/RurogWKq7b6VHn5Wu1usLT2hOigwgz9mRXVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639646; a=rsa-sha256; cv=none; b=LsrREyhFG98ajXh9R1yfWKMYoABJba5mqh3BMDQZenx9Fu3lhjZX2iU5O/cAyX+XW+mT0M T+WHY0eHqfQ44N2aIelVypvmEa9m0ed4dqZ6IABtBhTdmjzEjQPXOJ8Jj3DVG/0qcv+/V7 wYc+mr5Xubx4Zbj9Qbr9uLkLvPFMi12KF4V26skEO+7akhcKGOZ90u9u7ybOxmET/rH32h zvKCD+EjoE+z40svZFmGzHoJKqRla52EHKZtSsN0h9WxFigH2aoQbjAT6XYnf1UF4alxzL 7KdSivCJzKbCRNUASMK8HEBxLloNhEwcUZY+v3Z4HbiZTFTti0TAVJm2AqfLYQ== 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=1695639646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RakWQJ84KbOat6qt/dPUQQ3jlzUUtFDnm9TW83vJcFI=; b=PDCnrbew9fTWJtPEWAYFQHMWXGTZhtV2Ny4a8lFOeV042Y8B6PfCxi51a+ykc09W1ueI2r 0Kz2X4YkjHtM4MUyMVG2SL3mMFX9j7gAZpUeLBSj3P5B5mTBM9mLdo4jlw15F93FV0ZZIP VN8xHxHisGA1N6NbJ41LpBvcEd2aVmPNQPDDvwOlw+5XehSG7PzyfNgCluxUg6WBEyMltA BKan71lgl0a6VnuZUx3vdFY3gw+RgTyYvU8gqBFd6Qnf5ATjTgwwSn66NhMW9X7FErS4V3 +ocUNgsSUKT+u+tc8xvzBBZ4X3idbL0Rn9TKVq50ty4QfGoqf43zp7SEYA+ZtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfk11rwz1QMg; Mon, 25 Sep 2023 11:00: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 38PB0k6Y052459; Mon, 25 Sep 2023 11:00:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0kX8052456; Mon, 25 Sep 2023 11:00:46 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:46 GMT Message-Id: <202309251100.38PB0kX8052456@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: 9cab59fe05b4 - stable/13 - Handle the arm64 unknown exception separately List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 9cab59fe05b492b23e10ff9c507511cdaa97bae4 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9cab59fe05b492b23e10ff9c507511cdaa97bae4 commit 9cab59fe05b492b23e10ff9c507511cdaa97bae4 Author: Andrew Turner AuthorDate: 2023-03-31 09:15:45 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:15 +0000 Handle the arm64 unknown exception separately Rather than falling through to the default case handle the unknown exception with its own panic message. As ESR_EL1 is zero for this exception stop printing it. Sponsored by: Arm Ltd (cherry picked from commit 3a0cc6fe61ea29334c17dfb71bf24ba9e604ab4c) --- sys/arm64/arm64/trap.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index bc2136cb9e80..10a2138d9625 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -513,9 +513,12 @@ do_el1h_sync(struct thread *td, struct trapframe *frame) case EXCP_UNKNOWN: if (undef_insn(1, frame)) break; - printf("Undefined instruction: %08x\n", + far = READ_SPECIALREG(far_el1); + print_registers(frame); + print_gp_register("far", far); + panic("Undefined instruction: %08x", *(uint32_t *)frame->tf_elr); - /* FALLTHROUGH */ + break; default: print_registers(frame); print_gp_register("far", READ_SPECIALREG(far_el1)); From nobody Mon Sep 25 11:00:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfl3YYwz4vNPZ; Mon, 25 Sep 2023 11:00: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 4RvKfl2zDqz3Lld; Mon, 25 Sep 2023 11:00:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dWMM62KjwXuOXtXBLGp3dELepN24wQNJ5UW1mQiaTgM=; b=W11DrQDPsmp+Lb2Ea45XSMBumMdow5K/lYvix6O7u1K7yfzmaXue5G6hGp9JLSTO5ckhSW Ku0/Hydob7zMKGx6rNTLlGrbNzgHG8uzusse5QKtVnxbmtSf+LfWmpUMJ1chR2CvwsOHF2 POEbHJoJK69F16RlGsGc2e9r/YO6i2bzytEQmeA+xyvknG4N+pSAzKFBcVXVFCnRVDNgnQ SS6z82KaeE7s3DqigUmUeqm4/9gjXzMPfGICRWF/FrqZGkgkkx1LnVOcvQEXU5H78MIzAr vut44IMNvFzWBu4NNNP+SsR4vnbZet8m5zwWBOBO1AMk4R4GpdRPbU9FI9J37Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639647; a=rsa-sha256; cv=none; b=P4LNjrN83swbgWojywTr2A8U/7ozp1bYPnOMgIiN54NoAet/iB0UuuiPMPSClKp9GLagpl 2srNTFvL9gj6NvEw4xi5R4PrZflNI1hFL9+/ZiDjjm1pPaTb/+Fqzdn0v4A5poFHS77ELS RFhMAYFCnmE1N7SOtThQ8Xu5/nsv3zhUL5JW2tcZ+t96kQ9jart4xTFEyut7q4+Cdo3Uj2 F/pwP2YQ1mXBKdXhqRNZ/uJ5v5qoKCh3RZAUqPKzzYmLgs3QLwZvy0jlIZRXSVtdr9ov3i W/xzkoaKPriEZ1gXGOahZCqgyOwbdP3Nnd69HD+C7TDc0W42eJU+2h5yzLnyFA== 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=1695639647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dWMM62KjwXuOXtXBLGp3dELepN24wQNJ5UW1mQiaTgM=; b=wNY0dKj3VOXjlE5+EoWbGFsha7BWr4FTqToyFCCmPDdZ37g+5V0pigOyh0yT6RlVN56LCZ Sa2th0GtWoix+GvsXWF77R1piN6EtxTcnVkKFJEZH2VhbhIETGgEZbTUWIH395K8D1UQ6j 14SfwW4/KRXO55GtaRA+oP4CJsfmZDyfzNRvthp9BHszqeiK7SyYDUzkWQAvHYe7lcD7eD AYQvnPbu/jnmV5tdATyH+TFcaemKPXwAe9iisa7ICe8sjSwGBrV7p6pWDELNcmIrABb+w7 6f5mSqz7HOFGk8Zxc+baKpDpxVWdeox+ScAEQCecE4sNjzvrviZsrv1D8gujmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfl23Sqz1Qd2; Mon, 25 Sep 2023 11:00: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 38PB0llr052504; Mon, 25 Sep 2023 11:00:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0lwV052501; Mon, 25 Sep 2023 11:00:47 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:47 GMT Message-Id: <202309251100.38PB0lwV052501@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: 27ceb260a1c1 - stable/13 - Move arm64 EENTRY uses before ENTRY List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 27ceb260a1c189b0aa0ea59be8ab6b924f7f6a40 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=27ceb260a1c189b0aa0ea59be8ab6b924f7f6a40 commit 27ceb260a1c189b0aa0ea59be8ab6b924f7f6a40 Author: Andrew Turner AuthorDate: 2023-03-31 12:34:51 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:15 +0000 Move arm64 EENTRY uses before ENTRY The ENTRY macro adds instructions to the start of a function but not EENTRY. To use these instructions in both functions move the EENTRY use before the ENTRY use. Sponsored by: Arm Ltd (cherry picked from commit 47ff149afaea6a403b8d044e26673bc3cd605fe4) --- sys/arm64/arm64/memcpy.S | 4 ++-- sys/arm64/arm64/support.S | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/arm64/arm64/memcpy.S b/sys/arm64/arm64/memcpy.S index d5fbfa64e0fa..b394d6c1d30a 100644 --- a/sys/arm64/arm64/memcpy.S +++ b/sys/arm64/arm64/memcpy.S @@ -55,8 +55,8 @@ The loop tail is handled by always copying 64 bytes from the end. */ -ENTRY(memcpy) EENTRY(memmove) +ENTRY(memcpy) add srcend, src, count add dstend, dstin, count cmp count, 128 @@ -237,6 +237,6 @@ L(copy64_from_start): stp B_l, B_h, [dstin, 16] stp C_l, C_h, [dstin] ret -EEND(memmove) END(memcpy) +EEND(memmove) diff --git a/sys/arm64/arm64/support.S b/sys/arm64/arm64/support.S index eb2976ee8ce7..805867fd5d17 100644 --- a/sys/arm64/arm64/support.S +++ b/sys/arm64/arm64/support.S @@ -173,15 +173,15 @@ END(fueword32) * long fueword(volatile const void *, int64_t *) * int64_t fueword64(volatile const void *, int64_t *) */ -ENTRY(fueword) EENTRY(fueword64) +ENTRY(fueword) check_user_access 0, (VM_MAXUSER_ADDRESS-7), fsu_fault_nopcb fsudata ldtr, x0, 0 str x0, [x1] /* Save the data in kernel space */ mov x0, #0 /* Success */ ret /* Return */ -EEND(fueword64) END(fueword) +EEND(fueword64) /* * int subyte(volatile void *, int) @@ -216,14 +216,14 @@ END(suword32) /* * int suword(volatile void *, long) */ -ENTRY(suword) EENTRY(suword64) +ENTRY(suword) check_user_access 0, (VM_MAXUSER_ADDRESS-7), fsu_fault_nopcb fsudata sttr, x1, 0 mov x0, #0 /* Success */ ret /* Return */ -EEND(suword64) END(suword) +EEND(suword64) ENTRY(setjmp) /* Store the stack pointer */ From nobody Mon Sep 25 11:00:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfm4Pmsz4vMZd; Mon, 25 Sep 2023 11:00: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 4RvKfm3lZ4z3Ljm; Mon, 25 Sep 2023 11:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vEX+47cqQahinGd2PzrAnsPEy/WCfzn3A+vk3jvr2oY=; b=wqTm7hz78aC9Jwhy1YhZxWHGHxdoTuerS3q2JR5zj2+pxIj7QydGatiAzk/M1fGlDeU7SO QFnH/F6h2LBjh7Cs4cNeUEzmI3qkS1fezm/jhJuEJP5pGLTGV0Py/tLASZxVVLvSe6gmq3 ctHx9p+Qfw+n3aN752z7C3Q7FlINyvAw2HtFexa8WS2t3QtbLC56oxM1EYLmdRdwUaAZDT 6EZJxCjKf10bMhmaaTIuIKiDEsO0MzOEG/Hes9Nmrb5uIJYHioBi8Vdg2k9cr/iAJXrBTk 4e1PNtP+BtpUpzzYlkrVieKGCm4X+7oy1FgW+jzCaruQxlPBeqN/HOnqYVIBcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639648; a=rsa-sha256; cv=none; b=FSf42yJKrX9TzSiMRw57Rd4fgJsXGbr6cVY9ZkApXH+/7pEnzFHMNhPwB3hZrRC64Fphog XS8tUZDrerotT2/xPsw5FJ875G767aLlvTtMjzn7DD7moxyD8cpvzRKl5aZRvicxEiDRT8 kp+B49kNMY+Xyb7e1IMm5E5zY29gmtpRpVJWclY1bvAf2ycI86wVJT4BmKv1FLFh6ykfoY SBZdcx2eBNVUvkL9R3bhj4tvhN6BS7PndtoT9smCZzHIrG8Vc6+dXFZ03XrArlx4ufe3oa n6rOS744cc+1jeMxASwyEPX3yJ/9blWmHitOObKl8v+h+BZbK7y9yZpGmp8ofA== 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=1695639648; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vEX+47cqQahinGd2PzrAnsPEy/WCfzn3A+vk3jvr2oY=; b=mpMRUzF6xzWKe3mMBNatG19yNE81/pqDVjgO/QXcypS3TnAs+P3mOhGN72PzlOSo8cUe3K uzkuNAhHUpamF4S8xO5kiLoz7QUPVf+yRNvdjAdTTCjV+gkuyOqNQ9eMErgraF4iM6Xx5k zm7W5bo/oe1u6QP21Xw9SvC4zMw3iZPGmkf5aD4DwS8G8MSe/1BnRyrdP8W8z4fo6ne3S9 zYq4HmyHdPMSpRJb36FkMPL5s9QUBwrqiMNZTaAq1SF5k+xhygZ/gVbFjdPskoDpEbt/hD WZXaQ7dHNianwkKqofraq2UfOI7t+4Lc+unpYVnYibzp6idenM/p2OKYczjlJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfm2rXPz1QMh; Mon, 25 Sep 2023 11:00: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 38PB0mgP052543; Mon, 25 Sep 2023 11:00:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0mP0052540; Mon, 25 Sep 2023 11:00:48 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:48 GMT Message-Id: <202309251100.38PB0mP0052540@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: b70553860764 - stable/13 - Mark EENTRY as .text List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: b705538607640722e1290859dd0a916e6cd1eeb2 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b705538607640722e1290859dd0a916e6cd1eeb2 commit b705538607640722e1290859dd0a916e6cd1eeb2 Author: Andrew Turner AuthorDate: 2023-04-06 15:36:15 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:15 +0000 Mark EENTRY as .text To allow it to be used before ENTRY we need to ensure the symbol is in the .text section. It also needs to be aligned correctly. While here mark the symbol type as a function as in the ENTRY macro. Reported by: jrtc27 Sponsored by: Arm Ltd (cherry picked from commit 04b4655997d2d10e3f3748f3a1a1d84c4ae95740) --- sys/arm64/include/asm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/include/asm.h b/sys/arm64/include/asm.h index 1ae22d9e91ee..783e8ee82c66 100644 --- a/sys/arm64/include/asm.h +++ b/sys/arm64/include/asm.h @@ -48,7 +48,7 @@ #define ENTRY(sym) \ .globl sym; LENTRY(sym) #define EENTRY(sym) \ - .globl sym; sym: + .globl sym; .text; .align 2; .type sym,#function; sym: #define LEND(sym) .ltorg; .cfi_endproc; .size sym, . - sym #define END(sym) LEND(sym) #define EEND(sym) From nobody Mon Sep 25 11:00:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfn5bJpz4vNPg; Mon, 25 Sep 2023 11:00: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 4RvKfn4k8Kz3Lxx; Mon, 25 Sep 2023 11:00:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0ygaEuVSsothqGZWZcLZWtKzK/OX6C5QuB6fit/t74g=; b=MV8BUkpxZCrdQqctRCwJjzyGWyspPRlKdA/sGGdRgyVSvZ761a2pIqrLff4nZ8gJ1doWys In9hcFqIpmZ//X8qq9YpOYqNfhDgtGKOBQP7o8Q+riarIrIFyK0KB9q2+sgSCIEV+suBps kzFWq09lXGIrCSG1BjbjJxRWn+qI4lAjpbYsGGONsV5iDaty7WBbmPqRz2P8OgzsrO+mFO JTTxQmrCocSytEZw2Xb93GBFzWf3ss3cT5SauewEZKVZGuDZ4zqwF+OTy/5s4doGuP8GdM JtTTMBE6qkOMkTh9ElWwl0QOiCwpaaPhRSdodUiS6An9dp50WhguS/Tj1b/Vug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639649; a=rsa-sha256; cv=none; b=keTm/aqG7GG1+ahthXOKI4JYBGICM4S+fIaY38bgXEJRJaLZTIv/kL6eFRI0FXAbfmenNi 4+nHTO+EIPNYlKfAxX1g/reZ/uxl0WtSTyzwQi733hQllEOahaojJyTqV/nhqa+nXpotjZ 3hPTYwtqiOMP4Nn5a4XF7BVR3Z1zXvlrCEA+xlH97piy7/TAjTuLH1ul781KgBJitBylXZ mlKTQM5l4sI2spBM0kBIS3O8WzoBwk03BUSXEPunap58xUXfRmqoW+V6KvLziRoOMXI2Bl /ySXaE6TLv2Vk6HX6qWx67BhV/4EPIC6eeiY8KHAXgriX0gx5NebO6T+rROcVQ== 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=1695639649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0ygaEuVSsothqGZWZcLZWtKzK/OX6C5QuB6fit/t74g=; b=A3NZqs8cz4a+5H/q6ohMSw3xo+T7wlo0J7drNkGLzL2Zz9rSEnocMKU14PflDagq+6iWx9 OTzmVcyQFbW/pxLWPf6aUfhd6VJFmNqCpuR/Hy8ZQEHzkWsVeFZaSuQPPa7l9MFNFsiJI8 0Eh4MSvAqVizUnJFVEktmqzdT9el92vjCj9jUvFa4iMryKd+Qj9Ps54beh/zNMOvWgTh5d NDti8OJVW7Zv4hrqPtNZuWsP9sP3tm1laLey8NpCNgara5qr4HMdgKSF7XSSmnN+v/NIhL AgZu6LNpyJepbuVZuOVwIgxzPcSwOp1XmwMRDNWWpI9aKp6lVjcQDfoEOFTA9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfn3qMfz1QMj; Mon, 25 Sep 2023 11:00: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 38PB0nJI052582; Mon, 25 Sep 2023 11:00:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0nZa052579; Mon, 25 Sep 2023 11:00:49 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:49 GMT Message-Id: <202309251100.38PB0nZa052579@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: 2a88ca31330c - stable/13 - Create pmap_mask_set_locked on arm64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 2a88ca31330c24cdb364218c5e0404b8878fa9f5 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=2a88ca31330c24cdb364218c5e0404b8878fa9f5 commit 2a88ca31330c24cdb364218c5e0404b8878fa9f5 Author: Andrew Turner AuthorDate: 2023-04-12 12:09:06 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:16 +0000 Create pmap_mask_set_locked on arm64 Create a locked version of pmap_mask_set. We will need this for BTI support. Sponsored by: Arm Ltd (cherry picked from commit 421516f25e9cfa91b33841f633a463889bc10af7) --- sys/arm64/arm64/pmap.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index cee9ddffddda..edd34bcd5e68 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -3449,14 +3449,14 @@ pmap_protect_l2(pmap_t pmap, pt_entry_t *l2, vm_offset_t sva, pt_entry_t mask, * pmap and range */ static void -pmap_mask_set(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, pt_entry_t mask, +pmap_mask_set_locked(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, pt_entry_t mask, pt_entry_t nbits, bool invalidate) { vm_offset_t va, va_next; pd_entry_t *l0, *l1, *l2; pt_entry_t *l3p, l3; - PMAP_LOCK(pmap); + PMAP_LOCK_ASSERT(pmap, MA_OWNED); for (; sva < eva; sva = va_next) { l0 = pmap_l0(pmap, sva); if (pmap_load(l0) == 0) { @@ -3549,6 +3549,14 @@ pmap_mask_set(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, pt_entry_t mask, if (va != va_next && invalidate) pmap_invalidate_range(pmap, va, sva, true); } +} + +static void +pmap_mask_set(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, pt_entry_t mask, + pt_entry_t nbits, bool invalidate) +{ + PMAP_LOCK(pmap); + pmap_mask_set_locked(pmap, sva, eva, mask, nbits, invalidate); PMAP_UNLOCK(pmap); } From nobody Mon Sep 25 11:00:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfq1XNgz4vMZp; Mon, 25 Sep 2023 11:00: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 4RvKfp61tSz3M82; Mon, 25 Sep 2023 11:00:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xabEW/ik/AqwdAkCvPs8NvA8hgW0X7O5swk1E2vlFL0=; b=Zxsb+JiZWWnH5ZU0KdVA/fZsdqwnX9ZudB1nXnRDzw9x9fbcivhr4l/p/Ed4SXPM+2ugBM AGtaGoLR167clAO1jm3HB1U6T9TOlgcyCo8iph7IPzuLgMSQxGG7aLtNNEhE1Jcj/T9akl jEnEVt/6j9OtyTCX5ggD9HjNxTmWwX3A2fM7THqUimsXmrB6uwViGl5ylqo17A0xx3yn0v qx9GwiJQDMiPHikbAjhQ4AiDnfCluG8wr/ne9E70rTVaOvOZ7bkJ9qp9yUgAREaj7YJqBV cMOSimouUajc/2OMT5heEVPH4iP0YmwlyO0/CjqdoD+gRUFuqvMkU3mn4lo6Aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639650; a=rsa-sha256; cv=none; b=PD00z0+10ohcGATzFWrZq4DzFL9QbnMCKSLWujpEprbdrqC38T5LV6E0CnFlUSCni6CeQK mlovWE+wUiHb1lbYGyXq6p1SEW9zoTWPFFr/d3orAn2eCJJkGOeA0VDSrACQzDaWp0YIET Uix9tAMOr+8hnvrGLTwP2gVcqRxvkEyr0t9YMmmkFgpfkNWo7Uy0UCrvFtIXAmYmzNiw6y 85Maa+wEiE1ZMXPXRZUm5891/IorNWmTYn1LxO8dW84HJIZqAxiuWtaIJeWBbhJBYMqI5e kj/EfSPHPqr6BaLhtyWZfg1VNJeQ+12QzRr8D31MQ1gb7puw6C3vWhUpxadOqQ== 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=1695639650; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xabEW/ik/AqwdAkCvPs8NvA8hgW0X7O5swk1E2vlFL0=; b=c5yVuVCxmDT6Q3UMAFiN3DzInjmUFiqKJ38VCcmKOKrgNX+A0wt4kFFBhXfTatLqt1+gPp y9CipZeIOvVezhxP5V4qS//d6mICcGE1xnpHi4QdEfbdO0TacRmlLdN1wSZ0dV4wLrL4B2 L03tbM/fY3MT7c0iyA2HGtDpjMij28U73d9nkZpu9u7zj79ZYo0azvYpFguCNdlOUeWPsa PWys5g+3VE1RMbcrzFVy3Kcns9Hrjs/XrnhCiwPnMhTMcM5uKG662SAx5VVWOXmyrrotsD 1DBUxNp8eG3Bu/YgE1GiKml0Hly39BAJphBwaeQbpiQjuzejGaFhHeS6FZyDag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfp538dz1QSd; Mon, 25 Sep 2023 11:00: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 38PB0oBR052627; Mon, 25 Sep 2023 11:00:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0oRA052624; Mon, 25 Sep 2023 11:00:50 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:50 GMT Message-Id: <202309251100.38PB0oRA052624@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: e19bdeccc89a - stable/13 - Split out pmap_map_delete on arm64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: e19bdeccc89a76727ddb56c9c2dbfc66daf9003a Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e19bdeccc89a76727ddb56c9c2dbfc66daf9003a commit e19bdeccc89a76727ddb56c9c2dbfc66daf9003a Author: Andrew Turner AuthorDate: 2023-04-28 10:54:19 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:16 +0000 Split out pmap_map_delete on arm64 This will be used when supporting some extensions, e.g. Branch Target Identification (BTI). Sponsored by: Arm Ltd (cherry picked from commit 020edaea2ab05c9cea7d83872f28a4e5e65407e2) --- sys/arm64/arm64/pmap.c | 12 ++++++++++++ sys/arm64/include/pmap.h | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index edd34bcd5e68..037f1d5a805f 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -3294,6 +3294,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 as part of a logical unmap + * operation. This has the effect of calling pmap_remove(), but + * also clears any metadata that should persist for the lifetime + * of a logical mapping. + */ +void +pmap_map_delete(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +{ + pmap_remove(pmap, sva, eva); +} + /* * Routine: pmap_remove_all * Function: diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index 95e43eada9cc..7305b8d32e87 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -177,7 +177,7 @@ int pmap_pinit_stage(pmap_t, enum pmap_stage, int); bool pmap_ps_enabled(pmap_t pmap); uint64_t pmap_to_ttbr0(pmap_t pmap); void pmap_disable_promotion(vm_offset_t sva, vm_size_t size); -#define pmap_map_delete(pmap, sva, eva) pmap_remove(pmap, sva, eva) +void pmap_map_delete(pmap_t, vm_offset_t, vm_offset_t); void *pmap_mapdev(vm_offset_t, vm_size_t); void *pmap_mapbios(vm_paddr_t, vm_size_t); From nobody Mon Sep 25 11:00:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfr2nZxz4vN00; Mon, 25 Sep 2023 11:00: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 4RvKfq6rTNz3MKk; Mon, 25 Sep 2023 11:00:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/uD/f2Ms3wic6Lq/AOilC92Qd0dNQ9HPM/J/yttBYNU=; b=x4ddhbFl/VPEjnQM983q6Snj9kLeeYadnL05jiS6uZbk2sG/pGwNjdBA82DnI/OlbMzjlK cDt4qbOp7n/qx5YG+h2IWDuauhjN8aEQcasO75fOCBLuL7zxP2DVv4gxY2eTfQK02izwQp 6kiI8cCgPERkCTrCAdsQm5/qj/97wuHstxdbHCAdQ+h8dTI7H9k6Mn4OOx3qzQtUQAfnrB gRwQHlJj6pu8s5/AWXDmxyK2w6NMx0aRndEHXJmtiPyUwKvKd92xXTyxk5YATNavD5Djdx XC0/uUcBryAF4s566ZMmq3GlYVNHf1L47mR+wf1UFdpnn1e0cHG33cb35dy0bg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639652; a=rsa-sha256; cv=none; b=QzWtSNH4paAJl++tBMVnjuLw19J4P1YT5WZYCXk0ZZ9f20KQQtV5UVzZzVcpBVJWxQC26k ra6zdj2bhstCfBMIKTGBJdF5eXJIj+ci7GqmoFH65hYYKDKC1T7p4YiNAS9tXV+va6GTBC 68Ngy+Rj0XHU2N5Z+XNSlPMOUM/MHd8yOz4mzR4wII+61FJ7GJd1l6N6brFtgaOtznK6aA Vi6jNOenO0NYkAnaSETH7lcnzkT2HieZiKEjDoxhmsAsl+eIlyMYZuovgyRYEOipsmJPlf GirymprW9cHuN3s5zmK2YYPcc1Tx2q6SRUr4rETPVCz3HC/3yQ0UDbG5H1KL3w== 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=1695639652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/uD/f2Ms3wic6Lq/AOilC92Qd0dNQ9HPM/J/yttBYNU=; b=BI5JrfNcsQKTwxpVXE1NatHR5WCtgvAxUTPrFq0hN6E3XsHQm78kQE5281RpfrZVCZS2ef RXOxHnT8dU6vPB9q0Fqd8xDKkGBlSpsglildlUo9UcpxAjvkAjTOf8FEnAaQd7dok7H1CK mSqRvwSFkCQAY5pyLPu9Pyeys0JehcyxTK39Xt28p7v3IcvhJQQsFnlfq5zgv8UAXVy3ZF Ioa2+clWD0pypZ80TtNybuPpnXk/+rnaz9HsR8x0CJHfsa/IB4qJBBj5ETanbUAp9dOfsb pK3VPcIvjTWzLTBNbJDY7uWSr6393ahxc2cCvxRPhKGFHQ79sk9fsb7nKfOCVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfq5yMdz1Q5k; Mon, 25 Sep 2023 11:00: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 38PB0pow052677; Mon, 25 Sep 2023 11:00:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0por052675; Mon, 25 Sep 2023 11:00:51 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:51 GMT Message-Id: <202309251100.38PB0por052675@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: 6d0d501a7f58 - stable/13 - Add more arm64 special registers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 6d0d501a7f580cc010759e5235e6fc89cb2037ca Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6d0d501a7f580cc010759e5235e6fc89cb2037ca commit 6d0d501a7f580cc010759e5235e6fc89cb2037ca Author: Andrew Turner AuthorDate: 2023-05-04 10:30:57 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:16 +0000 Add more arm64 special registers These will be used by bhyve Reviewed by: markj Sponsored by: Arm Ltd Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40128 (cherry picked from commit 419f8fc7fbc8b860df92db58d13ac9c9aafa1c10) --- sys/arm64/include/armreg.h | 48 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 6996ea4556ae..f3bfda15e908 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -453,12 +453,24 @@ #define ICC_SGI1R_EL1_CRn 12 #define ICC_SGI1R_EL1_CRm 11 #define ICC_SGI1R_EL1_op2 5 -#define ICC_SGI1R_EL1_TL_MASK 0xffffUL +#define ICC_SGI1R_EL1_TL_SHIFT 0 +#define ICC_SGI1R_EL1_TL_MASK (0xffffUL << ICC_SGI1R_EL1_TL_SHIFT) +#define ICC_SGI1R_EL1_TL_VAL(x) ((x) & ICC_SGI1R_EL1_TL_MASK) #define ICC_SGI1R_EL1_AFF1_SHIFT 16 +#define ICC_SGI1R_EL1_AFF1_MASK (0xfful << ICC_SGI1R_EL1_AFF1_SHIFT) +#define ICC_SGI1R_EL1_AFF1_VAL(x) ((x) & ICC_SGI1R_EL1_AFF1_MASK) #define ICC_SGI1R_EL1_SGIID_SHIFT 24 +#define ICC_SGI1R_EL1_SGIID_MASK (0xfUL << ICC_SGI1R_EL1_SGIID_SHIFT) +#define ICC_SGI1R_EL1_SGIID_VAL(x) ((x) & ICC_SGI1R_EL1_SGIID_MASK) #define ICC_SGI1R_EL1_AFF2_SHIFT 32 +#define ICC_SGI1R_EL1_AFF2_MASK (0xfful << ICC_SGI1R_EL1_AFF2_SHIFT) +#define ICC_SGI1R_EL1_AFF2_VAL(x) ((x) & ICC_SGI1R_EL1_AFF2_MASK) +#define ICC_SGI1R_EL1_RS_SHIFT 44 +#define ICC_SGI1R_EL1_RS_MASK (0xful << ICC_SGI1R_EL1_RS_SHIFT) +#define ICC_SGI1R_EL1_RS_VAL(x) ((x) & ICC_SGI1R_EL1_RS_MASK) #define ICC_SGI1R_EL1_AFF3_SHIFT 48 -#define ICC_SGI1R_EL1_SGIID_MASK 0xfUL +#define ICC_SGI1R_EL1_AFF3_MASK (0xfful << ICC_SGI1R_EL1_AFF3_SHIFT) +#define ICC_SGI1R_EL1_AFF3_VAL(x) ((x) & ICC_SGI1R_EL1_AFF3_MASK) #define ICC_SGI1R_EL1_IRM (0x1UL << 40) /* ICC_SRE_EL1 */ @@ -521,6 +533,14 @@ #define ID_AA64DFR0_TraceFilt_NONE (UL(0x0) << ID_AA64DFR0_TraceFilt_SHIFT) #define ID_AA64DFR0_TraceFilt_8_4 (UL(0x1) << ID_AA64DFR0_TraceFilt_SHIFT) +/* ID_AA64DFR1_EL1 */ +#define ID_AA64DFR1_EL1 MRS_REG(ID_AA64DFR0_EL1) +#define ID_AA64DFR1_EL1_op0 3 +#define ID_AA64DFR1_EL1_op1 0 +#define ID_AA64DFR1_EL1_CRn 0 +#define ID_AA64DFR1_EL1_CRm 5 +#define ID_AA64DFR1_EL1_op2 1 + /* ID_AA64ISAR0_EL1 */ #define ID_AA64ISAR0_EL1 MRS_REG(ID_AA64ISAR0_EL1) #define ID_AA64ISAR0_EL1_op0 0x3 @@ -1211,6 +1231,30 @@ #define MDSCR_MDE_SHIFT 15 #define MDSCR_MDE (UL(0x1) << MDSCR_MDE_SHIFT) +/* MPIDR_EL1 - Multiprocessor Affinity Register */ +#define MPIDR_EL1 MRS_REG(MPIDR_EL1) +#define MPIDR_EL1_op0 3 +#define MPIDR_EL1_op1 0 +#define MPIDR_EL1_CRn 0 +#define MPIDR_EL1_CRm 0 +#define MPIDR_EL1_op2 5 +#define MPIDR_AFF0_SHIFT 0 +#define MPIDR_AFF0_MASK (UL(0xff) << MPIDR_AFF0_SHIFT) +#define MPIDR_AFF0_VAL(x) ((x) & MPIDR_AFF0_MASK) +#define MPIDR_AFF1_SHIFT 8 +#define MPIDR_AFF1_MASK (UL(0xff) << MPIDR_AFF1_SHIFT) +#define MPIDR_AFF1_VAL(x) ((x) & MPIDR_AFF1_MASK) +#define MPIDR_AFF2_SHIFT 16 +#define MPIDR_AFF2_MASK (UL(0xff) << MPIDR_AFF2_SHIFT) +#define MPIDR_AFF2_VAL(x) ((x) & MPIDR_AFF2_MASK) +#define MPIDR_MT_SHIFT 24 +#define MPIDR_MT_MASK (UL(0x1) << MPIDR_MT_SHIFT) +#define MPIDR_U_SHIFT 30 +#define MPIDR_U_MASK (UL(0x1) << MPIDR_U_SHIFT) +#define MPIDR_AFF3_SHIFT 32 +#define MPIDR_AFF3_MASK (UL(0xff) << MPIDR_AFF3_SHIFT) +#define MPIDR_AFF3_VAL(x) ((x) & MPIDR_AFF3_MASK) + /* MVFR0_EL1 */ #define MVFR0_EL1 MRS_REG(MVFR0_EL1) #define MVFR0_EL1_op0 0x3 From nobody Mon Sep 25 11:00:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfs1kqVz4vNDf; Mon, 25 Sep 2023 11:00: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 4RvKfs1Bzmz3MBd; Mon, 25 Sep 2023 11:00:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+7kmc2RhDLsDrlXitXbF9Hc2SjGLcUKs2bti8XsBvdc=; b=qGVkUrN97+70BsozfCzUDYCmlwZ1+MZS38TbuOZHO2nJJspMSk3dBg4UYaMLRCPbJYa1Xl UjEUBbRtHmvBg4TXcUyQrZBnQ0hXYr79PF2fafanL11HJI4PgPhkwzzjO3iyaZif1SX6hE Q1MzziCXiKxRZcnp3EjBkuat1hIBz3qOX7+lu4wr2JQJOgZ2twqT85tUmOD4DfU8hKQRMY EunkPRZWGlGuJP2k0PX1E5nRJoWhcjMJGvlOIS3X7XQP9zJrvgvk1FRxQkN+xrhpic+/1q CPGy6uuqoU5ZBGyKWgDYPacw0PXEoS0D7N5cI6McxX5QNf0Y4z5FTH/ZbPPwZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639653; a=rsa-sha256; cv=none; b=MvthpNdJVKXLqFHHiTvDpFScntRrhM98+lret4QAr3sTha0N+er3oko3FAsbTXtS3UG5Tq QCKgLFJWfN2Kt35vOS+O/G4q1lLZcCK/hht81Tla19BZH5XUCgty4DKnIFdMyp3ETqJ6x+ DypcEUOlX+0YxSJ/fYFvxmKa+qumyeurogeXMN4Xc2ymcetNTzltiYaWrZyyWessOIKZWE YbrRLtZfRLCdMljmGaNOycXpwuVwBxmeS+a9qmM6lP1szRUuCGKFxu/aSMYrzrsTi2LPnB KYnxG2fgMNMdbKa50fbUNUd4Ue0hBCy27NK+6chGl5Xy7O2BvQH1PUIsv7iitQ== 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=1695639653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+7kmc2RhDLsDrlXitXbF9Hc2SjGLcUKs2bti8XsBvdc=; b=prB5X9dAICxr8IWdaW76ADuDvEyRTwvVgwl28LZBhbQX8r1tY3bqDA1tsZnSQxcmvyx2eC ULyr2/6L9JUgbaZc99LrImrSxsGHIILr2Qc/2bu6xRcBD60sHxObJffeh1QYydlav9caHr MTBPXO2IHf6rN5yDi6duaXV/zClf6QKD1FsSS8TKaXjjf5EWaoNbSVsyR3+ZJeU9msi8ty d7om7Cz3ByraT8bu7+pIlKeBwMrbN2InYP5GH3ZCCsDVmHPpVG4mK+JCdfV+YtbiBPmtc8 hrhlz/FMMjlulu5rjnRwbkOIjbDhOTB8D9NUkYdD8OyzvQLq6HoEhSDWhyxTIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfr6x9wz1Qd4; Mon, 25 Sep 2023 11:00: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 38PB0qNE052728; Mon, 25 Sep 2023 11:00:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0qXY052725; Mon, 25 Sep 2023 11:00:52 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:52 GMT Message-Id: <202309251100.38PB0qXY052725@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: ed2d2423470d - stable/13 - Print registers on an arm64 spinlock data abort List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: ed2d2423470d7bb74db1c9779834ee9c7e5d6486 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ed2d2423470d7bb74db1c9779834ee9c7e5d6486 commit ed2d2423470d7bb74db1c9779834ee9c7e5d6486 Author: Andrew Turner AuthorDate: 2023-05-23 09:21:39 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:16 +0000 Print registers on an arm64 spinlock data abort When checking if the spinlock count is correct in a data abort we can panic without printing the registers. These are useful to debug the abort, e.g. by giving the fault address register. Reviewed by: kib Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40228 (cherry picked from commit 0731b0a9f1f9e3b4ec699ec67b6eb24159fa9b05) --- 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 10a2138d9625..45a4075507c3 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -299,8 +299,14 @@ data_abort(struct thread *td, struct trapframe *frame, uint64_t esr, pmap_fault(map->pmap, esr, far) == KERN_SUCCESS) return; - KASSERT(td->td_md.md_spinlock_count == 0, - ("data abort with spinlock held")); +#ifdef INVARIANTS + if (td->td_md.md_spinlock_count != 0) { + print_registers(frame); + print_gp_register("far", far); + printf(" esr: %.16lx\n", esr); + panic("data abort with spinlock held"); + } +#endif if (td->td_critnest != 0 || WITNESS_CHECK(WARN_SLEEPOK | WARN_GIANTOK, NULL, "Kernel page fault") != 0) { print_registers(frame); From nobody Mon Sep 25 11:00:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKft1zdGz4vNRp; Mon, 25 Sep 2023 11:00: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 4RvKft1KPqz3M6D; Mon, 25 Sep 2023 11:00:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vVnvt7C4VtjCZ8byiizKdUOuyCPxGdNNwV7fHoFCVnc=; b=edpCBtkkA0ZU6MYOA71fz4+mmKao5+94Y1c/OB/RIZKQiTeyEaWm4iWPe8BvDzDw5Frfd4 fM10K02DRkqON+Hf/Fg++s1q081BMJNIH/i/UlziJL8bnec47h20BrwpxXWjbXB0mlgWVo pNc7wkFu3txJzqTukpTpBTlJOHFWl7AxXrcPOovv9UY/4MsFAlTjI8fwMbv2JQwoKLCmPM Keb8gfrEusTMoasQau123P86JE7eI3WESi2KAwpX96ISoYk2NVOIM/yDwfU/FE2b94BXq6 MpQ3RqmDCDeDgX8z9OXVN1NnZ2a8OUnURG1Q3zt3mxBZhRbm1Kpz7dmuG+ppiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639654; a=rsa-sha256; cv=none; b=Fnx7of2pvBI7mTHDQjtk7SDZ0EH3QVDXsHhlCp7ghajuNNzTnXEBlim4Uv81GjwS3AKxdv tb7M1mOoSK6yqxaLJQIWLr5qOH8mdySPEKzvNMnIWVkN76UfH+dgJkgTck8J9ogzG9WhjI ZRdby98tKND/puURvHWnBTEx47S5wFXx3HlKkR3qMl+Clh+arYvjkikgMuW4V9FUElVSlI Xq8uP1cMk8eBM8JistXHRcuD1O8bvVu8H2yvyNpUjPQTI1crTm3WZ0YawNObyi4/AtQ5e4 TKzkeTnFUJpEsX+f5/fmX8bzKaR6jcav37IKuEdXmzUmGAw8CxxgJBhxkxwfCw== 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=1695639654; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vVnvt7C4VtjCZ8byiizKdUOuyCPxGdNNwV7fHoFCVnc=; b=wStpz9s5nsip/cqmrmuo6PwEp/tyem6t/lQzV9I6kUJWqzAdk3oh04LdKyCke7aSw0qwza 7/0KRGOQKUgJ1YSffRAMmLAyMgaOqU0rs25g/bOrhyhdW3sbISYlL5pGCjmFodM8+ub8Cz 3XBpvl+kM3ZqcNYcDwviuUfwZR5jBo6P4hdoSQiOxpoO1x4jBgEx3549WrrdsE7togxqRD gUj9ssob/FjPyvHgOjJBPVNfUIQU/qSnlc3jRXq6/U5V9isk9sc6zzuITkcrRurgII9GXU uAX1fvVJ1oysslyZYvTxnTNlVjHJkBEpzltvGAXovsFnJtKzuNTZIjsIs8fTsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKft0NCXz1QMk; Mon, 25 Sep 2023 11:00: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 38PB0r0o052776; Mon, 25 Sep 2023 11:00:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0r5q052773; Mon, 25 Sep 2023 11:00:53 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:53 GMT Message-Id: <202309251100.38PB0r5q052773@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: 57a615a47da4 - stable/13 - arm64: Print the spinlock count on panic List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 57a615a47da4b71ec4cacdbae23802e53c248844 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=57a615a47da4b71ec4cacdbae23802e53c248844 commit 57a615a47da4b71ec4cacdbae23802e53c248844 Author: Andrew Turner AuthorDate: 2023-05-24 14:40:30 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:16 +0000 arm64: Print the spinlock count on panic When the spinlock count is non-zero while taking a data abort we panic. Print this count to help debugging. Sponsored by: Arm Ltd (cherry picked from commit fa512fcd8fe74d72b7f29a324c8cd3ca20ff25c8) --- sys/arm64/arm64/trap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 45a4075507c3..7906bd94d470 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -304,7 +304,8 @@ data_abort(struct thread *td, struct trapframe *frame, uint64_t esr, print_registers(frame); print_gp_register("far", far); printf(" esr: %.16lx\n", esr); - panic("data abort with spinlock held"); + panic("data abort with spinlock held (spinlock count %d != 0)", + td->td_md.md_spinlock_count); } #endif if (td->td_critnest != 0 || WITNESS_CHECK(WARN_SLEEPOK | From nobody Mon Sep 25 11:00:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfv3Qfsz4vNPl; Mon, 25 Sep 2023 11:00: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 4RvKfv2N8vz3MRS; Mon, 25 Sep 2023 11:00:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1gqqHCPPhT3yi5EJYXV3fyZnGJ75f6mMEwOqmrEPe9Q=; b=TTiz+0+C0RrHHApM04Pge1hmDlBaCMVEco2b0ls7vDIL3RiKKr/iw8rFzeLfuWbhYGhptR llZH8OwcmTx/OFe4TIJmN9e/K5DSyBQOP6ND7XnlTUV2Sd1zjFPU/X74Qn20hFPGy5KAny H5u+FLbtRfUx62cK753//JG0ByqbvSwNoTEp4brDBtS73++ac7YC28PrqH82/0KxeFZTT5 G1gG47SEVJ3NNaLVG4FChwvjkJSq61S39Aw+QqNt3tktiTIG+hYcSgtjnDRbLMFf+errYm TIYKA6CoK4E/nLePXCvOEUgSihS+WvwDM22PtMawNUDklVz0mw+S/S86kS5g1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639655; a=rsa-sha256; cv=none; b=JTGzIHXCBuU2uX9xprhPd9CRkSB5CmGRzJ9CeBUks5NGzejk7VQvC7WaeLlyfG5NoQZ3B/ BTrcnPxRpdj0NV/6NNoXU9t6LkOZjsg5roy0Kq3kfVHkjhX5fpJP1e42XcDda2ou8pird+ zrXXcz+q+mmY3HWOgzt0sWaL8ZDTY33ikaz7yMIxK3wPUl9UAU0SusXO+iu7XF9WQFU2w3 NcweMy9rpO8WzufYkLu3vCckNvJdIqonm24BsL6XfCnLvR8JdILYwoZYyrHW99pV6QP/qM t+qxifUPR9pT+bsKVBJy+PzvNTQJgATU1nm8N87rqrg/Kl7cC6S2HzBiRgv8oA== 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=1695639655; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1gqqHCPPhT3yi5EJYXV3fyZnGJ75f6mMEwOqmrEPe9Q=; b=uD2iiaeyAZ7LF+k2tuOQXRSWw0cI/VfuFPPqxtt1Se0Bx1esiOwp6Lt/sYpzgDyyEzQHO2 f/NIQSB/xu7Tu1dcIoZlnVZmRdZOX47ETI783zeBMkGTRrx7p4QrtyOxVsFgvRZfUfGyG3 C5qAlhVQ0eOq/FKOGGaHdWduREox9ZVrI6jzNM0KSzimbqiIbI+ax59AftlAomB/nG8VLn MHngvZ4ih7CGudiRRuIVIHHO2IYDncBJxRRNmipUmJ81DvcoyPF62Rgjoitd0PKuKjREdx 0gbfzFdHPFGyAQ6k4WuKct4nbmVpdlFS/JbhmJ5xYCOirHUQC+bhsgtb2aQO7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfv1TFYz1QMl; Mon, 25 Sep 2023 11:00: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 38PB0tiY052823; Mon, 25 Sep 2023 11:00:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0tbb052820; Mon, 25 Sep 2023 11:00:55 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:55 GMT Message-Id: <202309251100.38PB0tbb052820@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: 0086da9f499c - stable/13 - Add brackets around GICv3 redistributor macros List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 0086da9f499c4b0b453e2883b9380094327523c2 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0086da9f499c4b0b453e2883b9380094327523c2 commit 0086da9f499c4b0b453e2883b9380094327523c2 Author: Andrew Turner AuthorDate: 2023-05-25 08:35:14 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:16 +0000 Add brackets around GICv3 redistributor macros The GICv3 redistributor register access macros take arguments that are used as variables. Add brackets around them as is the style, and for safety. Sponsored by: Arm Ltd (cherry picked from commit 8b709c88e56dc7e035be6744572bd2978a704338) --- sys/arm64/arm64/gic_v3_var.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/gic_v3_var.h b/sys/arm64/arm64/gic_v3_var.h index fe63934dca4d..d423e51453dc 100644 --- a/sys/arm64/arm64/gic_v3_var.h +++ b/sys/arm64/arm64/gic_v3_var.h @@ -131,8 +131,8 @@ void gic_r_write_8(device_t, bus_size_t, uint64_t var); u_int cpu = PCPU_GET(cpuid); \ \ bus_read_##len( \ - &sc->gic_redists.pcpu[cpu]->res, \ - reg); \ + &(sc)->gic_redists.pcpu[cpu]->res, \ + (reg)); \ }) #define gic_r_write(sc, len, reg, val) \ @@ -140,8 +140,8 @@ void gic_r_write_8(device_t, bus_size_t, uint64_t var); u_int cpu = PCPU_GET(cpuid); \ \ bus_write_##len( \ - &sc->gic_redists.pcpu[cpu]->res, \ - reg, val); \ + &(sc)->gic_redists.pcpu[cpu]->res, \ + (reg), (val)); \ }) #endif /* _GIC_V3_VAR_H_ */ From nobody Mon Sep 25 11:00:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfw5WtRz4vNH1; Mon, 25 Sep 2023 11:00: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 4RvKfw3Xc0z3MGb; Mon, 25 Sep 2023 11:00:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639656; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sMblh3KJYGmzN7URx9kwfkfle3VZ2J633Ib5yN7hPgA=; b=pxJoxxTbOAliD0EBMvSLQSOhNYgH/YiOZ/VDp49Le/HRbPZ7Up8pE8GwYM1pOeEY5LQ13D 8aXAiLaA7imBw3etkChUvosTHYiR1C6UHcuXkO8th2gCwMnzNFZjF7iP4++/sDkoopS3kj hNCgseH1ihcWQi1sag9Cjhpv6xs7HYpgwrp6AJ2mtMSCIRzkz1HOTZSwza6i3Jksh0v5ek ip8/jF08qUOXnZFwHtLqrsfVQH7webbmpeP7gv61OAVsyzKL7jmZKsWcGvvJs/L/KBhbfh CM2WmgiftV+pPwcuLjLnQZ/w9pja+mfx5zYEX4rboKc3Xi/y0BWBSzyJcAw4Sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639656; a=rsa-sha256; cv=none; b=UrBR4d852rTpHCvt4HG0aQ5Kc8Ily4g9uo5rsB5dNj7hCYHA7L8DIasqIM7oEkjQ+XYAmV fDNEMHPC+UejQoxldokPjfaMeJluMdpapOFL1+hG76RWpD5B2u8sotgIikASsu9aqMf48A bcXXAY6x+g7Y4lAb4D1LP15WgnvvcejXl/suHevbQB4THj0x1Gu7s6rV5SLyJBj+XNmk5d 9icVhS8Y2vT8/bygMpREnyvWbDb34MABO1fS0WoguxXjN/frCtGeltNJ4ey0q81KDjNtn8 0xdig7n3hCxIcX0sNhWw1o34tAVd9qmnvdMqpvhdGpUUDLb4XZRdkB5wGcRTWQ== 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=1695639656; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sMblh3KJYGmzN7URx9kwfkfle3VZ2J633Ib5yN7hPgA=; b=br7OBCuLNkC3DHI7xEsJUmBX7Z7jJZ+Rx/YybJpn/tPGcYxiI5mYSHgZm2v1JNdzk0eGVh JtX5Vio1Ni7+awSSX0E+TOIDYDXCtDFrndeQO1L6Ipt0XbSCF6MfANcmRt5K9vhCX1OF0s 9FzHmHGuBVtONd5C35iuugAT3kLA+q4ikFklnPi2GOQQbPERMUnfVCXl4YXlp+n2F51oFW h/kzcGmoOyUloP8ZgL5c/Ql7Oja1m78n47ryMU/VddkiHrxB+YRlSSOCD9qw0yGywAB2AU ahZ2ChvHBlTnRJGM/C+5/T2YwZKyZpBsrpTz+CFbAJ54ECpctt6fs19zh3M3oA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfw2bjwz1QMm; Mon, 25 Sep 2023 11:00: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 38PB0uPV052873; Mon, 25 Sep 2023 11:00:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0uL5052870; Mon, 25 Sep 2023 11:00:56 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:56 GMT Message-Id: <202309251100.38PB0uL5052870@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: d7c0cc9e37b5 - stable/13 - arm64: Correct a pmap unlock in pmap_stage2_fault List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: d7c0cc9e37b56b32ba6fd2a47cd97edf2c9f6465 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d7c0cc9e37b56b32ba6fd2a47cd97edf2c9f6465 commit d7c0cc9e37b56b32ba6fd2a47cd97edf2c9f6465 Author: Andrew Turner AuthorDate: 2023-06-02 09:58:56 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:16 +0000 arm64: Correct a pmap unlock in pmap_stage2_fault This is used by bhyve so was not an issue as it is still in development. Sponsored by: Arm Ltd (cherry picked from commit 8cca8e248fb7f5fb475544a08d8cdb24d26bf4b3) --- sys/arm64/arm64/pmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 037f1d5a805f..49ca89135883 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -7179,7 +7179,7 @@ pmap_stage2_fault(pmap_t pmap, uint64_t esr, uint64_t far) PMAP_LOCK(pmap); pdep = pmap_pde(pmap, far, &lvl); if (pdep == NULL || lvl != (dfsc - ISS_DATA_DFSC_TF_L1)) { - PMAP_LOCK(pmap); + PMAP_UNLOCK(pmap); break; } From nobody Mon Sep 25 11:00:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfx5dRsz4vN0B; Mon, 25 Sep 2023 11:00: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 4RvKfx4kqcz3MWg; Mon, 25 Sep 2023 11:00:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SbsXsGz3c1M4AgqNRT+VKKcT53yjbnR2bQqEq9hQo9g=; b=gWcp7wSY1KJAE3hJAn5w4FQh6dsQgwx1TK0WAZVTya2niq0tf3BKs7WEK1QGgn3dobifwi UMUrqq2w39ZbirH34r3tE/IMRbUzFk3WuoyUNIPIVoOOWtxm7Yt98u6Mg8Uw1cztUKFNSn W3TGglgj8PnapAe+pnUqsFLQ607qEHOTgJuz2LhcDo0kM8kEsN8JihuWRrqX7H/mSCiOJp khhUd4t7HNocH26g32vO+mY5RSzXlDJWvQwbPKFF6TgJyiBz5StOSGu/VBYw46EamN0kCZ VY6vIp3h3lIg8IVIMAlYXsMaM8AhcJsXNpico9CKA/DPkIzETATZ05HBAuwZsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639657; a=rsa-sha256; cv=none; b=DyOeuiuhGxgp7gX5+Ej/kkzH+7uEpGEnZ4Hgj7R1m7bOtX9PJlg8r+Vj3F+kyN35WT0UOt qbQ2uMgY6UgYsKQ7uZumnPStrbn5whx9UL8Vf88rLRBpYBNgbQZWMEUR6AGNx6ljpP4p7T arracW7p8XfURNRPwXTPJaZA7nnEc7ffiaTPkOmB0AIZcObfNKAdTdJaRyhHP0kd1VerXW +PcYWnpD1cYBpE96sezA31QhfPFgtJA8vgzwOXyCjvaSFxvi+8VkufKp3V3w3/8YAlMekE ypzp6TrGFFxWPby9kGg7DIbpFp9MOoMSTzOBMYsfeit7t+IQeK7TIQymYmZalg== 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=1695639657; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SbsXsGz3c1M4AgqNRT+VKKcT53yjbnR2bQqEq9hQo9g=; b=uHeAtKnU6A5TxzyeTUS2KCkCH5XS7Vhzb/p3aKN74p+w4Fo3Ig5hqen4JtrZ8P1sdKlFha kx5dRgpnzoy5esTRKDBfcLg47hNjoQ5ICrQx3RJggzrX7lFBeejQK+PJ35ZHHWAaGQTisb A2vGwbfn3v/ZNhoPgPjfwXv3FreafOBGP7Jc3DSKXfdbOhTygm94kypNjHOw2oRZ8tYAPI tlIdYR/24ha13DP1sKpwp+gDPy+vWFTruGapf1i7BNYg3chDpTzt65uXx5wSADJBrTdOX5 DVtNwLxsQTvMrs2ergwVezrFpClHYkA8fsnyy79hxiWbtwind49He2IjWYTHCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfx3ldWz1QH8; Mon, 25 Sep 2023 11:00: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 38PB0vMr052919; Mon, 25 Sep 2023 11:00:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0v7P052916; Mon, 25 Sep 2023 11:00:57 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:57 GMT Message-Id: <202309251100.38PB0v7P052916@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: 79a1a19fc25a - stable/13 - Add more arm64 ID registers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 79a1a19fc25a433b13ea85ed65359479360b2130 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=79a1a19fc25a433b13ea85ed65359479360b2130 commit 79a1a19fc25a433b13ea85ed65359479360b2130 Author: Andrew Turner AuthorDate: 2023-06-02 14:59:46 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:16 +0000 Add more arm64 ID registers These will be used by bhyve to emulate these registers. Sponsored by: Arm Ltd (cherry picked from commit 4baf5db06ccfdb616abb6a68be99f297f7377bf4) --- sys/arm64/include/armreg.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index f3bfda15e908..baf04695bf41 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -476,6 +476,22 @@ /* ICC_SRE_EL1 */ #define ICC_SRE_EL1_SRE (1U << 0) +/* ID_AA64AFR0_EL1 */ +#define ID_AA64AFR0_EL1 MRS_REG(ID_AA64AFR0_EL1) +#define ID_AA64AFR0_EL1_op0 3 +#define ID_AA64AFR0_EL1_op1 0 +#define ID_AA64AFR0_EL1_CRn 0 +#define ID_AA64AFR0_EL1_CRm 5 +#define ID_AA64AFR0_EL1_op2 4 + +/* ID_AA64AFR1_EL1 */ +#define ID_AA64AFR1_EL1 MRS_REG(ID_AA64AFR1_EL1) +#define ID_AA64AFR1_EL1_op0 3 +#define ID_AA64AFR1_EL1_op1 0 +#define ID_AA64AFR1_EL1_CRn 0 +#define ID_AA64AFR1_EL1_CRm 5 +#define ID_AA64AFR1_EL1_op2 5 + /* ID_AA64DFR0_EL1 */ #define ID_AA64DFR0_EL1 MRS_REG(ID_AA64DFR0_EL1) #define ID_AA64DFR0_EL1_op0 0x3 From nobody Mon Sep 25 11:00:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKfy6dKXz4vNJY; Mon, 25 Sep 2023 11:00: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 4RvKfy5kWgz3MXV; Mon, 25 Sep 2023 11:00:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sFsGsAlbHw9ZMAyUQsQpFjWaWa72y3gclR0Q2xH3xrM=; b=VeNyGS8IlgJVsRIWuYIEuITWgFEIflkK8Zf1nqpval74S0/nVNv+H5u2WOZul1/HfdRWwH QjoUrztKSccxu2wrefBNuCxOYphD84OP85A+HJwf7q5eR3gY7G6iimh8Q9Uw+FsXbDeZHK p8HfWeX51IB/Vx8JD8ZMqdssreYKN9d0Z3fq9QwHVWeduC7c+03CAzSH/k1p32Fpn4sCdZ LZFtTlbjYv4BkULV8oRudR1SRBqirscQoPZNuSR08MfdRB03ngLg4wjwze+NqBgcuTlyXV T8O2VznFx8/b/EZhDGnpDH7AvKyzKN5v9ISL0Yq+BSZsdqWbUKWVbxsO1JYX8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639658; a=rsa-sha256; cv=none; b=rzVzzJxH9cwUd3MvTBRlJ4q+PIo0V6O66XUlDJXmptSxTiPUEljuSCAcPw4XG4JngtT0A6 WtL4LvZrynzSvzB7xG4lclp+gRWBqE0uZBoT1e7zrxYTZIJhM02MvEwGF6/8hcnpUNGuXR fGhtw6cJdPIVk4Hipf2qAKqiN5aIIOz6EnAI6JM4BGxu0svlSQh3tf6aVWMdKQa5vx6dmQ CWVi2QghedF855Mu6vVIYThcEwEAjiPQhZJlESWvcDlKGditoZNSlHRc3fsA/hPv+CBXWm ugsVS2ofLX9qPZCA1bmWT7NU+u7DQ7owR/GWTFjwhTP5d/ID+lg1jvnT3cdA4g== 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=1695639658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sFsGsAlbHw9ZMAyUQsQpFjWaWa72y3gclR0Q2xH3xrM=; b=Fen6OR2LlOXrV9UuUBYpAOC9uA/CAJzeM29VMgDY9dtEMOPsbsG+fMcHQ6eAN3Fc6OZmQp Y5Apve4eclmjw7FR91s42tZVu0zOXMIOrB7HtnNRvxaYQUzD8nV5sGdc9M+fNPoU4f764s /twMewiBhBT34eWeA0clxf74PwhXGThMv7ugXo2gw6RoA/vXAScBXOR51aiOQoBFwiYElO Y4GMSAatzLS4HB4WV5KP9f2OI5yRgzmP7kcziE/9+Bgc52VxXrL5yRLuC1SsHMY5DsvKkL oYhNtsXDZeNy8s7MjmdKICbz/C//AmtCpdhHrzCszxqtXrr+2ZknM9jGV017ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfy4Y2gz1Q5m; Mon, 25 Sep 2023 11:00: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 38PB0w4C052969; Mon, 25 Sep 2023 11:00:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0wpK052966; Mon, 25 Sep 2023 11:00:58 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:58 GMT Message-Id: <202309251100.38PB0wpK052966@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: 66d713f68698 - stable/13 - arm64: Fix the definition of ID_AA64DFR1_EL1 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 66d713f68698f4a2721c8885fb38b897ca208cf4 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=66d713f68698f4a2721c8885fb38b897ca208cf4 commit 66d713f68698f4a2721c8885fb38b897ca208cf4 Author: Andrew Turner AuthorDate: 2023-06-02 15:23:47 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:32 +0000 arm64: Fix the definition of ID_AA64DFR1_EL1 (cherry picked from commit dd235575283811af73db665a280ac40f8b0a608b) --- 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 baf04695bf41..9b60ea2a6263 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -550,7 +550,7 @@ #define ID_AA64DFR0_TraceFilt_8_4 (UL(0x1) << ID_AA64DFR0_TraceFilt_SHIFT) /* ID_AA64DFR1_EL1 */ -#define ID_AA64DFR1_EL1 MRS_REG(ID_AA64DFR0_EL1) +#define ID_AA64DFR1_EL1 MRS_REG(ID_AA64DFR1_EL1) #define ID_AA64DFR1_EL1_op0 3 #define ID_AA64DFR1_EL1_op1 0 #define ID_AA64DFR1_EL1_CRn 0 From nobody Mon Sep 25 11:00:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKg0066Dz4vNRx; Mon, 25 Sep 2023 11:01: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 4RvKfz6lfQz3MkN; Mon, 25 Sep 2023 11:00:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wlj9OW3WRYKkdAQS0Z1JLTKEeTuJQzRCrnWWboK3RVg=; b=nxXwkimevctyT+gyagTmO55BcbP2YA5QPFQqF+eplhYJL3GJYjlVd4iHqoGU/3PShMl1lT E3AKTpK2os6qoTV8K1lL/hNqhdHCY9zC3NU5GgAh7OMn36AAWG9b4rf/eQYWVuBBFvdIEw KN5+z2+OqNHZ5NGX8CVyLASyM9DCi/DAwqlRYf8GXAiRoAuQV16McbCmvaxwdYqzSiOv82 eHeTSdMkP/4FlviUSyLiiuyTsLb9J3aKXfX6I8c2i9bcXlV0BuHcZ7GiETAGv+8Q8bdfaL xCdtJHOQXH1Q9tkKmjYNuHrlxw1C0qhNte2SdR1Qq1tq7R6Fu+XTuoDSgBy9Gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639659; a=rsa-sha256; cv=none; b=qsS+EqS6tyN296GTdBamFP00jf+TY9L3QrFpaynkb+833wXgXo2BQCAOi+IjF4cUzZkQPN SzJ/hXu9hbhp/RnYEbz89MZqVCpYAgkY9b+RHDNKOZ5DwIiUmdIm8l+hugVc3pAH5CPJdq NPGu4vGWAwrdvIhl3YR4zrZNWErSPI/MXbAFTauzug8mOP6qmEQE3VTpVWD5ZFs/4ZRMCh GC0epZBI7FAiio5AceDpEYYzgjYMdq0cAz+y7HGFXMHvjNqPAXIRU+UHJYtH4Al9lJLwNR Ck/3+/OGgg906QXS0kjfZLQtiTLsiWSlkTeH22IPTqJ2X6Y6drYbwJdhEODyKg== 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=1695639659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wlj9OW3WRYKkdAQS0Z1JLTKEeTuJQzRCrnWWboK3RVg=; b=JaHCOfQEjKOBtS5vo9BtAlIKHQTAgcRQKEUGeYGsorhpAOZ8xpVRKTrm/LdD6gl6XZRuJ0 84nVcaXI5KCDgxghzWQFQ9R6U07Q1pCwjS7enjOJvKxEiqE+gGl8et/pnEtvrYGu9pfipd LjluYjm8YR3K1B1ML4s2+UIa94nPE0FPh7wphBaSyIu0B3U/mUM3Rd038xyxCRKyBBUlgo UDElkJd6PQjPX74PqX6YeQ7E9uk/eUX0MEE8rY9T8OST58fd8g+UEjJaJnU2Fzk+1Kgbn8 07iOl9STGloFDChHQ3nSp80zdMbgvvwgNXY+h5v0BW5OSzmD1eR6DNouYZdx0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKfz5pClz1Qd6; Mon, 25 Sep 2023 11:00: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 38PB0x6v053024; Mon, 25 Sep 2023 11:00:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB0x6C053021; Mon, 25 Sep 2023 11:00:59 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:00:59 GMT Message-Id: <202309251100.38PB0x6C053021@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: da9d00c5bac9 - stable/13 - Add more arm64 ID registers to the user_regs array List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: da9d00c5bac94f4e3ed19e08f0df4fb63d1acb98 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=da9d00c5bac94f4e3ed19e08f0df4fb63d1acb98 commit da9d00c5bac94f4e3ed19e08f0df4fb63d1acb98 Author: Andrew Turner AuthorDate: 2023-06-09 08:36:12 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:32 +0000 Add more arm64 ID registers to the user_regs array This is a mapping from ID register value to offset in struct cpu_desc. These registers may be needed with future architecture revisions either by userspace or by bhyve. Sponsored by: Arm Ltd (cherry picked from commit 1dd169af7143db4df613f273e565919c1c2b53f5) --- sys/arm64/arm64/identcpu.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 136e1d09db9d..4ac1e0ff3ae9 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1565,10 +1565,15 @@ struct mrs_user_reg { .fields = field_name##_fields, \ } static struct mrs_user_reg user_regs[] = { + USER_REG(ID_AA64AFR0_EL1, id_aa64afr0), + USER_REG(ID_AA64AFR1_EL1, id_aa64afr1), + USER_REG(ID_AA64DFR0_EL1, id_aa64dfr0), + USER_REG(ID_AA64DFR1_EL1, id_aa64dfr1), USER_REG(ID_AA64ISAR0_EL1, id_aa64isar0), USER_REG(ID_AA64ISAR1_EL1, id_aa64isar1), + USER_REG(ID_AA64ISAR2_EL1, id_aa64isar2), USER_REG(ID_AA64MMFR0_EL1, id_aa64mmfr0), USER_REG(ID_AA64MMFR1_EL1, id_aa64mmfr1), @@ -1576,6 +1581,9 @@ static struct mrs_user_reg user_regs[] = { USER_REG(ID_AA64PFR0_EL1, id_aa64pfr0), USER_REG(ID_AA64PFR1_EL1, id_aa64pfr1), + + USER_REG(ID_AA64ZFR0_EL1, id_aa64zfr0), + #ifdef COMPAT_FREEBSD32 USER_REG(ID_ISAR5_EL1, id_isar5), From nobody Mon Sep 25 11:01:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKg13GPGz4vNHF; Mon, 25 Sep 2023 11:01:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RvKg10zWnz3McB; Mon, 25 Sep 2023 11:01:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BWFUSmNWDBXv3vOyeB0c+1roanRfg/tguj2NruVCGLk=; b=LBolBiM7tgC8M8z0m0Fa9ChpxpSTXkYGg1PLZbjZV0F/DQqwGUypIZCF30CBYeDK0Su50q /Tr/5e4h9GhyUNbhR2X8CpHgdkwbranRaBkK9yps4KJ91/nS6iEbAAO6pZ7wL4L92LebdA iuKESpU7fnLMydXJju6RAlv+lHEbrGKc5VwTUTmEc0BHs4+ZJhGFI1K0IEJo9OSqQ27pWQ letJ7JteTvDSyhVhu1gY7Xxc7f/CXywtw6KCKyRY5erfTh575mwuibAF6SRvin5iEIpiQ+ ru5eJKjf0x8GnT4ErdTS/Y4r9ef+1x9NC5PnxF4SQNQ9uYYp/vMAvQ4Zn8QEgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639661; a=rsa-sha256; cv=none; b=tYU0Z7PI6J3X+Fkn9QRedmTsagPZ7ubZmVhD4gf02Mn18yylEJIhIF5tvxD5oV/Hi6ZEhy M1b+KeB9DAvt/LDBXLASjdm+nI4jWp3ur/e4uI2/7AAp9DVOlOCeqm14j7PUR8rBk2iOwM xEnaH2PvXCFdhUpwqa0XyoLAHsxPOcTMf7dMwUwsMLz2BQ0pFSmRhPYKo4bLS1hUa4ebyt hGisG9xkCijem0ugEIRjtzKPG3CdCSpwVnQyT3KZckG+6Ohciz5SqPfgtLNLIq+ejrJ0mX mK5CnrALcEfl1/qBErQenLH+NbDvFSvB0ikD9iM6ETQV4ES1NDeiM25kUzKXOQ== 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=1695639661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BWFUSmNWDBXv3vOyeB0c+1roanRfg/tguj2NruVCGLk=; b=AX5T9Pf4aMio6+aC3OBPshxAR1SD1VeGfyQqiF0DS8nUzra7yGjAJ8Ce846T5usXRMQ2Zk rv3eu9TpMoFUqschRtTpjY+hn41+YVTKdeXnLuGdiFQn8qVFu5rW22hyXNhf6zPYxtDvI0 zLnXU4hHEdj3JXo2bsiK1v7av+5Z47zKQq5qnZGOI6P4dfPp2DVLO0DEToFSXTDIsOlgKZ 8prT4vIWJQzujRgP0hj2sng2OeVAcIKzFa1sFblS+8YGHNk34fpH1FbgSlDQ4yQtFfjzAF xHcT8SQ2v46iIPM8ggYYmdl4aSbXApg6wWA5GTi4yAHousz0Ejz8/1LpCRwezw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKg06yrPz1QQ7; Mon, 25 Sep 2023 11:01: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 38PB10So053075; Mon, 25 Sep 2023 11:01:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB10t0053072; Mon, 25 Sep 2023 11:01:00 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:00 GMT Message-Id: <202309251101.38PB10t0053072@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: 0fb5ae0c7c3d - stable/13 - Add more arm64 special register values List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 0fb5ae0c7c3d8adf4d1e0d8badf7e724db279f8a Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0fb5ae0c7c3d8adf4d1e0d8badf7e724db279f8a commit 0fb5ae0c7c3d8adf4d1e0d8badf7e724db279f8a Author: Andrew Turner AuthorDate: 2023-06-09 17:46:58 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:32 +0000 Add more arm64 special register values These will be used to simplify the kernel special register handling. Sponsored by: Arm Ltd (cherry picked from commit 178747a1586d48a8063014d7b8528ec47205e1bf) --- sys/arm64/include/armreg.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 9b60ea2a6263..d307781f2d01 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1247,6 +1247,14 @@ #define MDSCR_MDE_SHIFT 15 #define MDSCR_MDE (UL(0x1) << MDSCR_MDE_SHIFT) +/* MIDR_EL1 - Main ID Register */ +#define MIDR_EL1 MRS_REG(MIDR_EL1) +#define MIDR_EL1_op0 3 +#define MIDR_EL1_op1 0 +#define MIDR_EL1_CRn 0 +#define MIDR_EL1_CRm 0 +#define MIDR_EL1_op2 0 + /* MPIDR_EL1 - Multiprocessor Affinity Register */ #define MPIDR_EL1 MRS_REG(MPIDR_EL1) #define MPIDR_EL1_op0 3 @@ -1886,6 +1894,14 @@ #define PSR_SETTABLE_32 PSR_FLAGS #define PSR_SETTABLE_64 (PSR_FLAGS | PSR_SS) +/* REVIDR_EL1 - Revision ID Register */ +#define REVIDR_EL1 MRS_REG(REVIDR_EL1) +#define REVIDR_EL1_op0 3 +#define REVIDR_EL1_op1 0 +#define REVIDR_EL1_CRn 0 +#define REVIDR_EL1_CRm 0 +#define REVIDR_EL1_op2 6 + /* TCR_EL1 - Translation Control Register */ /* Bits 63:59 are reserved */ #define TCR_TCMA1_SHIFT 58 From nobody Mon Sep 25 11:01:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKg23gmKz4vNF9; Mon, 25 Sep 2023 11:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RvKg21frsz3Ml4; Mon, 25 Sep 2023 11:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olcRccc8xyhfxGhxjfVJC6PRV6JKEEt5sBkxZKqAP/c=; b=duA+XhAkGKgipPyAgOCQoEVm5B0ZcVaT+OT8wfm7deR7JuZaktsknV1vw8+wFuoO/j3ajF LaYsr7k94KBoNWGzgk3Wjlazbzmif7kKitHWQA5+9rBvPLufFKDmMcZ+HY/ybA4QbXi+qX Ym5UHK0436oY06GaQqjZy4Zes4S4x/Cki7fou8cSE9bRF3PUpL9rWs9P4Mper/Zqi6w1Lb 8FVwZlusqDmmSpS6KTIMYOa+xqwU3Dloo3pl8CUKCiykdMkzCfqxt/rmyXg3Oj/qkSQEXm YiQ7vDKy6fviWyRvFbDYXCN2UuBLSqjImKWMI9aIQrQ3CgMphFgc9Aec112cZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639662; a=rsa-sha256; cv=none; b=T8pls8Uhw34BgblmaIK2lNda1lQ+qb0LTZuwTl363u2M03iCkt7FO3J5AoDMOlPSZU7N4t 89NYJrYWU+5nomfOsnlp78rnotQDh/NyVUIN/4tHEvXnZNxnnfZI3zSh/fVWxMxSXxZ6PI wPtG2GCP/rzbT+HFI/RopnE+/cXMstn7vY8UkzHwxjMOh7CF60xS7skYVaskqEjNlLDu6i 0LRTMAZo1ho2dQ0V/WQ5DQJQhCHmjoxhEtnEQiv/DBQ3B6G8f+6d6DYN8pfXTNti5eUiU/ akgSi5DMZrZLQ4QC7MFFVRJ02kIQz/j5NeJjpkiRz4zO+ZteHb1CwNqybwQpmw== 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=1695639662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=olcRccc8xyhfxGhxjfVJC6PRV6JKEEt5sBkxZKqAP/c=; b=mJRqbyVDBcHTezaX/R6fZwmDjzut3NZB0JdbTaewla4dQVmZwNKX47u4nMIaf+1WsPx8O+ kn7epHuhysW+p0jaD2AlHqY2pUg+Xmwh3K2E1u/VWYPKxGHffIq1SpBTB1wWtcv2fhnXVz M7btqoMN4/tkEXi2SaGDOeDWEDVhaNEmFQhnaKh09A21Vf0LOa4nANL6hxyLQz4erbl7BZ JFt0iczSjlnsV3J/23pTsE4uLdxcwOpSrU+F2RPwUYyuBZGFJy8EYktLZV+q4VKLNQi+oW pw/xRkAOeMOMFxU+/6X2KAehp0WcmIICs0qxN3630UfwBo6erniz/u/OGpwfbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKg20mDLz1QH9; Mon, 25 Sep 2023 11:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38PB12tr053133; Mon, 25 Sep 2023 11:01:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB12F1053130; Mon, 25 Sep 2023 11:01:02 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:02 GMT Message-Id: <202309251101.38PB12F1053130@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: ffe9a1987bb7 - stable/13 - Continue searching for an irq map from the start List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: ffe9a1987bb7d57b21bb19e20fd9f66dd98e7a78 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ffe9a1987bb7d57b21bb19e20fd9f66dd98e7a78 commit ffe9a1987bb7d57b21bb19e20fd9f66dd98e7a78 Author: Andrew Turner AuthorDate: 2023-06-27 08:32:12 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:32 +0000 Continue searching for an irq map from the start When searching for a free irq map location continue the search from the beginning of the list. There may be holes in the map before irq_map_first_free_idx, e.g. when removing an entries in order will increase the index past the current free entry. PR: 271990 Reviewed by: mhorne Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40768 (cherry picked from commit 9beb195fd9fdc4beb7d5bca865cf5b19ccd7449b) --- sys/kern/subr_intr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/kern/subr_intr.c b/sys/kern/subr_intr.c index 02da0b884535..cb7a8647e433 100644 --- a/sys/kern/subr_intr.c +++ b/sys/kern/subr_intr.c @@ -1715,6 +1715,14 @@ intr_map_irq(device_t dev, intptr_t xref, struct intr_map_data *data) return (i); } } + for (i = 0; i < irq_map_first_free_idx; i++) { + if (irq_map[i] == NULL) { + irq_map[i] = entry; + irq_map_first_free_idx = i + 1; + mtx_unlock(&irq_map_lock); + return (i); + } + } mtx_unlock(&irq_map_lock); /* XXX Expand irq_map table */ From nobody Mon Sep 25 11:01:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKg32rq4z4vNNL; Mon, 25 Sep 2023 11:01:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RvKg32NdNz3Mr6; Mon, 25 Sep 2023 11:01:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oy2vj8JLkUsMlWD8H7jdpdhWkQFMfzNVnNqyTGIXqDQ=; b=hkLF/yIOSZpVi+F01nNfFr6rMhCy4yiIVp0jFIugzJM7W48l097nMQwEdTcJa05d21wEqA Gf8GzaVuHjtSYfvXlggztxScJPmMKYjOcIdQYaoAFBLHM+lcyS/Jyw2EWEZTsS+pf5Fds9 7eSvp5qLW7lhPGMkYkOyCOKO2fGGBv6MGzAlR7wnZYMwdeswrpfWyKqIgwZ8KksBs9eWKl sbLGgOOX0jNoLxbKgvSYdTPT+A5zaT4xShL7iSLNt0eBfdQ1UTY45awm0PQBrLwXpkfhEp F8i/UOLScAW85WUZkV4j/TD/5v+fo3intmiUbF4KQtmAd8BqQ+qIux2RRR4GBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639663; a=rsa-sha256; cv=none; b=jgep6M0Wtf1xzE34L3qLkhnZHOudOlD18of8v19namVxAQjtdzUav/9EcdL89Rxde4mEQl +65cBZVTo1U63gJnipsXIdZlXlGncrCdVhHgSKhZRH7Su0RlVtRsWlv9+TSQjEqLqgLfOu hktTNHKlGUDRCJgMmOZ9usNmA/vrEtKwuyEojhVqLWCvSQR/+vCJ1rhGRcNMVlPWlsmzG6 aQhSCo0Gn9lARLyxMSGFYA0+bOYRfTSsOAxl39d38AP2FhY3dwND6p9q09NQxB5huuYRVb EMxi6SdnmgGjtT6iKEiAfjrgERDuz6Y/RWKtbOfup+C3Vr5MoMNJYZN3awVIeg== 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=1695639663; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oy2vj8JLkUsMlWD8H7jdpdhWkQFMfzNVnNqyTGIXqDQ=; b=g4JB5iVTATLESQUUja5LmdEYzO99Ya0vK42mq84CZ5tI3V+5TEznur3+biiym+Sq6sCsT2 yJa1ZZMfu+CeqKMbB0Y9+AxQstuysIAkdgvuGQIs6cW4UdMa9ITgNX8l84FoVDAZwgkh/r bm8cfCPTSQbD2qvLOwlls05T+4+KoeoN6KOKqEyY481wA2hNg3yUaMiPLV9eIIoaXesfKN uXXNzNQyjyaNYGSCSpQ8kmw8zhQAU5lkhnAHini0guX9mTdatnlXIm1CxLQQmF+Aq0XDgU dOPMRJhxN+Hz11Mz0MJ+/oK10m7omgE/vxnNbKq6sdC+18stMJp8ROGzPqRXoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKg31Gkzz1QMq; Mon, 25 Sep 2023 11:01:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38PB13dq053177; Mon, 25 Sep 2023 11:01:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB13Jx053174; Mon, 25 Sep 2023 11:01:03 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:03 GMT Message-Id: <202309251101.38PB13Jx053174@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: ac5c7b722ec4 - stable/13 - arm64: Make register definitions const List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: ac5c7b722ec43bf0cf8c5fc97cb2e7d0c1f3a188 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ac5c7b722ec43bf0cf8c5fc97cb2e7d0c1f3a188 commit ac5c7b722ec43bf0cf8c5fc97cb2e7d0c1f3a188 Author: Mark Johnston AuthorDate: 2023-06-28 20:13:37 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:33 +0000 arm64: Make register definitions const No functional change intended. Reviewed by: andrew MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. (hardware) Differential Revision: https://reviews.freebsd.org/D40502 (cherry picked from commit 00bcb77ebcbcb89bd27205b289699d711a0caf3d) --- sys/arm64/arm64/identcpu.c | 391 +++++++++++++++++++++++---------------------- 1 file changed, 196 insertions(+), 195 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 4ac1e0ff3ae9..2f849b049425 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -298,8 +298,8 @@ struct mrs_field_hwcap { struct mrs_field { const char *name; - struct mrs_field_value *values; - struct mrs_field_hwcap *hwcaps; + const struct mrs_field_value *values; + const struct mrs_field_hwcap *hwcaps; uint64_t mask; bool sign; u_int type; @@ -323,53 +323,53 @@ struct mrs_field { #define MRS_FIELD_END { .type = MRS_INVALID, } /* ID_AA64AFR0_EL1 */ -static struct mrs_field id_aa64afr0_fields[] = { +static const struct mrs_field id_aa64afr0_fields[] = { MRS_FIELD_END, }; /* ID_AA64AFR1_EL1 */ -static struct mrs_field id_aa64afr1_fields[] = { +static const struct mrs_field id_aa64afr1_fields[] = { MRS_FIELD_END, }; /* ID_AA64DFR0_EL1 */ -static struct mrs_field_value id_aa64dfr0_tracefilt[] = { +static const struct mrs_field_value id_aa64dfr0_tracefilt[] = { MRS_FIELD_VALUE(ID_AA64DFR0_TraceFilt_NONE, ""), MRS_FIELD_VALUE(ID_AA64DFR0_TraceFilt_8_4, "Trace v8.4"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64dfr0_doublelock[] = { +static const struct mrs_field_value id_aa64dfr0_doublelock[] = { MRS_FIELD_VALUE(ID_AA64DFR0_DoubleLock_IMPL, "DoubleLock"), MRS_FIELD_VALUE(ID_AA64DFR0_DoubleLock_NONE, ""), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64dfr0_pmsver[] = { +static const struct mrs_field_value id_aa64dfr0_pmsver[] = { MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_NONE, ""), MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE, "SPE"), MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE_8_3, "SPE v8.3"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64dfr0_ctx_cmps[] = { +static const struct mrs_field_value id_aa64dfr0_ctx_cmps[] = { MRS_FIELD_VALUE_COUNT(ID_AA64DFR0, CTX_CMPs, "CTX BKPT"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64dfr0_wrps[] = { +static const struct mrs_field_value id_aa64dfr0_wrps[] = { MRS_FIELD_VALUE_COUNT(ID_AA64DFR0, WRPs, "Watchpoint"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64dfr0_brps[] = { +static const struct mrs_field_value id_aa64dfr0_brps[] = { MRS_FIELD_VALUE_COUNT(ID_AA64DFR0, BRPs, "Breakpoint"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64dfr0_pmuver[] = { +static const struct mrs_field_value id_aa64dfr0_pmuver[] = { MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_NONE, ""), MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3, "PMUv3"), MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_1, "PMUv3 v8.1"), @@ -379,13 +379,13 @@ static struct mrs_field_value id_aa64dfr0_pmuver[] = { MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64dfr0_tracever[] = { +static const struct mrs_field_value id_aa64dfr0_tracever[] = { MRS_FIELD_VALUE(ID_AA64DFR0_TraceVer_NONE, ""), MRS_FIELD_VALUE(ID_AA64DFR0_TraceVer_IMPL, "Trace"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64dfr0_debugver[] = { +static const struct mrs_field_value id_aa64dfr0_debugver[] = { MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8, "Debugv8"), MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_VHE, "Debugv8_VHE"), MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_2, "Debugv8.2"), @@ -393,7 +393,7 @@ static struct mrs_field_value id_aa64dfr0_debugver[] = { MRS_FIELD_VALUE_END, }; -static struct mrs_field id_aa64dfr0_fields[] = { +static const struct mrs_field id_aa64dfr0_fields[] = { MRS_FIELD(ID_AA64DFR0, TraceFilt, false, MRS_EXACT, id_aa64dfr0_tracefilt), MRS_FIELD(ID_AA64DFR0, DoubleLock, false, MRS_EXACT, @@ -413,158 +413,158 @@ static struct mrs_field id_aa64dfr0_fields[] = { /* ID_AA64DFR1_EL1 */ -static struct mrs_field id_aa64dfr1_fields[] = { +static const struct mrs_field id_aa64dfr1_fields[] = { MRS_FIELD_END, }; /* ID_AA64ISAR0_EL1 */ -static struct mrs_field_value id_aa64isar0_rndr[] = { +static const struct mrs_field_value id_aa64isar0_rndr[] = { MRS_FIELD_VALUE(ID_AA64ISAR0_RNDR_NONE, ""), MRS_FIELD_VALUE(ID_AA64ISAR0_RNDR_IMPL, "RNG"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_rndr_caps[] = { +static const struct mrs_field_hwcap id_aa64isar0_rndr_caps[] = { MRS_HWCAP(&elf_hwcap2, HWCAP2_RNG, ID_AA64ISAR0_RNDR_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar0_tlb[] = { +static const struct mrs_field_value id_aa64isar0_tlb[] = { MRS_FIELD_VALUE(ID_AA64ISAR0_TLB_NONE, ""), MRS_FIELD_VALUE(ID_AA64ISAR0_TLB_TLBIOS, "TLBI-OS"), MRS_FIELD_VALUE(ID_AA64ISAR0_TLB_TLBIOSR, "TLBI-OSR"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64isar0_ts[] = { +static const struct mrs_field_value id_aa64isar0_ts[] = { MRS_FIELD_VALUE(ID_AA64ISAR0_TS_NONE, ""), MRS_FIELD_VALUE(ID_AA64ISAR0_TS_CondM_8_4, "CondM-8.4"), MRS_FIELD_VALUE(ID_AA64ISAR0_TS_CondM_8_5, "CondM-8.5"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_ts_caps[] = { +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_END }; -static struct mrs_field_value id_aa64isar0_fhm[] = { +static const struct mrs_field_value id_aa64isar0_fhm[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, FHM, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_fhm_caps[] = { +static const struct mrs_field_hwcap id_aa64isar0_fhm_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_ASIMDFHM, ID_AA64ISAR0_FHM_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar0_dp[] = { +static const struct mrs_field_value id_aa64isar0_dp[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, DP, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_dp_caps[] = { +static const struct mrs_field_hwcap id_aa64isar0_dp_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_ASIMDDP, ID_AA64ISAR0_DP_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar0_sm4[] = { +static const struct mrs_field_value id_aa64isar0_sm4[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, SM4, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_sm4_caps[] = { +static const struct mrs_field_hwcap id_aa64isar0_sm4_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_SM4, ID_AA64ISAR0_SM4_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar0_sm3[] = { +static const struct mrs_field_value id_aa64isar0_sm3[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, SM3, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_sm3_caps[] = { +static const struct mrs_field_hwcap id_aa64isar0_sm3_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_SM3, ID_AA64ISAR0_SM3_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar0_sha3[] = { +static const struct mrs_field_value id_aa64isar0_sha3[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, SHA3, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_sha3_caps[] = { +static const struct mrs_field_hwcap id_aa64isar0_sha3_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_SHA3, ID_AA64ISAR0_SHA3_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar0_rdm[] = { +static const struct mrs_field_value id_aa64isar0_rdm[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, RDM, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_rdm_caps[] = { +static const struct mrs_field_hwcap id_aa64isar0_rdm_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_ASIMDRDM, ID_AA64ISAR0_RDM_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar0_atomic[] = { +static const struct mrs_field_value id_aa64isar0_atomic[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, Atomic, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_atomic_caps[] = { +static const struct mrs_field_hwcap id_aa64isar0_atomic_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_ATOMICS, ID_AA64ISAR0_Atomic_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar0_crc32[] = { +static const struct mrs_field_value id_aa64isar0_crc32[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, CRC32, NONE, BASE), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_crc32_caps[] = { +static const struct mrs_field_hwcap id_aa64isar0_crc32_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_CRC32, ID_AA64ISAR0_CRC32_BASE), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar0_sha2[] = { +static const struct mrs_field_value id_aa64isar0_sha2[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, SHA2, NONE, BASE), MRS_FIELD_VALUE(ID_AA64ISAR0_SHA2_512, "SHA2+SHA512"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_sha2_caps[] = { +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_END }; -static struct mrs_field_value id_aa64isar0_sha1[] = { +static const struct mrs_field_value id_aa64isar0_sha1[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, SHA1, NONE, BASE), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_sha1_caps[] = { +static const struct mrs_field_hwcap id_aa64isar0_sha1_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_SHA1, ID_AA64ISAR0_SHA1_BASE), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar0_aes[] = { +static const struct mrs_field_value id_aa64isar0_aes[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, AES, NONE, BASE), MRS_FIELD_VALUE(ID_AA64ISAR0_AES_PMULL, "AES+PMULL"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar0_aes_caps[] = { +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_END }; -static struct mrs_field id_aa64isar0_fields[] = { +static const struct mrs_field id_aa64isar0_fields[] = { MRS_FIELD_HWCAP(ID_AA64ISAR0, RNDR, false, MRS_LOWER, id_aa64isar0_rndr, id_aa64isar0_rndr_caps), MRS_FIELD(ID_AA64ISAR0, TLB, false, MRS_EXACT, id_aa64isar0_tlb), @@ -597,106 +597,106 @@ static struct mrs_field id_aa64isar0_fields[] = { /* ID_AA64ISAR1_EL1 */ -static struct mrs_field_value id_aa64isar1_i8mm[] = { +static const struct mrs_field_value id_aa64isar1_i8mm[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, I8MM, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar1_i8mm_caps[] = { +static const struct mrs_field_hwcap id_aa64isar1_i8mm_caps[] = { MRS_HWCAP(&elf_hwcap2, HWCAP2_I8MM, ID_AA64ISAR1_I8MM_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar1_dgh[] = { +static const struct mrs_field_value id_aa64isar1_dgh[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, DGH, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar1_dgh_caps[] = { +static const struct mrs_field_hwcap id_aa64isar1_dgh_caps[] = { MRS_HWCAP(&elf_hwcap2, HWCAP2_DGH, ID_AA64ISAR1_DGH_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar1_bf16[] = { +static const struct mrs_field_value id_aa64isar1_bf16[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, BF16, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar1_bf16_caps[] = { +static const struct mrs_field_hwcap id_aa64isar1_bf16_caps[] = { MRS_HWCAP(&elf_hwcap2, HWCAP2_BF16, ID_AA64ISAR1_BF16_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar1_specres[] = { +static const struct mrs_field_value id_aa64isar1_specres[] = { MRS_FIELD_VALUE(ID_AA64ISAR1_SPECRES_NONE, ""), MRS_FIELD_VALUE(ID_AA64ISAR1_SPECRES_IMPL, "PredInv"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64isar1_sb[] = { +static const struct mrs_field_value id_aa64isar1_sb[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, SB, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar1_sb_caps[] = { +static const struct mrs_field_hwcap id_aa64isar1_sb_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_SB, ID_AA64ISAR1_SB_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar1_frintts[] = { +static const struct mrs_field_value id_aa64isar1_frintts[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, FRINTTS, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar1_frintts_caps[] = { +static const struct mrs_field_hwcap id_aa64isar1_frintts_caps[] = { MRS_HWCAP(&elf_hwcap2, HWCAP2_FRINT, ID_AA64ISAR1_FRINTTS_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar1_gpi[] = { +static const struct mrs_field_value id_aa64isar1_gpi[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, GPI, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64isar1_gpa[] = { +static const struct mrs_field_value id_aa64isar1_gpa[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, GPA, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64isar1_lrcpc[] = { +static const struct mrs_field_value id_aa64isar1_lrcpc[] = { MRS_FIELD_VALUE(ID_AA64ISAR1_LRCPC_NONE, ""), MRS_FIELD_VALUE(ID_AA64ISAR1_LRCPC_RCPC_8_3, "RCPC-8.3"), MRS_FIELD_VALUE(ID_AA64ISAR1_LRCPC_RCPC_8_4, "RCPC-8.4"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar1_lrcpc_caps[] = { +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_END }; -static struct mrs_field_value id_aa64isar1_fcma[] = { +static const struct mrs_field_value id_aa64isar1_fcma[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, FCMA, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar1_fcma_caps[] = { +static const struct mrs_field_hwcap id_aa64isar1_fcma_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_FCMA, ID_AA64ISAR1_FCMA_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar1_jscvt[] = { +static const struct mrs_field_value id_aa64isar1_jscvt[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, JSCVT, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar1_jscvt_caps[] = { +static const struct mrs_field_hwcap id_aa64isar1_jscvt_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_JSCVT, ID_AA64ISAR1_JSCVT_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar1_api[] = { +static const struct mrs_field_value id_aa64isar1_api[] = { MRS_FIELD_VALUE(ID_AA64ISAR1_API_NONE, ""), MRS_FIELD_VALUE(ID_AA64ISAR1_API_PAC, "API PAC"), MRS_FIELD_VALUE(ID_AA64ISAR1_API_EPAC, "API EPAC"), @@ -707,7 +707,7 @@ static struct mrs_field_value id_aa64isar1_api[] = { MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64isar1_apa[] = { +static const struct mrs_field_value id_aa64isar1_apa[] = { MRS_FIELD_VALUE(ID_AA64ISAR1_APA_NONE, ""), MRS_FIELD_VALUE(ID_AA64ISAR1_APA_PAC, "APA PAC"), MRS_FIELD_VALUE(ID_AA64ISAR1_APA_EPAC, "APA EPAC"), @@ -718,20 +718,20 @@ static struct mrs_field_value id_aa64isar1_apa[] = { MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64isar1_dpb[] = { +static const struct mrs_field_value id_aa64isar1_dpb[] = { MRS_FIELD_VALUE(ID_AA64ISAR1_DPB_NONE, ""), MRS_FIELD_VALUE(ID_AA64ISAR1_DPB_DCCVAP, "DCPoP"), MRS_FIELD_VALUE(ID_AA64ISAR1_DPB_DCCVADP, "DCCVADP"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar1_dpb_caps[] = { +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_END }; -static struct mrs_field id_aa64isar1_fields[] = { +static const struct mrs_field id_aa64isar1_fields[] = { MRS_FIELD_HWCAP(ID_AA64ISAR1, I8MM, false, MRS_LOWER, id_aa64isar1_i8mm, id_aa64isar1_i8mm_caps), MRS_FIELD_HWCAP(ID_AA64ISAR1, DGH, false, MRS_LOWER, id_aa64isar1_dgh, @@ -761,22 +761,22 @@ static struct mrs_field id_aa64isar1_fields[] = { /* ID_AA64ISAR2_EL1 */ -static struct mrs_field_value id_aa64isar2_pac_frac[] = { +static const struct mrs_field_value id_aa64isar2_pac_frac[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR2, PAC_frac, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64isar2_bc[] = { +static const struct mrs_field_value id_aa64isar2_bc[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR2, BC, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64isar2_mops[] = { +static const struct mrs_field_value id_aa64isar2_mops[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR2, MOPS, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64isar2_apa3[] = { +static const struct mrs_field_value id_aa64isar2_apa3[] = { MRS_FIELD_VALUE(ID_AA64ISAR2_APA3_NONE, ""), MRS_FIELD_VALUE(ID_AA64ISAR2_APA3_PAC, "APA3 PAC"), MRS_FIELD_VALUE(ID_AA64ISAR2_APA3_EPAC, "APA3 EPAC"), @@ -787,32 +787,32 @@ static struct mrs_field_value id_aa64isar2_apa3[] = { MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar2_apa3_caps[] = { +static const struct mrs_field_hwcap id_aa64isar2_apa3_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_PACA, ID_AA64ISAR2_APA3_PAC), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar2_gpa3[] = { +static const struct mrs_field_value id_aa64isar2_gpa3[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR2, GPA3, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64isar2_gpa3_caps[] = { +static const struct mrs_field_hwcap id_aa64isar2_gpa3_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_PACG, ID_AA64ISAR2_GPA3_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64isar2_rpres[] = { +static const struct mrs_field_value id_aa64isar2_rpres[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR2, RPRES, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64isar2_wfxt[] = { +static const struct mrs_field_value id_aa64isar2_wfxt[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR2, WFxT, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field id_aa64isar2_fields[] = { +static const struct mrs_field id_aa64isar2_fields[] = { MRS_FIELD(ID_AA64ISAR2, PAC_frac, false, MRS_EXACT, id_aa64isar2_pac_frac), MRS_FIELD(ID_AA64ISAR2, BC, false, MRS_EXACT, id_aa64isar2_bc), @@ -828,69 +828,69 @@ static struct mrs_field id_aa64isar2_fields[] = { /* ID_AA64MMFR0_EL1 */ -static struct mrs_field_value id_aa64mmfr0_exs[] = { +static const struct mrs_field_value id_aa64mmfr0_exs[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, ExS, ALL, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_tgran4_2[] = { +static const struct mrs_field_value id_aa64mmfr0_tgran4_2[] = { MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_TGran4, ""), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_NONE, "No S2 TGran4"), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_IMPL, "S2 TGran4"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_tgran64_2[] = { +static const struct mrs_field_value id_aa64mmfr0_tgran64_2[] = { MRS_FIELD_VALUE(ID_AA64MMFR0_TGran64_2_TGran64, ""), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran64_2_NONE, "No S2 TGran64"), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran64_2_IMPL, "S2 TGran64"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_tgran16_2[] = { +static const struct mrs_field_value id_aa64mmfr0_tgran16_2[] = { MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_TGran16, ""), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_NONE, "No S2 TGran16"), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_IMPL, "S2 TGran16"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_tgran4[] = { +static const struct mrs_field_value id_aa64mmfr0_tgran4[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, TGran4,NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_tgran64[] = { +static const struct mrs_field_value id_aa64mmfr0_tgran64[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, TGran64, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_tgran16[] = { +static const struct mrs_field_value id_aa64mmfr0_tgran16[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, TGran16, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_bigendel0[] = { +static const struct mrs_field_value id_aa64mmfr0_bigendel0[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, BigEndEL0, FIXED, MIXED), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_snsmem[] = { +static const struct mrs_field_value id_aa64mmfr0_snsmem[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, SNSMem, NONE, DISTINCT), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_bigend[] = { +static const struct mrs_field_value id_aa64mmfr0_bigend[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, BigEnd, FIXED, MIXED), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_asidbits[] = { +static const struct mrs_field_value id_aa64mmfr0_asidbits[] = { MRS_FIELD_VALUE(ID_AA64MMFR0_ASIDBits_8, "8bit ASID"), MRS_FIELD_VALUE(ID_AA64MMFR0_ASIDBits_16, "16bit ASID"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr0_parange[] = { +static const struct mrs_field_value id_aa64mmfr0_parange[] = { MRS_FIELD_VALUE(ID_AA64MMFR0_PARange_4G, "4GB PA"), MRS_FIELD_VALUE(ID_AA64MMFR0_PARange_64G, "64GB PA"), MRS_FIELD_VALUE(ID_AA64MMFR0_PARange_1T, "1TB PA"), @@ -901,7 +901,7 @@ static struct mrs_field_value id_aa64mmfr0_parange[] = { MRS_FIELD_VALUE_END, }; -static struct mrs_field id_aa64mmfr0_fields[] = { +static const struct mrs_field id_aa64mmfr0_fields[] = { MRS_FIELD(ID_AA64MMFR0, ExS, false, MRS_EXACT, id_aa64mmfr0_exs), MRS_FIELD(ID_AA64MMFR0, TGran4_2, false, MRS_EXACT, id_aa64mmfr0_tgran4_2), @@ -927,53 +927,53 @@ static struct mrs_field id_aa64mmfr0_fields[] = { /* ID_AA64MMFR1_EL1 */ -static struct mrs_field_value id_aa64mmfr1_xnx[] = { +static const struct mrs_field_value id_aa64mmfr1_xnx[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, XNX, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr1_specsei[] = { +static const struct mrs_field_value id_aa64mmfr1_specsei[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, SpecSEI, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr1_pan[] = { +static const struct mrs_field_value id_aa64mmfr1_pan[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, PAN, NONE, IMPL), MRS_FIELD_VALUE(ID_AA64MMFR1_PAN_ATS1E1, "PAN+ATS1E1"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr1_lo[] = { +static const struct mrs_field_value id_aa64mmfr1_lo[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, LO, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr1_hpds[] = { +static const struct mrs_field_value id_aa64mmfr1_hpds[] = { MRS_FIELD_VALUE(ID_AA64MMFR1_HPDS_NONE, ""), MRS_FIELD_VALUE(ID_AA64MMFR1_HPDS_HPD, "HPD"), MRS_FIELD_VALUE(ID_AA64MMFR1_HPDS_TTPBHA, "HPD+TTPBHA"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr1_vh[] = { +static const struct mrs_field_value id_aa64mmfr1_vh[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, VH, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr1_vmidbits[] = { +static const struct mrs_field_value id_aa64mmfr1_vmidbits[] = { MRS_FIELD_VALUE(ID_AA64MMFR1_VMIDBits_8, "8bit VMID"), MRS_FIELD_VALUE(ID_AA64MMFR1_VMIDBits_16, "16bit VMID"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr1_hafdbs[] = { +static const struct mrs_field_value id_aa64mmfr1_hafdbs[] = { MRS_FIELD_VALUE(ID_AA64MMFR1_HAFDBS_NONE, ""), MRS_FIELD_VALUE(ID_AA64MMFR1_HAFDBS_AF, "HAF"), MRS_FIELD_VALUE(ID_AA64MMFR1_HAFDBS_AF_DBS, "HAF+DS"), MRS_FIELD_VALUE_END, }; -static struct mrs_field id_aa64mmfr1_fields[] = { +static const struct mrs_field id_aa64mmfr1_fields[] = { MRS_FIELD(ID_AA64MMFR1, XNX, false, MRS_EXACT, id_aa64mmfr1_xnx), MRS_FIELD(ID_AA64MMFR1, SpecSEI, false, MRS_EXACT, id_aa64mmfr1_specsei), @@ -989,94 +989,94 @@ static struct mrs_field id_aa64mmfr1_fields[] = { /* ID_AA64MMFR2_EL1 */ -static struct mrs_field_value id_aa64mmfr2_e0pd[] = { +static const struct mrs_field_value id_aa64mmfr2_e0pd[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, E0PD, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_evt[] = { +static const struct mrs_field_value id_aa64mmfr2_evt[] = { MRS_FIELD_VALUE(ID_AA64MMFR2_EVT_NONE, ""), MRS_FIELD_VALUE(ID_AA64MMFR2_EVT_8_2, "EVT-8.2"), MRS_FIELD_VALUE(ID_AA64MMFR2_EVT_8_5, "EVT-8.5"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_bbm[] = { +static const struct mrs_field_value id_aa64mmfr2_bbm[] = { MRS_FIELD_VALUE(ID_AA64MMFR2_BBM_LEVEL0, ""), MRS_FIELD_VALUE(ID_AA64MMFR2_BBM_LEVEL1, "BBM level 1"), MRS_FIELD_VALUE(ID_AA64MMFR2_BBM_LEVEL2, "BBM level 2"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_ttl[] = { +static const struct mrs_field_value id_aa64mmfr2_ttl[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, TTL, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_fwb[] = { +static const struct mrs_field_value id_aa64mmfr2_fwb[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, FWB, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_ids[] = { +static const struct mrs_field_value id_aa64mmfr2_ids[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, IDS, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_at[] = { +static const struct mrs_field_value id_aa64mmfr2_at[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, AT, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64mmfr2_at_caps[] = { +static const struct mrs_field_hwcap id_aa64mmfr2_at_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_USCAT, ID_AA64MMFR2_AT_IMPL), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64mmfr2_st[] = { +static const struct mrs_field_value id_aa64mmfr2_st[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, ST, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_nv[] = { +static const struct mrs_field_value id_aa64mmfr2_nv[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, NV, NONE, 8_3), MRS_FIELD_VALUE(ID_AA64MMFR2_NV_8_4, "NV v8.4"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_ccidx[] = { +static const struct mrs_field_value id_aa64mmfr2_ccidx[] = { MRS_FIELD_VALUE(ID_AA64MMFR2_CCIDX_32, "32bit CCIDX"), MRS_FIELD_VALUE(ID_AA64MMFR2_CCIDX_64, "64bit CCIDX"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_varange[] = { +static const struct mrs_field_value id_aa64mmfr2_varange[] = { MRS_FIELD_VALUE(ID_AA64MMFR2_VARange_48, "48bit VA"), MRS_FIELD_VALUE(ID_AA64MMFR2_VARange_52, "52bit VA"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_iesb[] = { +static const struct mrs_field_value id_aa64mmfr2_iesb[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, IESB, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_lsm[] = { +static const struct mrs_field_value id_aa64mmfr2_lsm[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, LSM, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_uao[] = { +static const struct mrs_field_value id_aa64mmfr2_uao[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, UAO, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64mmfr2_cnp[] = { +static const struct mrs_field_value id_aa64mmfr2_cnp[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR2, CnP, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field id_aa64mmfr2_fields[] = { +static const struct mrs_field id_aa64mmfr2_fields[] = { MRS_FIELD(ID_AA64MMFR2, E0PD, false, MRS_EXACT, id_aa64mmfr2_e0pd), MRS_FIELD(ID_AA64MMFR2, EVT, false, MRS_EXACT, id_aa64mmfr2_evt), MRS_FIELD(ID_AA64MMFR2, BBM, false, MRS_EXACT, id_aa64mmfr2_bbm), @@ -1099,67 +1099,67 @@ static struct mrs_field id_aa64mmfr2_fields[] = { /* ID_AA64PFR0_EL1 */ -static struct mrs_field_value id_aa64pfr0_csv3[] = { +static const struct mrs_field_value id_aa64pfr0_csv3[] = { MRS_FIELD_VALUE(ID_AA64PFR0_CSV3_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR0_CSV3_ISOLATED, "CSV3"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr0_csv2[] = { +static const struct mrs_field_value id_aa64pfr0_csv2[] = { MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_ISOLATED, "CSV2"), MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_SCXTNUM, "SCXTNUM"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr0_dit[] = { +static const struct mrs_field_value id_aa64pfr0_dit[] = { MRS_FIELD_VALUE(ID_AA64PFR0_DIT_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR0_DIT_PSTATE, "PSTATE.DIT"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64pfr0_dit_caps[] = { +static const struct mrs_field_hwcap id_aa64pfr0_dit_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_DIT, ID_AA64PFR0_DIT_PSTATE), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64pfr0_amu[] = { +static const struct mrs_field_value id_aa64pfr0_amu[] = { MRS_FIELD_VALUE(ID_AA64PFR0_AMU_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR0_AMU_V1, "AMUv1"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr0_mpam[] = { +static const struct mrs_field_value id_aa64pfr0_mpam[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR0, MPAM, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr0_sel2[] = { +static const struct mrs_field_value id_aa64pfr0_sel2[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR0, SEL2, NONE, IMPL), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr0_sve[] = { +static const struct mrs_field_value id_aa64pfr0_sve[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR0, SVE, NONE, IMPL), MRS_FIELD_VALUE_END, }; #if 0 /* Enable when we add SVE support */ -static struct mrs_field_hwcap id_aa64pfr0_sve_caps[] = { +static const struct mrs_field_hwcap id_aa64pfr0_sve_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_SVE, ID_AA64PFR0_SVE_IMPL), MRS_HWCAP_END }; #endif -static struct mrs_field_value id_aa64pfr0_ras[] = { +static const struct mrs_field_value id_aa64pfr0_ras[] = { MRS_FIELD_VALUE(ID_AA64PFR0_RAS_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR0_RAS_IMPL, "RAS"), MRS_FIELD_VALUE(ID_AA64PFR0_RAS_8_4, "RAS v8.4"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr0_gic[] = { +static const struct mrs_field_value id_aa64pfr0_gic[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR0, GIC, CPUIF_NONE, CPUIF_EN), MRS_FIELD_VALUE(ID_AA64PFR0_GIC_CPUIF_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR0_GIC_CPUIF_EN, "GIC"), @@ -1167,55 +1167,55 @@ static struct mrs_field_value id_aa64pfr0_gic[] = { MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr0_advsimd[] = { +static const struct mrs_field_value id_aa64pfr0_advsimd[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR0, AdvSIMD, NONE, IMPL), MRS_FIELD_VALUE(ID_AA64PFR0_AdvSIMD_HP, "AdvSIMD+HP"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64pfr0_advsimd_caps[] = { +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_END }; -static struct mrs_field_value id_aa64pfr0_fp[] = { +static const struct mrs_field_value id_aa64pfr0_fp[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR0, FP, NONE, IMPL), MRS_FIELD_VALUE(ID_AA64PFR0_FP_HP, "FP+HP"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64pfr0_fp_caps[] = { +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_END }; -static struct mrs_field_value id_aa64pfr0_el3[] = { +static const struct mrs_field_value id_aa64pfr0_el3[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR0, EL3, NONE, 64), MRS_FIELD_VALUE(ID_AA64PFR0_EL3_64_32, "EL3 32"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr0_el2[] = { +static const struct mrs_field_value id_aa64pfr0_el2[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR0, EL2, NONE, 64), MRS_FIELD_VALUE(ID_AA64PFR0_EL2_64_32, "EL2 32"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr0_el1[] = { +static const struct mrs_field_value id_aa64pfr0_el1[] = { MRS_FIELD_VALUE(ID_AA64PFR0_EL1_64, "EL1"), MRS_FIELD_VALUE(ID_AA64PFR0_EL1_64_32, "EL1 32"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr0_el0[] = { +static const struct mrs_field_value id_aa64pfr0_el0[] = { MRS_FIELD_VALUE(ID_AA64PFR0_EL0_64, "EL0"), MRS_FIELD_VALUE(ID_AA64PFR0_EL0_64_32, "EL0 32"), MRS_FIELD_VALUE_END, }; -static struct mrs_field id_aa64pfr0_fields[] = { +static const struct mrs_field id_aa64pfr0_fields[] = { MRS_FIELD(ID_AA64PFR0, CSV3, false, MRS_EXACT, id_aa64pfr0_csv3), MRS_FIELD(ID_AA64PFR0, CSV2, false, MRS_EXACT, id_aa64pfr0_csv2), MRS_FIELD_HWCAP(ID_AA64PFR0, DIT, false, MRS_LOWER, id_aa64pfr0_dit, @@ -1239,26 +1239,26 @@ static struct mrs_field id_aa64pfr0_fields[] = { /* ID_AA64PFR1_EL1 */ -static struct mrs_field_value id_aa64pfr1_mte[] = { +static const struct mrs_field_value id_aa64pfr1_mte[] = { MRS_FIELD_VALUE(ID_AA64PFR1_MTE_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR1_MTE_IMPL_EL0, "MTE EL0"), MRS_FIELD_VALUE(ID_AA64PFR1_MTE_IMPL, "MTE"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_value id_aa64pfr1_ssbs[] = { +static const struct mrs_field_value id_aa64pfr1_ssbs[] = { MRS_FIELD_VALUE(ID_AA64PFR1_SSBS_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR1_SSBS_PSTATE, "PSTATE.SSBS"), MRS_FIELD_VALUE(ID_AA64PFR1_SSBS_PSTATE_MSR, "PSTATE.SSBS MSR"), MRS_FIELD_VALUE_END, }; -static struct mrs_field_hwcap id_aa64pfr1_ssbs_caps[] = { +static const struct mrs_field_hwcap id_aa64pfr1_ssbs_caps[] = { MRS_HWCAP(&elf_hwcap, HWCAP_SSBS, ID_AA64PFR1_SSBS_PSTATE), MRS_HWCAP_END }; -static struct mrs_field_value id_aa64pfr1_bt[] = { +static const struct mrs_field_value id_aa64pfr1_bt[] = { MRS_FIELD_VALUE(ID_AA64PFR1_BT_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR1_BT_IMPL, "BTI"), MRS_FIELD_VALUE_END, @@ -1266,13 +1266,13 @@ static struct mrs_field_value id_aa64pfr1_bt[] = { #if 0 *** 373 LINES SKIPPED *** From nobody Mon Sep 25 11:01:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKg43XN4z4vNVG; Mon, 25 Sep 2023 11:01:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RvKg42Xgtz3Mt4; Mon, 25 Sep 2023 11:01:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sa9DQFreaDrZGwJWWVxuXsYg4gf7XNWql0UBgnpDpiw=; b=LU+1AiamMlOg6EZgne3GeqwLqIELWK+4e17AzI6hzcOExsTohxcGSZY6HBOJF2DsUwr5qz qikWRSaWEM46gv+GcxHsqD5uyETdWflluBIEK6g+i6WF/eFfy+wxCRfmU1sOkOCVsS0RXW +7clwU1RVv5/Zb/5BhFDVvogjseYEX/PGAlwb+w6yLDpLTiU50rcsU0MewU22zAf0tFYJG U1LeDjOAULPv5F/H5ZiQx6P7KjkIiqxIs00GDNJBh73aQim5hhLYw8SlrGJPf1dG7/OhUw LrovZcxh8kb4LbcTlJ10iTEy8DG9vZ0LbcQt7H8vpu2rX/3QbRMvJu77LWDkkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639664; a=rsa-sha256; cv=none; b=wQ6EDjuFPoAoSfo8frFNz81ZzX1azj25I6DXNhWkkZ89VpPPuKSfGParX9OmyTNBxTz+o/ lQuU9BXBhgDuHJzFinMZlD16l4K5nbiZk7rsT4zLqZi0v7ofEfBaxTsswOMSfMtwcwHEsj VmOuiqfQVLliDBNLvaFcac/X2fCcf82/HsEFyZfrooTxP9CX5IVvpNTkPPdA9QOkurHzeC npX4t4A2uM5eddDBi3Y/uU7+eY1ahLfTfPW0FvmHkNj+6jIOuIclQimTnOBOciqvuYryaA sAqNIFDNu/a1mG58D7PJSJxAgyEMhndI9CInzs5juVwkD0HrSAIsKRJyB3x1sg== 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=1695639664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sa9DQFreaDrZGwJWWVxuXsYg4gf7XNWql0UBgnpDpiw=; b=m9y1vNXxSTo1ypbTwQ8mNHRAnq2MYBTCaQ7qs3O4+qwM7js3DuzqzAE3dI04A6XZimZyQq cCcqTkkvKl0BtUGIwTVEyrnqnKWr779dJx2PS1JbIGxliwlkwiKVQE351KHLGhxi9SHOAi abpBJIToOsZBpDA9Rx7uUvRwQ1ASa5GDJ8F/7wbUqwLgrfTyCs5RjZhx3RUBlgO/gFj2L6 G/XJk6u7peb1rQ4erTBFjXfU6YvHkqogW+p2LYLFEU2BGDRZ1rHQqp5IV97aMAQgOvF5iz K7oR2Q1/qpDBO4j+S6fJ6FqNqt4jCzkVkX4bs+YRiUPPw1n9ymFGz+eDdxLOtg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKg41ZxGz1Qd7; Mon, 25 Sep 2023 11:01:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38PB14Gc053219; Mon, 25 Sep 2023 11:01:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB14b7053216; Mon, 25 Sep 2023 11:01:04 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:04 GMT Message-Id: <202309251101.38PB14b7053216@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: 0c5d595a1a70 - stable/13 - arm64: Update the ID_AA64DFR0_EL1 fields List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 0c5d595a1a703adb14870230f89669704b0ad5cf Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0c5d595a1a703adb14870230f89669704b0ad5cf commit 0c5d595a1a703adb14870230f89669704b0ad5cf Author: Andrew Turner AuthorDate: 2023-03-13 09:17:32 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:33 +0000 arm64: Update the ID_AA64DFR0_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40887 (cherry picked from commit 6fd44e5f530935a26f58637594ac22719324fb12) --- sys/arm64/arm64/identcpu.c | 44 ++++++++++++++++++++++++++++++++++++++------ sys/arm64/include/armreg.h | 44 ++++++++++++++++++++++++++++++++++++++------ 2 files changed, 76 insertions(+), 12 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 2f849b049425..1d14ff026be8 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -335,6 +335,28 @@ static const struct mrs_field id_aa64afr1_fields[] = { /* ID_AA64DFR0_EL1 */ +static const struct mrs_field_value id_aa64dfr0_hpmn0[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64DFR0, HPMN0, CONSTR, DEFINED), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64dfr0_brbe[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64DFR0, BRBE, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64DFR0_BRBE_EL3, "BRBE EL3"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64dfr0_mtpmu[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64DFR0, MTPMU, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64DFR0_MTPMU_NONE_MT_RES0, "MTPMU res0"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64dfr0_tracebuffer[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64DFR0, TraceBuffer, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64dfr0_tracefilt[] = { MRS_FIELD_VALUE(ID_AA64DFR0_TraceFilt_NONE, ""), MRS_FIELD_VALUE(ID_AA64DFR0_TraceFilt_8_4, "Trace v8.4"), @@ -350,7 +372,9 @@ static const struct mrs_field_value id_aa64dfr0_doublelock[] = { static const struct mrs_field_value id_aa64dfr0_pmsver[] = { MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_NONE, ""), MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE, "SPE"), - MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE_8_3, "SPE v8.3"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE_1_1, "SPEv1p1"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE_1_2, "SPEv1p2"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMSVer_SPE_1_3, "SPEv1p3"), MRS_FIELD_VALUE_END, }; @@ -372,9 +396,11 @@ static const struct mrs_field_value id_aa64dfr0_brps[] = { static const struct mrs_field_value id_aa64dfr0_pmuver[] = { MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_NONE, ""), MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3, "PMUv3"), - MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_1, "PMUv3 v8.1"), - MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_4, "PMUv3 v8.4"), - MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_5, "PMUv3 v8.5"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_1, "PMUv3p1"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_4, "PMUv3p4"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_5, "PMUv3p5"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_7, "PMUv3p7"), + MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_3_8, "PMUv3p8"), MRS_FIELD_VALUE(ID_AA64DFR0_PMUVer_IMPL, "IMPL PMU"), MRS_FIELD_VALUE_END, }; @@ -388,12 +414,18 @@ static const struct mrs_field_value id_aa64dfr0_tracever[] = { static const struct mrs_field_value id_aa64dfr0_debugver[] = { MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8, "Debugv8"), MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_VHE, "Debugv8_VHE"), - MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_2, "Debugv8.2"), - MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_4, "Debugv8.4"), + MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_2, "Debugv8p2"), + MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_4, "Debugv8p4"), + MRS_FIELD_VALUE(ID_AA64DFR0_DebugVer_8_8, "Debugv8p8"), MRS_FIELD_VALUE_END, }; static const struct mrs_field id_aa64dfr0_fields[] = { + MRS_FIELD(ID_AA64DFR0, HPMN0, false, MRS_EXACT, id_aa64dfr0_hpmn0), + MRS_FIELD(ID_AA64DFR0, BRBE, false, MRS_EXACT, id_aa64dfr0_brbe), + MRS_FIELD(ID_AA64DFR0, MTPMU, true, MRS_EXACT, id_aa64dfr0_mtpmu), + MRS_FIELD(ID_AA64DFR0, TraceBuffer, false, MRS_EXACT, + id_aa64dfr0_tracebuffer), MRS_FIELD(ID_AA64DFR0, TraceFilt, false, MRS_EXACT, id_aa64dfr0_tracefilt), MRS_FIELD(ID_AA64DFR0, DoubleLock, false, MRS_EXACT, diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index d307781f2d01..b357e77d7e75 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -494,11 +494,11 @@ /* ID_AA64DFR0_EL1 */ #define ID_AA64DFR0_EL1 MRS_REG(ID_AA64DFR0_EL1) -#define ID_AA64DFR0_EL1_op0 0x3 -#define ID_AA64DFR0_EL1_op1 0x0 -#define ID_AA64DFR0_EL1_CRn 0x0 -#define ID_AA64DFR0_EL1_CRm 0x5 -#define ID_AA64DFR0_EL1_op2 0x0 +#define ID_AA64DFR0_EL1_op0 3 +#define ID_AA64DFR0_EL1_op1 0 +#define ID_AA64DFR0_EL1_CRn 0 +#define ID_AA64DFR0_EL1_CRm 5 +#define ID_AA64DFR0_EL1_op2 0 #define ID_AA64DFR0_DebugVer_SHIFT 0 #define ID_AA64DFR0_DebugVer_MASK (UL(0xf) << ID_AA64DFR0_DebugVer_SHIFT) #define ID_AA64DFR0_DebugVer_VAL(x) ((x) & ID_AA64DFR0_DebugVer_MASK) @@ -506,6 +506,7 @@ #define ID_AA64DFR0_DebugVer_8_VHE (UL(0x7) << ID_AA64DFR0_DebugVer_SHIFT) #define ID_AA64DFR0_DebugVer_8_2 (UL(0x8) << ID_AA64DFR0_DebugVer_SHIFT) #define ID_AA64DFR0_DebugVer_8_4 (UL(0x9) << ID_AA64DFR0_DebugVer_SHIFT) +#define ID_AA64DFR0_DebugVer_8_8 (UL(0xa) << ID_AA64DFR0_DebugVer_SHIFT) #define ID_AA64DFR0_TraceVer_SHIFT 4 #define ID_AA64DFR0_TraceVer_MASK (UL(0xf) << ID_AA64DFR0_TraceVer_SHIFT) #define ID_AA64DFR0_TraceVer_VAL(x) ((x) & ID_AA64DFR0_TraceVer_MASK) @@ -519,11 +520,18 @@ #define ID_AA64DFR0_PMUVer_3_1 (UL(0x4) << ID_AA64DFR0_PMUVer_SHIFT) #define ID_AA64DFR0_PMUVer_3_4 (UL(0x5) << ID_AA64DFR0_PMUVer_SHIFT) #define ID_AA64DFR0_PMUVer_3_5 (UL(0x6) << ID_AA64DFR0_PMUVer_SHIFT) +#define ID_AA64DFR0_PMUVer_3_7 (UL(0x7) << ID_AA64DFR0_PMUVer_SHIFT) +#define ID_AA64DFR0_PMUVer_3_8 (UL(0x8) << ID_AA64DFR0_PMUVer_SHIFT) #define ID_AA64DFR0_PMUVer_IMPL (UL(0xf) << ID_AA64DFR0_PMUVer_SHIFT) #define ID_AA64DFR0_BRPs_SHIFT 12 #define ID_AA64DFR0_BRPs_MASK (UL(0xf) << ID_AA64DFR0_BRPs_SHIFT) #define ID_AA64DFR0_BRPs_VAL(x) \ ((((x) >> ID_AA64DFR0_BRPs_SHIFT) & 0xf) + 1) +#define ID_AA64DFR0_PMSS_SHIFT 16 +#define ID_AA64DFR0_PMSS_MASK (UL(0xf) << ID_AA64DFR0_PMSS_SHIFT) +#define ID_AA64DFR0_PMSS_VAL(x) ((x) & ID_AA64DFR0_PMSS_MASK) +#define ID_AA64DFR0_PMSS_NONE (UL(0x0) << ID_AA64DFR0_PMSS_SHIFT) +#define ID_AA64DFR0_PMSS_IMPL (UL(0x1) << ID_AA64DFR0_PMSS_SHIFT) #define ID_AA64DFR0_WRPs_SHIFT 20 #define ID_AA64DFR0_WRPs_MASK (UL(0xf) << ID_AA64DFR0_WRPs_SHIFT) #define ID_AA64DFR0_WRPs_VAL(x) \ @@ -537,7 +545,9 @@ #define ID_AA64DFR0_PMSVer_VAL(x) ((x) & ID_AA64DFR0_PMSVer_MASK) #define ID_AA64DFR0_PMSVer_NONE (UL(0x0) << ID_AA64DFR0_PMSVer_SHIFT) #define ID_AA64DFR0_PMSVer_SPE (UL(0x1) << ID_AA64DFR0_PMSVer_SHIFT) -#define ID_AA64DFR0_PMSVer_SPE_8_3 (UL(0x2) << ID_AA64DFR0_PMSVer_SHIFT) +#define ID_AA64DFR0_PMSVer_SPE_1_1 (UL(0x2) << ID_AA64DFR0_PMSVer_SHIFT) +#define ID_AA64DFR0_PMSVer_SPE_1_2 (UL(0x3) << ID_AA64DFR0_PMSVer_SHIFT) +#define ID_AA64DFR0_PMSVer_SPE_1_3 (UL(0x4) << ID_AA64DFR0_PMSVer_SHIFT) #define ID_AA64DFR0_DoubleLock_SHIFT 36 #define ID_AA64DFR0_DoubleLock_MASK (UL(0xf) << ID_AA64DFR0_DoubleLock_SHIFT) #define ID_AA64DFR0_DoubleLock_VAL(x) ((x) & ID_AA64DFR0_DoubleLock_MASK) @@ -548,6 +558,28 @@ #define ID_AA64DFR0_TraceFilt_VAL(x) ((x) & ID_AA64DFR0_TraceFilt_MASK) #define ID_AA64DFR0_TraceFilt_NONE (UL(0x0) << ID_AA64DFR0_TraceFilt_SHIFT) #define ID_AA64DFR0_TraceFilt_8_4 (UL(0x1) << ID_AA64DFR0_TraceFilt_SHIFT) +#define ID_AA64DFR0_TraceBuffer_SHIFT 44 +#define ID_AA64DFR0_TraceBuffer_MASK (UL(0xf) << ID_AA64DFR0_TraceBuffer_SHIFT) +#define ID_AA64DFR0_TraceBuffer_VAL(x) ((x) & ID_AA64DFR0_TraceBuffer_MASK) +#define ID_AA64DFR0_TraceBuffer_NONE (UL(0x0) << ID_AA64DFR0_TraceBuffer_SHIFT) +#define ID_AA64DFR0_TraceBuffer_IMPL (UL(0x1) << ID_AA64DFR0_TraceBuffer_SHIFT) +#define ID_AA64DFR0_MTPMU_SHIFT 48 +#define ID_AA64DFR0_MTPMU_MASK (UL(0xf) << ID_AA64DFR0_MTPMU_SHIFT) +#define ID_AA64DFR0_MTPMU_VAL(x) ((x) & ID_AA64DFR0_MTPMU_MASK) +#define ID_AA64DFR0_MTPMU_NONE (UL(0x0) << ID_AA64DFR0_MTPMU_SHIFT) +#define ID_AA64DFR0_MTPMU_IMPL (UL(0x1) << ID_AA64DFR0_MTPMU_SHIFT) +#define ID_AA64DFR0_MTPMU_NONE_MT_RES0 (UL(0xf) << ID_AA64DFR0_MTPMU_SHIFT) +#define ID_AA64DFR0_BRBE_SHIFT 52 +#define ID_AA64DFR0_BRBE_MASK (UL(0xf) << ID_AA64DFR0_BRBE_SHIFT) +#define ID_AA64DFR0_BRBE_VAL(x) ((x) & ID_AA64DFR0_BRBE_MASK) +#define ID_AA64DFR0_BRBE_NONE (UL(0x0) << ID_AA64DFR0_BRBE_SHIFT) +#define ID_AA64DFR0_BRBE_IMPL (UL(0x1) << ID_AA64DFR0_BRBE_SHIFT) +#define ID_AA64DFR0_BRBE_EL3 (UL(0x2) << ID_AA64DFR0_BRBE_SHIFT) +#define ID_AA64DFR0_HPMN0_SHIFT 60 +#define ID_AA64DFR0_HPMN0_MASK (UL(0xf) << ID_AA64DFR0_HPMN0_SHIFT) +#define ID_AA64DFR0_HPMN0_VAL(x) ((x) & ID_AA64DFR0_HPMN0_MASK) +#define ID_AA64DFR0_HPMN0_CONSTR (UL(0x0) << ID_AA64DFR0_HPMN0_SHIFT) +#define ID_AA64DFR0_HPMN0_DEFINED (UL(0x1) << ID_AA64DFR0_HPMN0_SHIFT) /* ID_AA64DFR1_EL1 */ #define ID_AA64DFR1_EL1 MRS_REG(ID_AA64DFR1_EL1) From nobody Mon Sep 25 11:01:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKg5541Yz4vNSM; Mon, 25 Sep 2023 11:01: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 4RvKg53lYNz3N4k; Mon, 25 Sep 2023 11:01:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t3c4PvcZJjG+7yrjzpTgWxdlerXMbrRW0fUG+wL8QN8=; b=ITb0mHkH4NvYdG5dXYJBMBOb7EF/pvSygyrWBEBnPEpKaVkBxjz3ww01Rhuyp9lrUK31Q+ 8u60pgloY6k6RUTetlg463ijFOfXjdE5n2Ihj3mxPECXVifDQ599BuA0zQIFPXUCMeiQLn VnHPhTn0pWDaLJBjSTJCPOUwqjxoBZ1X/m2mfmKBtkQkCBFzKO9PoXL72iHCkRm52JgVZL u2R1dBqeQveU6cq6seI99OgbmH9ePPUGUXbM9Xl8Uhc4l7o1+Fy9vQy3VHueHeE+soyQL/ zVgxKdUa32CFibfkivmkXuZUHsmdR2sNUSdsb6GRW3+AUoS/j2WD4cDF5zGPHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639665; a=rsa-sha256; cv=none; b=qXysxaqD2Jv45QJJvMH5W5BUT7QvdDVnUKYELZXKl41cEyiLm3AEgNi1IrMYD9iV0NyO7x WCSDFzYtEWvpXjCtXOqAvd7HNc8Js8win0qQv66C24F1T26nLqvKj0DunSxoEYQMgvMLlB Jri9nwC/cReFd9lj9kvTPlC/OBwlTgOMfPw27HrUbtcvHY05F/nRse5r9qNYMqpFoS4r81 LsLoLyAW2Vy3ZHhSiMGcI3ipSC99y3RoHZsmQ+4XYz4M+fwC8XfDIf8O78a7v3AxcVHHFD 9kP2gcWxzu7wA217UvTE2hbAOFOvTVZsIbg+/DsYtp2jENcxkjo3S7/Hhin0Hg== 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=1695639665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t3c4PvcZJjG+7yrjzpTgWxdlerXMbrRW0fUG+wL8QN8=; b=myptHZayAkygUYvnBshtC5sGxdFjE6ozCwszNSpoQgrtmfeXE+5YxXaKDpSkQOj640GnbC ogQifXKAV73H5dQr0OMH9jrpxfU+zyDG64Ry8Wg5RHLk8/7JReFhcmGggh76B3TUyVZdAy wxuRrLBuefXYoN4PrA06+cJD19rrxudlIhBR0YfhwGI7CSlNq2rVTAcgs5t+/3IuwLTTN1 4AzyS2ZAm9eNv2jegtrpKBCdtYWGR2JbntNW/kZxCtR39VuBWwtM3L69PW1xz5pvkFTq6O KBpflf77cA4FBPDSMIwjv9//Udzzhh44OeZXt54MyAUIAH2TOB7pKLCyv9EJCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKg52qLqz1QHC; Mon, 25 Sep 2023 11:01:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38PB15k6053261; Mon, 25 Sep 2023 11:01:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB15H8053258; Mon, 25 Sep 2023 11:01:05 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:05 GMT Message-Id: <202309251101.38PB15H8053258@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: 2573723a5178 - stable/13 - arm64: Update the ID_AA64ISAR0_EL1 fields List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 2573723a51786736882ccfe704af92117e30223b Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=2573723a51786736882ccfe704af92117e30223b commit 2573723a51786736882ccfe704af92117e30223b Author: Andrew Turner AuthorDate: 2023-07-06 09:19:21 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:33 +0000 arm64: Update the ID_AA64ISAR0_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40888 (cherry picked from commit 4182f58172b56f71bfaf2450a0e9cb8b4397bf0a) --- sys/arm64/arm64/identcpu.c | 6 ++++++ sys/arm64/include/armreg.h | 14 +++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 1d14ff026be8..8851cd952b7b 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -542,6 +542,11 @@ static const struct mrs_field_hwcap id_aa64isar0_rdm_caps[] = { MRS_HWCAP_END }; +static const struct mrs_field_value id_aa64isar0_tme[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, TME, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64isar0_atomic[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR0, Atomic, NONE, IMPL), MRS_FIELD_VALUE_END, @@ -614,6 +619,7 @@ static const struct mrs_field id_aa64isar0_fields[] = { id_aa64isar0_sha3_caps), MRS_FIELD_HWCAP(ID_AA64ISAR0, RDM, false, MRS_LOWER, id_aa64isar0_rdm, id_aa64isar0_rdm_caps), + MRS_FIELD(ID_AA64ISAR0, TME, false, MRS_EXACT, id_aa64isar0_tme), MRS_FIELD_HWCAP(ID_AA64ISAR0, Atomic, false, MRS_LOWER, id_aa64isar0_atomic, id_aa64isar0_atomic_caps), MRS_FIELD_HWCAP(ID_AA64ISAR0, CRC32, false, MRS_LOWER, diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index b357e77d7e75..1c9ea3b630f4 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -591,11 +591,11 @@ /* ID_AA64ISAR0_EL1 */ #define ID_AA64ISAR0_EL1 MRS_REG(ID_AA64ISAR0_EL1) -#define ID_AA64ISAR0_EL1_op0 0x3 -#define ID_AA64ISAR0_EL1_op1 0x0 -#define ID_AA64ISAR0_EL1_CRn 0x0 -#define ID_AA64ISAR0_EL1_CRm 0x6 -#define ID_AA64ISAR0_EL1_op2 0x0 +#define ID_AA64ISAR0_EL1_op0 3 +#define ID_AA64ISAR0_EL1_op1 0 +#define ID_AA64ISAR0_EL1_CRn 0 +#define ID_AA64ISAR0_EL1_CRm 6 +#define ID_AA64ISAR0_EL1_op2 0 #define ID_AA64ISAR0_AES_SHIFT 4 #define ID_AA64ISAR0_AES_MASK (UL(0xf) << ID_AA64ISAR0_AES_SHIFT) #define ID_AA64ISAR0_AES_VAL(x) ((x) & ID_AA64ISAR0_AES_MASK) @@ -623,6 +623,10 @@ #define ID_AA64ISAR0_Atomic_VAL(x) ((x) & ID_AA64ISAR0_Atomic_MASK) #define ID_AA64ISAR0_Atomic_NONE (UL(0x0) << ID_AA64ISAR0_Atomic_SHIFT) #define ID_AA64ISAR0_Atomic_IMPL (UL(0x2) << ID_AA64ISAR0_Atomic_SHIFT) +#define ID_AA64ISAR0_TME_SHIFT 24 +#define ID_AA64ISAR0_TME_MASK (UL(0xf) << ID_AA64ISAR0_TME_SHIFT) +#define ID_AA64ISAR0_TME_NONE (UL(0x0) << ID_AA64ISAR0_TME_SHIFT) +#define ID_AA64ISAR0_TME_IMPL (UL(0x1) << ID_AA64ISAR0_TME_SHIFT) #define ID_AA64ISAR0_RDM_SHIFT 28 #define ID_AA64ISAR0_RDM_MASK (UL(0xf) << ID_AA64ISAR0_RDM_SHIFT) #define ID_AA64ISAR0_RDM_VAL(x) ((x) & ID_AA64ISAR0_RDM_MASK) From nobody Mon Sep 25 11:01:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKg706YFz4vNkQ; Mon, 25 Sep 2023 11: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 4RvKg64jlrz3N2S; Mon, 25 Sep 2023 11:01:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mP8jJUGo8S7f5q0zEUBpbrY2bO8MB1wZTpV4Sxs9yNI=; b=Vqy7OWfvL0IPsH7tHAsvEozjm9QESpgLfH7tIDU90obIZgqbGUtFFn63A51Jl4q6CJlquS lPxLsI73dUNaPIWFSKovsJVJDF87Iua7RTlnJI62uue00FhyzEJMFTsmdO1T+k32NWJKlH h/97BWJ0n/kIQgtpyjLkZ7luAs+jJJXm1ycbvXxHBKgVtLHmx7RiaRD+5Xgq4M/yhhLrmP ICdNkGV8cv/gwMlHOevy1CNaUxNtqh2XgrzEGVbVQS4L6gDvYo9Hu0eNtMHco8eIXqzgeb V8JkXSlkdyzW26EPX87cP3w+8utp+kxrxDSdO2vWlJewOoTUK3zbNLQB5kz0+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639666; a=rsa-sha256; cv=none; b=aOwC3X1TQO3jejYS4wgtzhCEBKLJobkbqwTaYupRJY93GGm6e2OMmsmeCzZvgzSPD/hGet 945ophmpqo52VBs6hbIb8fepFTxRQdUJc65nKh52ISrrvtBPCMSjqvyiRf0p7Nfj5ooS9n VDs++DyoAIEdtYUpboUdKbNzOI3bpoAdUtreh1Kmli7eXKI/bYCuHa5chdbAsi4eVVzJKT 6MRH6win4Q20kKH+8SMWMFkRjgpuu+d/QPoO29QEHs7VgYOg9XJsoxOCT/EsNDydWPSXtr nlEhkarC061ksTKlA98loXQW3cmZSc5QD4HSnXaSL80+fgNGZdglSHggYLy6fA== 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=1695639666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mP8jJUGo8S7f5q0zEUBpbrY2bO8MB1wZTpV4Sxs9yNI=; b=fe6ATJZvC/aJQ8rlIe+0P6wE4BUci8y5W6sTjYmaXDo/JMeOVc3Xloqf7HW/ujscUUTuVF L23lmcDcE4XBBmbekXGJXs37AHP9bh4fcmikpkg/joUo4wy1jnXp/o2jZ+p48EQ2QA09O9 cAW0k4ezO56MrKnMRl8EP3Lnp1KkKISngePlotMfsRQCkjGu8dh3iRR0783QSf7lbFg4Mb Kqc4og3eSJ9vNfz6gg2Hrmy8JIb7tngCB/7nc+8wiPzG+FIqElXKDACpDRVJWSFRiMAoNc fhoPBweQXpC5FGO4Hq63OIBHWblGcja/lIWkcU3ETmqMBbW5lFifceYq7UMGVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKg63plZz1QL7; Mon, 25 Sep 2023 11:01: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 38PB16iY053303; Mon, 25 Sep 2023 11:01:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB16Vd053300; Mon, 25 Sep 2023 11:01:06 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:06 GMT Message-Id: <202309251101.38PB16Vd053300@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: 75fa285b8988 - stable/13 - arm64: Update the ID_AA64ISAR1_EL1 fields List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 75fa285b8988a01ea3873c0986d9539c342f0b4b Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=75fa285b8988a01ea3873c0986d9539c342f0b4b commit 75fa285b8988a01ea3873c0986d9539c342f0b4b Author: Andrew Turner AuthorDate: 2023-07-06 10:01:11 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:33 +0000 arm64: Update the ID_AA64ISAR1_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40889 (cherry picked from commit de01309926e21e1cff196b6b23cff6c52064aa0e) --- sys/arm64/arm64/identcpu.c | 15 +++++++++++++++ sys/arm64/include/armreg.h | 23 ++++++++++++++++++----- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 8851cd952b7b..663e465d4149 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -635,6 +635,18 @@ static const struct mrs_field id_aa64isar0_fields[] = { /* ID_AA64ISAR1_EL1 */ +static const struct mrs_field_value id_aa64isar1_ls64[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, LS64, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64ISAR1_LS64_V, "LS64v"), + MRS_FIELD_VALUE(ID_AA64ISAR1_LS64_ACCDATA, "LS64+ACCDATA"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64isar1_xs[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, XS, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64isar1_i8mm[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, I8MM, NONE, IMPL), MRS_FIELD_VALUE_END, @@ -657,6 +669,7 @@ static const struct mrs_field_hwcap id_aa64isar1_dgh_caps[] = { static const struct mrs_field_value id_aa64isar1_bf16[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64ISAR1, BF16, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64ISAR1_BF16_EBF, "EBF16"), MRS_FIELD_VALUE_END, }; @@ -770,6 +783,8 @@ static const struct mrs_field_hwcap id_aa64isar1_dpb_caps[] = { }; static const struct mrs_field id_aa64isar1_fields[] = { + MRS_FIELD(ID_AA64ISAR1, LS64, false, MRS_EXACT, id_aa64isar1_ls64), + MRS_FIELD(ID_AA64ISAR1, XS, false, MRS_EXACT, id_aa64isar1_xs), MRS_FIELD_HWCAP(ID_AA64ISAR1, I8MM, false, MRS_LOWER, id_aa64isar1_i8mm, id_aa64isar1_i8mm_caps), MRS_FIELD_HWCAP(ID_AA64ISAR1, DGH, false, MRS_LOWER, id_aa64isar1_dgh, diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 1c9ea3b630f4..63188f112f51 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -677,11 +677,11 @@ /* ID_AA64ISAR1_EL1 */ #define ID_AA64ISAR1_EL1 MRS_REG(ID_AA64ISAR1_EL1) -#define ID_AA64ISAR1_EL1_op0 0x3 -#define ID_AA64ISAR1_EL1_op1 0x0 -#define ID_AA64ISAR1_EL1_CRn 0x0 -#define ID_AA64ISAR1_EL1_CRm 0x6 -#define ID_AA64ISAR1_EL1_op2 0x1 +#define ID_AA64ISAR1_EL1_op0 3 +#define ID_AA64ISAR1_EL1_op1 0 +#define ID_AA64ISAR1_EL1_CRn 0 +#define ID_AA64ISAR1_EL1_CRm 6 +#define ID_AA64ISAR1_EL1_op2 1 #define ID_AA64ISAR1_DPB_SHIFT 0 #define ID_AA64ISAR1_DPB_MASK (UL(0xf) << ID_AA64ISAR1_DPB_SHIFT) #define ID_AA64ISAR1_DPB_VAL(x) ((x) & ID_AA64ISAR1_DPB_MASK) @@ -752,6 +752,7 @@ #define ID_AA64ISAR1_BF16_VAL(x) ((x) & ID_AA64ISAR1_BF16_MASK) #define ID_AA64ISAR1_BF16_NONE (UL(0x0) << ID_AA64ISAR1_BF16_SHIFT) #define ID_AA64ISAR1_BF16_IMPL (UL(0x1) << ID_AA64ISAR1_BF16_SHIFT) +#define ID_AA64ISAR1_BF16_EBF (UL(0x2) << ID_AA64ISAR1_BF16_SHIFT) #define ID_AA64ISAR1_DGH_SHIFT 48 #define ID_AA64ISAR1_DGH_MASK (UL(0xf) << ID_AA64ISAR1_DGH_SHIFT) #define ID_AA64ISAR1_DGH_VAL(x) ((x) & ID_AA64ISAR1_DGH_MASK) @@ -762,6 +763,18 @@ #define ID_AA64ISAR1_I8MM_VAL(x) ((x) & ID_AA64ISAR1_I8MM_MASK) #define ID_AA64ISAR1_I8MM_NONE (UL(0x0) << ID_AA64ISAR1_I8MM_SHIFT) #define ID_AA64ISAR1_I8MM_IMPL (UL(0x1) << ID_AA64ISAR1_I8MM_SHIFT) +#define ID_AA64ISAR1_XS_SHIFT 56 +#define ID_AA64ISAR1_XS_MASK (UL(0xf) << ID_AA64ISAR1_XS_SHIFT) +#define ID_AA64ISAR1_XS_VAL(x) ((x) & ID_AA64ISAR1_XS_MASK) +#define ID_AA64ISAR1_XS_NONE (UL(0x0) << ID_AA64ISAR1_XS_SHIFT) +#define ID_AA64ISAR1_XS_IMPL (UL(0x1) << ID_AA64ISAR1_XS_SHIFT) +#define ID_AA64ISAR1_LS64_SHIFT 60 +#define ID_AA64ISAR1_LS64_MASK (UL(0xf) << ID_AA64ISAR1_LS64_SHIFT) +#define ID_AA64ISAR1_LS64_VAL(x) ((x) & ID_AA64ISAR1_LS64_MASK) +#define ID_AA64ISAR1_LS64_NONE (UL(0x0) << ID_AA64ISAR1_LS64_SHIFT) +#define ID_AA64ISAR1_LS64_IMPL (UL(0x1) << ID_AA64ISAR1_LS64_SHIFT) +#define ID_AA64ISAR1_LS64_V (UL(0x2) << ID_AA64ISAR1_LS64_SHIFT) +#define ID_AA64ISAR1_LS64_ACCDATA (UL(0x3) << ID_AA64ISAR1_LS64_SHIFT) /* ID_AA64ISAR2_EL1 */ #define ID_AA64ISAR2_EL1 MRS_REG(ID_AA64ISAR2_EL1) From nobody Mon Sep 25 11:01:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKg81HQVz4vNSS; Mon, 25 Sep 2023 11:01: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 4RvKg75T10z3NDB; Mon, 25 Sep 2023 11: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=1695639667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PUil9SdIVpHcsd4G+xcaltGmwcDUXdctp71mTExkjWU=; b=TTRFAUKDxwBqF7RFvOM2s4Xmh9s9gtLxUZA7Kmx81Ja0Rr4AqIkuE8AcelRHVsD0mxdsxB SZB9OnbNuyh9TO4LBvbzytdmLT2QKmSVAoh1H/ivm6H7IkCtoNRT4ol2rBj3hO7EFp+RRl +g0SWQMF6qtnm+TPBRBtrz7dLcCT5rTJBuBmc9IrkVyL3dtDcDlVKJARSoE7XGKZqCU+ON dvVgLEiA+7ZkJujUzvvKCsd9XXlcLKr56hcC6WLT2zkAiX5SwzWb82LkDs0mjfMmIszbyu D3f9JzIRGQflcYtQp4nDUSUZfBv//2A9LSvQ5Ot2IXa41cIYpWj3o0k/gVa8Wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639667; a=rsa-sha256; cv=none; b=GhpJmmOG+D/m6gikcKkwWCvZpfYX86ufUyhQdjDDpSj8TeUy/BBCitMZC8VFMrDBUsrmeY Fo5H5jgKAbI1G2pOviXpxjg7tQ4DwW/ZUJWJIicEC1/l9bLxKMelB/Fmd2BFyZbBKmgTmv ATwubkZlND7tJVpCKqYK4vVthIhXb6OhPWicCL9HYDrSx202hTfxa1726B6OEmhmzgFdkG 7MTQeMX1L534VBva+SvrOWS3SE2cB7A+tj1kNRLiS2vhP146hq23sx9AvzDkwR5Al3Fa2/ VSVVoGuJ96edutXpL228gSFRz2PLwm6j01tH2A2Nqjnaq2fX/gKbmsvvsfsh3Q== 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=1695639667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PUil9SdIVpHcsd4G+xcaltGmwcDUXdctp71mTExkjWU=; b=Sn+y5mE3ELKOLla2Ph5a7Uhmg+WjZ9rcP8rwTQJDqvrNVpiSCK7jXwzAUCLgtsD6+ff7/Z VpoJLQesvh7ypI68A1mcGwk6i6dWJVYxECwjKncxKZeuNmlqrndH0fVJr3Do0ExQHwMe8u 4HCGssGSfaHv34/gXf43IyvX006Hy/q6xKmae/LmV2aZU74RKax7N+Nm0MlKdNrvLDK/AE CUO6QCJwdYQlTRIwqWkaiVDYtyt1kkN9o0PwnAflSmpcmIuXfrP6a5IxHLrkaMQh1uqVmg R2GeiCmthT5sJNDbFuWRLIj+wI85fPzGl7nzhuyusg9884636GPz0j1BTDJxNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKg74JPqz1QL8; Mon, 25 Sep 2023 11: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 38PB176K053347; Mon, 25 Sep 2023 11: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 38PB17XY053344; Mon, 25 Sep 2023 11:01:07 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:07 GMT Message-Id: <202309251101.38PB17XY053344@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: 2d4962e21295 - stable/13 - arm64: Update the ID_AA64MMFR0_EL1 fields List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 2d4962e212955b8345769a8549c19925aea0ae7b Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=2d4962e212955b8345769a8549c19925aea0ae7b commit 2d4962e212955b8345769a8549c19925aea0ae7b Author: Andrew Turner AuthorDate: 2023-07-06 12:34:28 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:33 +0000 arm64: Update the ID_AA64MMFR0_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40890 (cherry picked from commit b21402d058755f4b33a82fa8024fbf4501f5a218) --- sys/arm64/arm64/identcpu.c | 19 ++++++++++++++++++- sys/arm64/include/armreg.h | 35 +++++++++++++++++++++++++---------- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 663e465d4149..ace134146a54 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -881,6 +881,17 @@ static const struct mrs_field id_aa64isar2_fields[] = { /* ID_AA64MMFR0_EL1 */ +static const struct mrs_field_value id_aa64mmfr0_ecv[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, ECV, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64MMFR0_ECV_CNTHCTL, "ECV+CNTHCTL"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr0_fgt[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, FGT, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64mmfr0_exs[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, ExS, ALL, IMPL), MRS_FIELD_VALUE_END, @@ -890,6 +901,7 @@ static const struct mrs_field_value id_aa64mmfr0_tgran4_2[] = { MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_TGran4, ""), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_NONE, "No S2 TGran4"), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_IMPL, "S2 TGran4"), + MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_2_LPA2, "S2 TGran4+LPA2"), MRS_FIELD_VALUE_END, }; @@ -904,11 +916,13 @@ static const struct mrs_field_value id_aa64mmfr0_tgran16_2[] = { MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_TGran16, ""), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_NONE, "No S2 TGran16"), MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_IMPL, "S2 TGran16"), + MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_2_LPA2, "S2 TGran16+LPA2"), MRS_FIELD_VALUE_END, }; static const struct mrs_field_value id_aa64mmfr0_tgran4[] = { - MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, TGran4,NONE, IMPL), + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, TGran4, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64MMFR0_TGran4_LPA2, "TGran4+LPA2"), MRS_FIELD_VALUE_END, }; @@ -919,6 +933,7 @@ static const struct mrs_field_value id_aa64mmfr0_tgran64[] = { static const struct mrs_field_value id_aa64mmfr0_tgran16[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR0, TGran16, NONE, IMPL), + MRS_FIELD_VALUE(ID_AA64MMFR0_TGran16_LPA2, "TGran16+LPA2"), MRS_FIELD_VALUE_END, }; @@ -955,6 +970,8 @@ static const struct mrs_field_value id_aa64mmfr0_parange[] = { }; static const struct mrs_field id_aa64mmfr0_fields[] = { + MRS_FIELD(ID_AA64MMFR0, ECV, false, MRS_EXACT, id_aa64mmfr0_ecv), + MRS_FIELD(ID_AA64MMFR0, FGT, false, MRS_EXACT, id_aa64mmfr0_fgt), MRS_FIELD(ID_AA64MMFR0, ExS, false, MRS_EXACT, id_aa64mmfr0_exs), MRS_FIELD(ID_AA64MMFR0, TGran4_2, false, MRS_EXACT, id_aa64mmfr0_tgran4_2), diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 63188f112f51..aeb2b8d2e8f3 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -825,11 +825,11 @@ /* ID_AA64MMFR0_EL1 */ #define ID_AA64MMFR0_EL1 MRS_REG(ID_AA64MMFR0_EL1) -#define ID_AA64MMFR0_EL1_op0 0x3 -#define ID_AA64MMFR0_EL1_op1 0x0 -#define ID_AA64MMFR0_EL1_CRn 0x0 -#define ID_AA64MMFR0_EL1_CRm 0x7 -#define ID_AA64MMFR0_EL1_op2 0x0 +#define ID_AA64MMFR0_EL1_op0 3 +#define ID_AA64MMFR0_EL1_op1 0 +#define ID_AA64MMFR0_EL1_CRn 0 +#define ID_AA64MMFR0_EL1_CRm 7 +#define ID_AA64MMFR0_EL1_op2 0 #define ID_AA64MMFR0_PARange_SHIFT 0 #define ID_AA64MMFR0_PARange_MASK (UL(0xf) << ID_AA64MMFR0_PARange_SHIFT) #define ID_AA64MMFR0_PARange_VAL(x) ((x) & ID_AA64MMFR0_PARange_MASK) @@ -865,6 +865,7 @@ #define ID_AA64MMFR0_TGran16_VAL(x) ((x) & ID_AA64MMFR0_TGran16_MASK) #define ID_AA64MMFR0_TGran16_NONE (UL(0x0) << ID_AA64MMFR0_TGran16_SHIFT) #define ID_AA64MMFR0_TGran16_IMPL (UL(0x1) << ID_AA64MMFR0_TGran16_SHIFT) +#define ID_AA64MMFR0_TGran16_LPA2 (UL(0x2) << ID_AA64MMFR0_TGran16_SHIFT) #define ID_AA64MMFR0_TGran64_SHIFT 24 #define ID_AA64MMFR0_TGran64_MASK (UL(0xf) << ID_AA64MMFR0_TGran64_SHIFT) #define ID_AA64MMFR0_TGran64_VAL(x) ((x) & ID_AA64MMFR0_TGran64_MASK) @@ -874,6 +875,7 @@ #define ID_AA64MMFR0_TGran4_MASK (UL(0xf) << ID_AA64MMFR0_TGran4_SHIFT) #define ID_AA64MMFR0_TGran4_VAL(x) ((x) & ID_AA64MMFR0_TGran4_MASK) #define ID_AA64MMFR0_TGran4_IMPL (UL(0x0) << ID_AA64MMFR0_TGran4_SHIFT) +#define ID_AA64MMFR0_TGran4_LPA2 (UL(0x1) << ID_AA64MMFR0_TGran4_SHIFT) #define ID_AA64MMFR0_TGran4_NONE (UL(0xf) << ID_AA64MMFR0_TGran4_SHIFT) #define ID_AA64MMFR0_TGran16_2_SHIFT 32 #define ID_AA64MMFR0_TGran16_2_MASK (UL(0xf) << ID_AA64MMFR0_TGran16_2_SHIFT) @@ -881,6 +883,7 @@ #define ID_AA64MMFR0_TGran16_2_TGran16 (UL(0x0) << ID_AA64MMFR0_TGran16_2_SHIFT) #define ID_AA64MMFR0_TGran16_2_NONE (UL(0x1) << ID_AA64MMFR0_TGran16_2_SHIFT) #define ID_AA64MMFR0_TGran16_2_IMPL (UL(0x2) << ID_AA64MMFR0_TGran16_2_SHIFT) +#define ID_AA64MMFR0_TGran16_2_LPA2 (UL(0x3) << ID_AA64MMFR0_TGran16_2_SHIFT) #define ID_AA64MMFR0_TGran64_2_SHIFT 36 #define ID_AA64MMFR0_TGran64_2_MASK (UL(0xf) << ID_AA64MMFR0_TGran64_2_SHIFT) #define ID_AA64MMFR0_TGran64_2_VAL(x) ((x) & ID_AA64MMFR0_TGran64_2_MASK) @@ -893,19 +896,31 @@ #define ID_AA64MMFR0_TGran4_2_TGran4 (UL(0x0) << ID_AA64MMFR0_TGran4_2_SHIFT) #define ID_AA64MMFR0_TGran4_2_NONE (UL(0x1) << ID_AA64MMFR0_TGran4_2_SHIFT) #define ID_AA64MMFR0_TGran4_2_IMPL (UL(0x2) << ID_AA64MMFR0_TGran4_2_SHIFT) +#define ID_AA64MMFR0_TGran4_2_LPA2 (UL(0x3) << ID_AA64MMFR0_TGran4_2_SHIFT) #define ID_AA64MMFR0_ExS_SHIFT 44 #define ID_AA64MMFR0_ExS_MASK (UL(0xf) << ID_AA64MMFR0_ExS_SHIFT) #define ID_AA64MMFR0_ExS_VAL(x) ((x) & ID_AA64MMFR0_ExS_MASK) #define ID_AA64MMFR0_ExS_ALL (UL(0x0) << ID_AA64MMFR0_ExS_SHIFT) #define ID_AA64MMFR0_ExS_IMPL (UL(0x1) << ID_AA64MMFR0_ExS_SHIFT) +#define ID_AA64MMFR0_FGT_SHIFT 56 +#define ID_AA64MMFR0_FGT_MASK (UL(0xf) << ID_AA64MMFR0_FGT_SHIFT) +#define ID_AA64MMFR0_FGT_VAL(x) ((x) & ID_AA64MMFR0_FGT_MASK) +#define ID_AA64MMFR0_FGT_NONE (UL(0x0) << ID_AA64MMFR0_FGT_SHIFT) +#define ID_AA64MMFR0_FGT_IMPL (UL(0x1) << ID_AA64MMFR0_FGT_SHIFT) +#define ID_AA64MMFR0_ECV_SHIFT 60 +#define ID_AA64MMFR0_ECV_MASK (UL(0xf) << ID_AA64MMFR0_ECV_SHIFT) +#define ID_AA64MMFR0_ECV_VAL(x) ((x) & ID_AA64MMFR0_ECV_MASK) +#define ID_AA64MMFR0_ECV_NONE (UL(0x0) << ID_AA64MMFR0_ECV_SHIFT) +#define ID_AA64MMFR0_ECV_IMPL (UL(0x1) << ID_AA64MMFR0_ECV_SHIFT) +#define ID_AA64MMFR0_ECV_CNTHCTL (UL(0x2) << ID_AA64MMFR0_ECV_SHIFT) /* ID_AA64MMFR1_EL1 */ #define ID_AA64MMFR1_EL1 MRS_REG(ID_AA64MMFR1_EL1) -#define ID_AA64MMFR1_EL1_op0 0x3 -#define ID_AA64MMFR1_EL1_op1 0x0 -#define ID_AA64MMFR1_EL1_CRn 0x0 -#define ID_AA64MMFR1_EL1_CRm 0x7 -#define ID_AA64MMFR1_EL1_op2 0x1 +#define ID_AA64MMFR1_EL1_op0 3 +#define ID_AA64MMFR1_EL1_op1 0 +#define ID_AA64MMFR1_EL1_CRn 0 +#define ID_AA64MMFR1_EL1_CRm 7 +#define ID_AA64MMFR1_EL1_op2 1 #define ID_AA64MMFR1_HAFDBS_SHIFT 0 #define ID_AA64MMFR1_HAFDBS_MASK (UL(0xf) << ID_AA64MMFR1_HAFDBS_SHIFT) #define ID_AA64MMFR1_HAFDBS_VAL(x) ((x) & ID_AA64MMFR1_HAFDBS_MASK) From nobody Mon Sep 25 11:01:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKg907Qxz4vNNk; Mon, 25 Sep 2023 11:01: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 4RvKg86QDjz3NB1; Mon, 25 Sep 2023 11:01:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639668; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q0xZ+dTG/70o0VrW3XNL2OL6nduN3uqjYHfayTG51ho=; b=V+lp4ppZqwU6Y9G6VDMaG18da149uG/89d8PnaM+bDvb60Yi7eLUu73erT4HmAVULTtI/N GFL8qblPbB9EMVdwKfxPaj4eq7cvWTk8CK0k7R5OkZ+gw2YVXYjatGJz85iB0cl+iEPrR1 ZEjCrSpRkvPPZR0LEsi/T8poVmfomXS5mIyIx19sDtDJ4G3oYiLZ+AiNcYJR/gDelMEnHQ Dfa5IGesxrH8ZRF2ySQABamS//jdUw8USUAxfn7xqGUs3RP6i1hKv1NSXjMIUHAoEDTbf4 kr1eJjQM53vfgQDNcNzpErq1+qRox0o2lRZMKdU95iVgnpxXLI4laNayfHLZvQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639668; a=rsa-sha256; cv=none; b=KV98RVCZKBCZKZUZHjySRfMeD0c3OnO5U/9d6/p6K24w2HarsdR/nZquXhu+zgH4bH8cBN mreALi60Mdtww4HPrWAcJu6NmenJcOEgzacmdpE0+aErU1NR8T+GLYNwvzTZ9u37rogKVD ckZYKrqZ6cYop9Y1tto0o6t6z6Tt1uizl3s+t67gTulOdzaHAkw9R1KWNkgRKNtn38XJp0 rbxG4aj2XrVuAH8wjUQlCo1EWsK+i/os0S93dMQ7Tjkgs3hG6SMhYXvm8i4L1SdvPkLMex NjB5HNtfG013pMRohi5k2k1r6JNQK7f45Zj5lxBbkVJ1qPcyCT8h3iGSBBqoKQ== 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=1695639668; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q0xZ+dTG/70o0VrW3XNL2OL6nduN3uqjYHfayTG51ho=; b=VTvT+Ut1We6YDdmK2N57Qo9dGjEXicB6c3OayO2yIkGA5KK9tAadWm9uehwLjR227t8teH cEVaFKETxVE2ycbYtvy2UU65B3yBGPYgsZLgPFeOwOQ4RUnSRMvXcUnlX68v2jE0eHvTRV WzGBNk4/LKfpnCPmvH32L+xowMrAgwO4dJiPW8AcCpJ6AZ2XEbiVNapuOMGbYunGV/hSAm YPQHiukksBr3AJGW/FTUJUsOjzcRv5mxqa4l0tvF1ZL/zUqr3n0wtknsL01A8tIbyw0an8 dbxjRStXVurtnHdO2JtRngzRUvn+OQvSC7xGF0ViGG33W5+KAg4ImAjZ4Uq0iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKg85WLvz1Q5w; Mon, 25 Sep 2023 11:01: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 38PB18ZL053394; Mon, 25 Sep 2023 11:01:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB18i2053391; Mon, 25 Sep 2023 11:01:08 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:08 GMT Message-Id: <202309251101.38PB18i2053391@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: 4095670230c5 - stable/13 - arm64: Update the ID_AA64MMFR1_EL1 fields List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 4095670230c5ebdf19dc25ad479034d99d3ee203 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4095670230c5ebdf19dc25ad479034d99d3ee203 commit 4095670230c5ebdf19dc25ad479034d99d3ee203 Author: Andrew Turner AuthorDate: 2023-07-06 13:11:29 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:33 +0000 arm64: Update the ID_AA64MMFR1_EL1 fields Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40891 (cherry picked from commit 284f91de8b43a5d66fbd484d6cb5ab2d86e822d1) --- sys/arm64/arm64/identcpu.c | 43 +++++++++++++++++++++++++++++++++++++++++++ sys/arm64/include/armreg.h | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index ace134146a54..06d1f9478426 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -997,6 +997,41 @@ static const struct mrs_field id_aa64mmfr0_fields[] = { /* ID_AA64MMFR1_EL1 */ +static const struct mrs_field_value id_aa64mmfr1_cmovw[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, CMOVW, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_tidcp1[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, TIDCP1, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_ntlbpa[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, nTLBPA, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_afp[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, AFP, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_hcx[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, HCX, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_ets[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, ETS, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64mmfr1_twed[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, TWED, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64mmfr1_xnx[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, XNX, NONE, IMPL), MRS_FIELD_VALUE_END, @@ -1010,6 +1045,7 @@ static const struct mrs_field_value id_aa64mmfr1_specsei[] = { static const struct mrs_field_value id_aa64mmfr1_pan[] = { MRS_FIELD_VALUE_NONE_IMPL(ID_AA64MMFR1, PAN, NONE, IMPL), MRS_FIELD_VALUE(ID_AA64MMFR1_PAN_ATS1E1, "PAN+ATS1E1"), + MRS_FIELD_VALUE(ID_AA64MMFR1_PAN_EPAN, "EPAN"), MRS_FIELD_VALUE_END, }; @@ -1044,6 +1080,13 @@ static const struct mrs_field_value id_aa64mmfr1_hafdbs[] = { }; static const struct mrs_field id_aa64mmfr1_fields[] = { + MRS_FIELD(ID_AA64MMFR1, CMOVW, false, MRS_EXACT, id_aa64mmfr1_cmovw), + MRS_FIELD(ID_AA64MMFR1, TIDCP1, false, MRS_EXACT, id_aa64mmfr1_tidcp1), + MRS_FIELD(ID_AA64MMFR1, nTLBPA, false, MRS_EXACT, id_aa64mmfr1_ntlbpa), + MRS_FIELD(ID_AA64MMFR1, AFP, false, MRS_EXACT, id_aa64mmfr1_afp), + MRS_FIELD(ID_AA64MMFR1, HCX, false, MRS_EXACT, id_aa64mmfr1_hcx), + MRS_FIELD(ID_AA64MMFR1, ETS, false, MRS_EXACT, id_aa64mmfr1_ets), + MRS_FIELD(ID_AA64MMFR1, TWED, false, MRS_EXACT, id_aa64mmfr1_twed), MRS_FIELD(ID_AA64MMFR1, XNX, false, MRS_EXACT, id_aa64mmfr1_xnx), MRS_FIELD(ID_AA64MMFR1, SpecSEI, false, MRS_EXACT, id_aa64mmfr1_specsei), diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index aeb2b8d2e8f3..afaf9407217b 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -954,6 +954,7 @@ #define ID_AA64MMFR1_PAN_NONE (UL(0x0) << ID_AA64MMFR1_PAN_SHIFT) #define ID_AA64MMFR1_PAN_IMPL (UL(0x1) << ID_AA64MMFR1_PAN_SHIFT) #define ID_AA64MMFR1_PAN_ATS1E1 (UL(0x2) << ID_AA64MMFR1_PAN_SHIFT) +#define ID_AA64MMFR1_PAN_EPAN (UL(0x2) << ID_AA64MMFR1_PAN_SHIFT) #define ID_AA64MMFR1_SpecSEI_SHIFT 24 #define ID_AA64MMFR1_SpecSEI_MASK (UL(0xf) << ID_AA64MMFR1_SpecSEI_SHIFT) #define ID_AA64MMFR1_SpecSEI_VAL(x) ((x) & ID_AA64MMFR1_SpecSEI_MASK) @@ -964,6 +965,41 @@ #define ID_AA64MMFR1_XNX_VAL(x) ((x) & ID_AA64MMFR1_XNX_MASK) #define ID_AA64MMFR1_XNX_NONE (UL(0x0) << ID_AA64MMFR1_XNX_SHIFT) #define ID_AA64MMFR1_XNX_IMPL (UL(0x1) << ID_AA64MMFR1_XNX_SHIFT) +#define ID_AA64MMFR1_TWED_SHIFT 32 +#define ID_AA64MMFR1_TWED_MASK (UL(0xf) << ID_AA64MMFR1_TWED_SHIFT) +#define ID_AA64MMFR1_TWED_VAL(x) ((x) & ID_AA64MMFR1_TWED_MASK) +#define ID_AA64MMFR1_TWED_NONE (UL(0x0) << ID_AA64MMFR1_TWED_SHIFT) +#define ID_AA64MMFR1_TWED_IMPL (UL(0x1) << ID_AA64MMFR1_TWED_SHIFT) +#define ID_AA64MMFR1_ETS_SHIFT 36 +#define ID_AA64MMFR1_ETS_MASK (UL(0xf) << ID_AA64MMFR1_ETS_SHIFT) +#define ID_AA64MMFR1_ETS_VAL(x) ((x) & ID_AA64MMFR1_ETS_MASK) +#define ID_AA64MMFR1_ETS_NONE (UL(0x0) << ID_AA64MMFR1_ETS_SHIFT) +#define ID_AA64MMFR1_ETS_IMPL (UL(0x1) << ID_AA64MMFR1_ETS_SHIFT) +#define ID_AA64MMFR1_HCX_SHIFT 40 +#define ID_AA64MMFR1_HCX_MASK (UL(0xf) << ID_AA64MMFR1_HCX_SHIFT) +#define ID_AA64MMFR1_HCX_VAL(x) ((x) & ID_AA64MMFR1_HCX_MASK) +#define ID_AA64MMFR1_HCX_NONE (UL(0x0) << ID_AA64MMFR1_HCX_SHIFT) +#define ID_AA64MMFR1_HCX_IMPL (UL(0x1) << ID_AA64MMFR1_HCX_SHIFT) +#define ID_AA64MMFR1_AFP_SHIFT 44 +#define ID_AA64MMFR1_AFP_MASK (UL(0xf) << ID_AA64MMFR1_AFP_SHIFT) +#define ID_AA64MMFR1_AFP_VAL(x) ((x) & ID_AA64MMFR1_AFP_MASK) +#define ID_AA64MMFR1_AFP_NONE (UL(0x0) << ID_AA64MMFR1_AFP_SHIFT) +#define ID_AA64MMFR1_AFP_IMPL (UL(0x1) << ID_AA64MMFR1_AFP_SHIFT) +#define ID_AA64MMFR1_nTLBPA_SHIFT 48 +#define ID_AA64MMFR1_nTLBPA_MASK (UL(0xf) << ID_AA64MMFR1_nTLBPA_SHIFT) +#define ID_AA64MMFR1_nTLBPA_VAL(x) ((x) & ID_AA64MMFR1_nTLBPA_MASK) +#define ID_AA64MMFR1_nTLBPA_NONE (UL(0x0) << ID_AA64MMFR1_nTLBPA_SHIFT) +#define ID_AA64MMFR1_nTLBPA_IMPL (UL(0x1) << ID_AA64MMFR1_nTLBPA_SHIFT) +#define ID_AA64MMFR1_TIDCP1_SHIFT 52 +#define ID_AA64MMFR1_TIDCP1_MASK (UL(0xf) << ID_AA64MMFR1_TIDCP1_SHIFT) +#define ID_AA64MMFR1_TIDCP1_VAL(x) ((x) & ID_AA64MMFR1_TIDCP1_MASK) +#define ID_AA64MMFR1_TIDCP1_NONE (UL(0x0) << ID_AA64MMFR1_TIDCP1_SHIFT) +#define ID_AA64MMFR1_TIDCP1_IMPL (UL(0x1) << ID_AA64MMFR1_TIDCP1_SHIFT) +#define ID_AA64MMFR1_CMOVW_SHIFT 56 +#define ID_AA64MMFR1_CMOVW_MASK (UL(0xf) << ID_AA64MMFR1_CMOVW_SHIFT) +#define ID_AA64MMFR1_CMOVW_VAL(x) ((x) & ID_AA64MMFR1_CMOVW_MASK) +#define ID_AA64MMFR1_CMOVW_NONE (UL(0x0) << ID_AA64MMFR1_CMOVW_SHIFT) +#define ID_AA64MMFR1_CMOVW_IMPL (UL(0x1) << ID_AA64MMFR1_CMOVW_SHIFT) /* ID_AA64MMFR2_EL1 */ #define ID_AA64MMFR2_EL1 MRS_REG(ID_AA64MMFR2_EL1) From nobody Mon Sep 25 11:01:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKgB1C4mz4vNh0; Mon, 25 Sep 2023 11:01: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 4RvKgB0Kz0z3NBm; Mon, 25 Sep 2023 11:01:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jBppG5loPkFk8cJoV5cMl/wXMhX79b+hlq0lvtG2GoI=; b=ZBXUNfSt53Sp4fLbT7CXf3tWEXXEhaYkJ6nQldodMw7bG09AP2uM0Omfy0K71YFPPON+s+ FJj0DNP4g/IlOXMPkXNY+bljQG4xvzSQeVRA3xjpn6HbbptxGFtwWEP88wqjZh4vSEWgo+ VCXUqW2esErMjhaYdTWFnQWY1h/+8MmQh+OVPBW3p6lChED1/f8hfhsm5qpnarY4fqGH9W EJ2qbp9TKobZkgR5ZWFlnG0FSKMRFMWUUsZpSuuvhexyB5Nvx/AfyAkKsgTkFxNn78gGSO mANeziTPQPjlmStYBrQiVlJRZWrjuXVeOebbID0SW59zZsywns1lIJ29XR8B/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639670; a=rsa-sha256; cv=none; b=eUITSPW08WLXEHG2wQDao6gNQue1X1XfH4udAXMwb6xdH10JAr5916RzofZnyoeCUq4lVL fqH0h0ZGW7MdkD+h7PGKyrrV6lew6xA6o3jr+BpKBgduvuB5+iWINYFxCoW0o3uTj0XbKg zAeFhGkv1xgUan0ysOo9cwyBpoemUi8OhCPAls5ZoWiIjPBJ2Uvg4t+05mYalhUQjrveef HAw0G3fO0y5/t7NLrF0p73k4ezW+g9z9pcmmkYFxASCnWO1Nen+BQ7nE+zJQZFd1vU0Cyr DHOXhK/wbu3ZM2HjnuCLc5hXh3CWcHAIjzfjWv6GH8C4/uAa6XBB/iNiuYpZKg== 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=1695639670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jBppG5loPkFk8cJoV5cMl/wXMhX79b+hlq0lvtG2GoI=; b=vG8p4fyzYvWapRCVy0gzYrc7uZR193LGCnG73XGnQX9iv9/Qfg59kAvbaydh38OWEH2zm9 YsrBkpVJRLyj+ksG9yVguuQyChJR4qOGnpXkFW8DufK1kGkuC4Qjozi14eDbkGmUWqnY+e bJZchyq8wJkId6+VoDYGIrJ5FmXXDSnSaQ+KAv7ar3vktGDd8wuM+r938e0hJmKI3Om11+ 0iMC62g7rABFq2DnfQ8fRQE4pVyy5Jfl51zLkaW0+l5kVJww2ksrdcpJtbsKD0gDN2L+mV LqYf5rtwBbsY50zWtVYD+ys1/JltX3ekRdFV/uO2uHWLoHiWggpWhv3RMmuWBg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKg96PNvz1Q8H; Mon, 25 Sep 2023 11:01: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 38PB19mA053439; Mon, 25 Sep 2023 11:01:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB19s4053436; Mon, 25 Sep 2023 11:01:09 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:09 GMT Message-Id: <202309251101.38PB19s4053436@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: e887138417fd - stable/13 - arm64: Don't use hex for ID_AA64MMFR2_EL1_op/CR* List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: e887138417fd73837b3b6f242a8e765046e1517a Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=e887138417fd73837b3b6f242a8e765046e1517a commit e887138417fd73837b3b6f242a8e765046e1517a Author: Andrew Turner AuthorDate: 2023-07-06 13:15:12 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 08:41:33 +0000 arm64: Don't use hex for ID_AA64MMFR2_EL1_op/CR* It breaks a future macro that creates the alternative register name for old compilers. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40892 (cherry picked from commit 2134cfe793d67e3bc6ec0713862168452f4ad8f0) --- sys/arm64/include/armreg.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index afaf9407217b..80828259f23a 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1003,11 +1003,11 @@ /* ID_AA64MMFR2_EL1 */ #define ID_AA64MMFR2_EL1 MRS_REG(ID_AA64MMFR2_EL1) -#define ID_AA64MMFR2_EL1_op0 0x3 -#define ID_AA64MMFR2_EL1_op1 0x0 -#define ID_AA64MMFR2_EL1_CRn 0x0 -#define ID_AA64MMFR2_EL1_CRm 0x7 -#define ID_AA64MMFR2_EL1_op2 0x2 +#define ID_AA64MMFR2_EL1_op0 3 +#define ID_AA64MMFR2_EL1_op1 0 +#define ID_AA64MMFR2_EL1_CRn 0 +#define ID_AA64MMFR2_EL1_CRm 7 +#define ID_AA64MMFR2_EL1_op2 2 #define ID_AA64MMFR2_CnP_SHIFT 0 #define ID_AA64MMFR2_CnP_MASK (UL(0xf) << ID_AA64MMFR2_CnP_SHIFT) #define ID_AA64MMFR2_CnP_VAL(x) ((x) & ID_AA64MMFR2_CnP_MASK) From nobody Mon Sep 25 11:01:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKgC3Xdqz4vNh4; Mon, 25 Sep 2023 11: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 4RvKgC1CqKz3NHS; Mon, 25 Sep 2023 11: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=1695639671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pdx9TXwUjRt6Xd8UUeLzPnJ+XbzIuqxrugZ6C/+vWgc=; b=a5kl/pzuy1dCHfgJRwruqsClJdfmFgJr27TuGYUQu9w3SHZ4aI/SEQxRTS0Svb1tPG06N9 FkOlrGRtrU8Ncb2AWmUzljC+5eaFv/np7ccCbyAwoKPdt/QnTGGnc65byTtVaeggUAsNzW 7x8/3P2t+RYTjBPNG7KJxlPQuU2BzhUw4lsMkYFFCaxKDBZUMB3ky5Gs59FOG1jCFUsHxN Ff3OV+ErQUjBEW/rQch+z7zbit5j5/RfmyDTjyRmV+88VOaFVvix8/YVPClNAviB2XDYmO +zqbcPdRU2R3HOZZh0ayp4dKbqVC5eV2VpY+tq6Lpf86OrH0aX3hZkgt+IXdxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639671; a=rsa-sha256; cv=none; b=n41cG9QCGqTQOKgr72lGiGFGaOfeF2HmCeYbMl6XghYEKbsQyM0FSSKtKJnIiosMMrBxzi 9yPApD/t34QNIINqE29DaZEM/C4vZKIPpNtszzrNOSHS61XJekvsb7W8VSK88Skr+BhmlI CvODFL1hHuoO/vwiHpOnnLUh1tNp5PeGp1GFwYG1Fahi7KHSqkKCUlEOMYvH83js7BySvW riilaBWusv4L09qvK798rV2rqPerBMQvu54YgUd/Mlg3OWoIvl72Pj48LY31JZOiC1q4jc VbjBKu5Xs0R7ryx0dJsL1GyvrBEp4M9LO9Q972Ec0wzSLn71P1rcbzG5VKBfjQ== 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=1695639671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pdx9TXwUjRt6Xd8UUeLzPnJ+XbzIuqxrugZ6C/+vWgc=; b=RlTtUvdvoyP1edpki3ktC1hDntKzmUA/e4SOW/lGHw7kPr/otZhavklQETATfiD5v+saEb UzdBpXHD24Jej5ASgo4v7LW/6E2762Vcld4oJ4YiqfNYtBw/CZrRwNh7sxHdXFq2f0+TzY hBtpBueGr9Z3J/q/uPY4mfOSkP83C0x8YO4UUaOmn8Et8iV1UniAX5eiR2CWoqRucj+z0t RGrO/eII1dAxPueTWh0g3Jgu9WF+olNMyRnNhKFYeoBREhsZS2FQpqy/6vSzMjRc5L50Tt sG4QA1vRZDqgpGmbp4uLf5XvwVnytEJvdefk5rbx7ZOQpuDeX5Hki/pnimrLjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKgC0JxVz1QLN; Mon, 25 Sep 2023 11: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 38PB1AF4053481; Mon, 25 Sep 2023 11:01:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB1Ahf053478; Mon, 25 Sep 2023 11:01:10 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:10 GMT Message-Id: <202309251101.38PB1Ahf053478@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: 3ef0220e2d0b - stable/13 - arm64: Update the ID_AA64PFR0_EL1 fields List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 3ef0220e2d0b6b0bbfa175c01294a7ab60bbf5c8 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=3ef0220e2d0b6b0bbfa175c01294a7ab60bbf5c8 commit 3ef0220e2d0b6b0bbfa175c01294a7ab60bbf5c8 Author: Andrew Turner AuthorDate: 2023-07-06 14:02:35 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 10:49:32 +0000 arm64: Update the ID_AA64PFR0_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40895 (cherry picked from commit 0766dde9b5587d04c634eda1ab4666203d32a271) --- sys/arm64/arm64/identcpu.c | 10 +++++++++- sys/arm64/include/armreg.h | 17 ++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 06d1f9478426..cd7f8ce7a84f 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1221,7 +1221,13 @@ static const struct mrs_field_value id_aa64pfr0_csv3[] = { static const struct mrs_field_value id_aa64pfr0_csv2[] = { MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_ISOLATED, "CSV2"), - MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_SCXTNUM, "SCXTNUM"), + MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_SCXTNUM, "CSV2_2"), + MRS_FIELD_VALUE(ID_AA64PFR0_CSV2_3, "CSV2_3"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr0_rme[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR0, RME, NONE, IMPL), MRS_FIELD_VALUE_END, }; @@ -1239,6 +1245,7 @@ static const struct mrs_field_hwcap id_aa64pfr0_dit_caps[] = { static const struct mrs_field_value id_aa64pfr0_amu[] = { MRS_FIELD_VALUE(ID_AA64PFR0_AMU_NONE, ""), MRS_FIELD_VALUE(ID_AA64PFR0_AMU_V1, "AMUv1"), + MRS_FIELD_VALUE(ID_AA64PFR0_AMU_V1_1, "AMUv1p1"), MRS_FIELD_VALUE_END, }; @@ -1331,6 +1338,7 @@ static const struct mrs_field_value id_aa64pfr0_el0[] = { static const struct mrs_field id_aa64pfr0_fields[] = { MRS_FIELD(ID_AA64PFR0, CSV3, false, MRS_EXACT, id_aa64pfr0_csv3), MRS_FIELD(ID_AA64PFR0, CSV2, false, MRS_EXACT, id_aa64pfr0_csv2), + MRS_FIELD(ID_AA64PFR0, RME, false, MRS_EXACT, id_aa64pfr0_rme), MRS_FIELD_HWCAP(ID_AA64PFR0, DIT, false, MRS_LOWER, id_aa64pfr0_dit, id_aa64pfr0_dit_caps), MRS_FIELD(ID_AA64PFR0, AMU, false, MRS_EXACT, id_aa64pfr0_amu), diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 80828259f23a..b54efffeb8c0 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1089,11 +1089,11 @@ /* ID_AA64PFR0_EL1 */ #define ID_AA64PFR0_EL1 MRS_REG(ID_AA64PFR0_EL1) -#define ID_AA64PFR0_EL1_op0 0x3 -#define ID_AA64PFR0_EL1_op1 0x0 -#define ID_AA64PFR0_EL1_CRn 0x0 -#define ID_AA64PFR0_EL1_CRm 0x4 -#define ID_AA64PFR0_EL1_op2 0x0 +#define ID_AA64PFR0_EL1_op0 3 +#define ID_AA64PFR0_EL1_op1 0 +#define ID_AA64PFR0_EL1_CRn 0 +#define ID_AA64PFR0_EL1_CRm 4 +#define ID_AA64PFR0_EL1_op2 0 #define ID_AA64PFR0_EL0_SHIFT 0 #define ID_AA64PFR0_EL0_MASK (UL(0xf) << ID_AA64PFR0_EL0_SHIFT) #define ID_AA64PFR0_EL0_VAL(x) ((x) & ID_AA64PFR0_EL0_MASK) @@ -1161,17 +1161,24 @@ #define ID_AA64PFR0_AMU_VAL(x) ((x) & ID_AA64PFR0_AMU_MASK) #define ID_AA64PFR0_AMU_NONE (UL(0x0) << ID_AA64PFR0_AMU_SHIFT) #define ID_AA64PFR0_AMU_V1 (UL(0x1) << ID_AA64PFR0_AMU_SHIFT) +#define ID_AA64PFR0_AMU_V1_1 (UL(0x2) << ID_AA64PFR0_AMU_SHIFT) #define ID_AA64PFR0_DIT_SHIFT 48 #define ID_AA64PFR0_DIT_MASK (UL(0xf) << ID_AA64PFR0_DIT_SHIFT) #define ID_AA64PFR0_DIT_VAL(x) ((x) & ID_AA64PFR0_DIT_MASK) #define ID_AA64PFR0_DIT_NONE (UL(0x0) << ID_AA64PFR0_DIT_SHIFT) #define ID_AA64PFR0_DIT_PSTATE (UL(0x1) << ID_AA64PFR0_DIT_SHIFT) +#define ID_AA64PFR0_RME_SHIFT 52 +#define ID_AA64PFR0_RME_MASK (UL(0xf) << ID_AA64PFR0_RME_SHIFT) +#define ID_AA64PFR0_RME_VAL(x) ((x) & ID_AA64PFR0_RME_MASK) +#define ID_AA64PFR0_RME_NONE (UL(0x0) << ID_AA64PFR0_RME_SHIFT) +#define ID_AA64PFR0_RME_IMPL (UL(0x1) << ID_AA64PFR0_RME_SHIFT) #define ID_AA64PFR0_CSV2_SHIFT 56 #define ID_AA64PFR0_CSV2_MASK (UL(0xf) << ID_AA64PFR0_CSV2_SHIFT) #define ID_AA64PFR0_CSV2_VAL(x) ((x) & ID_AA64PFR0_CSV2_MASK) #define ID_AA64PFR0_CSV2_NONE (UL(0x0) << ID_AA64PFR0_CSV2_SHIFT) #define ID_AA64PFR0_CSV2_ISOLATED (UL(0x1) << ID_AA64PFR0_CSV2_SHIFT) #define ID_AA64PFR0_CSV2_SCXTNUM (UL(0x2) << ID_AA64PFR0_CSV2_SHIFT) +#define ID_AA64PFR0_CSV2_3 (UL(0x3) << ID_AA64PFR0_CSV2_SHIFT) #define ID_AA64PFR0_CSV3_SHIFT 60 #define ID_AA64PFR0_CSV3_MASK (UL(0xf) << ID_AA64PFR0_CSV3_SHIFT) #define ID_AA64PFR0_CSV3_VAL(x) ((x) & ID_AA64PFR0_CSV3_MASK) From nobody Mon Sep 25 11:01:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKgD4kyLz4vNdN; Mon, 25 Sep 2023 11: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 4RvKgD2LPRz3NS5; Mon, 25 Sep 2023 11: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=1695639672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+chRGKWvwaNuiL9mHbGZfhJj0dpaBiPXA9jJwn2lMJ8=; b=nxoOpWmRMuI1pDMx+ndZyFUxFqVjx35TE1vPbgyp2179wmh80G9fl/kcU+fBjk3RQuaA6+ pSEcQa/lqPlqW5YPIbeYlsmHvsoC+DeJNTsx96SuNufSYlBISqLDouvY2TVpJou+Eg+FQ3 L6xnoknUa5rwQQzgqPFoovQosrZ0sqcQ4G2+N/tFjSaokDRkX/keUCRZeVGMT6M2sKH0uR FwpIlEgPGqbp/XLq6aUOzLXBHgGx0Y/X8o0GK95vMUPMdnpJP5EmMnDaJ+QLCLi9rkV3C5 whJjchsxClDUX6pImx6K33IqM//Ow1I9chRVnYpIQM1J39LJ+BbRkhg5Kpoqzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639672; a=rsa-sha256; cv=none; b=tyo8IVgfU39ozIw2RSvW4fL8ZBQXImQrWL/DEokuwormhf7fhJLp9CBpd0EahEwAJjeQay hClTb6T9eK0BeVmhLB4Zi3xQnOx7M2F4j3KJydslxtrkAkLLpQ5S5hUc5zjKVuJcbRPNGf hZR78l3MM3i6bmNtOHC+3QgYrJnaRHNgmDMxXatKojmWCKGbgLQeh54atMU2A6NYyLBSzB c0RLFy0nB4U03X6r2jUG0dPVULajW72zlqu9qz4iyRMO4GnCyFH3gtTTR8W2XvLwkk3oF1 3xymtsVs6XquwsydpJ4FiPaC9jRUX3ShqaaI07VmoqEbpTKXUgOhrgVF8w+U5Q== 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=1695639672; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+chRGKWvwaNuiL9mHbGZfhJj0dpaBiPXA9jJwn2lMJ8=; b=npNeszlsbmVZW6jUI9n/Q3XvKXtn1PjK5EQvVa4CahlakNt4o+uhqxR3ZXjqBl6NW9Dqsb XQmfwGEV5H7/jlx1kaSchIIr2xB0R7nuQqSBMB4VyxNuUrWKsbwF8TAo18SlF/+VXhc3w5 37iNAh7g3uBfmTNateyQOqIY7lePaXV8bWoPGr1xdJK1m1MN7kaMz3TjOUB3Jk3fRFzXsm R0cBJf7gj9eyRpbRcLBj0dYAigzrIPw5bUcTLtbpLUlryjIBYOt+jb+Y6QNyE2WtaZ4ZQz 3E/gthNgrTdlwoPwNHgHVeT0dSZ1FS93uBD+Twzm8aEf5LT5+/iM+sUG1Aq1LA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKgD1K55z1Q62; Mon, 25 Sep 2023 11: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 38PB1CdH053527; Mon, 25 Sep 2023 11: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 38PB1Csv053524; Mon, 25 Sep 2023 11:01:12 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:12 GMT Message-Id: <202309251101.38PB1Csv053524@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: b6cc1a8273e5 - stable/13 - arm64: Update the ID_AA64PFR1_EL1 fields List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: b6cc1a8273e50a0a8583ec942e2d0f707c1a5d40 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b6cc1a8273e50a0a8583ec942e2d0f707c1a5d40 commit b6cc1a8273e50a0a8583ec942e2d0f707c1a5d40 Author: Andrew Turner AuthorDate: 2023-07-06 14:40:01 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 10:49:54 +0000 arm64: Update the ID_AA64PFR1_EL1 fields While here move to decimal for the _op and _CR definitions to be used by a future macro to define the register when the assembler doesn't know about it. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40896 (cherry picked from commit 8c111e5b375897bc298b8cdb3095f3c0e29c2307) --- sys/arm64/arm64/identcpu.c | 51 ++++++++++++++++++++++++++++++++++++++++++++-- sys/arm64/include/armreg.h | 46 +++++++++++++++++++++++++++++++++-------- 2 files changed, 86 insertions(+), 11 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index cd7f8ce7a84f..c46747be1bd5 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -1360,10 +1360,47 @@ static const struct mrs_field id_aa64pfr0_fields[] = { /* ID_AA64PFR1_EL1 */ +static const struct mrs_field_value id_aa64pfr1_nmi[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR1, NMI, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr1_csv2_frac[] = { + MRS_FIELD_VALUE(ID_AA64PFR1_CSV2_frac_p0, ""), + MRS_FIELD_VALUE(ID_AA64PFR1_CSV2_frac_p1, "CSV2 p1"), + MRS_FIELD_VALUE(ID_AA64PFR1_CSV2_frac_p2, "CSV2 p2"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr1_rndr_trap[] = { + MRS_FIELD_VALUE_NONE_IMPL(ID_AA64PFR1, RNDR_trap, NONE, IMPL), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr1_sme[] = { + MRS_FIELD_VALUE(ID_AA64PFR1_SME_NONE, ""), + MRS_FIELD_VALUE(ID_AA64PFR1_SME_SME, "SME"), + MRS_FIELD_VALUE(ID_AA64PFR1_SME_SME2, "SME2"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr1_mpam_frac[] = { + MRS_FIELD_VALUE(ID_AA64PFR1_MPAM_frac_p0, ""), + MRS_FIELD_VALUE(ID_AA64PFR1_MPAM_frac_p1, "MPAM p1"), + MRS_FIELD_VALUE_END, +}; + +static const struct mrs_field_value id_aa64pfr1_ras_frac[] = { + MRS_FIELD_VALUE(ID_AA64PFR1_RAS_frac_p0, ""), + MRS_FIELD_VALUE(ID_AA64PFR1_RAS_frac_p1, "RAS p1"), + MRS_FIELD_VALUE_END, +}; + static const struct mrs_field_value id_aa64pfr1_mte[] = { MRS_FIELD_VALUE(ID_AA64PFR1_MTE_NONE, ""), - MRS_FIELD_VALUE(ID_AA64PFR1_MTE_IMPL_EL0, "MTE EL0"), - MRS_FIELD_VALUE(ID_AA64PFR1_MTE_IMPL, "MTE"), + MRS_FIELD_VALUE(ID_AA64PFR1_MTE_MTE, "MTE"), + MRS_FIELD_VALUE(ID_AA64PFR1_MTE_MTE2, "MTE2"), + MRS_FIELD_VALUE(ID_AA64PFR1_MTE_MTE3, "MTE3"), MRS_FIELD_VALUE_END, }; @@ -1394,6 +1431,16 @@ static const struct mrs_field_hwcap id_aa64pfr1_bt_caps[] = { #endif static const struct mrs_field id_aa64pfr1_fields[] = { + MRS_FIELD(ID_AA64PFR1, NMI, false, MRS_EXACT, id_aa64pfr1_nmi), + MRS_FIELD(ID_AA64PFR1, CSV2_frac, false, MRS_EXACT, + id_aa64pfr1_csv2_frac), + MRS_FIELD(ID_AA64PFR1, RNDR_trap, false, MRS_EXACT, + id_aa64pfr1_rndr_trap), + MRS_FIELD(ID_AA64PFR1, SME, false, MRS_EXACT, id_aa64pfr1_sme), + MRS_FIELD(ID_AA64PFR1, MPAM_frac, false, MRS_EXACT, + id_aa64pfr1_mpam_frac), + MRS_FIELD(ID_AA64PFR1, RAS_frac, false, MRS_EXACT, + id_aa64pfr1_ras_frac), 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), diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index b54efffeb8c0..2f2cdf08585a 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -1187,11 +1187,11 @@ /* ID_AA64PFR1_EL1 */ #define ID_AA64PFR1_EL1 MRS_REG(ID_AA64PFR1_EL1) -#define ID_AA64PFR1_EL1_op0 0x3 -#define ID_AA64PFR1_EL1_op1 0x0 -#define ID_AA64PFR1_EL1_CRn 0x0 -#define ID_AA64PFR1_EL1_CRm 0x4 -#define ID_AA64PFR1_EL1_op2 0x1 +#define ID_AA64PFR1_EL1_op0 3 +#define ID_AA64PFR1_EL1_op1 0 +#define ID_AA64PFR1_EL1_CRn 0 +#define ID_AA64PFR1_EL1_CRm 4 +#define ID_AA64PFR1_EL1_op2 1 #define ID_AA64PFR1_BT_SHIFT 0 #define ID_AA64PFR1_BT_MASK (UL(0xf) << ID_AA64PFR1_BT_SHIFT) #define ID_AA64PFR1_BT_VAL(x) ((x) & ID_AA64PFR1_BT_MASK) @@ -1207,13 +1207,41 @@ #define ID_AA64PFR1_MTE_MASK (UL(0xf) << ID_AA64PFR1_MTE_SHIFT) #define ID_AA64PFR1_MTE_VAL(x) ((x) & ID_AA64PFR1_MTE_MASK) #define ID_AA64PFR1_MTE_NONE (UL(0x0) << ID_AA64PFR1_MTE_SHIFT) -#define ID_AA64PFR1_MTE_IMPL_EL0 (UL(0x1) << ID_AA64PFR1_MTE_SHIFT) -#define ID_AA64PFR1_MTE_IMPL (UL(0x2) << ID_AA64PFR1_MTE_SHIFT) +#define ID_AA64PFR1_MTE_MTE (UL(0x1) << ID_AA64PFR1_MTE_SHIFT) +#define ID_AA64PFR1_MTE_MTE2 (UL(0x2) << ID_AA64PFR1_MTE_SHIFT) +#define ID_AA64PFR1_MTE_MTE3 (UL(0x3) << ID_AA64PFR1_MTE_SHIFT) #define ID_AA64PFR1_RAS_frac_SHIFT 12 #define ID_AA64PFR1_RAS_frac_MASK (UL(0xf) << ID_AA64PFR1_RAS_frac_SHIFT) #define ID_AA64PFR1_RAS_frac_VAL(x) ((x) & ID_AA64PFR1_RAS_frac_MASK) -#define ID_AA64PFR1_RAS_frac_V1 (UL(0x0) << ID_AA64PFR1_RAS_frac_SHIFT) -#define ID_AA64PFR1_RAS_frac_V2 (UL(0x1) << ID_AA64PFR1_RAS_frac_SHIFT) +#define ID_AA64PFR1_RAS_frac_p0 (UL(0x0) << ID_AA64PFR1_RAS_frac_SHIFT) +#define ID_AA64PFR1_RAS_frac_p1 (UL(0x1) << ID_AA64PFR1_RAS_frac_SHIFT) +#define ID_AA64PFR1_MPAM_frac_SHIFT 16 +#define ID_AA64PFR1_MPAM_frac_MASK (UL(0xf) << ID_AA64PFR1_MPAM_frac_SHIFT) +#define ID_AA64PFR1_MPAM_frac_VAL(x) ((x) & ID_AA64PFR1_MPAM_frac_MASK) +#define ID_AA64PFR1_MPAM_frac_p0 (UL(0x0) << ID_AA64PFR1_MPAM_frac_SHIFT) +#define ID_AA64PFR1_MPAM_frac_p1 (UL(0x1) << ID_AA64PFR1_MPAM_frac_SHIFT) +#define ID_AA64PFR1_SME_SHIFT 24 +#define ID_AA64PFR1_SME_MASK (UL(0xf) << ID_AA64PFR1_SME_SHIFT) +#define ID_AA64PFR1_SME_VAL(x) ((x) & ID_AA64PFR1_SME_MASK) +#define ID_AA64PFR1_SME_NONE (UL(0x0) << ID_AA64PFR1_SME_SHIFT) +#define ID_AA64PFR1_SME_SME (UL(0x1) << ID_AA64PFR1_SME_SHIFT) +#define ID_AA64PFR1_SME_SME2 (UL(0x2) << ID_AA64PFR1_SME_SHIFT) +#define ID_AA64PFR1_RNDR_trap_SHIFT 28 +#define ID_AA64PFR1_RNDR_trap_MASK (UL(0xf) << ID_AA64PFR1_RNDR_trap_SHIFT) +#define ID_AA64PFR1_RNDR_trap_VAL(x) ((x) & ID_AA64PFR1_RNDR_trap_MASK) +#define ID_AA64PFR1_RNDR_trap_NONE (UL(0x0) << ID_AA64PFR1_RNDR_trap_SHIFT) +#define ID_AA64PFR1_RNDR_trap_IMPL (UL(0x1) << ID_AA64PFR1_RNDR_trap_SHIFT) +#define ID_AA64PFR1_CSV2_frac_SHIFT 32 +#define ID_AA64PFR1_CSV2_frac_MASK (UL(0xf) << ID_AA64PFR1_CSV2_frac_SHIFT) +#define ID_AA64PFR1_CSV2_frac_VAL(x) ((x) & ID_AA64PFR1_CSV2_frac_MASK) +#define ID_AA64PFR1_CSV2_frac_p0 (UL(0x0) << ID_AA64PFR1_CSV2_frac_SHIFT) +#define ID_AA64PFR1_CSV2_frac_p1 (UL(0x1) << ID_AA64PFR1_CSV2_frac_SHIFT) +#define ID_AA64PFR1_CSV2_frac_p2 (UL(0x2) << ID_AA64PFR1_CSV2_frac_SHIFT) +#define ID_AA64PFR1_NMI_SHIFT 36 +#define ID_AA64PFR1_NMI_MASK (UL(0xf) << ID_AA64PFR1_NMI_SHIFT) +#define ID_AA64PFR1_NMI_VAL(x) ((x) & ID_AA64PFR1_NMI_MASK) +#define ID_AA64PFR1_NMI_NONE (UL(0x0) << ID_AA64PFR1_NMI_SHIFT) +#define ID_AA64PFR1_NMI_IMPL (UL(0x1) << ID_AA64PFR1_NMI_SHIFT) /* ID_AA64ZFR0_EL1 */ #define ID_AA64ZFR0_EL1 MRS_REG(ID_AA64ZFR0_EL1) From nobody Mon Sep 25 11:01:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKgF4ZYwz4vNh7; Mon, 25 Sep 2023 11:01: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 4RvKgF2xkfz3NLg; Mon, 25 Sep 2023 11:01:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639673; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mahipoSA2gYWuBN3SSc+VCsCwzoPmSn1qW2ULbZg+ss=; b=Rz/uzlNsSUunN/36fIqpL5IFVp/q7MqnDIzE+j4ebbGwKsIeESukZc+sO1rB+/W6XivXvo oCOuBZX4uKSLfkJYUB0+Wnf/mTBB0R0XarcK1qreGiiEf2aiK4LcXgdc0mljT5VDfVndIH h61SxbiywfQLPTx9o5hIIYjtKln4m0h9oIPuV+bVDhGLMEU+m0U5+/c52rCHRXjBhqoEOj Ji8vCpJ95M8Pb7ZmOxMd5nNQMupQpkChSrcCRoAuxTUJtbaMytD3SvEsshOd7i1v+9DB5S C0ItrvDA6BqAGr1mCeU8E5WurXEVsCkwSIQ4rNGCZhd2KRGiodmPIkXNYxQcAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639673; a=rsa-sha256; cv=none; b=ptHLa574Px0Y/Ae2NATMuSKxynKjeEhOLA8nLqu8cbvV9RfsA0NZNfZ1f1tuGBKrlzZwy/ p2nBCksY4bcSXzx2tGLhUcx+sObf02xL/+fjX9DVwWXdDgqs9JkiJZnIM8ne2tqDMxV6wM FVZUaWmWs/yZwQ1GWkNGbO7Idgz89jKb555EG3lkOdZMXGOWiz+jexolgaS4SVT/LiANfQ MZX0JO03L25Ob+6+Pkn9EfbXmwGn7TeeaRxjELvoD9KRLpqL0Bl5h/PeE+P24nq7eyFgS4 Bgx5xpOp03M2qXQiJNMyI3toDoptE325iilSjy084CJ/ALB/LAgRkL1R2x6odA== 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=1695639673; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mahipoSA2gYWuBN3SSc+VCsCwzoPmSn1qW2ULbZg+ss=; b=nmdWfo/dG2Odw7bXJD+14OJdfDXntPlpGDMizBrl1C24kAkz8ecWbOxmkd045ILp8XBZhe ZjIp+20gjds40aFgT9g6FEc6tDfJ+XXtubQB9y5fCewg6IKvgWRaLcqURcEmYVundelSZi 0bOrsG21qwPR5viXghiMyPF+vGBlwE5CWYd/DJQEzB0Phkb87eanratIr5h3jrym0u9L9i h69wst0Brhu9Hhqcxx2v6CukeKm4Vja//ByxfBXwRhQikBTfQ9x/ao2Z+c8aNqzYX09qXS 6/Wb7xPg51a+Ip8wf1LEHqhbXrNdx8yS/06VLlUtty/OQxw4rms22Bk17L3s6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKgF23DQz1QjV; Mon, 25 Sep 2023 11:01: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 38PB1DKP053578; Mon, 25 Sep 2023 11:01:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB1D1n053574; Mon, 25 Sep 2023 11:01:13 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:13 GMT Message-Id: <202309251101.38PB1D1n053574@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: 90ab0c7356b6 - stable/13 - gicv3: Split out finding the page size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 90ab0c7356b648584303a26b75b3ee793c27436f Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=90ab0c7356b648584303a26b75b3ee793c27436f commit 90ab0c7356b648584303a26b75b3ee793c27436f Author: Andrew Turner AuthorDate: 2023-08-22 10:51:26 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 10:50:14 +0000 gicv3: Split out finding the page size When adding indirect (2 level) tabled we will need to know the page size to calculate the size of the level 1 table. To allow for this find the page size before entering the loop to calculate the final register value. Reviewed by: gallatin, imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41551 (cherry picked from commit 3fc4f7c88085dc94c88348839074b8db6f19fae1) --- sys/arm64/arm64/gicv3_its.c | 72 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 58 insertions(+), 14 deletions(-) diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index 677e40877ac9..2747bf7f4ce3 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -421,6 +421,52 @@ gicv3_its_cmdq_init(struct gicv3_its_softc *sc) gic_its_write_8(sc, GITS_CWRITER, 0x0); } +static int +gicv3_its_table_page_size(struct gicv3_its_softc *sc, int table) +{ + uint64_t reg, tmp; + int page_size; + + page_size = PAGE_SIZE_64K; + reg = gic_its_read_8(sc, GITS_BASER(table)); + + while (1) { + reg &= GITS_BASER_PSZ_MASK; + switch (page_size) { + case PAGE_SIZE_4K: /* 4KB */ + reg |= GITS_BASER_PSZ_4K << GITS_BASER_PSZ_SHIFT; + break; + case PAGE_SIZE_16K: /* 16KB */ + reg |= GITS_BASER_PSZ_16K << GITS_BASER_PSZ_SHIFT; + break; + case PAGE_SIZE_64K: /* 64KB */ + reg |= GITS_BASER_PSZ_64K << GITS_BASER_PSZ_SHIFT; + break; + } + + /* Write the new page size */ + gic_its_write_8(sc, GITS_BASER(table), reg); + + /* Read back to check */ + tmp = gic_its_read_8(sc, GITS_BASER(table)); + + /* The page size is correct */ + if ((tmp & GITS_BASER_PSZ_MASK) == (reg & GITS_BASER_PSZ_MASK)) + return (page_size); + + switch (page_size) { + default: + return (-1); + case PAGE_SIZE_16K: + page_size = PAGE_SIZE_4K; + break; + case PAGE_SIZE_64K: + page_size = PAGE_SIZE_16K; + break; + } + } +} + static int gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) { @@ -457,20 +503,30 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) cache = GITS_BASER_CACHE_WAWB; } share = GITS_BASER_SHARE_IS; - page_size = PAGE_SIZE_64K; for (i = 0; i < GITS_BASER_NUM; i++) { reg = gic_its_read_8(sc, GITS_BASER(i)); /* The type of table */ type = GITS_BASER_TYPE(reg); + if (type == GITS_BASER_TYPE_UNIMPL) + continue; + /* The table entry size */ esize = GITS_BASER_ESIZE(reg); + /* Find the tables page size */ + page_size = gicv3_its_table_page_size(sc, i); + if (page_size == -1) { + device_printf(dev, "No valid page size for table %d\n", + i); + return (EINVAL); + } + switch(type) { case GITS_BASER_TYPE_DEV: nidents = (1 << devbits); its_tbl_size = esize * nidents; - its_tbl_size = roundup2(its_tbl_size, PAGE_SIZE_64K); + its_tbl_size = roundup2(its_tbl_size, page_size); break; case GITS_BASER_TYPE_VP: case GITS_BASER_TYPE_PP: /* Undocumented? */ @@ -537,18 +593,6 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) continue; } - if ((tmp & GITS_BASER_PSZ_MASK) != - (reg & GITS_BASER_PSZ_MASK)) { - switch (page_size) { - case PAGE_SIZE_16K: - page_size = PAGE_SIZE_4K; - continue; - case PAGE_SIZE_64K: - page_size = PAGE_SIZE_16K; - continue; - } - } - if (tmp != reg) { device_printf(dev, "GITS_BASER%d: " "unable to be updated: %lx != %lx\n", From nobody Mon Sep 25 11:01:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKgG4zldz4vNHh; Mon, 25 Sep 2023 11:01: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 4RvKgG47jrz3NQt; Mon, 25 Sep 2023 11:01:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GD5pxPnS28UxJvocHkNsaeURFfiENT4IR4ETmcuV5C4=; b=CqnwrYWopXpTGnnjV5bj594i2lBvwNq74d6wz/ISYvk5j7TzabL+xvwLIvYMqq3rh8GCnS meoRb2F9mCFt1gaLV5nR2BqgCy/Gd23PuNwBbexoAtjRHvtaeIygTe6K9a6ricqXwtqQ0h VXetEUwe14HRHai2upSJwPSAfMXVzGjgIIPnVmE/A7JgBTyJ6FELQM/5fXZqMQRd6vlzVT I2YHIceVFmPS/yhE4ojy8c8DgfFlWSdAFTke4IBMgOEr29mBZ26Rvz56XmSbmsOummRD0O HcaVp7fGzvIBzAyLZKYF+3rSNz6CudujW1oei1UHX5eTz7KTItVP95t4xENkxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639674; a=rsa-sha256; cv=none; b=GDRlbl7jNaiAkFD2f7heSzaCVZxr27NL6gMCD8n64nUrYr5zMWA1H+rKRj+XNXM0NGlvQ/ Vb0zxSro6Qb8xFyKFkTPH0prxB9cRlpGBF7zsNHqOYMYc8eGxqa11Dq+frZjnu0GgSrfaj VD9bGYYeDAQ+V7SCswXs+pVGQi1MdEujeFdKiBcg+N2HRCCwiIyF35J6EAHHqpOB3Amtlk rXkqY4xMHlkqjCOQ2LxjqhCE/wmDdHHcVDvUA0gGdmTZ+vVnzJyJt01keD4Pzj/TOWgD+x IbCTOLJtnb/l9EOqamskojP/IdtXfkvwuvNgaZNT4VT4+VyOFsB8M+9qcpXQIw== 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=1695639674; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GD5pxPnS28UxJvocHkNsaeURFfiENT4IR4ETmcuV5C4=; b=Qydsnt9OvXP3RMSVf3w51/g/4ZhVHMyE+GKgS347A2BP2PqXY9Z9UCLERy8f8VDm7WATDK 4B6evF2HVRYvdbDvPZ9MrTqYEXLrff35DFndW0z47JMwOocY4EXcaWT0Z1+BJ2DtHwIPvc TQWooFUVHHS0wzof0if0ilU3GqPkJnjcMjxDAxn4KRPS9IIUEajGTgLsVGClhR0iqZ4hVi xPRWtCdFGguBBRL53SdoiYWx5dP46zKR1LZrQI+CzPVH/79xkpcrgAu35IxIo2l2oMVAC2 u7oe1LGM9dZo0Cvu+Ga9OMVA7pk8+nPLLNB5Genqhpttj+KEuTtyJ6OwqqYMyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKgG389Mz1Q8J; Mon, 25 Sep 2023 11:01: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 38PB1Ex9053626; Mon, 25 Sep 2023 11:01:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB1EWb053623; Mon, 25 Sep 2023 11:01:14 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:14 GMT Message-Id: <202309251101.38PB1EWb053623@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: 6579066de81d - stable/13 - gicv3: Stop setting the esize field List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 6579066de81dea96631e3d76961424610536377f Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6579066de81dea96631e3d76961424610536377f commit 6579066de81dea96631e3d76961424610536377f Author: Andrew Turner AuthorDate: 2023-08-22 11:29:03 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 10:50:25 +0000 gicv3: Stop setting the esize field The GITS_BASER esize field is read-only, there is no need to change it. Reviewed by: gallatin, imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41552 (cherry picked from commit 2f11b2abfc185d3d4f45e6a3dae270b859cdd388) --- sys/arm64/arm64/gicv3_its.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index 2747bf7f4ce3..59fce650c47e 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -554,14 +554,13 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) /* Clear the fields we will be setting */ reg &= ~(GITS_BASER_VALID | GITS_BASER_INDIRECT | GITS_BASER_CACHE_MASK | GITS_BASER_TYPE_MASK | - GITS_BASER_ESIZE_MASK | GITS_BASER_PA_MASK | + GITS_BASER_PA_MASK | GITS_BASER_SHARE_MASK | GITS_BASER_PSZ_MASK | GITS_BASER_SIZE_MASK); /* Set the new values */ reg |= GITS_BASER_VALID | (cache << GITS_BASER_CACHE_SHIFT) | (type << GITS_BASER_TYPE_SHIFT) | - ((esize - 1) << GITS_BASER_ESIZE_SHIFT) | paddr | (share << GITS_BASER_SHARE_SHIFT) | (nitspages - 1); From nobody Mon Sep 25 11:01:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKgH64X1z4vNn0; Mon, 25 Sep 2023 11:01: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 4RvKgH55HPz3NRT; Mon, 25 Sep 2023 11:01:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639675; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NhbpJXE/IEAxL9Q5QOK9WItg+8tbgySH1eXRvLhSMtc=; b=sHgf8/8Ri9hi+3/aE5M6vkaz45ATaqj1ZTHOVNb0Y1naFTYF7g6l+W0Iwg8+idU70MWSco 52ocPfmV6R/jjfBGt81Uecx9cy6JrZN3JnaYP+fVVCNeRYm9fu9sYBu1evBfoHLmtCXyYe t0TDq+np4TyGEkIbdkxkUputdaP55ZM7jB8lhSRl3qjlGbpM3UitQyjJmKqvgTIuRF+8Jh VvPwZ8mQ/RKvcGIkGNF9QEKsaDeSF+NgK/ra9WuCdrubIUw/aBpomFMjZSRvNxbG0vBMf7 BFAdHA2ns0qnX5r4KewcoFf91nPWSKyktW0zAzV9v5NGZk4Nii8odUizdAIJ7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639675; a=rsa-sha256; cv=none; b=IHMSB6wP8VqljtaCYmc1mybxzlZsSQZbaZZv0J3Ny0Ck+zZLKLKoyCpYIH6GQ97jwMEpld j4GAZ/rdVE8zcP/Us8a1ZoM5n64Gi9QTIU6wub/AhvzYTv2vtQTXLMzwWMvw6EpHun8LOQ M0LYhPpkBhXcWW8N2SfEVrbHtq7tjxyw28J0dLeN0dWhGKy5wc1OKPR9K9dLU0Uv035xxK rqRFCU/tSOAcUPZrtO8ImRgG1E3v6Jct7UpI/Nr6v4Vf+QH2cI4MTjd7E+99MG8ePspzVP c7u98N2099zjq4hzdxCvZ/wELje7eXHq/xgQp0yulbzEJNBUrt+R+PDWCYfZkw== 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=1695639675; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NhbpJXE/IEAxL9Q5QOK9WItg+8tbgySH1eXRvLhSMtc=; b=PzNYf7zva2lR7FJyLzd4OlgoQsnMU7bXywxNkfIzq7x+V1ziojDlWcwbLeTB02UG60SqUu MW9xs1sjuBOqZE8BySUgfGSKUd/fWIeh86PJgswYJnddhQdWsW0ASOxc4wCz+B69qkBa+1 lsBlkZ768BvTW2W34hBR5aZLe5W3j5vvwzp2jbRVP1gmfQTBi7X0mfy8jnEu1880Kfy3p4 mjhpow97bmpIbMtXTeQFUvQPfoLr/Nj43vErQA89b8CXFGvrXEq7cTtdib4JUAsH8yok2k YNHhgQKo1kUh6+ZI7dnnkPM1LKbeMioc1vQaUV19p2oc4WEzzzwtAaoOyrItIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKgH43H5z1QPZ; Mon, 25 Sep 2023 11:01: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 38PB1FRD053679; Mon, 25 Sep 2023 11:01:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB1Fos053676; Mon, 25 Sep 2023 11:01:15 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:15 GMT Message-Id: <202309251101.38PB1Fos053676@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: b549c8f9e6e0 - stable/13 - gicv3: Add a verbose message for unknown tables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: b549c8f9e6e093fbbddd1a160ef61351d0fe5110 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b549c8f9e6e093fbbddd1a160ef61351d0fe5110 commit b549c8f9e6e093fbbddd1a160ef61351d0fe5110 Author: Andrew Turner AuthorDate: 2023-08-22 11:30:50 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 10:50:36 +0000 gicv3: Add a verbose message for unknown tables Add a message under bootverbose when we find a gicv3 its table type that is unknown. Reviewed by: gallatin, imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41553 (cherry picked from commit 629734783de5212ea2a7cdc6a8fb7cf6834b1344) --- sys/arm64/arm64/gicv3_its.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index 59fce650c47e..74f2894d0a2c 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -534,6 +534,9 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) its_tbl_size = page_size; break; default: + if (bootverbose) + device_printf(dev, "Unhandled table type %lx\n", + type); continue; } npages = howmany(its_tbl_size, PAGE_SIZE); From nobody Mon Sep 25 11:01:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvKgK1vFwz4vNdS; Mon, 25 Sep 2023 11: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 4RvKgJ5smnz3NcY; Mon, 25 Sep 2023 11:01:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695639676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kCaA5xFxMMVCao2DJZ1Wq81JpWLHmrcJwuwdfKBgCJ8=; b=MhdB3OATHjZwcxRRRsOL1CbA8eSVPGpYatxn6lB43R9d9/wm7ZoQzoV8kc8GGIy36D2hqE oqnemPJB07xhsnavBadEWfZhGiesoOp4dVMGebWm6tVd8m3i+UQWHpFGFSzB2Sv9XSq+Di qLPJvOVObdmdC9l4T3WTCnaQCz4lX4N0Ow4JCP7MR+P1GNJPCKSYU3i5zF6vu1Ie2cmumr LhI7FI+qYIOVGomr/+KGd+x1NOxJ9FY2IfkiGxRqmahnC+nb7Tr9OMafLHZrQZZVuQ80Ny +ig4TYGnWwnyDBhdBEJVLCsrXrMSLVG89hUYuxYbYe9gaJswbJGcJrh7Fi0hww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695639676; a=rsa-sha256; cv=none; b=Bq/4CowTXp500pkQXEXrQpbBN4cunW6odxZB8FS6Ai+IgKyaGhfMOtJcfOne11lMT0qDAX etPbKLOiADPYHnKU6TsrZcMUE8ld/Ma2lgFRUSD7JMvf37MzzMeJ3cDwYl92YNoMnwV6xU mUdTOd8Z9oQifWYPmcaq5X9RjLRvMTnCmJLIKjg/fL0N7/ToSsrYYaQ05pgU0d0t/3Pszv ALokSWumutjquGkQYkPyOLqIAZtWssdGm/y9vWYqvOSh8gp8Qi+f/iQABLKIxFZ9BFLrGF meUggpzuoEVJsN+jarcsVmiSeELsKDeoZk8vWaIy70sDSQxwbg4o0ege5Sp0WQ== 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=1695639676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kCaA5xFxMMVCao2DJZ1Wq81JpWLHmrcJwuwdfKBgCJ8=; b=OK7Fi2RVbRCnmsC2sxW4guA/AVzmUT4CmCpbwMvvLS2FOeaRGMWbGdboLPOugUK4/LJZNE 1zG6iibCTVUTRGjH/+Okhq/tei9PkQlVThxgiCQ/DkCdpBH0CEuUuzdKEXH7Z2CAkRgGvR 33Cg9tpbo7Xzfrr3U0o1a4PyznEFPnVImmfPN+bJ9X2DiCL87PGuFgI3c2zATSZTimHU+W BZfe20CYl9JoTfO2D2uxmDYHvQp50GQ1+jRRfcchARojMoiC7lARqOmkwZi+iyuURMRAAu KDbvjQKXhfvNUa4CFg6ehycAylbihJj34ar1kepP/+qQl5qPMjETPtQ5DKaVRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvKgJ4y67z1QjW; Mon, 25 Sep 2023 11:01: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 38PB1Gll053727; Mon, 25 Sep 2023 11:01:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PB1GqW053724; Mon, 25 Sep 2023 11:01:16 GMT (envelope-from git) Date: Mon, 25 Sep 2023 11:01:16 GMT Message-Id: <202309251101.38PB1GqW053724@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: 107bb46b6cc2 - stable/13 - gicv3: Add checks for the device ID List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 107bb46b6cc238cc6257f80e58f8fa3c94df45e1 Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=107bb46b6cc238cc6257f80e58f8fa3c94df45e1 commit 107bb46b6cc238cc6257f80e58f8fa3c94df45e1 Author: Andrew Turner AuthorDate: 2023-08-22 14:37:19 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 10:50:56 +0000 gicv3: Add checks for the device ID Add checks that the device ID is supported by the hardware and is within the range allocated when the driver attaches. Reviewed by: gallatin, imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41554 (cherry picked from commit 7d2dd08d013d79dc3f2a22747b079628a571cea2) --- sys/arm64/arm64/gicv3_its.c | 48 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index 74f2894d0a2c..852db0054aa7 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -220,7 +220,10 @@ struct its_cmd { /* An ITS private table */ struct its_ptable { vm_offset_t ptab_vaddr; - unsigned long ptab_size; + /* Size of the L1 table */ + size_t ptab_l1_size; + /* Number of L1 entries */ + int ptab_l1_nidents; }; /* ITS collection description. */ @@ -244,6 +247,8 @@ struct gicv3_its_softc { cpuset_t sc_cpus; u_int gic_irq_cpu; + int sc_devbits; + int sc_dev_table_idx; struct its_ptable sc_its_ptab[GITS_BASER_NUM]; struct its_col *sc_its_cols[MAXCPU]; /* Per-CPU collections */ @@ -473,7 +478,8 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) vm_offset_t table; vm_paddr_t paddr; uint64_t cache, reg, share, tmp, type; - size_t esize, its_tbl_size, nidents, nitspages, npages; + size_t its_tbl_size, nitspages, npages; + size_t l1_esize, l1_nidents; int i, page_size; int devbits; @@ -502,6 +508,7 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) devbits = GITS_TYPER_DEVB(gic_its_read_8(sc, GITS_TYPER)); cache = GITS_BASER_CACHE_WAWB; } + sc->sc_devbits = devbits; share = GITS_BASER_SHARE_IS; for (i = 0; i < GITS_BASER_NUM; i++) { @@ -512,7 +519,7 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) continue; /* The table entry size */ - esize = GITS_BASER_ESIZE(reg); + l1_esize = GITS_BASER_ESIZE(reg); /* Find the tables page size */ page_size = gicv3_its_table_page_size(sc, i); @@ -524,8 +531,13 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) switch(type) { case GITS_BASER_TYPE_DEV: - nidents = (1 << devbits); - its_tbl_size = esize * nidents; + if (sc->sc_dev_table_idx != -1) + device_printf(dev, + "Warning: Multiple device tables found\n"); + + sc->sc_dev_table_idx = i; + l1_nidents = (1 << devbits); + its_tbl_size = l1_esize * l1_nidents; its_tbl_size = roundup2(its_tbl_size, page_size); break; case GITS_BASER_TYPE_VP: @@ -547,7 +559,8 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) PAGE_SIZE_64K, 0); sc->sc_its_ptab[i].ptab_vaddr = table; - sc->sc_its_ptab[i].ptab_size = npages * PAGE_SIZE; + sc->sc_its_ptab[i].ptab_l1_size = its_tbl_size; + sc->sc_its_ptab[i].ptab_l1_nidents = l1_nidents; paddr = vtophys(table); @@ -870,6 +883,7 @@ gicv3_its_attach(device_t dev) sc = device_get_softc(dev); + sc->sc_dev_table_idx = -1; sc->sc_irq_length = gicv3_get_nirqs(dev); sc->sc_irq_base = GIC_FIRST_LPI; sc->sc_irq_base += device_get_unit(dev) * sc->sc_irq_length; @@ -1188,6 +1202,23 @@ its_device_find(device_t dev, device_t child) return (its_dev); } +static bool +its_device_alloc(struct gicv3_its_softc *sc, int devid) +{ + struct its_ptable *ptable; + + /* No device table */ + if (sc->sc_dev_table_idx < 0) { + if (devid < (1 << sc->sc_devbits)) + return (true); + return (false); + } + + ptable = &sc->sc_its_ptab[sc->sc_dev_table_idx]; + /* Check the devid is within the table limit */ + return (devid < ptable->ptab_l1_nidents); +} + static struct its_dev * its_device_get(device_t dev, device_t child, u_int nvecs) { @@ -1213,6 +1244,11 @@ its_device_get(device_t dev, device_t child, u_int nvecs) its_dev->lpis.lpi_num = nvecs; its_dev->lpis.lpi_free = nvecs; + if (!its_device_alloc(sc, its_dev->devid)) { + free(its_dev, M_GICV3_ITS); + return (NULL); + } + if (vmem_alloc(sc->sc_irq_alloc, nvecs, M_FIRSTFIT | M_NOWAIT, &irq_base) != 0) { free(its_dev, M_GICV3_ITS); From nobody Mon Sep 25 12:01:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvM0y0kM1z4vRwh; Mon, 25 Sep 2023 12:01: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 4RvM0y06z8z3d5t; Mon, 25 Sep 2023 12:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695643298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XkbDyCpwkQcCIw4TlNr6nH7LaqrXTA0LJ74hZbQf020=; b=cj/DDonbxHULPVLcXDAsEefqoomZD9+XWSAUXwlYsEPnGh5BuUjxgJ5xhpGlsWTcXVDKwk 9Mpldma0NPhrrKwWmiiOsyNfDxNkUpEa1H0cfBZ/EZrFW78ighf8OEoAOStfLuiUNG6SMl DCSFYwcFDQFSHanC3JvGuiytImvW6FEA72KVEO3JrXirir+15L0V3/Kb7sno7YY82o3fiJ VjQhKcsBeJgf4tlw5wIGn1dq7toNFNOXWUyVsGVbCONvI+2XtHxbfYrERWn//HsF49EWi+ K4AD7THMLQdXfdQJ5Yr+Mgfhp4ymvvL+GYRk3uNAEIrdNcyTV+lytXVB1JZUSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695643298; a=rsa-sha256; cv=none; b=U/E13DhWuKDwIv7RRo/arvEYRp39YOZATFd2Gqenym41RooMzQdZ0vSQvqvWzdTWVJK5+Z /JasEFQy7FL3bImulpvtFHc2MRVgAgCHmaWL91PwFHkVqE1pecjt18gYMjrsFYYQ31uxa1 H6CmSNCAGGKjK18ZJu6zq6rNSJm10y0SSDhfaSQcSgaLi3vThPfBymT9uSr6PbGcg5uM6B awKMITsDxaNQOR5Kf1C8uG0kyDHQwp2LQySSl6vVWPKV8avv1wubgwXxu3OrypmHdSNg/X 2g9wQu5lBCRFcmDYjrAWg37bzWPTpDBbdcYHCUEr/6HVzKQQ6TjKUaThj1YZAw== 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=1695643298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XkbDyCpwkQcCIw4TlNr6nH7LaqrXTA0LJ74hZbQf020=; b=O2blKw2Bg7DOFkAoGLqjSt5XQPUsxS3b2qI7LoZ2lHxeBs9OU6fSRUddZnQ/kH1vIWhJvc 2U/1urSFrINokWgqOIorF6xSvdjmktDuU8wa5g2MTEgtAAn7MUujF7ksutgh4rp0AsJB55 zqNbPKABUizo+2Zrk/mnNR8bz+ctvGjS0SUoRwA+nDNuWkDKuwSp1zD4RKQUHF5kKjaIE8 lHH2SpFy8SZy38KTQDg9QwsAn89P3b9b2wY1WS9IbxWpjuzVVKVdjTYXJjMfEWIkMZQU8a EE1OUjwTQk1LYroWxQYYTXOjV4k2SRY9Mmn5C2k9T/lhWE6BPjoyBWKDMyvqpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvM0x6JMwz1Rv6; Mon, 25 Sep 2023 12:01: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 38PC1b98058679; Mon, 25 Sep 2023 12:01:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PC1bXr058676; Mon, 25 Sep 2023 12:01:37 GMT (envelope-from git) Date: Mon, 25 Sep 2023 12:01:37 GMT Message-Id: <202309251201.38PC1bXr058676@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: fce3bc6b46e0 - stable/14 - gicv3: Support indirect ITS tables List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: fce3bc6b46e0e2575b02a6de67f482a590430e61 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=fce3bc6b46e0e2575b02a6de67f482a590430e61 commit fce3bc6b46e0e2575b02a6de67f482a590430e61 Author: Andrew Turner AuthorDate: 2023-08-22 16:01:21 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 12:01:28 +0000 gicv3: Support indirect ITS tables The GICv3 ITS device supports two options for device tables. Currently we support a single table to hold all device IDs, however when the device ID space grows large this can be too large for the GITS_BASER register to describe. To handle this case, and to reduce the memory needed when this space is sparse support the second option, the indirect table. The indirect table is a 2 level table where the first level contains the physical address of the second with a valid bit. The second level is an ITS page sized table where each entry is the original entry size. As we don't need to allocate a second level table for devices IDs that don't exist this can reduce the allocation size. Reviewed by: gallatin Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41555 (cherry picked from commit 8b143276ae493c8f060159643d9d9cdc149e294a) --- sys/arm64/arm64/gic_v3_reg.h | 3 ++ sys/arm64/arm64/gicv3_its.c | 96 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 95 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/gic_v3_reg.h b/sys/arm64/arm64/gic_v3_reg.h index 6a766be3da2a..16b1cd438350 100644 --- a/sys/arm64/arm64/gic_v3_reg.h +++ b/sys/arm64/arm64/gic_v3_reg.h @@ -417,6 +417,8 @@ #define GITS_BASER_SIZE_MASK 0xFFUL #define GITS_BASER_NUM 8 +/* Size of entries in a level 1 indirect table */ +#define GITS_INDIRECT_L1_ESIZE 8 #define GITS_TYPER (0x0008) #define GITS_TYPER_HCC_SHIFT 24 @@ -433,6 +435,7 @@ ((((x) & GITS_TYPER_ITTES_MASK) >> GITS_TYPER_ITTES_SHIFT) + 1) #define GITS_TRANSLATER (0x10040) + /* * LPI related */ diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index cb655eaca412..a126a166c4c9 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -1,5 +1,6 @@ /*- * Copyright (c) 2015-2016 The FreeBSD Foundation + * Copyright (c) 2023 Arm Ltd * * This software was developed by Andrew Turner under * the sponsorship of the FreeBSD Foundation. @@ -221,10 +222,16 @@ struct its_cmd { /* An ITS private table */ struct its_ptable { vm_offset_t ptab_vaddr; - /* Size of the L1 table */ + /* Size of the L1 and L2 tables */ size_t ptab_l1_size; - /* Number of L1 entries */ + size_t ptab_l2_size; + /* Number of L1 and L2 entries */ int ptab_l1_nidents; + int ptab_l2_nidents; + + int ptab_page_size; + int ptab_share; + bool ptab_indirect; }; /* ITS collection description. */ @@ -475,6 +482,23 @@ gicv3_its_table_page_size(struct gicv3_its_softc *sc, int table) } } +static bool +gicv3_its_table_supports_indirect(struct gicv3_its_softc *sc, int table) +{ + uint64_t reg; + + reg = gic_its_read_8(sc, GITS_BASER(table)); + + /* Try setting the indirect flag */ + reg |= GITS_BASER_INDIRECT; + gic_its_write_8(sc, GITS_BASER(table), reg); + + /* Read back to check */ + reg = gic_its_read_8(sc, GITS_BASER(table)); + return ((reg & GITS_BASER_INDIRECT) != 0); +} + + static int gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) { @@ -482,9 +506,10 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) vm_paddr_t paddr; uint64_t cache, reg, share, tmp, type; size_t its_tbl_size, nitspages, npages; - size_t l1_esize, l1_nidents; + size_t l1_esize, l2_esize, l1_nidents, l2_nidents; int i, page_size; int devbits; + bool indirect; if ((sc->sc_its_flags & ITS_FLAGS_ERRATA_CAVIUM_22375) != 0) { /* @@ -532,6 +557,9 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) return (EINVAL); } + indirect = false; + l2_nidents = 0; + l2_esize = 0; switch(type) { case GITS_BASER_TYPE_DEV: if (sc->sc_dev_table_idx != -1) @@ -540,6 +568,23 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) sc->sc_dev_table_idx = i; l1_nidents = (1 << devbits); + if ((l1_esize * l1_nidents) > (page_size * 2)) { + indirect = + gicv3_its_table_supports_indirect(sc, i); + if (indirect) { + /* + * Each l1 entry is 8 bytes and points + * to an l2 table of size page_size. + * Calculate how many entries this is + * and use this to find how many + * 8 byte l1 idents we need. + */ + l2_esize = l1_esize; + l2_nidents = page_size / l2_esize; + l1_nidents = l1_nidents / l2_nidents; + l1_esize = GITS_INDIRECT_L1_ESIZE; + } + } its_tbl_size = l1_esize * l1_nidents; its_tbl_size = roundup2(its_tbl_size, page_size); break; @@ -564,6 +609,11 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) sc->sc_its_ptab[i].ptab_vaddr = table; sc->sc_its_ptab[i].ptab_l1_size = its_tbl_size; sc->sc_its_ptab[i].ptab_l1_nidents = l1_nidents; + sc->sc_its_ptab[i].ptab_l2_size = page_size; + sc->sc_its_ptab[i].ptab_l2_nidents = l2_nidents; + + sc->sc_its_ptab[i].ptab_indirect = indirect; + sc->sc_its_ptab[i].ptab_page_size = page_size; paddr = vtophys(table); @@ -578,6 +628,7 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) GITS_BASER_SIZE_MASK); /* Set the new values */ reg |= GITS_BASER_VALID | + (indirect ? GITS_BASER_INDIRECT : 0) | (cache << GITS_BASER_CACHE_SHIFT) | (type << GITS_BASER_TYPE_SHIFT) | paddr | (share << GITS_BASER_SHARE_SHIFT) | @@ -618,6 +669,7 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc) return (ENXIO); } + sc->sc_its_ptab[i].ptab_share = share; /* We should have made all needed changes */ break; } @@ -1218,6 +1270,10 @@ static bool its_device_alloc(struct gicv3_its_softc *sc, int devid) { struct its_ptable *ptable; + vm_offset_t l2_table; + uint64_t *table; + uint32_t index; + bool shareable; /* No device table */ if (sc->sc_dev_table_idx < 0) { @@ -1228,7 +1284,39 @@ its_device_alloc(struct gicv3_its_softc *sc, int devid) ptable = &sc->sc_its_ptab[sc->sc_dev_table_idx]; /* Check the devid is within the table limit */ - return (devid < ptable->ptab_l1_nidents); + if (!ptable->ptab_indirect) { + return (devid < ptable->ptab_l1_nidents); + } + + /* Check the devid is within the allocated range */ + index = devid / ptable->ptab_l2_nidents; + if (index >= ptable->ptab_l1_nidents) + return (false); + + table = (uint64_t *)ptable->ptab_vaddr; + /* We have an second level table */ + if ((table[index] & GITS_BASER_VALID) != 0) + return (true); + + shareable = true; + if ((ptable->ptab_share & GITS_BASER_SHARE_MASK) == GITS_BASER_SHARE_NS) + shareable = false; + + l2_table = (vm_offset_t)contigmalloc_domainset(ptable->ptab_l2_size, + M_GICV3_ITS, sc->sc_ds, M_WAITOK | M_ZERO, 0, (1ul << 48) - 1, + ptable->ptab_page_size, 0); + + if (!shareable) + cpu_dcache_wb_range((vm_offset_t)l2_table, + ptable->ptab_l2_size); + + table[index] = vtophys(l2_table) | GITS_BASER_VALID; + if (!shareable) + cpu_dcache_wb_range((vm_offset_t)&table[index], + sizeof(table[index])); + + dsb(sy); + return (true); } static struct its_dev * From nobody Mon Sep 25 12:01:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvM0z2CGkz4vRgl; Mon, 25 Sep 2023 12:01: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 4RvM0z1LSDz3dMH; Mon, 25 Sep 2023 12:01:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695643299; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cq7KZmRLxEkbSE572+LAieCfoFex4L5jlPxblMtMPVs=; b=iq/aoJCQonefab9AKvfGFi/2zNf4nd+hAPqC8o02vTpqy31awDSo8w2MQeU0NcUpOTGIcd tGRR7iSYqyQ8kr8mTwrJ7makkgx3OKAOk3BVpgni7J8PFaoYQt7Hfs0xfQE7TKrvfqY+uY hr9NEhkjSUZTrjvhqhsIvsynrjTlbWJtLcVrT005D2WDFvhe2BElur4lgxA4yJ/dgf4eV4 basPIbYaXPBL9JJfXP1dN+XBHdFZ+O+NGhjQldp+RvecpmVOswvKZFmHZRe5V6vclht+E4 akqHxtGd+r6oozs04fxsR/AmPc1RDClxcg18Fvtep6ZQeH8e/IP1iEUAfJ8FDQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695643299; a=rsa-sha256; cv=none; b=OUDT7A6TIshNSgGx7JJtCTxdL9/iuQR0TgV9ojr9uAP8rvnaOvxEOXQ4c0v8knKJLKK5Iy 2R8w5rPvDqVkj1aW9uz3EM5vUvHJiwZS0Q5ZPXYKoY4S1M1ZIgeK+bS/RJhkRj5qhQrjcV 1eTPNn7s/uV1Nu/G1OodptsK43c0RSLEphYLMSwPRvveYQPdhTggGDutt6hJIeshHR8IPh bgKYMODro0O2dIbIuAWGnpRqnGn9RZPOvmRrnJnLY898VbarJbac2cH7+MG1R5/HRN6WKR FK8wso6Z5Yh0C49LiMRlIm6NyVcOgdAkRXkU+wEWBxQdTDeNHjqusKDToeTzzA== 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=1695643299; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cq7KZmRLxEkbSE572+LAieCfoFex4L5jlPxblMtMPVs=; b=bV9WhYssDlY2OMESn2pn9gasyr6EsbwbuQzts2cyMx1YA8ok3pDPX5QSulcPm43hBBqVDp Z4st8pt5gIHNAfZ9P2s1OkE5Hw6Y5P99bfH6UBruTVVlAXrM1RhF9tE0MKu6zp4N34aF8u JNWBkebCHz0sPdGM/JT9WbTQ+1iUr0FM/pyLKZBx52EkSexAhAMVkZC3pSop/2dJuGQHk+ nHNfd0ChkvSYEToOwmNUKgm3W/mJhJ8++NIXk38DAYzJbl/4SxjTTF6dFuSK566hxz3gs/ Apb/fJKH16FsqJqP35622qKJToTLP4E5ORcqKlMWxCzcZl1l2keFLSVS8YgMoQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvM0z0984z1Rv7; Mon, 25 Sep 2023 12:01: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 38PC1ckl058727; Mon, 25 Sep 2023 12:01:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PC1cpY058724; Mon, 25 Sep 2023 12:01:38 GMT (envelope-from git) Date: Mon, 25 Sep 2023 12:01:38 GMT Message-Id: <202309251201.38PC1cpY058724@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: fc7460a5ca4b - stable/14 - gicv3: Add logging for when its_device_alloc fails List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: fc7460a5ca4bddfd54cb093a7eea70c491650d21 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=fc7460a5ca4bddfd54cb093a7eea70c491650d21 commit fc7460a5ca4bddfd54cb093a7eea70c491650d21 Author: Andrew Turner AuthorDate: 2023-08-23 17:44:38 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 12:01:28 +0000 gicv3: Add logging for when its_device_alloc fails Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41566 (cherry picked from commit 5429e194212e7d2fd7b4771bcf348f0917a0d505) --- sys/arm64/arm64/gicv3_its.c | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c index a126a166c4c9..777e20649f33 100644 --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -1277,21 +1277,44 @@ its_device_alloc(struct gicv3_its_softc *sc, int devid) /* No device table */ if (sc->sc_dev_table_idx < 0) { - if (devid < (1 << sc->sc_devbits)) - return (true); - return (false); + if (devid >= (1 << sc->sc_devbits)) { + if (bootverbose) { + device_printf(sc->dev, + "%s: Device out of range for hardware " + "(%x >= %x)\n", __func__, devid, + 1 << sc->sc_devbits); + } + return (false); + } + return (true); } ptable = &sc->sc_its_ptab[sc->sc_dev_table_idx]; /* Check the devid is within the table limit */ if (!ptable->ptab_indirect) { - return (devid < ptable->ptab_l1_nidents); + if (devid >= ptable->ptab_l1_nidents) { + if (bootverbose) { + device_printf(sc->dev, + "%s: Device out of range for table " + "(%x >= %x)\n", __func__, devid, + ptable->ptab_l1_nidents); + } + return (false); + } + + return (true); } /* Check the devid is within the allocated range */ index = devid / ptable->ptab_l2_nidents; - if (index >= ptable->ptab_l1_nidents) + if (index >= ptable->ptab_l1_nidents) { + if (bootverbose) { + device_printf(sc->dev, + "%s: Index out of range for table (%x >= %x)\n", + __func__, index, ptable->ptab_l1_nidents); + } return (false); + } table = (uint64_t *)ptable->ptab_vaddr; /* We have an second level table */ From nobody Mon Sep 25 12:01:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvM103325z4vRcp; Mon, 25 Sep 2023 12:01: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 4RvM102TFTz3dBS; Mon, 25 Sep 2023 12:01:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695643300; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vvlsU8icyfHFyFuoEUx3oCQIl1UlqN7slXpg5hV/GKM=; b=ehq2Beq1+dVFvxFOTmGu845LyePfYkLaxN8Or5PGQ0VQXrHs47Y7tfqhEPhYL7baee4Wfg 3hM85UiauizKRlYMXOuUUd5k0cXVG1z55lGKGv2ljoVZblLUQ/QV3gD8HR2JEfHKoBOczq eZQ/fIiEsyvEtfuRA2qM4vC4R2lqv2V+k6svtlbsgpa9B+L6wkNAs9E/3ZMx6nyK6jBznq SMADhBIKtQYcz2+6cycz8hFMKAjkLZY2xqL+LjW/w5I8QLzW6JJ1DWFam+nPQVACpohY2I pUXBJtXFBC/YisWX0iW+zRHg5SITw3b+Q8GJKkgXFHsEtTyBs2dMuoyD0R4F1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695643300; a=rsa-sha256; cv=none; b=LWYpWGV+TkwCXPvYiUOMeDwehdg60asg+Lq0BNBv5mrbUVhOEh9uy6pJuyLoD7yPNPc4oR bHF1kgImMUKyMYELBut6NIaRJYTRX428kZz58lbSPsZPv3ZctT73Yuo/NLjWsz3KM+MJpL 1Y8/ogMOl9X58Q5h9FW+SOCy5dwPObNeXDSdmjW3ac3y+VtZkL6nRKkeKjapfDAAd86qlF eevWlXR9DN4bdmvcKL6jAefTsVYeoGWOG5btoYxiGJpGJiPcpQ6duBfXujyZE+2hDAWRHF IemXGcJdRsmYlRExhu84cMlLHubBG5t1vMvLeThOMfxizCgmSJMcnc47m0K6wA== 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=1695643300; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vvlsU8icyfHFyFuoEUx3oCQIl1UlqN7slXpg5hV/GKM=; b=N9HpojM8Dq7tQYMebEQTxe3MFtGKuJurjJ/n+bIBr/wL/GuKSAOFdLfqWabdWY+GZW8BMA PFvo6zxiNWgu6136xbL0ouO3Jcnr7pP77GKKX8dnTjVWPOW76mJu7bmsEnG3nVxifIXgxP 4Mb+Lqw4sMvKKDpDtLK9MsCs8odNajjpeUg2zm/fTUsXBKc1QblSYqnCWqzoN5bJwKc4Ld gEJa7xF3MkfyNs8rn6aZ3vDM6r32qki7F/wOE5ZH7lxatCUzFTbSQsv1MnJC46wRUF2pnf /DZFkPZRMGG/yXmBKvabz7cXnWyzsxL0GHaJy6Mh35yvyt669cSQXjw7jJ9+8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvM101BX9z1Rjj; Mon, 25 Sep 2023 12:01: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 38PC1eHJ058778; Mon, 25 Sep 2023 12:01:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PC1eXE058775; Mon, 25 Sep 2023 12:01:40 GMT (envelope-from git) Date: Mon, 25 Sep 2023 12:01:40 GMT Message-Id: <202309251201.38PC1eXE058775@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: caf7bc535622 - stable/14 - arm64: Fix errata workarounds that depend on smccc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: caf7bc535622ee7baeffc3366db8bf0e896aa018 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=caf7bc535622ee7baeffc3366db8bf0e896aa018 commit caf7bc535622ee7baeffc3366db8bf0e896aa018 Author: Andrew Turner AuthorDate: 2023-09-18 16:34:51 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 12:01:28 +0000 arm64: Fix errata workarounds that depend on smccc Some arm64 errata depend on calling into the firmware via the SMCCC interface. This needs to happen after the psci driver has attached as they share the interface. Fix this by allowing the workarounds to mark when they depend on device drivers attaching. This is only an issue on CPU 0 as the workarounds are applied later for the non-boot CPUs. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41916 (cherry picked from commit c643e82dba0b17b2716de4c9d44a3c9c547cbbd5) (cherry picked from commit 843bea18711d726cd2f0a3c3f9144b218e4de3e8) --- sys/arm64/arm64/cpu_errata.c | 50 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/cpu_errata.c b/sys/arm64/arm64/cpu_errata.c index 38148ff7066c..fee22240bb0e 100644 --- a/sys/arm64/arm64/cpu_errata.c +++ b/sys/arm64/arm64/cpu_errata.c @@ -47,6 +47,9 @@ struct cpu_quirks { cpu_quirk_install *quirk_install; u_int midr_mask; u_int midr_value; +#define CPU_QUIRK_POST_DEVICE (1 << 0) /* After device attach */ + /* e.g. needs SMCCC */ + u_int flags; }; static enum { @@ -64,32 +67,38 @@ static struct cpu_quirks cpu_quirks[] = { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A57,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A72,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A73,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A75,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_CAVIUM, CPU_PART_THUNDERX2, 0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = 0, .midr_value = 0, .quirk_install = install_ssbd_workaround, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, @@ -173,8 +182,8 @@ install_thunderx_bcast_tlbi_workaround(void) } } -void -install_cpu_errata(void) +static void +install_cpu_errata_flags(u_int mask, u_int flags) { u_int midr; size_t i; @@ -183,8 +192,43 @@ install_cpu_errata(void) for (i = 0; i < nitems(cpu_quirks); i++) { if ((midr & cpu_quirks[i].midr_mask) == - cpu_quirks[i].midr_value) { + cpu_quirks[i].midr_value && + (cpu_quirks[i].flags & mask) == flags) { cpu_quirks[i].quirk_install(); } } } + +/* + * Install any CPU errata we need. On CPU 0 we only install the errata that + * don't depend on device drivers as this is called early in the boot process. + * On other CPUs the device drivers have already attached so install all + * applicable errata. + */ +void +install_cpu_errata(void) +{ + /* + * Only install early CPU errata on CPU 0, device drivers may not + * have attached and some workarounds depend on them, e.g. to query + * SMCCC. + */ + if (PCPU_GET(cpuid) == 0) { + install_cpu_errata_flags(CPU_QUIRK_POST_DEVICE, 0); + } else { + install_cpu_errata_flags(0, 0); + } +} + +/* + * Install any errata workarounds that depend on device drivers, e.g. use + * SMCCC to install a workaround. + */ +static void +install_cpu_errata_late(void *dummy __unused) +{ + MPASS(PCPU_GET(cpuid) == 0); + install_cpu_errata_flags(CPU_QUIRK_POST_DEVICE, CPU_QUIRK_POST_DEVICE); +} +SYSINIT(install_cpu_errata_late, SI_SUB_CONFIGURE, SI_ORDER_MIDDLE, + install_cpu_errata_late, NULL); From nobody Mon Sep 25 12:01:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvM115lwtz4vRgp; Mon, 25 Sep 2023 12:01: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 4RvM1137mSz3dQB; Mon, 25 Sep 2023 12:01:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695643301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+JNVQkLzvXtE6+UsGDawbAsYZKNxibpwyoZfej4GWLs=; b=a0uaImjyQbHzD7M1E/I+YBd2c9H1Mh1EVDksWgJVFD0SdI+jRbqmBuDJzpKT9t4QkkS9xk nZHkHOpqyrxSi9a5xkZZLFYnkv1vNoA2ASYfbq5XDkJLtbfBmz72caszNrJ+4+xAaQMxQD R1GowcIddFcD16IRUWcyvs0gGWyl5Zyb3vHrAleDzG8UyoSqlq8QonJKGvo60SHeg4FyM5 KYxxxaHqUw03WgorLRHCsRySMb2ZKm9aFZPcyp6u5mLQEZqQl+TDXFz6RTSbheT20Z/MFh BwonQjA88J8B5+Yw97/vMu6nqHwcmztS4GKGhL1QHoKpGmEe6Z2n5APoJGMiMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695643301; a=rsa-sha256; cv=none; b=ptpfYD0+fqq59DdF3fqUSyhPfBGwVunp/Np4hiTjPSn8zQfvqLNlm9cktE7b0hz0S6Anqd y29ExHgm9YU6Vmf+OSP19XrncXKcKFSbuAdG4VACkYCiNaiG3Hnly29pXTbDhgVRntqmkj /+76vY0bZHo/99L4C62P+7AEmUvsHKCnM6TU7QwscB3VDmcYGHtLX3Td686qaTvE5EX1Z2 oN02NPcoaEL2c9R9GV4EaCbR+iWiVR94IwZS9opXZmKW6erbDKMrK5ljgmROCkNPBX2fff 8dZJWtTlbs+55YvLOStAp+ye7bf+AOu+ZH5ljOZhvH7IIwlSVXMziAaDG/fzPQ== 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=1695643301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+JNVQkLzvXtE6+UsGDawbAsYZKNxibpwyoZfej4GWLs=; b=vwjLemzgPJl8tKv2dArzw5kXmIdtZ0fakcAz7hIcNIcd0mbGBWuSDXutDaMSw3YUmIIvxg YPuMFKj7ssZXybcqzMO4Es//a4U8FHRj69nq8SMuBo72rsLt849OR0xNdcLgpTySulI95Q r4qwF5x1/iuS7CYnPqVWro9iBYZ+M18myklse4O/IgUrXdt3WgyggvGxyPhtLwZL+ur/ix Da8HS1GEph/1UXFV6ve34/sykw4Kx2d1cLNF2/eVdntXXBpk1npyP0NvYaS9Dc32+83caF fBeRxNIMNZKXoV8+FeIDVurKMUc54k0sC+C/S5NmWSgrfz6vTwqq/sJaWdpgNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvM112DV2z1Rc8; Mon, 25 Sep 2023 12:01: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 38PC1fDL058823; Mon, 25 Sep 2023 12:01:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PC1f98058820; Mon, 25 Sep 2023 12:01:41 GMT (envelope-from git) Date: Mon, 25 Sep 2023 12:01:41 GMT Message-Id: <202309251201.38PC1f98058820@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: 5df4deb384d3 - stable/14 - vtgpu: Fix the physical memory size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 5df4deb384d3af12b10bc6de0788578d6a56e207 Auto-Submitted: auto-generated The branch stable/14 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5df4deb384d3af12b10bc6de0788578d6a56e207 commit 5df4deb384d3af12b10bc6de0788578d6a56e207 Author: Andrew Turner AuthorDate: 2023-09-21 10:50:29 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 12:01:28 +0000 vtgpu: Fix the physical memory size Use the correct endian switching function when switching to a little endian 64-bit address. Even on a little-endian machine this will truncate the address to a 32-bit value. Sponsored by: Arm Ltd (cherry picked from commit 4386935191c576fa62a52d52734e264fe8329a67) --- sys/dev/virtio/gpu/virtio_gpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/virtio/gpu/virtio_gpu.c b/sys/dev/virtio/gpu/virtio_gpu.c index 0472bc98b3ba..6209fe4beae1 100644 --- a/sys/dev/virtio/gpu/virtio_gpu.c +++ b/sys/dev/virtio/gpu/virtio_gpu.c @@ -565,7 +565,7 @@ vtgpu_attach_backing(struct vtgpu_softc *sc) s.req.backing.resource_id = htole32(VTGPU_RESOURCE_ID); s.req.backing.nr_entries = htole32(1); - s.req.mem[0].addr = htole32(sc->vtgpu_fb_info.fb_pbase); + s.req.mem[0].addr = htole64(sc->vtgpu_fb_info.fb_pbase); s.req.mem[0].length = htole32(sc->vtgpu_fb_info.fb_size); error = vtgpu_req_resp(sc, &s.req, sizeof(s.req), &s.resp, From nobody Mon Sep 25 12:19:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvMQ26n3rz4rGJF; Mon, 25 Sep 2023 12:19: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 4RvMQ26HCjz3gWC; Mon, 25 Sep 2023 12:19:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695644394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oS3YtkzMSQ5IhvBlvAv042wzSw5PimWCOSnDGbwcOUI=; b=vkdLaqKxEDSHEVVeIE6crPO/einlxjI2F3Fj0dqL6uquOe1MbvkyoK6c9GPhpWh6qGoHxj 94lm/9wmz1w52WBr1awn03S2t27QBcuabxf+A/vkyPtG7BPeT+XJSG8T3WQ0YBJimC/ih6 ELW+ng4YHxiaeh1Rbw+I3X+s0SyQxHExHN2ZEzcqKuPn2/9qV0/FmnmptqvruPqZFpTtw8 TCTZ2oyBG8cTIFHYxcDJUB7iPopFT1MX6KDhc+xas+ZehVS47gwCabKJ6hlslL8I4htLmK e2kZbq6pQHg6O1g+mT2+ybV+Je608NidjC4bjsDdLTlwYyRbLqbFY68Y7eC1Mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695644394; a=rsa-sha256; cv=none; b=m83c/haeARklobA6vDeru0+kJJya9s/IgOl4sfSt10Z1b/M0JukqWMKhEi8edyOQFTwLr4 YoK9U61KUNyySa7KAKckWRGKEUsxa+ecz5JvcdNE4qE8bgjKLYaUo/J7/sUeMKMQwn5RUG XHiD+jHMJNiUu22B85+YcDN9LhpEJJEW6lUaw82t4gpezfwrZbSmS9Buvsw1IrDJ7YH9X2 mZsYJr4mpiHkguHijEpQU/8R65dTv8pQ7MPozCnWma0vufXYQlRbXEvzVMFSbyTsRu1eEK xYsSAz2qDukZ2jNaD8dpTA4wJPO32Dwqvm8CaO4HwT9r0mbcVsu3frurd4Vsvw== 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=1695644394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oS3YtkzMSQ5IhvBlvAv042wzSw5PimWCOSnDGbwcOUI=; b=hpNRSSjIFpuzgJFNe2Zwr/6UOF27SbrVQzjHYi6qTP0XM1m6NwkIqLRi6mYGDdPCZsxIkB I801R6Ykd26CyJS45DIt3Qzk8kFqzsUKce/6VdQhoPbo4Nt7JBzJSApuItUTjgsFo9Sdhc AbBFbKcH41+drfjDc50Ca8zaYF/EzIgjx1n9aFqltSob4E/ImeTzpjNtiaVPcDvjwhPkTY za2ZL7ZfxTHmmwmdSqaSDPB7BLI3HtisxTHL6MhGnnw5/1YjTC2mHJDzj00wfCUMivYnXL BNAAJZtLsJBTDzwFjrkA+bXo4DBk4n6tcs2n2PsUgEURXlKq8jjtQS3uv2S5rA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvMQ25Kkyz1SJ6; Mon, 25 Sep 2023 12:19:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38PCJs5L078342; Mon, 25 Sep 2023 12:19:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PCJs7X078339; Mon, 25 Sep 2023 12:19:54 GMT (envelope-from git) Date: Mon, 25 Sep 2023 12:19:54 GMT Message-Id: <202309251219.38PCJs7X078339@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: 4df1447f2c76 - stable/13 - arm64: Fix errata workarounds that depend on smccc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 4df1447f2c76d0db988197f3a05d48e15f976c7c Auto-Submitted: auto-generated The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4df1447f2c76d0db988197f3a05d48e15f976c7c commit 4df1447f2c76d0db988197f3a05d48e15f976c7c Author: Andrew Turner AuthorDate: 2023-09-18 16:34:51 +0000 Commit: Andrew Turner CommitDate: 2023-09-25 12:13:47 +0000 arm64: Fix errata workarounds that depend on smccc Some arm64 errata depend on calling into the firmware via the SMCCC interface. This needs to happen after the psci driver has attached as they share the interface. Fix this by allowing the workarounds to mark when they depend on device drivers attaching. This is only an issue on CPU 0 as the workarounds are applied later for the non-boot CPUs. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41916 (cherry picked from commit c643e82dba0b17b2716de4c9d44a3c9c547cbbd5) (cherry picked from commit 843bea18711d726cd2f0a3c3f9144b218e4de3e8) --- sys/arm64/arm64/cpu_errata.c | 50 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/cpu_errata.c b/sys/arm64/arm64/cpu_errata.c index 38148ff7066c..fee22240bb0e 100644 --- a/sys/arm64/arm64/cpu_errata.c +++ b/sys/arm64/arm64/cpu_errata.c @@ -47,6 +47,9 @@ struct cpu_quirks { cpu_quirk_install *quirk_install; u_int midr_mask; u_int midr_value; +#define CPU_QUIRK_POST_DEVICE (1 << 0) /* After device attach */ + /* e.g. needs SMCCC */ + u_int flags; }; static enum { @@ -64,32 +67,38 @@ static struct cpu_quirks cpu_quirks[] = { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A57,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A72,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A73,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A75,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_CAVIUM, CPU_PART_THUNDERX2, 0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = 0, .midr_value = 0, .quirk_install = install_ssbd_workaround, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, @@ -173,8 +182,8 @@ install_thunderx_bcast_tlbi_workaround(void) } } -void -install_cpu_errata(void) +static void +install_cpu_errata_flags(u_int mask, u_int flags) { u_int midr; size_t i; @@ -183,8 +192,43 @@ install_cpu_errata(void) for (i = 0; i < nitems(cpu_quirks); i++) { if ((midr & cpu_quirks[i].midr_mask) == - cpu_quirks[i].midr_value) { + cpu_quirks[i].midr_value && + (cpu_quirks[i].flags & mask) == flags) { cpu_quirks[i].quirk_install(); } } } + +/* + * Install any CPU errata we need. On CPU 0 we only install the errata that + * don't depend on device drivers as this is called early in the boot process. + * On other CPUs the device drivers have already attached so install all + * applicable errata. + */ +void +install_cpu_errata(void) +{ + /* + * Only install early CPU errata on CPU 0, device drivers may not + * have attached and some workarounds depend on them, e.g. to query + * SMCCC. + */ + if (PCPU_GET(cpuid) == 0) { + install_cpu_errata_flags(CPU_QUIRK_POST_DEVICE, 0); + } else { + install_cpu_errata_flags(0, 0); + } +} + +/* + * Install any errata workarounds that depend on device drivers, e.g. use + * SMCCC to install a workaround. + */ +static void +install_cpu_errata_late(void *dummy __unused) +{ + MPASS(PCPU_GET(cpuid) == 0); + install_cpu_errata_flags(CPU_QUIRK_POST_DEVICE, CPU_QUIRK_POST_DEVICE); +} +SYSINIT(install_cpu_errata_late, SI_SUB_CONFIGURE, SI_ORDER_MIDDLE, + install_cpu_errata_late, NULL); From nobody Mon Sep 25 12:27:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvMZD50Y1z4rGwH; Mon, 25 Sep 2023 12:27: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 4RvMZD4WVDz4Dcf; Mon, 25 Sep 2023 12:27:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695644820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gCIuahURrEKqWykTbvP+Nnw+xQPSt5i/0E3oyCSjAzk=; b=AYndginWAKVj2cciAyyj2/F1u9BpVGYZ0oFvUc69475FDL4F81FuVdwYuEev/SHEs3w0Fc HYPSWq2t1AAlrZ9u48p904jIRkU3NHE0N1kZ9OQfWrhDCI0CVeX6BFVQufmk0GiJb2NOtY eTlJNuVGZ2kt6rn8fKXoaEBCQhXNbMkGJj9XLLxGEIYkLV/mz50MEV46Qtnwnp6ePfUr5x Y2HLNilephz/iDcip1htB3RXcgkB8jbsdczP833OzLC95vZYR1cOTILvLDZtWO1NaEBPtZ 69A19dwHHRD/qsjoXL0vVH2zwBOjtUpuiYKrzlxHRAFqLl4PLHPHuX/v+C0aOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695644820; a=rsa-sha256; cv=none; b=hr84eKPCjhA5Y5cZ2gJqagcgwuqntNjZgprFd5vq+zCYC5q7sSZEJK17Kb2CNl3gHQNRkN 4B9DO0O0RHV0/GT82lARZ9yvd7SIGXNmfzLtTeLvDJjBko7yiArRxciIPGa3MpJoO/d1nK q8qwvif/8vjtCExxwNA7dAFDlAxueLHjV2OwFmwtt/07KoCEVv9ZlElSQRakve/rYAwfwP iesmrNrs5pUwIJukRfKtFqViaMKbzcV4yM52DIpMnBxe+NQBBxTR04adatxWJ/cz6nHEv8 aXwgRH3Z/O00Fcv8n5f3qhC/3inRNIg3+9853XMlZQEzz6WohxadfbcfY5JTAA== 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=1695644820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gCIuahURrEKqWykTbvP+Nnw+xQPSt5i/0E3oyCSjAzk=; b=oYxISg5u4AAG4omWX+ILysd3EmwSDi2m14g9Dl1yzfH7ezFbvY5s7E/zAFC83Ygvp4wA84 ntx8OrayylO6gfkKWZkjz0X1YlepXu5kljd6QnxdyZ1fRAQIyey/gpg19a9GL+iPQY9/sh K4tyH+qHH07Rmsy1FbBAZuOcW95o7X6aYUdL7L015JLvhJLVt3svEOtGqeMWNybsuwAO17 lzFp2AfcgTvuBbcnv0bN0Pd2/OJpCmu8aRpsaUrfIR+s0udhde0pp7PUgGU48k1oM9X1gQ QfXyyhHIex3k2Y1nE5nUkixN72XWAEFAkzpcqAONQWDae3oGk7XHekMFBmW/gQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvMZD3Snwz1S7M; Mon, 25 Sep 2023 12:27: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 38PCR0fC094538; Mon, 25 Sep 2023 12:27:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PCR0UK094535; Mon, 25 Sep 2023 12:27:00 GMT (envelope-from git) Date: Mon, 25 Sep 2023 12:27:00 GMT Message-Id: <202309251227.38PCR0UK094535@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: ed82385135cc - stable/14 - pf: fix state leak List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: ed82385135cca73ab0416600269ace3e5bb4cd6c Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ed82385135cca73ab0416600269ace3e5bb4cd6c commit ed82385135cca73ab0416600269ace3e5bb4cd6c Author: Kristof Provost AuthorDate: 2023-09-06 07:58:07 +0000 Commit: Kristof Provost CommitDate: 2023-09-25 12:10:59 +0000 pf: fix state leak If we hit the csfailed case in pf_create_state() we may have allocated a state, so we must also free it. While here reduce the amount of duplicated cleanup code. MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D41772 (cherry picked from commit b6ce41118bb11d3db86eae8fbebc8c198e8b330d) --- sys/netpfil/pf/pf.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index a5d7c1ba0155..7cee0833072b 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -4881,13 +4881,8 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if (r->rt) { /* pf_map_addr increases the reason counters */ if ((reason = pf_map_addr(pd->af, r, pd->src, &s->rt_addr, - &s->rt_kif, NULL, &sn)) != 0) { - pf_src_tree_remove_state(s); - s->timeout = PFTM_UNLINKED; - STATE_DEC_COUNTERS(s); - pf_free_state(s); + &s->rt_kif, NULL, &sn)) != 0) goto csfailed; - } s->rt = r->rt; } @@ -4946,11 +4941,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, (pd->dir == PF_IN) ? sk : nk, (pd->dir == PF_IN) ? nk : sk, s)) { REASON_SET(&reason, PFRES_STATEINS); - pf_src_tree_remove_state(s); - s->timeout = PFTM_UNLINKED; - STATE_DEC_COUNTERS(s); - pf_free_state(s); - return (PF_DROP); + goto drop; } else *sm = s; @@ -5019,6 +5010,14 @@ csfailed: PF_SRC_NODE_UNLOCK(nsn); } +drop: + if (s != NULL) { + pf_src_tree_remove_state(s); + s->timeout = PFTM_UNLINKED; + STATE_DEC_COUNTERS(s); + pf_free_state(s); + } + return (PF_DROP); } From nobody Mon Sep 25 12:27:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvMZQ74nmz4rGjn; Mon, 25 Sep 2023 12:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RvMZQ6N01z4DfK; Mon, 25 Sep 2023 12:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695644830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/5W4nFLdXzyOcI04+OR6c+5fqvkYxieRSo0Vfpf180A=; b=pqNg1GVqGyw3A3tp5JphH815ni+xAGGusil1tupgoVHaPM3wSRHVhWCwYwtZ3rwlP6m1mK UnuDAeNuKhy/nqTj/38Ckymb1NDtHSoJz7/0CQF0d9zoVyss+Qmz3mlK/+MDT57HF1IdDf LJ4OfKysjX1byoUYMIO/KntLZtcCNz6QUGwPEgYm56PxSgyoJSNCLNC8fzGVFaQRLU0DDD GS6/fSxwnae4XF7wNkkRoEydo9QflYoecF8fa8KCfZV7kmFnOO0mVbkqLY1fTCV5c+JVxP A5D0UKDkrj6tic3PWBTKAbfkuWHlraRqu2wBChRaEQdtDtK4oeGlZrwx/yyoKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695644830; a=rsa-sha256; cv=none; b=wRBdDYTP9ZQ+IRdMeCIEYdlZfNqOr8PFp4TKVnBoCDfdBJr5d1e0UspksENSjJiAlyKN+7 Ngjn9K0lMLd0ZVuw0ToiJD9ovWHP/HigQODGf/khaqNchXBBeeshxHBAamCxp7Z+aKOXmG M2ysar/ISkbb8DcxpulNOkmqZfMf4v6UfJXPELOrm8bqWL/S517ZwKXTmhSe1aR3U/YD96 SmqKjRrgFtRuKsE5apsMl1neQySver/KGfpwvf8YY1pcCdsM25ZxUki/fkqnmoF+2TNdwX 2TuK/segqIapmZ5305VoQIeVIMjoF86nt68tkB35O1VQNBq7bwM49KFpMal0/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=1695644830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/5W4nFLdXzyOcI04+OR6c+5fqvkYxieRSo0Vfpf180A=; b=pvdFLPW7cGGottRe2nzOXydFBEv0UZIgNCD1kEBIpZh1xckkPX0fbZaNy2hT8FwElccZ6O odokhaLOAYmyOVN4ejJkN+r/v4EVx1wrKNYKPBn4jBBg3V//PiEMafBqnzaZB2GZ3f8xF6 Ew1WXDNAqf61F+GFLPQcH2wZtWP6b2q4cJueS7WUJ+RiVEL1xPnzdSn8gLrnC1lU6nr/1k mb1Npd3wiIznuo3UMrdrmqjrriX48lSslKx40Hk6tgVadZc3T+4F2YBYsE+5u/ajhCgWyu OJ7ArJw46+DFs9i/RGBUlCxBv8TUPTn1R20bfQvyFoFFTm9REG2cwycv2QcNhw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvMZQ5QZpz1SM6; Mon, 25 Sep 2023 12:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38PCRAnt094690; Mon, 25 Sep 2023 12:27:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PCRAYT094687; Mon, 25 Sep 2023 12:27:10 GMT (envelope-from git) Date: Mon, 25 Sep 2023 12:27:10 GMT Message-Id: <202309251227.38PCRAYT094687@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: ddca690373e5 - stable/13 - pf: fix state leak List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ddca690373e565a6e86ac1c0e025563ded0a686c Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ddca690373e565a6e86ac1c0e025563ded0a686c commit ddca690373e565a6e86ac1c0e025563ded0a686c Author: Kristof Provost AuthorDate: 2023-09-06 07:58:07 +0000 Commit: Kristof Provost CommitDate: 2023-09-25 12:27:05 +0000 pf: fix state leak If we hit the csfailed case in pf_create_state() we may have allocated a state, so we must also free it. While here reduce the amount of duplicated cleanup code. MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D41772 (cherry picked from commit b6ce41118bb11d3db86eae8fbebc8c198e8b330d) --- sys/netpfil/pf/pf.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 99fca2d6fabf..51f81172bad2 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -4317,10 +4317,6 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, if (r->rt) { if (pf_map_addr(pd->af, r, pd->src, &s->rt_addr, NULL, &sn)) { REASON_SET(&reason, PFRES_MAPFAILED); - pf_src_tree_remove_state(s); - s->timeout = PFTM_UNLINKED; - STATE_DEC_COUNTERS(s); - pf_free_state(s); goto csfailed; } s->rt_kif = r->rpool.cur->kif; @@ -4381,11 +4377,7 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, (pd->dir == PF_IN) ? sk : nk, (pd->dir == PF_IN) ? nk : sk, s)) { REASON_SET(&reason, PFRES_STATEINS); - pf_src_tree_remove_state(s); - s->timeout = PFTM_UNLINKED; - STATE_DEC_COUNTERS(s); - pf_free_state(s); - return (PF_DROP); + goto drop; } else *sm = s; @@ -4461,6 +4453,14 @@ csfailed: PF_HASHROW_UNLOCK(sh); } +drop: + if (s != NULL) { + pf_src_tree_remove_state(s); + s->timeout = PFTM_UNLINKED; + STATE_DEC_COUNTERS(s); + pf_free_state(s); + } + return (PF_DROP); } From nobody Mon Sep 25 13:46:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvPKl6c1mz4rMMS; Mon, 25 Sep 2023 13:46: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 4RvPKl64dgz4N0y; Mon, 25 Sep 2023 13:46:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695649579; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lT5782MHKWPxfx6vPRPdQpanf+un6kxePbxRpYOTlqI=; b=gIeRktHB2/P53O+muhWQD3+EMIwiwmqc4Xv07KWVhRvvfcZYmZ9ff9zMr1i/KsDY9Q00jn 4RbU5NZIvboQ5Nk8YTZbaMUS5q29oCyPJzok0GqTajE8ZsaJw9rpvhgkcuBHfSG9CBi3cv pxGMPTSs67Ic4avu5LXVFWVbZIx7sgZwdzKjI2lM11ukKwhs/W9r2Yj07ZT4iO8k5H++x1 q79JDLsUhHJHr1rzBX34+Qco1TobXOgFEj9kkZshMxEsfDfl489uMYnRyg/1k9P52wYZXj RY5a18MTerT/JlN7vr/MhB88lYzzEQer3Ep+dRJif60Tbj8Jg4KsLO+vlOX5Ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695649579; a=rsa-sha256; cv=none; b=vUdZ8PhAmtDsXxlxVyU1per9jW++quoIoAS+KXgulTWiLHJmArK53SSILzS9i30ktqgT9E b0aNoyWqMFlqoOeqm7KeFu0ULNAcKP6K79fVcEratwwP9wZHLRBGVr8wROe7p+ifQRpYfx I0xZzlLPFsNRcbSVmcgsZFNS+xuGIZuW0ZGtm1/Fdu5ezp49/7TQrbGLHABBfPEGH5SK5f uxt/EVQfZlrO38itZJ39G3hsqNdBOlsfT+gfX5iTVNTTpvPWqn9beY65Mhz/J+NJyAVDgs wn1/WHz8pTikL3prTD88h/HqQge8dn9fwI0mutnS7BPjAtTbUT9jWUlyv6ltlQ== 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=1695649579; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lT5782MHKWPxfx6vPRPdQpanf+un6kxePbxRpYOTlqI=; b=nJpFIb8s3ggnax81MNpu+W6rZp6aUmMBZQEKJERyj2wpz+Ngqn2SoNJzscBmE7L1blQFrv W31u+FdnozVK51P7MK0c38WRlZNxnGaqrRaK0xV6hl+SyAT6QMUOW0/CC8OIh5Uzi6ioVW DTVv9+fpCjDnQzjfpNIi4HCUZhc59VQF93IQaKTbcHuAVzXCWrkkwqYCCyol+KPZeZr0Ox GGKzYmrJYJsbSSeJdySk2LBQOpjJhQmStWyWc66PRIHUf1RKJf1fYFg71SnDZ1eF1bk8Ze MnHFTiKELXhNk9/TnD/c4WOviBVNJFRrzYyfkF5e6cNN+bkUrmTBrWbXUj4Ccg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvPKl587Dz1Rw; Mon, 25 Sep 2023 13:46: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 38PDkJ7e027743; Mon, 25 Sep 2023 13:46:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PDkJsm027740; Mon, 25 Sep 2023 13:46:19 GMT (envelope-from git) Date: Mon, 25 Sep 2023 13:46:19 GMT Message-Id: <202309251346.38PDkJsm027740@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: 2871b8a185b2 - stable/14 - bspatch: use C23 overflow checking math now that it is available List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 2871b8a185b2c5b8de2d9f27301a7e523672b242 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2871b8a185b2c5b8de2d9f27301a7e523672b242 commit 2871b8a185b2c5b8de2d9f27301a7e523672b242 Author: Ed Maste AuthorDate: 2023-09-05 16:35:31 +0000 Commit: Ed Maste CommitDate: 2023-09-25 13:45:06 +0000 bspatch: use C23 overflow checking math now that it is available Reviewed by: des Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41771 (cherry picked from commit ee12faa062c04a49bf6fe4e6867bad8606e2413f) --- usr.bin/bsdiff/bspatch/bspatch.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/usr.bin/bsdiff/bspatch/bspatch.c b/usr.bin/bsdiff/bspatch/bspatch.c index a596ab1837dd..d7fabddabbfe 100644 --- a/usr.bin/bsdiff/bspatch/bspatch.c +++ b/usr.bin/bsdiff/bspatch/bspatch.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -64,15 +65,8 @@ add_off_t(off_t a, off_t b) { off_t result; -#if __GNUC__ >= 5 || \ - (defined(__has_builtin) && __has_builtin(__builtin_add_overflow)) - if (__builtin_add_overflow(a, b, &result)) + if (ckd_add(&result, a, b)) errx(1, "Corrupt patch"); -#else - if ((b > 0 && a > OFF_MAX - b) || (b < 0 && a < OFF_MIN - b)) - errx(1, "Corrupt patch"); - result = a + b; -#endif return result; } From nobody Mon Sep 25 13:46:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvPKn0pS9z4rMLX; Mon, 25 Sep 2023 13:46: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 4RvPKn030hz4MqZ; Mon, 25 Sep 2023 13:46:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695649581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/4jOv4Qm9JLJQIFwq+/ta7a16X5ZiBZ/aSv6w+ROcqI=; b=uZwBtm/OmxcuYns8tZ53xFzramTzfvY4z9Pzm/PlYg59qN0NkAxLJbc79noCT5KqSQnW32 Krw8LTBevtjPhOqVemdHlXtwQE/mrkUotcW8pkgTUZarca1U7gMwebxXTWZtG3E+IyX3Or 18fAeZvY08qUvpszA1KwKpZPKV4jtSNiN7ju/UAJ0482P3u85Roqsaa8/2Dk/gXEvI3Opx nz2XqOYo6N4amY5gbJAvpJI09RnoDcaOSK+ypPsjd8UNsEYvRfJFWvbyg07oty24d5+d7F cbqoVpo/5SCd8oQrRmkzqsVfR3opaVHsS6OBg+bFgz4q1F6xqM9r5EddbhxOHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695649581; a=rsa-sha256; cv=none; b=SBgnldJSAtmos1QS+yJhCFKU3pes5Y84gAFl2Emg8UoHh289n3/OeviFYCcVR+k7b70Rfk L1ARIX8E6EM5XVNO5XGMnbqWX1tyNm5V/FRb4IXh+oK4VR0e0Kmw4hUtZqYd9lCW8YCXdw p1HyqdDGy196eXbhMcdw0uhkNam9W/nErS7ksOID5li9A8AfkTRfOvVtVUvn41whPBdbU6 BPnc609e8AabrMnkKtviZEu6HUV7h0g6tDMyHK7qfD3mCQn1tq34AEXTkvlC1ndDj70U8C n+ZoFnkgokNxbfTEr/J+xDE6sRWkveSdvk3czhBRYWOyeoWVH1dVmLGnX3GRWw== 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=1695649581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/4jOv4Qm9JLJQIFwq+/ta7a16X5ZiBZ/aSv6w+ROcqI=; b=oOiRECvaXAeEljEYCszKztiS6SrFodNRaXrcE0950AQ7PDTr6JbmorT1uIZpBIGwvSO4Sm AW/N3bx1OfKZLB/RZwL4Lz+X6zdIGxfF+toni4s/FLbiYKw3BsHbrnmZe77F2P8gsLYDv3 rnwU5W0oZ9gWw8TrgLBtOh1sO0a6TS6XuJ1YY+QUxOBAjCrap14FgxYHwjfbukFRLPX8my KFWEAWqpi2f9oGynAN2O4VGsh64jI78fdhUDoC/hQKyZUmN3coVVNQgztS//mRHTfpCGpG pwAQgneXrU3OgaRtgrzXG7IBsK52zv5qcXPHFxdW6g9ghxAZEC3GnxILeiwqiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvPKm6C4bz1CT; Mon, 25 Sep 2023 13:46: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 38PDkKwB027805; Mon, 25 Sep 2023 13:46:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PDkKVh027802; Mon, 25 Sep 2023 13:46:20 GMT (envelope-from git) Date: Mon, 25 Sep 2023 13:46:20 GMT Message-Id: <202309251346.38PDkKVh027802@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: d0c0dcf9db7e - stable/14 - x86: Add defines for workaround bits in AMD's MSR "Decode Configuration" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: d0c0dcf9db7e558a58fbec2d49c293d118ea6979 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d0c0dcf9db7e558a58fbec2d49c293d118ea6979 commit d0c0dcf9db7e558a58fbec2d49c293d118ea6979 Author: Olivier Certner AuthorDate: 2023-09-11 13:10:35 +0000 Commit: Ed Maste CommitDate: 2023-09-25 13:45:06 +0000 x86: Add defines for workaround bits in AMD's MSR "Decode Configuration" They are a bit more informative than raw hexadecimal values. While here, sort existing defines of bits for AMD MSRs to match the address order. Reviewed by: kib, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41816 (cherry picked from commit 125bbadf6084ac341673c9eb1979a740d3d5899a) --- sys/amd64/amd64/initcpu.c | 5 +++-- sys/x86/include/specialreg.h | 9 +++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sys/amd64/amd64/initcpu.c b/sys/amd64/amd64/initcpu.c index 4debe89426df..a048c08fc9ae 100644 --- a/sys/amd64/amd64/initcpu.c +++ b/sys/amd64/amd64/initcpu.c @@ -101,7 +101,8 @@ init_amd(void) case 0x10: case 0x12: if ((cpu_feature2 & CPUID2_HV) == 0) - wrmsr(MSR_DE_CFG, rdmsr(MSR_DE_CFG) | 1); + wrmsr(MSR_DE_CFG, rdmsr(MSR_DE_CFG) | + DE_CFG_10H_12H_STACK_POINTER_JUMP_FIX_BIT); break; } @@ -151,7 +152,7 @@ init_amd(void) (cpu_feature2 & CPUID2_HV) == 0) { /* 1021 */ msr = rdmsr(MSR_DE_CFG); - msr |= 0x2000; + msr |= DE_CFG_ZEN_LOAD_STALE_DATA_FIX_BIT; wrmsr(MSR_DE_CFG, msr); /* 1033 */ diff --git a/sys/x86/include/specialreg.h b/sys/x86/include/specialreg.h index 548d6010e7b8..f45990a056c8 100644 --- a/sys/x86/include/specialreg.h +++ b/sys/x86/include/specialreg.h @@ -1162,11 +1162,16 @@ #define MSR_IC_CFG 0xc0011021 /* Instruction Cache Configuration */ #define MSR_DE_CFG 0xc0011029 /* Decode Configuration */ +/* MSR_AMDK8_IPM */ +#define AMDK8_SMIONCMPHALT (1ULL << 27) +#define AMDK8_C1EONCMPHALT (1ULL << 28) + /* MSR_VM_CR related */ #define VM_CR_SVMDIS 0x10 /* SVM: disabled by BIOS */ -#define AMDK8_SMIONCMPHALT (1ULL << 27) -#define AMDK8_C1EONCMPHALT (1ULL << 28) +/* MSR_DE_CFG */ +#define DE_CFG_10H_12H_STACK_POINTER_JUMP_FIX_BIT 0x1 +#define DE_CFG_ZEN_LOAD_STALE_DATA_FIX_BIT 0x2000 /* VIA ACE crypto featureset: for via_feature_rng */ #define VIA_HAS_RNG 1 /* cpu has RNG */ From nobody Mon Sep 25 13:46:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvPKp1b9Sz4rMLc; Mon, 25 Sep 2023 13:46: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 4RvPKp17xyz4Mw9; Mon, 25 Sep 2023 13:46:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695649582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GNZb66yv7ExIcxu0ZHk+F3CydClJj06Elv7eR+qjeb4=; b=SMYlLty1AofqNgK/DU+8aKDzQIPGuqdxP7nVjyjN+BLu30ekhGXwK0KjLRjRbC2LTDUA9J 2CGkbnan2815+a6ErTEh47fP80SL5Xd1oX+r3iVwWzo7dX+dWzDRL5AvJU9U2lz88GS6z1 QuwD1R5dXVop1QpbK3uM70DvrwkiHAuW54AjKzZAq3ABUeI/pgaVDmrk86D5D0nngvu5oZ oc58aUTURbXtKiNpuoEkrFowWX1Hz4Ej+TO6h9tfsUYShFHErbBm1PrOGG5KwTFG87uqQ9 YFMkOXCmIL4i5bFPeKtp+XbvgGC4GYJLNb5jq4/62UyTOPvW/N0c209Leu0/Hg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695649582; a=rsa-sha256; cv=none; b=O4pwV11OlTNjK78gHTxRI/mB8lA4fekepIYQqNwapeYFIW5ojAfZRDv8bl1GzkndtS+rU6 MDB0y/ALbM6zJoI3v4CirO/UX1ZOSQHg4DJYLQgpQFvdBZ4iilxNwl3sYp5DN6kyFmeOXi 6AF6crXGedUWirExrfzZLvZ1qcZXWv8glF1VeDFfnjiYCei8p7c6xvJXa4txOHv2xthFIP obKhfJgJ2RKpITNlg9KI4rrMsigt/TXzIMOnoyarc4q1qMJkdgXlAsmins2BSMvu/hqZHO o2ujlOmV4A/sEgKSo17uNroWdXYzPTS9XMv8DSZx53iH+dQTSugdTY5w2Lz6Kg== 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=1695649582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GNZb66yv7ExIcxu0ZHk+F3CydClJj06Elv7eR+qjeb4=; b=GgAjAOdhGQr76d6pxkBtQTtLxfoyyUS3D1J/4ObpcYFPuxLsqOyTdtdYDH/dqzXWekQQk1 rKDqlUeCEQlM6QUZ7bvZV7GOXCi2APbXAf+7XCLHV3EZdxw9gxRpVIU9ZZfPasDi7MKhHM Hr2X3nllCo1SEnshvxMfddx3+RKVY4m16dXD5C6z8OGASzbHnkP36IhYUvf8A3qom8Ru9Q fp975njTQqCXKhinPZdtSe6EWJ1xhReaEaR/3XXDuvf47rz7odf4lO8UtlG/UKvCABs7DW Wi3pxEnbsAcbbGz5GVlN8Tc+TdlA8STLKv94v0KDpjQf9rNLYtq3uPlDyfix5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvPKp06HPz254; Mon, 25 Sep 2023 13:46: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 38PDkLRA027853; Mon, 25 Sep 2023 13:46:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PDkLsd027850; Mon, 25 Sep 2023 13:46:21 GMT (envelope-from git) Date: Mon, 25 Sep 2023 13:46:21 GMT Message-Id: <202309251346.38PDkLsd027850@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: fd8bf2ecc05a - stable/14 - libprocstat: use elf_getphdrnum rather than deprecated elf_getphnum List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: fd8bf2ecc05af841aa7e8369a43861cdc122d404 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=fd8bf2ecc05af841aa7e8369a43861cdc122d404 commit fd8bf2ecc05af841aa7e8369a43861cdc122d404 Author: John Hein AuthorDate: 2023-09-21 23:43:05 +0000 Commit: Ed Maste CommitDate: 2023-09-25 13:45:06 +0000 libprocstat: use elf_getphdrnum rather than deprecated elf_getphnum PR: 273966 Reviewed by: emaste (cherry picked from commit 633094c27f0ac1b1001d5bd24a883240b4bce1dc) --- lib/libprocstat/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libprocstat/core.c b/lib/libprocstat/core.c index dea078c848eb..cf3435a10c79 100644 --- a/lib/libprocstat/core.c +++ b/lib/libprocstat/core.c @@ -119,7 +119,7 @@ procstat_core_open(const char *filename) warnx("%s is not a CORE file", filename); goto fail; } - if (elf_getphnum(e, &nph) == 0) { + if (elf_getphdrnum(e, &nph) == -1) { warnx("program headers not found"); goto fail; } From nobody Mon Sep 25 13:46:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvPKq3lPyz4rMQ4; Mon, 25 Sep 2023 13:46: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 4RvPKq1lWTz4Mwk; Mon, 25 Sep 2023 13:46:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695649583; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZM8tILfOkd7Mk+Pq56dRivU43wHAkPmM6DKZAYO92v8=; b=ms1G6imlEXnZDLb5o/vlKaDgSniYX1kCGK8JkF6/L7fAXNVAzYBgXa4sNMHimp58B0HGsO G12pZ81jwoE5PfWVynvwTh7S1vRdD6rSXKohBx+KDvYna0Rfh/32nUge7QdSfg9FimB4Ie m9k8EWMJl4T+0QYzXylPPKKDxwCNxjSav9yoQ+WvGU7nUTnZnJQTIXle2LpaNTvLgSbORy ez9fJm3XnoTgFIrzJE7lioaXYVo8oR0GSNRlN3qqz0gH5DZRqmSyJ3LWTji7fId/DzHTDs xliPrPxm7YmhPG14OatJhguy+qdtwCT70ooothyn4BFaFNvwYLM142bjO1ZR5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695649583; a=rsa-sha256; cv=none; b=iaTTXeiK8+EwNkOI+DGtNLGdC+/dtTmX091NCXgB7sYyT8b4woSAs4Ov+q/Gi6w9nSA+xf KxuXKVG0d6q+zf+LtBwhNrriY+L/+SK7BmrbbG3ls3Z9bNqoClvqW1lnETJYjABJH1KB9r RL2/I2ItLehmqm5ZJlPOEF3gCjgdqCWW+tTkIaIA3Ym1a95fv0YhSHal+t6uk0Jxl6AUzz saIYWJpOm6KgB/l2vw0pNCPQeGsxcuZualEE+i6Wg++Pb7J6UWMeXVaYsYIUqPX4mOM5iQ 2s0YtXKU7BYJpNovJR4jqbhV3qq5XHURDm2Nj2WuoPVo7A14UkTpebDKkGHr9w== 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=1695649583; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZM8tILfOkd7Mk+Pq56dRivU43wHAkPmM6DKZAYO92v8=; b=GPqFYkzq2iTZ9qA9cLXwjet8QYGxzuJMDc4wKBn4NoCHwKYCmyeLWStrOsOyCQopoWD9TP FwDQy3nq1gxqsHulh0roetOSP3Ax4LhtmPdaLjaQLFhAtPSVSj9fK3Qh+OrIJCO+fsTOXg D0Jnuefu9FntzQTMMGUK8eBZVW2Umesr/XkSn6HIXne0PqQUaMaaLUP+Ta3xazJKrFB5HT Ow/QTiCZ/8XGuq5lPFuPgrGIdlZSdxKOc57yLfShGE15MUGe5BJZ8/FLnB8oNMcKOlWfX9 lqSxV0dhV5wlRWyEz3//pwvloW+aaLn2ezNZVTsRCVuqWnn1eFYZW5i0a1V/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 4RvPKq0ggzz26g; Mon, 25 Sep 2023 13:46: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 38PDkNeK027905; Mon, 25 Sep 2023 13:46:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PDkMra027903; Mon, 25 Sep 2023 13:46:22 GMT (envelope-from git) Date: Mon, 25 Sep 2023 13:46:22 GMT Message-Id: <202309251346.38PDkMra027903@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: e30f7d9b9bb4 - stable/14 - netlink: add unregister call in cleanup List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: e30f7d9b9bb48368b49d815f519280b733959c81 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=e30f7d9b9bb48368b49d815f519280b733959c81 commit e30f7d9b9bb48368b49d815f519280b733959c81 Author: Lin Ma AuthorDate: 2023-06-19 09:32:59 +0000 Commit: Ed Maste CommitDate: 2023-09-25 13:45:06 +0000 netlink: add unregister call in cleanup For protocols that use netlink (generic and route for now), the unint handler seems to have forgotten to call unregister, which will cause the assertion the next time the module is loaded. This patch adds unregister call to netlink_unregister_proto() for those handlers to avoid bad things happen. Reviewed-by: melifaro Fixes: 7e5bf68495cc ("netlink: add netlink support") Pull-request: https://github.com/freebsd/freebsd-src/pull/781 Signed-off-by: Lin Ma (cherry picked from commit 4bdf7f695184fb4312462ad475f3302c9da40f13) --- sys/netlink/netlink_generic.c | 1 + sys/netlink/netlink_route.c | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index 54fc702d8ac6..b28b206a7ace 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -296,6 +296,7 @@ SYSINIT(genl_load_all, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, genl_load_all, NULL) static void genl_unload(void *u __unused) { + netlink_unregister_proto(NETLINK_GENERIC); EVENTHANDLER_DEREGISTER(genl_family_event, family_event_tag); genl_unregister_family(CTRL_FAMILY_NAME); NET_EPOCH_WAIT(); diff --git a/sys/netlink/netlink_route.c b/sys/netlink/netlink_route.c index 6da074926405..6b293f7ef19c 100644 --- a/sys/netlink/netlink_route.c +++ b/sys/netlink/netlink_route.c @@ -134,6 +134,7 @@ static void rtnl_unload(void *u __unused) { netlink_callback_p = nlbridge_orig_p; + netlink_unregister_proto(NETLINK_ROUTE); rtnl_ifaces_destroy(); rtnl_neighs_destroy(); From nobody Mon Sep 25 13:49:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvPPg3Gsyz4rMbx; Mon, 25 Sep 2023 13:49: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 4RvPPg2y1lz4P09; Mon, 25 Sep 2023 13:49:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695649783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rKJbE/f9VIkv5cda3C0ll7foGhV43Vebul58pOzKcBA=; b=FgYq6J1p9xrbeaU3XPKwg4Ex1+L9IME/oZuzoTTM0XIthZa7cyY1tnH/gFCmCHiZJg6c1x 4ZeEVDans445SZ45NmG1rCJ76THj/HSI/c8JEv2N6WW/5eHmBUjQ/a+KMQl+ayf4/76lpw kzxnCmqmyeWozqTiktVQrHciVfK32kUnMxMBt5OGp9o674JiFXnbPcOLCCdBP1TvTQBB2Y DpPENW6FG6QYqEteMdO4cxg1Kov9xWJSBkIQe95/l98Fe/+KIpFiHzw9tIGOztI4IqHYkq 51TIJWs6/SpzK87/coTC7u6LTMqslSr6fSMqszkNpHNDj4gV9MGGUyDQngA7og== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695649783; a=rsa-sha256; cv=none; b=C/id/8nd0KlbLbu9MtKd6UrM9c+oJiojOXobqUNnsuT2r9s+sbYq11XxP5IE6Xm8lPSQ9p DB/YODG4VsrBVlSuU4Xt0twnC4YCdAkyO/5MGAKiuc1KDU8V4wwauTyH5COC/6igvtK5Pg lWFQj5E5dkNSemgBFYB3z791Ouq9rA5rG9pePRdm2Qw8O9KMlflq+Kodjz9EETU7d1lOIV mp0uytf1EXp7nyRMlEkLu8SkHERQ9yFl8q6paUebqM/24pjXGmgr9X/T7CM6ldeFhBGzn4 4GaTLMhlsGz93pwn7thprPY0xqgtpYtspHzBIBFZe7y7QSvbhxthbgehN//4Ug== 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=1695649783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rKJbE/f9VIkv5cda3C0ll7foGhV43Vebul58pOzKcBA=; b=wTkbG9TMQLOplrIYqTOMIPmmyDLxdsTq39xNew9+b9qhO/e9jjDpc08V+Ct5JV3Lhfver8 GNxpg3osiJ5tWo6ZreBG225RTLyCdRryLF1SB1rVt/EgVHuQRs+3FA0O+uiaWw7kaPVUUv LvvijbGf6n/g4YWDyESBK+BWtrfPL3RjdmsfnBSGaDFhffdmqiQAqiK2DphJKYIfWSmD4a Kxm2hT5lMnH1Ra71bpTmQ7RGMSI+bUlhNyo6bMUT9CNLTjz/RzoPLbBjszRR8ZbYMdmmyV Nngo08/jqPfmSsEAwS8Z1GjnrdsB7BsJqf1M9BBln57OhYM52NGsAkgJ6tgujg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvPPg1hRwz1Ry; Mon, 25 Sep 2023 13:49: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 38PDnhQN028537; Mon, 25 Sep 2023 13:49:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PDnhMS028534; Mon, 25 Sep 2023 13:49:43 GMT (envelope-from git) Date: Mon, 25 Sep 2023 13:49:43 GMT Message-Id: <202309251349.38PDnhMS028534@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: 08f02c751b34 - stable/13 - Remove "All Rights Reserved" from Foundation copyrights List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 08f02c751b34990719f55692a5450eef357352c5 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=08f02c751b34990719f55692a5450eef357352c5 commit 08f02c751b34990719f55692a5450eef357352c5 Author: Ed Maste AuthorDate: 2022-06-30 14:52:29 +0000 Commit: Ed Maste CommitDate: 2023-09-25 13:49:25 +0000 Remove "All Rights Reserved" from Foundation copyrights Sponsored by: The FreeBSD Foundation (cherry picked from commit 7fde0187cc443468561f0a30d589ff0cfe45eef5) (cherry picked from commit 560e22c8fe460e00d16e5268fe1fbb316ad81101) (cherry picked from commit 5b5fa75acff11d871d0c90045f8c1a58fed85365) --- lib/libc/aarch64/gen/_ctx_start.S | 1 - lib/libc/aarch64/gen/fabs.S | 1 - lib/libc/aarch64/gen/fpgetmask.c | 1 - lib/libc/aarch64/gen/fpsetmask.c | 1 - lib/libc/aarch64/gen/makecontext.c | 1 - lib/libc/aarch64/gen/sigsetjmp.S | 1 - lib/libc/aarch64/sys/syscall.S | 1 - lib/libc/capability/cap_rights_init.3 | 1 - lib/libc/gdtoa/machdep_ldisQ.c | 2 +- lib/libc/gdtoa/machdep_ldisd.c | 2 +- lib/libc/gdtoa/machdep_ldisx.c | 2 +- lib/libc/gen/__pthread_mutex_init_calloc_cb_stub.c | 1 - lib/libc/gen/cap_rights_get.3 | 1 - lib/libc/gen/cap_sandboxed.3 | 1 - lib/libc/gen/cap_sandboxed.c | 1 - lib/libc/gen/fnmatch.c | 2 +- lib/libc/gen/glob.c | 2 +- lib/libc/gen/memalign.c | 1 - lib/libc/locale/ascii.c | 2 +- lib/libc/locale/big5.c | 2 +- lib/libc/locale/btowc.c | 2 +- lib/libc/locale/collate.c | 2 +- lib/libc/locale/collate.h | 2 +- lib/libc/locale/collcmp.c | 2 +- lib/libc/locale/ctype.c | 1 - lib/libc/locale/ctype_l.3 | 1 - lib/libc/locale/duplocale.3 | 1 - lib/libc/locale/euc.c | 2 +- lib/libc/locale/freelocale.3 | 1 - lib/libc/locale/gb18030.c | 2 +- lib/libc/locale/gb2312.c | 2 +- lib/libc/locale/gbk.c | 2 +- lib/libc/locale/lmessages.c | 2 +- lib/libc/locale/lmessages.h | 2 +- lib/libc/locale/lmonetary.c | 2 +- lib/libc/locale/lmonetary.h | 2 +- lib/libc/locale/lnumeric.c | 2 +- lib/libc/locale/lnumeric.h | 2 +- lib/libc/locale/localeconv.c | 2 +- lib/libc/locale/mblen.c | 2 +- lib/libc/locale/mblocal.h | 2 +- lib/libc/locale/mbrlen.c | 2 +- lib/libc/locale/mbrtowc.c | 2 +- lib/libc/locale/mbsinit.c | 2 +- lib/libc/locale/mbsnrtowcs.c | 3 +-- lib/libc/locale/mbsrtowcs.c | 2 +- lib/libc/locale/mbstowcs.c | 2 +- lib/libc/locale/mbtowc.c | 2 +- lib/libc/locale/mskanji.c | 2 +- lib/libc/locale/newlocale.3 | 1 - lib/libc/locale/nextwctype.c | 2 +- lib/libc/locale/nl_langinfo.c | 2 +- lib/libc/locale/none.c | 2 +- lib/libc/locale/querylocale.3 | 1 - lib/libc/locale/runetype.c | 2 +- lib/libc/locale/setrunelocale.c | 2 +- lib/libc/locale/table.c | 2 +- lib/libc/locale/tolower.c | 2 +- lib/libc/locale/toupper.c | 2 +- lib/libc/locale/uselocale.3 | 1 - lib/libc/locale/utf8.c | 2 +- lib/libc/locale/wcrtomb.c | 2 +- lib/libc/locale/wcsftime.c | 2 +- lib/libc/locale/wcsnrtombs.c | 2 +- lib/libc/locale/wcsrtombs.c | 2 +- lib/libc/locale/wcstod.c | 2 +- lib/libc/locale/wcstof.c | 2 +- lib/libc/locale/wcstoimax.c | 2 +- lib/libc/locale/wcstol.c | 2 +- lib/libc/locale/wcstold.c | 2 +- lib/libc/locale/wcstoll.c | 2 +- lib/libc/locale/wcstombs.c | 2 +- lib/libc/locale/wcstoul.c | 2 +- lib/libc/locale/wcstoull.c | 2 +- lib/libc/locale/wcstoumax.c | 2 +- lib/libc/locale/wctob.c | 2 +- lib/libc/locale/wctomb.c | 2 +- lib/libc/locale/wctrans.c | 2 +- lib/libc/locale/wctype.c | 2 +- lib/libc/locale/wcwidth.c | 2 +- lib/libc/locale/xlocale.3 | 1 - lib/libc/locale/xlocale.c | 1 - lib/libc/locale/xlocale_private.h | 1 - lib/libc/regex/regcomp.c | 2 +- lib/libc/stdio/asprintf.c | 2 +- lib/libc/stdio/fgetwc.c | 2 +- lib/libc/stdio/fgetwln.c | 2 +- lib/libc/stdio/fgetws.c | 2 +- lib/libc/stdio/fprintf.c | 2 +- lib/libc/stdio/fputwc.c | 2 +- lib/libc/stdio/fputws.c | 2 +- lib/libc/stdio/fscanf.c | 2 +- lib/libc/stdio/fwprintf.c | 2 +- lib/libc/stdio/fwscanf.c | 2 +- lib/libc/stdio/getwc.c | 2 +- lib/libc/stdio/getwchar.c | 2 +- lib/libc/stdio/local.h | 2 +- lib/libc/stdio/printf.c | 2 +- lib/libc/stdio/printfcommon.h | 2 +- lib/libc/stdio/putwc.c | 2 +- lib/libc/stdio/putwchar.c | 2 +- lib/libc/stdio/scanf.c | 2 +- lib/libc/stdio/snprintf.c | 2 +- lib/libc/stdio/sprintf.c | 2 +- lib/libc/stdio/sscanf.c | 2 +- lib/libc/stdio/swprintf.c | 2 +- lib/libc/stdio/swscanf.c | 2 +- lib/libc/stdio/ungetwc.c | 2 +- lib/libc/stdio/vasprintf.c | 2 +- lib/libc/stdio/vdprintf.c | 2 +- lib/libc/stdio/vfprintf.c | 2 +- lib/libc/stdio/vfscanf.c | 2 +- lib/libc/stdio/vfwprintf.c | 2 +- lib/libc/stdio/vfwscanf.c | 2 +- lib/libc/stdio/vprintf.c | 2 +- lib/libc/stdio/vscanf.c | 2 +- lib/libc/stdio/vsnprintf.c | 2 +- lib/libc/stdio/vsprintf.c | 2 +- lib/libc/stdio/vsscanf.c | 2 +- lib/libc/stdio/vswprintf.c | 2 +- lib/libc/stdio/vswscanf.c | 2 +- lib/libc/stdio/vwprintf.c | 2 +- lib/libc/stdio/vwscanf.c | 2 +- lib/libc/stdio/wprintf.c | 2 +- lib/libc/stdio/wscanf.c | 2 +- lib/libc/stdlib/atof.c | 2 +- lib/libc/stdlib/atoi.c | 2 +- lib/libc/stdlib/atol.c | 2 +- lib/libc/stdlib/atoll.c | 2 +- lib/libc/stdlib/cxa_thread_atexit.c | 1 - lib/libc/stdlib/strfmon.c | 2 +- lib/libc/stdlib/strtoimax.c | 2 +- lib/libc/stdlib/strtol.c | 2 +- lib/libc/stdlib/strtold.c | 1 - lib/libc/stdlib/strtoll.c | 2 +- lib/libc/stdlib/strtoul.c | 2 +- lib/libc/stdlib/strtoull.c | 2 +- lib/libc/stdlib/strtoumax.c | 2 +- lib/libc/stdtime/strftime.c | 2 +- lib/libc/stdtime/strptime.c | 2 +- lib/libc/stdtime/timelocal.c | 2 +- lib/libc/stdtime/timelocal.h | 2 +- lib/libc/string/mempcpy.c | 1 - lib/libc/string/strcasecmp.c | 2 +- lib/libc/string/strcasestr.c | 2 +- lib/libc/string/strcoll.c | 2 +- lib/libc/string/strxfrm.c | 2 +- lib/libc/string/wcscoll.c | 2 +- lib/libc/string/wcswidth.c | 2 +- lib/libc/string/wcsxfrm.c | 2 +- lib/libc/string/wmempcpy.c | 1 - lib/libc/sys/POSIX2x_Fork.c | 1 - lib/libc/sys/_umtx_op.2 | 1 - lib/libc/sys/accept.c | 1 - lib/libc/sys/accept4.c | 1 - lib/libc/sys/aio_suspend.c | 1 - lib/libc/sys/bindat.2 | 1 - lib/libc/sys/cap_fcntls_limit.2 | 1 - lib/libc/sys/cap_ioctls_limit.2 | 1 - lib/libc/sys/close.c | 1 - lib/libc/sys/connect.c | 1 - lib/libc/sys/connectat.2 | 1 - lib/libc/sys/fcntl.c | 1 - lib/libc/sys/fdatasync.c | 1 - lib/libc/sys/fork.c | 1 - lib/libc/sys/fsync.2 | 1 - lib/libc/sys/fsync.c | 1 - lib/libc/sys/interposing_table.c | 1 - lib/libc/sys/kevent.c | 1 - lib/libc/sys/msync.c | 1 - lib/libc/sys/nanosleep.c | 1 - lib/libc/sys/open.c | 1 - lib/libc/sys/openat.c | 1 - lib/libc/sys/pdfork.c | 1 - lib/libc/sys/poll.c | 1 - lib/libc/sys/ppoll.c | 1 - lib/libc/sys/pselect.c | 1 - lib/libc/sys/ptrace.c | 1 - lib/libc/sys/read.c | 1 - lib/libc/sys/readv.c | 1 - lib/libc/sys/recvfrom.c | 1 - lib/libc/sys/recvmsg.c | 1 - lib/libc/sys/select.c | 1 - lib/libc/sys/sendmsg.c | 1 - lib/libc/sys/sendto.c | 1 - lib/libc/sys/setcontext.c | 1 - lib/libc/sys/sigaction.c | 1 - lib/libc/sys/sigprocmask.c | 1 - lib/libc/sys/sigsuspend.c | 1 - lib/libc/sys/sigtimedwait.c | 1 - lib/libc/sys/sigwaitinfo.c | 1 - lib/libc/sys/thr_exit.2 | 1 - lib/libc/sys/thr_kill.2 | 1 - lib/libc/sys/thr_new.2 | 1 - lib/libc/sys/thr_self.2 | 1 - lib/libc/sys/thr_set_name.2 | 1 - lib/libc/sys/thr_suspend.2 | 1 - lib/libc/sys/thr_wake.2 | 1 - lib/libc/sys/wait4.c | 1 - lib/libc/sys/wait6.c | 1 - lib/libc/sys/write.c | 1 - lib/libc/sys/writev.c | 1 - lib/libc/x86/sys/pkru.3 | 1 - lib/libc/x86/sys/pkru.c | 1 - share/man/man3/pthread_mutex_consistent.3 | 1 - share/man/man4/bhnd_chipc.4 | 1 - share/man/man4/bhnd_pmu.4 | 1 - share/man/man4/cc_chd.4 | 1 - share/man/man4/cc_hd.4 | 1 - share/man/man4/cc_vegas.4 | 1 - share/man/man4/fdt.4 | 1 - share/man/man4/fdtbus.4 | 1 - share/man/man4/h_ertt.4 | 1 - share/man/man4/man4.aarch64/armv8crypto.4 | 1 - share/man/man4/mod_cc.4 | 1 - share/man/man4/siftr.4 | 1 - share/man/man4/simplebus.4 | 1 - share/man/man7/arch.7 | 2 +- share/man/man7/crypto.7 | 1 - share/man/man8/uefi.8 | 1 - share/man/man9/VOP_READ_PGCACHE.9 | 1 - share/man/man9/casuword.9 | 1 - share/man/man9/hhook.9 | 1 - share/man/man9/khelp.9 | 1 - share/man/man9/vnet.9 | 1 - 225 files changed, 125 insertions(+), 226 deletions(-) diff --git a/lib/libc/aarch64/gen/_ctx_start.S b/lib/libc/aarch64/gen/_ctx_start.S index 1aeea94d0229..15edcf21d463 100644 --- a/lib/libc/aarch64/gen/_ctx_start.S +++ b/lib/libc/aarch64/gen/_ctx_start.S @@ -1,6 +1,5 @@ /*- * Copyright (c) 2015 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Andrew Turner under * sponsorship from the FreeBSD Foundation. diff --git a/lib/libc/aarch64/gen/fabs.S b/lib/libc/aarch64/gen/fabs.S index 79f74ecc2647..29e4b89d5ee1 100644 --- a/lib/libc/aarch64/gen/fabs.S +++ b/lib/libc/aarch64/gen/fabs.S @@ -1,6 +1,5 @@ /*- * Copyright (c) 2015 The FreeBSD Foundation - * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/lib/libc/aarch64/gen/fpgetmask.c b/lib/libc/aarch64/gen/fpgetmask.c index 34309d86959f..7bc56a9d75be 100644 --- a/lib/libc/aarch64/gen/fpgetmask.c +++ b/lib/libc/aarch64/gen/fpgetmask.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2015 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Andrew Turner under * sponsorship from the FreeBSD Foundation. diff --git a/lib/libc/aarch64/gen/fpsetmask.c b/lib/libc/aarch64/gen/fpsetmask.c index c91ba2498b13..1ad3f49d603d 100644 --- a/lib/libc/aarch64/gen/fpsetmask.c +++ b/lib/libc/aarch64/gen/fpsetmask.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2015 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Andrew Turner under * sponsorship from the FreeBSD Foundation. diff --git a/lib/libc/aarch64/gen/makecontext.c b/lib/libc/aarch64/gen/makecontext.c index d1775efa4725..ae23ad87d3a2 100644 --- a/lib/libc/aarch64/gen/makecontext.c +++ b/lib/libc/aarch64/gen/makecontext.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2015 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Andrew Turner under * sponsorship from the FreeBSD Foundation. diff --git a/lib/libc/aarch64/gen/sigsetjmp.S b/lib/libc/aarch64/gen/sigsetjmp.S index df75b9399d73..cdff7a46c85b 100644 --- a/lib/libc/aarch64/gen/sigsetjmp.S +++ b/lib/libc/aarch64/gen/sigsetjmp.S @@ -1,6 +1,5 @@ /*- * Copyright (c) 2014 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Andrew Turner under * sponsorship from the FreeBSD Foundation. diff --git a/lib/libc/aarch64/sys/syscall.S b/lib/libc/aarch64/sys/syscall.S index d373e1d6c52e..2c7e207f82f7 100644 --- a/lib/libc/aarch64/sys/syscall.S +++ b/lib/libc/aarch64/sys/syscall.S @@ -1,6 +1,5 @@ /*- * Copyright (c) 2014 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Andrew Turner under * sponsorship from the FreeBSD Foundation. diff --git a/lib/libc/capability/cap_rights_init.3 b/lib/libc/capability/cap_rights_init.3 index 3267cc632498..80b522820097 100644 --- a/lib/libc/capability/cap_rights_init.3 +++ b/lib/libc/capability/cap_rights_init.3 @@ -1,6 +1,5 @@ .\" .\" Copyright (c) 2013 The FreeBSD Foundation -.\" All rights reserved. .\" .\" This documentation was written by Pawel Jakub Dawidek under sponsorship .\" from the FreeBSD Foundation. diff --git a/lib/libc/gdtoa/machdep_ldisQ.c b/lib/libc/gdtoa/machdep_ldisQ.c index a6045f59e5d0..d39d57e9d292 100644 --- a/lib/libc/gdtoa/machdep_ldisQ.c +++ b/lib/libc/gdtoa/machdep_ldisQ.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/gdtoa/machdep_ldisd.c b/lib/libc/gdtoa/machdep_ldisd.c index 776b3d8f898a..79370e05c604 100644 --- a/lib/libc/gdtoa/machdep_ldisd.c +++ b/lib/libc/gdtoa/machdep_ldisd.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/gdtoa/machdep_ldisx.c b/lib/libc/gdtoa/machdep_ldisx.c index cc77946de0b7..7c7c0d9e5d28 100644 --- a/lib/libc/gdtoa/machdep_ldisx.c +++ b/lib/libc/gdtoa/machdep_ldisx.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/gen/__pthread_mutex_init_calloc_cb_stub.c b/lib/libc/gen/__pthread_mutex_init_calloc_cb_stub.c index ee7a12f1c1ac..1f0a8f7a944d 100644 --- a/lib/libc/gen/__pthread_mutex_init_calloc_cb_stub.c +++ b/lib/libc/gen/__pthread_mutex_init_calloc_cb_stub.c @@ -1,6 +1,5 @@ /* * Copyright (c) 2014 The FreeBSD Foundation. - * All rights reserved. * * Portions of this software were developed by Konstantin Belousov * under sponsorship from the FreeBSD Foundation. diff --git a/lib/libc/gen/cap_rights_get.3 b/lib/libc/gen/cap_rights_get.3 index 46013a06ea3c..e99424c7afdc 100644 --- a/lib/libc/gen/cap_rights_get.3 +++ b/lib/libc/gen/cap_rights_get.3 @@ -1,6 +1,5 @@ .\" .\" Copyright (c) 2013 The FreeBSD Foundation -.\" All rights reserved. .\" .\" This documentation was written by Pawel Jakub Dawidek under sponsorship .\" from the FreeBSD Foundation. diff --git a/lib/libc/gen/cap_sandboxed.3 b/lib/libc/gen/cap_sandboxed.3 index e3e19d709741..6e2004fb7a29 100644 --- a/lib/libc/gen/cap_sandboxed.3 +++ b/lib/libc/gen/cap_sandboxed.3 @@ -1,6 +1,5 @@ .\" .\" Copyright (c) 2012 The FreeBSD Foundation -.\" All rights reserved. .\" .\" This documentation was written by Pawel Jakub Dawidek under sponsorship .\" from the FreeBSD Foundation. diff --git a/lib/libc/gen/cap_sandboxed.c b/lib/libc/gen/cap_sandboxed.c index 0252a702c6e4..d01d94735bec 100644 --- a/lib/libc/gen/cap_sandboxed.c +++ b/lib/libc/gen/cap_sandboxed.c @@ -2,7 +2,6 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2012 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Pawel Jakub Dawidek under sponsorship from * the FreeBSD Foundation. diff --git a/lib/libc/gen/fnmatch.c b/lib/libc/gen/fnmatch.c index ebf18fc6a1c4..e211f3d535ad 100644 --- a/lib/libc/gen/fnmatch.c +++ b/lib/libc/gen/fnmatch.c @@ -8,7 +8,7 @@ * Guido van Rossum. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/gen/glob.c b/lib/libc/gen/glob.c index c2744b80ac69..52a5ce4e7197 100644 --- a/lib/libc/gen/glob.c +++ b/lib/libc/gen/glob.c @@ -8,7 +8,7 @@ * Guido van Rossum. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/gen/memalign.c b/lib/libc/gen/memalign.c index 60daeaf3a884..af64c998dbd4 100644 --- a/lib/libc/gen/memalign.c +++ b/lib/libc/gen/memalign.c @@ -1,6 +1,5 @@ /*- * Copyright (c) 2020 The FreeBSD Foundation - * All rights reserved. * * This software was developed by Konstantin Belousov * under sponsorship from the FreeBSD Foundation. diff --git a/lib/libc/locale/ascii.c b/lib/libc/locale/ascii.c index 2bf62386dc14..55761626d67b 100644 --- a/lib/libc/locale/ascii.c +++ b/lib/libc/locale/ascii.c @@ -9,7 +9,7 @@ * Paul Borman at Krystal Technologies. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/big5.c b/lib/libc/locale/big5.c index de0c10ce3f28..77c19e9d7c0e 100644 --- a/lib/libc/locale/big5.c +++ b/lib/libc/locale/big5.c @@ -9,7 +9,7 @@ * Paul Borman at Krystal Technologies. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/btowc.c b/lib/libc/locale/btowc.c index cd9e11524369..e5e4951fedd8 100644 --- a/lib/libc/locale/btowc.c +++ b/lib/libc/locale/btowc.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/collate.c b/lib/libc/locale/collate.c index be995a5b963f..60c14a7de552 100644 --- a/lib/libc/locale/collate.c +++ b/lib/libc/locale/collate.c @@ -8,7 +8,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/collate.h b/lib/libc/locale/collate.h index 8a0b61db6ee1..2d3723b49f5b 100644 --- a/lib/libc/locale/collate.h +++ b/lib/libc/locale/collate.h @@ -7,7 +7,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/collcmp.c b/lib/libc/locale/collcmp.c index c3fe384aee4b..7b2d6723411b 100644 --- a/lib/libc/locale/collcmp.c +++ b/lib/libc/locale/collcmp.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/ctype.c b/lib/libc/locale/ctype.c index 2d5866a751ee..a907ac4234fd 100644 --- a/lib/libc/locale/ctype.c +++ b/lib/libc/locale/ctype.c @@ -2,7 +2,6 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. * * This software was developed by David Chisnall under sponsorship from * the FreeBSD Foundation. diff --git a/lib/libc/locale/ctype_l.3 b/lib/libc/locale/ctype_l.3 index 7c45e240e2d6..6879ba72706e 100644 --- a/lib/libc/locale/ctype_l.3 +++ b/lib/libc/locale/ctype_l.3 @@ -1,5 +1,4 @@ .\" Copyright (c) 2011 The FreeBSD Foundation -.\" All rights reserved. .\" .\" This documentation was written by David Chisnall under sponsorship from .\" the FreeBSD Foundation. diff --git a/lib/libc/locale/duplocale.3 b/lib/libc/locale/duplocale.3 index 4c3d94f54534..2e44df8c63a5 100644 --- a/lib/libc/locale/duplocale.3 +++ b/lib/libc/locale/duplocale.3 @@ -1,5 +1,4 @@ .\" Copyright (c) 2011 The FreeBSD Foundation -.\" All rights reserved. .\" .\" This documentation was written by David Chisnall under sponsorship from .\" the FreeBSD Foundation. diff --git a/lib/libc/locale/euc.c b/lib/libc/locale/euc.c index 0ce49e070d1f..823928ff745b 100644 --- a/lib/libc/locale/euc.c +++ b/lib/libc/locale/euc.c @@ -11,7 +11,7 @@ * Paul Borman at Krystal Technologies. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/freelocale.3 b/lib/libc/locale/freelocale.3 index c37b21477c8f..594720f4dfab 100644 --- a/lib/libc/locale/freelocale.3 +++ b/lib/libc/locale/freelocale.3 @@ -1,5 +1,4 @@ .\" Copyright (c) 2011 The FreeBSD Foundation -.\" All rights reserved. .\" .\" This documentation was written by David Chisnall under sponsorship from .\" the FreeBSD Foundation. diff --git a/lib/libc/locale/gb18030.c b/lib/libc/locale/gb18030.c index f2f2847578eb..1ddb3e463872 100644 --- a/lib/libc/locale/gb18030.c +++ b/lib/libc/locale/gb18030.c @@ -7,7 +7,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/gb2312.c b/lib/libc/locale/gb2312.c index a3472117a4aa..dbcb56435ab6 100644 --- a/lib/libc/locale/gb2312.c +++ b/lib/libc/locale/gb2312.c @@ -8,7 +8,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/gbk.c b/lib/libc/locale/gbk.c index a0ed8a10cedc..045e0645b1b5 100644 --- a/lib/libc/locale/gbk.c +++ b/lib/libc/locale/gbk.c @@ -11,7 +11,7 @@ * Paul Borman at Krystal Technologies. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/lmessages.c b/lib/libc/locale/lmessages.c index ae562eaf688e..90757b131fbb 100644 --- a/lib/libc/locale/lmessages.c +++ b/lib/libc/locale/lmessages.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/lmessages.h b/lib/libc/locale/lmessages.h index a83473d9db9a..a6057caa0ecf 100644 --- a/lib/libc/locale/lmessages.h +++ b/lib/libc/locale/lmessages.h @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/lmonetary.c b/lib/libc/locale/lmonetary.c index 116f32ae3623..d2875e102b31 100644 --- a/lib/libc/locale/lmonetary.c +++ b/lib/libc/locale/lmonetary.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/lmonetary.h b/lib/libc/locale/lmonetary.h index c9f835bf880c..11e39545482d 100644 --- a/lib/libc/locale/lmonetary.h +++ b/lib/libc/locale/lmonetary.h @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/lnumeric.c b/lib/libc/locale/lnumeric.c index b37af113e319..28016777edb3 100644 --- a/lib/libc/locale/lnumeric.c +++ b/lib/libc/locale/lnumeric.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/lnumeric.h b/lib/libc/locale/lnumeric.h index aa1c4a7a231c..eaba6ed0bf54 100644 --- a/lib/libc/locale/lnumeric.h +++ b/lib/libc/locale/lnumeric.h @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/localeconv.c b/lib/libc/locale/localeconv.c index 144bada3d89f..ae68d2687663 100644 --- a/lib/libc/locale/localeconv.c +++ b/lib/libc/locale/localeconv.c @@ -6,7 +6,7 @@ * The Regents of the University of California. All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/mblen.c b/lib/libc/locale/mblen.c index 00d0ec4d2feb..a0ff1660ce5d 100644 --- a/lib/libc/locale/mblen.c +++ b/lib/libc/locale/mblen.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/mblocal.h b/lib/libc/locale/mblocal.h index 14eb4b69fc82..a39117cc6352 100644 --- a/lib/libc/locale/mblocal.h +++ b/lib/libc/locale/mblocal.h @@ -7,7 +7,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/mbrlen.c b/lib/libc/locale/mbrlen.c index dd0154b79681..57237c86141e 100644 --- a/lib/libc/locale/mbrlen.c +++ b/lib/libc/locale/mbrlen.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/mbrtowc.c b/lib/libc/locale/mbrtowc.c index f4aaffb98b94..b92968156e0e 100644 --- a/lib/libc/locale/mbrtowc.c +++ b/lib/libc/locale/mbrtowc.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/mbsinit.c b/lib/libc/locale/mbsinit.c index 5947132088f8..c9aece68fe6f 100644 --- a/lib/libc/locale/mbsinit.c +++ b/lib/libc/locale/mbsinit.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/mbsnrtowcs.c b/lib/libc/locale/mbsnrtowcs.c index c543a6c7e631..b667ee710757 100644 --- a/lib/libc/locale/mbsnrtowcs.c +++ b/lib/libc/locale/mbsnrtowcs.c @@ -6,10 +6,9 @@ * Copyright (c) 2002-2004 Tim J. Robbins. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. - * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/lib/libc/locale/mbsrtowcs.c b/lib/libc/locale/mbsrtowcs.c index 2b2b840a8821..718d61c77ea4 100644 --- a/lib/libc/locale/mbsrtowcs.c +++ b/lib/libc/locale/mbsrtowcs.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/mbstowcs.c b/lib/libc/locale/mbstowcs.c index 12f164584971..805a49b3563f 100644 --- a/lib/libc/locale/mbstowcs.c +++ b/lib/libc/locale/mbstowcs.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/mbtowc.c b/lib/libc/locale/mbtowc.c index 785b898abd92..56b9b2ba8afd 100644 --- a/lib/libc/locale/mbtowc.c +++ b/lib/libc/locale/mbtowc.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/mskanji.c b/lib/libc/locale/mskanji.c index 22861edc036f..3b30ed0c6027 100644 --- a/lib/libc/locale/mskanji.c +++ b/lib/libc/locale/mskanji.c @@ -11,7 +11,7 @@ * May 12, 1995 * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/newlocale.3 b/lib/libc/locale/newlocale.3 index 86f9d6be14a9..8dbe52e10eb9 100644 --- a/lib/libc/locale/newlocale.3 +++ b/lib/libc/locale/newlocale.3 @@ -1,5 +1,4 @@ .\" Copyright (c) 2011 The FreeBSD Foundation -.\" All rights reserved. .\" .\" This documentation was written by David Chisnall under sponsorship from .\" the FreeBSD Foundation. diff --git a/lib/libc/locale/nextwctype.c b/lib/libc/locale/nextwctype.c index 73b2607e23af..dd81cd82940e 100644 --- a/lib/libc/locale/nextwctype.c +++ b/lib/libc/locale/nextwctype.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/nl_langinfo.c b/lib/libc/locale/nl_langinfo.c index 5a0991412c29..b7055f3eaa62 100644 --- a/lib/libc/locale/nl_langinfo.c +++ b/lib/libc/locale/nl_langinfo.c @@ -5,7 +5,7 @@ * All rights reserved. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/none.c b/lib/libc/locale/none.c index 7fc63a74181e..a0110f8590ec 100644 --- a/lib/libc/locale/none.c +++ b/lib/libc/locale/none.c @@ -11,7 +11,7 @@ * Paul Borman at Krystal Technologies. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/querylocale.3 b/lib/libc/locale/querylocale.3 index 69944f90d79b..6ac317ef42bf 100644 --- a/lib/libc/locale/querylocale.3 +++ b/lib/libc/locale/querylocale.3 @@ -1,5 +1,4 @@ .\" Copyright (c) 2011 The FreeBSD Foundation -.\" All rights reserved. .\" .\" This documentation was written by David Chisnall under sponsorship from .\" the FreeBSD Foundation. diff --git a/lib/libc/locale/runetype.c b/lib/libc/locale/runetype.c index b10550c501f8..1442c3a77fd5 100644 --- a/lib/libc/locale/runetype.c +++ b/lib/libc/locale/runetype.c @@ -8,7 +8,7 @@ * Paul Borman at Krystal Technologies. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/setrunelocale.c b/lib/libc/locale/setrunelocale.c index 5d5116a95bbe..8c8ef82a1193 100644 --- a/lib/libc/locale/setrunelocale.c +++ b/lib/libc/locale/setrunelocale.c @@ -8,7 +8,7 @@ * Paul Borman at Krystal Technologies. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/table.c b/lib/libc/locale/table.c index 2208a3c0455c..1c6ecacbbbfa 100644 --- a/lib/libc/locale/table.c +++ b/lib/libc/locale/table.c @@ -8,7 +8,7 @@ * Paul Borman at Krystal Technologies. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/tolower.c b/lib/libc/locale/tolower.c index fdf07b56532f..59cd24393a22 100644 --- a/lib/libc/locale/tolower.c +++ b/lib/libc/locale/tolower.c @@ -8,7 +8,7 @@ * Paul Borman at Krystal Technologies. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/toupper.c b/lib/libc/locale/toupper.c index d43c03761d0f..6de0c76860bd 100644 --- a/lib/libc/locale/toupper.c +++ b/lib/libc/locale/toupper.c @@ -8,7 +8,7 @@ * Paul Borman at Krystal Technologies. * * Copyright (c) 2011 The FreeBSD Foundation - * All rights reserved. + * * Portions of this software were developed by David Chisnall * under sponsorship from the FreeBSD Foundation. * diff --git a/lib/libc/locale/uselocale.3 b/lib/libc/locale/uselocale.3 index e0eccfe676b6..269430e40da6 100644 --- a/lib/libc/locale/uselocale.3 +++ b/lib/libc/locale/uselocale.3 @@ -1,5 +1,4 @@ .\" Copyright (c) 2011 The FreeBSD Foundation -.\" All rights reserved. .\" .\" This documentation was written by David Chisnall under sponsorship from .\" the FreeBSD Foundation. diff --git a/lib/libc/locale/utf8.c b/lib/libc/locale/utf8.c index d9cd94c9b3ab..3eb5f21bc3b3 100644 *** 1967 LINES SKIPPED *** From nobody Mon Sep 25 13:49:44 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvPPh4lF4z4rMN4; Mon, 25 Sep 2023 13:49: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 4RvPPh433dz4P2t; Mon, 25 Sep 2023 13:49:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695649784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RdGsPoC/mwj82DF76n0n6q8CTc+2bcJ9lDKK5CesXsI=; b=DDKG1FAm1m1H0O56yve+Jqp9D/MKOzU0ZiV4dwJLwEE7OI++MOqCeBM0OdDv32NtXIEnfj /4XWY+zZSRkjMzvP/zvlbxdTLANmqk9GgNgiyJ/DHrPKOVbQgHKBVlXEGGVLXCnsfa65b6 ZhiQyE9IHi1d/lX1aLpHN6vPArt2OF1LSy84g+U6IDj0qOCVOm8F0s7UnUIXKqp+3xNmWa +sZsBAiPfYuYjBzDo1nDqhIPxaLf58xkwW/GfZhLygCipnC/hkIQf9eBo7Qik+yiRP6Wm1 eDAcXLhLdG4GDhBf/iwtkGEicoVNgzgJRp0vPO2yqXPZT1F896+5nHVZY/TPVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695649784; a=rsa-sha256; cv=none; b=FYN3r2zC9fGrZ6A7U1arQyB0TBNUB51O+or+iGWcaikPt6mHblrIDo5vhlZPC5WS5zu3wj 50fvFjBDPtSXPboh3SJQns6AF82iRCLaNszRgHNwNN+mV1Ssfl0sDJUMwtfabeejoCJqKl C9+sZ80sM+nZ+o2eAeR/U3blEvbTVgCuhXOX+/dbPcqN+WF4W5ZrZiIYtNlfDqVnRr+Kl3 yC6sVddYPJHRz15LCWQZUERDYb4uqZvEvcaBETpx4CLIwU3LkC82J28z/7FG+RVcs+RHvk ov/pHhbQnAX4dSs+pRbcubW0+5OqRs/KhVik9fFzDUrCfEdIDrwDXwl+xrypzQ== 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=1695649784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RdGsPoC/mwj82DF76n0n6q8CTc+2bcJ9lDKK5CesXsI=; b=ULAGBxZY9skLJ35+1izfHSDYak+dYlSJEtrUv2TiS1aXtIfowbzrvm8y4iL7qL9YQ4D1jD uzUf7l6NZX9Z1RjQGE8HCkEUVMRgcoCKa3NvpslJBii6Euue/VARmyFrhXwSTqtrbOt224 E9WPK4D08Xi2EcRupoGoQEc2BsX20MPpTyIw8GiFXkFvkrjDz6R93kw6lMUJb1mVnMkyKc b4rzjLigQ3FldlKVXX/P4InX2qQdzb02sDD8auroMNGge88er2DyhtZxYzLBy5M9REBIWh H/KHQRNpmqY7dLALR1Su52Cs3BYaZ9yQ4kY5qWR2gBa/CWhHrVSx+OfQ3ilv4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvPPh2wttz257; Mon, 25 Sep 2023 13:49: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 38PDniJv028579; Mon, 25 Sep 2023 13:49:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PDniw7028576; Mon, 25 Sep 2023 13:49:44 GMT (envelope-from git) Date: Mon, 25 Sep 2023 13:49:44 GMT Message-Id: <202309251349.38PDniw7028576@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: f4ebac8d805b - stable/13 - buf.h: Fix declaration of unmapped_buf List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: f4ebac8d805b94c99b08d96a262218cbe48cd3a6 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f4ebac8d805b94c99b08d96a262218cbe48cd3a6 commit f4ebac8d805b94c99b08d96a262218cbe48cd3a6 Author: Sebastian Huber AuthorDate: 2022-07-19 18:09:43 +0000 Commit: Ed Maste CommitDate: 2023-09-25 13:49:25 +0000 buf.h: Fix declaration of unmapped_buf For architectures with a small-data area, the __read_mostly section must present at the object declaration. (emaste note: This does not appear to have an affect within FreeBSD, but may be needed by downstream projects that handle __read_mostly / __section(".data.read_mostly") differently.) Pull Request: https://github.com/freebsd/freebsd-src/pull/608 (cherry picked from commit ede6c6c0434a266a1712ffe807f4e31e229948df) --- sys/sys/buf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/sys/buf.h b/sys/sys/buf.h index 73b68a51dce7..b46895b55892 100644 --- a/sys/sys/buf.h +++ b/sys/sys/buf.h @@ -510,7 +510,8 @@ extern int bdwriteskip; extern int dirtybufferflushes; extern int altbufferflushes; extern int nswbuf; /* Number of swap I/O buffer headers. */ -extern caddr_t unmapped_buf; /* Data address for unmapped buffers. */ +extern caddr_t __read_mostly unmapped_buf; /* Data address for unmapped + buffers. */ static inline int buf_mapped(struct buf *bp) From nobody Mon Sep 25 13:49:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvPPj5wyrz4rMTX; Mon, 25 Sep 2023 13:49: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 4RvPPj54gbz4P7j; Mon, 25 Sep 2023 13:49:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695649785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=13Vv3B/c7hv5Quv5/5pfcf+WXjc4Faoz1qL7LpM+5t0=; b=rFrOOFSFLJ24AJwudGTev8WRJgO6uqVVMf3Dwi5eaLdCXchXQ/EfC/iobnDs6MvcB4tzrP F9VdqV+0jZW4MV62wsy59XCOgWl5gXrkIJ6OkwMCQXbGxUmi9Mx98iTPsYxgj1VFGvBitd SEVx8oJPLCDlzQu8QrMCFAo1T7ugOyYeBY8m/gWZhCXCJXQDlSjrTzrUat+a9ps7OPMFGr M+xoe/Odbjw89VTYEse7J3RIeGdHb20qUunGPByOVYrjKi1tNCVsskNQrNe4wacfrQU17w i8/p5whkYmk8ZRyyiW48wmBTAN66aO8TYHFP1j134RJcwSCBpCQATNJP7ulzOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695649785; a=rsa-sha256; cv=none; b=IF3maPBmRFOwRBgJw2e9Shs2UBLYCCnuoxkdhZz31GGgH3AdMRLh0iZeAzmQ1JfhJ1ICh+ 84mIqRPav+IXqXF9vw38o0ANbQI6wRQ49iAY7+WletClX7LhEO6pbeHOsoXNscdmiWD/Q6 aOekad61kyF/yA+QLEOsrAm/kNY7hfySJUnP68Viu9BbrGwCBpnZV/qLxW7KL7TIvVjNQZ eiwy0qy/ShGr4j+CyWxZYzVVRqpkJ9B2Lc86X9NwS5qS0adXrq+Qx1Gd5cchKHm74jRDc+ cCfQshIz2GpEHJFCVZsKA+rehq5lXZ7EuzzOE2FvKD6SHUF/Tvo1mNr+e3SBEw== 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=1695649785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=13Vv3B/c7hv5Quv5/5pfcf+WXjc4Faoz1qL7LpM+5t0=; b=ocvwouAeH04GC5wczoLwFXZUt+DSfKmZUUYSKMISLlWBHXKjwbakXFEAJC8m/wc77tFq7P WRhVf5DwnkpYdz8zzaqPKm/UI8cS6X7w4qkLbNP0TqsD62c9TtwmRKQkfm0Up44/e+SkcA vg6eLzq9bvIeFjQ8OxmpwT+ZI7HaPfbvqQO28SH7vwFDpZmCAOeybpZOu1PjdthdXeBO77 yG1lYcG7zYzWIEmzBfNLosyCarvqduQ0tDMl2YsuQ/4pZZ7r5lPD+H0kC5v0BwMkIsBp/v 9JkZNooKIwatcmvREOh191Ox4rlyvc2EZpQ/ARJfHjSuN9w0izQzAUegPWQq/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 4RvPPj3xVsz1rH; Mon, 25 Sep 2023 13:49: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 38PDnjlW028624; Mon, 25 Sep 2023 13:49:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PDnju2028621; Mon, 25 Sep 2023 13:49:45 GMT (envelope-from git) Date: Mon, 25 Sep 2023 13:49:45 GMT Message-Id: <202309251349.38PDnju2028621@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: 34eb62bb9671 - stable/13 - axge: Skip dummy packet headers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 34eb62bb9671e87b7aa6b04a4c0a0f9b7e284565 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=34eb62bb9671e87b7aa6b04a4c0a0f9b7e284565 commit 34eb62bb9671e87b7aa6b04a4c0a0f9b7e284565 Author: Damien Broka AuthorDate: 2023-09-13 08:23:47 +0000 Commit: Ed Maste CommitDate: 2023-09-25 13:49:25 +0000 axge: Skip dummy packet headers Newer versions of the AX88179 interweave dummies alongside valid packet headers in bulk IN transfer data. This was probably done for backward compatibility with existing drivers. However current driver records these dummy headers as dropped frames, leading to stats misreporting one Ierr per Ipkt. This skips those dummy headers silently, thereby not generating Ierrs for them. Reviewed by: emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/842 (cherry picked from commit 70fbcd451b68b7f6038d8a602cd8d5e1bb890f1d) --- sys/dev/usb/net/if_axge.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/net/if_axge.c b/sys/dev/usb/net/if_axge.c index 2ae0bee38ea1..5cabad95c07f 100644 --- a/sys/dev/usb/net/if_axge.c +++ b/sys/dev/usb/net/if_axge.c @@ -962,8 +962,16 @@ axge_rx_frame(struct usb_ether *ue, struct usb_page_cache *pc, int actlen) hdr_off = pkt_end = (rxhdr >> 16) & 0xFFFF; /* + * On older firmware: * <----------------------- actlen ------------------------> * [frame #0]...[frame #N][pkt_hdr #0]...[pkt_hdr #N][rxhdr] + * + * On newer firmware: + * <----------------------- actlen ----------------- + * [frame #0]...[frame #N][pkt_hdr #0][dummy_hdr]... + * --------------------------------> + * ...[pkt_hdr #N][dummy_hdr][rxhdr] + * * Each RX frame would be aligned on 8 bytes boundary. If * RCR_IPE bit is set in AXGE_RCR register, there would be 2 * padding bytes and 6 dummy bytes(as the padding also should @@ -971,6 +979,10 @@ axge_rx_frame(struct usb_ether *ue, struct usb_page_cache *pc, int actlen) * IP header on 32bits boundary. Driver don't set RCR_IPE bit * of AXGE_RCR register, so there should be no padding bytes * which simplifies RX logic a lot. + * + * Further, newer firmware interweaves dummy headers that have + * pktlen == 0 and should be skipped without being seen as + * dropped frames. */ while (pkt_cnt--) { /* verify the header offset */ @@ -981,6 +993,12 @@ axge_rx_frame(struct usb_ether *ue, struct usb_page_cache *pc, int actlen) usbd_copy_out(pc, hdr_off, &pkt_hdr, sizeof(pkt_hdr)); pkt_hdr.status = le32toh(pkt_hdr.status); pktlen = AXGE_RXBYTES(pkt_hdr.status); + hdr_off += sizeof(pkt_hdr); + + /* Skip dummy packet header. */ + if (pktlen == 0) + continue; + if (pos + pktlen > pkt_end) { DPRINTF("Data position reached end\n"); break; @@ -992,7 +1010,6 @@ axge_rx_frame(struct usb_ether *ue, struct usb_page_cache *pc, int actlen) } else axge_rxeof(ue, pc, pos, pktlen, pkt_hdr.status); pos += (pktlen + 7) & ~7; - hdr_off += sizeof(pkt_hdr); } } From nobody Mon Sep 25 17:20:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvV541N6sz4tplV; Mon, 25 Sep 2023 17:20: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 4RvV540rvhz4q7L; Mon, 25 Sep 2023 17:20:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695662440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lCUdXYmhUryrGP2DmiLz9omvj9avRmQLcShrAW7L1ms=; b=jdsQOypc7HssT4twH6/r+Q28M6KokXDhOxpJQuSXtoclWoGsC5fmP9wxVJyIM1AL6/3e1k xW70PV38JxS6teW/PXvkS436o7kPCLX8H1d6kTiHGw8d4fOPuektYiyAY0+pjmQJG92/p2 Nz3zdEKBaBnb+26+X3tg2eOK2h9NEwbDh4CKQX5JtfVEWpDxNJHmyo1HwfIXd5qEivO7PM Mn/jXYGNLuWFEGNh08nc26Gas5r25BJtbAU5FV6b0K30zfzjubuCX8kY+vQfWpPh4HQpWx B36tFjjCFASO8jPdmEpkathjtvozIWGu+sZXa2F+3VKfSwrtrebK2ApZdRjirA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695662440; a=rsa-sha256; cv=none; b=a274QqBNgq4ZQi5CbnIYG6BdXezJuGb3XdsNuQYWpLquH9/1C/b7s0dYfEzp7Emk4XN1Ro OvnzwPIPg9mzk38UECLgnqaQmc27wpeEFymi52K1OLrbrfB9akL3YuxeqL4GphUgOTBWBL 26+ouAzbtCE+P4qzznaxZa52xQ+2VkQCVzCVMsvMoC8pN7qlj18gPIvDo/IGIRaDBz62Ma Z4ULXXqvIAibh93xIzhZplTRwkcUYaEfSPbEhJJDm3SykbTbsuqO39m44KVAZJTiNLaspD 9GArAPdM4ZoM59WoKUI5+7vVqF6YGm88SJ8gAp1ODcq6dTAgCUx8aga8RTYZ/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=1695662440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lCUdXYmhUryrGP2DmiLz9omvj9avRmQLcShrAW7L1ms=; b=qpnZxLevECMG0lvnHF6rc5GR9QOv3lo4uZg0CfK33AknnAe0bNGkz4aeUDuuS9TRdhx8fu JJOa0xmedMEbTxaYRYryiRPLydOFfyBr6coTCMZa5PcR/UENHIBCeSyq5PrrQVmDSNVBMS swFYszmT1hjDUXWvsVax+pxtGIJg7MLwVcshNkq3Hoyr/MuIpzeEjm4pJkrl+wKmghU9nu 0vVgblg+RsEaVe+XkHWuUnWJcSwN/zkJGPk5BrMQX4Qf++vIqAXhFmq4edqmN5HihuK3UM 1PxtZtsYSkaOuywn1MjGt+9+RVtktLxpxFTd2399DuLEXl5sO47xpjYcImG8bQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvV5371Jyz7Wr; Mon, 25 Sep 2023 17:20: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 38PHKd0B087258; Mon, 25 Sep 2023 17:20:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PHKdJ4087255; Mon, 25 Sep 2023 17:20:39 GMT (envelope-from git) Date: Mon, 25 Sep 2023 17:20:39 GMT Message-Id: <202309251720.38PHKdJ4087255@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 49e1f23c7715 - releng/14.0 - libpmc: make pmc_pmu_pmcallocate() machine-independent List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 49e1f23c7715ec1ac665d7c8fea226f761454b3e Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=49e1f23c7715ec1ac665d7c8fea226f761454b3e commit 49e1f23c7715ec1ac665d7c8fea226f761454b3e Author: Mitchell Horne AuthorDate: 2023-06-19 22:32:22 +0000 Commit: Mitchell Horne CommitDate: 2023-09-25 17:18:44 +0000 libpmc: make pmc_pmu_pmcallocate() machine-independent Have it call the platform-dependent version. For better layering, move the reset logic inside the new function. This is mainly to facilitate an upcoming change. Reviewed by: jkoshy Approved by: re (gjb) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40752 (cherry picked from commit 45dcc17e2fb8f0f9838ba167b311f271a08fcea9) (cherry picked from commit 196bb0e152cf2d3a0ba61bda8a2d09c8107a809a) --- lib/libpmc/libpmc.c | 5 ----- lib/libpmc/libpmc_pmu_util.c | 34 ++++++++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c index 71fba89237ff..a7ed1c3d9ac8 100644 --- a/lib/libpmc/libpmc.c +++ b/lib/libpmc/libpmc.c @@ -1091,11 +1091,6 @@ pmc_allocate(const char *ctrspec, enum pmc_mode mode, assert(pmc_config.pm_ev < PMC_EVENT_FIRST); goto found; } - - /* Otherwise, reset any changes */ - pmc_config.pm_ev = 0; - pmc_config.pm_caps = 0; - pmc_config.pm_class = 0; } free(spec_copy); spec_copy = NULL; diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c index a61f81f7d2c7..772dec7a9d53 100644 --- a/lib/libpmc/libpmc_pmu_util.c +++ b/lib/libpmc/libpmc_pmu_util.c @@ -572,8 +572,8 @@ pmc_pmu_intel_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm, return (0); } -int -pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) +static int +pmc_pmu_pmcallocate_md(const char *event_name, struct pmc_op_pmcallocate *pm) { const struct pmu_event *pe; struct pmu_event_desc ped; @@ -604,8 +604,8 @@ pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) #elif defined(__powerpc64__) -int -pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) +static int +pmc_pmu_pmcallocate_md(const char *event_name, struct pmc_op_pmcallocate *pm) { const struct pmu_event *pe; struct pmu_event_desc ped; @@ -631,8 +631,8 @@ pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) #elif defined(__aarch64__) -int -pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) +static int +pmc_pmu_pmcallocate_md(const char *event_name, struct pmc_op_pmcallocate *pm) { const struct pmu_event *pe; struct pmu_event_desc ped; @@ -658,9 +658,27 @@ pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) #else -int -pmc_pmu_pmcallocate(const char *e __unused, struct pmc_op_pmcallocate *p __unused) +static int +pmc_pmu_pmcallocate_md(const char *e __unused, struct pmc_op_pmcallocate *p __unused) { return (EOPNOTSUPP); } #endif + +int +pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) +{ + int error; + + error = pmc_pmu_pmcallocate_md(event_name, pm); + if (error != 0) { + /* Reset any changes. */ + pm->pm_ev = 0; + pm->pm_caps = 0; + pm->pm_class = 0; + + return (error); + } + + return (0); +} From nobody Mon Sep 25 17:20:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvV552XJVz4tpfp; Mon, 25 Sep 2023 17:20: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 4RvV551s5Fz4pw7; Mon, 25 Sep 2023 17:20:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695662441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rKJomyz6N0n17fVxpdwgCTUGb1JPs+1ZjIooPrNeYl4=; b=Xg6fPnRrTL09ZUPtRZtET92C8tiashP7ktY+HVQjUc05ZcEtwhBmZaBeKvz3iWj3JOx8QS XPCxlUKcMjNIrntiP8YiF0//NFH/dM517sGReGh7AeaCQ7M2ZZoY+XtBJ7bDFt9bcaLpGH JRGFjCAnrxpbCodJQfIqVUq0deWp6KbiImSM+zj05CsjW4Bay2bPAktomMEo6hdA77Yprr 9rLpPtPWhT8zkXAikF23mes9NBvgKjV34nIo8DaElZycuuTF8B9fJhjtWIkQ6WJEj21RzM 6q6Ew9zt4yK/1dgoNKtGmSpLI1dOnUGZXcPqluTCrKFvMZK7GKcliK0xGJvPww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695662441; a=rsa-sha256; cv=none; b=Yt9hzsztcYfGJePeA7hRHG8NYJ6B6Zb+00lkSdGw2EjBxQxWuFt3Wm6GN34BLJH47bUeCO 1CoKbA5ScAOiVUUduWC+Jxfy86h9iG+ZJyLTYtOfDewn1fkMJK0L+WkKzOys2H2fo9hTbi Bvw9AUYc02kKVK0NK8nuhe5DvZk0J+B8sy+uMcSygrWl2Y5s3PakbMbtkXLZMGl6urLAAT eU+4Et9mn4wVFvfD2tj6AP354iw8QkJnTlLSHhUfx91/ByasXsH66X19Vnc/AawoSh7ZQ8 vNWLBWRNI+0CTIpcuf5vyXS7TVPqxQyNw3TBpcEcbHXnSZK8wavAdG5QEcsKZg== 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=1695662441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rKJomyz6N0n17fVxpdwgCTUGb1JPs+1ZjIooPrNeYl4=; b=PhrD4/yA/fDAxOfw/7dlbDtZywOeNnVVO1QmZhjGQkdLwaBC4ErdUa10ht8Zuju0P/ElBx WW2L5a8rk99uO9bgm3C1RsihG0ZQc6lLWvwRKsbqxnCqRmj7RGApaEUVKbqaWa8tHBbnhT pff6GcdA2mXpoHS9jAtStIB3TDtO5sgCPakkbgxcUg08ACcnRabwaA+oahHcMIrWS4hVP1 h+GvvQRn4YVsrMDQNSB9rk4dBLRbu4pnCtUy84CAFYdaPaq7jLlfZ09MxAXR/iO2U+wuME kwGRBnOIHE+OAw9VMtGxvBoKIkeeMB0fYRgkCF26wK1aL6ViFHYCMTuO6XksHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvV550wztz7F3; Mon, 25 Sep 2023 17:20: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 38PHKfEW087303; Mon, 25 Sep 2023 17:20:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PHKfGY087300; Mon, 25 Sep 2023 17:20:41 GMT (envelope-from git) Date: Mon, 25 Sep 2023 17:20:41 GMT Message-Id: <202309251720.38PHKfGY087300@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 5f74163bdefc - releng/14.0 - pmc: better distinguish pmu-events allocation path List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 5f74163bdefc96c2723a66cf6283319848b861aa Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=5f74163bdefc96c2723a66cf6283319848b861aa commit 5f74163bdefc96c2723a66cf6283319848b861aa Author: Mitchell Horne AuthorDate: 2023-06-06 17:26:46 +0000 Commit: Mitchell Horne CommitDate: 2023-09-25 17:20:08 +0000 pmc: better distinguish pmu-events allocation path Background: The pm_ev field of struct pmc_op_pmcallocate and struct pmc traditionally contains the index of the chosen event, corresponding to the __PMC_EVENTS array in pmc_events.h. This is a static list of events, maintained by FreeBSD. In the usual case, libpmc translates the user supplied event name (string) into the pm_ev index, which is passed as an argument to the allocation syscall. On the kernel side, the allocation method for the relevant hwpmc class translates the given index into the event code that will be written to an event selection register. In 2018, a new source of performance event definitions was introduced: the pmu-events json files, which are maintained by the Linux kernel. The result was better coverage for newer Intel processors with a reduced maintenance burden for libpmc/hwpmc. Intel and AMD CPUs were unconditionally switched to allocate events from pmu-events instead of the traditional scheme (959826ca1bb0a, 81eb4dcf9e0d). Under the pmu-events scheme, the pm_ev field contains an index corresponding to the selected event from the pmu-events table, something which the kernel has no knowledge of. The configuration for the performance counting registers is instead passed via class-dependent fields (struct pmc_md_op_pmcallocate). In 2021 I changed the allocation logic so that it would attempt to pull from the pmu-events table first, and fall-back to the traditional method (dfb4fb41166bc3). Later, pmu-events support for arm64 and power8 CPUs was added (28dd6730a5d6 and b48a2770d48b). The problem that remains is that the pm_ev field is overloaded, without a definitive way to determine whether the event allocation came from the pmu-events table or FreeBSD's statically-defined PMC events. This resulted in a recent fix, 21f7397a61f7. Change: To disambiguate these two supported but separate use-cases, add a new flag, PMC_F_EV_PMU, to be set as part of the allocation, indicating that the event index came from pmu-events. This is useful in two ways: 1. On the kernel side, we can validate the syscall arguments better. Some classes support only the traditional event scheme (e.g. hwpmc_armv7), while others support only the pmu-events method (e.g. hwpmc_core for Intel). We can now check for this. The hwpmc_arm64 class supports both methods, so the new flag supersedes the existing MD flag, PM_MD_EVENT_RAW. 2. The flag will be tracked in struct pmc for the duration of its lifetime, meaning it is communicated back to userspace. This allows libpmc to perform the reverse index-to-event-name translation without speculating about the meaning of the index value. Adding the flag is a backwards-incompatible ABI change. We recently bumped the major version of the hwpmc module, so this breakage is acceptable. Reviewed by: jkoshy Approved by: re (gjb) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40753 (cherry picked from commit c190fb35f35cc163b61e582a49115680b0d49dcc) (cherry picked from commit 5adb91c72985b840b2c7fbf3c3308619acd2b61a) --- lib/libpmc/libpmc.c | 9 +-------- lib/libpmc/libpmc_pmu_util.c | 2 +- lib/libpmc/pmclog.c | 11 +++-------- sys/arm64/include/pmc_mdep.h | 2 -- sys/dev/hwpmc/hwpmc_amd.c | 3 +++ sys/dev/hwpmc/hwpmc_arm64.c | 6 +++--- sys/dev/hwpmc/hwpmc_core.c | 6 ++++++ sys/dev/hwpmc/hwpmc_mod.c | 3 ++- sys/dev/hwpmc/hwpmc_power8.c | 3 +++ sys/dev/hwpmc/hwpmc_uncore.c | 6 ++++++ sys/sys/pmc.h | 8 ++++++++ 11 files changed, 36 insertions(+), 23 deletions(-) diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c index a7ed1c3d9ac8..f10a64e28cac 100644 --- a/lib/libpmc/libpmc.c +++ b/lib/libpmc/libpmc.c @@ -33,7 +33,6 @@ #include #include -#include #include #include #include @@ -1083,14 +1082,8 @@ pmc_allocate(const char *ctrspec, enum pmc_mode mode, r = spec_copy = strdup(ctrspec); ctrname = strsep(&r, ","); if (pmc_pmu_enabled()) { - if (pmc_pmu_pmcallocate(ctrname, &pmc_config) == 0) { - /* - * XXX: pmclog_get_event exploits this to disambiguate - * PMU from PMC event codes in PMCALLOCATE events. - */ - assert(pmc_config.pm_ev < PMC_EVENT_FIRST); + if (pmc_pmu_pmcallocate(ctrname, &pmc_config) == 0) goto found; - } } free(spec_copy); spec_copy = NULL; diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c index 772dec7a9d53..fa2e76e8d026 100644 --- a/lib/libpmc/libpmc_pmu_util.c +++ b/lib/libpmc/libpmc_pmu_util.c @@ -649,7 +649,6 @@ pmc_pmu_pmcallocate_md(const char *event_name, struct pmc_op_pmcallocate *pm) assert(idx >= 0); pm->pm_ev = idx; pm->pm_md.pm_md_config = ped.ped_event; - pm->pm_md.pm_md_flags |= PM_MD_RAW_EVENT; pm->pm_class = PMC_CLASS_ARMV8; pm->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE); @@ -680,5 +679,6 @@ pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm) return (error); } + pm->pm_flags |= PMC_F_EV_PMU; return (0); } diff --git a/lib/libpmc/pmclog.c b/lib/libpmc/pmclog.c index a21fe42c9947..3b1572baaa2c 100644 --- a/lib/libpmc/pmclog.c +++ b/lib/libpmc/pmclog.c @@ -357,15 +357,10 @@ pmclog_get_event(void *cookie, char **data, ssize_t *len, PMCLOG_READ64(le,ev->pl_u.pl_a.pl_rate); /* - * Could be either a PMC event code or a PMU event index; - * assume that their encodings don't overlap (i.e. no PMU event - * table is more than 0x1000 entries) to distinguish them here. - * Otherwise pmc_pmu_event_get_by_idx will go out of bounds if - * given a PMC event code when it knows about that CPU. - * - * XXX: Ideally we'd have user flags to give us that context. + * pl_event could contain either a PMC event code or a PMU + * event index. */ - if (ev->pl_u.pl_a.pl_event < PMC_EVENT_FIRST) + if ((ev->pl_u.pl_a.pl_flags & PMC_F_EV_PMU) != 0) ev->pl_u.pl_a.pl_evname = pmc_pmu_event_get_by_idx(ps->ps_cpuid, ev->pl_u.pl_a.pl_event); diff --git a/sys/arm64/include/pmc_mdep.h b/sys/arm64/include/pmc_mdep.h index 5c43a7924b01..97d0f30c9c09 100644 --- a/sys/arm64/include/pmc_mdep.h +++ b/sys/arm64/include/pmc_mdep.h @@ -45,8 +45,6 @@ union pmc_md_op_pmcallocate { struct { uint32_t pm_md_config; - uint32_t pm_md_flags; -#define PM_MD_RAW_EVENT 0x1 }; struct pmc_md_cmn600_pmu_op_pmcallocate pm_cmn600; struct pmc_md_dmc620_pmu_op_pmcallocate pm_dmc620; diff --git a/sys/dev/hwpmc/hwpmc_amd.c b/sys/dev/hwpmc/hwpmc_amd.c index b15d223bc7a5..fbbaf92a1547 100644 --- a/sys/dev/hwpmc/hwpmc_amd.c +++ b/sys/dev/hwpmc/hwpmc_amd.c @@ -582,6 +582,9 @@ amd_allocate_pmc(int cpu, int ri, struct pmc *pm, if (pd->pd_class != a->pm_class) return EINVAL; + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + caps = pm->pm_caps; PMCDBG2(MDP,ALL,1,"amd-allocate ri=%d caps=0x%x", ri, caps); diff --git a/sys/dev/hwpmc/hwpmc_arm64.c b/sys/dev/hwpmc/hwpmc_arm64.c index 995b7158ac20..9a5debb8016b 100644 --- a/sys/dev/hwpmc/hwpmc_arm64.c +++ b/sys/dev/hwpmc/hwpmc_arm64.c @@ -177,9 +177,9 @@ arm64_allocate_pmc(int cpu, int ri, struct pmc *pm, } pe = a->pm_ev; - /* Adjust the config value if needed. */ - config = a->pm_md.pm_md_config; - if ((a->pm_md.pm_md_flags & PM_MD_RAW_EVENT) == 0) { + if ((a->pm_flags & PMC_F_EV_PMU) != 0) { + config = a->pm_md.pm_md_config; + } else { config = (uint32_t)pe - PMC_EV_ARMV8_FIRST; if (config > (PMC_EV_ARMV8_LAST - PMC_EV_ARMV8_FIRST)) return (EINVAL); diff --git a/sys/dev/hwpmc/hwpmc_core.c b/sys/dev/hwpmc/hwpmc_core.c index 15b875e3af94..3829a03eb729 100644 --- a/sys/dev/hwpmc/hwpmc_core.c +++ b/sys/dev/hwpmc/hwpmc_core.c @@ -239,6 +239,9 @@ iaf_allocate_pmc(int cpu, int ri, struct pmc *pm, if (a->pm_class != PMC_CLASS_IAF) return (EINVAL); + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + iap = &a->pm_md.pm_iap; config = iap->pm_iap_config; ev = IAP_EVSEL_GET(config); @@ -721,6 +724,9 @@ iap_allocate_pmc(int cpu, int ri, struct pmc *pm, if (a->pm_class != PMC_CLASS_IAP) return (EINVAL); + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + iap = &a->pm_md.pm_iap; ev = IAP_EVSEL_GET(iap->pm_iap_config); diff --git a/sys/dev/hwpmc/hwpmc_mod.c b/sys/dev/hwpmc/hwpmc_mod.c index de012b74d558..5dd8bc67d60a 100644 --- a/sys/dev/hwpmc/hwpmc_mod.c +++ b/sys/dev/hwpmc/hwpmc_mod.c @@ -3349,7 +3349,8 @@ pmc_do_op_pmcallocate(struct thread *td, struct pmc_op_pmcallocate *pa) * Look for valid values for 'pm_flags'. */ if ((flags & ~(PMC_F_DESCENDANTS | PMC_F_LOG_PROCCSW | - PMC_F_LOG_PROCEXIT | PMC_F_CALLCHAIN | PMC_F_USERCALLCHAIN)) != 0) + PMC_F_LOG_PROCEXIT | PMC_F_CALLCHAIN | PMC_F_USERCALLCHAIN | + PMC_F_EV_PMU)) != 0) return (EINVAL); /* PMC_F_USERCALLCHAIN is only valid with PMC_F_CALLCHAIN. */ diff --git a/sys/dev/hwpmc/hwpmc_power8.c b/sys/dev/hwpmc/hwpmc_power8.c index fc6b878eff7d..d7ccbc5c6c0a 100644 --- a/sys/dev/hwpmc/hwpmc_power8.c +++ b/sys/dev/hwpmc/hwpmc_power8.c @@ -168,6 +168,9 @@ power8_allocate_pmc(int cpu, int ri, struct pmc *pm, if (a->pm_class != PMC_CLASS_POWER8) return (EINVAL); + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + /* * PMC5 and PMC6 are not programmable and always count instructions * completed and cycles, respectively. diff --git a/sys/dev/hwpmc/hwpmc_uncore.c b/sys/dev/hwpmc/hwpmc_uncore.c index c16800c14ce1..fd4266b605ef 100644 --- a/sys/dev/hwpmc/hwpmc_uncore.c +++ b/sys/dev/hwpmc/hwpmc_uncore.c @@ -199,6 +199,9 @@ ucf_allocate_pmc(int cpu, int ri, struct pmc *pm, if (a->pm_class != PMC_CLASS_UCF) return (EINVAL); + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + flags = UCF_EN; pm->pm_md.pm_ucf.pm_ucf_ctrl = (flags << (ri * 4)); @@ -498,6 +501,9 @@ ucp_allocate_pmc(int cpu, int ri, struct pmc *pm, if (a->pm_class != PMC_CLASS_UCP) return (EINVAL); + if ((a->pm_flags & PMC_F_EV_PMU) == 0) + return (EINVAL); + ucp = &a->pm_md.pm_ucp; ev = UCP_EVSEL(ucp->pm_ucp_config); switch (uncore_cputype) { diff --git a/sys/sys/pmc.h b/sys/sys/pmc.h index a4d03efb6aac..714d8a7c65b7 100644 --- a/sys/sys/pmc.h +++ b/sys/sys/pmc.h @@ -369,6 +369,14 @@ enum pmc_ops { #define PMC_F_CALLCHAIN 0x00000080 /*OP ALLOCATE capture callchains */ #define PMC_F_USERCALLCHAIN 0x00000100 /*OP ALLOCATE use userspace stack */ +/* V10 API */ +#define PMC_F_EV_PMU 0x00000200 /* + * OP ALLOCATE: pm_ev has special + * userspace meaning; counter + * configuration is communicated + * through class-dependent fields + */ + /* internal flags */ #define PMC_F_ATTACHED_TO_OWNER 0x00010000 /*attached to owner*/ #define PMC_F_NEEDS_LOGFILE 0x00020000 /*needs log file */ From nobody Mon Sep 25 17:32:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvVLf4x3wz4tqFp; Mon, 25 Sep 2023 17:32: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 4RvVLf4MWDz4rmc; Mon, 25 Sep 2023 17:32:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695663146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rO3mf3Ny98cx7iwAcqo9tMFofYwrXwUxLRoOgaSIWMY=; b=Xnm4M0nmJj7sTkwCMlTumT8/S/XJbnsPi2AE0myVCgbaZ+YPWNnbMGZFgo8bXstbdWHWqL 9PKd+Ca23MZYnOIlec9QqemiilfJzJKSCGD+w2FAaY6iGERqSV9utYky7Ze9AkxjVzhQeb HyjMnugXa1YnfPduH8NNsMiIPPckGc9yQj5EkGwV5cBhxqMiM+6ajrQlUouyC0+vdrvG4e WJ3IbO9JgdN/FoSSjnq18Zrkgiok5XHe/04iSsO9zQ+X343JlJrmB/wGqd1u13ZF+Dwh9C p9gWPUr8UxSCgK2qYh0RU3sBkf8Wq1zFSH3ilVe1aV98XbW/XSZtc94ExYXaGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695663146; a=rsa-sha256; cv=none; b=L6u0BjoD5vprlO1kc7TOshLas7dWoQvWJbyO8dNNylE2FRfWWGnV1yauNatMkxxrBmifCc WKfblBr7/N2w2cgHTqYs2iZOsCgtCLU6NfOyXEuAyozQYKnbWHeL1EPZJo9TPpnk+Z1Sbu 55eL+e875CYCYgZb2DFwIh5tuun/VuHTWJ36kE0cCqGY1JBQ0Q+ui4GkG2PyorNIW9zyyW sznQAOvrKisbDo+nM+ptB0IEbxmVVKZh0xH5lIM2fA2MM58e7UVLSRMQo8ihk/eT03b3rX UbyAh1tmqBk5TnvNN/exrVxXt/Rfd+g7Sklb8Y5E9SXsFY/kboekcnOguHZFyQ== 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=1695663146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rO3mf3Ny98cx7iwAcqo9tMFofYwrXwUxLRoOgaSIWMY=; b=DNxqn32MFiSIhLIP69P9HqcIApDBqFAKs1s7sbBQBN33JWVjUffn0ByqXMfOnYluOJil6e 8IrMs+rfv2o2lD2n1/1vRPyOY/gTfi+4JaEKZVcEGGnZ/tnhnI1/DDerYfFVuG7UtvDRqK 68D/OxvVi4A0GCm4ydIvl7YaxREFHEg9WgPG0jLm5tT42JnKj7VzcoGFtqb9g3PBuAd34A M3v/UPtoBtO28m9bliM9Xq2Y9dOEPZknNFDtbHohwqxDqZMOLCPwK/XXrT5l8jf6lolRuK lSD75l/KT5eXy/bEfiX5oIphURwvaCPPJHDkkWuIS9s8jn/5IgmGwDw3COzKEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvVLf3PyWz816; Mon, 25 Sep 2023 17:32: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 38PHWQd2009351; Mon, 25 Sep 2023 17:32:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PHWQbn009348; Mon, 25 Sep 2023 17:32:26 GMT (envelope-from git) Date: Mon, 25 Sep 2023 17:32:26 GMT Message-Id: <202309251732.38PHWQbn009348@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: 1cc5240b590b - stable/13 - switch groff parameter -man to -mandoc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1cc5240b590ba13cb9a41995c8f80988007798cb Auto-Submitted: auto-generated The branch stable/13 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=1cc5240b590ba13cb9a41995c8f80988007798cb commit 1cc5240b590ba13cb9a41995c8f80988007798cb Author: Wolfram Schneider AuthorDate: 2023-09-07 06:28:24 +0000 Commit: Wolfram Schneider CommitDate: 2023-09-25 17:30:58 +0000 switch groff parameter -man to -mandoc groff 1.23.0 changed the semantics of the -man parameter, and many manual pages are not rendered. The -mandoc parameter brings back the old behavior, as in groff 1.22.4 and earlier. PR: 273565, 273245 Reviewed by: emaste, bapt MFC after: 1 week for all supported branches (stable/12, 13, 14) Differential Revision: https://reviews.freebsd.org/D41737 (cherry picked from commit 035f7c9a3653d91564a5513f1311aa3b6e14a17e) --- usr.bin/man/man.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index b9c49b51d3ba..96040c533de5 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -1004,11 +1004,11 @@ do_whatis() { # User's PATH setting decides on the groff-suite to pick up. EQN=eqn -NROFF='groff -S -P-h -Wall -mtty-char -man' +NROFF='groff -S -P-h -Wall -mtty-char -mandoc' PIC=pic REFER=refer TBL=tbl -TROFF='groff -S -man' +TROFF='groff -S -mandoc' VGRIND=vgrind LOCALE=/usr/bin/locale From nobody Mon Sep 25 17:32:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvVLg6Bhdz4tqKw; Mon, 25 Sep 2023 17:32: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 4RvVLg5Mlkz4sHk; Mon, 25 Sep 2023 17:32:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695663147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CA3eFrUxNbGmbv72TBWA82ZJLUwWr1QlTSsR/qyo6iI=; b=hkRPcjngjwMEgVa48R2prprHsZrI0+ecuVw9m2DSghdheWxwqH14kmmKVOClsLLXN6PnSC JK8KrAXWQHoyOwmOtDp2d5xQaRvBJ2Ej6I6nTvcY98pkmd59WKmPwrrFAwmXt6wTeMc9SA lE3O2xAOzj5Gk8EtToDNRtq0OO8eZ1hMLy3nMcqTCK/R48sbpOhn6G94hff9Q0+XMet9lr SB6jTIXcTQxFnL/Nrsn20bb/6m7cM5dWK8ZihtIUylF0ApdyuM+5/i02EnNf+MnGCDcbg8 zh2+3phzm0BVqGe7MrI8ON4M9R7zvQgOT2n0V1bEFP+lAVKC5YXdXfmV3zc+Zw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695663147; a=rsa-sha256; cv=none; b=YdJJWjEMZPxdmIFsIaW7nZc9z9nVng0+4cQlNAZVuhd2/Pm3Z3NlLS27Ya2aYrwYC4DZAc VueQ0qxNvQZAq084UP44VTv/UxLVhYwZ0tB4Ck+NrcrCvO2FzithfyaD7PIBSK/QHKtHxL 9JUTykMAjbfJgElEtJalWRtr3MlefmQBvrWgQBj6Ks5yvuqbrC8pCKXYyQ50vResCJItlj uzO27SvuVHHUPABQpqxYDgKGidTOw1TQgnrWvpLIevJStejPcOjpTiEsFWpdYgw0hJEAWv sDYDtl2N9VbhIKA9QZbiTp/Wan48UrQMt+upUvO0dmxYvHwkxWKW4oYYIMc/8g== 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=1695663147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CA3eFrUxNbGmbv72TBWA82ZJLUwWr1QlTSsR/qyo6iI=; b=CC8fIYeCP1yBgB6BKjH6hLJ/gyosDatrSNV1zOpzmbgPpdl1YkSMoDl10hUrQY9VsS6me5 SqVxEA9Mr/25PmeaoP3WaTaTjidKRjDGxaCQBL+xGlQk7x6wdtqdX89sL43H31GKNLejB7 y64Te+FD9iyXrBvaPlEtQHjkPPZyJr4f1nJRevquPp6OY9mVvO9HJhmpZw4wUinUz98jeq dsfOmFHzTBJVb1BAA0H/n0RLBA81HUVAhQZkjXSrqbqckipi5YOU9HH+/pvo5Uvnt1Y4HJ CLMQgYRsONp7BmMgpe/UPcBQi3jYCwtH9L3t8NHn6j3145KOMUV8ELcB2FBhXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvVLg4Qsqz7JR; Mon, 25 Sep 2023 17:32: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 38PHWRNa009411; Mon, 25 Sep 2023 17:32:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PHWROI009408; Mon, 25 Sep 2023 17:32:27 GMT (envelope-from git) Date: Mon, 25 Sep 2023 17:32:27 GMT Message-Id: <202309251732.38PHWROI009408@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: d03af6473e64 - stable/13 - switch groff parameter -man to -mandoc for new groff release 1.23.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d03af6473e64bc0e9e1f8a7d5dd329247268d3dc Auto-Submitted: auto-generated The branch stable/13 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=d03af6473e64bc0e9e1f8a7d5dd329247268d3dc commit d03af6473e64bc0e9e1f8a7d5dd329247268d3dc Author: Wolfram Schneider AuthorDate: 2023-09-07 14:59:12 +0000 Commit: Wolfram Schneider CommitDate: 2023-09-25 17:31:50 +0000 switch groff parameter -man to -mandoc for new groff release 1.23.0 PR: 273565 (cherry picked from commit cd89fe3923e92ab090cbdff7eb215c2d85b51718) --- usr.bin/man/man.conf.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/man/man.conf.5 b/usr.bin/man/man.conf.5 index 5bffbf96bec2..90595bb6d498 100644 --- a/usr.bin/man/man.conf.5 +++ b/usr.bin/man/man.conf.5 @@ -113,8 +113,8 @@ MANLOCALE ja_JP.eucJP EQN_JA /usr/local/bin/geqn PIC_JA /usr/local/bin/gpic TBL_JA /usr/local/bin/gtbl -NROFF_JA /usr/local/bin/groff -man -dlang=ja_JP.eucJP -TROFF_JA /usr/local/bin/groff -man -dlang=ja_JP.euc.jp +NROFF_JA /usr/local/bin/groff -mandoc -dlang=ja_JP.eucJP +TROFF_JA /usr/local/bin/groff -mandoc -dlang=ja_JP.euc.jp .Ed .Pp If the system administrator decides to override the From nobody Mon Sep 25 17:33:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvVMm3RWsz4tqB8; Mon, 25 Sep 2023 17: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 4RvVMm2wxQz4sX1; Mon, 25 Sep 2023 17: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=1695663204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T/BgqZFUogurVrKiQlL9SvtyfAXBh/xuzy/2as3+2Fc=; b=xhlCpJxr+1LIpGl/DJi9g+5FGYuvjCYd+UMd09NTEwcniY2nXdpLsnUSll3MmF5dvbfNzQ wUDDFXrYIQAiNhVmU/iN/sUz/jhCeoRbMv4JqKyTmp4A/CyH95yR2Vt3I5qgRQ5StWxJkp 1JKYFscy0A9dn12M+Kbwx4VSMMcd5nDj7CMzHHM/RM6IRjMugFQiLAL8xQ0qUnDZZiDBEY UcXu1xRKjQp7S0SoOgYzzOpFhDbjagHghdbOlp/2kPmO4VnTcFgDTtQJCpKqZlZHRXCQYR pM6Ifd2HkWJYhR8+erChlHm3NzwLNcLQzRJcBBr+eUB8de+FswkDtcNcSNhCbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695663204; a=rsa-sha256; cv=none; b=xaXNKKdHJpb9mOF2v/8xp/DJs8gV7ztKr3KWJbKBRee/+2+3timJC7zc8Pqo5B2mrQxTPo CBwoFvgG9bTQDnhcey9IJSefmELaGqpNaKrRtJO89WaAYu4MuqG1UNVVzfz+O0fbREE1iz Hbug7tioM2dUJpTA2Cy9nVrwgRBUyKNVz1IOrahIlo0rCa1plVP6gqlmaUbb7QalDvlVLa TOuQoEAHejve0m5cB+T0czJ2buU8Sf/7cuceSNcKRMUCISH7FXQc6ynOkOFA9+FZEgfm3T G6wLbJvFzJxBo262jCR+ztSsKIOQ/mM7wxiUQFBasYHDdqBzUSzZuQvAWQAvTg== 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=1695663204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T/BgqZFUogurVrKiQlL9SvtyfAXBh/xuzy/2as3+2Fc=; b=CFtHXiYOu69mlN/ToVBxKdAuL+9in/ipz/YcQVCQAtn0qBVHoa/RRQnG9idumTu+Z18Csu yMpyZ1xc3W4KvQocuMnt+0kaRMfFKENRP9FoU9vRdr69qCRtjiQ12bz0UPbo38ILctX1wO /RcFAqbGb6OtUabes87woUUEOtO3TlgMzbDdR4Fu5x6BFNLx20czCnThR84Y4qb6g18PTi zPWEabMUi+zaMEXLhhOMFu26g8kV+h6OahqMERIu43VpegF2aLWU/N5WHLlsvOtpcfAZ65 XIaDQCvEQ70RtXL+HrJjTDEBFL7raImtnsZmVqS715vK5hxndhFWWxNnttYWQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvVMm207pz7q0; Mon, 25 Sep 2023 17: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 38PHXOSQ011793; Mon, 25 Sep 2023 17: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 38PHXO1a011790; Mon, 25 Sep 2023 17:33:24 GMT (envelope-from git) Date: Mon, 25 Sep 2023 17:33:24 GMT Message-Id: <202309251733.38PHXO1a011790@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: 0e71efa38c9a - stable/12 - switch groff parameter -man to -mandoc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 0e71efa38c9aa3281a8bbce169becf3f05dd7c91 Auto-Submitted: auto-generated The branch stable/12 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=0e71efa38c9aa3281a8bbce169becf3f05dd7c91 commit 0e71efa38c9aa3281a8bbce169becf3f05dd7c91 Author: Wolfram Schneider AuthorDate: 2023-09-07 06:28:24 +0000 Commit: Wolfram Schneider CommitDate: 2023-09-25 17:33:08 +0000 switch groff parameter -man to -mandoc groff 1.23.0 changed the semantics of the -man parameter, and many manual pages are not rendered. The -mandoc parameter brings back the old behavior, as in groff 1.22.4 and earlier. PR: 273565, 273245 Reviewed by: emaste, bapt MFC after: 1 week for all supported branches (stable/12, 13, 14) Differential Revision: https://reviews.freebsd.org/D41737 (cherry picked from commit 035f7c9a3653d91564a5513f1311aa3b6e14a17e) --- usr.bin/man/man.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index 68b9bb3e695a..8b1fdb1767d9 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -1004,11 +1004,11 @@ do_whatis() { # User's PATH setting decides on the groff-suite to pick up. EQN=eqn -NROFF='groff -S -P-h -Wall -mtty-char -man' +NROFF='groff -S -P-h -Wall -mtty-char -mandoc' PIC=pic REFER=refer TBL=tbl -TROFF='groff -S -man' +TROFF='groff -S -mandoc' VGRIND=vgrind LOCALE=/usr/bin/locale From nobody Mon Sep 25 17:33:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RvVMn50nSz4tqB9; Mon, 25 Sep 2023 17:33: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 4RvVMn3hrBz4sfh; Mon, 25 Sep 2023 17:33:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695663205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IArd+GICzK1QmN7gKeuplahZt3U2lTMR+pzS5de3pLk=; b=CNMH5muGk5Hg0Qg9YFGzZ4UZ7a2HaN33Wax8r6s94pcKs+Avv4pHN9Hjyw9d2h2eyWW9VE oIf74XpLxSsZ5buGR9p0lIF+wPRSmHgdM+WEX8kTJoRgYai5QondiPgY8DBHJKs3Kq9khQ fvAFh+Icx52W9rLNe5cfLrsFiFX2YsAzLJosFncPWQMFCzFcXKOtm7Ixd2a3wX8ICR7PDR pajU9nfgia5aYxj7n4TW2oT+Uh2Atl2VPn7OwczOM0ITwhBU2+eduhW3KsCkQ1uihqjIu5 Vl/f4R0JA7LTLsB5nLQ4GJZoNQkRWXa7oiyJoehFk9czP/0XMcJpmEBBkbpEjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695663205; a=rsa-sha256; cv=none; b=dD74/I2yjwTA9fq+Ckc4oH2VdG2KgcKs4ueffpm7CE0Ud+HsQ17AT4/sRWZRy20Xq8oo/T A6ZNHi8FKIqJhR8H3z0V5kwXYsa9c4JCNWN/DHpA20Pqd5aYS/3qI82UFO8reT5g0ek80w bh+OqcTnJyS/ylUfHXonGTj03ja7hGCn/CSbnuXn19tW3e8Ct7tejf9kVIF/Gl3MmdFGhc jpT3im/9uDCEbly7b13yWZdbttDbETJKHwVaxDFWCplJhpySl94CRAZeatyAuch0QCT5tq XthUM1DsU0PvcyULznMDp6sO1ukuZr/AmmVfsxrP4XpzfWptzTGdPc90LfR6Yg== 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=1695663205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IArd+GICzK1QmN7gKeuplahZt3U2lTMR+pzS5de3pLk=; b=IwLsCEFVYDQe2KniOhtpI24xm9RX3AchRr7Ben5HAf1ERhwgXyRqQwPhp1/I9sWaogj76U ShZd/ZntFr72yoEkuG1qdc0FEwHN1q+8iqfUTTOfrxNr42nFJE2jDJViqkuuovvPcQYv5N zQJKI1E1SyTotb8h/ZC8NivZ2p0LfmsKOksT4OJIg2vPk4Q0zxlXCAhnCwiqoj22q+39sp 0bDEVb9v+tVNNdGY5TVj1n5/RBPuP9sTME3aETrrfgJAvNJsJb7LXdBKLDc4+gjBNoPJzQ ByqqnJGE03I/v0+I8xU09JE/xSBgbfQNf7JEivjzWtK2h2mCm+y3kszjIGCeEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RvVMn2kgFz7mD; Mon, 25 Sep 2023 17:33: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 38PHXPSK011854; Mon, 25 Sep 2023 17:33:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38PHXPpT011851; Mon, 25 Sep 2023 17:33:25 GMT (envelope-from git) Date: Mon, 25 Sep 2023 17:33:25 GMT Message-Id: <202309251733.38PHXPpT011851@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Wolfram Schneider Subject: git: 2e866693bc3e - stable/12 - switch groff parameter -man to -mandoc for new groff release 1.23.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 2e866693bc3e286ed54658d7cdb20518b601672f Auto-Submitted: auto-generated The branch stable/12 has been updated by wosch: URL: https://cgit.FreeBSD.org/src/commit/?id=2e866693bc3e286ed54658d7cdb20518b601672f commit 2e866693bc3e286ed54658d7cdb20518b601672f Author: Wolfram Schneider AuthorDate: 2023-09-07 14:59:12 +0000 Commit: Wolfram Schneider CommitDate: 2023-09-25 17:33:15 +0000 switch groff parameter -man to -mandoc for new groff release 1.23.0 PR: 273565 (cherry picked from commit cd89fe3923e92ab090cbdff7eb215c2d85b51718) --- usr.bin/man/man.conf.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/man/man.conf.5 b/usr.bin/man/man.conf.5 index f30a1c0f836c..da7e8341f793 100644 --- a/usr.bin/man/man.conf.5 +++ b/usr.bin/man/man.conf.5 @@ -115,8 +115,8 @@ MANLOCALE ja_JP.eucJP EQN_JA /usr/local/bin/geqn PIC_JA /usr/local/bin/gpic TBL_JA /usr/local/bin/gtbl -NROFF_JA /usr/local/bin/groff -man -dlang=ja_JP.eucJP -TROFF_JA /usr/local/bin/groff -man -dlang=ja_JP.euc.jp +NROFF_JA /usr/local/bin/groff -mandoc -dlang=ja_JP.eucJP +TROFF_JA /usr/local/bin/groff -mandoc -dlang=ja_JP.euc.jp .Ed .Pp If the system administrator decides to override the From nobody Tue Sep 26 13:05:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rw0Mg6cjPz4v7l1; Tue, 26 Sep 2023 13:05: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 4Rw0Mg65wlz3Znp; Tue, 26 Sep 2023 13:05:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695733503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hZQCrQRdAmNTxif5Qz6ninG9JjG1l1xHTVqcR6luIJ8=; b=rmwcCzwlHfGYjE8Gn9Y3z/7KGFFT2KMjM0cx8mPOy/8MSjWRRUAxoN7AyCxY/urXhZWdoZ Yy/BznN9zqyvFplAz1VnveNFBNaIQgOHkWiHlPDSD0JVvpSI3wPOJ6oO1QjFd5lkKFVa72 TDAo83pWkqqzlTwsZTBkJQfffCX72Hnyw49iI9XMjszYcIULOTWcoQqkfLoYIjnafk0ULt dxV/bIQXfY1eJNA1tytM/HWMiXCcUvF9rN0wyQnoOsLhB7E6S+TmtEzWM3IS7Z27ovlLgt cgfMpNNAsli6dkegTZT6grMxVmg2ul2nkGChrrEs9WTIOOis8VtXNCjyhTyBmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695733503; a=rsa-sha256; cv=none; b=un8DHgEfRgWQss2L5uMBEZbpnvAHGETDL6mB8U+qpG1YtOSZTWBST2/sCaF4zWe7NAiJlf Jhg69y4q72S96bWTeNc/X9j16NuoP3UJpY1nexAyEbgSpT8S/xG05rRq/6EEuSUofM+1iQ frGNo4pMd0ewwG7nKm9YHCrQbREeZrUchb8pqTgOPobA2ONHCF27wrIHhSeyIxGtnG2JAT 0aS2Qg5iVq+gXtaaAneuYDm8wyQ02WDTMYd/sRqr48axNXnLAn8elSmW8bvzcR9oY2VNFy AJ05eCx8/RZQpjTfxKVyCObtSaDlelldiHgs+ly+ah5s/rfimsf8WDgF1zHJkw== 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=1695733503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hZQCrQRdAmNTxif5Qz6ninG9JjG1l1xHTVqcR6luIJ8=; b=AhtU9IzYBQO36Y9h7M+qIeXjNBIBLrQZNDOZBLoEjHDUfO6R0JDvA4HToG5CPTd8/7MKXz W2igGLTw8v/Xix6PqRcHNki1+GCBzDRbm8XTx6NmDaOUy2SYbt0eMBT+oETiNndzcTh4zQ 6ZS2rSdxVFiIX5Vp83grQt3lxwwcBIyu0xbQM4r9HZiqa+CJGoNrF1cI0xWft6bMZtWg4p 5UP2K6mlP5PDd/rUDzv0hrdt8BmAnRT7siniVtR7YuVB4rGCgdqRDw3KOSlb+lD9498AFo liUiB5Te1qaclEwFE78LnEkxLchrsO3Wu3sJpHSAprRWku6xuyFlU1ALG8ZHLA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rw0Mg58NRzxqj; Tue, 26 Sep 2023 13:05: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 38QD53L5051939; Tue, 26 Sep 2023 13: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 38QD536H051935; Tue, 26 Sep 2023 13:05:03 GMT (envelope-from git) Date: Tue, 26 Sep 2023 13:05:03 GMT Message-Id: <202309261305.38QD536H051935@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: 09cd74a0b8d5 - stable/13 - libprocstat: use elf_getphdrnum rather than deprecated elf_getphnum List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 09cd74a0b8d5a0b625ac7706ddc4655664fb05f9 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=09cd74a0b8d5a0b625ac7706ddc4655664fb05f9 commit 09cd74a0b8d5a0b625ac7706ddc4655664fb05f9 Author: John Hein AuthorDate: 2023-09-21 23:43:05 +0000 Commit: Ed Maste CommitDate: 2023-09-26 13:04:40 +0000 libprocstat: use elf_getphdrnum rather than deprecated elf_getphnum PR: 273966 Reviewed by: emaste (cherry picked from commit 633094c27f0ac1b1001d5bd24a883240b4bce1dc) (cherry picked from commit fd8bf2ecc05af841aa7e8369a43861cdc122d404) --- lib/libprocstat/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libprocstat/core.c b/lib/libprocstat/core.c index dea078c848eb..cf3435a10c79 100644 --- a/lib/libprocstat/core.c +++ b/lib/libprocstat/core.c @@ -119,7 +119,7 @@ procstat_core_open(const char *filename) warnx("%s is not a CORE file", filename); goto fail; } - if (elf_getphnum(e, &nph) == 0) { + if (elf_getphdrnum(e, &nph) == -1) { warnx("program headers not found"); goto fail; } From nobody Tue Sep 26 13:05:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rw0NB3hdFz4v7qt; Tue, 26 Sep 2023 13:05: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 4Rw0NB3CMdz3b2s; Tue, 26 Sep 2023 13:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695733530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HQIDkmC6CndBq2Mpng49xXrie7OzXYjFdePPHA6Ayns=; b=DwB5Fkib7KP91UCtTqmXyoTfG63wWm5TJ95PmU5brF+avxwdoxCiK1SarXD7K+9HyDG+Mv faPFoqCxzIZgx21HbCIsm6BkFk6wRU65/dQHPv0FCZ41HNLApFKgvzG2NlOE7xAb3dabAz YOO899MGn4oeVqtY5/xxACB5TzCJ0d8Rc3vK7RZK7qqwMnTgBooAtg5BR7JI9CO1dKx86e V6P2ciXJ3U1q/id5Pq4nnE7GSGzOECN7a7ryPIAyw3zh6+KfizYrmNCWAN2k9y2te/GpXy FzghLO5NSjywVQ9awYqnN4lcz3cHBOuBkm/3p22oKYuMPOorW7DkOOoXYkzUbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695733530; a=rsa-sha256; cv=none; b=rdYHKxojMRUUXECYnzOljIs8QvTJF01xfpxve98whOrNmivEv0ekKCcrtAt1At69cDZm84 KmfzVUs6J3ytX3gphGTyKcjW/qFgQg0gcwC5lkwcz3UphWhCXpowbVHmd7TFwhwSruO8ZV /rnrOC8qNqSibAyh65KRL8Sga+R5Woccu5BUWnBeNXtDvZvRR35eS+2EarKIMoQr0dxMLM HrlHD6koaMKJZzPbTmKsINLtY/o+30voKTULGhmpN1NaF672lwvxHMxyU4sAm3qI/4Laca OFA0jL7xQ5nU3hjapcZOtGmSXDw9Jhk+hwMOFsbNg4I3O0GUAlPxUSUlFHrJYw== 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=1695733530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HQIDkmC6CndBq2Mpng49xXrie7OzXYjFdePPHA6Ayns=; b=l2zP9uHdZtvHZjO2HSxWINBP5N1VUhTi7SoGKaXxkjaqDIU8UL4h4VSuH3hjo7oL7XOg3P h5Qw051i4omH/jfmnMJyBstEgOECSDy8KBjTD8kRkcQyWiAUtSgbpSd7j7p69LzFUUUI2x RszQladAGt0rG6Uh/k+EgcLcQpEAc9lPCtvnNoy2T4RLbBy8WhyOQCre9GHyYm6EABJv38 O+9G2MjgMCIE0zsqK71my6ze/XN19ov/T8eJuGqFERSkSHpoW+LTMZKY5Uy3+jVsAvDIyQ xkwtmFdM78eb9kUkNw4Zy+9bjyi/qg4ndsV/F/x6XFKJaChS7g2i4CfgOhk/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 4Rw0NB2GZbzxTC; Tue, 26 Sep 2023 13:05: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 38QD5Us9052138; Tue, 26 Sep 2023 13:05:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38QD5U9q052135; Tue, 26 Sep 2023 13:05:30 GMT (envelope-from git) Date: Tue, 26 Sep 2023 13:05:30 GMT Message-Id: <202309261305.38QD5U9q052135@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: 205f9a4fbc82 - stable/12 - libprocstat: use elf_getphdrnum rather than deprecated elf_getphnum List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 205f9a4fbc82bdf8c8a7e5de4ef053c238d4769e Auto-Submitted: auto-generated The branch stable/12 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=205f9a4fbc82bdf8c8a7e5de4ef053c238d4769e commit 205f9a4fbc82bdf8c8a7e5de4ef053c238d4769e Author: John Hein AuthorDate: 2023-09-21 23:43:05 +0000 Commit: Ed Maste CommitDate: 2023-09-26 13:05:16 +0000 libprocstat: use elf_getphdrnum rather than deprecated elf_getphnum PR: 273966 Reviewed by: emaste (cherry picked from commit 633094c27f0ac1b1001d5bd24a883240b4bce1dc) (cherry picked from commit fd8bf2ecc05af841aa7e8369a43861cdc122d404) --- lib/libprocstat/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libprocstat/core.c b/lib/libprocstat/core.c index c3d5f8bec495..dc05991f3372 100644 --- a/lib/libprocstat/core.c +++ b/lib/libprocstat/core.c @@ -121,7 +121,7 @@ procstat_core_open(const char *filename) warnx("%s is not a CORE file", filename); goto fail; } - if (elf_getphnum(e, &nph) == 0) { + if (elf_getphdrnum(e, &nph) == -1) { warnx("program headers not found"); goto fail; } From nobody Wed Sep 27 00:56:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RwJ873pdtz4vt3C; Wed, 27 Sep 2023 00:56: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 4RwJ8730Ktz4S0k; Wed, 27 Sep 2023 00:56:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695776167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qZsDo298QS/siYe3XnLyg5w0Ilgx6Ix99xEm6kqrJzc=; b=ciwCdmESRBOUrKsP+vnbuGdRIt3CBpkwyY2TtS1JEzd2kIimO7tPV5Qaia9LIpp8lcIUec ifnVLr++h2o75/jbrurkMpBM8JedzFmmHFHGFJaT1aNMXqvGIHp8RQERy4QO0ZMrHU5hs4 fFus/3/YTlyX4g85jtDPOl0Uza0cKAqnz+sERGwJFttDjYxNAUQZuIlF07jCGZxsXO6Bgm 417iewMHXhVAhPCJ9QEq8V3T0u301/hNC4lo3lKu0fAH4uhYHARsnNpS8fMg056jgPS8SL x0dDeyNKbphfd+/TZjweAs/7NlzBMRGs9wFUtF2ck2KoVfhpmS6UH8ZzxIw9MA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695776167; a=rsa-sha256; cv=none; b=vIVwgEumkTfnIM7/owQ4ucrPscQS7XOe+BBfvrFOA47VE5TIZFEV1DyloOAyRLjHC34Jex nf8XWLQpP7RDw6iDFhhIn7o1jf2Fk78yAqPlGjpDtz0nkhmDlqAbL4+9pmxSaT3HX+kwMg WC1pbNJlKcfwCDE8SDQAqMLiSZAjcVTKLO6DS4R/Ha3ACUQP9xmcjKrlUXIhfaGpAGTNMx sP2O1/AAgKTw9mH/NFZsBRhuqS2ijQOGYa5oiB6TsLIzOQYxTIHvw65sPdLd9+oJECjwJl z4qElzwtVBL1RttV+UO5i6Z5wX5ab20Hxjv38vVx2GfzlXKWxsph+S6d+s1wNQ== 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=1695776167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qZsDo298QS/siYe3XnLyg5w0Ilgx6Ix99xEm6kqrJzc=; b=roxEsUK5g7FuZPtg8dt8uBrASKV1iWwjDtu26Nq/CRRXLjr8Ub4mv497XXGPUSQpjDvkk2 DD0+TiSt59yJK5e5IXucTzwOd3E4tZmPoj29aZP4efoIO/P4LVN6DOK0rf8m37tq4Lonkz Uo9JP6JcioyUOXaFbQUZqUOHesPRHJOV40LWxWZQLCnKrt5gqp3hhu0x7zz/D1QMrSvIQ6 8FIhUFNJVgUc/TcHJxkRf0FNDQeDBNSsyC8+kJrJNCNtNuOPwz/A1duaJkq0focj46GFvM Rim/z190BbodtigMYCCrfLloP97ynjqFL87JYBbY6vGxMVL5UXFi8EgIcI1NRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RwJ8723t5z42v; Wed, 27 Sep 2023 00:56: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 38R0u7nn030172; Wed, 27 Sep 2023 00:56:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38R0u7it030169; Wed, 27 Sep 2023 00:56:07 GMT (envelope-from git) Date: Wed, 27 Sep 2023 00:56:07 GMT Message-Id: <202309270056.38R0u7it030169@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Li-Wen Hsu Subject: git: 0fa87cf27e8c - stable/14 - ports(7): Update the default setting of MASTER_SITE_INDEX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 0fa87cf27e8c52d55866b32fe4b916b7ac3e7dee Auto-Submitted: auto-generated The branch stable/14 has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=0fa87cf27e8c52d55866b32fe4b916b7ac3e7dee commit 0fa87cf27e8c52d55866b32fe4b916b7ac3e7dee Author: Li-Wen Hsu AuthorDate: 2023-09-24 02:58:33 +0000 Commit: Li-Wen Hsu CommitDate: 2023-09-27 00:55:16 +0000 ports(7): Update the default setting of MASTER_SITE_INDEX MFC after: 3 days (cherry picked from commit 855e0457396c7addb1df6fc1d14200cc8de286c0) --- share/man/man7/ports.7 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7 index 7dc729bd112a..911135a8b631 100644 --- a/share/man/man7/ports.7 +++ b/share/man/man7/ports.7 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd June 1, 2023 +.Dd September 24, 2023 .Dt PORTS 7 .Os .Sh NAME @@ -504,7 +504,7 @@ cluster (for .Cm fetchindex target). Defaults to -.Pa https://www.FreeBSD.org/ports/ . +.Pa https://download.FreeBSD.org/ports/index/ . .It Va FETCHINDEX Command to get .Pa INDEX From nobody Wed Sep 27 00:57:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RwJ986yhvz4vtDQ; Wed, 27 Sep 2023 00:57: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 4RwJ986S5hz4SZ4; Wed, 27 Sep 2023 00:57:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695776220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VP4Xn/zMlGVuokHwnyFd+OOdfsBcktJRNMB1AfXiRtQ=; b=FWRD5xlgxsNBwLCKjtVpffwVS1WwDMSfxq9BUiU81XrexvyjMzqAoadfXXzXuUTsEUTyry wxvJdDfPZLoqEl0ov2uy4+W8C7WOGjhYRsjeB4UXrmSUtraLXn1HfrVF9obyFQ//EhvYSy vIxSJ/bjRRrLCxAReW7Of3LJkHmaZss2UwdGwUv56nUAMOqkHX8QdS3RdBnO5XeoA9Nvnm NG60k15deON7xUJaGiO8EBElyZielhTuD0Hx3RyMxUKfo+CIkhAmLT6TZojgf0ngA1EVC7 khj0152hTwRpSRifNqKY54xzZv5SCiR7ubCgtVz9tYmkNWNCQfU45pdgDvfb2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695776220; a=rsa-sha256; cv=none; b=QI9y27CFnEj6+6CGlW5ZvvEk5UK76ztizWFtVvV5cEF8FFeAztMovAnl1HkfS53KwO9of1 ozl9g+p+iim8AzeFjaXbcgA4lVNKoMVCw0JL/PqZqPpt68eO+LM+JYDnD3h22E65RPe4/m j169QivZHk3iOLwaCxF5oH/O/tpOS52zCe9QE86ek99LdKQqyxRQXY8MZcZQX8rXGFAyYD o/hG6IxBIAoF3xAXHWXv5EAz2we2g2+q01zn/TaEQzc7+Au4/cWj0byHeBoGBxFEJjdH3t RSM6Esp+J+u46jyDn5pwBtpzLQJqFRYBtOebtU9QBdvRzgJ4lBzXXZV3DPczaQ== 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=1695776220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VP4Xn/zMlGVuokHwnyFd+OOdfsBcktJRNMB1AfXiRtQ=; b=dCQHCuWfuVSvod8DABACqwO+34Cmz7kFselMuntY4epibZIs0h/c/mzMKnuYvti0qHJF1a F22zzEtc/Ao8DKL5l4/xmioQLi9/yu8TskFfcuZbhXOpsrCxMDKQ68ryuhwqcRsv2/XB/D X2X21dB5oMJJUQ9M/64LeO4y1QsE7Zqt21Q2xsQBPfrLMKeu2o2AXdV4Fm7qweJnNpU5MB 696ix2oEXqx+GaJePWgIaA0E/8wMhKzWAuoZWz9fpkqeqYTzeOsncQWtM0llukfHkJGKmI wUDXTSytz5o5p0/52nizTXo4hiP9Xj+flCrOWl1xpryDrWCYKzLv8WTlgLph6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RwJ985WJXz3pK; Wed, 27 Sep 2023 00:57: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 38R0v0oK030423; Wed, 27 Sep 2023 00:57:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38R0v0C4030420; Wed, 27 Sep 2023 00:57:00 GMT (envelope-from git) Date: Wed, 27 Sep 2023 00:57:00 GMT Message-Id: <202309270057.38R0v0C4030420@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Li-Wen Hsu Subject: git: de965cace386 - stable/13 - ports(7): Update the default setting of MASTER_SITE_INDEX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/13 X-Git-Reftype: branch X-Git-Commit: de965cace386fcb8de6d946824c894bf5ca383eb Auto-Submitted: auto-generated The branch stable/13 has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=de965cace386fcb8de6d946824c894bf5ca383eb commit de965cace386fcb8de6d946824c894bf5ca383eb Author: Li-Wen Hsu AuthorDate: 2023-09-24 02:58:33 +0000 Commit: Li-Wen Hsu CommitDate: 2023-09-27 00:55:45 +0000 ports(7): Update the default setting of MASTER_SITE_INDEX MFC after: 3 days (cherry picked from commit 855e0457396c7addb1df6fc1d14200cc8de286c0) --- share/man/man7/ports.7 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7 index c31690af185b..d1dfbed3a998 100644 --- a/share/man/man7/ports.7 +++ b/share/man/man7/ports.7 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd June 1, 2023 +.Dd September 24, 2023 .Dt PORTS 7 .Os .Sh NAME @@ -488,7 +488,7 @@ cluster (for .Cm fetchindex target). Defaults to -.Pa https://www.FreeBSD.org/ports/ . +.Pa https://download.FreeBSD.org/ports/index/ . .It Va FETCHINDEX Command to get .Pa INDEX From nobody Wed Sep 27 02:21:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RwL2H1YvJz4tkKT; Wed, 27 Sep 2023 02:21: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 4RwL2H18Jjz4Xn8; Wed, 27 Sep 2023 02:21:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695781271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ENF8uCYOO5QqYifGyV4qLMMKuyJywjudKQXAzgECGPM=; b=nHnxGo/lBnddz92G55dv8oPf8LuNQ1MJurZbKq/HwjXV1gaGA/U3l8LUX3GJkiM2EubptV xeJ6mvOOEj9Lb51J6LzhQOBo5lRoc7Z6sBdJnd8MxN7xMdYMU6dxVNqRlAJZ+1MabySC6y bSIcUE/y+rQEtJi9AfQXHLM23KZZaB5vkLpMvMewJe31xJXUzEkWtVk5nKNhXWaNcm8NsI YlckABwQ0RINJE0bJlxSq9Jf/FXI8MLAwnN2Ve+wmEEhR2wUDr2DFKbDqyVWMDpXhBPPHW tPlcCAjLaqzZH50zx7XhNXLAVL3gCrEp6Eo6snS6Fk8bR6cqCAV03I1JR2y8EA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695781271; a=rsa-sha256; cv=none; b=LdRfwfCvk+tBjwH+bOIbFUE3Lo/UShuvC04WQWfewXT87AmkEVtgVcatFL5A/Wj6OC59x0 Yd5U1cD0989BVyW4qOizpY7F+XVjoRIl5qkJOmvjXJNJ71reFvBZwxAujzzGRd4zKVy6YU mdugYcv4SWnJw5s+QJICvdua4p0H6q0HsPSGev3pz6huUGxDsvGwUdQI3QLRcrciWOqtk+ xz4IwswhCcX8duGho2JE2R5/3h8QGbAinInasKfAjhYCBtnolNkVEubxST1M0nIPOyhsEz 2IpWuSnAUODNy9Rpi67qVhp4CYrOakMvdW9HpJ1r+BJ3bOTWceuOzYv/88XdiQ== 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=1695781271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ENF8uCYOO5QqYifGyV4qLMMKuyJywjudKQXAzgECGPM=; b=M/45d0klWTcYfIcgJ+URvb6EJut+ygSwq/qkQPlr006TU+czNAhqX5MkekvfhnTG+9J1hy 2Gq4w1puymMPbZtMDVfYTGujOrPx3IG2NYP9Cjrq0UyQv7ZjoGjlUdkz/ZcWd3BeoAbiXn XvReQFt4h/KKf7TyjVanK9uG2v7S+SU/J898kTz8lu/BqDuXqlhMSG3gR/f4f+JngqL1gt PvrSYJ4rHvAT0k3Oj1i9EABQcA10jQ54TAW3kw1CstSYkG+dhYO0Bib1tWVz1TpnPbG4ga lWtSFKBo+cQ8oUmbwBCit7KU6dqUPFJqi7P99okyDw+AzamwHNYn0RMwWZjDXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RwL2H0C5gz6R1; Wed, 27 Sep 2023 02:21: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 38R2LAsi073330; Wed, 27 Sep 2023 02:21:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38R2LAJq073327; Wed, 27 Sep 2023 02:21:10 GMT (envelope-from git) Date: Wed, 27 Sep 2023 02:21:10 GMT Message-Id: <202309270221.38R2LAJq073327@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: 7642bb1c5325 - stable/14 - ipfilter: Avoid allocating a new ipf token when not needed List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 7642bb1c5325ddc5b38339fd81309f00beea1ff2 Auto-Submitted: auto-generated The branch stable/14 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=7642bb1c5325ddc5b38339fd81309f00beea1ff2 commit 7642bb1c5325ddc5b38339fd81309f00beea1ff2 Author: Cy Schubert AuthorDate: 2023-09-12 20:29:29 +0000 Commit: Cy Schubert CommitDate: 2023-09-27 02:21:03 +0000 ipfilter: Avoid allocating a new ipf token when not needed Only allocate a new ipftoken_t if one cannot be found. This eliminates allocating unnecessary token structures that will never be used when performing simple lookups for existing token structures. (cherry picked from commit 7f5e3b9fa3d159b7f061b4d01a767cbe5d0527f3) --- sys/netpfil/ipfilter/netinet/fil.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/sys/netpfil/ipfilter/netinet/fil.c b/sys/netpfil/ipfilter/netinet/fil.c index 7dee98d0c1ad..b04ec3496a65 100644 --- a/sys/netpfil/ipfilter/netinet/fil.c +++ b/sys/netpfil/ipfilter/netinet/fil.c @@ -7460,10 +7460,6 @@ ipf_token_find(ipf_main_softc_t *softc, int type, int uid, void *ptr) { ipftoken_t *it, *new; - KMALLOC(new, ipftoken_t *); - if (new != NULL) - bzero((char *)new, sizeof(*new)); - WRITE_ENTER(&softc->ipf_tokens); for (it = softc->ipf_token_head; it != NULL; it = it->ipt_next) { if ((ptr == it->ipt_ctx) && (type == it->ipt_type) && @@ -7472,6 +7468,10 @@ ipf_token_find(ipf_main_softc_t *softc, int type, int uid, void *ptr) } if (it == NULL) { + KMALLOC(new, ipftoken_t *); + if (new != NULL) + bzero((char *)new, sizeof(*new)); + it = new; new = NULL; if (it == NULL) { @@ -7483,11 +7483,6 @@ ipf_token_find(ipf_main_softc_t *softc, int type, int uid, void *ptr) it->ipt_type = type; it->ipt_ref = 1; } else { - if (new != NULL) { - KFREE(new); - new = NULL; - } - if (it->ipt_complete > 0) it = NULL; else From nobody Wed Sep 27 02:22:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RwL3V3qXBz4tkYq; Wed, 27 Sep 2023 02:22: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 4RwL3V3N5Dz4Y8P; Wed, 27 Sep 2023 02:22:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695781334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jkwMF/DhKb60QOA+az8me8BRJCh0Kpw87JmBTC2gKuY=; b=ufzaUROy5OXPTkGQYi1xIDeDbhJME+9EbHG8v/c/K8aDZosdtDaENd+Z1Rch9NHf+//YL8 yTacIDf7+Y/KvY5uHo5N8RUn7TAB7OeXPJYjzSnLAwBnbnx1uTti7gGEZasprsLmom66WG 4cmECe+BKFOnhsceJQ0IG0W/yinyW6y3jTEQr9C5/hGVg2fFCdK21XJhj9/SbxFOnXIYjB OoPm2I6rcAhPVIP1q/yZwtl9dW8oSCtuzCw+KmVIcy2I9CuPIIVqL9pZNpQyHxi+wEG9i0 XQChpEp6xNETnmP0U6YIiiGZHMKm975QhLpOJmO8ftg6Q1jZKgwOcqj5kRpr7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695781334; a=rsa-sha256; cv=none; b=ZdHwqKtdDYMRmNKBvq1zbylbQlq+JsBPpJeRNtyqD7AGc6nqtSm4E8DnXVGswZC4t5nEAq Hb/Svmhuv0qpJXFf1y4kHkqSzXsG7NGTAgxzDTl5yzOgE+zpi4vncXAIsoDxvY9rn7zaMH axo2YuR5Tw/jNIWNC7fmwQ+2776QNtnThqhcX3KrUaspuK9lDTfCWbX+z9qExZCMb1xwN1 rEnhmMJM/WBXRjZQLQSX4d4hHDgBHFYtOivT4ZmHphTTan5JXIABnZ3yrFJ5pPbHaD3rjU xcCftoSw0WrBe1yRmw/WahiXZA/rfRCWAEo4zwLV3hotS8RJKauSdl1q/MsRtw== 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=1695781334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jkwMF/DhKb60QOA+az8me8BRJCh0Kpw87JmBTC2gKuY=; b=ZlNV1hV/x2iytvNLJ3DYN+iGP7dnO6CB0JUIwsm0g4+ws/L2wzv8aU7vJF3SP7Z51NVlPT AzulfkNvmu67oqYeSmfip138x81siNEN+MDcL9jf2co6xrlFkvWWc63JGLeG6cyEUJk1II u7aiaxnr5fQDPYnqnktnoX19mRUqoWSAupL09rasZ5yK1mM6bgg7JHZRdiUJSAWiiFu+aM MP6MhejOFdRf+/vbR6gJk0g6jSzU5ZH/tYIdyqDefz7ZwhDZ2qS0X3jsBLhjR2RAAQPbVe ipSvKQXgOtcqSBN3MfK1Bvo7KNjp27VpPkbEjIA/eqHD+F+/CgO/XXTaqUdzpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RwL3V2Qj0z5rh; Wed, 27 Sep 2023 02:22: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 38R2ME7w075725; Wed, 27 Sep 2023 02:22:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38R2ME4B075722; Wed, 27 Sep 2023 02:22:14 GMT (envelope-from git) Date: Wed, 27 Sep 2023 02:22:14 GMT Message-Id: <202309270222.38R2ME4B075722@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: c22fec731ef0 - stable/13 - ipfilter: Avoid allocating a new ipf token when not needed List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: c22fec731ef037ece2f8c746fe93db02bc07dc74 Auto-Submitted: auto-generated The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=c22fec731ef037ece2f8c746fe93db02bc07dc74 commit c22fec731ef037ece2f8c746fe93db02bc07dc74 Author: Cy Schubert AuthorDate: 2023-09-12 20:29:29 +0000 Commit: Cy Schubert CommitDate: 2023-09-27 02:22:05 +0000 ipfilter: Avoid allocating a new ipf token when not needed Only allocate a new ipftoken_t if one cannot be found. This eliminates allocating unnecessary token structures that will never be used when performing simple lookups for existing token structures. (cherry picked from commit 7f5e3b9fa3d159b7f061b4d01a767cbe5d0527f3) --- sys/netpfil/ipfilter/netinet/fil.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/sys/netpfil/ipfilter/netinet/fil.c b/sys/netpfil/ipfilter/netinet/fil.c index 7dee98d0c1ad..b04ec3496a65 100644 --- a/sys/netpfil/ipfilter/netinet/fil.c +++ b/sys/netpfil/ipfilter/netinet/fil.c @@ -7460,10 +7460,6 @@ ipf_token_find(ipf_main_softc_t *softc, int type, int uid, void *ptr) { ipftoken_t *it, *new; - KMALLOC(new, ipftoken_t *); - if (new != NULL) - bzero((char *)new, sizeof(*new)); - WRITE_ENTER(&softc->ipf_tokens); for (it = softc->ipf_token_head; it != NULL; it = it->ipt_next) { if ((ptr == it->ipt_ctx) && (type == it->ipt_type) && @@ -7472,6 +7468,10 @@ ipf_token_find(ipf_main_softc_t *softc, int type, int uid, void *ptr) } if (it == NULL) { + KMALLOC(new, ipftoken_t *); + if (new != NULL) + bzero((char *)new, sizeof(*new)); + it = new; new = NULL; if (it == NULL) { @@ -7483,11 +7483,6 @@ ipf_token_find(ipf_main_softc_t *softc, int type, int uid, void *ptr) it->ipt_type = type; it->ipt_ref = 1; } else { - if (new != NULL) { - KFREE(new); - new = NULL; - } - if (it->ipt_complete > 0) it = NULL; else From nobody Wed Sep 27 02:22:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RwL3q20z3z4tkcP; Wed, 27 Sep 2023 02:22: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 4RwL3q1Tf8z4YgN; Wed, 27 Sep 2023 02:22:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695781351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5iWQDn8e6OXWlNF37T1iqx4konGhTkC9C/pAErS7wG0=; b=CChdWRRFQDGCVriw5Kru6kfQ5MZpG6FPFnBAg/bjnGxIbjdh3kofJYK+F/nfpG80I5quGW U0Fr0UddJDUAcIeBRHSXMWPjVYpzg0U7cygEyeMF7ALy/GlVkcuK35Q005R7HjJsjWMkOE Qh3kTYMNeR04342y4m8ESdqdM5A49hbosK9BgtYV5z7vr4ziOdVPDATJFBCcPxj5C+ked1 lX/kdNf1tzmo+UFhcL/zWmy9rLpK/ssQclOAVHrcXUeQk57dtfONXQE691JJbIxSZvM90t ZHlHniL9J9mAKejzlyxKIxv+vNKxAiWlsp4BBqOBnc2ipAjlUOM3C9tLzA6eTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695781351; a=rsa-sha256; cv=none; b=rmkoBs5GaN1PYcInsFVh3JS2Uv7fJoq0qW2z/5/5p/jCu5HAE9jgttgZadENAUIUyNRaur wgOXO7t8YmI881e3+klAhvN8Jbk9J6TsneTWtx2BEbRFd3/7zMEl8HPi3+SIPkZdAuO5YY LgLCrmMfPI6A3sTw9aRkWqYFKW2aZ+6u2gEXCiCpbyYrMPP5H/W2q1RU/gVFuyM27LJByI 7zxn8/AXD6umdgPy0mD9R6kB7Ub2+3tyn5EAIx21VJSpOsbLrn3027MwuuHgU7xXgvSsJc qOjgDLgO0oWO60xu2sfZNPB51Bl6ZVzdMTMvo2OiEWgNvnz2fteVdJQ7GyfifQ== 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=1695781351; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5iWQDn8e6OXWlNF37T1iqx4konGhTkC9C/pAErS7wG0=; b=RNlVhb+pvK/JCkKJUFBdmgnoOHX0dHPfXOlqN7veb95fHHppq4d9KNjtIQ+/ZjPMGhYA3o sbjbzGAKK3bHQZMqQ+Z2iKqcQJUbFHVlwzwylSBHqUSwSfw90A7wUHnWDy/e90hGU96RLA yWnyKLtRAyTDH3cF0uHeNY2pGRMZhnlH7t5JR1rMS++tO3L4sYnIkTGkHfNoGT5IwDQP/J LenxVJb3GENGqo+VCJZJZbmsIP1wrfJ3eNi7uYzZZx+MkC42bY3V7VfPKQpd7HYYnpp6Fg Fk9+gJlxsdiOEZ0Y4wHVtsEI4rB+ArtWzCAmUZwKyUcCQRS/74gNlcJ+n2lQNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RwL3q0YDFz61M; Wed, 27 Sep 2023 02:22: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 38R2MUb9078904; Wed, 27 Sep 2023 02:22:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38R2MUPm078873; Wed, 27 Sep 2023 02:22:30 GMT (envelope-from git) Date: Wed, 27 Sep 2023 02:22:30 GMT Message-Id: <202309270222.38R2MUPm078873@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: b083794291d2 - stable/12 - ipfilter: Avoid allocating a new ipf token when not needed List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/12 X-Git-Reftype: branch X-Git-Commit: b083794291d245f05940552a37f7d5c5badc2d17 Auto-Submitted: auto-generated The branch stable/12 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=b083794291d245f05940552a37f7d5c5badc2d17 commit b083794291d245f05940552a37f7d5c5badc2d17 Author: Cy Schubert AuthorDate: 2023-09-12 20:29:29 +0000 Commit: Cy Schubert CommitDate: 2023-09-27 02:22:26 +0000 ipfilter: Avoid allocating a new ipf token when not needed Only allocate a new ipftoken_t if one cannot be found. This eliminates allocating unnecessary token structures that will never be used when performing simple lookups for existing token structures. (cherry picked from commit 7f5e3b9fa3d159b7f061b4d01a767cbe5d0527f3) --- sys/netpfil/ipfilter/netinet/fil.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/sys/netpfil/ipfilter/netinet/fil.c b/sys/netpfil/ipfilter/netinet/fil.c index 3cf9111340a3..455da5d6fa71 100644 --- a/sys/netpfil/ipfilter/netinet/fil.c +++ b/sys/netpfil/ipfilter/netinet/fil.c @@ -7461,10 +7461,6 @@ ipf_token_find(ipf_main_softc_t *softc, int type, int uid, void *ptr) { ipftoken_t *it, *new; - KMALLOC(new, ipftoken_t *); - if (new != NULL) - bzero((char *)new, sizeof(*new)); - WRITE_ENTER(&softc->ipf_tokens); for (it = softc->ipf_token_head; it != NULL; it = it->ipt_next) { if ((ptr == it->ipt_ctx) && (type == it->ipt_type) && @@ -7473,6 +7469,10 @@ ipf_token_find(ipf_main_softc_t *softc, int type, int uid, void *ptr) } if (it == NULL) { + KMALLOC(new, ipftoken_t *); + if (new != NULL) + bzero((char *)new, sizeof(*new)); + it = new; new = NULL; if (it == NULL) { @@ -7484,11 +7484,6 @@ ipf_token_find(ipf_main_softc_t *softc, int type, int uid, void *ptr) it->ipt_type = type; it->ipt_ref = 1; } else { - if (new != NULL) { - KFREE(new); - new = NULL; - } - if (it->ipt_complete > 0) it = NULL; else From nobody Wed Sep 27 12:52:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rwc2f18kQz4vQXf; Wed, 27 Sep 2023 12:52: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 4Rwc2f0hjFz4T8j; Wed, 27 Sep 2023 12:52:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695819146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wQiH4U0E2XtifZiNvfoXsvWobMWvy+bOSWE7p3x82P4=; b=w7e9pFcq8sOhLMs8ETBnht0k0NhDCLZBF7jmfmKSlcTLDjCtzNvB7n6X1J47MCmzD22ffX xU9/z29HiKNF2LdStOeoNbxJpxRMemF5+gPV4LCyg/JZ2MuGjhP4Hfc1GSmM8sDi9rz4do CZs41Xrcaw1y6i6O96XD7eS4qTWyzuFyA5Ge4+8WeQcCORQxIQr0arkyZJngBqW0XtYNJh oZ1uSL3WaeIwub2hxMLAT3ucT6LVKCNKSnAIz73IfThsjoZKrNGo2yvfNLOTlibX+1Ox1L tEiBrUIAptzZLqxjn+jyNnlJb6NtyFhAiLAXXpWmugzPFtFTXIs65PYo0qQxIg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695819146; a=rsa-sha256; cv=none; b=ZLe/WceGBGpbdl8n6F+dKzN7+I6XuSnaNkVjwoyAQ8ELDP6QitHpRkJZZIyZ1my8hwAe1u yjTMuXuAI2oN6m4S3Kp68omft6J/pvZ39dWBp2CE5TViXLKRUPIe+P5JVkK/e8GQuHu+sv YF13zqcWFTVslBBrmQ8FJr9FUI3ggvXnMVU8AnXhfDDqnlNqb8k01dqW633wdbaG+lY5wU Y/Xuzn5eMi7DR+Bdwnb/jG5oS52sFdmNh731XtX3APPJ+4V7rYkdRl5tEZfifuUItws3/x X+nnASjs4wTLG3LlrVQws868+IjjZlWCwNjCNvWEw8OrLIbaD8+ESVLr6D/Myg== 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=1695819146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wQiH4U0E2XtifZiNvfoXsvWobMWvy+bOSWE7p3x82P4=; b=qaP2S31Ctl+pb1J3P8CnAUq9+uz4oFXNcHrKwXZZFI91LUQfZEHf0x3WqhKOKA6zjiwaoq QlTqL8fuvmThTa6vE/B6iATXCVyDW953k6GXiH3sQ63rtaxYLiW/NUtZNkGSNVWDvistCi 0fnUkwn+xRzxEjs6zOc+E+bUNa789+7libd3CuDD7BZM/+WDsmY4fiM+Ba7CByYyTNpOgl ptx4KVX9FNU0CNZa6W+4NLov4CsbyLjpyu+P1/w28Y4lgLozXEsyfuzx5m+nyDXDYb6dtN fPQBIPo0Hw6+awRFwTtEtyiZY2hdsUuv4XesPb2b3kNB2CRwG/MffI1qrhKWcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rwc2d6swTzgSb; Wed, 27 Sep 2023 12:52: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 38RCqPe1023096; Wed, 27 Sep 2023 12:52:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RCqPkK023093; Wed, 27 Sep 2023 12:52:25 GMT (envelope-from git) Date: Wed, 27 Sep 2023 12:52:25 GMT Message-Id: <202309271252.38RCqPkK023093@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: 862d2d514cb7 - stable/13 - sockets: re-check socket state after call to pr_rcvd() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 862d2d514cb782353bce1af99d670db08b1e6c3c Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=862d2d514cb782353bce1af99d670db08b1e6c3c commit 862d2d514cb782353bce1af99d670db08b1e6c3c Author: Greg Becker AuthorDate: 2023-09-09 23:38:24 +0000 Commit: Mark Johnston CommitDate: 2023-09-27 12:33:08 +0000 sockets: re-check socket state after call to pr_rcvd() Socket state may have changed after dropping the receive buffer lock in order to call pr_rcvd(). If the buffer is empty, re-check the state after reaquiring the lock and skip calling sbwait() if the socket is in error or the peer has closed. PR: 212716 Reviewed by: markj, glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41783 (cherry picked from commit f44102411e1b16363e91a074c9c403069c550e4d) --- sys/kern/uipc_socket.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index a4623329e686..e5997e439964 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -2326,6 +2326,10 @@ dontblock: VNET_SO_ASSERT(so); (*pr->pr_usrreqs->pru_rcvd)(so, flags); SOCKBUF_LOCK(&so->so_rcv); + if (__predict_false(so->so_rcv.sb_mb == NULL && + (so->so_error || so->so_rerror || + so->so_rcv.sb_state & SBS_CANTRCVMORE))) + break; } SBLASTRECORDCHK(&so->so_rcv); SBLASTMBUFCHK(&so->so_rcv); From nobody Wed Sep 27 12:52:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rwc2g2jxyz4vQXg; Wed, 27 Sep 2023 12:52: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 4Rwc2g1y6dz4TMl; Wed, 27 Sep 2023 12:52:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695819147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n1Z1+RgqWWgKRaTo8rICf8dljLQkqpbdY5+61dcoJD4=; b=sUGIbwssH0eY9pXAJ+BhNjrgcDSbQtfDgp6D4ACaN3aS0LjiDjzu3G/W5VSoQ49xkAia/n yOOUFYUGLsKdejY08fOO4C8NdonWo8R4PI3T6u3t+MXhdmPppjPFGeDjNa7bcd4W0bg8FA eU2J8Q7btxVvS0D9sWXFafrEwZDnVwloVbzvjtp7To171RSNI/TOYct8pUtQxII3w5nEVl 3rNm+4i8Za2X0qHSNgP/XIn7jsz1ilKCoL5hvjkhW7tAI/JoaRjbrcCZ+YhiYll1d3ghvq sJZKgy1UybDjThBQo8/tC3SgYvJELCxvE6ObyklEhA/F1yYme5sGbsK00gyj2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695819147; a=rsa-sha256; cv=none; b=urR+wjuyxkYB7/xYIKuAV90DzsK6ZUM4MAJ5HIyIc/6RXvQ7mMsilu1iu+flfeHsNN29t6 /eJSkHytA7cTCA2GU9flmYVZjuFoALHJDHgpdaRaZUGpxemIH4IlfK4haDAwDvwYGJlvqU B7X0D5EtzHT+I+hKWDDr/uEpkiVP7Y4CTLoC/3cdZzqq2wRBpMghCronbxHoK/tp9HPtlJ NlQ0KIL9Cn3zV4C41IX2TWPgkBNUTiNEbWv17gJyfe4fKGgZuGVm4gvktTWXHxSV7cqkRj mMk5YlW2nGQmB3Ljk8+2uJ8OBzLxoo3+fQgyA/+ddVJlG7Tqn3x0Js2AA6BRGg== 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=1695819147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n1Z1+RgqWWgKRaTo8rICf8dljLQkqpbdY5+61dcoJD4=; b=WBnnG4RTV1CrHKup68sfP3y96TFMTcuAiXEKkKBbDXL5NiLrZ+Cu+mbkTGC7LpN7drTr2p 5Zs1QY2JuiHJjoaQNKybR/LTx9/q/NKQiuR1IlcPc5vUQrOShWvgS9Nr8fjSO1JQumgHSJ ChQkzEB0LEAxXZbkthqgDZe94C+CEi2JIHtb/ZhK2CRapa7U3OmXCKEJlXXs7TZii6pgzT pL8n6UkKdRFaanm69UDPNUtseM2CKzhztMdPtoXI2IMOVwyIZfwYNVgSFeCipokJXsDtyS BP9cGjiL1vH03L8aocWuEkr0ZcOIBrGBDpzaZWAQDeJUaD31qhFbinaxovp6ZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rwc2g0zTGzfx9; Wed, 27 Sep 2023 12:52: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 38RCqRGE023147; Wed, 27 Sep 2023 12:52:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RCqRkE023144; Wed, 27 Sep 2023 12:52:27 GMT (envelope-from git) Date: Wed, 27 Sep 2023 12:52:27 GMT Message-Id: <202309271252.38RCqRkE023144@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: e4ed8e67e206 - stable/13 - socket tests: Add a regression test for MSG_WAITALL List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: e4ed8e67e206c069955d541de41addcd0da05b82 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e4ed8e67e206c069955d541de41addcd0da05b82 commit e4ed8e67e206c069955d541de41addcd0da05b82 Author: Mark Johnston AuthorDate: 2023-08-31 17:29:29 +0000 Commit: Mark Johnston CommitDate: 2023-09-27 12:33:50 +0000 socket tests: Add a regression test for MSG_WAITALL PR: 212716 MFC after: 1 week Sponsored by: The FreeBSD Foundation (cherry picked from commit 38426b32e106cf251520259b29779372eda7a5f8) --- tests/sys/kern/Makefile | 2 + tests/sys/kern/socket_msg_waitall.c | 181 ++++++++++++++++++++++++++++++++++++ 2 files changed, 183 insertions(+) diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index 8dfb3ba47a90..95d6ef9b7bc0 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -25,6 +25,7 @@ ATF_TESTS_C+= sched_affinity ATF_TESTS_C+= sigaltstack ATF_TESTS_C+= sigwait ATF_TESTS_C+= socket_msg_trunc +ATF_TESTS_C+= socket_msg_waitall TEST_METADATA.sigwait+= is_exclusive="true" .if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH:Mpowerpc*} == "" && \ ${MACHINE_CPUARCH} != "mips" @@ -62,6 +63,7 @@ LIBADD.ptrace_test+= pthread LIBADD.unix_seqpacket_test+= pthread LIBADD.kcov+= pthread LIBADD.ktls_test+= crypto +LIBADD.socket_msg_waitall+= pthread LIBADD.sendfile_helper+= pthread LIBADD.fdgrowtable_test+= util pthread kvm procstat LIBADD.sigwait+= rt diff --git a/tests/sys/kern/socket_msg_waitall.c b/tests/sys/kern/socket_msg_waitall.c new file mode 100644 index 000000000000..e9018b47eec1 --- /dev/null +++ b/tests/sys/kern/socket_msg_waitall.c @@ -0,0 +1,181 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Mark Johnston under sponsorship from + * the FreeBSD Foundation. + */ + +#include +#include +#include + +#include + +#include +#include +#include +#include + +#include + +struct close_test_params { + struct sockaddr_storage sa; + size_t msglen; + int count; + int af, type, proto; +}; + +static void * +close_test_client(void *arg) +{ + struct close_test_params *p = arg; + char *buf; + size_t buflen; + + buflen = p->msglen + 1; + buf = malloc(buflen); + ATF_REQUIRE(buf != NULL); + + while (p->count-- > 0) { + ssize_t n; + int error, s; + + s = socket(p->af, p->type, p->proto); + ATF_REQUIRE_MSG(s >= 0, "socket: %s", strerror(errno)); + + error = connect(s, (struct sockaddr *)&p->sa, p->sa.ss_len); + ATF_REQUIRE_MSG(error == 0, "connect: %s", strerror(errno)); + + n = recv(s, buf, buflen, MSG_WAITALL); + ATF_REQUIRE_MSG(n == (ssize_t)p->msglen, + "recv: %s", strerror(errno)); + + ATF_REQUIRE(close(s) == 0); + } + + return (NULL); +} + +static void +close_test(struct sockaddr *sa, unsigned int count, int af, int type, int proto) +{ + struct close_test_params p; + const char *msg; + pthread_t t; + size_t msglen; + int error, s; + + s = socket(af, type, proto); + ATF_REQUIRE_MSG(s >= 0, "socket %s", strerror(errno)); + + ATF_REQUIRE_MSG(bind(s, sa, sa->sa_len) == 0, + "bind: %s", strerror(errno)); + ATF_REQUIRE_MSG(listen(s, 1) == 0, + "listen: %s", strerror(errno)); + ATF_REQUIRE_MSG(getsockname(s, sa, &(socklen_t){ sa->sa_len }) == 0, + "getsockname: %s", strerror(errno)); + + msg = "hello bonjour"; + msglen = strlen(msg) + 1; + p = (struct close_test_params){ + .count = count, + .msglen = msglen, + .af = af, + .type = type, + .proto = proto, + }; + memcpy(&p.sa, sa, sa->sa_len); + error = pthread_create(&t, NULL, close_test_client, &p); + ATF_REQUIRE_MSG(error == 0, "pthread_create: %s", strerror(error)); + + while (count-- > 0) { + ssize_t n; + int cs; + + cs = accept(s, NULL, NULL); + ATF_REQUIRE_MSG(cs >= 0, "accept: %s", strerror(errno)); + + n = send(cs, msg, msglen, 0); + ATF_REQUIRE_MSG(n == (ssize_t)msglen, + "send: %s", strerror(errno)); + + ATF_REQUIRE(close(cs) == 0); + } + + ATF_REQUIRE(close(s) == 0); + ATF_REQUIRE(pthread_join(t, NULL) == 0); +} + +/* + * Make sure that closing a connection kicks a MSG_WAITALL recv() out of the + * syscall. See bugzilla PR 212716. + */ +ATF_TC(close_tcp); +ATF_TC_HEAD(close_tcp, tc) +{ + atf_tc_set_md_var(tc, "timeout", "10"); +} +ATF_TC_BODY(close_tcp, tc) +{ + struct sockaddr_in sin; + + sin = (struct sockaddr_in){ + .sin_len = sizeof(sin), + .sin_family = AF_INET, + .sin_addr = { htonl(INADDR_LOOPBACK) }, + .sin_port = htons(0), + }; + close_test((struct sockaddr *)&sin, 1000, AF_INET, SOCK_STREAM, + IPPROTO_TCP); +} + +/* A variant of the above test for UNIX domain stream sockets. */ +ATF_TC(close_unix_stream); +ATF_TC_HEAD(close_unix_stream, tc) +{ + atf_tc_set_md_var(tc, "timeout", "10"); +} +ATF_TC_BODY(close_unix_stream, tc) +{ + struct sockaddr_un sun; + + sun = (struct sockaddr_un){ + .sun_len = sizeof(sun), + .sun_family = AF_UNIX, + .sun_path = "socket_msg_waitall_unix", + }; + close_test((struct sockaddr *)&sun, 1000, AF_UNIX, SOCK_STREAM, 0); + ATF_REQUIRE_MSG(unlink(sun.sun_path) == 0, + "unlink: %s", strerror(errno)); +} + +/* A variant of the above test for UNIX domain seqpacket sockets. */ +ATF_TC(close_unix_seqpacket); +ATF_TC_HEAD(close_unix_seqpacket, tc) +{ + atf_tc_set_md_var(tc, "timeout", "10"); +} +ATF_TC_BODY(close_unix_seqpacket, tc) +{ + struct sockaddr_un sun; + + sun = (struct sockaddr_un){ + .sun_len = sizeof(sun), + .sun_family = AF_UNIX, + .sun_path = "socket_msg_waitall_unix", + }; + close_test((struct sockaddr *)&sun, 1000, AF_UNIX, SOCK_SEQPACKET, 0); + ATF_REQUIRE_MSG(unlink(sun.sun_path) == 0, + "unlink: %s", strerror(errno)); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, close_tcp); + ATF_TP_ADD_TC(tp, close_unix_stream); + ATF_TP_ADD_TC(tp, close_unix_seqpacket); + + return (atf_no_error()); +} From nobody Wed Sep 27 12:52:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rwc2h41xVz4vQc5; Wed, 27 Sep 2023 12:52: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 4Rwc2h3F5jz4THn; Wed, 27 Sep 2023 12:52:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695819148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RQYNsRaw4BIS8ulq/t0m7pHUtxIKjNyBecjq5SZTffk=; b=VJV8tibXNAh/Gbn5HfXj+G7fefSPYo8cBfM3ERTaoDM78VGHbM1LUybOFI9KYsg9A4z53z SUi/uFqf9eLiLxDgqfkzFp0HlF8qzxMafs/k6DCQPZ5b4X8haiQ9sfnQiObPcobspeU8Re tUR1tu3wjYfCWouBQ9cgaqDGsLXJrGKfzMmoFK/YBIwVZ7njGwYZA0drkbbL8F2jr71bNq 2wLqdpu6EWa5U1QknNBdVAtrHEjB8WmYbMOlbzdBLpERtOsNFzi+KfGRs3r9O65Np9cOX6 MFaoxcJkf9PNvx+QO4rh89edCg1fcwYLqZH85PmcudYsCP5Ryln501HZZojEMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695819148; a=rsa-sha256; cv=none; b=mA6IrznhkZuDO2XyNPIAsXoxeKpP59BWd03Pc4LA4Vh5+BPGIFkuSYvESVo0nGt3ipdIl6 Etw4PvQbsLvWbiNQ/9Gbktsl3aWwg8us28gV4EldT6FkYG+71GIU3zUSfZeRDpHU5IXG7O 9WjLOu/dTAsAL1yXJSrRfuWuEDiGHuqTmnflubHmFaYQeLIbYGjwtxvoiQEErl6ctmukx0 gaUJag+2nQ94zjX1YbRUiAdke7lBNH6A9XjeA+rzHWyKJwOrhBJVcvgM1LLInymw1rZYE/ Ib+PrZEzXKa6ZBZCIFaTxrT+MlMUajsDs5uKQ4IXzshx/+vDimXlsIEx/ZUzNQ== 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=1695819148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RQYNsRaw4BIS8ulq/t0m7pHUtxIKjNyBecjq5SZTffk=; b=VmyhnFaeMdaUyy5oCR8re8F1Kpf3xX5S1iJjUkI7EfINaVmVDQkIS1kUfmO2wWGy/vrvpI 8MAgvLc54w2rSrf2a8Xhxjk6AQaom5H91+jXqKsBL0bjCMkm8A52Pm0D3B3Tp+wcS8I1pi S30L9cdklZyWWoWqpVQF3sXsJ8mUbG0iiRBcm/RpoFwDAL2vahX2vOhv7ve3Iq4Cmh4aez 3F0i9ny51SGB9QXMJiG01almAtG/rwS8X3BCJqs2A1Ptopnd52IQKrVq/WSkVFWJGDorB7 hm/XhdBkeFG0HnJKKmh5KrJVfGRuYmG6Qhur8I9fIjs+SXQITx0rl8S4ZhECSA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rwc2h1vHXzgDf; Wed, 27 Sep 2023 12:52: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 38RCqSij023203; Wed, 27 Sep 2023 12:52:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RCqS3C023200; Wed, 27 Sep 2023 12:52:28 GMT (envelope-from git) Date: Wed, 27 Sep 2023 12:52:28 GMT Message-Id: <202309271252.38RCqS3C023200@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: 0df75d6c87a5 - stable/13 - dtrace: Fix a kernel panic in printm() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 0df75d6c87a5f43de444ab6ae2093cc69f646c82 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0df75d6c87a5f43de444ab6ae2093cc69f646c82 commit 0df75d6c87a5f43de444ab6ae2093cc69f646c82 Author: Domagoj Stolfa AuthorDate: 2023-09-06 13:25:00 +0000 Commit: Mark Johnston CommitDate: 2023-09-27 12:35:50 +0000 dtrace: Fix a kernel panic in printm() When using printm(), one should always pass a scratch pointer to it. This is achieved by calling printm with memref BEGIN { printm(fixed_len, memref(ptr, var_len)); } which will return a pointer to the DTrace scratch space of size sizeof(uintptr_t) * 2. However, one can easily call printm() as follows BEGIN { printm(10, (void *)NULL); } and panic the kernel as a result. This commit does two things: (1) adds a new macro DTRACE_INSCRATCHPTR(mstate, ptr, howmany) which checks if a certain pointer is in the DTrace scratch space; (2) uses DTRACE_INSCRATCHPTR() to implement a check on printm()'s DIFO return value in order to avoid the panic and sets CPU_DTRACE_BADADDR if the address is not in the scratch space. Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D41722 (cherry picked from commit 8527bb2aee6ca9013c34445de88217a954b6628d) --- .../contrib/opensolaris/uts/common/dtrace/dtrace.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c index 972ec6c66723..6ae0322ebb0f 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c +++ b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c @@ -515,6 +515,11 @@ do { \ ((mstate)->dtms_scratch_base + (mstate)->dtms_scratch_size - \ (mstate)->dtms_scratch_ptr >= (alloc_sz)) +#define DTRACE_INSCRATCHPTR(mstate, ptr, howmany) \ + ((ptr) >= (mstate)->dtms_scratch_base && \ + (ptr) <= \ + ((mstate)->dtms_scratch_base + (mstate)->dtms_scratch_size - (howmany))) + #define DTRACE_LOADFUNC(bits) \ /*CSTYLED*/ \ uint##bits##_t \ @@ -7736,9 +7741,24 @@ dtrace_probe(dtrace_id_t id, uintptr_t arg0, uintptr_t arg1, } case DTRACEACT_PRINTM: { - /* The DIF returns a 'memref'. */ + /* + * printm() assumes that the DIF returns a + * pointer returned by memref(). memref() is a + * subroutine that is used to get around the + * single-valued returns of DIF and is assumed + * to always be allocated in the scratch space. + * Therefore, we need to validate that the + * pointer given to printm() is in the scratch + * space in order to avoid a potential panic. + */ uintptr_t *memref = (uintptr_t *)(uintptr_t) val; + if (!DTRACE_INSCRATCHPTR(&mstate, + (uintptr_t)memref, 2 * sizeof(uintptr_t))) { + *flags |= CPU_DTRACE_BADADDR; + continue; + } + /* Get the size from the memref. */ size = memref[1]; From nobody Wed Sep 27 12:52:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rwc2j4hRNz4vQc6; Wed, 27 Sep 2023 12:52: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 4Rwc2j3s07z4TJK; Wed, 27 Sep 2023 12:52:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695819149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V1H1Pqf8oX5zYgltfexr7NuW5zUDD8L67gNrNWoC3z0=; b=wSdd2wLSEBG99/JNHKe463IDV0UroDioIP+E8GnVOli0brTU3z5Sy9oJSZy+wl75kK3L5d u+6MwbWkLIKPv8DntnCHuQYLudbfb3M8dpCeznC6X9pu544cTOVTiEHee67KJ9WBJ3VUjs WSee/tcGufo93Lgt2rSzrqgQECGMWa4hZQZHxipIFS/1LrNRhAiyBe+JpsuuEWiKvF1cCV 70BW7K1h8aX/NFPK3X8wB5ep3AJ3GGAlPuruiseBFhPiej7M+KXGxI95srb8DPSRBSHWbI efxNuplaMEuqkb9dV+jhZ7bGYRvjlLUsIWGxaFc7sr7RSdWCT9LLo/34+uUY+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695819149; a=rsa-sha256; cv=none; b=FxHD4E8Q6J53SxpDN07b7sG155oCnQCwQ1c7LbbVRtpDRYUTWj6zwH169LNIE3dm1qD3Hw oGKccUooKdoXotRzDdy0pKsne1ZOuGTnzjKdLF6j1klBSqdUMqS7aGrIDPfXsnO6RWAKwo vekQfN9TCZd6Md2Nk7rLOku1CS52m3bLvv11AXPxot4uD2hY7UtMlifI38O6+F8ubSol9t gmElqJLU25gVBI2V9tsAEz5BQeVECdBmHfxYZTUebPFF6GB2zyZuZS4CzbCxfMRcaq61JE +iEsmHv7dHEJmmicrNEiqKv+tV5VpL1asoG9mA2n1wLpPLEB6mS9V2XPwrFBnA== 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=1695819149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V1H1Pqf8oX5zYgltfexr7NuW5zUDD8L67gNrNWoC3z0=; b=lIdx/VtfQY8qxKSFH5OawUZ9RK3Y1DrGMlhTV0IHGFerH/e+3hXP4cYf6J+434WyS4GgZu gZ+yLCkelUN814I1w30vtGL/DIEt6Hk0oo59oa6uA5b6Q3OYCRQkV7yHOdn2a99iFxhxGg CfU0bZsq3U6RSTbc5OwhqBS/FQ1ajYz6x5j14R7mToAXnoL7WziRHZnyrQF6IzzGtrX4QL UYbQisqQX9td6OxUo89g1WrtbjEPRpiYN6Gx37g9DN1S4yA0M8WR5CH/xzsG5nQRDwTrMm qHwmhpuo9b2ZwNUsetNzGNz+3SF/Ts/VSyllusR1cMZION+qHen7+fX7TbHNuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rwc2j2sf0zgW4; Wed, 27 Sep 2023 12:52: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 38RCqTeK024139; Wed, 27 Sep 2023 12:52:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RCqTm4024136; Wed, 27 Sep 2023 12:52:29 GMT (envelope-from git) Date: Wed, 27 Sep 2023 12:52:29 GMT Message-Id: <202309271252.38RCqTm4024136@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: 7b9b175e4fde - stable/13 - socket tests: Avoid a buffer leak List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 7b9b175e4fde498132b314c38e6bda365869c489 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7b9b175e4fde498132b314c38e6bda365869c489 commit 7b9b175e4fde498132b314c38e6bda365869c489 Author: Mark Johnston AuthorDate: 2023-09-27 12:30:50 +0000 Commit: Mark Johnston CommitDate: 2023-09-27 12:52:11 +0000 socket tests: Avoid a buffer leak Reported by: Coverity Fixes: 38426b32e106 ("socket tests: Add a regression test for MSG_WAITALL") (cherry picked from commit a3074ff2122faf0eaba7d3f989e916b1c7f21912) --- tests/sys/kern/socket_msg_waitall.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/sys/kern/socket_msg_waitall.c b/tests/sys/kern/socket_msg_waitall.c index e9018b47eec1..e1e10a4c7886 100644 --- a/tests/sys/kern/socket_msg_waitall.c +++ b/tests/sys/kern/socket_msg_waitall.c @@ -54,6 +54,7 @@ close_test_client(void *arg) ATF_REQUIRE(close(s) == 0); } + free(buf); return (NULL); } From nobody Wed Sep 27 12:53:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rwc3c1kFjz4vQxv; Wed, 27 Sep 2023 12:53: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 4Rwc3c11JPz4VSQ; Wed, 27 Sep 2023 12:53:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695819196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1/tJV9ZSBkQdFpgA8X0LfgS6AaTQ27A36VpRjXDvGUc=; b=FsrRaJwYlTiu3T9glB6xN+n7372g/rvrcd2zdTFtwmzxZpfK+qBvgHbuJmqtrbB2KgoAfO 8z0OhShtHNLRuXjn7xVE5wRStwoprv2MduBGsCQ8yjEIC8NPcj3Bx6Af4mZu3gxLUPhGBR x+LK0qkSBip73MbnCirKW4ZDsNgehh53FZI+NEgPhn6bRYfX3xF1cpqv6dN46xL3++imkB C/GFdVAQbHALTmlVQnvlDZOZbhJ+0IS2BhPO6DkcQpO5aOXCnztNBb/rNBNy22lnekCvXB x/3OFEh9KcAemO0F98mULrzWt2sln78vHx6o7j0udm4typD+gRtK+aJyH9zhrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695819196; a=rsa-sha256; cv=none; b=ln1QANUkaofq4QYTmXJ+FqXdXONdp+/xyhp1SrMgp59+LrOD3J2HUZcapeaY9xRPeTiYUk GgNW80pBtjzIvIbqBP1g/EStXZYJMIMdQ5CRxzC/1Q2rCQhFKGCTkCNemYOCGILVpd3+tP msT2fU3JwtArUnPVDVi8OT/0vTKo7wF7OJ0QzZBq8TJ6m+329R1tBH04/W4cSSl0kizu9W RMWZfH2RYQSgCp+IsrrAGgHgNZDIS0WFbja9KrR1Bg7/rL4F2yJuCbfedOc6hvLlq/BLIh f3sxc1r9hpFScoDyVuEkYhCj1VowXCeEUqcHJ9423beCuRewBNzCzXQP54ioIQ== 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=1695819196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1/tJV9ZSBkQdFpgA8X0LfgS6AaTQ27A36VpRjXDvGUc=; b=a99Mp9k0b8bzCpS4ldtNEZcTffKVLEJl66lSWpBKvI/JeDsLZOYDOJ7Zi247wCsN3BYZvC lkWBFHH0nB8wq4PykVIcEhSiQ0r6GgbSCCNwOJ2yfQPHPFJ1VHtru5ctGS+82OOPYW4dkW y6gvLWHZevkip7f7nFMHqRhl70zE69IdhWfC0wvgm25fJcbWexV7uwhCBrVjoN33u4z+q4 k9DBbTM2Cw5oJoVdH34+WlJepU4k0YbU+dPHJlnTjh6tV+KcDn/hHIk7rZ1DfULbiVJmi4 fOcdrfdy8EpkHt1bF5vMw/kH59scF5LjHoAPf4SjOtEB/0N52Sol6lK3tWCs1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rwc3c02cQzfxH; Wed, 27 Sep 2023 12:53: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 38RCrFQg024431; Wed, 27 Sep 2023 12:53:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RCrFoW024428; Wed, 27 Sep 2023 12:53:15 GMT (envelope-from git) Date: Wed, 27 Sep 2023 12:53:15 GMT Message-Id: <202309271253.38RCrFoW024428@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: fa1ffd9f4b14 - stable/14 - amd64: Convert a cheap DIAGNOSTIC check to a KASSERT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: fa1ffd9f4b1486075fcbd1ffa90430d66936d7f6 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fa1ffd9f4b1486075fcbd1ffa90430d66936d7f6 commit fa1ffd9f4b1486075fcbd1ffa90430d66936d7f6 Author: Mark Johnston AuthorDate: 2023-08-11 15:54:34 +0000 Commit: Mark Johnston CommitDate: 2023-09-27 12:32:25 +0000 amd64: Convert a cheap DIAGNOSTIC check to a KASSERT MFC after: 1 week (cherry picked from commit f7c733e4fe5d55fd78cd2b0c27483eeaff3f79a3) --- sys/amd64/amd64/trap.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 0d9a660abdb8..4d5887369207 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -1188,12 +1188,9 @@ amd64_syscall(struct thread *td, int traced) kmsan_mark(td->td_frame, sizeof(*td->td_frame), KMSAN_STATE_INITED); -#ifdef DIAGNOSTIC - if (!TRAPF_USERMODE(td->td_frame)) { - panic("syscall"); - /* NOT REACHED */ - } -#endif + KASSERT(TRAPF_USERMODE(td->td_frame), + ("%s: not from user mode", __func__)); + syscallenter(td); /* From nobody Wed Sep 27 12:53:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rwc3d5BqNz4vQjL; Wed, 27 Sep 2023 12:53: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 4Rwc3d25tgz4VYH; Wed, 27 Sep 2023 12:53:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695819197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3BJMVfq96B4rLR/081srqO2OolfR4R10AQXAzwoIcEE=; b=aAlEzCsnQgeHw8YDF4INtqyL61dF0UG3ym+seh1hvefMCbV1g2z/9yhQ3ITfuyIX3ZV+px GUXZOhQYVL3h3UMlBt4IwiFBMXZPobgt8Vf/sTuSxIp2L1rVvq/ukJqq/J7kRweqlmLhNO eV7u7bI2iInERKsI48WZurTeiF65dXB5CSXrtFIFINoGrQppIKpZQiedLSBZvWp5b/8whk P9QyfOTb0CMNNvXE2Ip9UCKMzsJLUocKJJ/ExmG7F5Sz54x/5WhlzkN9XbMWP6GXLzdf9+ ATQTh2pDQzoolqQFEp9cq6sw0odjsHV8le8X/8oR9OpKD2/A6VJox6OGNHFKig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695819197; a=rsa-sha256; cv=none; b=YoNIoXJbxtm3WX8VCra7VdRHyIYQX9Mc09QquZI4Vf7fwbGkU/bSY/hXD1M/kKgJhqlKln WA4cPF3++Z7/3NbD6zjm6pOCU9mFZy1PcRMV+3rT+xAR92pwn8GmmzJ2o34ZxIVmtkxXgL Poke3Kjoq0QZzqmBr4oCzP2jSBteo3z9VCvjOSS9g/laASPiwRnQDeeqsskAfeY3WQmlQB eKDgc2yFYp9ou+06y+Qr/dJoBqVq8ujQ3LO1z9unf65Sx0FSRB7KJJaYzFMMqBXOvyMcPZ F59ReIPmypQCIqYkwxjzGn6/voobR1XrzLp7HlTq57dE1he5lWbc9f78BVqkQA== 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=1695819197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3BJMVfq96B4rLR/081srqO2OolfR4R10AQXAzwoIcEE=; b=ce1fkK48y/KGfCHI00pQfDCCLS3dc8nPeZSR8AcfC2NNNfHn2ePb0VKADE/SFrhmSX+C16 7A/hGHSqrQsz7uNBL32mYURwUNn9DqDnunxT6s22I0jnYn160vCe21rIoevZuQYkVKsxCw DEqlXM4+ZqSORKwj8u2EaFMvG7M01RjnALEKwMzu9k4T9AESy4C0heFQgRhAX//QxIReU8 MR5I7F1aN/G6pybf76Pw+RZcBupWPgq8TjEoi4/Y/Ak7XnbOIo11taUqIgPEurGPsMV06C K2/ZDvw76zmI5F2uYQJ1ysndZ3k7fbWq7udGzZ7YfvBs+YmejE2yialaOJehdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rwc3d16YJzgQr; Wed, 27 Sep 2023 12:53: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 38RCrHKU024495; Wed, 27 Sep 2023 12:53:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RCrHtZ024492; Wed, 27 Sep 2023 12:53:17 GMT (envelope-from git) Date: Wed, 27 Sep 2023 12:53:17 GMT Message-Id: <202309271253.38RCrHtZ024492@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: 66b87decbf1e - stable/14 - unix tests: Use the right type for sendmsg(2) return values List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 66b87decbf1e200547983ab7066de453428f456b Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=66b87decbf1e200547983ab7066de453428f456b commit 66b87decbf1e200547983ab7066de453428f456b Author: Mark Johnston AuthorDate: 2023-09-15 08:59:08 +0000 Commit: Mark Johnston CommitDate: 2023-09-27 12:32:49 +0000 unix tests: Use the right type for sendmsg(2) return values MFC after: 1 week (cherry picked from commit d643925a79caab5c6de62b066e374935b60bcaf1) --- tests/sys/kern/unix_passfd_test.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/sys/kern/unix_passfd_test.c b/tests/sys/kern/unix_passfd_test.c index 94f0c420029a..d8c0efe5b9ea 100644 --- a/tests/sys/kern/unix_passfd_test.c +++ b/tests/sys/kern/unix_passfd_test.c @@ -182,13 +182,13 @@ sendfd_payload(int sockfd, int send_fd, void *payload, size_t paylen) static void sendfd(int sockfd, int send_fd) { - size_t len; + ssize_t len; char ch; ch = 0; len = sendfd_payload(sockfd, send_fd, &ch, sizeof(ch)); ATF_REQUIRE_MSG(len == sizeof(ch), - "sendmsg: %zu bytes sent; expected %zu; %s", len, sizeof(ch), + "sendmsg: %zd bytes sent; expected %zu; %s", len, sizeof(ch), strerror(errno)); } @@ -532,10 +532,10 @@ ATF_TC_BODY(send_overflow, tc) len = sendfd_payload(fd[0], putfd, buf, sendspace); #if TEST_PROTO == SOCK_STREAM ATF_REQUIRE_MSG(len == -1 && errno == EAGAIN, - "sendmsg: %zu bytes sent, errno %d", len, errno); + "sendmsg: %zd bytes sent, errno %d", len, errno); #elif TEST_PROTO == SOCK_DGRAM ATF_REQUIRE_MSG(len == -1 && errno == ENOBUFS, - "sendmsg: %zu bytes sent, errno %d", len, errno); + "sendmsg: %zd bytes sent, errno %d", len, errno); #endif close(putfd); ATF_REQUIRE(nfiles == openfiles()); @@ -655,14 +655,14 @@ ATF_TC_BODY(rights_creds_payload, tc) #if TEST_PROTO == SOCK_STREAM ATF_REQUIRE_MSG(len != -1 , "sendmsg failed: %s", strerror(errno)); ATF_REQUIRE_MSG((size_t)len < sendspace, - "sendmsg: %zu bytes sent", len); + "sendmsg: %zd bytes sent", len); recvfd_payload(fd[1], &getfd, buf, len, CMSG_SPACE(SOCKCREDSIZE(CMGROUP_MAX)) + CMSG_SPACE(sizeof(int)), 0); #endif #if TEST_PROTO == SOCK_DGRAM ATF_REQUIRE_MSG(len != -1 , "sendmsg failed: %s", strerror(errno)); ATF_REQUIRE_MSG((size_t)len == sendspace, - "sendmsg: %zu bytes sent", len); + "sendmsg: %zd bytes sent", len); recvfd_payload(fd[1], &getfd, buf, len, CMSG_SPACE(SOCKCREDSIZE(CMGROUP_MAX)) + CMSG_SPACE(sizeof(int)), 0); #endif From nobody Wed Sep 27 12:53:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rwc3f57BNz4vQvL; Wed, 27 Sep 2023 12:53: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 4Rwc3f2L7Nz4Vh4; Wed, 27 Sep 2023 12:53:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695819198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ticLF6CBSkkh3ykt2zgJBJTFFUHxb5eBoWlUAnH6FkI=; b=YiVarW6ARw6Uqvpt52hXf9p52fXo1UHHdSqrRnkhT6IJSZDjHQaS325lRwZqQs93Qf0BZ6 SpTgguM8zR1jvVomipab9csD7r+tTyYiIctzk4mOQ/7jgd7GghhaJWx+ofBHF+bMYzAS77 Zb8ZGH0tUvJnUOkX6FoefR8JgdiGF8Mf+0vOg9ZIJOHdRDgAehesl3iOccLsPcva4Y2yZo qRj36TfVD61XGJ7HXWgRSRS+/oxdkiJ0kueMBPMcIIthU8QAqu5+sKclYc3ytfGmjOvfMF 66j6B7UN3QHbjoeB/bRRQsLNiGmj2fje4AuJMCEESibnmzmrdbuTtr3hU5XE8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695819198; a=rsa-sha256; cv=none; b=lijhCynmGVKLGyh3olwYkRPqHM6fQWrZiPpEZAXjmWg8nlY3IxKmGF23C6tuyebL39+qJu f+Rn2xl3ooZdu4Cm9RMyLNpf5PrCufBElmm8qpOd5R9f25zYkGZTgjbmqLjJaVuxH++h4H dpNypemk0M1Om5ogd+AP3kJC2hVieUQakbXJ3uCmDmcouoeVMNsZ3fb369K2As+6W3otPe Cx9y/GbGSzOExA7c5hTooPPiOip1qCBKMTeSkZZ8UjUnuFqsNtB5I0H2ksSo0HLDdlDtpa P/UQ0nVUKjX6KluaPWH2g7plz+pKvKQd4Ih+H9INRbkzcnO2g8lQ9iS4TPsfnQ== 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=1695819198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ticLF6CBSkkh3ykt2zgJBJTFFUHxb5eBoWlUAnH6FkI=; b=IidAMNqcXD6uYBIMMkl93vQtgkRZRIVkCZM62zklqYQVc0jpZ3hyD9N8pLDr61oc2kEPp2 pj3J3XUfjWHdp3BhnbvZGKF5lNEF4BjgSTE+xpgRprMFMtNBIOk5zcQApq6LaqL7FoDArO z2+m/57PyLLTARlMEIUPhusPy7dxy5LH7tUZKvhMqbEaLcinNbJFXuTjwVZFBi8v1XfT1n i1DlM9WXukr1JBYA9cGQyEhjle9PqAiN/kgDrY82QJ4GKQBekTkRKQTbabvhRsYNcn7HZs V6Kg8BGXJSzq00LCK2uH9vcddAzYk4QjiFSDnAbv70jH6mHru9GVYvptsWAhrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rwc3f1RdzzgQs; Wed, 27 Sep 2023 12:53: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 38RCrIx8024550; Wed, 27 Sep 2023 12:53:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RCrIW7024547; Wed, 27 Sep 2023 12:53:18 GMT (envelope-from git) Date: Wed, 27 Sep 2023 12:53:18 GMT Message-Id: <202309271253.38RCrIW7024547@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: caaea4557738 - stable/14 - sockets: re-check socket state after call to pr_rcvd() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: caaea455773898bee9a0c59466a84256192e0980 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=caaea455773898bee9a0c59466a84256192e0980 commit caaea455773898bee9a0c59466a84256192e0980 Author: Greg Becker AuthorDate: 2023-09-09 23:38:24 +0000 Commit: Mark Johnston CommitDate: 2023-09-27 12:33:05 +0000 sockets: re-check socket state after call to pr_rcvd() Socket state may have changed after dropping the receive buffer lock in order to call pr_rcvd(). If the buffer is empty, re-check the state after reaquiring the lock and skip calling sbwait() if the socket is in error or the peer has closed. PR: 212716 Reviewed by: markj, glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41783 (cherry picked from commit f44102411e1b16363e91a074c9c403069c550e4d) --- sys/kern/uipc_socket.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index ffd5e06c34b7..3c7e5c4cb4bb 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -2429,6 +2429,10 @@ dontblock: VNET_SO_ASSERT(so); pr->pr_rcvd(so, flags); SOCKBUF_LOCK(&so->so_rcv); + if (__predict_false(so->so_rcv.sb_mb == NULL && + (so->so_error || so->so_rerror || + so->so_rcv.sb_state & SBS_CANTRCVMORE))) + break; } SBLASTRECORDCHK(&so->so_rcv); SBLASTMBUFCHK(&so->so_rcv); From nobody Wed Sep 27 12:53:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rwc3g4ChGz4vQYJ; Wed, 27 Sep 2023 12:53: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 4Rwc3g3VVzz4VRB; Wed, 27 Sep 2023 12:53:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695819199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IEay0XCBkuIhO0fR4GvTT3Uy0YVCsJCHxm41Qu2zKH8=; b=uRmUH6Xu1Ru+8WGMhEB4n+ClAAYvyrjTEqaUFCGykcWssfvjdQ1GAlRmMw2+2rRgrN6Mmn zNZMoR0LZLj/xJi0MT4ziLyelJoH04I1CmuET1u9xdPHgITl3dkcMmxl1N09q84x0NrR4T 7XHm0FGSde+L1oovBbS69kMndRv9AmUk+KO34x4rFfpg9WDZsUVpFwvWEDauLyF1Ibc+1L WqynOCUPZhdfrm1v0S0ONWvpljOabfp1f1LzyNqo+ijP+/mW3641QjxH9vlfuNxSuAKc9M rv07OWzkNeAAFAZO4hAUFNnJ2ZSq8Gi3Qo264MoDXAC+MtFeCNG9qQSnSXXgpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695819199; a=rsa-sha256; cv=none; b=K7jrHNJ9RnERndzLbQ4a+rejXpmsh6z9fomeoVCHmNP+CZCQP69lbnicpvhmm3PrXvp/U/ /4X1JkDOplQ211q2DKm4J8cMnTcNrAjU+h0Inv1rtgcERQ+3AF37SRZYZvVDmf7ipqM2lb tz9Bku+TDCgarWqKFxMYxFqh4oaEcX2UqLBBBNLOxC84S1RO0eutVlZK95vXHFyJb7L7kT yOvPqAtZm5NM3k2G9xn84eljK7xIbWvoG/VHQAufmCel55JHHhzVLKpUL4oM9KXsuVvai1 yTpceM6R193pB+vIICTXC6QGGfEpjR3BWYuU35nJtg+kpuWhnlgBKY/wx43ieg== 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=1695819199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IEay0XCBkuIhO0fR4GvTT3Uy0YVCsJCHxm41Qu2zKH8=; b=UuJaaGA/m8lVlRmEBXFBm4TBKA363Kdy1t9/fqUNjjnNoCfmIHgR4tqdnFLlV3pKRrkyvK 7nKBL4osaSs06pgvdtinaurb1dY4hGQPGQMdtvfNx966NWI4XBU2teU0SjNfiMIsaQ1l5W YAPtGaviecPuq0vjoD94SmgTQ59tMnlmc5iYOFmMF+UgzHiAwOyndWLpz6a9tHbOA7z6Jo DDHBA4KeqoaNPIeQiKNofvVJpxzgmR9yfbclDz7Q7j79wkfOeKGpkBKcZB2JEMQy88hGTY 5R8TQlajDzOPQ/BsmTxBU0o5nPNglaERJDAhPidSI9AfO6Kx4Iv2tlxKp90U4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rwc3g2bsLzg8X; Wed, 27 Sep 2023 12:53: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 38RCrJVb024611; Wed, 27 Sep 2023 12:53:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RCrJvW024609; Wed, 27 Sep 2023 12:53:19 GMT (envelope-from git) Date: Wed, 27 Sep 2023 12:53:19 GMT Message-Id: <202309271253.38RCrJvW024609@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: 811b3d0f0fe5 - stable/14 - socket tests: Add a regression test for MSG_WAITALL List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 811b3d0f0fe5f1cf6b6fbe4a14103bcab9c400df Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=811b3d0f0fe5f1cf6b6fbe4a14103bcab9c400df commit 811b3d0f0fe5f1cf6b6fbe4a14103bcab9c400df Author: Mark Johnston AuthorDate: 2023-08-31 17:29:29 +0000 Commit: Mark Johnston CommitDate: 2023-09-27 12:33:24 +0000 socket tests: Add a regression test for MSG_WAITALL PR: 212716 MFC after: 1 week Sponsored by: The FreeBSD Foundation (cherry picked from commit 38426b32e106cf251520259b29779372eda7a5f8) --- tests/sys/kern/Makefile | 2 + tests/sys/kern/socket_msg_waitall.c | 181 ++++++++++++++++++++++++++++++++++++ 2 files changed, 183 insertions(+) diff --git a/tests/sys/kern/Makefile b/tests/sys/kern/Makefile index d46223d8ff09..f2fe9e7008d9 100644 --- a/tests/sys/kern/Makefile +++ b/tests/sys/kern/Makefile @@ -30,6 +30,7 @@ ATF_TESTS_C+= sigaltstack ATF_TESTS_C+= sigwait ATF_TESTS_C+= socket_accf ATF_TESTS_C+= socket_msg_trunc +ATF_TESTS_C+= socket_msg_waitall TEST_METADATA.sigwait+= is_exclusive="true" .if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH:Mpowerpc*} == "" ATF_TESTS_C+= subr_physmem_test @@ -71,6 +72,7 @@ LIBADD.unix_seqpacket_test+= pthread LIBADD.kcov+= pthread CFLAGS.ktls_test+= -DOPENSSL_API_COMPAT=0x10100000L LIBADD.ktls_test+= crypto util +LIBADD.socket_msg_waitall+= pthread LIBADD.sendfile_helper+= pthread LIBADD.fdgrowtable_test+= util pthread kvm procstat LIBADD.sigwait+= rt diff --git a/tests/sys/kern/socket_msg_waitall.c b/tests/sys/kern/socket_msg_waitall.c new file mode 100644 index 000000000000..e9018b47eec1 --- /dev/null +++ b/tests/sys/kern/socket_msg_waitall.c @@ -0,0 +1,181 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 The FreeBSD Foundation + * + * This software was developed by Mark Johnston under sponsorship from + * the FreeBSD Foundation. + */ + +#include +#include +#include + +#include + +#include +#include +#include +#include + +#include + +struct close_test_params { + struct sockaddr_storage sa; + size_t msglen; + int count; + int af, type, proto; +}; + +static void * +close_test_client(void *arg) +{ + struct close_test_params *p = arg; + char *buf; + size_t buflen; + + buflen = p->msglen + 1; + buf = malloc(buflen); + ATF_REQUIRE(buf != NULL); + + while (p->count-- > 0) { + ssize_t n; + int error, s; + + s = socket(p->af, p->type, p->proto); + ATF_REQUIRE_MSG(s >= 0, "socket: %s", strerror(errno)); + + error = connect(s, (struct sockaddr *)&p->sa, p->sa.ss_len); + ATF_REQUIRE_MSG(error == 0, "connect: %s", strerror(errno)); + + n = recv(s, buf, buflen, MSG_WAITALL); + ATF_REQUIRE_MSG(n == (ssize_t)p->msglen, + "recv: %s", strerror(errno)); + + ATF_REQUIRE(close(s) == 0); + } + + return (NULL); +} + +static void +close_test(struct sockaddr *sa, unsigned int count, int af, int type, int proto) +{ + struct close_test_params p; + const char *msg; + pthread_t t; + size_t msglen; + int error, s; + + s = socket(af, type, proto); + ATF_REQUIRE_MSG(s >= 0, "socket %s", strerror(errno)); + + ATF_REQUIRE_MSG(bind(s, sa, sa->sa_len) == 0, + "bind: %s", strerror(errno)); + ATF_REQUIRE_MSG(listen(s, 1) == 0, + "listen: %s", strerror(errno)); + ATF_REQUIRE_MSG(getsockname(s, sa, &(socklen_t){ sa->sa_len }) == 0, + "getsockname: %s", strerror(errno)); + + msg = "hello bonjour"; + msglen = strlen(msg) + 1; + p = (struct close_test_params){ + .count = count, + .msglen = msglen, + .af = af, + .type = type, + .proto = proto, + }; + memcpy(&p.sa, sa, sa->sa_len); + error = pthread_create(&t, NULL, close_test_client, &p); + ATF_REQUIRE_MSG(error == 0, "pthread_create: %s", strerror(error)); + + while (count-- > 0) { + ssize_t n; + int cs; + + cs = accept(s, NULL, NULL); + ATF_REQUIRE_MSG(cs >= 0, "accept: %s", strerror(errno)); + + n = send(cs, msg, msglen, 0); + ATF_REQUIRE_MSG(n == (ssize_t)msglen, + "send: %s", strerror(errno)); + + ATF_REQUIRE(close(cs) == 0); + } + + ATF_REQUIRE(close(s) == 0); + ATF_REQUIRE(pthread_join(t, NULL) == 0); +} + +/* + * Make sure that closing a connection kicks a MSG_WAITALL recv() out of the + * syscall. See bugzilla PR 212716. + */ +ATF_TC(close_tcp); +ATF_TC_HEAD(close_tcp, tc) +{ + atf_tc_set_md_var(tc, "timeout", "10"); +} +ATF_TC_BODY(close_tcp, tc) +{ + struct sockaddr_in sin; + + sin = (struct sockaddr_in){ + .sin_len = sizeof(sin), + .sin_family = AF_INET, + .sin_addr = { htonl(INADDR_LOOPBACK) }, + .sin_port = htons(0), + }; + close_test((struct sockaddr *)&sin, 1000, AF_INET, SOCK_STREAM, + IPPROTO_TCP); +} + +/* A variant of the above test for UNIX domain stream sockets. */ +ATF_TC(close_unix_stream); +ATF_TC_HEAD(close_unix_stream, tc) +{ + atf_tc_set_md_var(tc, "timeout", "10"); +} +ATF_TC_BODY(close_unix_stream, tc) +{ + struct sockaddr_un sun; + + sun = (struct sockaddr_un){ + .sun_len = sizeof(sun), + .sun_family = AF_UNIX, + .sun_path = "socket_msg_waitall_unix", + }; + close_test((struct sockaddr *)&sun, 1000, AF_UNIX, SOCK_STREAM, 0); + ATF_REQUIRE_MSG(unlink(sun.sun_path) == 0, + "unlink: %s", strerror(errno)); +} + +/* A variant of the above test for UNIX domain seqpacket sockets. */ +ATF_TC(close_unix_seqpacket); +ATF_TC_HEAD(close_unix_seqpacket, tc) +{ + atf_tc_set_md_var(tc, "timeout", "10"); +} +ATF_TC_BODY(close_unix_seqpacket, tc) +{ + struct sockaddr_un sun; + + sun = (struct sockaddr_un){ + .sun_len = sizeof(sun), + .sun_family = AF_UNIX, + .sun_path = "socket_msg_waitall_unix", + }; + close_test((struct sockaddr *)&sun, 1000, AF_UNIX, SOCK_SEQPACKET, 0); + ATF_REQUIRE_MSG(unlink(sun.sun_path) == 0, + "unlink: %s", strerror(errno)); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, close_tcp); + ATF_TP_ADD_TC(tp, close_unix_stream); + ATF_TP_ADD_TC(tp, close_unix_seqpacket); + + return (atf_no_error()); +} From nobody Wed Sep 27 12:53:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rwc3h62HFz4vQjS; Wed, 27 Sep 2023 12:53: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 4Rwc3h56Rzz4Vnr; Wed, 27 Sep 2023 12:53:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695819200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vly1BWXQ6rNfPaSqolAsFkF6p4lUmIQQZESs/oFsR14=; b=oWjpMeXM1tboNeaP7iha3dMu+yLwgwByVpkui7X3ejNoD3KAUKSVAD3xoHA69M6zTbqlOv T9dZfFdi8QRfDp64WkNatluJOhNHtB24g2E84zDu9ZixutOU+OPdZ3XaffEh8gglACaoZD 0TkWWHPz4k03BEzWiv8ipJ4dFpx+3/mvZwBR/8gZvdkwyHF6QxF7isVMhOvhKXVCtqDyrz NmBFScEnH59r8EFkKe38hfu13wevt4JJlGDiLMlhlSH57bCzm/Hnhq/4Ug8B3QM5CWea6e snrr5YcKkR0xngJLkC0D7CrWvKk9tq5wFpYV935h/aPKUTPMUhMGJBWaJQT50A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695819200; a=rsa-sha256; cv=none; b=FRJ12YXgg02FSHVi/p+T/oCQ654/OK+opbtHNC1vZNrhpkMVf+VwiPJOfKYtdubQl24UI/ XKR0RNlScrT+gge96b23o0v0Vbq83qMR7XfoFJsUAOOt8vw7RaXJMeU6ED1/KX91D9TuHc sX0CvE1PTG5SK4Oeh9ieX1JiCeyU7jyoXF6i8DI2ybKjh00NrpNgup9qu0HPyn24rS1Skm dHa0q2AsW+tY6Z/5SM2fJc32fHsKnOVxxSiEQdMrZ8p4krKab4jTqeqIBth5Dt3AI5plf2 ltbRm+09AIHZ+BDUA+NW82PAZNp0cqg1qA36MhMgPl2YB8nE4ysO4EMCfBKwAg== 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=1695819200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vly1BWXQ6rNfPaSqolAsFkF6p4lUmIQQZESs/oFsR14=; b=gvrLfG4zYjZ/dFNQ19O7Cn+St/zpiZSFrYDCppS+ZHHw+fab1NQASik5672F+cEoW5DjKs iSPZCuO3dxmgkQRx702hf0CgZshYebXpBdlNEah9ngfOgoLZlA45ZUZQhQxrP2+s+QKS0b /VQ3clfnFXv7hImBCni7KacIjHahKrI1tgMG9d4xBsfKF8SEnnsZSvcUWmt3D9H7v5bTAR C8zrbGaBWHJDWlrrkpHRGjRLukRWU6wBdFC39HH3qn/Bvn2PD1i6Uf94UUnxH2OGViBHa3 dmgDIMJSuXjoj/J/mJSi2oL6YXlfPUocU5iYPtuRZkdQeSI5pyF1ixv7xxBN+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 4Rwc3h3j06zflR; Wed, 27 Sep 2023 12:53: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 38RCrK3k024659; Wed, 27 Sep 2023 12:53:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RCrKoX024656; Wed, 27 Sep 2023 12:53:20 GMT (envelope-from git) Date: Wed, 27 Sep 2023 12:53:20 GMT Message-Id: <202309271253.38RCrKoX024656@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: 49c1b353390c - stable/14 - dtrace: Fix a kernel panic in printm() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 49c1b353390cf498bcd9a3e548039e2a64f654fe Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=49c1b353390cf498bcd9a3e548039e2a64f654fe commit 49c1b353390cf498bcd9a3e548039e2a64f654fe Author: Domagoj Stolfa AuthorDate: 2023-09-06 13:25:00 +0000 Commit: Mark Johnston CommitDate: 2023-09-27 12:35:46 +0000 dtrace: Fix a kernel panic in printm() When using printm(), one should always pass a scratch pointer to it. This is achieved by calling printm with memref BEGIN { printm(fixed_len, memref(ptr, var_len)); } which will return a pointer to the DTrace scratch space of size sizeof(uintptr_t) * 2. However, one can easily call printm() as follows BEGIN { printm(10, (void *)NULL); } and panic the kernel as a result. This commit does two things: (1) adds a new macro DTRACE_INSCRATCHPTR(mstate, ptr, howmany) which checks if a certain pointer is in the DTrace scratch space; (2) uses DTRACE_INSCRATCHPTR() to implement a check on printm()'s DIFO return value in order to avoid the panic and sets CPU_DTRACE_BADADDR if the address is not in the scratch space. Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D41722 (cherry picked from commit 8527bb2aee6ca9013c34445de88217a954b6628d) --- .../contrib/opensolaris/uts/common/dtrace/dtrace.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c index 02a95bfab726..ce02676e0dc1 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c +++ b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c @@ -515,6 +515,11 @@ do { \ ((mstate)->dtms_scratch_base + (mstate)->dtms_scratch_size - \ (mstate)->dtms_scratch_ptr >= (alloc_sz)) +#define DTRACE_INSCRATCHPTR(mstate, ptr, howmany) \ + ((ptr) >= (mstate)->dtms_scratch_base && \ + (ptr) <= \ + ((mstate)->dtms_scratch_base + (mstate)->dtms_scratch_size - (howmany))) + #define DTRACE_LOADFUNC(bits) \ /*CSTYLED*/ \ uint##bits##_t \ @@ -7739,9 +7744,24 @@ dtrace_probe(dtrace_id_t id, uintptr_t arg0, uintptr_t arg1, } case DTRACEACT_PRINTM: { - /* The DIF returns a 'memref'. */ + /* + * printm() assumes that the DIF returns a + * pointer returned by memref(). memref() is a + * subroutine that is used to get around the + * single-valued returns of DIF and is assumed + * to always be allocated in the scratch space. + * Therefore, we need to validate that the + * pointer given to printm() is in the scratch + * space in order to avoid a potential panic. + */ uintptr_t *memref = (uintptr_t *)(uintptr_t) val; + if (!DTRACE_INSCRATCHPTR(&mstate, + (uintptr_t)memref, 2 * sizeof(uintptr_t))) { + *flags |= CPU_DTRACE_BADADDR; + continue; + } + /* Get the size from the memref. */ size = memref[1]; From nobody Wed Sep 27 22:44:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RwsB01Cjcz4v62C; Wed, 27 Sep 2023 22:44: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 4RwsB00bfZz4X7X; Wed, 27 Sep 2023 22:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695854680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GAgFo4IbzQvXzp2bRZglyZhuO55EjY0vKgTJ8AFXFI4=; b=Th1tV/RBMyI98M0YTaM6ic2F1fRzAXbZeKSCYb1xPzvmewoermoP3kstpwiX+36ppzUE/v foY79Wqc9OYQ1j4X2EQyEJ/foH9vMRcXhvcyPSl02wCNPgOSUwk9pz9rPSiqDO7kOYYxdp G077OaHHRhtOvhCDCu1cK4lOsOrbpHGsCo7GFtJ0t/+fFktzkRxMyeEby3LQu97s0r5kf1 0XLjaDwjYp5D1znf4JvHnHgvc/AmTUUW8VJVt5aNONXIvVA3myvcnSgUXYx5usuGdZv1NM LsXkb5NZ6AaqEaK0CyalMBOMKigTT9ZK41uXwKQSSiU/SBXxuMnIWihmKdMxEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695854680; a=rsa-sha256; cv=none; b=XcPw1c7sDdJMiKQPek0UUaruf+QE11J1zBS4d7aQ8aBaMr1r9tc7XVWwbJvEoWFnV2r/59 kLSKmA29ll+0y/8Kq7F9r7OBAUVuk0L0gtHlkoaY1/fW0miGDpMYrYjtgaSyoyO6oQKhu8 TZJCzULeAtVM1PrncQ06gHPNx91DDB53GqO7sHqruAaVdLKmHT82r5BRpsxp1g6t1OiznS s5OSOju9wBNo/60J+qYCnCcy0FbP/1UZQOEpN7latCTGFEFomP2OZHROIs4OhvqB9EVaAE v0N3HZpxSYYh/4a4EE/gG22cw8lmL8tPLS6My85yi0BgkAQRtlx8KEpRXMRICQ== 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=1695854680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GAgFo4IbzQvXzp2bRZglyZhuO55EjY0vKgTJ8AFXFI4=; b=gGpUDxbQwWsT04KnWICjdVuP7pGHOiihOQphYD/mKz12ykBVT3sSOhOpuYnKN8ytHrB0z/ JhuFQuiviZ0+8jETz1qhegyga+2pkqpOjVeEcTV7I3/YPcKx09Xe2hlz+SQhUapEQMiXxC Whw3/s0QWE0tBXk/Wp+nStW+59LhIGfKBLUm6H9jk+PweNy6nJGrY2Co2isSo339RAk0lm vFfrAUXA1L7sZ+QjQoSO1LefJgLh7ullko0VYG/aUaY8mT1VuwLcCs/LZLaKtTS2yXuQbx YjmsRbcn7s8f1GzHO9ITBv2mlabSb1wr6G7aAlffSHtdjVjTc8tKXjx9StdHFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rws9z6YT2zxCj; Wed, 27 Sep 2023 22:44: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 38RMidGp007154; Wed, 27 Sep 2023 22:44:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RMidM9007151; Wed, 27 Sep 2023 22:44:39 GMT (envelope-from git) Date: Wed, 27 Sep 2023 22:44:39 GMT Message-Id: <202309272244.38RMidM9007151@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: 636c1933fe69 - releng/14.0 - zfs: update share/zfs/compatibility.d to match current ZFS code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 636c1933fe69f8ef549886f3f2f4e9c32938e978 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=636c1933fe69f8ef549886f3f2f4e9c32938e978 commit 636c1933fe69f8ef549886f3f2f4e9c32938e978 Author: Martin Matuska AuthorDate: 2023-09-21 23:34:47 +0000 Commit: Martin Matuska CommitDate: 2023-09-27 21:49:26 +0000 zfs: update share/zfs/compatibility.d to match current ZFS code Approved by: re (gjb) (cherry picked from commit 7a0e9e3f8f3a9379df793284f719f1a7ee5734c2) (cherry picked from commit bb438c08b86a32f13da16b2e7801f2cbd45bc5c1) --- cddl/share/zfs/compatibility.d/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cddl/share/zfs/compatibility.d/Makefile b/cddl/share/zfs/compatibility.d/Makefile index e60bd172dcce..13d88fef184d 100644 --- a/cddl/share/zfs/compatibility.d/Makefile +++ b/cddl/share/zfs/compatibility.d/Makefile @@ -22,6 +22,7 @@ FILES= \ openzfs-2.0-linux \ openzfs-2.1-freebsd \ openzfs-2.1-linux \ + openzfs-2.2 \ zol-0.6.1 \ zol-0.6.4 \ zol-0.6.5 \ @@ -42,12 +43,17 @@ LINKS= \ ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freebsd-12.0 \ ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freebsd-12.1 \ ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freebsd-12.2 \ + ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freebsd-12.3 \ + ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freebsd-12.4 \ ${FILESDIR}/freebsd-11.3 ${FILESDIR}/freenas-11.3 \ ${FILESDIR}/freenas-11.0 ${FILESDIR}/freenas-11.1 \ ${FILESDIR}/openzfsonosx-1.9.3 ${FILESDIR}/openzfsonosx-1.9.4 \ ${FILESDIR}/openzfs-2.0-freebsd ${FILESDIR}/truenas-12.0 \ ${FILESDIR}/zol-0.7 ${FILESDIR}/ubuntu-18.04 \ - ${FILESDIR}/zol-0.8 ${FILESDIR}/ubuntu-20.04 + ${FILESDIR}/zol-0.8 ${FILESDIR}/ubuntu-20.04 \ + ${FILESDIR}/openzfs-2.1-linux ${FILESDIR}/ubuntu-22.04 \ + ${FILESDIR}/openzfs-2.2 ${FILESDIR}/openzfs-2.2-linux \ + ${FILESDIR}/openzfs-2.2 ${FILESDIR}/openzfs-2.2-freebsd LINKMODE= ${NOBINMODE} From nobody Wed Sep 27 22:44:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RwsB12LVXz4v5tc; Wed, 27 Sep 2023 22:44: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 4RwsB11cBLz4XJn; Wed, 27 Sep 2023 22:44:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695854681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZcBGbqnWhUclGH9k/t0Tl/vFMZ9A33D2AdVNk/3eUc0=; b=ep7fmjIb6ECWcZKmitLY/Dd++pje7CRC8dMEqnMC/0xI3CUjxDtvlVuKwFXo6X5TzfB7FB f5fHys0VwDr7fBpDl5eE26TASlgJR949TEyHTqLQ+ip5VFtaikEnU56QgZHSRwBp4Aw/KW Mrv0uyuXFvOqA0FrKX2B94/E80GYL6EcARB/XSZzINa1+E6gxG13pzIjbKcNn2um9Eqt/G ioQd4IHJd78a2azkcYzNZQO976UjkCatRliPMFbaSz2h9EH73qnx7n63IMFWCrUrslHBSw eonbptINvcyxOWiEZBDWbxFhfKOjIxDRRauPodUZEWvLs6RrD6hNJVFdenaFHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695854681; a=rsa-sha256; cv=none; b=tLBKHPH9xJNiPFN0z7AM2NeaeShTyz4gZWj8npTRFHjNTLwBOsOS/3JsgK7d2kKsrrjfCt NM5FUcMURcb067I+80wDR1OobGreMRaO3KY1gDM/nPZC97+/DD0j1XADVKFojF6OUHZS26 EWiRx1IBtNkciHj/6GKbofufN2RhHBccI4i4lesDToFIyctN+7dtvN2zKGxqoG8X+rPp4S jnodtl3AeOXDB/878bGuV5mOXBHzRAWNBIEaan0NkQ+lG1HW01foG6lCJdXem5ZBuhV4hz 4Xi625yKAJNACJel2NZHOHrEGYzqmU1FvEpAvkW8wXG0zXwfmze1lFrOgyhhzA== 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=1695854681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZcBGbqnWhUclGH9k/t0Tl/vFMZ9A33D2AdVNk/3eUc0=; b=g8N/RkqP0L80KQZFlHKCqnYj2cU8vnYj3jTJslZmuo7Z/6SLGn5uU/1hLZfD9DbdOU7cBB dCnAcylwvTJjrOYuKRUj+HJNDe4YhcRbO/x9KnCK94aFZa//RL3ux6ps2P0L5xhrMPybHz z34ZZptGc4RrVqnQ/ElOXF9ccw0mK8bEJwxnzqNCjV2O8ip0WOOCsFVBo3DTrLVwLZjR97 CxtIjkczqhGZrX/k0ztQ4kNao+/NZ4a5ds6K1z1OdqF/nHkZtolupW//ET6XzvLJzqBDfj exWVoaTYlCekTBJW/vd+unjE9qzd5RhKuMGbUQuHpBs3URYgZJGSsPzJUXvsmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RwsB10JFpzxNn; Wed, 27 Sep 2023 22:44: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 38RMieVe007200; Wed, 27 Sep 2023 22:44:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38RMieZX007197; Wed, 27 Sep 2023 22:44:40 GMT (envelope-from git) Date: Wed, 27 Sep 2023 22:44:40 GMT Message-Id: <202309272244.38RMieZX007197@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: b31ac0350909 - releng/14.0 - zfs: merge openzfs/zfs@5f3069867 (zfs-2.2-release) into stable/14 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: b31ac03509092358597762d48b2ba82874387756 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=b31ac03509092358597762d48b2ba82874387756 commit b31ac03509092358597762d48b2ba82874387756 Author: Martin Matuska AuthorDate: 2023-09-24 22:26:28 +0000 Commit: Martin Matuska CommitDate: 2023-09-27 21:49:41 +0000 zfs: merge openzfs/zfs@5f3069867 (zfs-2.2-release) into stable/14 Notable upstream pull request merges: #15248 cc75c816c Fix l2arc_apply_transforms ztest crash #15273 6d9bc3ec9 Fix occasional rsend test crashes #15288 f63683fe0 cmd: add 'help' subcommand to zpool and zfs #15297 a199cac6c status: report pool suspension state under failmode=continue Approved by: re (gjb) Obtained from: OpenZFS OpenZFS commit: 5f30698670dec3fc2085663677021f0a592cf081 (cherry picked from commit 6cfb90c6ebe4c2eb8de4abad679289b9a6c7aae2) --- sys/contrib/openzfs/cmd/zfs/zfs_main.c | 30 +++++++++++++++++++++ sys/contrib/openzfs/cmd/zpool/zpool_main.c | 31 ++++++++++++++++++++++ sys/contrib/openzfs/cmd/ztest.c | 2 +- sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 3 ++- sys/contrib/openzfs/lib/libzfs_core/libzfs_core.c | 10 ++++--- sys/contrib/openzfs/module/zfs/arc.c | 11 ++++---- sys/contrib/openzfs/module/zfs/spa_misc.c | 4 +-- .../openzfs/tests/zfs-tests/tests/Makefile.am | 2 ++ ...ock_cloning_copyfilerange_fallback_same_txg.ksh | 1 + .../cli_root/zfs_program/zfs_program_json.ksh | 4 ++- sys/modules/zfs/zfs_config.h | 4 +-- sys/modules/zfs/zfs_gitrev.h | 2 +- 12 files changed, 87 insertions(+), 17 deletions(-) diff --git a/sys/contrib/openzfs/cmd/zfs/zfs_main.c b/sys/contrib/openzfs/cmd/zfs/zfs_main.c index afd330630f69..533a21bba4d0 100644 --- a/sys/contrib/openzfs/cmd/zfs/zfs_main.c +++ b/sys/contrib/openzfs/cmd/zfs/zfs_main.c @@ -132,6 +132,8 @@ static int zfs_do_zone(int argc, char **argv); static int zfs_do_unzone(int argc, char **argv); #endif +static int zfs_do_help(int argc, char **argv); + /* * Enable a reasonable set of defaults for libumem debugging on DEBUG builds. */ @@ -606,6 +608,9 @@ usage(boolean_t requested) (void) fprintf(fp, gettext("\nFor the delegated permission list, run: %s\n"), "zfs allow|unallow"); + (void) fprintf(fp, + gettext("\nFor further help on a command or topic, " + "run: %s\n"), "zfs help []"); } /* @@ -8726,6 +8731,25 @@ zfs_do_version(int argc, char **argv) return (zfs_version_print() != 0); } +/* Display documentation */ +static int +zfs_do_help(int argc, char **argv) +{ + char page[MAXNAMELEN]; + if (argc < 3 || strcmp(argv[2], "zfs") == 0) + strcpy(page, "zfs"); + else if (strcmp(argv[2], "concepts") == 0 || + strcmp(argv[2], "props") == 0) + snprintf(page, sizeof (page), "zfs%s", argv[2]); + else + snprintf(page, sizeof (page), "zfs-%s", argv[2]); + + execlp("man", "man", page, NULL); + + fprintf(stderr, "couldn't run man program: %s", strerror(errno)); + return (-1); +} + int main(int argc, char **argv) { @@ -8781,6 +8805,12 @@ main(int argc, char **argv) if ((strcmp(cmdname, "-V") == 0) || (strcmp(cmdname, "--version") == 0)) return (zfs_do_version(argc, argv)); + /* + * Special case 'help' + */ + if (strcmp(cmdname, "help") == 0) + return (zfs_do_help(argc, argv)); + if ((g_zfs = libzfs_init()) == NULL) { (void) fprintf(stderr, "%s\n", libzfs_error_init(errno)); return (1); diff --git a/sys/contrib/openzfs/cmd/zpool/zpool_main.c b/sys/contrib/openzfs/cmd/zpool/zpool_main.c index 6d0dae8d8b05..d64fdfa5ba4c 100644 --- a/sys/contrib/openzfs/cmd/zpool/zpool_main.c +++ b/sys/contrib/openzfs/cmd/zpool/zpool_main.c @@ -126,6 +126,8 @@ static int zpool_do_version(int, char **); static int zpool_do_wait(int, char **); +static int zpool_do_help(int argc, char **argv); + static zpool_compat_status_t zpool_do_load_compat( const char *, boolean_t *); @@ -538,6 +540,10 @@ usage(boolean_t requested) (void) fprintf(fp, "%s", get_usage(command_table[i].usage)); } + + (void) fprintf(fp, + gettext("\nFor further help on a command or topic, " + "run: %s\n"), "zpool help []"); } else { (void) fprintf(fp, gettext("usage:\n")); (void) fprintf(fp, "%s", get_usage(current_command->usage)); @@ -11051,6 +11057,25 @@ zpool_do_version(int argc, char **argv) return (zfs_version_print() != 0); } +/* Display documentation */ +static int +zpool_do_help(int argc, char **argv) +{ + char page[MAXNAMELEN]; + if (argc < 3 || strcmp(argv[2], "zpool") == 0) + strcpy(page, "zpool"); + else if (strcmp(argv[2], "concepts") == 0 || + strcmp(argv[2], "props") == 0) + snprintf(page, sizeof (page), "zpool%s", argv[2]); + else + snprintf(page, sizeof (page), "zpool-%s", argv[2]); + + execlp("man", "man", page, NULL); + + fprintf(stderr, "couldn't run man program: %s", strerror(errno)); + return (-1); +} + /* * Do zpool_load_compat() and print error message on failure */ @@ -11118,6 +11143,12 @@ main(int argc, char **argv) if ((strcmp(cmdname, "-V") == 0) || (strcmp(cmdname, "--version") == 0)) return (zpool_do_version(argc, argv)); + /* + * Special case 'help' + */ + if (strcmp(cmdname, "help") == 0) + return (zpool_do_help(argc, argv)); + if ((g_zfs = libzfs_init()) == NULL) { (void) fprintf(stderr, "%s\n", libzfs_error_init(errno)); return (1); diff --git a/sys/contrib/openzfs/cmd/ztest.c b/sys/contrib/openzfs/cmd/ztest.c index 398c519cfc35..59c4be225f93 100644 --- a/sys/contrib/openzfs/cmd/ztest.c +++ b/sys/contrib/openzfs/cmd/ztest.c @@ -3767,7 +3767,7 @@ ztest_vdev_attach_detach(ztest_ds_t *zd, uint64_t id) else if (ashift > oldvd->vdev_top->vdev_ashift) expected_error = EDOM; else if (newvd_is_dspare && pvd != vdev_draid_spare_get_parent(newvd)) - expected_error = ENOTSUP; + expected_error = EINVAL; else expected_error = 0; diff --git a/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c b/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c index 85564edfd862..4ebd112f452f 100644 --- a/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c +++ b/sys/contrib/openzfs/lib/libzfs/libzfs_pool.c @@ -29,7 +29,7 @@ * Copyright (c) 2017, Intel Corporation. * Copyright (c) 2018, loli10K * Copyright (c) 2021, Colm Buckley - * Copyright (c) 2021, Klara Inc. + * Copyright (c) 2021, 2023, Klara Inc. */ #include @@ -255,6 +255,7 @@ zpool_get_state_str(zpool_handle_t *zhp) if (zpool_get_state(zhp) == POOL_STATE_UNAVAIL) { str = gettext("FAULTED"); } else if (status == ZPOOL_STATUS_IO_FAILURE_WAIT || + status == ZPOOL_STATUS_IO_FAILURE_CONTINUE || status == ZPOOL_STATUS_IO_FAILURE_MMP) { str = gettext("SUSPENDED"); } else { diff --git a/sys/contrib/openzfs/lib/libzfs_core/libzfs_core.c b/sys/contrib/openzfs/lib/libzfs_core/libzfs_core.c index c63a16de5ab6..01d803e21db0 100644 --- a/sys/contrib/openzfs/lib/libzfs_core/libzfs_core.c +++ b/sys/contrib/openzfs/lib/libzfs_core/libzfs_core.c @@ -650,10 +650,12 @@ send_worker(void *arg) unsigned int bufsiz = max_pipe_buffer(ctx->from); ssize_t rd; - while ((rd = splice(ctx->from, NULL, ctx->to, NULL, bufsiz, - SPLICE_F_MOVE | SPLICE_F_MORE)) > 0) - ; - + for (;;) { + rd = splice(ctx->from, NULL, ctx->to, NULL, bufsiz, + SPLICE_F_MOVE | SPLICE_F_MORE); + if ((rd == -1 && errno != EINTR) || rd == 0) + break; + } int err = (rd == -1) ? errno : 0; close(ctx->from); return ((void *)(uintptr_t)err); diff --git a/sys/contrib/openzfs/module/zfs/arc.c b/sys/contrib/openzfs/module/zfs/arc.c index 7023f448182a..22dc0ed5e3b6 100644 --- a/sys/contrib/openzfs/module/zfs/arc.c +++ b/sys/contrib/openzfs/module/zfs/arc.c @@ -9092,15 +9092,16 @@ l2arc_apply_transforms(spa_t *spa, arc_buf_hdr_t *hdr, uint64_t asize, * write things before deciding to fail compression in nearly * every case.) */ - cabd = abd_alloc_for_io(size, ismd); - tmp = abd_borrow_buf(cabd, size); + uint64_t bufsize = MAX(size, asize); + cabd = abd_alloc_for_io(bufsize, ismd); + tmp = abd_borrow_buf(cabd, bufsize); psize = zio_compress_data(compress, to_write, &tmp, size, hdr->b_complevel); if (psize >= asize) { psize = HDR_GET_PSIZE(hdr); - abd_return_buf_copy(cabd, tmp, size); + abd_return_buf_copy(cabd, tmp, bufsize); HDR_SET_COMPRESS(hdr, ZIO_COMPRESS_OFF); to_write = cabd; abd_copy(to_write, hdr->b_l1hdr.b_pabd, psize); @@ -9110,9 +9111,9 @@ l2arc_apply_transforms(spa_t *spa, arc_buf_hdr_t *hdr, uint64_t asize, } ASSERT3U(psize, <=, HDR_GET_PSIZE(hdr)); if (psize < asize) - memset((char *)tmp + psize, 0, asize - psize); + memset((char *)tmp + psize, 0, bufsize - psize); psize = HDR_GET_PSIZE(hdr); - abd_return_buf_copy(cabd, tmp, size); + abd_return_buf_copy(cabd, tmp, bufsize); to_write = cabd; } diff --git a/sys/contrib/openzfs/module/zfs/spa_misc.c b/sys/contrib/openzfs/module/zfs/spa_misc.c index 3b355e0debcc..72b690162d64 100644 --- a/sys/contrib/openzfs/module/zfs/spa_misc.c +++ b/sys/contrib/openzfs/module/zfs/spa_misc.c @@ -27,6 +27,7 @@ * Copyright (c) 2017 Datto Inc. * Copyright (c) 2017, Intel Corporation. * Copyright (c) 2019, loli10K . All rights reserved. + * Copyright (c) 2023, Klara Inc. */ #include @@ -2756,8 +2757,7 @@ spa_state_to_name(spa_t *spa) vdev_state_t state = rvd->vdev_state; vdev_aux_t aux = rvd->vdev_stat.vs_aux; - if (spa_suspended(spa) && - (spa_get_failmode(spa) != ZIO_FAILURE_MODE_CONTINUE)) + if (spa_suspended(spa)) return ("SUSPENDED"); switch (state) { diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/Makefile.am b/sys/contrib/openzfs/tests/zfs-tests/tests/Makefile.am index 66aff5026f8f..1a58e6f774e9 100644 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/Makefile.am +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/Makefile.am @@ -1588,7 +1588,9 @@ nobase_dist_datadir_zfs_tests_tests_SCRIPTS += \ functional/online_offline/setup.ksh \ functional/pam/cleanup.ksh \ functional/pam/pam_basic.ksh \ + functional/pam/pam_change_unmounted.ksh \ functional/pam/pam_nounmount.ksh \ + functional/pam/pam_recursive.ksh \ functional/pam/pam_short_password.ksh \ functional/pam/setup.ksh \ functional/pool_checkpoint/checkpoint_after_rewind.ksh \ diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback_same_txg.ksh b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback_same_txg.ksh index a10545bc0769..74c5a5bece60 100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback_same_txg.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_copyfilerange_fallback_same_txg.ksh @@ -51,6 +51,7 @@ log_onexit cleanup log_must zpool create -o feature@block_cloning=enabled $TESTPOOL $DISKS log_must set_tunable64 TXG_TIMEOUT 5000 +log_must sync_pool $TESTPOOL true log_must dd if=/dev/urandom of=/$TESTPOOL/file bs=128K count=4 log_must clonefile -f /$TESTPOOL/file /$TESTPOOL/clone 0 0 524288 diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_program/zfs_program_json.ksh b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_program/zfs_program_json.ksh index b0265c5ee4a1..2241b77bf806 100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_program/zfs_program_json.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_program/zfs_program_json.ksh @@ -117,7 +117,9 @@ usage: For the property list, run: zfs set|get -For the delegated permission list, run: zfs allow|unallow") +For the delegated permission list, run: zfs allow|unallow + +For further help on a command or topic, run: zfs help []") cnt=0 for cmd in ${neg_cmds[@]}; do log_mustnot zfs program $cmd $TESTPOOL $TESTZCP $TESTDS 2>&1 diff --git a/sys/modules/zfs/zfs_config.h b/sys/modules/zfs/zfs_config.h index f5d0a4d6d7d1..059989a79d1c 100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@ -1095,7 +1095,7 @@ /* #undef ZFS_IS_GPL_COMPATIBLE */ /* Define the project alias string. */ -#define ZFS_META_ALIAS "zfs-2.2.0-FreeBSD_g62677576a" +#define ZFS_META_ALIAS "zfs-2.2.0-FreeBSD_g5f3069867" /* Define the project author. */ #define ZFS_META_AUTHOR "OpenZFS" @@ -1125,7 +1125,7 @@ #define ZFS_META_NAME "zfs" /* Define the project release. */ -#define ZFS_META_RELEASE "FreeBSD_g62677576a" +#define ZFS_META_RELEASE "FreeBSD_g5f3069867" /* Define the project version. */ #define ZFS_META_VERSION "2.2.0" diff --git a/sys/modules/zfs/zfs_gitrev.h b/sys/modules/zfs/zfs_gitrev.h index 9b7204050397..5b3f631df93a 100644 --- a/sys/modules/zfs/zfs_gitrev.h +++ b/sys/modules/zfs/zfs_gitrev.h @@ -1 +1 @@ -#define ZFS_META_GITREV "zfs-2.2.0-rc4-20-g62677576a" +#define ZFS_META_GITREV "zfs-2.2.0-rc4-27-g5f3069867" From nobody Thu Sep 28 01:28:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RwwqJ1W7Xz4vHSn; Thu, 28 Sep 2023 01:28: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 4RwwqH74SJz3Hhq; Thu, 28 Sep 2023 01:28:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695864524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nzBXCUfWeiYCOc2Ox920kWeZcOgemYEDMOE2ENPMIfw=; b=rYcGzUI11WNU8J7Hs9IHogrbmjFkZZY+EXKdl91kduZQ2OP8Gd4PIMgBrDBT/yVUCPKp7i Z6P/4uBlb5TjMI92HYcEQk3LNuWH8pfUCa4hqK4hCQIdIud0aFeZXSTpzwivBMefdfcZdt XtE6zfd4+sXro8CWFOXj9iCOcK3g+V6IlehvON8Dn//xuGKx+5c31v42m4THOLtL9Oz7kC 04DnMBe3glfoo+XYe/Ui2pAqbWtG/WDtIvwXLRKTW8LZ7b6rBME+mfe5cNEOmnhSOPTrHt 1H4B+Alb3qZpocKSVv61vtWQ7SpRga4jSYPt8+Fse/EHVSQbWOw7rP0qPGlqlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695864524; a=rsa-sha256; cv=none; b=XGPj0kE3GV/FhNmDPb1iZwXE7oVJ5VGhUDLV/V11e4amBbM/ht1CDHGTHgbR5qVkDSYBH2 AuBnepiTjlDG/t/DarvVV+AR5uTQPNsEQ+dVEAd8thSXKEEeyfbv9merpQnfaMko0dHrYo DYpOS2bK9wLO6jXDR7dWUzJZWtdUFm+ibSz37I7PkZqwskHSLT4zTqPG4zGsU6Om67QxQ4 zlJT9b3JbLKDplHBgdzPlWX3g89UEtiTHBrZUhAJF1LBf0F0mcw6RhrtZCyrYrUJCGSPYP wbj5QUf2bs0gRK+y++F5ZtfBzAKJVxS80iI2JvWSmVgaSZ0jJnpp1WZWGfKp6A== 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=1695864524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nzBXCUfWeiYCOc2Ox920kWeZcOgemYEDMOE2ENPMIfw=; b=XXfAbl8ebjk7sBV9zLVanNXv5tAugmez+NSjTQQHaawW/6q/GJ+OovK40zoq0c4wcD0sBs hnaPGT8qrtpldqR1aJhHU7+UJPPZp+ervYEA0/2baiXyiDlMG43lfvjt5HyDHKepAoXnp0 /jbxmEMprgwUYCcJiy/QWlvAyEuduxW6ckq+V70WxG1/lKlunreAq+5Ah1uutsNeADMoEu 3s1yeNnGb8IIHOvK2lrorFiruMICghwwO1LGxTWsGNXFwsedfHU/Aw+rhieltaqdMEHHzj hpCx7IUe1kgXc17Aan4u4AsyvZyYO4MYk2VSlxhwivJFXr2trXg5h97ffet0yw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RwwqH69Z8z11y9; Thu, 28 Sep 2023 01:28: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 38S1Sh6o073481; Thu, 28 Sep 2023 01:28:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38S1Shdg073478; Thu, 28 Sep 2023 01:28:43 GMT (envelope-from git) Date: Thu, 28 Sep 2023 01:28:43 GMT Message-Id: <202309280128.38S1Shdg073478@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Jason A. Harmening" Subject: git: 23332e34e653 - stable/14 - devfs: add integrity asserts for cdevp_list List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jah X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 23332e34e653131c0ff3a948b57d06948102a06b Auto-Submitted: auto-generated The branch stable/14 has been updated by jah: URL: https://cgit.FreeBSD.org/src/commit/?id=23332e34e653131c0ff3a948b57d06948102a06b commit 23332e34e653131c0ff3a948b57d06948102a06b Author: Jason A. Harmening AuthorDate: 2023-09-19 13:44:34 +0000 Commit: Jason A. Harmening CommitDate: 2023-09-28 00:46:38 +0000 devfs: add integrity asserts for cdevp_list It's possible for misuse of cdev KPIs or for bugs in devfs itself to result in e.g. a cdev object's container being freed while still on the global list used to populate each devfs mount; see PR 273418 for a recent example. Since a node may be marked inactive well before it is reaped from the list, add a new flag solely to track list membership, and employ it in some basic list integrity assertions to catch bad actors. Discussed with: kib, mjg (cherry picked from commit 67864268da53b792836f13be10299de8cd62997e) --- sys/fs/devfs/devfs_devs.c | 12 +++++++++++- sys/fs/devfs/devfs_int.h | 1 + sys/fs/devfs/devfs_vnops.c | 4 ++++ sys/kern/kern_conf.c | 2 ++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/sys/fs/devfs/devfs_devs.c b/sys/fs/devfs/devfs_devs.c index c6efd0d421b1..db879efe803a 100644 --- a/sys/fs/devfs/devfs_devs.c +++ b/sys/fs/devfs/devfs_devs.c @@ -175,6 +175,9 @@ devfs_free(struct cdev *cdev) struct cdev_priv *cdp; cdp = cdev2priv(cdev); + KASSERT((cdp->cdp_flags & (CDP_ACTIVE | CDP_ON_ACTIVE_LIST)) == 0, + ("%s: cdp %p (%s) still on active list", + __func__, cdp, cdev->si_name)); if (cdev->si_cred != NULL) crfree(cdev->si_cred); devfs_free_cdp_inode(cdp->cdp_inode); @@ -516,6 +519,9 @@ devfs_populate_loop(struct devfs_mount *dm, int cleanup) dev_lock(); TAILQ_FOREACH(cdp, &cdevp_list, cdp_list) { KASSERT(cdp->cdp_dirents != NULL, ("NULL cdp_dirents")); + KASSERT((cdp->cdp_flags & CDP_ON_ACTIVE_LIST) != 0, + ("%s: cdp %p (%s) should not be on active list", + __func__, cdp, cdp->cdp_c.si_name)); /* * If we are unmounting, or the device has been destroyed, @@ -547,6 +553,7 @@ devfs_populate_loop(struct devfs_mount *dm, int cleanup) if (!(cdp->cdp_flags & CDP_ACTIVE)) { if (cdp->cdp_inuse > 0) continue; + cdp->cdp_flags &= ~CDP_ON_ACTIVE_LIST; TAILQ_REMOVE(&cdevp_list, cdp, cdp_list); dev_unlock(); dev_rel(&cdp->cdp_c); @@ -698,7 +705,10 @@ devfs_create(struct cdev *dev) dev_lock_assert_locked(); cdp = cdev2priv(dev); - cdp->cdp_flags |= CDP_ACTIVE; + KASSERT((cdp->cdp_flags & CDP_ON_ACTIVE_LIST) == 0, + ("%s: cdp %p (%s) already on active list", + __func__, cdp, dev->si_name)); + cdp->cdp_flags |= (CDP_ACTIVE | CDP_ON_ACTIVE_LIST); cdp->cdp_inode = alloc_unrl(devfs_inos); dev_refl(dev); TAILQ_INSERT_TAIL(&cdevp_list, cdp, cdp_list); diff --git a/sys/fs/devfs/devfs_int.h b/sys/fs/devfs/devfs_int.h index 32c6fb414250..916297425b53 100644 --- a/sys/fs/devfs/devfs_int.h +++ b/sys/fs/devfs/devfs_int.h @@ -55,6 +55,7 @@ struct cdev_priv { #define CDP_ACTIVE (1 << 0) #define CDP_SCHED_DTR (1 << 1) #define CDP_UNREF_DTR (1 << 2) +#define CDP_ON_ACTIVE_LIST (1 << 3) u_int cdp_inuse; u_int cdp_maxdirent; diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c index 2f700f9dad25..1df7d13be919 100644 --- a/sys/fs/devfs/devfs_vnops.c +++ b/sys/fs/devfs/devfs_vnops.c @@ -1664,6 +1664,10 @@ devfs_revoke(struct vop_revoke_args *ap) dev_lock(); cdp->cdp_inuse--; if (!(cdp->cdp_flags & CDP_ACTIVE) && cdp->cdp_inuse == 0) { + KASSERT((cdp->cdp_flags & CDP_ON_ACTIVE_LIST) != 0, + ("%s: cdp %p (%s) not on active list", + __func__, cdp, dev->si_name)); + cdp->cdp_flags &= ~CDP_ON_ACTIVE_LIST; TAILQ_REMOVE(&cdevp_list, cdp, cdp_list); dev_unlock(); dev_rel(&cdp->cdp_c); diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index d6063696c85b..a7c22b7d118a 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -119,6 +119,8 @@ dev_free_devlocked(struct cdev *cdev) cdp = cdev2priv(cdev); KASSERT((cdp->cdp_flags & CDP_UNREF_DTR) == 0, ("destroy_dev() was not called after delist_dev(%p)", cdev)); + KASSERT((cdp->cdp_flags & CDP_ON_ACTIVE_LIST) == 0, + ("%s: cdp %p (%s) on active list", __func__, cdp, cdev->si_name)); TAILQ_INSERT_HEAD(&cdevp_free_list, cdp, cdp_list); } From nobody Thu Sep 28 01:42:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rwx7T5SBqz4vHnT; Thu, 28 Sep 2023 01:42: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 4Rwx7T4xXnz3Jky; Thu, 28 Sep 2023 01:42:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695865365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=So3GYT0v2YR3GQlDa4UsoeH7V/MHH88PU5K3woZRQdw=; b=elGfrRO6W3MmBwXS4efz4JH/aejDcFqNiXydGUVIh27Wesy4fLRijeJwr7UGpNbxc+iLsk KdSDGl7X2AA+kGN2NSF+e7ZJQpQ6caC4+Yy3mSvOpyInyEhJKMozPMCI2cZrAyrxofhF2B mNXtQjCanwvjS4c3dX0ezmzZn8RRYP7STYA1Vlw5D9+eazeURhKAuMPIyOobW+gIz8uiRp D9XOzpwAZxZ3GnykVJFg5d950qlpKcfoMnxVttwwvdrhlBbeYxgvCYUR3LAQCnavLfg1rJ /YkBkIofjdgFELbeO0sVvxSmx0PjLysHYzwh/4Yw1ukp3MhQku4Sd/ll93IXUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695865365; a=rsa-sha256; cv=none; b=l7tKYdUZTD32phvYdmmvuwNuP7xhrQfGY3O4L38LXtX4V2GTa1I6rQJIP9XV2CccYJimxj tK6qBhaDQu1zK1rMNe1X2bi936BLbpVVWoLGWdJ0BUNYiKdOqRG5z6cgvBcMZe7puc4lLO R9OANr98HVzn9iJhfbuQL/09I2qGwonmShEX7Kf9+76xv2VY/UUmyi3mdrw+GyxYigcB6x HBJKzwkicg14cYpOuU8RBovcLqf+GhD8UdlPj37vFLSZdsh4tPAsN53AOuaVB4DI+if6tV MgtC2xlfm7AMTd3wrmjEVQfxQBrJmqSuJQIRMAs9goy/hm+CNJZV0wjXFreprw== 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=1695865365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=So3GYT0v2YR3GQlDa4UsoeH7V/MHH88PU5K3woZRQdw=; b=F1xaGVFB/Y95096DMNAZMUHKC62h85l+gTaYtPdqHg4ZYoOjm2isA+f1rxI+6kGCGhH3Ly iHR043ykhlXvDsEl9AJ6pczUIjq040jZF58/8U+B4mV7P/9iW5tLw/yVQDhcUdp+zE2JQU omrSI6dyibIoQBadVde3Sk9VBGgNWtD0dG68RQy3WbjXIwVgycSHWx6WhJNiOqNKKiz+I/ o8qqID2njZAxRr0qeGjM8p7xgn8RS3TmmJ18AdQHDymEncOeHKUf812EnZ4+e06jnNwBAi eUbIdoHa8FQgoqX1ub8ZV11OE2Gy5rd3y+oNmeS5wVqwUIl2AOmGXbAk3r4OMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rwx7T40Nvz131P; Thu, 28 Sep 2023 01:42: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 38S1gjnR005518; Thu, 28 Sep 2023 01:42:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38S1gj4X005515; Thu, 28 Sep 2023 01:42:45 GMT (envelope-from git) Date: Thu, 28 Sep 2023 01:42:45 GMT Message-Id: <202309280142.38S1gj4X005515@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Jason A. Harmening" Subject: git: ee596061e5a5 - stable/13 - devfs: add integrity asserts for cdevp_list List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jah X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ee596061e5a5952f1ddc68627492fbe94af8344b Auto-Submitted: auto-generated The branch stable/13 has been updated by jah: URL: https://cgit.FreeBSD.org/src/commit/?id=ee596061e5a5952f1ddc68627492fbe94af8344b commit ee596061e5a5952f1ddc68627492fbe94af8344b Author: Jason A. Harmening AuthorDate: 2023-09-19 13:44:34 +0000 Commit: Jason A. Harmening CommitDate: 2023-09-28 01:29:52 +0000 devfs: add integrity asserts for cdevp_list It's possible for misuse of cdev KPIs or for bugs in devfs itself to result in e.g. a cdev object's container being freed while still on the global list used to populate each devfs mount; see PR 273418 for a recent example. Since a node may be marked inactive well before it is reaped from the list, add a new flag solely to track list membership, and employ it in some basic list integrity assertions to catch bad actors. Discussed with: kib, mjg (cherry picked from commit 67864268da53b792836f13be10299de8cd62997e) --- sys/fs/devfs/devfs_devs.c | 12 +++++++++++- sys/fs/devfs/devfs_int.h | 1 + sys/fs/devfs/devfs_vnops.c | 4 ++++ sys/kern/kern_conf.c | 2 ++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/sys/fs/devfs/devfs_devs.c b/sys/fs/devfs/devfs_devs.c index 6d8ce5cc3a63..1e28db5966a7 100644 --- a/sys/fs/devfs/devfs_devs.c +++ b/sys/fs/devfs/devfs_devs.c @@ -175,6 +175,9 @@ devfs_free(struct cdev *cdev) struct cdev_priv *cdp; cdp = cdev2priv(cdev); + KASSERT((cdp->cdp_flags & (CDP_ACTIVE | CDP_ON_ACTIVE_LIST)) == 0, + ("%s: cdp %p (%s) still on active list", + __func__, cdp, cdev->si_name)); if (cdev->si_cred != NULL) crfree(cdev->si_cred); devfs_free_cdp_inode(cdp->cdp_inode); @@ -521,6 +524,9 @@ devfs_populate_loop(struct devfs_mount *dm, int cleanup) dev_lock(); TAILQ_FOREACH(cdp, &cdevp_list, cdp_list) { KASSERT(cdp->cdp_dirents != NULL, ("NULL cdp_dirents")); + KASSERT((cdp->cdp_flags & CDP_ON_ACTIVE_LIST) != 0, + ("%s: cdp %p (%s) should not be on active list", + __func__, cdp, cdp->cdp_c.si_name)); /* * If we are unmounting, or the device has been destroyed, @@ -552,6 +558,7 @@ devfs_populate_loop(struct devfs_mount *dm, int cleanup) if (!(cdp->cdp_flags & CDP_ACTIVE)) { if (cdp->cdp_inuse > 0) continue; + cdp->cdp_flags &= ~CDP_ON_ACTIVE_LIST; TAILQ_REMOVE(&cdevp_list, cdp, cdp_list); dev_unlock(); dev_rel(&cdp->cdp_c); @@ -703,7 +710,10 @@ devfs_create(struct cdev *dev) dev_lock_assert_locked(); cdp = cdev2priv(dev); - cdp->cdp_flags |= CDP_ACTIVE; + KASSERT((cdp->cdp_flags & CDP_ON_ACTIVE_LIST) == 0, + ("%s: cdp %p (%s) already on active list", + __func__, cdp, dev->si_name)); + cdp->cdp_flags |= (CDP_ACTIVE | CDP_ON_ACTIVE_LIST); cdp->cdp_inode = alloc_unrl(devfs_inos); dev_refl(dev); TAILQ_INSERT_TAIL(&cdevp_list, cdp, cdp_list); diff --git a/sys/fs/devfs/devfs_int.h b/sys/fs/devfs/devfs_int.h index 26589e0bded6..9cf50c58018d 100644 --- a/sys/fs/devfs/devfs_int.h +++ b/sys/fs/devfs/devfs_int.h @@ -57,6 +57,7 @@ struct cdev_priv { #define CDP_ACTIVE (1 << 0) #define CDP_SCHED_DTR (1 << 1) #define CDP_UNREF_DTR (1 << 2) +#define CDP_ON_ACTIVE_LIST (1 << 3) u_int cdp_inuse; u_int cdp_maxdirent; diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c index e8c8956d36fd..a71cfda9fa9a 100644 --- a/sys/fs/devfs/devfs_vnops.c +++ b/sys/fs/devfs/devfs_vnops.c @@ -1676,6 +1676,10 @@ devfs_revoke(struct vop_revoke_args *ap) dev_lock(); cdp->cdp_inuse--; if (!(cdp->cdp_flags & CDP_ACTIVE) && cdp->cdp_inuse == 0) { + KASSERT((cdp->cdp_flags & CDP_ON_ACTIVE_LIST) != 0, + ("%s: cdp %p (%s) not on active list", + __func__, cdp, dev->si_name)); + cdp->cdp_flags &= ~CDP_ON_ACTIVE_LIST; TAILQ_REMOVE(&cdevp_list, cdp, cdp_list); dev_unlock(); dev_rel(&cdp->cdp_c); diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index 866788530e7f..a3af24a43b61 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -119,6 +119,8 @@ dev_free_devlocked(struct cdev *cdev) cdp = cdev2priv(cdev); KASSERT((cdp->cdp_flags & CDP_UNREF_DTR) == 0, ("destroy_dev() was not called after delist_dev(%p)", cdev)); + KASSERT((cdp->cdp_flags & CDP_ON_ACTIVE_LIST) == 0, + ("%s: cdp %p (%s) on active list", __func__, cdp, cdev->si_name)); TAILQ_INSERT_HEAD(&cdevp_free_list, cdp, cdp_list); } From nobody Thu Sep 28 04:39:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rx13c0jYlz4vWTW; Thu, 28 Sep 2023 04:39: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 4Rx13c07G5z3dL0; Thu, 28 Sep 2023 04:39:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695875980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZzZ3uOvUW5f36npQokMziKneAkv7i81usUIXosKW5Cc=; b=oxx12OnIno+nP2SoWqe1fP+2woh5AwhNeFd3ziWhgitZVppo32H/7TAgjOutNNoaDTKEB7 Hjp57/3GVaLeeZOySj3VE/1WmUFTpIBczu1GdFIjfoDRc9TV6vPEtBXSsLY+xGsY3EfjDE MPsQNZX9+XEPWNChiwtDxzy9YbaYG0GzFZUIYDCVCYYDhGVNjLD4mty29l2AwewvZVJf68 4o3XzJnUopwY05W/3bbw2hu5Q0Glj+Al4QhPJEzf3jiFtC5g/bjFc3L0nyx3+bmG2gZeyW f8p//EFkRjy+MYskMvnhO/KLM2eKAT3FCU8atkT4Xbf12go5ZW9kDYg+IKbz8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695875980; a=rsa-sha256; cv=none; b=B3g5+yE49dPyIYGPIBqICFLHHCJT1ttjcz0jrGSjpQ+NdQJT9UB+JhWh4tfU1qi/3H6rg+ 3YaBQLd0kXIgtDJCa1c3LjpVTXk5jGmh1JXK3nphRCr/H0MHw66j+UUlFz/bEs/UbgDvQr 0Ps3j5YTm8kulWhRPUyevehmzmCfIheHg+eh+NgBMn8EElbsF4t1uDF6/aaM3JGihZy+0p G6clo5tLT2xvZLKBsWh4XgGNg3cUw1NrZXVMWNYEQwWkCiHr/D2ZbAzLO16khp+UWyxRSC LlZZ3t7mV6Y2V+YBwlKuSWPyNBWeNvdEtP3J7yci6zIRxluLT7XpPOoi3bXExQ== 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=1695875980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZzZ3uOvUW5f36npQokMziKneAkv7i81usUIXosKW5Cc=; b=IsEXkgvfJhHO1bo1yfYHGKqWIJ1RL+qbVi73SKRJaqQOwSud+odlNf82vBMZ5+kXRw9gel teFza7Dq5YVegz7hz5MzmS2Uhcs93Gue8ys3VDqjDhVD2vWctkWsYWPQxr7EMimz7nFTg3 uBhP6NMQwNGKGbRPzj311HE7Dk59Tw7iexGgDyCHhifblqZeJ1JtEhuzOW9ufMzFi0ttHk EP4mHirgBT8vnogDu771wPL77mfs48ED6E2jnbNLlHJmnhQq9n9euwtGJ1UI5m9QjmTAAe 1pCJSRqcwjHvHsvk7CGOaLYq0XOZDyoH+gFdtktPgSLKY+zHuASivbp6bYl7lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rx13b6Hffz1738; Thu, 28 Sep 2023 04:39:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38S4ddRb089813; Thu, 28 Sep 2023 04:39:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38S4dd1m089810; Thu, 28 Sep 2023 04:39:39 GMT (envelope-from git) Date: Thu, 28 Sep 2023 04:39:39 GMT Message-Id: <202309280439.38S4dd1m089810@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jamie Gritton Subject: git: c96d5c97bb65 - stable/14 - MFC jail: avoid a clash with /etc/jail.conf.d between rc and jail(8) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jamie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c96d5c97bb65a1b0bc135b452f13d0ca6a8d60c9 Auto-Submitted: auto-generated The branch stable/14 has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=c96d5c97bb65a1b0bc135b452f13d0ca6a8d60c9 commit c96d5c97bb65a1b0bc135b452f13d0ca6a8d60c9 Author: Jamie Gritton AuthorDate: 2023-09-25 00:03:09 +0000 Commit: Jamie Gritton CommitDate: 2023-09-28 04:39:00 +0000 MFC jail: avoid a clash with /etc/jail.conf.d between rc and jail(8) Since 13.1, /etc/rc.d/jail has looked for a per-jail config file in /etc/jail.conf.d. For RELENG 14, the ".include" directive was added to jail(8), with a sample line in the jail.conf(5) man page that includes "/etc/jail.conf.d/*.conf". These two use cases don't work together. When the jail.conf.d files are included from a master jail.conf, the files in jail.conf.d are likely to hold only partial configurations, and shouldn't be directly loaded by rc.d/jail. But there are existing configurations that depend on the current rc.d behavior. While users could be advised not to include from /etc/jail.conf.d, it's the natural choice even if not mentioned in jail.conf.5. The workaround is for rc.d/jail to continue to load the individual files, but only when /etc/jail.conf doesn't include from that directory (via a simple grep test), This allows the current use while not breaking the previous use. Reported by: antranigv at freebsd.am Differential Revision: https://reviews.freebsd.org/D41962 (cherry picked from commit a2440348eed75bb7682579af0905b652747fd016) --- libexec/rc/rc.d/jail | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/jail b/libexec/rc/rc.d/jail index f8995c7e3b00..f12dae280bb0 100755 --- a/libexec/rc/rc.d/jail +++ b/libexec/rc/rc.d/jail @@ -126,7 +126,9 @@ parse_options() if [ -r "$_jconf" ]; then _conf="$_jconf" return 0 - elif [ -r "$_jconfdir" ]; then + elif [ -r "$_jconfdir" ] && ! egrep -q \ + '^\s*\.include\s*["'\'']?/etc/jail.conf.d/' "$jail_conf" \ + 2>/dev/null; then _conf="$_jconfdir" return 0 elif [ -r "$jail_conf" ]; then From nobody Thu Sep 28 09:06:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rx6yy4Fsmz4vlZN; Thu, 28 Sep 2023 09:06: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 4Rx6yy3lXQz4VF0; Thu, 28 Sep 2023 09:06:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695891962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T7vO9JMD2bblddoujaA7AvNRa7ycoGGtW0WjX6dSepg=; b=QVBTAfmQitjquHbeGUQYc5HLTKCuHsPkaaftpqV2Z1DBSj0ZdIAKQi0z8kc9ody6im5MKo V8g+bIfI+KJtzjOz/iUJSeMbzw0HVvMEcq4AbTQuR3+2ADktqKUTPLTUkjhQGQklgsRRct jkWuW2Cd6+JCCVUmuY/w8YYpnf5uAxxxoDiGW/ZzDclO//ERBw/azYhgBli2L1xPpH8Z7P apHMfzSl5Q7lsMMIXXWIsfMKdDg9w4x4RVBODOB9wX+xNN91KyolQtcZqggnuljNs2ZwKu +oZmkx6HK/cBl6zdfNOeqQseo4VSyGkheYnWxiB4DrJnucp4FKcnKNCmXAwTMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695891962; a=rsa-sha256; cv=none; b=EOFJ7c9SNk7+A6IH34a+3xJCgJEXBa6E+kEBhwpEf4WGt35TfRBKHPSBW0TnFppbzHfr+F nfdDwO+vt9AUEBI4ULUEDXHeoh/JhoCWXuWl7On8erW1o+57T/Zap2PpFMDlO1fPjtX2gn X2R7eVQtr2Wi8u4xeLIybfHa7kZ/k60ZJf20ZYDTSAqhGjCLvVXf7hhbdXx8aLpQC1sRo6 tJWELOAm1V4vssKTeEExEHcbPLhlgMVjv0+s2FdeR4umOn2hpG9eW7wC+r0hJe3nibBIdO fnQwB0KJPkfdZLpzrSs9n8o2eHabDMOpRUnUYbLkG05deM+S7t10asWKjonpnA== 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=1695891962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T7vO9JMD2bblddoujaA7AvNRa7ycoGGtW0WjX6dSepg=; b=NpIGBa9+qX2pdGfJcXZXZEXycuEPAX7tslczU3TohqkpqEyvw4+rJsO9RgFp6/QzOdv+aO lIPatT6JqXkRZQ0TVusWJbmYqJ6nFwZetrNVI0gOm9XJrpvoGUXK+lGsKKHTKAmXScEMzi R8HUlS4rpyT9OLgsB/+AFWsiRdCpAk0mSu36YvsIgFrr0RelvgE6N8wZfYcUdLz+1JDtCN M/gXaX/x8erp+OsXhbsBkrpIYHlru+ofubeRAWsCxhyyIJvGOax+M+iT68Sfn+mx+JGQ2I w89OpwjHiFxKmSJvnQPHq4McoRi4JqPTGnUPimwacsG32PHD66uZ0j8PRA8kcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rx6yy2hxQz1d7; Thu, 28 Sep 2023 09:06: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 38S962FI040035; Thu, 28 Sep 2023 09:06:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38S962r6040032; Thu, 28 Sep 2023 09:06:02 GMT (envelope-from git) Date: Thu, 28 Sep 2023 09:06:02 GMT Message-Id: <202309280906.38S962r6040032@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5b200ff58126 - stable/14 - vfs_remount_ro(): mnt_lockref should be only accessed after vfs_op_enter() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5b200ff58126a028ba357f297cbb596a7475962c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5b200ff58126a028ba357f297cbb596a7475962c commit 5b200ff58126a028ba357f297cbb596a7475962c Author: Konstantin Belousov AuthorDate: 2023-09-20 03:42:31 +0000 Commit: Konstantin Belousov CommitDate: 2023-09-28 09:05:05 +0000 vfs_remount_ro(): mnt_lockref should be only accessed after vfs_op_enter() PR: 273953 (cherry picked from commit c584bb9cac16bc200ac45cc8b709e7e7e99e24bb) --- sys/kern/vfs_mount.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 45ab9cfc93cc..8364081585f8 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -3004,6 +3004,7 @@ vfs_remount_ro(struct mount *mp) struct vnode *vp_covered, *rootvp; int error; + vfs_op_enter(mp); KASSERT(mp->mnt_lockref > 0, ("vfs_remount_ro: mp %p is not busied", mp)); KASSERT((mp->mnt_kern_flag & MNTK_UNMOUNT) == 0, @@ -3012,17 +3013,19 @@ vfs_remount_ro(struct mount *mp) rootvp = NULL; vp_covered = mp->mnt_vnodecovered; error = vget(vp_covered, LK_EXCLUSIVE | LK_NOWAIT); - if (error != 0) + if (error != 0) { + vfs_op_exit(mp); return (error); + } VI_LOCK(vp_covered); if ((vp_covered->v_iflag & VI_MOUNT) != 0) { VI_UNLOCK(vp_covered); vput(vp_covered); + vfs_op_exit(mp); return (EBUSY); } vp_covered->v_iflag |= VI_MOUNT; VI_UNLOCK(vp_covered); - vfs_op_enter(mp); vn_seqc_write_begin(vp_covered); MNT_ILOCK(mp); From nobody Thu Sep 28 09:06:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rx70312W0z4vm0h; Thu, 28 Sep 2023 09:06: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 4Rx702736Qz4Wd3; Thu, 28 Sep 2023 09:06:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695892019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8UVw8Y99F+QhpoynhBXamiqJas2nE+410HiYfOWXm40=; b=aWioR0goOIzF66zsSBOeX+AmGvmwoQHNZzdrIRhZ9L4+Cs4Bz9H4UGp2X3IIWBsKLTIxFH ar4IjtlhYmJ+5UGfIagJcTYi0k/w4nJqylAG3tT58akhZSPF2woZ5pEgOl9FHm+kdNUENx sffq/neXKQXBuvuOvwvEqooE4/1HLS4MFqG/iyY6URSX1ieQitXf7qtNK2ozHXZE0aF1xa vhS4NtLUgVIrX4e6vqyUe3Zfpv0yE0lOQM65Qd8/yYSojq7LoJ/5JDVKvjB9DsdB5tTIVY 2FaoIwF7W7x4YMHa/clgEV2WkGOouNK+P5eI2btU/MseO/zOzQ1JAdIB5jZ2pA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695892019; a=rsa-sha256; cv=none; b=kfnFkY6m2XLDuQYBx2KeOcO9lXoNRPX34nNPLYDwjWNkWBat3pVIdsvK+XKReGbLs1omLg EnvblvsLUgAQjO6ia3FOgXvJIALqjazOabVXTFHKkipPTTycwrgwjzK7aDw6+GkVREihv9 mkkOHV/DFhaIFgg2OWk9SoI9EAJaVwSUNLdobsNXAfA+XqwaRP9yXubD1FAv9nPwDovbZR FGpIEiOLHEJ6Dio9J0ltt/Itit8a71BORy80y9dBJmIO+QWYt9JNC9W0VyfUm9ZDqIq+GT tYtEuiY5MJ0rW8L93Bd3WttkFeD6Fc07PQ0hyhmFPuY0/ZZCNNg+7/Yk93jVUA== 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=1695892019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8UVw8Y99F+QhpoynhBXamiqJas2nE+410HiYfOWXm40=; b=Ha9mSOtQB4vOVkBnq0vFLSXVjhVkae3xOSRauxmgDLx9Cc52b/tQbZuHERLc1CpsxXV+2z xYtWZClZ/F/v+jq19hFlm5hN+J404uDSgdJ8Nf7GuKiAT3lX6V2kkzdmY5FxM9wEFgLYOt Q76V9tugKjWoBtSw4TZTLVZik8u2/YhzFlT065nlp+aTSB555LDADONvtY9YRfdwzH3CHT 1Mc1VZu2YSaVB+gSI7sdwdPdIyMS4CKrym/CE5SGWPAYqr9Vn5KQnyYZzuR42bAv0B8bis rsv1bUwpHRZeeD7LrKjIsvnO2ZFWknlNR0VLoiBKz4g61plNBn93dgDhwG+3mA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rx70266mBz1pr; Thu, 28 Sep 2023 09:06: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 38S96wnd040290; Thu, 28 Sep 2023 09:06:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38S96wJ1040287; Thu, 28 Sep 2023 09:06:58 GMT (envelope-from git) Date: Thu, 28 Sep 2023 09:06:58 GMT Message-Id: <202309280906.38S96wJ1040287@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 40cec659c167 - stable/13 - vfs_remount_ro(): mnt_lockref should be only accessed after vfs_op_enter() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 40cec659c167d1773826cf44f5ef6394cb0ad8fd Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=40cec659c167d1773826cf44f5ef6394cb0ad8fd commit 40cec659c167d1773826cf44f5ef6394cb0ad8fd Author: Konstantin Belousov AuthorDate: 2023-09-20 03:42:31 +0000 Commit: Konstantin Belousov CommitDate: 2023-09-28 09:06:23 +0000 vfs_remount_ro(): mnt_lockref should be only accessed after vfs_op_enter() PR: 273953 (cherry picked from commit c584bb9cac16bc200ac45cc8b709e7e7e99e24bb) --- sys/kern/vfs_mount.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index d81a42885a79..25c4adeaae62 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -2692,6 +2692,7 @@ vfs_remount_ro(struct mount *mp) struct vnode *vp_covered, *rootvp; int error; + vfs_op_enter(mp); KASSERT(mp->mnt_lockref > 0, ("vfs_remount_ro: mp %p is not busied", mp)); KASSERT((mp->mnt_kern_flag & MNTK_UNMOUNT) == 0, @@ -2700,17 +2701,19 @@ vfs_remount_ro(struct mount *mp) rootvp = NULL; vp_covered = mp->mnt_vnodecovered; error = vget(vp_covered, LK_EXCLUSIVE | LK_NOWAIT); - if (error != 0) + if (error != 0) { + vfs_op_exit(mp); return (error); + } VI_LOCK(vp_covered); if ((vp_covered->v_iflag & VI_MOUNT) != 0) { VI_UNLOCK(vp_covered); vput(vp_covered); + vfs_op_exit(mp); return (EBUSY); } vp_covered->v_iflag |= VI_MOUNT; VI_UNLOCK(vp_covered); - vfs_op_enter(mp); vn_seqc_write_begin(vp_covered); MNT_ILOCK(mp); From nobody Thu Sep 28 13:41:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxF4Z0Dbhz4tnQS; Thu, 28 Sep 2023 13:41: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 4RxF4Y6tlnz3Phw; Thu, 28 Sep 2023 13:41:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695908478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=USsSYy9VG+VQQWDFR812VjeVLm2ITFtDg2nUZltzE+Q=; b=VE6vn3N/mwhFUPd+d56tfBZlF1LtPyIYOcLnPYU7Vp40bKpIUknejp6+xEWow3wN/4X3HM eKLfCBw4p2trMclFCM6r+zOL4sizWU0Ow0xlGd+9yPwRgFqI/oZyOxLboPC1SgIZaNK/5k XCMri7mMfWHv1C6302JqNX3mGR9Ajtum1XCXTdtYMYzvE+Qdv7TwLh4LEdN5GDdis3Ejvg xYHXINOE/Vt3X1qJv4a+tBEi/ob/ZDzNbm3oS7o2eKwC8AMPYd+oQ6WTcT2zYZVqYzN8nD iSUyEvnhCv+/qipT+7OZWPUYZch9jV9aiagPO/qlTaGjUz+cfSj8dY59szgdQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695908478; a=rsa-sha256; cv=none; b=w0cxXMVk84ZYM9YPV1Fd7KB/NqAIL46WzG2WLwBnUU8rmcdLONSrB1RBr+fNCraRR6zVMI UYtS+xBDyP29nY3mGyKuUvcfeFwI0myGDAF+brJIdju0pZi4gG4Lu9hAoRkQtvajFAZ2k6 SL0NJR0in1HgyAdeJ1iRmnHd3Y52DeWYC2iKiYTcmyfmlCEHrdh3ZQ6TySIk/e7mqhiNDG u4R3yyP4/1/2lLaR0Npfmyh1JF64pGEKAXEcvyOZTXvhhC3Qf7tmO4AIRDgIG4lvh2+pyE IkBp5lDD+WHYEqsay7odM16EIz7Sh66bUM5B+1NsMObUs20yWW7xr7zx2n/KGQ== 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=1695908478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=USsSYy9VG+VQQWDFR812VjeVLm2ITFtDg2nUZltzE+Q=; b=xqDNMYeRQAWWhy+M6JCiu2YD44oa7sIOdvO4N1aTBOT9hCbTvWkuk4FReNabj6mrZWPdHC q3ueduqdSifzynntyEq+2cTBUUNcb7axBp/pffLpudMbSuhMIxTGPE+3svl20RgXACgbzb OwcrI5JnaeKBsgLgSRI+EOokEVhQl2PG/3FpBNSc8C9u3ZmT37m5kPsZNapYnv+skOlxzi SwDVk1CY1GbMqEc7fJINYEuiYPkIZNimDTJFeJYkTBJWfglO6SmKQOBxdzfrAqJOdzDgfc lvdITDnQiuQ5x2kfE2aABo9c3KkISk3ZjTWgDbz4LpuTlxiDVoaeaypyDJ3VQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxF4Y5yZwz8ZB; Thu, 28 Sep 2023 13:41: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 38SDfHuI000778; Thu, 28 Sep 2023 13:41:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SDfHaL000775; Thu, 28 Sep 2023 13:41:17 GMT (envelope-from git) Date: Thu, 28 Sep 2023 13:41:17 GMT Message-Id: <202309281341.38SDfHaL000775@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: 5f446a12dac2 - stable/12 - freebsd-update: Fix merging already-updated files List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 5f446a12dac2a8be8a1b4fc53a383d18896df611 Auto-Submitted: auto-generated The branch stable/12 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5f446a12dac2a8be8a1b4fc53a383d18896df611 commit 5f446a12dac2a8be8a1b4fc53a383d18896df611 Author: Colin Percival AuthorDate: 2023-05-05 03:00:58 +0000 Commit: Ed Maste CommitDate: 2023-09-28 13:40:38 +0000 freebsd-update: Fix merging already-updated files When performing an "upgrade" (moving between FreeBSD releases, as opposed to "update" which merely applies security/errata updates to the installed release) FreeBSD Update: 1. Generates a list of "files needing to be merged", namely those files which don't match the version installed in the "old" release and have paths matching the MergeChanges configuration directive (by default, /boot/device.hints and everything under /etc/). and later on, 2. Compares the currently-installed files to the versions in the "new" release, removing index entries for files which "don't need to be updated because they're not changing". Unfortunately if a file falls into both of these categories -- that is to say, if a file in /etc/ is the same as the version in the new release and not the same as the version in the old release -- the resulting "merge" step saw that the file was no longer listed as being part of the new release, resulting in the file being deleted. For the first 18 years of FreeBSD Update's existence, this never happened, since $FreeBSD$ tags resulted in "new release" files always being different from any files systems would already have installed. This commit fixes this behaviour by only placing a file into the "files needing to be merged" list if it does not match the version in the old release *or* the version in the new release. Reported by: des Reviewed by: delphij (earlier version), des, emaste MFC after: 7 days X-EN-Candidate: yes Differential Revision: https://reviews.freebsd.org/D39973 (cherry picked from commit c55b7e522629cb78adeb54bd9964304481d55eab) --- usr.sbin/freebsd-update/freebsd-update.sh | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index b0e7ea1ce538..0641aa41921c 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -1677,11 +1677,12 @@ fetch_inspect_system () { echo "done." } -# For any paths matching ${MERGECHANGES}, compare $1 and $2 and find any -# files which differ; generate $3 containing these paths and the old hashes. +# For any paths matching ${MERGECHANGES}, compare $2 against $1 and $3 and +# find any files with values unique to $2; generate $4 containing these paths +# and their corresponding hashes from $1. fetch_filter_mergechanges () { # Pull out the paths and hashes of the files matching ${MERGECHANGES}. - for F in $1 $2; do + for F in $1 $2 $3; do for X in ${MERGECHANGES}; do grep -E "^${X}" ${F} done | @@ -1689,9 +1690,10 @@ fetch_filter_mergechanges () { sort > ${F}-values done - # Any line in $2-values which doesn't appear in $1-values and is a - # file means that we should list the path in $3. - comm -13 $1-values $2-values | + # Any line in $2-values which doesn't appear in $1-values or $3-values + # and is a file means that we should list the path in $3. + sort $1-values $3-values | + comm -13 - $2-values | fgrep '|f|' | cut -f 1 -d '|' > $2-paths @@ -1703,10 +1705,10 @@ fetch_filter_mergechanges () { while read X; do look "${X}|" $1-values | head -1 - done < $2-paths > $3 + done < $2-paths > $4 # Clean up - rm $1-values $2-values $2-paths + rm $1-values $2-values $3-values $2-paths } # For any paths matching ${UPDATEIFUNMODIFIED}, remove lines from $[123] @@ -2711,7 +2713,7 @@ upgrade_run () { # Based on ${MERGECHANGES}, generate a file tomerge-old with the # paths and hashes of old versions of files to merge. - fetch_filter_mergechanges INDEX-OLD INDEX-PRESENT tomerge-old + fetch_filter_mergechanges INDEX-OLD INDEX-PRESENT INDEX-NEW tomerge-old # Based on ${UPDATEIFUNMODIFIED}, remove lines from INDEX-* which # correspond to lines in INDEX-PRESENT with hashes not appearing From nobody Thu Sep 28 20:41:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxQPM4VYpz4vZC6; Thu, 28 Sep 2023 20:41: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 4RxQPM2y6Bz4v7j; Thu, 28 Sep 2023 20:41:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695933687; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SNDidHEKeJn6XatY3mn7QWjjo0CrT0hWA/SPfBQ+Gn8=; b=VzfYjC+sClzlwG6dfVfQdtdxIThkMkiTOXP/iSlKUGBUof2T9oVSjzd0y6z2YmDjtS6lgT euH+Mz/Xh758OebgNScXrfS0S/hkHGPBnE1fbDzBY6+93Po2oYdboQUEJu2AluzrGo4azl vigO8s/iI6BQ9YyIm+qFc8qUFk1Dc0YGDI4ERrhpWLMS8KP5J8E3lj22nSXfO7zXHXNc4r YzIz3cWCxCyYxqnoHbRsGlB6K+61QnDli3rdXu316RO/A1exn1S4sSXL/oO4wdIHxcojZn eP1ZYTa8JvxDrfglWxKCdnVJnJ3SjTTWPxcQdsCb1QnSOcJjb6KwPbHoawpncA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695933687; a=rsa-sha256; cv=none; b=AtIa59+e+UVTCC5CJa4Yz/yywlWZQ03oXd8HxmnvO3r1BQ+dY4wQnZo+VKT4EVQysXgoFN e5M5LSO85jrHKZEa7lE3iFTYEcEIuvY3IaTeYtDvQ7uq5AVy63ArXjFIDyCYnTyUJEatkY sxzbaYuNW9VXN8JPPSjCPzbAeL7Vgk7RFsu6xiSsOzvjNZ1SXqc5mTI0QuVg2FGEMeoOwu VuKwQ1hp51EJUwuK/D0YvJadpsWD6TnqCBCLIzvlMDtlkWJKml2EmzzDMedGXRyb8uMsJT pvGNTdS93WqfkS7MSPkujqc3VMXMQeWPu31MQUORdFH7BUokJ/qGq1XWeydXLA== 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=1695933687; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SNDidHEKeJn6XatY3mn7QWjjo0CrT0hWA/SPfBQ+Gn8=; b=qBkK4SqCYujPulh9GYo/74E+0KKh5pfsk2LKbkwmuPKEKuPMXajxEUNh8h5kdWqJaqxnfg mVkKaYiFMUa1vrWL3hJdWT+AhFaDapWJV80EMO5+jzhW+oIRZ95uEz4WaDBjSWkiEoBHda kzaIqX554XplhUMHFOCknhbI+3zKVfFSXAusxi4uvhxESjzv4v0a5AgL4LQxIct0e/5DzY hPn5dV/eUx+DUOY3Z1Jd7YUPZTtEk+uhWCW7B2kDUPCuReew1lnAWd1GT5BuUIe5aXLtui mG3JDMlg4aU3vZkB6pKLrPZgymJhpGf7ZKVKqtOyacLCEZFYUEsZZ+lQNTCqRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxQPM222Qzch0; Thu, 28 Sep 2023 20:41: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 38SKfRkE002954; Thu, 28 Sep 2023 20:41:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SKfRca002952; Thu, 28 Sep 2023 20:41:27 GMT (envelope-from git) Date: Thu, 28 Sep 2023 20:41:27 GMT Message-Id: <202309282041.38SKfRca002952@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: d7ee24d0d5ae - releng/14.0 - sockets: re-check socket state after call to pr_rcvd() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: d7ee24d0d5aed1180e9f65058c3a5ff45a52210e Auto-Submitted: auto-generated The branch releng/14.0 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d7ee24d0d5aed1180e9f65058c3a5ff45a52210e commit d7ee24d0d5aed1180e9f65058c3a5ff45a52210e Author: Greg Becker AuthorDate: 2023-09-09 23:38:24 +0000 Commit: Mark Johnston CommitDate: 2023-09-28 20:41:09 +0000 sockets: re-check socket state after call to pr_rcvd() Socket state may have changed after dropping the receive buffer lock in order to call pr_rcvd(). If the buffer is empty, re-check the state after reaquiring the lock and skip calling sbwait() if the socket is in error or the peer has closed. Approved by: re (gjb) PR: 212716 Reviewed by: markj, glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41783 (cherry picked from commit f44102411e1b16363e91a074c9c403069c550e4d) (cherry picked from commit caaea455773898bee9a0c59466a84256192e0980) --- sys/kern/uipc_socket.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index ffd5e06c34b7..3c7e5c4cb4bb 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -2429,6 +2429,10 @@ dontblock: VNET_SO_ASSERT(so); pr->pr_rcvd(so, flags); SOCKBUF_LOCK(&so->so_rcv); + if (__predict_false(so->so_rcv.sb_mb == NULL && + (so->so_error || so->so_rerror || + so->so_rcv.sb_state & SBS_CANTRCVMORE))) + break; } SBLASTRECORDCHK(&so->so_rcv); SBLASTMBUFCHK(&so->so_rcv); From nobody Thu Sep 28 20:41:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxQPN51pMz4vZC8; Thu, 28 Sep 2023 20:41: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 4RxQPN4GZBz4vPZ; Thu, 28 Sep 2023 20:41:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695933688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lDII95SLzQHIOZiUoTJ/Y9whtTR19OvUqpABiYsly0g=; b=yNx4PCoRJZRQTxJ1QBQWH//uqZ1Y08hxrflXTVNvBT4PiQ6Qz1lvO26ZgOhr38DEyXWgVW pf+GDV/mgSKA0Qroja+WJuqbGi4LXOBLhc1LIn5p8pQUs/YYZetzBEHX+nY+z+g/AQ4XZN XLf4lK5nc1fVOSV1ZH7192JUqGlvvQ4xH9Gx6EWyavSVBp2zOeCI10zVWkjHtiUoOLxMgf 8GKrQ/7ki7vHByuudBnxqe318kgjtTCd6wc8HfQXfEKxJJJmbAc9X8GKbaRI+Lb0NCDRTO w0xvFwQ6plyVRS2j4RYm9oQW6oKBxBZoc1RSep+FAdhwxPqkxjrDd1uTrIOFOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695933688; a=rsa-sha256; cv=none; b=TBt8/XmXhmqUspJ3MheB+B0VM9Qw7SD5uO6VIA16UQC8yLaHVGUAmwO9gOt5u4RtTR06pL u93Jz389qAtzp2JyCm5XOj//4p+1rZ5s2kdjJlvUeFDgrTXqp2xuXXVQfKKkEqtbKbBIPE 9Tt/+f61sWqwIydsCCNLTU2Mh3/hJqjstLtVlySHOS5w6GWOEH/s4SGIy5w9nsgUGcZfUX IP5Ub3q1ArF7794z6zC5rOSRwklnoV2//CQ0cutPxdH0bj1l4RTwqQDvZy00dnp4foFM5O PEBn2fRjtZchqL89yqx93+osB8VNmYoKfMUW45XKM6aA9onLKa5n22WE3Zq3Tg== 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=1695933688; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lDII95SLzQHIOZiUoTJ/Y9whtTR19OvUqpABiYsly0g=; b=qfgYJ29Ci7XzCbdfyCmOrbgvCk0ifCVBWwdPunOJVEBcHn3mXl5ra/HR27v8IAM2TJX9E9 ADVOfY1vIpAMamsB6XZNN0fmX0Xiwjhgcwl1YsDnHknTcNhO/wB765YrTevFSJydP0RtXY Glp9j4Cmvs9dfQezNAYZaNIb2DDw5oF2qOVGN2NmTQ36a0YpiieIdoXoErI4wRHAY5NVk2 n1noUU1rQYIif1P3svYB0mVAFT1t/rO6MVMKPjDKTOdkoilFb4TISjYB4l1R8f3VoD96US ntjmHN1U1nL8f/cSlg5EVdrG/FEhWpuyaxSoV+ieTuRd0iY93dIJdsNaTlxLzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxQPN3Kx6zcjP; Thu, 28 Sep 2023 20:41: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 38SKfS5Y003002; Thu, 28 Sep 2023 20:41:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SKfSOw002999; Thu, 28 Sep 2023 20:41:28 GMT (envelope-from git) Date: Thu, 28 Sep 2023 20:41:28 GMT Message-Id: <202309282041.38SKfSOw002999@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: 8ad93f44a5da - releng/14.0 - dtrace: Fix a kernel panic in printm() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 8ad93f44a5daf804a281782271cec7423572e7c4 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8ad93f44a5daf804a281782271cec7423572e7c4 commit 8ad93f44a5daf804a281782271cec7423572e7c4 Author: Domagoj Stolfa AuthorDate: 2023-09-06 13:25:00 +0000 Commit: Mark Johnston CommitDate: 2023-09-28 20:41:15 +0000 dtrace: Fix a kernel panic in printm() When using printm(), one should always pass a scratch pointer to it. This is achieved by calling printm with memref BEGIN { printm(fixed_len, memref(ptr, var_len)); } which will return a pointer to the DTrace scratch space of size sizeof(uintptr_t) * 2. However, one can easily call printm() as follows BEGIN { printm(10, (void *)NULL); } and panic the kernel as a result. This commit does two things: (1) adds a new macro DTRACE_INSCRATCHPTR(mstate, ptr, howmany) which checks if a certain pointer is in the DTrace scratch space; (2) uses DTRACE_INSCRATCHPTR() to implement a check on printm()'s DIFO return value in order to avoid the panic and sets CPU_DTRACE_BADADDR if the address is not in the scratch space. Approved by: re (gjb) Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D41722 (cherry picked from commit 8527bb2aee6ca9013c34445de88217a954b6628d) (cherry picked from commit 49c1b353390cf498bcd9a3e548039e2a64f654fe) --- .../contrib/opensolaris/uts/common/dtrace/dtrace.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c index 02a95bfab726..ce02676e0dc1 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c +++ b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c @@ -515,6 +515,11 @@ do { \ ((mstate)->dtms_scratch_base + (mstate)->dtms_scratch_size - \ (mstate)->dtms_scratch_ptr >= (alloc_sz)) +#define DTRACE_INSCRATCHPTR(mstate, ptr, howmany) \ + ((ptr) >= (mstate)->dtms_scratch_base && \ + (ptr) <= \ + ((mstate)->dtms_scratch_base + (mstate)->dtms_scratch_size - (howmany))) + #define DTRACE_LOADFUNC(bits) \ /*CSTYLED*/ \ uint##bits##_t \ @@ -7739,9 +7744,24 @@ dtrace_probe(dtrace_id_t id, uintptr_t arg0, uintptr_t arg1, } case DTRACEACT_PRINTM: { - /* The DIF returns a 'memref'. */ + /* + * printm() assumes that the DIF returns a + * pointer returned by memref(). memref() is a + * subroutine that is used to get around the + * single-valued returns of DIF and is assumed + * to always be allocated in the scratch space. + * Therefore, we need to validate that the + * pointer given to printm() is in the scratch + * space in order to avoid a potential panic. + */ uintptr_t *memref = (uintptr_t *)(uintptr_t) val; + if (!DTRACE_INSCRATCHPTR(&mstate, + (uintptr_t)memref, 2 * sizeof(uintptr_t))) { + *flags |= CPU_DTRACE_BADADDR; + continue; + } + /* Get the size from the memref. */ size = memref[1]; From nobody Thu Sep 28 21:10:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxR2b75YXz4vbn2; Thu, 28 Sep 2023 21:10: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 4RxR2b5Xzcz3DcV; Thu, 28 Sep 2023 21: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=1695935415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ylEfp9ZozGfmVvJSqwHyBWUePNORHd/QhE8QJsMFoMM=; b=NEElSsAm3qAzlPS2Z0CrW5wyGRtZp7KX6kxnNxFJTuI1Q+YOL02thSATeDKRr3m+gJt+sQ ZO4NRGhfflhnhB4oP5SEamaI/w+SWUPvSZ0wI65WNuMlWZaWKLmpySmKLG+5Dl6l58NNh4 VT5oW+e3Zup8O+5wYTdNhjOOrmUhZPl3zdhZCFqyk4p6SG8nIa+5vGxn+brNfYvZuGXoXN 0TI5Xzek36h8qVHNeXYifG75Aj89hJcdS8Tx5bCTvj/25WMfUYopVyzTtSfHkMiIP+PqGd t054f2tTsPmrNqiQ4vgNPMr4e9U4Sj7Tdq4ex8MuA+I50Scm8Hf6df9uk49NrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695935415; a=rsa-sha256; cv=none; b=a4zw3zHUfpA2i7Zy+/2l69Vzs9Ne9wgIz+sLZUuKAbjgPx5k9MjrTZwV0FIsFSfd3ajFmT 55sboqHU8Sh0up8IDBmOyG2YIsNJILHeCEG4o/67VYrKKomhREbtMnJCrQVMRc6Ix/gH9z 90QsC9OHMZYOBLz4gXcRVmi9LY9JmmH4/1wkb4f/PZccqHeI2NU4OAMOXPECY0WZc3/DDZ zge6c1KfRWNfnItn48hFktILsJ0MxRktVQH2qPopmu4O8h+PM+e+eEelYFp6jZEhaInaGg BYMK9xGIXx8nzaS9qNlUa6nU900YmsdFJnt7uvolTm2uDt+nqrzHagVL+IxIvg== 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=1695935415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ylEfp9ZozGfmVvJSqwHyBWUePNORHd/QhE8QJsMFoMM=; b=Ud9Tr1+4a90VpPIWDIjQOgPPt3mhaPdzp83mysDXwxvIw/+sT3zuRKXt3/5rxF7tMSUcO+ +Md4Cs7AcYIZEMUeiF0VYeqEKzNBqUGW7DVjcFlpyiSEZc5wKN1fbLmVhbASlBQSFe3sq1 hOOy40QxzRtKItO53RninIoIDUpwZaPYzvNLGKiLkvWg2amgFkpCDWPLYzmcujuFY683dZ HrGyp55TR/CYlnJY4H0Z1h7fgvb3GCliwehEv51l/OxpPwhf+y6aUdWwyuWugyxPf8h6+E sfxCaUI/Xevx8c0s8lk5jHOLQCeV68/XLmuTSqKZYWWDmrA3W+4ZIi/qRGNhlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxR2b4ZZmzd4y; Thu, 28 Sep 2023 21: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 38SLAFCQ047228; Thu, 28 Sep 2023 21: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 38SLAF3P047218; Thu, 28 Sep 2023 21:10:15 GMT (envelope-from git) Date: Thu, 28 Sep 2023 21:10:15 GMT Message-Id: <202309282110.38SLAF3P047218@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: a276199fef37 - stable/14 - nvme: Timeout expired transactions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: a276199fef37b04b8b3678eab90f0c33095a6c4d Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a276199fef37b04b8b3678eab90f0c33095a6c4d commit a276199fef37b04b8b3678eab90f0c33095a6c4d Author: Warner Losh AuthorDate: 2023-09-28 20:45:49 +0000 Commit: Warner Losh CommitDate: 2023-09-28 21:05:14 +0000 nvme: Timeout expired transactions When we went to having a shared timeout routine, failing the timed-out transaction code was inadvertantly dropped. Reinstate it. Fixes: 502dc84a8b670 Sponsored by: Netflix MFC After: 2 weeks Reviewed by: chuck, jhb Differential Revision: https://reviews.freebsd.org/D36921 (cherry picked from commit 2a6b7055a980f7e7543dfdbda4aa0c356133b77d) --- sys/dev/nvme/nvme_qpair.c | 60 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 45a999c17d89..0ad0b7cbe17f 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -944,6 +944,30 @@ nvme_io_qpair_destroy(struct nvme_qpair *qpair) nvme_qpair_destroy(qpair); } +static void +nvme_abort_complete(void *arg, const struct nvme_completion *status) +{ + struct nvme_tracker *tr = arg; + + /* + * If cdw0 == 1, the controller was not able to abort the command + * we requested. We still need to check the active tracker array, + * to cover race where I/O timed out at same time controller was + * completing the I/O. + */ + if (status->cdw0 == 1 && tr->qpair->act_tr[tr->cid] != NULL) { + /* + * An I/O has timed out, and the controller was unable to + * abort it for some reason. Construct a fake completion + * status, and then complete the I/O's tracker manually. + */ + nvme_printf(tr->qpair->ctrlr, + "abort command failed, aborting command manually\n"); + nvme_qpair_manual_complete_tracker(tr, + NVME_SCT_GENERIC, NVME_SC_ABORTED_BY_REQUEST, 0, ERROR_PRINT_ALL); + } +} + static void nvme_qpair_timeout(void *arg) { @@ -952,36 +976,44 @@ nvme_qpair_timeout(void *arg) struct nvme_tracker *tr; sbintime_t now; bool idle; + bool expired; uint32_t csts; uint8_t cfs; mtx_lock(&qpair->lock); idle = TAILQ_EMPTY(&qpair->outstanding_tr); + again: switch (qpair->recovery_state) { case RECOVERY_NONE: - if (idle) - break; + /* + * Check to see if we need to timeout any commands. If we do, then + * we also enter a recovery phase. + */ now = getsbinuptime(); - idle = true; + expired = false; TAILQ_FOREACH(tr, &qpair->outstanding_tr, tailq) { if (tr->deadline == SBT_MAX) continue; idle = false; if (now > tr->deadline) { - /* - * We're now passed our earliest deadline. We - * need to do expensive things to cope, but next - * time. Flag that and close the door to any - * further processing. - */ - qpair->recovery_state = RECOVERY_START; - nvme_printf(ctrlr, "RECOVERY_START %jd vs %jd\n", - (uintmax_t)now, (uintmax_t)tr->deadline); - break; + expired = true; + nvme_ctrlr_cmd_abort(ctrlr, tr->cid, qpair->id, + nvme_abort_complete, tr); } } - break; + if (!expired) + break; + + /* + * We're now passed our earliest deadline. We need to do + * expensive things to cope, but next time. Flag that + * and close the door to any further processing. + */ + qpair->recovery_state = RECOVERY_START; + nvme_printf(ctrlr, "RECOVERY_START %jd vs %jd\n", + (uintmax_t)now, (uintmax_t)tr->deadline); + /* FALLTHROUGH */ case RECOVERY_START: /* * Read csts to get value of cfs - controller fatal status. From nobody Thu Sep 28 21:10:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxR2c6z8qz4vby0; Thu, 28 Sep 2023 21: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 4RxR2c6M0bz3Dcr; Thu, 28 Sep 2023 21: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=1695935416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SxzX6fqMTVBXoqryaGTme2AwifjJ7kwKXs958uok2cU=; b=iBzD2lrw8Uqf6zmYkPrl2qobTNUFUFN7cpRrKjdv4Ldr+dxNqlZbxHiLdWCXDc+Lcpm4Lx TAr+uGklGGvDVdYGTPJ5yB7uUDf9V/aBH18jXLWRE1yDLdkYOPR3/xkimcL3cD7XSg1flX /XVpQyuzS9LS+KVAFOX2+HTGtRhJ7GtSDnIiT1UxnnhyaRbpWPVBoearXM/zhqiS7fNJna Ey4BijDn9t7+hH/wT7y6aZn23L9LpaCjLlpQrRgelwjo52BwLkiVEx7XZdc1V9qRSsk/IZ AW2kjN05MXdvR5dU55eM3PMhe5cHTJgEmKqBMEhR6nhHgjTDeDxhhzXschUM6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695935416; a=rsa-sha256; cv=none; b=t3D49axNYPH8C0K9WITwUBuAArJNFNxL7IkpB1Pyp+Ch1LST5gPqPOoG7HdM7Sfm+VKnFm 76i5gE5CCPp+4ZPFEqF7zX4EZmCIKbWbGeYbi6VqaWDzDQ6mDL2lEsNX9mvZu34rWHnQT7 VubzbnV7lsWw3rwy6ZmcyXMXbgjIjLer0ztXZru/QUHsvsVNEOi/GRJEsQfOFx4vgeWBfh //JBDKvH0jgOXvC0+vWPKwATnNVVL0Pz7ZoYMBub9093SuMfZvIZYSMSeVkeRwA4iudq6C JHP9EpIoo50l1uFsjTYFIW+4EpQfnBTDOq9MFUgTcDIFeUIHOP//wDMvNjf/Iw== 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=1695935416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SxzX6fqMTVBXoqryaGTme2AwifjJ7kwKXs958uok2cU=; b=ICQG6OgbV0I7PzQxHyTGNd56pRhr8AOHAAms3lCU122VRtIXMuvb4cliXoqqp2SCeLBJe9 kM0XcL/w2P8e9LrMu2wMtwpEXNrRjN9xUhya2EfdCwnGeJgX95103ytAcFh0TL9WqPcb8I T1831Aw5Too611YCHpm0INvSr20qjp02duJPu5AQbgvaZtw4AduWtU/ZNClXRiINFCZiQO Ofwr85xrBGhzV1i50I6PqVaQLqMeTw7ymqM3vgKMaeLuyyoMo4xYCOJ2Qk89A3iEZJ80y+ S2Mr4j2Jf5dqS28Shmk7NQjMxwyity2JjL4py3KTaMyZZ9+71QHmUpVWZQpfQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxR2c5BjVzcnY; Thu, 28 Sep 2023 21: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 38SLAGED047895; Thu, 28 Sep 2023 21: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 38SLAGvG047887; Thu, 28 Sep 2023 21:10:16 GMT (envelope-from git) Date: Thu, 28 Sep 2023 21:10:16 GMT Message-Id: <202309282110.38SLAGvG047887@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: 5d627e0669c5 - stable/14 - nvme: Greatly improve error recovery List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 5d627e0669c5f047580b6f71d9f042afc68307d0 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5d627e0669c5f047580b6f71d9f042afc68307d0 commit 5d627e0669c5f047580b6f71d9f042afc68307d0 Author: Warner Losh AuthorDate: 2023-09-28 20:45:50 +0000 Commit: Warner Losh CommitDate: 2023-09-28 21:05:14 +0000 nvme: Greatly improve error recovery Next phase of error recovery: Eliminate the REOVERY_START phase, since we don't need to wait to start recovery. Eliminate the RECOVERY_RESET phase since it is transient, we now transition from RECOVERY_NORMAL into RECOVERY_WAITING. In normal mode, read the status of the controller. If it is in failed state, or appears to be hot-plugged, jump directly to reset which will sort out the proper things to do. This will cause all pending I/O to complete with an abort status before the reset. When in the NORMAL state, call the interrupt handler. This will complete all pending transactions when interrupts are broken or temporarily misbehaving. We then check all the pending completions for timeouts. If we have abort enabled, then we'll send an abort. Otherwise we'll assume the controller is wedged and needs a reset. By calling the interrupt handler here, we'll avoid an issue with the current code where we transitioned to RECOVERY_START which prevented any completions from happening. Now completions happen. In addition and follow-on I/O that is scheduled in the completion routines will be submitted, rather than queued, because the recovery state is correct. This also fixes a problem where I/O would timeout, but never complete, leading to hung I/O. Resetting remains the same as before, just when we chose to reset has changed. A nice side effect of these changes is that we now do I/O when interrupts to the card are totally broken. Followon commits will improve the error reporting and logging when this happens. Performance will be aweful, but will at least be minimally functional. There is a small race when we're checking the completions if interrupts are working, but this is handled in a future commit. Sponsored by: Netflix MFC After: 2 weeks Differential Revision: https://reviews.freebsd.org/D36922 (cherry picked from commit d4959bfcd110ea471222c7dd87775ba1f4e3d1d9) --- sys/dev/nvme/nvme_private.h | 2 - sys/dev/nvme/nvme_qpair.c | 114 +++++++++++++++++++++++++------------------- 2 files changed, 66 insertions(+), 50 deletions(-) diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index dc69012cfd71..e4b319b9d8b7 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -149,8 +149,6 @@ struct nvme_tracker { enum nvme_recovery { RECOVERY_NONE = 0, /* Normal operations */ - RECOVERY_START, /* Deadline has passed, start recovering */ - RECOVERY_RESET, /* This pass, initiate reset of controller */ RECOVERY_WAITING, /* waiting for the reset to complete */ }; struct nvme_qpair { diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 0ad0b7cbe17f..6d34c7ddba2d 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -976,88 +976,106 @@ nvme_qpair_timeout(void *arg) struct nvme_tracker *tr; sbintime_t now; bool idle; - bool expired; + bool needs_reset; uint32_t csts; uint8_t cfs; + mtx_lock(&qpair->lock); idle = TAILQ_EMPTY(&qpair->outstanding_tr); -again: switch (qpair->recovery_state) { case RECOVERY_NONE: + /* + * Read csts to get value of cfs - controller fatal status. If + * we are in the hot-plug or controller failed status proceed + * directly to reset. We also bail early if the status reads all + * 1's or the control fatal status bit is now 1. The latter is + * always true when the former is true, but not vice versa. The + * intent of the code is that if the card is gone (all 1's) or + * we've failed, then try to do a reset (which someitmes + * unwedges a card reading all 1's that's not gone away, but + * usually doesn't). + */ + csts = nvme_mmio_read_4(ctrlr, csts); + cfs = (csts >> NVME_CSTS_REG_CFS_SHIFT) & NVME_CSTS_REG_CFS_MASK; + if (csts == NVME_GONE || cfs == 1) + goto do_reset; + + /* + * Next, check to see if we have any completions. If we do, + * we've likely missed an interrupt, but the card is otherwise + * fine. This will also catch all the commands that are about + * to timeout (but there's still a tiny race). Since the timeout + * is long relative to the race between here and the check below, + * this is still a win. + */ + mtx_unlock(&qpair->lock); + nvme_qpair_process_completions(qpair); + mtx_lock(&qpair->lock); + if (qpair->recovery_state != RECOVERY_NONE) { + /* + * Somebody else adjusted recovery state while unlocked, + * we should bail. Unlock the qpair and return without + * doing anything else. + */ + mtx_unlock(&qpair->lock); + return; + } + /* * Check to see if we need to timeout any commands. If we do, then * we also enter a recovery phase. */ now = getsbinuptime(); - expired = false; + needs_reset = false; TAILQ_FOREACH(tr, &qpair->outstanding_tr, tailq) { if (tr->deadline == SBT_MAX) continue; - idle = false; if (now > tr->deadline) { - expired = true; - nvme_ctrlr_cmd_abort(ctrlr, tr->cid, qpair->id, - nvme_abort_complete, tr); + if (tr->req->cb_fn != nvme_abort_complete && + ctrlr->enable_aborts) { + /* + * This isn't an abort command, ask + * for a hardware abort. + */ + nvme_ctrlr_cmd_abort(ctrlr, tr->cid, + qpair->id, nvme_abort_complete, tr); + } else { + /* + * Otherwise we have a live command in + * the card (either one we couldn't + * abort, or aborts weren't enabled). + * The only safe way to proceed is to do + * a reset. + */ + needs_reset = true; + } + } else { + idle = false; } } - if (!expired) + if (!needs_reset) break; /* - * We're now passed our earliest deadline. We need to do - * expensive things to cope, but next time. Flag that - * and close the door to any further processing. - */ - qpair->recovery_state = RECOVERY_START; - nvme_printf(ctrlr, "RECOVERY_START %jd vs %jd\n", - (uintmax_t)now, (uintmax_t)tr->deadline); - /* FALLTHROUGH */ - case RECOVERY_START: - /* - * Read csts to get value of cfs - controller fatal status. - * If no fatal status, try to call the completion routine, and - * if completes transactions, report a missed interrupt and - * return (this may need to be rate limited). Otherwise, if - * aborts are enabled and the controller is not reporting - * fatal status, abort the command. Otherwise, just reset the - * controller and hope for the best. - */ - csts = nvme_mmio_read_4(ctrlr, csts); - cfs = (csts >> NVME_CSTS_REG_CFS_SHIFT) & NVME_CSTS_REG_CFS_MASK; - if (cfs) { - nvme_printf(ctrlr, "Controller in fatal status, resetting\n"); - qpair->recovery_state = RECOVERY_RESET; - goto again; - } - mtx_unlock(&qpair->lock); - if (nvme_qpair_process_completions(qpair)) { - nvme_printf(ctrlr, "Completions present in output without an interrupt\n"); - qpair->recovery_state = RECOVERY_NONE; - } else { - nvme_printf(ctrlr, "timeout with nothing complete, resetting\n"); - qpair->recovery_state = RECOVERY_RESET; - mtx_lock(&qpair->lock); - goto again; - } - mtx_lock(&qpair->lock); - break; - case RECOVERY_RESET: - /* + * We've had a command timeout that we weren't able to abort + * * If we get here due to a possible surprise hot-unplug event, * then we let nvme_ctrlr_reset confirm and fail the * controller. */ + do_reset: nvme_printf(ctrlr, "Resetting controller due to a timeout%s.\n", (csts == 0xffffffff) ? " and possible hot unplug" : (cfs ? " and fatal error status" : "")); nvme_printf(ctrlr, "RECOVERY_WAITING\n"); qpair->recovery_state = RECOVERY_WAITING; nvme_ctrlr_reset(ctrlr); + idle = false; /* We want to keep polling */ break; case RECOVERY_WAITING: - nvme_printf(ctrlr, "waiting\n"); + nvme_printf(ctrlr, "waiting for reset to complete\n"); break; } From nobody Thu Sep 28 21:10:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxR2d6pFsz4vbqh; Thu, 28 Sep 2023 21: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 4RxR2d6V3zz3F03; Thu, 28 Sep 2023 21: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=1695935417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c8MGYSefcrfIwAJHYvoQG/AW9Ue0iyZTko1JGmJzwGY=; b=L8pxZ1P33TK/mgMW3MWWbtR9mMGkqa0EbhIdVVYeWIpgf1rw6hwrHPY+CxsT66yADwaen7 TMXr6YxpRTUxPm/ZBjrr/i6uLgMrVJRcQ4CjSN46EdvdDwO+r765vVjvs7R2ZCw3lsi2hH W+gbBxV5L/9OoaeDLv6yJsFd0HOHKQNXrP4LDhAm7ThdiRieqxxHY0irD4RyfAIoWWsDC8 dvKR15GYtLYGeV2EKoT1YNLFXiG1FDiBX6Fjf63yYde7ZT8rIuLC6NYIIOygtspbq5zeYU I7M2NnUIejtY7eXhCEy9IjZdLVh72bc0HYUpi8yycYOpnNsrkxTMLGDJCcoK2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695935417; a=rsa-sha256; cv=none; b=bXQ8Wc6YKqNWCtfaNlFI40nXU6062L1MqMCW0rmANbJepG8WHeaYFyzc2TWY3B4Elr5SxX ttfPTV8pXoxNOIYDFmgJ+ZZJ+XiMmkLjslnPs8hXyM1oghQfP5amd73YWSeznB2rDDM2nj zKaYjWGhSCeWt0/C6hKNn49nRIEaFnCMn6Lq1OqXhQx4JG94U5G4YisfrnOT52Qdh9S6Db 1ULFuEsYZnIfKoejK04Gr6spVWYVfU6QodHPknFPfb7+wRROvOHyDYtyzJwW9/2jpqgoxu Wtxj62kEnrceYb2iBofyPkbVp1dBASAxfIrPrKbw0oFxGp5A15P03scRp0jhHg== 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=1695935417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c8MGYSefcrfIwAJHYvoQG/AW9Ue0iyZTko1JGmJzwGY=; b=hnP9sIURHAGipqeOmp381xbz8BueAV3Ln2RmLiiziJbq4+iv5xgF7c3vMcr1ZWp8t9bNNi e3URLEHtTovJPun90bRYLvuyCjrhYn1+LDo0vSFbrjK/e+6bLr7+WKiOO/I8dzZVnoFBZ3 gduqfVEEw70HiAZbvHpWnse3GmrIszINE8JG8gxZxk+3FzOEvcJXub3670zxBWE0YPN24b 4QTocxbryWUauWqj0K6CbpQcNOd8Dmyhdww82ypeCVX+W4DRcMWr6rPOEvlBH5KdOdCBQ5 bScknoYJOyRUZAr6KfTTimZHcIO3dg0QahwkU1vM/q0735sM/WyQYqf+JOzvfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxR2d5bZzzdGv; Thu, 28 Sep 2023 21: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 38SLAHWS048509; Thu, 28 Sep 2023 21: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 38SLAHdN048497; Thu, 28 Sep 2023 21:10:17 GMT (envelope-from git) Date: Thu, 28 Sep 2023 21:10:17 GMT Message-Id: <202309282110.38SLAHdN048497@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: c7cb2dcdf2ab - stable/14 - nvme: Add exclusion for ISR List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: c7cb2dcdf2abe6c382628c80fe99f11236829cfb Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c7cb2dcdf2abe6c382628c80fe99f11236829cfb commit c7cb2dcdf2abe6c382628c80fe99f11236829cfb Author: Warner Losh AuthorDate: 2023-09-28 20:46:00 +0000 Commit: Warner Losh CommitDate: 2023-09-28 21:05:14 +0000 nvme: Add exclusion for ISR Add a basically uncontended spinlock that we take out while the ISR is running. This has two effects: First, when we get a timeout, we can safely call the nvme_qpair_process_completions w/o racing any ISRs. Second, we can use it to ensure that we don't reset the card while the ISRs are active (right now we just sleep and hope for the best, which usually is fine, but not always). Sponsored by: Netflix MFC After: 2 weeks Reviewed by: chuck, gallatin Differential Revision: https://reviews.freebsd.org/D41452 (cherry picked from commit 8052b01e7e4113fa8296ce43c354116b0a1774b7) --- sys/dev/nvme/nvme_ctrlr.c | 51 ++++++++++++++++---- sys/dev/nvme/nvme_private.h | 10 ++-- sys/dev/nvme/nvme_qpair.c | 115 ++++++++++++++++++++++++++++++-------------- sys/dev/nvme/nvme_sysctl.c | 24 +++++++++ 4 files changed, 148 insertions(+), 52 deletions(-) diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index 7a2ecffe81d4..c4a750901743 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -416,6 +416,34 @@ nvme_ctrlr_disable_qpairs(struct nvme_controller *ctrlr) } } +static void +nvme_pre_reset(struct nvme_controller *ctrlr) +{ + /* + * Make sure that all the ISRs are done before proceeding with the reset + * (and also keep any stray interrupts that happen during this process + * from racing this process). For startup, this is a nop, since the + * hardware is in a good state. But for recovery, where we randomly + * reset the hardware, this ensure that we're not racing the ISRs. + */ + mtx_lock(&ctrlr->adminq.recovery); + for (int i = 0; i < ctrlr->num_io_queues; i++) { + mtx_lock(&ctrlr->ioq[i].recovery); + } +} + +static void +nvme_post_reset(struct nvme_controller *ctrlr) +{ + /* + * Reset complete, unblock ISRs + */ + mtx_unlock(&ctrlr->adminq.recovery); + for (int i = 0; i < ctrlr->num_io_queues; i++) { + mtx_unlock(&ctrlr->ioq[i].recovery); + } +} + static int nvme_ctrlr_hw_reset(struct nvme_controller *ctrlr) { @@ -427,9 +455,11 @@ nvme_ctrlr_hw_reset(struct nvme_controller *ctrlr) err = nvme_ctrlr_disable(ctrlr); if (err != 0) - return err; + goto out; err = nvme_ctrlr_enable(ctrlr); +out: + TSEXIT(); return (err); } @@ -1157,6 +1187,11 @@ nvme_ctrlr_start_config_hook(void *arg) TSENTER(); + /* + * Don't call pre/post reset here. We've not yet created the qpairs, + * haven't setup the ISRs, so there's no need to 'drain' them or + * 'exclude' them. + */ if (nvme_ctrlr_hw_reset(ctrlr) != 0) { fail: nvme_ctrlr_fail(ctrlr); @@ -1201,16 +1236,9 @@ nvme_ctrlr_reset_task(void *arg, int pending) int status; nvme_ctrlr_devctl_log(ctrlr, "RESET", "resetting controller"); + nvme_pre_reset(ctrlr); status = nvme_ctrlr_hw_reset(ctrlr); - /* - * Use pause instead of DELAY, so that we yield to any nvme interrupt - * handlers on this CPU that were blocked on a qpair lock. We want - * all nvme interrupts completed before proceeding with restarting the - * controller. - * - * XXX - any way to guarantee the interrupt handlers have quiesced? - */ - pause("nvmereset", hz / 10); + nvme_post_reset(ctrlr); if (status == 0) nvme_ctrlr_start(ctrlr, true); else @@ -1697,6 +1725,7 @@ nvme_ctrlr_resume(struct nvme_controller *ctrlr) if (ctrlr->is_failed) return (0); + nvme_pre_reset(ctrlr); if (nvme_ctrlr_hw_reset(ctrlr) != 0) goto fail; #ifdef NVME_2X_RESET @@ -1708,6 +1737,7 @@ nvme_ctrlr_resume(struct nvme_controller *ctrlr) if (nvme_ctrlr_hw_reset(ctrlr) != 0) goto fail; #endif + nvme_post_reset(ctrlr); /* * Now that we've reset the hardware, we can restart the controller. Any @@ -1724,6 +1754,7 @@ fail: * the controller. However, we have to return success for the resume * itself, due to questionable APIs. */ + nvme_post_reset(ctrlr); nvme_printf(ctrlr, "Failed to reset on resume, failing.\n"); nvme_ctrlr_fail(ctrlr); (void)atomic_cmpset_32(&ctrlr->is_resetting, 1, 0); diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index e4b319b9d8b7..a6239f30f3bf 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -162,10 +162,9 @@ struct nvme_qpair { struct resource *res; void *tag; - struct callout timer; - sbintime_t deadline; - bool timer_armed; - enum nvme_recovery recovery_state; + struct callout timer; /* recovery lock */ + bool timer_armed; /* recovery lock */ + enum nvme_recovery recovery_state; /* recovery lock */ uint32_t num_entries; uint32_t num_trackers; @@ -182,6 +181,7 @@ struct nvme_qpair { int64_t num_retries; int64_t num_failures; int64_t num_ignored; + int64_t num_recovery_nolock; struct nvme_command *cmd; struct nvme_completion *cpl; @@ -200,7 +200,7 @@ struct nvme_qpair { struct nvme_tracker **act_tr; struct mtx_padalign lock; - + struct mtx_padalign recovery; } __aligned(CACHE_LINE_SIZE); struct nvme_namespace { diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 6d34c7ddba2d..b256c4713c8d 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -528,14 +528,17 @@ nvme_qpair_manual_complete_request(struct nvme_qpair *qpair, nvme_free_request(req); } -bool -nvme_qpair_process_completions(struct nvme_qpair *qpair) +/* Locked version of completion processor */ +static bool +_nvme_qpair_process_completions(struct nvme_qpair *qpair) { struct nvme_tracker *tr; struct nvme_completion cpl; - int done = 0; + bool done = false; bool in_panic = dumping || SCHEDULER_STOPPED(); + mtx_assert(&qpair->recovery, MA_OWNED); + /* * qpair is not enabled, likely because a controller reset is in * progress. Ignore the interrupt - any I/O that was associated with @@ -629,7 +632,7 @@ nvme_qpair_process_completions(struct nvme_qpair *qpair) else tr = NULL; - done++; + done = true; if (tr != NULL) { nvme_qpair_complete_tracker(tr, &cpl, ERROR_PRINT_ALL); qpair->sq_head = cpl.sqhd; @@ -666,12 +669,35 @@ nvme_qpair_process_completions(struct nvme_qpair *qpair) } } - if (done != 0) { + if (done) { bus_space_write_4(qpair->ctrlr->bus_tag, qpair->ctrlr->bus_handle, qpair->cq_hdbl_off, qpair->cq_head); } - return (done != 0); + return (done); +} + +bool +nvme_qpair_process_completions(struct nvme_qpair *qpair) +{ + bool done; + + /* + * Interlock with reset / recovery code. This is an usually uncontended + * to make sure that we drain out of the ISRs before we reset the card + * and to prevent races with the recovery process called from a timeout + * context. + */ + if (!mtx_trylock(&qpair->recovery)) { + qpair->num_recovery_nolock++; + return (false); + } + + done = _nvme_qpair_process_completions(qpair); + + mtx_unlock(&qpair->recovery); + + return (done); } static void @@ -699,6 +725,7 @@ nvme_qpair_construct(struct nvme_qpair *qpair, qpair->ctrlr = ctrlr; mtx_init(&qpair->lock, "nvme qpair lock", NULL, MTX_DEF); + mtx_init(&qpair->recovery, "nvme qpair recovery", NULL, MTX_DEF); /* Note: NVMe PRP format is restricted to 4-byte alignment. */ err = bus_dma_tag_create(bus_get_dma_tag(ctrlr->dev), @@ -765,7 +792,7 @@ nvme_qpair_construct(struct nvme_qpair *qpair, qpair->cpl_bus_addr = queuemem_phys + cmdsz; prpmem_phys = queuemem_phys + cmdsz + cplsz; - callout_init(&qpair->timer, 1); + callout_init_mtx(&qpair->timer, &qpair->recovery, 0); qpair->timer_armed = false; qpair->recovery_state = RECOVERY_WAITING; @@ -903,6 +930,8 @@ nvme_qpair_destroy(struct nvme_qpair *qpair) if (mtx_initialized(&qpair->lock)) mtx_destroy(&qpair->lock); + if (mtx_initialized(&qpair->recovery)) + mtx_destroy(&qpair->recovery); if (qpair->res) { bus_release_resource(qpair->ctrlr->dev, SYS_RES_IRQ, @@ -975,14 +1004,12 @@ nvme_qpair_timeout(void *arg) struct nvme_controller *ctrlr = qpair->ctrlr; struct nvme_tracker *tr; sbintime_t now; - bool idle; + bool idle = false; bool needs_reset; uint32_t csts; uint8_t cfs; - - mtx_lock(&qpair->lock); - idle = TAILQ_EMPTY(&qpair->outstanding_tr); + mtx_assert(&qpair->recovery, MA_OWNED); switch (qpair->recovery_state) { case RECOVERY_NONE: @@ -1003,25 +1030,10 @@ nvme_qpair_timeout(void *arg) goto do_reset; /* - * Next, check to see if we have any completions. If we do, - * we've likely missed an interrupt, but the card is otherwise - * fine. This will also catch all the commands that are about - * to timeout (but there's still a tiny race). Since the timeout - * is long relative to the race between here and the check below, - * this is still a win. + * Process completions. We already have the recovery lock, so + * call the locked version. */ - mtx_unlock(&qpair->lock); - nvme_qpair_process_completions(qpair); - mtx_lock(&qpair->lock); - if (qpair->recovery_state != RECOVERY_NONE) { - /* - * Somebody else adjusted recovery state while unlocked, - * we should bail. Unlock the qpair and return without - * doing anything else. - */ - mtx_unlock(&qpair->lock); - return; - } + _nvme_qpair_process_completions(qpair); /* * Check to see if we need to timeout any commands. If we do, then @@ -1029,7 +1041,13 @@ nvme_qpair_timeout(void *arg) */ now = getsbinuptime(); needs_reset = false; + idle = true; + mtx_lock(&qpair->lock); TAILQ_FOREACH(tr, &qpair->outstanding_tr, tailq) { + /* + * Skip async commands, they are posted to the card for + * an indefinite amount of time and have no deadline. + */ if (tr->deadline == SBT_MAX) continue; if (now > tr->deadline) { @@ -1055,6 +1073,7 @@ nvme_qpair_timeout(void *arg) idle = false; } } + mtx_unlock(&qpair->lock); if (!needs_reset) break; @@ -1076,6 +1095,7 @@ nvme_qpair_timeout(void *arg) break; case RECOVERY_WAITING: nvme_printf(ctrlr, "waiting for reset to complete\n"); + idle = false; /* We want to keep polling */ break; } @@ -1087,7 +1107,6 @@ nvme_qpair_timeout(void *arg) } else { qpair->timer_armed = false; } - mtx_unlock(&qpair->lock); } /* @@ -1196,9 +1215,12 @@ _nvme_qpair_submit_request(struct nvme_qpair *qpair, struct nvme_request *req) if (tr == NULL || qpair->recovery_state != RECOVERY_NONE) { /* - * No tracker is available, or the qpair is disabled due to - * an in-progress controller-level reset or controller - * failure. + * No tracker is available, or the qpair is disabled due to an + * in-progress controller-level reset or controller failure. If + * we lose the race with recovery_state, then we may add an + * extra request to the queue which will be resubmitted later. + * We only set recovery_state to NONE with qpair->lock also + * held. */ if (qpair->ctrlr->is_failed) { @@ -1260,7 +1282,10 @@ nvme_qpair_submit_request(struct nvme_qpair *qpair, struct nvme_request *req) static void nvme_qpair_enable(struct nvme_qpair *qpair) { - mtx_assert(&qpair->lock, MA_OWNED); + if (mtx_initialized(&qpair->recovery)) + mtx_assert(&qpair->recovery, MA_OWNED); + if (mtx_initialized(&qpair->lock)) + mtx_assert(&qpair->lock, MA_OWNED); qpair->recovery_state = RECOVERY_NONE; } @@ -1311,9 +1336,11 @@ nvme_admin_qpair_enable(struct nvme_qpair *qpair) nvme_printf(qpair->ctrlr, "done aborting outstanding admin\n"); + mtx_lock(&qpair->recovery); mtx_lock(&qpair->lock); nvme_qpair_enable(qpair); mtx_unlock(&qpair->lock); + mtx_unlock(&qpair->recovery); } void @@ -1340,8 +1367,8 @@ nvme_io_qpair_enable(struct nvme_qpair *qpair) if (report) nvme_printf(qpair->ctrlr, "done aborting outstanding i/o\n"); + mtx_lock(&qpair->recovery); mtx_lock(&qpair->lock); - nvme_qpair_enable(qpair); STAILQ_INIT(&temp); @@ -1360,6 +1387,7 @@ nvme_io_qpair_enable(struct nvme_qpair *qpair) nvme_printf(qpair->ctrlr, "done resubmitting i/o\n"); mtx_unlock(&qpair->lock); + mtx_unlock(&qpair->recovery); } static void @@ -1367,27 +1395,40 @@ nvme_qpair_disable(struct nvme_qpair *qpair) { struct nvme_tracker *tr, *tr_temp; - mtx_lock(&qpair->lock); + if (mtx_initialized(&qpair->recovery)) + mtx_assert(&qpair->recovery, MA_OWNED); + if (mtx_initialized(&qpair->lock)) + mtx_assert(&qpair->lock, MA_OWNED); + qpair->recovery_state = RECOVERY_WAITING; TAILQ_FOREACH_SAFE(tr, &qpair->outstanding_tr, tailq, tr_temp) { tr->deadline = SBT_MAX; } - mtx_unlock(&qpair->lock); } void nvme_admin_qpair_disable(struct nvme_qpair *qpair) { + mtx_lock(&qpair->recovery); + mtx_lock(&qpair->lock); nvme_qpair_disable(qpair); nvme_admin_qpair_abort_aers(qpair); + + mtx_unlock(&qpair->lock); + mtx_unlock(&qpair->recovery); } void nvme_io_qpair_disable(struct nvme_qpair *qpair) { + mtx_lock(&qpair->recovery); + mtx_lock(&qpair->lock); nvme_qpair_disable(qpair); + + mtx_unlock(&qpair->lock); + mtx_unlock(&qpair->recovery); } void diff --git a/sys/dev/nvme/nvme_sysctl.c b/sys/dev/nvme/nvme_sysctl.c index a1a8a968eebe..ac0d507e2337 100644 --- a/sys/dev/nvme/nvme_sysctl.c +++ b/sys/dev/nvme/nvme_sysctl.c @@ -163,6 +163,7 @@ nvme_qpair_reset_stats(struct nvme_qpair *qpair) qpair->num_retries = 0; qpair->num_failures = 0; qpair->num_ignored = 0; + qpair->num_recovery_nolock = 0; } static int @@ -240,6 +241,21 @@ nvme_sysctl_num_ignored(SYSCTL_HANDLER_ARGS) return (sysctl_handle_64(oidp, &num_ignored, 0, req)); } +static int +nvme_sysctl_num_recovery_nolock(SYSCTL_HANDLER_ARGS) +{ + struct nvme_controller *ctrlr = arg1; + int64_t num; + int i; + + num = ctrlr->adminq.num_recovery_nolock; + + for (i = 0; i < ctrlr->num_io_queues; i++) + num += ctrlr->ioq[i].num_recovery_nolock; + + return (sysctl_handle_64(oidp, &num, 0, req)); +} + static int nvme_sysctl_reset_stats(SYSCTL_HANDLER_ARGS) { @@ -298,6 +314,9 @@ nvme_sysctl_initialize_queue(struct nvme_qpair *qpair, SYSCTL_ADD_QUAD(ctrlr_ctx, que_list, OID_AUTO, "num_ignored", CTLFLAG_RD, &qpair->num_ignored, "Number of interrupts posted, but were administratively ignored"); + SYSCTL_ADD_QUAD(ctrlr_ctx, que_list, OID_AUTO, "num_recovery_nolock", + CTLFLAG_RD, &qpair->num_recovery_nolock, + "Number of times that we failed to lock recovery in the ISR"); SYSCTL_ADD_PROC(ctrlr_ctx, que_list, OID_AUTO, "dump_debug", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, @@ -366,6 +385,11 @@ nvme_sysctl_initialize_ctrlr(struct nvme_controller *ctrlr) ctrlr, 0, nvme_sysctl_num_ignored, "IU", "Number of interrupts ignored administratively"); + SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, + "num_recovery_nolock", CTLTYPE_S64 | CTLFLAG_RD | CTLFLAG_MPSAFE, + ctrlr, 0, nvme_sysctl_num_recovery_nolock, "IU", + "Number of times that we failed to lock recovery in the ISR"); + SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, "reset_stats", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, ctrlr, 0, nvme_sysctl_reset_stats, "IU", "Reset statistics to zero"); From nobody Thu Sep 28 21:10:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxR2g0h7fz4vbkR; Thu, 28 Sep 2023 21: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 4RxR2g0FVRz3F9d; Thu, 28 Sep 2023 21: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=1695935419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fy9aIVbM4R9RzEsRjZb58cfEpVzcBrCw1+4B59foARs=; b=hCdvJ0ta+t9Alo2Q/kr8Cm2T/8IK7aUmFKt0Q+4vf2Is3RotqeisU/uTCV9/23xS4ch4J/ 2nGmpi2zUifD5ODfh3DU83FSU0wTaSWNof3e3Qw8hJwV9ZVTANnnPN+RZ5EHx1tSKW9Vu+ MVfzza5b8W0JAIXkSZqxbAjqfB1kqotPjNWvrBidzRNmxl52fpOPzJ3a0xOJxqk6vaFQOG wTlaSXYHVROezYaUI+gb/XgRVr/uF0tWAJPSOlMLq7lbkvGJZGU0k7bPtafk0OCmYr8r7m 3dVnhxYMd4df0VLv/t5S107F2E1AO0ANPYivwEE2VGgic/5e9Ka3tw2GyG3jIg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695935419; a=rsa-sha256; cv=none; b=gxk0oiSZhiL5xNEZ7DQvTNN4ZzWQSt42fe4aYVAPZtXLO92R6kVZeacTGYb9pQI1if0VHG ZfcfZLAbWmtIF3c9eMtUbTUnyre6ptHj0iieR0m8eRw3p4WZYqHCv4KNByWXNHW7bxERPY LLyw2NT6mdAPI3PTwAPCKI4wm+jTaIGwcJmx5gQXDEAnV8tjaWYzFZVLDdFitVfT5jbuJI /qsMzOddV8fwLthzBke5+HHDSQewJTD5Y3hfvnH5XxRcVgogIgNtNZuCcLeyEuIG5a0QOQ ThU+GByCU1IBShqYQOcUnT9UtSWNeeXE7YavF23MmLiO070ABNmFqpvgWFp6/w== 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=1695935419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fy9aIVbM4R9RzEsRjZb58cfEpVzcBrCw1+4B59foARs=; b=fHdB30QN7xWZ53ijjako52sCISeYlUr8Kciuvt1sMd2yVK6Cq/D1wo1XIQnVB8Pm5BXWsd smwWIgl8LJfRpBn+Lb+5eXmuUGXlSLtGEzzTTNutqYpsENMP2BPjxlrvaGgiWeWY46KyNc MUJdqS8IintNo08+VD9gnoJ0wnz5B6uY/wUQLWm+g4tCkPmCSNxZ1f5YYukCfSSOQ4pMxq YxwxxcXz7NkOlPIkZgDBoRQCjsDbwoww/B9im1p2QBzj/bZj2kpFAE/VEcnWB/Ebjd2/MG dwFfT56CeTq0K0Rv79XiwuYXwRdxVH5OI9NIx9ex/MIcpxsaWlURcUq0pp2vsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxR2f6HMGzdGw; Thu, 28 Sep 2023 21: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 38SLAIvH048659; Thu, 28 Sep 2023 21: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 38SLAI6Z048656; Thu, 28 Sep 2023 21:10:18 GMT (envelope-from git) Date: Thu, 28 Sep 2023 21:10:18 GMT Message-Id: <202309282110.38SLAI6Z048656@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: 5e9b7d0e0e0b - stable/14 - nvme: Give up when we've failed List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 5e9b7d0e0e0bd4cba29de33569ab0ca86763f635 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5e9b7d0e0e0bd4cba29de33569ab0ca86763f635 commit 5e9b7d0e0e0bd4cba29de33569ab0ca86763f635 Author: Warner Losh AuthorDate: 2023-09-28 20:46:00 +0000 Commit: Warner Losh CommitDate: 2023-09-28 21:05:14 +0000 nvme: Give up when we've failed Normally, we poll the device every so often to see if commands have timed out. However, we'll go into the recovery state as part of failing the drive. To account for all possibilties, if we're failed when we get into the polling function, just stop polling: Party is over. Sponsored by: Netflix (cherry picked from commit d95431624f934fe4740211738fc787808005b14e) --- sys/dev/nvme/nvme_qpair.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index b256c4713c8d..4e37aa0e1020 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -1011,6 +1011,17 @@ nvme_qpair_timeout(void *arg) mtx_assert(&qpair->recovery, MA_OWNED); + /* + * If the controller has failed, give up. We're never going to change + * state from a failed controller: no further transactions are possible. + * We go ahead and let the timeout expire in many cases for simplicity. + */ + if (qpair->ctrlr->is_failed) { + nvme_printf(ctrlr, "Controller failed, giving up\n"); + qpair->timer_armed = false; + return; + } + switch (qpair->recovery_state) { case RECOVERY_NONE: /* @@ -1094,8 +1105,8 @@ nvme_qpair_timeout(void *arg) idle = false; /* We want to keep polling */ break; case RECOVERY_WAITING: - nvme_printf(ctrlr, "waiting for reset to complete\n"); - idle = false; /* We want to keep polling */ + nvme_printf(ctrlr, "Waiting for reset to complete\n"); + idle = false; /* We want to keep polling */ break; } From nobody Thu Sep 28 21:10:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxR2h1cGdz4vbVp; Thu, 28 Sep 2023 21: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 4RxR2h19wlz3FB3; Thu, 28 Sep 2023 21: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=1695935420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q++YuaFTsFaQ3elVo9vtx0pxkMOX5ebfMye9rHujY4s=; b=Ai3iJipU1KQkxQBJefwlaiG6dWTY9GHk0EsEuDNWXTB1F3wkA5czovAbUAQ+l95BUjHPae 6O0U0Il90Cy6fOz9TmtriNTKZhnjdsDz1aw3kyACjEDkEZNd/AWDH98Frm8Zbpc0lRRai+ 5BFH/GBt4Y1bSdrbbhtSIXgcDSKz3wLYwtWSDC5Qy7H5sxmNxyaxhS+CYOgpcn5MZo3oib NNS1h7nqevAOOhT6op5E7M8vIh9qI5zmmDrqxGl5fjimObif5EDYAchNoGJn14x5YTJXro yYBVjuBoJr8k3wcGfrq7timLGogl8TCQBoVJw7YvxGWgxfIFjyluDKUmBXZxXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695935420; a=rsa-sha256; cv=none; b=RqbYrDzKtviJdnfgyZtCONGrU5MEtI0gzpLKEq5cUD13EwWvXIsk9Uzud5ghb/Viz99OEg tiiQER1I8AMW/YwQxUrsjCyPZe8WejUheWjJF6h2XkTlOdbH7NzMJXmXAWrDh+XvPc370j m5eW0yF32R99Bt1jJOQgLbtndtboSPwjdvTKCwTxERBZ8TI7s0ULT0p5AKZqBxHs8Uwcpr 2b9j722q+rjVSAdg32w+kMbERBdUy9UT7fxR5sT/adVhy9Mq6dJn/h3IF83E1/WrJYohO3 66vOQteMnpo5lRHE51jexjR/szeY8wfXkVz4AXUGNMb61geJyrCm40AWHBWJAw== 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=1695935420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q++YuaFTsFaQ3elVo9vtx0pxkMOX5ebfMye9rHujY4s=; b=ejTYGo0c5DIwQV9amJQ38VzZQiyneM9BHhvl4Q3YpHudUktucBvYMEQLA/TSzmXymRM28d iEpS8P7/lz+AmN9ABLLIzDZQ9UYx0mxPi/12XMvKuXzTnhPCr+2g5qRj+PK/JAp/3fk0Zt ZV9/mdPlc3UlIapJQ8zT3K2TN5YAhcjCwWpLAoieGZkxXDHfrQurDNyvIdwwAZd6vlUAq3 HkTRZCFcw7++W7rem92L5uNkAoMFRIwIIKxJE1zpUzjMm3pLBfldGRiJnqnf9I19ltcy5M 7/TotYWOEyhPzc9Ng4uIfP6Fipp3T/bYZa8yRE/ltcIeWFmgQMdiS2so1EjW+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxR2h0FhBzdJq; Thu, 28 Sep 2023 21:10: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 38SLAJWs048716; Thu, 28 Sep 2023 21: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 38SLAJCX048713; Thu, 28 Sep 2023 21:10:19 GMT (envelope-from git) Date: Thu, 28 Sep 2023 21:10:19 GMT Message-Id: <202309282110.38SLAJCX048713@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: 81b118e842f1 - stable/14 - nvme: Fix locking protocol violation to fix suspend / resume List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 81b118e842f16ff5e1132212f966e23cb0f8e316 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=81b118e842f16ff5e1132212f966e23cb0f8e316 commit 81b118e842f16ff5e1132212f966e23cb0f8e316 Author: Warner Losh AuthorDate: 2023-09-28 20:46:01 +0000 Commit: Warner Losh CommitDate: 2023-09-28 21:05:15 +0000 nvme: Fix locking protocol violation to fix suspend / resume Currently, when we suspend, we need to tear down all the qpairs. We call nvme_admin_qpair_abort_aers with the admin qpair lock held, but the tracker it will call for the pending AER also locks it (recursively) hitting an assert. This routine is called without the qpair lock held when we destroy the device entirely in a number of places. Add an assert to this effect and drop the qpair lock before calling it. nvme_admin_qpair_abort_aers then locks the qpair lock to traverse the list, dropping it around calls to nvme_qpair_complete_tracker, and restarting the list scan after picking it back up. Note: If interrupts are still running, there's a tiny window for these AERs: If one fires just an instant after we manually complete it, then we'll be fine: we set the state of the queue to 'waiting' and we ignore interrupts while 'waiting'. We know we'll destroy all the queue state with these pending interrupts before looking at them again and we know all the TRs will have been completed or rescheduled. So either way we're covered. Also, tidy up the failure case as well: failing a queue is a superset of disabling it, so no need to call disable first. This solves solves some locking issues with recursion since we don't need to recurse.. Set the qpair state of failed queues to RECOVERY_FAILED and stop scheduling the watchdog. Assert we're not failed when we're enabling a qpair, since failure currently is one-way. Make failure a little less verbose. Next, kill the pre/post reset stuff. It's completely bogus since we disable the qparis, we don't need to also hold the lock through the reset: disabling will cause the ISR to return early. This keeps us from recursing on the recovery lock when resuming. We only need the recovery lock to avoid a specific race between the timer and the ISR. Finally, kill NVME_RESET_2X. It'S been a major release since we put it in and nobody has used it as far as I can tell. And it was a motivator for the pre/post uglification. These are all interrelated, so need to be done at the same time. Sponsored by: Netflix Reviewed by: jhb Tested by: jhb (made sure suspend / resume worked) MFC After: 3 days Differential Revision: https://reviews.freebsd.org/D41866 (cherry picked from commit da8324a9258f1791cd10423103c1746646e33104) --- sys/dev/nvme/nvme_ctrlr.c | 49 +++++-------------------------------------- sys/dev/nvme/nvme_private.h | 1 + sys/dev/nvme/nvme_qpair.c | 51 ++++++++++++++++++++++++++++++++------------- 3 files changed, 42 insertions(+), 59 deletions(-) diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index c4a750901743..30a5ee81b2a4 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -217,12 +217,15 @@ nvme_ctrlr_fail(struct nvme_controller *ctrlr) { int i; + /* + * No need to disable queues before failing them. Failing is a superet + * of disabling (though pedantically we'd abort the AERs silently with + * a different error, though when we fail, that hardly matters). + */ ctrlr->is_failed = true; - nvme_admin_qpair_disable(&ctrlr->adminq); nvme_qpair_fail(&ctrlr->adminq); if (ctrlr->ioq != NULL) { for (i = 0; i < ctrlr->num_io_queues; i++) { - nvme_io_qpair_disable(&ctrlr->ioq[i]); nvme_qpair_fail(&ctrlr->ioq[i]); } } @@ -416,34 +419,6 @@ nvme_ctrlr_disable_qpairs(struct nvme_controller *ctrlr) } } -static void -nvme_pre_reset(struct nvme_controller *ctrlr) -{ - /* - * Make sure that all the ISRs are done before proceeding with the reset - * (and also keep any stray interrupts that happen during this process - * from racing this process). For startup, this is a nop, since the - * hardware is in a good state. But for recovery, where we randomly - * reset the hardware, this ensure that we're not racing the ISRs. - */ - mtx_lock(&ctrlr->adminq.recovery); - for (int i = 0; i < ctrlr->num_io_queues; i++) { - mtx_lock(&ctrlr->ioq[i].recovery); - } -} - -static void -nvme_post_reset(struct nvme_controller *ctrlr) -{ - /* - * Reset complete, unblock ISRs - */ - mtx_unlock(&ctrlr->adminq.recovery); - for (int i = 0; i < ctrlr->num_io_queues; i++) { - mtx_unlock(&ctrlr->ioq[i].recovery); - } -} - static int nvme_ctrlr_hw_reset(struct nvme_controller *ctrlr) { @@ -1236,9 +1211,7 @@ nvme_ctrlr_reset_task(void *arg, int pending) int status; nvme_ctrlr_devctl_log(ctrlr, "RESET", "resetting controller"); - nvme_pre_reset(ctrlr); status = nvme_ctrlr_hw_reset(ctrlr); - nvme_post_reset(ctrlr); if (status == 0) nvme_ctrlr_start(ctrlr, true); else @@ -1725,19 +1698,8 @@ nvme_ctrlr_resume(struct nvme_controller *ctrlr) if (ctrlr->is_failed) return (0); - nvme_pre_reset(ctrlr); if (nvme_ctrlr_hw_reset(ctrlr) != 0) goto fail; -#ifdef NVME_2X_RESET - /* - * Prior to FreeBSD 13.1, FreeBSD's nvme driver reset the hardware twice - * to get it into a known good state. However, the hardware's state is - * good and we don't need to do this for proper functioning. - */ - if (nvme_ctrlr_hw_reset(ctrlr) != 0) - goto fail; -#endif - nvme_post_reset(ctrlr); /* * Now that we've reset the hardware, we can restart the controller. Any @@ -1754,7 +1716,6 @@ fail: * the controller. However, we have to return success for the resume * itself, due to questionable APIs. */ - nvme_post_reset(ctrlr); nvme_printf(ctrlr, "Failed to reset on resume, failing.\n"); nvme_ctrlr_fail(ctrlr); (void)atomic_cmpset_32(&ctrlr->is_resetting, 1, 0); diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index a6239f30f3bf..496bd8229e0a 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -150,6 +150,7 @@ struct nvme_tracker { enum nvme_recovery { RECOVERY_NONE = 0, /* Normal operations */ RECOVERY_WAITING, /* waiting for the reset to complete */ + RECOVERY_FAILED, /* We have failed, no more I/O */ }; struct nvme_qpair { struct nvme_controller *ctrlr; diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 4e37aa0e1020..9806096de81d 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -945,22 +945,38 @@ nvme_admin_qpair_abort_aers(struct nvme_qpair *qpair) { struct nvme_tracker *tr; + /* + * nvme_complete_tracker must be called without the qpair lock held. It + * takes the lock to adjust outstanding_tr list, so make sure we don't + * have it yet (since this is a general purpose routine). We take the + * lock to make the list traverse safe, but have to drop the lock to + * complete any AER. We restart the list scan when we do this to make + * this safe. There's interlock with the ISR so we know this tracker + * won't be completed twice. + */ + mtx_assert(&qpair->lock, MA_NOTOWNED); + + mtx_lock(&qpair->lock); tr = TAILQ_FIRST(&qpair->outstanding_tr); while (tr != NULL) { if (tr->req->cmd.opc == NVME_OPC_ASYNC_EVENT_REQUEST) { + mtx_unlock(&qpair->lock); nvme_qpair_manual_complete_tracker(tr, NVME_SCT_GENERIC, NVME_SC_ABORTED_SQ_DELETION, 0, ERROR_PRINT_NONE); + mtx_lock(&qpair->lock); tr = TAILQ_FIRST(&qpair->outstanding_tr); } else { tr = TAILQ_NEXT(tr, tailq); } } + mtx_unlock(&qpair->lock); } void nvme_admin_qpair_destroy(struct nvme_qpair *qpair) { + mtx_assert(&qpair->lock, MA_NOTOWNED); nvme_admin_qpair_abort_aers(qpair); nvme_qpair_destroy(qpair); @@ -1011,17 +1027,6 @@ nvme_qpair_timeout(void *arg) mtx_assert(&qpair->recovery, MA_OWNED); - /* - * If the controller has failed, give up. We're never going to change - * state from a failed controller: no further transactions are possible. - * We go ahead and let the timeout expire in many cases for simplicity. - */ - if (qpair->ctrlr->is_failed) { - nvme_printf(ctrlr, "Controller failed, giving up\n"); - qpair->timer_armed = false; - return; - } - switch (qpair->recovery_state) { case RECOVERY_NONE: /* @@ -1108,6 +1113,11 @@ nvme_qpair_timeout(void *arg) nvme_printf(ctrlr, "Waiting for reset to complete\n"); idle = false; /* We want to keep polling */ break; + case RECOVERY_FAILED: + KASSERT(qpair->ctrlr->is_failed, + ("Recovery state failed w/o failed controller\n")); + idle = true; /* nothing to monitor */ + break; } /* @@ -1297,6 +1307,8 @@ nvme_qpair_enable(struct nvme_qpair *qpair) mtx_assert(&qpair->recovery, MA_OWNED); if (mtx_initialized(&qpair->lock)) mtx_assert(&qpair->lock, MA_OWNED); + KASSERT(qpair->recovery_state != RECOVERY_FAILED, + ("Enabling a failed qpair\n")); qpair->recovery_state = RECOVERY_NONE; } @@ -1421,12 +1433,13 @@ void nvme_admin_qpair_disable(struct nvme_qpair *qpair) { mtx_lock(&qpair->recovery); - mtx_lock(&qpair->lock); + mtx_lock(&qpair->lock); nvme_qpair_disable(qpair); + mtx_unlock(&qpair->lock); + nvme_admin_qpair_abort_aers(qpair); - mtx_unlock(&qpair->lock); mtx_unlock(&qpair->recovery); } @@ -1451,18 +1464,27 @@ nvme_qpair_fail(struct nvme_qpair *qpair) if (!mtx_initialized(&qpair->lock)) return; + mtx_lock(&qpair->recovery); + qpair->recovery_state = RECOVERY_FAILED; + mtx_unlock(&qpair->recovery); + mtx_lock(&qpair->lock); + if (!STAILQ_EMPTY(&qpair->queued_req)) { + nvme_printf(qpair->ctrlr, "failing queued i/o\n"); + } while (!STAILQ_EMPTY(&qpair->queued_req)) { req = STAILQ_FIRST(&qpair->queued_req); STAILQ_REMOVE_HEAD(&qpair->queued_req, stailq); - nvme_printf(qpair->ctrlr, "failing queued i/o\n"); mtx_unlock(&qpair->lock); nvme_qpair_manual_complete_request(qpair, req, NVME_SCT_GENERIC, NVME_SC_ABORTED_BY_REQUEST); mtx_lock(&qpair->lock); } + if (!TAILQ_EMPTY(&qpair->outstanding_tr)) { + nvme_printf(qpair->ctrlr, "failing outstanding i/o\n"); + } /* Manually abort each outstanding I/O. */ while (!TAILQ_EMPTY(&qpair->outstanding_tr)) { tr = TAILQ_FIRST(&qpair->outstanding_tr); @@ -1470,7 +1492,6 @@ nvme_qpair_fail(struct nvme_qpair *qpair) * Do not remove the tracker. The abort_tracker path will * do that for us. */ - nvme_printf(qpair->ctrlr, "failing outstanding i/o\n"); mtx_unlock(&qpair->lock); nvme_qpair_manual_complete_tracker(tr, NVME_SCT_GENERIC, NVME_SC_ABORTED_BY_REQUEST, DO_NOT_RETRY, ERROR_PRINT_ALL); From nobody Thu Sep 28 21:10:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxR2j52f8z4vbwJ; Thu, 28 Sep 2023 21: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 4RxR2j2TKFz3F4M; Thu, 28 Sep 2023 21: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=1695935421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mUmxq7qabnEl98pXyv0T+ap3nHUcB6pI2YruL2Ghb6o=; b=QtYGJt/yvAzzR7vAKt3T8hgylBL1Nuo2zQwshz9R+qRxufWokkkCeOoEFSTT3h5bJ6KZsI V14tJLpdia/0cNFuCs+JxHBSaaTe8cEppxhRHY3zo2r4WoKTEceTnTNCdvjq25PBBKOiIu AgK3TQubgY0Bixx3O9WtyTQMZVC/2z8tXX5RA12ZlDfgYy1Yty4lV9Hdta/vy3wD1rXSEX 51fhjaJhGJt5Ezt7Ft2cPgk8bWG4i4KEKlWJwj/XzHTprsZjGxpf1KvkucrHaTCY4iQgCy ODEx0prAauxGqNZqRupF8aOR6nd/sFGt7hME+YU5iv1MRwwkpC3Zr2n6hxh2Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695935421; a=rsa-sha256; cv=none; b=aDz1HBffAO98m+F9A4rtBa5YL7eVKeW9jrRgrX42KgQ/MB3Fjw3XE0Y+uCn4CeFXqeTc6P 8Buk2QFXxgSFogORw1+qhGig4Q1RtiaUn0O60gu7yi7p39BNUCe3C4534/TlR8D8RJFMa2 cRmq0LTgjeUnQEkIa+Aq7jed6rSUg9XU6mWpjVZ7Cn2EiMDLvzGW6G9266ty/XNy6uejbq 42KBuvcsJcitA7EdBHTs6d8c6JJHnKQqsFv3C9Qs7uZbk3ElP9yO92+Q11QflSy5eRBPGl ESvHTtfeSalmG130v8u7lUb/b+wNXBvFIdlI9bm+4U2Xik8yMRCBPVj8yOFWGg== 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=1695935421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mUmxq7qabnEl98pXyv0T+ap3nHUcB6pI2YruL2Ghb6o=; b=rwNwMIJOGtTAdPLyakb9Z1sH7oFGi5GVyMFL9Y+xvV2umAKOjbwP0ELL3Yl/b+eYoBAGA+ 6ke/ycaGvZLJpD3hNWK54WvLy5jW1AepOcdZnJklRdSyNmoghhpXXMliNH5tCyHxGfw0k7 ynkzBSX7LyEzO23D20VqBrKGYUhUxtRS9V8PNNUw+oYy+FSOCYu8kThhNTTXWGsNFfyaWW bvyqjgoKnWOu6oZiCYmF+f7ERh3dyngHYu2HX+T7QwHpfWzlP9VDdRzii8BJYK181Va2RJ ey++0mVnnlfn4cejbxVAqncO7sggNIiFfJGRTx/CI4bxjIuBxsUcGcMUaCAP2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxR2j1VJCzdGx; Thu, 28 Sep 2023 21: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 38SLALLo048757; Thu, 28 Sep 2023 21: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 38SLALDD048754; Thu, 28 Sep 2023 21:10:21 GMT (envelope-from git) Date: Thu, 28 Sep 2023 21:10:21 GMT Message-Id: <202309282110.38SLALDD048754@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: 3cd49bc5b33f - stable/14 - nvme: Supress noise messages List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 3cd49bc5b33fed7c305bfbf4b0c014520e65bc02 Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3cd49bc5b33fed7c305bfbf4b0c014520e65bc02 commit 3cd49bc5b33fed7c305bfbf4b0c014520e65bc02 Author: Warner Losh AuthorDate: 2023-09-28 20:46:01 +0000 Commit: Warner Losh CommitDate: 2023-09-28 21:05:15 +0000 nvme: Supress noise messages When we're suspending, we get messages about waiting for the controller to reset. These are in error: we're not waiting for it to reset. We put the recovery state as part of suspending, so we should suppress these as a false positive. Also remove a stray debug that's left over from earlier versions of the recovery code that no longer makes sense. Sponsored by: Netflix (cherry picked from commit 1d6021cd72689f54093af4ed77066a2f8abde664) --- sys/dev/nvme/nvme_qpair.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 9806096de81d..cd0057f444b8 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -1104,13 +1104,20 @@ nvme_qpair_timeout(void *arg) nvme_printf(ctrlr, "Resetting controller due to a timeout%s.\n", (csts == 0xffffffff) ? " and possible hot unplug" : (cfs ? " and fatal error status" : "")); - nvme_printf(ctrlr, "RECOVERY_WAITING\n"); qpair->recovery_state = RECOVERY_WAITING; nvme_ctrlr_reset(ctrlr); idle = false; /* We want to keep polling */ break; case RECOVERY_WAITING: - nvme_printf(ctrlr, "Waiting for reset to complete\n"); + /* + * These messages aren't interesting while we're suspended. We + * put the queues into waiting state while + * suspending. Suspending takes a while, so we'll see these + * during that time and they aren't diagnostic. At other times, + * they indicate a problem that's worth complaining about. + */ + if (!device_is_suspended(ctrlr->dev)) + nvme_printf(ctrlr, "Waiting for reset to complete\n"); idle = false; /* We want to keep polling */ break; case RECOVERY_FAILED: From nobody Thu Sep 28 22:16:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSWC2vPmz4vh5w; Thu, 28 Sep 2023 22:16: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 4RxSWC1j5dz3LfR; Thu, 28 Sep 2023 22:16:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695939399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yDQxgYXu17dbIGnULLU/7e0y6swVe81upzriWj8XyIc=; b=ZAzLhl0Gd6MrSKNkOynQapDc2viPtaNLcuRPNrYeCozedF1cEvIQeNxG8hG50F65zqcFIG gk1Pc1LxqVWVQbJWX9uleq9AlJ+7zYkM9TgyiNa2x8D/y62QMd/2UGkk2Dqy4JEuCP+oZk gVW/g78SykvqWKlY7NUNw+Cx4kgvsfRI2qlpFeFgzLUoJkNz9o/J+sJLydxRMm90Bk2Yzi mpiDKfnxbprgkw8YSMv7eMy8Qgw4p98ybpWaccc7XckpbW5edxsJ9Y0YeV2LSqvU+L3/V6 D9z6j2mHGGx1p+3Xl2qWChlhK0fyPLLdW0HVelWsYH6muxOO1b5g6NmaHNfkvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695939399; a=rsa-sha256; cv=none; b=N0QuZBD7f1TkQpxxKVx8cfe/sSnU47vU1ZyCUwrXarAnOSb7FwzNgHDXHBNh/IHs27DCe4 DTb4IyGQymCi+KjcrD5cEUGLLDfimP2MWwj+KNWUk69vnTRkpKbj/hWnVbsgaO1ZETwzpZ Dbxivr7s77T6wseUowfrly4w55G3E1O1IHYuBpIHkeHj0NyiW+P1n4jb/ZsCY6nzQ/XnIt x8ML9L0fhDl/u0E7RSK5VJtthz5k0SzOkaLlmH8+AM0Q3eXH/VWuTic8GweJkgL4tpHATb VCaT9zR3DUYSlF6tJO8ggbHLddS5EeXOO89gI3MoUm9emciQ0Sjl+qEfUNcvgg== 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=1695939399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yDQxgYXu17dbIGnULLU/7e0y6swVe81upzriWj8XyIc=; b=nzz8lPAevFmWWCPq2G/I/lt/DNNQC5WY+GtWQbSVvSnjfGQv3JTTPGFPcqc7n03e+dR4os cZVpY//t7aKmKnIOLtZ4zs862HgiIZEUd1QT82OtBm/xPrKmr7yFDeb+Wz/pkAk2Aoys6b wuV6nEcge2dHFtHtE8ZRt+hmwwJ2ci30qHo1mSp09zJ0HvSA5y73PvH7uRZVcuaYRKVJS6 AUDSN7iGPNVU2NoomiU9v0bHTTOF8LGILZBRJo5mR6KcL/cqSRg07jQAu5KLwKIF2oRkSn b1PfOhIVhx4aXjI6wm0osz4cf0g8rmLWZEHZnKdjWVsdQIrGxotch5MjsxqYEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSWC0pbbzfhq; Thu, 28 Sep 2023 22:16: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 38SMGd7t056087; Thu, 28 Sep 2023 22:16:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMGdZO056084; Thu, 28 Sep 2023 22:16:39 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:16:39 GMT Message-Id: <202309282216.38SMGdZO056084@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: dea589710881 - releng/14.0 - ice_ddp: Update to 1.3.35.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: dea5897108818a61bbae702c77839930421433e3 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=dea5897108818a61bbae702c77839930421433e3 commit dea5897108818a61bbae702c77839930421433e3 Author: Eric Joyner AuthorDate: 2023-08-22 04:55:34 +0000 Commit: Eric Joyner CommitDate: 2023-09-28 22:15:49 +0000 ice_ddp: Update to 1.3.35.0 This is intended to be used with the upcoming updated ice(4) version 1.38.16-k. Signed-off-by: Eric Joyner Approved by: re (cperciva) Sponsored by: Intel Corporation (cherry picked from commit e04c4b4a369df3f1dcbebbdf726193f02af60801) (cherry picked from commit 65d0d780732853b5ddb2278497d2c72b2b42d7d0) --- sys/conf/files.amd64 | 6 +++--- sys/conf/files.arm64 | 6 +++--- sys/conf/files.powerpc | 6 +++--- sys/contrib/dev/ice/LICENSE | 2 +- .../dev/ice/{ice-1.3.30.0.pkg => ice-1.3.35.0.pkg} | Bin 692660 -> 692776 bytes sys/modules/ice_ddp/Makefile | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index e1499b19bb12..dfbe278f0c46 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -194,7 +194,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:0x01031e00 -mice_ddp -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032300 -mice_ddp -c${.TARGET}" \ no-ctfconvert no-implicit-rule before-depend local \ clean "ice_ddp.c" ice_ddp.fwo optional ice_ddp \ @@ -203,8 +203,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.30.0.pkg" \ - compile-with "${CP} $S/contrib/dev/ice/ice-1.3.30.0.pkg ice_ddp.fw" \ + 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" \ 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 7b033c979c55..02dcadc0aa5c 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -322,7 +322,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:0x01031e00 -mice_ddp -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032300 -mice_ddp -c${.TARGET}" \ no-ctfconvert no-implicit-rule before-depend local \ clean "ice_ddp.c" ice_ddp.fwo optional ice_ddp \ @@ -331,8 +331,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.30.0.pkg" \ - compile-with "${CP} $S/contrib/dev/ice/ice-1.3.30.0.pkg ice_ddp.fw" \ + 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" \ no-obj no-implicit-rule \ clean "ice_ddp.fw" diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc index aad29d050b68..48251ab07d9e 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:0x01031e00 -mice_ddp -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032300 -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.30.0.pkg" \ - compile-with "${CP} $S/contrib/dev/ice/ice-1.3.30.0.pkg ice_ddp.fw" \ + 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" \ 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/LICENSE b/sys/contrib/dev/ice/LICENSE index 7faadfc55aac..97fe53c2d998 100644 --- a/sys/contrib/dev/ice/LICENSE +++ b/sys/contrib/dev/ice/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2006-2021, Intel Corporation. +Copyright (c) 2006-2023, Intel Corporation. All rights reserved. Redistribution. Redistribution and use in binary form, without diff --git a/sys/contrib/dev/ice/ice-1.3.30.0.pkg b/sys/contrib/dev/ice/ice-1.3.35.0.pkg similarity index 88% rename from sys/contrib/dev/ice/ice-1.3.30.0.pkg rename to sys/contrib/dev/ice/ice-1.3.35.0.pkg index 454a2a6ea193..fc3e8ebc640f 100644 Binary files a/sys/contrib/dev/ice/ice-1.3.30.0.pkg and b/sys/contrib/dev/ice/ice-1.3.35.0.pkg differ diff --git a/sys/modules/ice_ddp/Makefile b/sys/modules/ice_ddp/Makefile index 41ed4ac92888..ad85bc2a9935 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.30.0.pkg:ice_ddp:0x01031e00 +FIRMWS= ${SRCTOP}/sys/contrib/dev/ice/ice-1.3.35.0.pkg:ice_ddp:0x01032300 .include From nobody Thu Sep 28 22:16:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSWD4Cb0z4vh8B; Thu, 28 Sep 2023 22:16: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 4RxSWD31PPz3LfY; Thu, 28 Sep 2023 22:16:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695939400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wWZwhwBTS75ncc062jdgqQBRY74tEfJGKkFNNz9/Aww=; b=h6qaShzhq5pnp/hcXhBAJW7mt+k2aKR6Ne8r84tbIn1V4Cbay9E/pDQtH5YsErn9McGTAw fc6trODtJ+AlxDozomaWMSzb1Ph9DJUjym7cOJVKyzHTss6Haf8gmvfwUYs42KezsZJdJk xUIC+wxzk5b+EVH4IZmCEyjlMLgZ7OZ8fUnL/8mQiWKkWGrHHFqd662lJQ/karfsHlOvoM E3wFOcriZl7tS2yBRvTq72wThB+3dLHHyKCYqSma3mhiOMq3/tExOQuaJtHFkpwVfC8Uev ZgWVn9I5NlJnyb4u6Ab/0XTrhdwLXdfZMCwT7v0X92iSGS29pfb0NRWt6F5uMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695939400; a=rsa-sha256; cv=none; b=yZbuzVXWFfw+7P5uDeSAOapGRjk35Z0AbjYczHQvVubv2faXr3lVp416Vw9ON6aeZQ4VKL 1TXJkFiwMGmE3YdChIBxlttZ9bPR3m7lVLBqk6gRQxhjXAH5CvRREerHQVLBXFDICauT5N jKYpkWqAD3UAoMtM3Kqg9E24RzkDaJaw8nyZNBCDGhsJFyu1jpua1PHwtguHWseZnYPMXJ ufwOkyPzv9KxgRjzPiTMyAX6OxCWF7pxjWeJWIm4Ui/97xPW5RZahEyHRNYjvO9RtX9i91 dfV+ricYwao+QX6sZ/y6RwWcE4wMWKjpEmnAa86y4l6Rn66ve0eh5bNk6iDHyA== 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=1695939400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wWZwhwBTS75ncc062jdgqQBRY74tEfJGKkFNNz9/Aww=; b=gHER1hry6rBPsSXEFhMp9dmrx5mna4F8WhMbsgtT9RKGZCXehfDP4NV0a0jsZ5LlSaTJyf k34SsJqrh+pOvAJIKOj2lgmZJRAkUhYiB0l0oDrVX8wcaRZEr+m+Ih0hUwbyeyGrIe2bz8 gic62RiZotZKQaKPJN/Or+V82KBpHZc5/qKfU2xz+RxplvthLQ1Ltg1X2RPyikn2xS8zgC 6qHd1l6G51kdlzpyz1SNv/c1zqqgEYJx6EDv2TFjI5OakXs+gSBlqLZeB9nyNoR01om6Mf e0pX8fy+CjQm0m9soTKko4AEOjX0abi3SaDhXvXkvsoUdVHdfBIZDPSDOAlHrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSWD1rxWzg03; Thu, 28 Sep 2023 22:16: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 38SMGe03056135; Thu, 28 Sep 2023 22: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 38SMGeji056132; Thu, 28 Sep 2023 22:16:40 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:16:40 GMT Message-Id: <202309282216.38SMGeji056132@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: d4a087dcba62 - releng/14.0 - irdma(4): use related vnet for searching netdev List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: d4a087dcba628f00aa14a7efbb9a1418f5396e47 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=d4a087dcba628f00aa14a7efbb9a1418f5396e47 commit d4a087dcba628f00aa14a7efbb9a1418f5396e47 Author: Bartosz Sobczak AuthorDate: 2023-09-12 21:31:39 +0000 Commit: Eric Joyner CommitDate: 2023-09-28 22:15:58 +0000 irdma(4): use related vnet for searching netdev It was found through testing that when ULP uses individual vnet, the search for the correct vlan_id may failing because of no proper interface with given address. The solution is to use vnet associated to the connection whenever possible. 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/D41592 (cherry picked from commit bc3a013ccd23c50bb48f17211ffc36fe85d11e18) (cherry picked from commit cc1abdc6ab34211748988684800d5b54705b36c2) --- sys/dev/irdma/fbsd_kcompat.c | 6 ++---- sys/dev/irdma/fbsd_kcompat.h | 14 ++++++++++++++ sys/dev/irdma/irdma_cm.c | 35 ++++++++++++++++++++++++----------- sys/dev/irdma/irdma_main.h | 5 +++-- sys/dev/irdma/irdma_verbs.c | 4 ++-- 5 files changed, 45 insertions(+), 19 deletions(-) diff --git a/sys/dev/irdma/fbsd_kcompat.c b/sys/dev/irdma/fbsd_kcompat.c index 013f9279952e..fbfa5c9e5fc4 100644 --- a/sys/dev/irdma/fbsd_kcompat.c +++ b/sys/dev/irdma/fbsd_kcompat.c @@ -393,8 +393,7 @@ irdma_get_dst_mac(struct irdma_cm_node *cm_node, struct sockaddr *dst_sin, u8 *d { struct ifnet *netdev = cm_node->iwdev->netdev; #ifdef VIMAGE - struct rdma_cm_id *rdma_id = (struct rdma_cm_id *)cm_node->cm_id->context; - struct vnet *vnet = rdma_id->route.addr.dev_addr.net; + struct vnet *vnet = irdma_cmid_to_vnet(cm_node->cm_id); #endif struct ifnet *ifp; struct llentry *lle; @@ -492,8 +491,7 @@ irdma_resolve_neigh_lpb_chk(struct irdma_device *iwdev, struct irdma_cm_node *cm struct irdma_cm_info *cm_info) { #ifdef VIMAGE - struct rdma_cm_id *rdma_id = (struct rdma_cm_id *)cm_node->cm_id->context; - struct vnet *vnet = rdma_id->route.addr.dev_addr.net; + struct vnet *vnet = irdma_cmid_to_vnet(cm_node->cm_id); #endif int arpindex; int oldarpindex; diff --git a/sys/dev/irdma/fbsd_kcompat.h b/sys/dev/irdma/fbsd_kcompat.h index eb1e615fc048..f465f97167cc 100644 --- a/sys/dev/irdma/fbsd_kcompat.h +++ b/sys/dev/irdma/fbsd_kcompat.h @@ -121,6 +121,20 @@ static inline u64 *irdma_next_pbl_addr(u64 *pbl, struct irdma_pble_info **pinfo, return (*pinfo)->addr; } + +static inline struct vnet * +irdma_cmid_to_vnet(struct iw_cm_id *cm_id) +{ + struct rdma_cm_id *rdma_id; + + if (!cm_id) + return &init_net; + + rdma_id = (struct rdma_cm_id *)cm_id->context; + + return rdma_id->route.addr.dev_addr.net; +} + #if __FreeBSD_version < 1400026 struct ib_cq *irdma_create_cq(struct ib_device *ibdev, const struct ib_cq_init_attr *attr, diff --git a/sys/dev/irdma/irdma_cm.c b/sys/dev/irdma/irdma_cm.c index 48aefda681cb..c1d5875961f0 100644 --- a/sys/dev/irdma/irdma_cm.c +++ b/sys/dev/irdma/irdma_cm.c @@ -1624,10 +1624,13 @@ static u8 irdma_iw_get_vlan_prio(u32 *loc_addr, u8 prio, bool ipv4) * vlan id and mac for that address. */ if_t -irdma_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *mac) +irdma_netdev_vlan_ipv6(struct iw_cm_id *cm_id, u32 *addr, u16 *vlan_id, u8 *mac) { if_t ip_dev = NULL; struct in6_addr laddr6; +#ifdef VIMAGE + struct vnet *vnet = irdma_cmid_to_vnet(cm_id); +#endif struct ifaddr *ifa; u16 scope_id = 0; @@ -1641,7 +1644,11 @@ irdma_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *mac) IN6_IS_ADDR_MC_INTFACELOCAL(&laddr6)) scope_id = ntohs(laddr6.__u6_addr.__u6_addr16[1]); +#ifdef VIMAGE + ip_dev = ip6_ifp_find(vnet, laddr6, scope_id); +#else ip_dev = ip6_ifp_find(&init_net, laddr6, scope_id); +#endif if (ip_dev) { if (vlan_id) *vlan_id = rdma_vlan_dev_vlan_id(ip_dev); @@ -1658,12 +1665,19 @@ irdma_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *mac) * @addr: local IPv4 address */ u16 -irdma_get_vlan_ipv4(u32 *addr) +irdma_get_vlan_ipv4(struct iw_cm_id *cm_id, u32 *addr) { if_t netdev; +#ifdef VIMAGE + struct vnet *vnet = irdma_cmid_to_vnet(cm_id); +#endif u16 vlan_id = 0xFFFF; +#ifdef VIMAGE + netdev = ip_ifp_find(vnet, htonl(addr[0])); +#else netdev = ip_ifp_find(&init_net, htonl(addr[0])); +#endif if (netdev) { vlan_id = rdma_vlan_dev_vlan_id(netdev); dev_put(netdev); @@ -2060,8 +2074,7 @@ irdma_cm_create_ah(struct irdma_cm_node *cm_node, bool wait) struct irdma_ah_info ah_info = {0}; struct irdma_device *iwdev = cm_node->iwdev; #ifdef VIMAGE - struct rdma_cm_id *rdma_id = (struct rdma_cm_id *)cm_node->cm_id->context; - struct vnet *vnet = rdma_id->route.addr.dev_addr.net; + struct vnet *vnet = irdma_cmid_to_vnet(cm_node->cm_id); #endif ether_addr_copy(ah_info.mac_addr, if_getlladdr(iwdev->netdev)); @@ -3520,11 +3533,11 @@ irdma_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) if (((struct sockaddr_in *)&cm_id->local_addr)->sin_family == AF_INET) { cm_node->ipv4 = true; - cm_node->vlan_id = irdma_get_vlan_ipv4(cm_node->loc_addr); + cm_node->vlan_id = irdma_get_vlan_ipv4(cm_id, cm_node->loc_addr); } else { cm_node->ipv4 = false; - irdma_netdev_vlan_ipv6(cm_node->loc_addr, &cm_node->vlan_id, - NULL); + irdma_netdev_vlan_ipv6(cm_id, cm_node->loc_addr, + &cm_node->vlan_id, NULL); } irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, "Accept vlan_id=%d\n", cm_node->vlan_id); @@ -3719,7 +3732,7 @@ irdma_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) cm_info.rem_addr[0] = ntohl(raddr->sin_addr.s_addr); cm_info.loc_port = ntohs(laddr->sin_port); cm_info.rem_port = ntohs(raddr->sin_port); - cm_info.vlan_id = irdma_get_vlan_ipv4(cm_info.loc_addr); + cm_info.vlan_id = irdma_get_vlan_ipv4(cm_id, cm_info.loc_addr); } else { if (iwdev->vsi.mtu < IRDMA_MIN_MTU_IPV6) return -EINVAL; @@ -3731,7 +3744,7 @@ irdma_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) raddr6->sin6_addr.__u6_addr.__u6_addr32); cm_info.loc_port = ntohs(laddr6->sin6_port); cm_info.rem_port = ntohs(raddr6->sin6_port); - irdma_netdev_vlan_ipv6(cm_info.loc_addr, &cm_info.vlan_id, NULL); + irdma_netdev_vlan_ipv6(cm_id, cm_info.loc_addr, &cm_info.vlan_id, NULL); } cm_info.cm_id = cm_id; cm_info.qh_qpid = iwdev->vsi.ilq->qp_id; @@ -3846,7 +3859,7 @@ irdma_create_listen(struct iw_cm_id *cm_id, int backlog) cm_info.loc_port = ntohs(laddr->sin_port); if (laddr->sin_addr.s_addr != htonl(INADDR_ANY)) { - cm_info.vlan_id = irdma_get_vlan_ipv4(cm_info.loc_addr); + cm_info.vlan_id = irdma_get_vlan_ipv4(cm_id, cm_info.loc_addr); } else { cm_info.vlan_id = 0xFFFF; wildcard = true; @@ -3860,7 +3873,7 @@ irdma_create_listen(struct iw_cm_id *cm_id, int backlog) laddr6->sin6_addr.__u6_addr.__u6_addr32); cm_info.loc_port = ntohs(laddr6->sin6_port); if (!IN6_IS_ADDR_UNSPECIFIED(&laddr6->sin6_addr)) { - irdma_netdev_vlan_ipv6(cm_info.loc_addr, + irdma_netdev_vlan_ipv6(cm_id, cm_info.loc_addr, &cm_info.vlan_id, NULL); } else { cm_info.vlan_id = 0xFFFF; diff --git a/sys/dev/irdma/irdma_main.h b/sys/dev/irdma/irdma_main.h index 25c3fcfc939e..aa5bbee2fb77 100644 --- a/sys/dev/irdma/irdma_main.h +++ b/sys/dev/irdma/irdma_main.h @@ -584,8 +584,9 @@ void irdma_gen_ae(struct irdma_pci_f *rf, struct irdma_sc_qp *qp, struct irdma_gen_ae_info *info, bool wait); void irdma_copy_ip_ntohl(u32 *dst, __be32 *src); void irdma_copy_ip_htonl(__be32 *dst, u32 *src); -u16 irdma_get_vlan_ipv4(u32 *addr); -if_t irdma_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *mac); +u16 irdma_get_vlan_ipv4(struct iw_cm_id *cm_id, u32 *addr); +if_t irdma_netdev_vlan_ipv6(struct iw_cm_id *cm_id, u32 *addr, u16 *vlan_id, + u8 *mac); struct ib_mr *irdma_reg_phys_mr(struct ib_pd *ib_pd, u64 addr, u64 size, int acc, u64 *iova_start); int irdma_upload_qp_context(struct irdma_qp *iwqp, bool freeze, bool raw); diff --git a/sys/dev/irdma/irdma_verbs.c b/sys/dev/irdma/irdma_verbs.c index 8b7b34f7b2fb..cda8041ab397 100644 --- a/sys/dev/irdma/irdma_verbs.c +++ b/sys/dev/irdma/irdma_verbs.c @@ -3336,7 +3336,7 @@ irdma_attach_mcast(struct ib_qp *ibqp, union ib_gid *ibgid, u16 lid) if (!ipv6_addr_v4mapped((struct in6_addr *)ibgid)) { irdma_copy_ip_ntohl(ip_addr, sgid_addr.saddr_in6.sin6_addr.__u6_addr.__u6_addr32); - irdma_netdev_vlan_ipv6(ip_addr, &vlan_id, NULL); + irdma_netdev_vlan_ipv6(iwqp->cm_id, ip_addr, &vlan_id, NULL); ipv4 = false; irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_VERBS, "qp_id=%d, IP6address=%x:%x:%x:%x\n", ibqp->qp_num, @@ -3345,7 +3345,7 @@ irdma_attach_mcast(struct ib_qp *ibqp, union ib_gid *ibgid, u16 lid) } else { ip_addr[0] = ntohl(sgid_addr.saddr_in.sin_addr.s_addr); ipv4 = true; - vlan_id = irdma_get_vlan_ipv4(ip_addr); + vlan_id = irdma_get_vlan_ipv4(iwqp->cm_id, ip_addr); irdma_mcast_mac_v4(ip_addr, dmac); irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_VERBS, "qp_id=%d, IP4address=%x, MAC=%x:%x:%x:%x:%x:%x\n", From nobody Thu Sep 28 22:16:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSWF5rVZz4vh4K; Thu, 28 Sep 2023 22: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 4RxSWF3pk2z3M3X; Thu, 28 Sep 2023 22: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=1695939401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+lE34Xp1590+Gt66Ak0b1BSWx27lDeuVDhbh1WJyxNM=; b=WQQX4u0wGdh7q2gs6PghqzcnWqHuavpFXYhuiDDnDLl29hgGLYU4FYA7iV1gV7z7LJQVXC BOrfSf37UH5fNXMBxxCi8W62QMHc3EKV2HbuIBtwNLTD/iXGWdAERJGDMl48KonJkfRY2D LlA3nqIGC77ESvRcXPd8zJSUXpQK2bzBEmfyOEKarXigyKVEi8iO0k2eT6xuT2M3Nuezdj rMMpoE/mCx6Mmiwf5MImWq6fYKxGQsmaY1mjtLIB8UoDKWa2yNKjWwFyKDlji5iaDGZ3Di br1Wa+NJV+zLUM4B0iZL4nXN7B69cO9JfmQ7X6RMX9NHm+HJB2Pw4dx4Ynr6fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695939401; a=rsa-sha256; cv=none; b=EEcLBY73mFGeZIKnhEsNuIbfiGibw2Jso3gbbyGM+RIzOdefmNxZ5ZoYSwgFs2tk+r6mJt u2pTbp011LyZnJ/D5DyAeAqZlbwXSNMxzfvT+x30sFpAr0U39pxjQ+RPHP740lLe7hc3CI eWku4MqLHk+NBST4Muts8SHOf0aHcwu02H4bUE9hsF6y92svzFZI3vaPXZfsr/9RrkEjez pNq1U0ZOZKJhbiHBYH9ie4vy6swH3w42u4PoFaa7MZl2s5TqcRNRHPPbMW6H3i8qPDGtwz fQ3MdOs46Dj5kSNQU1loYdBgglPOSJ1BupAGgHeNzTtNkWhm9E/V479D9FQGwA== 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=1695939401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+lE34Xp1590+Gt66Ak0b1BSWx27lDeuVDhbh1WJyxNM=; b=sFgvS/XJfk8j8pJLF18iEY4o+pd8liNl1DMucDEwQ6SyYhOujEp0wiUC2JUy1HT0vqhLUW v2GDzABu/8wfewmPkrBqeWrEKmirs0mLKS6wgsPGpLKOObODMsVmUkHFGPjeVNxjs3OlMy iFdeA3AT5e/pcEozZ+VXUQo8Tr+wwAhg3Yx1AZEM/o2GwgEE3BPmyU3PI1rvJeOTTmMsfe g+YhoxQBn5vGSNA6QLxooO1lCJc345E9IJmpJ4DgQl5ENv89Ki5WstOctQONXaYeq/sFDs C6CQgSG09AMzo3stmO5hDlqF0FQ3y94ppPaJTJ/xr/DEAaUzQsNqH3q/fbeYpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSWF2sWpzfKk; Thu, 28 Sep 2023 22: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 38SMGfi3056183; Thu, 28 Sep 2023 22:16:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMGf80056180; Thu, 28 Sep 2023 22:16:41 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:16:41 GMT Message-Id: <202309282216.38SMGf80056180@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: 243853dab752 - releng/14.0 - irdma(4): remove artificial completion generator List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: 243853dab752495ffc77007c94e1e77a71a9edaf Auto-Submitted: auto-generated The branch releng/14.0 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=243853dab752495ffc77007c94e1e77a71a9edaf commit 243853dab752495ffc77007c94e1e77a71a9edaf Author: Bartosz Sobczak AuthorDate: 2023-09-12 21:35:06 +0000 Commit: Eric Joyner CommitDate: 2023-09-28 22:16:09 +0000 irdma(4): remove artificial completion generator Removing artificial completion generator as there had been no indication of the code being required for E810 cards. Further more it was found that the code may have unpleasant side effects on user experience when using ucmatose tool. 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/D41593 (cherry picked from commit ffafa6a4d157e49e6b12567958c4ab0c9151c080) (cherry picked from commit 4e80493a33feeabd358ffc233463934a85649c45) --- contrib/ofed/libirdma/irdma_umain.h | 8 -- contrib/ofed/libirdma/irdma_uverbs.c | 161 +---------------------------------- 2 files changed, 1 insertion(+), 168 deletions(-) diff --git a/contrib/ofed/libirdma/irdma_umain.h b/contrib/ofed/libirdma/irdma_umain.h index c67c5d7076f9..7ff850c46b72 100644 --- a/contrib/ofed/libirdma/irdma_umain.h +++ b/contrib/ofed/libirdma/irdma_umain.h @@ -109,11 +109,6 @@ struct verbs_cq { }; }; -struct irdma_cmpl_gen { - LIST_ENTRY(irdma_cmpl_gen) list; - struct irdma_cq_poll_info cpi; -}; - struct irdma_ucq { struct verbs_cq verbs_cq; struct verbs_mr vmr; @@ -130,7 +125,6 @@ struct irdma_ucq { struct list_head resize_list; /* for extended CQ completion fields */ struct irdma_cq_poll_info cur_cqe; - struct list_head_cmpl cmpl_generated; }; struct irdma_uqp { @@ -150,7 +144,6 @@ struct irdma_uqp { struct irdma_qp_uk qp; enum ibv_qp_type qp_type; struct irdma_sge *recv_sges; - pthread_t flush_thread; }; /* irdma_uverbs.c */ @@ -207,5 +200,4 @@ void irdma_async_event(struct ibv_context *context, void irdma_set_hw_attrs(struct irdma_hw_attrs *attrs); void *irdma_mmap(int fd, off_t offset); void irdma_munmap(void *map); -void *irdma_flush_thread(void *arg); #endif /* IRDMA_UMAIN_H */ diff --git a/contrib/ofed/libirdma/irdma_uverbs.c b/contrib/ofed/libirdma/irdma_uverbs.c index c59d409e72cd..bc6bec34e6cd 100644 --- a/contrib/ofed/libirdma/irdma_uverbs.c +++ b/contrib/ofed/libirdma/irdma_uverbs.c @@ -459,7 +459,6 @@ ucreate_cq(struct ibv_context *context, info.cq_size = get_cq_size(attr_ex->cqe, hw_rev, cqe_64byte_ena); iwucq->comp_vector = attr_ex->comp_vector; LIST_INIT(&iwucq->resize_list); - LIST_INIT(&iwucq->cmpl_generated); total_size = get_cq_total_bytes(info.cq_size, cqe_64byte_ena); cq_pages = total_size >> IRDMA_HW_PAGE_SHIFT; @@ -615,142 +614,6 @@ irdma_process_resize_list(struct irdma_ucq *iwucq, return cq_cnt; } -static void -irdma_remove_cmpls_list(struct irdma_ucq *iwucq) -{ - struct irdma_cmpl_gen *cmpl_node, *next; - - LIST_FOREACH_SAFE(cmpl_node, &iwucq->cmpl_generated, list, next) { - LIST_REMOVE(cmpl_node, list); - free(cmpl_node); - } -} - -static int -irdma_generated_cmpls(struct irdma_ucq *iwucq, struct irdma_cq_poll_info *cq_poll_info) -{ - struct irdma_cmpl_gen *cmpl; - - if (!iwucq || LIST_EMPTY(&iwucq->cmpl_generated)) - return ENOENT; - cmpl = LIST_FIRST(&iwucq->cmpl_generated); - LIST_REMOVE(cmpl, list); - memcpy(cq_poll_info, &cmpl->cpi, sizeof(*cq_poll_info)); - - free(cmpl); - - return 0; -} - -/** - * irdma_set_cpi_common_values - fill in values for polling info struct - * @cpi: resulting structure of cq_poll_info type - * @qp: QPair - * @qp_num: id of the QP - */ -static void -irdma_set_cpi_common_values(struct irdma_cq_poll_info *cpi, - struct irdma_qp_uk *qp, __u32 qp_num) -{ - cpi->comp_status = IRDMA_COMPL_STATUS_FLUSHED; - cpi->error = 1; - cpi->major_err = IRDMA_FLUSH_MAJOR_ERR; - cpi->minor_err = FLUSH_GENERAL_ERR; - cpi->qp_handle = (irdma_qp_handle) (uintptr_t)qp; - cpi->qp_id = qp_num; -} - -static bool -irdma_cq_empty(struct irdma_ucq *iwucq) -{ - struct irdma_cq_uk *ukcq; - __u64 qword3; - __le64 *cqe; - __u8 polarity; - - ukcq = &iwucq->cq; - cqe = IRDMA_GET_CURRENT_CQ_ELEM(ukcq); - get_64bit_val(cqe, 24, &qword3); - polarity = (__u8) FIELD_GET(IRDMA_CQ_VALID, qword3); - - return polarity != ukcq->polarity; -} - -/** - * irdma_generate_flush_completions - generate completion from WRs - * @iwuqp: pointer to QP - */ -static void -irdma_generate_flush_completions(struct irdma_uqp *iwuqp) -{ - struct irdma_qp_uk *qp = &iwuqp->qp; - struct irdma_ring *sq_ring = &qp->sq_ring; - struct irdma_ring *rq_ring = &qp->rq_ring; - struct irdma_cmpl_gen *cmpl; - __le64 *sw_wqe; - __u64 wqe_qword; - __u32 wqe_idx; - - if (pthread_spin_lock(&iwuqp->send_cq->lock)) - return; - if (irdma_cq_empty(iwuqp->send_cq)) { - while (IRDMA_RING_MORE_WORK(*sq_ring)) { - cmpl = malloc(sizeof(*cmpl)); - if (!cmpl) { - pthread_spin_unlock(&iwuqp->send_cq->lock); - return; - } - - wqe_idx = sq_ring->tail; - irdma_set_cpi_common_values(&cmpl->cpi, qp, qp->qp_id); - cmpl->cpi.wr_id = qp->sq_wrtrk_array[wqe_idx].wrid; - sw_wqe = qp->sq_base[wqe_idx].elem; - get_64bit_val(sw_wqe, 24, &wqe_qword); - cmpl->cpi.op_type = (__u8) FIELD_GET(IRDMAQPSQ_OPCODE, wqe_qword); - /* remove the SQ WR by moving SQ tail */ - IRDMA_RING_SET_TAIL(*sq_ring, sq_ring->tail + qp->sq_wrtrk_array[sq_ring->tail].quanta); - LIST_INSERT_HEAD(&iwuqp->send_cq->cmpl_generated, cmpl, list); - } - } - pthread_spin_unlock(&iwuqp->send_cq->lock); - if (pthread_spin_lock(&iwuqp->recv_cq->lock)) - return; - if (irdma_cq_empty(iwuqp->recv_cq)) { - while (IRDMA_RING_MORE_WORK(*rq_ring)) { - cmpl = malloc(sizeof(*cmpl)); - if (!cmpl) { - pthread_spin_unlock(&iwuqp->recv_cq->lock); - return; - } - - wqe_idx = rq_ring->tail; - irdma_set_cpi_common_values(&cmpl->cpi, qp, qp->qp_id); - cmpl->cpi.wr_id = qp->rq_wrid_array[wqe_idx]; - cmpl->cpi.op_type = IRDMA_OP_TYPE_REC; - /* remove the RQ WR by moving RQ tail */ - IRDMA_RING_SET_TAIL(*rq_ring, rq_ring->tail + 1); - LIST_INSERT_HEAD(&iwuqp->recv_cq->cmpl_generated, cmpl, list); - } - } - pthread_spin_unlock(&iwuqp->recv_cq->lock); -} - -void * -irdma_flush_thread(void *arg) -{ - __u8 i = 5; - struct irdma_uqp *iwuqp = arg; - - while (--i) { - if (pthread_spin_lock(&iwuqp->lock)) - break; - irdma_generate_flush_completions(arg); - pthread_spin_unlock(&iwuqp->lock); - sleep(1); - } - pthread_exit(NULL); -} - /** * irdma_udestroy_cq - destroys cq * @cq: ptr to cq to be destroyed @@ -771,8 +634,6 @@ irdma_udestroy_cq(struct ibv_cq *cq) if (ret) goto err; - if (!LIST_EMPTY(&iwucq->cmpl_generated)) - irdma_remove_cmpls_list(iwucq); irdma_process_resize_list(iwucq, NULL); ret = ibv_cmd_destroy_cq(cq); if (ret) @@ -1016,15 +877,6 @@ __irdma_upoll_cq(struct irdma_ucq *iwucq, int num_entries, while (npolled < num_entries) { ret = irdma_poll_one(&iwucq->cq, cur_cqe, entry ? entry + npolled : NULL); - if (ret == ENOENT) { - ret = irdma_generated_cmpls(iwucq, cur_cqe); - if (!ret) { - if (entry) - irdma_process_cqe(entry + npolled, cur_cqe); - else - irdma_process_cqe_ext(cur_cqe); - } - } if (!ret) { ++npolled; cq_new_cqe = true; @@ -1710,14 +1562,7 @@ irdma_umodify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, int attr_mask) return ret; } else { - int ret; - - ret = ibv_cmd_modify_qp(qp, attr, attr_mask, &cmd, sizeof(cmd)); - if (ret) - return ret; - if (attr_mask & IBV_QP_STATE && attr->qp_state == IBV_QPS_ERR) - pthread_create(&iwuqp->flush_thread, NULL, irdma_flush_thread, iwuqp); - return 0; + return ibv_cmd_modify_qp(qp, attr, attr_mask, &cmd, sizeof(cmd)); } } @@ -1770,10 +1615,6 @@ irdma_udestroy_qp(struct ibv_qp *qp) int ret; iwuqp = container_of(qp, struct irdma_uqp, ibv_qp); - if (iwuqp->flush_thread) { - pthread_cancel(iwuqp->flush_thread); - pthread_join(iwuqp->flush_thread, NULL); - } ret = pthread_spin_destroy(&iwuqp->lock); if (ret) goto err; From nobody Thu Sep 28 22:16:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSWG58SCz4vgyF; Thu, 28 Sep 2023 22:16: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 4RxSWG4h5jz3M7w; Thu, 28 Sep 2023 22:16:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695939402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pYTzDHC/JbRZ1RCO7ijrYKWx5nl74JfM24VEobK07W4=; b=RWyPvSLhTVYtNqjj3VLrDpkWXDYic5mEWKSLIKSE9XUDZXqURqMPTW215Pv4vqebplYONX sbwDQ9BxROCcvS2dw7R8xWCMCXHtoAXTCKyImDcAi0nQ63MVfq7K9Cnlsecxh0EsRb3dyI 5NKGvFoVjv5lr6LP4NjF/gGdd3dhEf2BfDoOuJSneV4xzLshVc3yPsSwGYTIZH/J81N5k6 7lOkNbD0OVKjky50pZ+3pdfhwk/+ajXboaVGPsADAGMkK02ytVDZ56sa0mM3PF724hSX6h NHE/5ird72xiD+a5ntp0TppbSpYhEDsYCUAjJySmJtSEiJujHgzdRbCvsvIJPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695939402; a=rsa-sha256; cv=none; b=TnCFx83Z913kYobd+L1pUllbXe+KfcYRxooTMFUjMaETznXHB3NpOQ4ei9/Zw2ZZaEJZeS W9ZavzvQeGH0aMq1wG/U3BIasegNNyK1fZMyk529gxQwxZyYDc5ghM07wNFB1t4/u6vvmc f+HWVtZSKJ55b71hJCNtxFLRDBe+8GF1ZSCBUJV3p5XqAc3oXfhuj/7Cv52OjZUpvCUWJh RR3cqjTJryXDRscOTD7zNBowoEqSCt6MWjRbtr4B7F84PbN4KC9NEuqp1wJt0GFKjm7v2Z pgCrLzNnc+gRDG5PFE4WsDFb2nI/tXNoTUjipTIbWiBjSGTPJ/KhxhhdgmKx1Q== 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=1695939402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pYTzDHC/JbRZ1RCO7ijrYKWx5nl74JfM24VEobK07W4=; b=JNjTdHAkrbLujMe5rzylyMNvU1TAqYVa1slUqUqOT7IsF2zsztk2v/vlXUuuf0bjgo7ROb Atu3uil0acLeJMPs866BsvWEkVZxcu9Yhh4dRqm8R6IMHTiEwkDcIWyViISR9QtvxFguE3 Asa+yT+ZJzld3gfHXaO7jR9lheLqeM1juVZnbYm44/HdVShqh5P6AvbHzw428BEsvvnKGd baS8bypmGN4BSL4tnAU0kRZDcbU2wKeeqgJasvdoWDLqlcQ/b1/gM7wf9Cv1+j9Ut+O0yQ HJMMgqUv3x5y9X8KoTm6NE4KbhO/csVuna6UbfSiTz3CJkbN6ic6ZbZ92/zMDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSWG3lLczfKl; Thu, 28 Sep 2023 22:16: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 38SMGg0K056222; Thu, 28 Sep 2023 22:16:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMGg1t056219; Thu, 28 Sep 2023 22:16:42 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:16:42 GMT Message-Id: <202309282216.38SMGg1t056219@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: afade1da188e - releng/14.0 - ice(4): Update to 1.38.16-k List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: afade1da188ed3d0d267051aeb357367ca1050c2 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=afade1da188ed3d0d267051aeb357367ca1050c2 commit afade1da188ed3d0d267051aeb357367ca1050c2 Author: Eric Joyner AuthorDate: 2023-08-24 23:26:13 +0000 Commit: Eric Joyner CommitDate: 2023-09-28 22:16:21 +0000 ice(4): Update to 1.38.16-k New features - Add sysctl "link_active_on_if_down" (defaults to 1 to match previous behavior): set this to 0 to have the driver bring the physical link down when the interface is brought administratively down - Add sysctl "temp" to read chip temperature on E810 devices; this requires a 4.30 or newer NVM (see package sysutils/intel-nvmupdate-100g) Bug fixes and general changes - (linked to irdma) properly propagate PF reset request from irdma driver - (linked to irdma) properly notify irdma of an impending PF reset - (linked to irdma) move Protocol Engine error handling to irdma - Print log message when using a DDP that doesn't support the "TX balancing" mode - Block LLDP agent configuration when DSCP QoS mode is enabled - Fix kernel panic when updating NVM when adapter is in the "TX balancing" mode - Remove ice_sbq_cmd.h since it's unused - Fix LLDP RX filter to still allow LLDP frames to be received by SW after a PF reset in SW LLDP mode - Add ice_if_needs_restart handler in order to fix a bad VLAN and link down interaction - Issue PF reset during unload - nvmupdate process fixes - Use pci_msix_table_bar() to get MSI-X bar index at runtime instead of hardcoding it Signed-off-by: Eric Joyner Reviewed by: anzhu@netapp.com Approved by: re (cperciva) Sponsored by: Intel Corporation, NetApp Differential Revision: https://reviews.freebsd.org/D41655 (cherry picked from commit 9c30461dd25bac49045acbeac10e00b6cc13d2bc) (cherry picked from commit 6a196646cd15d56945d751abc82837e065cbcb1a) --- sys/dev/ice/ice_adminq_cmd.h | 123 ++++++---- sys/dev/ice/ice_common.c | 490 +++++++++++++++++++++------------------- sys/dev/ice/ice_common.h | 6 +- sys/dev/ice/ice_controlq.c | 110 ++++----- sys/dev/ice/ice_controlq.h | 3 - sys/dev/ice/ice_dcb.c | 2 +- sys/dev/ice/ice_ddp_common.c | 4 + sys/dev/ice/ice_ddp_common.h | 1 + sys/dev/ice/ice_defs.h | 4 +- sys/dev/ice/ice_features.h | 2 + sys/dev/ice/ice_flow.c | 41 +++- sys/dev/ice/ice_flow.h | 6 +- sys/dev/ice/ice_fw_logging.c | 4 +- sys/dev/ice/ice_fwlog.c | 1 + sys/dev/ice/ice_lan_tx_rx.h | 1 - sys/dev/ice/ice_lib.c | 239 ++++++++++++++++++-- sys/dev/ice/ice_lib.h | 16 +- sys/dev/ice/ice_rdma.c | 16 ++ sys/dev/ice/ice_rdma.h | 80 ++++++- sys/dev/ice/ice_rdma_internal.h | 17 ++ sys/dev/ice/ice_sbq_cmd.h | 120 ---------- sys/dev/ice/ice_sched.c | 104 +++++++-- sys/dev/ice/ice_sched.h | 42 +++- sys/dev/ice/ice_strings.c | 4 + sys/dev/ice/ice_switch.c | 334 +++++++++++++++------------ sys/dev/ice/ice_switch.h | 86 ++++--- sys/dev/ice/ice_type.h | 112 ++++++++- sys/dev/ice/if_ice_iflib.c | 130 +++++++++-- sys/dev/ice/irdma_di_if.m | 5 + sys/dev/ice/irdma_if.m | 4 + sys/dev/ice/virtchnl.h | 2 +- 31 files changed, 1360 insertions(+), 749 deletions(-) diff --git a/sys/dev/ice/ice_adminq_cmd.h b/sys/dev/ice/ice_adminq_cmd.h index 710830e95a16..e4dc14b0162c 100644 --- a/sys/dev/ice/ice_adminq_cmd.h +++ b/sys/dev/ice/ice_adminq_cmd.h @@ -168,6 +168,7 @@ struct ice_aqc_list_caps_elem { #define ICE_AQC_CAPS_LED 0x0061 #define ICE_AQC_CAPS_SDP 0x0062 #define ICE_AQC_CAPS_WR_CSR_PROT 0x0064 +#define ICE_AQC_CAPS_SENSOR_READING 0x0067 #define ICE_AQC_CAPS_LOGI_TO_PHYSI_PORT_MAP 0x0073 #define ICE_AQC_CAPS_SKU 0x0074 #define ICE_AQC_CAPS_PORT_MAP 0x0075 @@ -180,7 +181,8 @@ struct ice_aqc_list_caps_elem { #define ICE_AQC_CAPS_EXT_TOPO_DEV_IMG3 0x0084 #define ICE_AQC_CAPS_TX_SCHED_TOPO_COMP_MODE 0x0085 #define ICE_AQC_CAPS_NAC_TOPOLOGY 0x0087 -#define ICE_AQC_CAPS_DYN_FLATTENING 0x0090 +#define ICE_AQC_CAPS_DYN_FLATTENING 0x008A +#define ICE_AQC_CAPS_OROM_RECOVERY_UPDATE 0x0090 #define ICE_AQC_CAPS_ROCEV2_LAG 0x0092 u8 major_ver; @@ -793,12 +795,30 @@ struct ice_aqc_sw_rules { __le32 addr_low; }; +/* Add switch rule response: + * Content of return buffer is same as the input buffer. The status field and + * LUT index are updated as part of the response + */ +struct ice_aqc_sw_rules_elem_hdr { + __le16 type; /* Switch rule type, one of T_... */ +#define ICE_AQC_SW_RULES_T_LKUP_RX 0x0 +#define ICE_AQC_SW_RULES_T_LKUP_TX 0x1 +#define ICE_AQC_SW_RULES_T_LG_ACT 0x2 +#define ICE_AQC_SW_RULES_T_VSI_LIST_SET 0x3 +#define ICE_AQC_SW_RULES_T_VSI_LIST_CLEAR 0x4 +#define ICE_AQC_SW_RULES_T_PRUNE_LIST_SET 0x5 +#define ICE_AQC_SW_RULES_T_PRUNE_LIST_CLEAR 0x6 + __le16 status; +}; + /* Add/Update/Get/Remove lookup Rx/Tx command/response entry * This structures describes the lookup rules and associated actions. "index" * is returned as part of a response to a successful Add command, and can be * used to identify the rule for Update/Get/Remove commands. */ struct ice_sw_rule_lkup_rx_tx { + struct ice_aqc_sw_rules_elem_hdr hdr; + __le16 recipe_id; #define ICE_SW_RECIPE_LOGICAL_PORT_FWD 10 /* Source port for LOOKUP_RX and source VSI in case of LOOKUP_TX */ @@ -877,14 +897,17 @@ struct ice_sw_rule_lkup_rx_tx { * lookup-type */ __le16 hdr_len; - u8 hdr[STRUCT_HACK_VAR_LEN]; + u8 hdr_data[STRUCT_HACK_VAR_LEN]; }; +#pragma pack(1) /* Add/Update/Remove large action command/response entry * "index" is returned as part of a response to a successful Add command, and * can be used to identify the action for Update/Get/Remove commands. */ struct ice_sw_rule_lg_act { + struct ice_aqc_sw_rules_elem_hdr hdr; + __le16 index; /* Index in large action table */ __le16 size; /* Max number of large actions */ @@ -939,50 +962,30 @@ struct ice_sw_rule_lg_act { #define ICE_LG_ACT_STAT_COUNT_M (0x7F << ICE_LG_ACT_STAT_COUNT_S) __le32 act[STRUCT_HACK_VAR_LEN]; /* array of size for actions */ }; +#pragma pack() +#pragma pack(1) /* Add/Update/Remove VSI list command/response entry * "index" is returned as part of a response to a successful Add command, and * can be used to identify the VSI list for Update/Get/Remove commands. */ struct ice_sw_rule_vsi_list { + struct ice_aqc_sw_rules_elem_hdr hdr; + __le16 index; /* Index of VSI/Prune list */ __le16 number_vsi; __le16 vsi[STRUCT_HACK_VAR_LEN]; /* Array of number_vsi VSI numbers */ }; +#pragma pack() #pragma pack(1) /* Query VSI list command/response entry */ struct ice_sw_rule_vsi_list_query { __le16 index; - ice_declare_bitmap(vsi_list, ICE_MAX_VSI); + u8 vsi_list[DIVIDE_AND_ROUND_UP(ICE_MAX_VSI, BITS_PER_BYTE)]; }; #pragma pack() -#pragma pack(1) -/* Add switch rule response: - * Content of return buffer is same as the input buffer. The status field and - * LUT index are updated as part of the response - */ -struct ice_aqc_sw_rules_elem { - __le16 type; /* Switch rule type, one of T_... */ -#define ICE_AQC_SW_RULES_T_LKUP_RX 0x0 -#define ICE_AQC_SW_RULES_T_LKUP_TX 0x1 -#define ICE_AQC_SW_RULES_T_LG_ACT 0x2 -#define ICE_AQC_SW_RULES_T_VSI_LIST_SET 0x3 -#define ICE_AQC_SW_RULES_T_VSI_LIST_CLEAR 0x4 -#define ICE_AQC_SW_RULES_T_PRUNE_LIST_SET 0x5 -#define ICE_AQC_SW_RULES_T_PRUNE_LIST_CLEAR 0x6 - __le16 status; - union { - struct ice_sw_rule_lkup_rx_tx lkup_tx_rx; - struct ice_sw_rule_lg_act lg_act; - struct ice_sw_rule_vsi_list vsi_list; - struct ice_sw_rule_vsi_list_query vsi_list_query; - } pdata; -}; - -#pragma pack() - /* PFC Ignore (direct 0x0301) * The command and response use the same descriptor structure */ @@ -994,8 +997,8 @@ struct ice_aqc_pfc_ignore { u8 reserved[14]; }; -/* Set PFC Mode (direct 0x0303) - * Query PFC Mode (direct 0x0302) +/* Query PFC Mode (direct 0x0302) + * Set PFC Mode (direct 0x0303) */ struct ice_aqc_set_query_pfc_mode { u8 pfc_mode; @@ -1098,9 +1101,9 @@ struct ice_aqc_txsched_elem { u8 generic; #define ICE_AQC_ELEM_GENERIC_MODE_M 0x1 #define ICE_AQC_ELEM_GENERIC_PRIO_S 0x1 -#define ICE_AQC_ELEM_GENERIC_PRIO_M (0x7 << ICE_AQC_ELEM_GENERIC_PRIO_S) +#define ICE_AQC_ELEM_GENERIC_PRIO_M (0x7 << ICE_AQC_ELEM_GENERIC_PRIO_S) #define ICE_AQC_ELEM_GENERIC_SP_S 0x4 -#define ICE_AQC_ELEM_GENERIC_SP_M (0x1 << ICE_AQC_ELEM_GENERIC_SP_S) +#define ICE_AQC_ELEM_GENERIC_SP_M (0x1 << ICE_AQC_ELEM_GENERIC_SP_S) #define ICE_AQC_ELEM_GENERIC_ADJUST_VAL_S 0x5 #define ICE_AQC_ELEM_GENERIC_ADJUST_VAL_M \ (0x3 << ICE_AQC_ELEM_GENERIC_ADJUST_VAL_S) @@ -1673,6 +1676,32 @@ struct ice_aqc_set_mac_lb { u8 reserved[15]; }; +/* Get sensor reading (direct 0x0632) */ +struct ice_aqc_get_sensor_reading { + u8 sensor; +#define ICE_AQC_INT_TEMP_SENSOR 0x0 + u8 format; +#define ICE_AQC_INT_TEMP_FORMAT 0x0 + u8 reserved[6]; + __le32 addr_high; + __le32 addr_low; +}; + +/* Get sensor reading response (direct 0x0632) */ +struct ice_aqc_get_sensor_reading_resp { + union { + u8 raw[8]; + /* Output data for sensor 0x00, format 0x00 */ + struct { + s8 temp; + u8 temp_warning_threshold; + u8 temp_critical_threshold; + u8 temp_fatal_threshold; + u8 reserved[4]; + } s0f0; + } data; +}; + /* DNL Get Status command (indirect 0x0680) * Structure used for the response, the command uses the generic * ice_aqc_generic struct to pass a buffer address to the FW. @@ -2476,6 +2505,19 @@ struct ice_aqc_get_set_rss_keys { u8 extended_hash_key[ICE_AQC_GET_SET_RSS_KEY_DATA_HASH_KEY_SIZE]; }; +enum ice_lut_type { + ICE_LUT_VSI = 0, + ICE_LUT_PF = 1, + ICE_LUT_GLOBAL = 2, + ICE_LUT_TYPE_MASK = 3 +}; + +enum ice_lut_size { + ICE_LUT_VSI_SIZE = 64, + ICE_LUT_GLOBAL_SIZE = 512, + ICE_LUT_PF_SIZE = 2048, +}; + /* Get/Set RSS LUT (indirect 0x0B05/0x0B03) */ struct ice_aqc_get_set_rss_lut { #define ICE_AQC_GSET_RSS_LUT_VSI_VALID BIT(15) @@ -2484,21 +2526,13 @@ struct ice_aqc_get_set_rss_lut { __le16 vsi_id; #define ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_S 0 #define ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_M \ - (0x3 << ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_S) - -#define ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_VSI 0 -#define ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_PF 1 -#define ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_GLOBAL 2 + (ICE_LUT_TYPE_MASK << ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_S) #define ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_S 2 #define ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_M \ - (0x3 << ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_S) + (ICE_LUT_TYPE_MASK << ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_S) -#define ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_128 128 -#define ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_128_FLAG 0 -#define ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_512 512 #define ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_512_FLAG 1 -#define ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_2K 2048 #define ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_2K_FLAG 2 #define ICE_AQC_GSET_RSS_LUT_GLOBAL_IDX_S 4 @@ -2686,7 +2720,7 @@ struct ice_aqc_move_rdma_qset_buffer { }; /* Download Package (indirect 0x0C40) */ -/* Also used for Update Package (indirect 0x0C42 and 0x0C41) */ +/* Also used for Update Package (indirect 0x0C41 and 0x0C42) */ struct ice_aqc_download_pkg { u8 flags; #define ICE_AQC_DOWNLOAD_PKG_LAST_BUF 0x01 @@ -2989,6 +3023,8 @@ struct ice_aq_desc { struct ice_aqc_get_phy_caps get_phy; struct ice_aqc_set_phy_cfg set_phy; struct ice_aqc_restart_an restart_an; + struct ice_aqc_get_sensor_reading get_sensor_reading; + struct ice_aqc_get_sensor_reading_resp get_sensor_reading_resp; struct ice_aqc_dnl_get_status get_status; struct ice_aqc_dnl_run_command dnl_run; struct ice_aqc_dnl_call_command dnl_call; @@ -3239,6 +3275,7 @@ enum ice_adminq_opc { ice_aqc_opc_get_link_status = 0x0607, ice_aqc_opc_set_event_mask = 0x0613, ice_aqc_opc_set_mac_lb = 0x0620, + ice_aqc_opc_get_sensor_reading = 0x0632, ice_aqc_opc_dnl_get_status = 0x0680, ice_aqc_opc_dnl_run = 0x0681, ice_aqc_opc_dnl_call = 0x0682, diff --git a/sys/dev/ice/ice_common.c b/sys/dev/ice/ice_common.c index a3f50f251533..0df73583e137 100644 --- a/sys/dev/ice/ice_common.c +++ b/sys/dev/ice/ice_common.c @@ -343,6 +343,88 @@ ice_aq_manage_mac_read(struct ice_hw *hw, void *buf, u16 buf_size, return ICE_SUCCESS; } +/** + * ice_phy_maps_to_media + * @phy_type_low: PHY type low bits + * @phy_type_high: PHY type high bits + * @media_mask_low: media type PHY type low bitmask + * @media_mask_high: media type PHY type high bitmask + * + * Return true if PHY type [low|high] bits are only of media type PHY types + * [low|high] bitmask. + */ +static bool +ice_phy_maps_to_media(u64 phy_type_low, u64 phy_type_high, + u64 media_mask_low, u64 media_mask_high) +{ + /* check if a PHY type exist for media type */ + if (!(phy_type_low & media_mask_low || + phy_type_high & media_mask_high)) + return false; + + /* check that PHY types are only of media type */ + if (!(phy_type_low & ~media_mask_low) && + !(phy_type_high & ~media_mask_high)) + return true; + + return false; +} + +/** + * ice_set_media_type - Sets media type + * @pi: port information structure + * + * Set ice_port_info PHY media type based on PHY type. This should be called + * from Get PHY caps with media. + */ +static void ice_set_media_type(struct ice_port_info *pi) +{ + enum ice_media_type *media_type; + u64 phy_type_high, phy_type_low; + + phy_type_high = pi->phy.phy_type_high; + phy_type_low = pi->phy.phy_type_low; + media_type = &pi->phy.media_type; + + /* if no media, then media type is NONE */ + if (!(pi->phy.link_info.link_info & ICE_AQ_MEDIA_AVAILABLE)) + *media_type = ICE_MEDIA_NONE; + /* else if PHY types are only BASE-T, then media type is BASET */ + else if (ice_phy_maps_to_media(phy_type_low, phy_type_high, + ICE_MEDIA_BASET_PHY_TYPE_LOW_M, 0)) + *media_type = ICE_MEDIA_BASET; + /* else if any PHY type is BACKPLANE, then media type is BACKPLANE */ + else if (phy_type_low & ICE_MEDIA_BP_PHY_TYPE_LOW_M || + phy_type_high & ICE_MEDIA_BP_PHY_TYPE_HIGH_M) + *media_type = ICE_MEDIA_BACKPLANE; + /* else if PHY types are only optical, or optical and C2M, then media + * type is FIBER + */ + else if (ice_phy_maps_to_media(phy_type_low, phy_type_high, + ICE_MEDIA_OPT_PHY_TYPE_LOW_M, 0) || + (phy_type_low & ICE_MEDIA_OPT_PHY_TYPE_LOW_M && + phy_type_low & ICE_MEDIA_C2M_PHY_TYPE_LOW_M)) + *media_type = ICE_MEDIA_FIBER; + /* else if PHY types are only DA, or DA and C2C, then media type DA */ + else if (ice_phy_maps_to_media(phy_type_low, phy_type_high, + ICE_MEDIA_DAC_PHY_TYPE_LOW_M, 0) || + (phy_type_low & ICE_MEDIA_DAC_PHY_TYPE_LOW_M && + (phy_type_low & ICE_MEDIA_C2C_PHY_TYPE_LOW_M || + phy_type_high & ICE_MEDIA_C2C_PHY_TYPE_HIGH_M))) + *media_type = ICE_MEDIA_DA; + /* else if PHY types are only C2M or only C2C, then media is AUI */ + else if (ice_phy_maps_to_media(phy_type_low, phy_type_high, + ICE_MEDIA_C2M_PHY_TYPE_LOW_M, + ICE_MEDIA_C2M_PHY_TYPE_HIGH_M) || + ice_phy_maps_to_media(phy_type_low, phy_type_high, + ICE_MEDIA_C2C_PHY_TYPE_LOW_M, + ICE_MEDIA_C2C_PHY_TYPE_HIGH_M)) + *media_type = ICE_MEDIA_AUI; + + else + *media_type = ICE_MEDIA_UNKNOWN; +} + /** * ice_aq_get_phy_caps - returns PHY capabilities * @pi: port information structure @@ -434,6 +516,9 @@ ice_aq_get_phy_caps(struct ice_port_info *pi, bool qual_mods, u8 report_mode, ice_memcpy(pi->phy.link_info.module_type, &pcaps->module_type, sizeof(pi->phy.link_info.module_type), ICE_NONDMA_TO_NONDMA); + ice_set_media_type(pi); + ice_debug(hw, ICE_DBG_LINK, "%s: media_type = 0x%x\n", prefix, + pi->phy.media_type); } return status; @@ -513,156 +598,6 @@ ice_find_netlist_node(struct ice_hw *hw, u8 node_type_ctx, u8 node_part_number, return ICE_ERR_DOES_NOT_EXIST; } -/** - * ice_is_media_cage_present - * @pi: port information structure - * - * Returns true if media cage is present, else false. If no cage, then - * media type is backplane or BASE-T. - */ -static bool ice_is_media_cage_present(struct ice_port_info *pi) -{ - struct ice_aqc_get_link_topo *cmd; - struct ice_aq_desc desc; - - cmd = &desc.params.get_link_topo; - - ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_get_link_topo); - - cmd->addr.topo_params.node_type_ctx = - (ICE_AQC_LINK_TOPO_NODE_CTX_PORT << - ICE_AQC_LINK_TOPO_NODE_CTX_S); - - /* set node type */ - cmd->addr.topo_params.node_type_ctx |= - (ICE_AQC_LINK_TOPO_NODE_TYPE_M & - ICE_AQC_LINK_TOPO_NODE_TYPE_CAGE); - - /* Node type cage can be used to determine if cage is present. If AQC - * returns error (ENOENT), then no cage present. If no cage present then - * connection type is backplane or BASE-T. - */ - return ice_aq_get_netlist_node(pi->hw, cmd, NULL, NULL); -} - -/** - * ice_get_media_type - Gets media type - * @pi: port information structure - */ -static enum ice_media_type ice_get_media_type(struct ice_port_info *pi) -{ - struct ice_link_status *hw_link_info; - - if (!pi) - return ICE_MEDIA_UNKNOWN; - - hw_link_info = &pi->phy.link_info; - if (hw_link_info->phy_type_low && hw_link_info->phy_type_high) - /* If more than one media type is selected, report unknown */ - return ICE_MEDIA_UNKNOWN; - - if (hw_link_info->phy_type_low) { - /* 1G SGMII is a special case where some DA cable PHYs - * may show this as an option when it really shouldn't - * be since SGMII is meant to be between a MAC and a PHY - * in a backplane. Try to detect this case and handle it - */ - if (hw_link_info->phy_type_low == ICE_PHY_TYPE_LOW_1G_SGMII && - (hw_link_info->module_type[ICE_AQC_MOD_TYPE_IDENT] == - ICE_AQC_MOD_TYPE_BYTE1_SFP_PLUS_CU_ACTIVE || - hw_link_info->module_type[ICE_AQC_MOD_TYPE_IDENT] == - ICE_AQC_MOD_TYPE_BYTE1_SFP_PLUS_CU_PASSIVE)) - return ICE_MEDIA_DA; - - switch (hw_link_info->phy_type_low) { - case ICE_PHY_TYPE_LOW_1000BASE_SX: - case ICE_PHY_TYPE_LOW_1000BASE_LX: - case ICE_PHY_TYPE_LOW_10GBASE_SR: - case ICE_PHY_TYPE_LOW_10GBASE_LR: - case ICE_PHY_TYPE_LOW_25GBASE_SR: - case ICE_PHY_TYPE_LOW_25GBASE_LR: - case ICE_PHY_TYPE_LOW_40GBASE_SR4: - case ICE_PHY_TYPE_LOW_40GBASE_LR4: - case ICE_PHY_TYPE_LOW_50GBASE_SR2: - case ICE_PHY_TYPE_LOW_50GBASE_LR2: - case ICE_PHY_TYPE_LOW_50GBASE_SR: - case ICE_PHY_TYPE_LOW_50GBASE_FR: - case ICE_PHY_TYPE_LOW_50GBASE_LR: - case ICE_PHY_TYPE_LOW_100GBASE_SR4: - case ICE_PHY_TYPE_LOW_100GBASE_LR4: - case ICE_PHY_TYPE_LOW_100GBASE_SR2: - case ICE_PHY_TYPE_LOW_100GBASE_DR: - return ICE_MEDIA_FIBER; - case ICE_PHY_TYPE_LOW_10G_SFI_AOC_ACC: - case ICE_PHY_TYPE_LOW_25G_AUI_AOC_ACC: - case ICE_PHY_TYPE_LOW_40G_XLAUI_AOC_ACC: - case ICE_PHY_TYPE_LOW_50G_LAUI2_AOC_ACC: - case ICE_PHY_TYPE_LOW_50G_AUI2_AOC_ACC: - case ICE_PHY_TYPE_LOW_50G_AUI1_AOC_ACC: - case ICE_PHY_TYPE_LOW_100G_CAUI4_AOC_ACC: - case ICE_PHY_TYPE_LOW_100G_AUI4_AOC_ACC: - return ICE_MEDIA_FIBER; - case ICE_PHY_TYPE_LOW_100BASE_TX: - case ICE_PHY_TYPE_LOW_1000BASE_T: - case ICE_PHY_TYPE_LOW_2500BASE_T: - case ICE_PHY_TYPE_LOW_5GBASE_T: - case ICE_PHY_TYPE_LOW_10GBASE_T: - case ICE_PHY_TYPE_LOW_25GBASE_T: - return ICE_MEDIA_BASET; - case ICE_PHY_TYPE_LOW_10G_SFI_DA: - case ICE_PHY_TYPE_LOW_25GBASE_CR: - case ICE_PHY_TYPE_LOW_25GBASE_CR_S: - case ICE_PHY_TYPE_LOW_25GBASE_CR1: - case ICE_PHY_TYPE_LOW_40GBASE_CR4: - case ICE_PHY_TYPE_LOW_50GBASE_CR2: - case ICE_PHY_TYPE_LOW_50GBASE_CP: - case ICE_PHY_TYPE_LOW_100GBASE_CR4: - case ICE_PHY_TYPE_LOW_100GBASE_CR_PAM4: - case ICE_PHY_TYPE_LOW_100GBASE_CP2: - return ICE_MEDIA_DA; - case ICE_PHY_TYPE_LOW_25G_AUI_C2C: - case ICE_PHY_TYPE_LOW_40G_XLAUI: - case ICE_PHY_TYPE_LOW_50G_LAUI2: - case ICE_PHY_TYPE_LOW_50G_AUI2: - case ICE_PHY_TYPE_LOW_50G_AUI1: - case ICE_PHY_TYPE_LOW_100G_AUI4: - case ICE_PHY_TYPE_LOW_100G_CAUI4: - if (ice_is_media_cage_present(pi)) - return ICE_MEDIA_AUI; - /* fall-through */ - case ICE_PHY_TYPE_LOW_1000BASE_KX: - case ICE_PHY_TYPE_LOW_2500BASE_KX: - case ICE_PHY_TYPE_LOW_2500BASE_X: - case ICE_PHY_TYPE_LOW_5GBASE_KR: - case ICE_PHY_TYPE_LOW_10GBASE_KR_CR1: - case ICE_PHY_TYPE_LOW_10G_SFI_C2C: - case ICE_PHY_TYPE_LOW_25GBASE_KR: - case ICE_PHY_TYPE_LOW_25GBASE_KR1: - case ICE_PHY_TYPE_LOW_25GBASE_KR_S: - case ICE_PHY_TYPE_LOW_40GBASE_KR4: - case ICE_PHY_TYPE_LOW_50GBASE_KR_PAM4: - case ICE_PHY_TYPE_LOW_50GBASE_KR2: - case ICE_PHY_TYPE_LOW_100GBASE_KR4: - case ICE_PHY_TYPE_LOW_100GBASE_KR_PAM4: - return ICE_MEDIA_BACKPLANE; - } - } else { - switch (hw_link_info->phy_type_high) { - case ICE_PHY_TYPE_HIGH_100G_AUI2: - case ICE_PHY_TYPE_HIGH_100G_CAUI2: - if (ice_is_media_cage_present(pi)) - return ICE_MEDIA_AUI; - /* fall-through */ - case ICE_PHY_TYPE_HIGH_100GBASE_KR2_PAM4: - return ICE_MEDIA_BACKPLANE; - case ICE_PHY_TYPE_HIGH_100G_CAUI2_AOC_ACC: - case ICE_PHY_TYPE_HIGH_100G_AUI2_AOC_ACC: - return ICE_MEDIA_FIBER; - } - } - return ICE_MEDIA_UNKNOWN; -} - #define ice_get_link_status_datalen(hw) ICE_GET_LINK_STATUS_DATALEN_V1 /** @@ -681,7 +616,6 @@ ice_aq_get_link_info(struct ice_port_info *pi, bool ena_lse, struct ice_aqc_get_link_status_data link_data = { 0 }; struct ice_aqc_get_link_status *resp; struct ice_link_status *li_old, *li; - enum ice_media_type *hw_media_type; struct ice_fc_info *hw_fc_info; bool tx_pause, rx_pause; struct ice_aq_desc desc; @@ -694,7 +628,6 @@ ice_aq_get_link_info(struct ice_port_info *pi, bool ena_lse, hw = pi->hw; li_old = &pi->phy.link_info_old; - hw_media_type = &pi->phy.media_type; li = &pi->phy.link_info; hw_fc_info = &pi->fc; @@ -716,7 +649,6 @@ ice_aq_get_link_info(struct ice_port_info *pi, bool ena_lse, li->link_speed = LE16_TO_CPU(link_data.link_speed); li->phy_type_low = LE64_TO_CPU(link_data.phy_type_low); li->phy_type_high = LE64_TO_CPU(link_data.phy_type_high); - *hw_media_type = ice_get_media_type(pi); li->link_info = link_data.link_info; li->link_cfg_err = link_data.link_cfg_err; li->an_info = link_data.an_info; @@ -747,7 +679,6 @@ ice_aq_get_link_info(struct ice_port_info *pi, bool ena_lse, (unsigned long long)li->phy_type_low); ice_debug(hw, ICE_DBG_LINK, " phy_type_high = 0x%llx\n", (unsigned long long)li->phy_type_high); - ice_debug(hw, ICE_DBG_LINK, " media_type = 0x%x\n", *hw_media_type); ice_debug(hw, ICE_DBG_LINK, " link_info = 0x%x\n", li->link_info); ice_debug(hw, ICE_DBG_LINK, " link_cfg_err = 0x%x\n", li->link_cfg_err); ice_debug(hw, ICE_DBG_LINK, " an_info = 0x%x\n", li->an_info); @@ -1066,7 +997,8 @@ enum ice_status ice_init_hw(struct ice_hw *hw) if (status) goto err_unroll_cqinit; - hw->port_info = (struct ice_port_info *) + if (!hw->port_info) + hw->port_info = (struct ice_port_info *) ice_malloc(hw, sizeof(*hw->port_info)); if (!hw->port_info) { status = ICE_ERR_NO_MEMORY; @@ -1205,7 +1137,7 @@ void ice_deinit_hw(struct ice_hw *hw) */ enum ice_status ice_check_reset(struct ice_hw *hw) { - u32 cnt, reg = 0, grst_timeout, uld_mask; + u32 cnt, reg = 0, grst_timeout, uld_mask, reset_wait_cnt; /* Poll for Device Active state in case a recent CORER, GLOBR, * or EMPR has occurred. The grst delay value is in 100ms units. @@ -1237,8 +1169,10 @@ enum ice_status ice_check_reset(struct ice_hw *hw) uld_mask = ICE_RESET_DONE_MASK | (hw->func_caps.common_cap.iwarp ? GLNVM_ULD_PE_DONE_M : 0); + reset_wait_cnt = ICE_PF_RESET_WAIT_COUNT; + /* Device is Active; check Global Reset processes are done */ - for (cnt = 0; cnt < ICE_PF_RESET_WAIT_COUNT; cnt++) { + for (cnt = 0; cnt < reset_wait_cnt; cnt++) { reg = rd32(hw, GLNVM_ULD) & uld_mask; if (reg == uld_mask) { ice_debug(hw, ICE_DBG_INIT, "Global reset processes done. %d\n", cnt); @@ -1247,7 +1181,7 @@ enum ice_status ice_check_reset(struct ice_hw *hw) ice_msec_delay(10, true); } - if (cnt == ICE_PF_RESET_WAIT_COUNT) { + if (cnt == reset_wait_cnt) { ice_debug(hw, ICE_DBG_INIT, "Wait for Reset Done timed out. GLNVM_ULD = 0x%x\n", reg); return ICE_ERR_RESET_FAILED; @@ -1265,7 +1199,7 @@ enum ice_status ice_check_reset(struct ice_hw *hw) */ static enum ice_status ice_pf_reset(struct ice_hw *hw) { - u32 cnt, reg; + u32 cnt, reg, reset_wait_cnt, cfg_lock_timeout; /* If at function entry a global reset was already in progress, i.e. * state is not 'device active' or any of the reset done bits are not @@ -1290,8 +1224,10 @@ static enum ice_status ice_pf_reset(struct ice_hw *hw) * timeout plus the PFR timeout which will account for a possible reset * that is occurring during a download package operation. */ - for (cnt = 0; cnt < ICE_GLOBAL_CFG_LOCK_TIMEOUT + - ICE_PF_RESET_WAIT_COUNT; cnt++) { + reset_wait_cnt = ICE_PF_RESET_WAIT_COUNT; + cfg_lock_timeout = ICE_GLOBAL_CFG_LOCK_TIMEOUT; + + for (cnt = 0; cnt < cfg_lock_timeout + reset_wait_cnt; cnt++) { reg = rd32(hw, PFGEN_CTRL); if (!(reg & PFGEN_CTRL_PFSWR_M)) break; @@ -1299,7 +1235,7 @@ static enum ice_status ice_pf_reset(struct ice_hw *hw) ice_msec_delay(1, true); } - if (cnt == ICE_PF_RESET_WAIT_COUNT) { + if (cnt == cfg_lock_timeout + reset_wait_cnt) { ice_debug(hw, ICE_DBG_INIT, "PF reset polling failed to complete.\n"); return ICE_ERR_RESET_FAILED; } @@ -2452,6 +2388,11 @@ ice_parse_common_caps(struct ice_hw *hw, struct ice_hw_common_caps *caps, true : false; ice_debug(hw, ICE_DBG_INIT, "%s: nvm_unified_update = %d\n", prefix, caps->nvm_unified_update); + caps->netlist_auth = + (number & ICE_NVM_MGMT_NETLIST_AUTH_SUPPORT) ? + true : false; + ice_debug(hw, ICE_DBG_INIT, "%s: netlist_auth = %d\n", prefix, + caps->netlist_auth); break; case ICE_AQC_CAPS_CEM: caps->mgmt_cem = (number == 1); @@ -2534,6 +2475,8 @@ ice_parse_common_caps(struct ice_hw *hw, struct ice_hw_common_caps *caps, (phys_id & ICE_EXT_TOPO_DEV_IMG_LOAD_EN) != 0; caps->ext_topo_dev_img_prog_en[index] = (phys_id & ICE_EXT_TOPO_DEV_IMG_PROG_EN) != 0; + caps->ext_topo_dev_img_ver_schema[index] = + (phys_id & ICE_EXT_TOPO_DEV_IMG_VER_SCHEMA) != 0; ice_debug(hw, ICE_DBG_INIT, "%s: ext_topo_dev_img_ver_high[%d] = %d\n", prefix, index, @@ -2554,6 +2497,10 @@ ice_parse_common_caps(struct ice_hw *hw, struct ice_hw_common_caps *caps, "%s: ext_topo_dev_img_prog_en[%d] = %d\n", prefix, index, caps->ext_topo_dev_img_prog_en[index]); + ice_debug(hw, ICE_DBG_INIT, + "%s: ext_topo_dev_img_ver_schema[%d] = %d\n", + prefix, index, + caps->ext_topo_dev_img_ver_schema[index]); break; } case ICE_AQC_CAPS_TX_SCHED_TOPO_COMP_MODE: @@ -2564,6 +2511,11 @@ ice_parse_common_caps(struct ice_hw *hw, struct ice_hw_common_caps *caps, ice_debug(hw, ICE_DBG_INIT, "%s: dyn_flattening_en = %d\n", prefix, caps->dyn_flattening_en); break; + case ICE_AQC_CAPS_OROM_RECOVERY_UPDATE: + caps->orom_recovery_update = (number == 1); + ice_debug(hw, ICE_DBG_INIT, "%s: orom_recovery_update = %d\n", + prefix, caps->orom_recovery_update); + break; default: /* Not one of the recognized common capabilities */ found = false; @@ -2782,6 +2734,26 @@ ice_parse_nac_topo_dev_caps(struct ice_hw *hw, struct ice_hw_dev_caps *dev_p, dev_p->nac_topo.id); } +/** + * ice_parse_sensor_reading_cap - Parse ICE_AQC_CAPS_SENSOR_READING cap + * @hw: pointer to the HW struct + * @dev_p: pointer to device capabilities structure + * @cap: capability element to parse + * + * Parse ICE_AQC_CAPS_SENSOR_READING for device capability for reading + * enabled sensors. + */ +static void +ice_parse_sensor_reading_cap(struct ice_hw *hw, struct ice_hw_dev_caps *dev_p, + struct ice_aqc_list_caps_elem *cap) +{ + dev_p->supported_sensors = LE32_TO_CPU(cap->number); + + ice_debug(hw, ICE_DBG_INIT, + "dev caps: supported sensors (bitmap) = 0x%x\n", + dev_p->supported_sensors); +} + /** * ice_parse_dev_caps - Parse device capabilities * @hw: pointer to the HW struct @@ -2827,6 +2799,9 @@ ice_parse_dev_caps(struct ice_hw *hw, struct ice_hw_dev_caps *dev_p, case ICE_AQC_CAPS_NAC_TOPOLOGY: ice_parse_nac_topo_dev_caps(hw, dev_p, &cap_resp[i]); break; + case ICE_AQC_CAPS_SENSOR_READING: + ice_parse_sensor_reading_cap(hw, dev_p, &cap_resp[i]); + break; default: /* Don't list common capabilities as unknown */ if (!found) @@ -3776,8 +3751,10 @@ ice_cfg_phy_fec(struct ice_port_info *pi, struct ice_aqc_set_phy_cfg_data *cfg, break; case ICE_FEC_DIS_AUTO: /* Set No FEC and auto FEC */ - if (!ice_fw_supports_fec_dis_auto(hw)) - return ICE_ERR_NOT_SUPPORTED; + if (!ice_fw_supports_fec_dis_auto(hw)) { + status = ICE_ERR_NOT_SUPPORTED; + goto out; + } cfg->link_fec_opt |= ICE_AQC_PHY_FEC_DIS; /* fall-through */ case ICE_FEC_AUTO: @@ -3852,6 +3829,7 @@ enum ice_status ice_aq_set_link_restart_an(struct ice_port_info *pi, bool ena_link, struct ice_sq_cd *cd) { + enum ice_status status = ICE_ERR_AQ_ERROR; struct ice_aqc_restart_an *cmd; struct ice_aq_desc desc; @@ -3866,7 +3844,16 @@ ice_aq_set_link_restart_an(struct ice_port_info *pi, bool ena_link, else cmd->cmd_flags &= ~ICE_AQC_RESTART_AN_LINK_ENABLE; - return ice_aq_send_cmd(pi->hw, &desc, NULL, 0, cd); + status = ice_aq_send_cmd(pi->hw, &desc, NULL, 0, cd); + if (status) + return status; + + if (ena_link) + pi->phy.curr_user_phy_cfg.caps |= ICE_AQC_PHY_EN_LINK; + else + pi->phy.curr_user_phy_cfg.caps &= ~ICE_AQC_PHY_EN_LINK; + + return ICE_SUCCESS; } /** @@ -4062,6 +4049,51 @@ ice_aq_read_topo_dev_nvm(struct ice_hw *hw, return ICE_SUCCESS; } +static u16 ice_lut_type_to_size(u16 lut_type) +{ + switch (lut_type) { + case ICE_LUT_VSI: + return ICE_LUT_VSI_SIZE; + case ICE_LUT_GLOBAL: + return ICE_LUT_GLOBAL_SIZE; + case ICE_LUT_PF: + return ICE_LUT_PF_SIZE; + default: + return 0; + } +} + +static u16 ice_lut_size_to_flag(u16 lut_size) +{ + u16 f = 0; + + switch (lut_size) { + case ICE_LUT_GLOBAL_SIZE: + f = ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_512_FLAG; + break; + case ICE_LUT_PF_SIZE: + f = ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_2K_FLAG; + break; + default: + break; + } + return f << ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_S; +} + +int ice_lut_size_to_type(int lut_size) +{ + switch (lut_size) { + case ICE_LUT_VSI_SIZE: + return ICE_LUT_VSI; + case ICE_LUT_GLOBAL_SIZE: + return ICE_LUT_GLOBAL; + case ICE_LUT_PF_SIZE: + return ICE_LUT_PF; + default: + return -1; + } +} + /** * __ice_aq_get_set_rss_lut * @hw: pointer to the hardware structure @@ -4073,7 +4105,7 @@ ice_aq_read_topo_dev_nvm(struct ice_hw *hw, static enum ice_status __ice_aq_get_set_rss_lut(struct ice_hw *hw, struct ice_aq_get_set_rss_lut_params *params, bool set) { - u16 flags = 0, vsi_id, lut_type, lut_size, glob_lut_idx, vsi_handle; + u16 flags, vsi_id, lut_type, lut_size, glob_lut_idx = 0, vsi_handle; struct ice_aqc_get_set_rss_lut *cmd_resp; struct ice_aq_desc desc; enum ice_status status; @@ -4084,16 +4116,22 @@ __ice_aq_get_set_rss_lut(struct ice_hw *hw, struct ice_aq_get_set_rss_lut_params vsi_handle = params->vsi_handle; lut = params->lut; + lut_type = params->lut_type; + lut_size = ice_lut_type_to_size(lut_type); + cmd_resp = &desc.params.get_set_rss_lut; + if (lut_type == ICE_LUT_GLOBAL) + glob_lut_idx = params->global_lut_id; - if (!ice_is_vsi_valid(hw, vsi_handle) || !lut) + if (!lut || !lut_size || !ice_is_vsi_valid(hw, vsi_handle)) return ICE_ERR_PARAM; - lut_size = params->lut_size; - lut_type = params->lut_type; - glob_lut_idx = params->global_lut_id; - vsi_id = ice_get_hw_vsi_num(hw, vsi_handle); + if (lut_size > params->lut_size) + return ICE_ERR_INVAL_SIZE; - cmd_resp = &desc.params.get_set_rss_lut; + if (set && lut_size != params->lut_size) + return ICE_ERR_PARAM; + + vsi_id = ice_get_hw_vsi_num(hw, vsi_handle); if (set) { ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_set_rss_lut); @@ -4107,61 +4145,15 @@ __ice_aq_get_set_rss_lut(struct ice_hw *hw, struct ice_aq_get_set_rss_lut_params ICE_AQC_GSET_RSS_LUT_VSI_ID_M) | ICE_AQC_GSET_RSS_LUT_VSI_VALID); - switch (lut_type) { - case ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_VSI: - case ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_PF: - case ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_GLOBAL: - flags |= ((lut_type << ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_S) & - ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_M); - break; - default: - status = ICE_ERR_PARAM; - goto ice_aq_get_set_rss_lut_exit; - } - - if (lut_type == ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_GLOBAL) { - flags |= ((glob_lut_idx << ICE_AQC_GSET_RSS_LUT_GLOBAL_IDX_S) & - ICE_AQC_GSET_RSS_LUT_GLOBAL_IDX_M); + flags = ice_lut_size_to_flag(lut_size) | + ((lut_type << ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_S) & + ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_M) | + ((glob_lut_idx << ICE_AQC_GSET_RSS_LUT_GLOBAL_IDX_S) & + ICE_AQC_GSET_RSS_LUT_GLOBAL_IDX_M); - if (!set) - goto ice_aq_get_set_rss_lut_send; - } else if (lut_type == ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_PF) { - if (!set) - goto ice_aq_get_set_rss_lut_send; - } else { - goto ice_aq_get_set_rss_lut_send; - } - - /* LUT size is only valid for Global and PF table types */ - switch (lut_size) { - case ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_128: - flags |= (ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_128_FLAG << - ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_S) & - ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_M; - break; - case ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_512: - flags |= (ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_512_FLAG << - ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_S) & - ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_M; - break; - case ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_2K: - if (lut_type == ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_PF) { - flags |= (ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_2K_FLAG << - ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_S) & - ICE_AQC_GSET_RSS_LUT_TABLE_SIZE_M; - break; - } - /* fall-through */ - default: - status = ICE_ERR_PARAM; - goto ice_aq_get_set_rss_lut_exit; - } - -ice_aq_get_set_rss_lut_send: cmd_resp->flags = CPU_TO_LE16(flags); status = ice_aq_send_cmd(hw, &desc, lut, lut_size, NULL); - -ice_aq_get_set_rss_lut_exit: + params->lut_size = LE16_TO_CPU(desc.datalen); return status; } @@ -5155,7 +5147,7 @@ ice_ena_vsi_txq(struct ice_port_info *pi, u16 vsi_handle, u8 tc, u16 q_handle, q_ctx->q_teid = LE32_TO_CPU(node.node_teid); /* add a leaf node into scheduler tree queue layer */ - status = ice_sched_add_node(pi, hw->num_tx_sched_layers - 1, &node); + status = ice_sched_add_node(pi, hw->num_tx_sched_layers - 1, &node, NULL); if (!status) status = ice_sched_replay_q_bw(pi, q_ctx); @@ -5390,7 +5382,7 @@ ice_ena_vsi_rdma_qset(struct ice_port_info *pi, u16 vsi_handle, u8 tc, for (i = 0; i < num_qsets; i++) { node.node_teid = buf->rdma_qsets[i].qset_teid; *** 3427 LINES SKIPPED *** From nobody Thu Sep 28 22:28:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmR6BpDz4vhW9; Thu, 28 Sep 2023 22: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 4RxSmR5g9lz3QDS; Thu, 28 Sep 2023 22: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=1695940087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i40I3sZMFtmJOsR482DEblvxZLBadQqk4ZRkxkd+s1w=; b=Vn/vtuSU36ODJU2n5AwPn+OduyrJZKp9Ac4hnyMXiD+fyNBswLI7Q10M+M87JC4vRZkU4q +V1I4bmnVXFfFgjfGm0E47PLjlrd/9BXyCLsNV4B8fZIzcgMbauXFlW03uqfC/sr0M390+ 3Cesoi/9vnDuvnrwNmPIj55MGsrNCPBAcAD/mInLcEuxD32R+QNrszENXtdEziBMeyQ9KM jyF6KmQmA956+XCRDmCy2ruSgzF9/YSeUsAC2/Cw/aP6o50v1d4mTLLv/yvUkRnm8IkRMM xGZP0YJjaxicrTROqkgT1m1TjXKPUp7TIXbDgOEQ80/WP0hwieI5zCJReykxrw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940087; a=rsa-sha256; cv=none; b=nICBC+xTMXZqj6YoHpwWWpRhIRSEnCYzlo9yMLN+fhmU141IOWLTFxaAG3kBFc5Zb+Xmoq q9oLG+QIBgmOFU6hnVkIcIIWIBiUK3Fx99JeMEpgCw+fW3xPqrsClvSKvEqMYQ5ABDP0AM pVUuVCIDypNYK/iXkRLfVfBfhQ+5qsh7nBoxFbLP+grDZcOvO4x3WyD5oxL+3nDdoVI14a nzZjfGuTSgv75eZhCdkucHeN06Vhp4YFz6xTwgnln1ckn+3eR82JcyQxsUhuLont705bkf FvCVjL05uUmvM96jNonvX27cKWR9FYChtrzw6aw3ahQJ5bqvZcUiWCejXmth9A== 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=1695940087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i40I3sZMFtmJOsR482DEblvxZLBadQqk4ZRkxkd+s1w=; b=aT7L+sKVYXEXDBvz8HD9ZevYagSK5fc3VFhLWTxQ+mCsVvsJEEYBw2rihdYpQSQ5vuAXba eTpZ3SY/8sMZQ+XKx8GmGBnOK2YpWt+50UW5azRR8bEEdCOkPgbQSzI8cUXdm559q1NW/X TSHi9+4NZX69ZstNxRyaEnNw+imhqm0s6fdWeXRMOwe8gSnV5DpAW2omVMIgwS5OYDOZ/q DYKBm6flJfvog0iYdKlwqh9zCkj/o9zz2K2PMAXsxOvCaycv9MzBQ9+BkGYa0MP5X0bvh2 ctRPhB47rAMsFPirsfsiLGYC6fFCmP+xJSdh+KWjcYEonIm2mncSjEyIKYv5Vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmR4jqmzg8s; Thu, 28 Sep 2023 22:28:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38SMS7BS073611; Thu, 28 Sep 2023 22:28:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMS7KX073608; Thu, 28 Sep 2023 22:28:07 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:07 GMT Message-Id: <202309282228.38SMS7KX073608@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: a040e43c1a89 - releng/14.0 - nvme: Timeout expired transactions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: a040e43c1a899945755493452bfe87c29ee64a93 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a040e43c1a899945755493452bfe87c29ee64a93 commit a040e43c1a899945755493452bfe87c29ee64a93 Author: Warner Losh AuthorDate: 2023-09-28 20:45:49 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:25:59 +0000 nvme: Timeout expired transactions When we went to having a shared timeout routine, failing the timed-out transaction code was inadvertantly dropped. Reinstate it. Fixes: 502dc84a8b670 Sponsored by: Netflix MFC After: 2 weeks Reviewed by: chuck, jhb Differential Revision: https://reviews.freebsd.org/D36921 (cherry picked from commit 2a6b7055a980f7e7543dfdbda4aa0c356133b77d) (cherry picked from commit a276199fef37b04b8b3678eab90f0c33095a6c4d) Approved-by: re (cperciva) --- sys/dev/nvme/nvme_qpair.c | 60 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 45a999c17d89..0ad0b7cbe17f 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -944,6 +944,30 @@ nvme_io_qpair_destroy(struct nvme_qpair *qpair) nvme_qpair_destroy(qpair); } +static void +nvme_abort_complete(void *arg, const struct nvme_completion *status) +{ + struct nvme_tracker *tr = arg; + + /* + * If cdw0 == 1, the controller was not able to abort the command + * we requested. We still need to check the active tracker array, + * to cover race where I/O timed out at same time controller was + * completing the I/O. + */ + if (status->cdw0 == 1 && tr->qpair->act_tr[tr->cid] != NULL) { + /* + * An I/O has timed out, and the controller was unable to + * abort it for some reason. Construct a fake completion + * status, and then complete the I/O's tracker manually. + */ + nvme_printf(tr->qpair->ctrlr, + "abort command failed, aborting command manually\n"); + nvme_qpair_manual_complete_tracker(tr, + NVME_SCT_GENERIC, NVME_SC_ABORTED_BY_REQUEST, 0, ERROR_PRINT_ALL); + } +} + static void nvme_qpair_timeout(void *arg) { @@ -952,36 +976,44 @@ nvme_qpair_timeout(void *arg) struct nvme_tracker *tr; sbintime_t now; bool idle; + bool expired; uint32_t csts; uint8_t cfs; mtx_lock(&qpair->lock); idle = TAILQ_EMPTY(&qpair->outstanding_tr); + again: switch (qpair->recovery_state) { case RECOVERY_NONE: - if (idle) - break; + /* + * Check to see if we need to timeout any commands. If we do, then + * we also enter a recovery phase. + */ now = getsbinuptime(); - idle = true; + expired = false; TAILQ_FOREACH(tr, &qpair->outstanding_tr, tailq) { if (tr->deadline == SBT_MAX) continue; idle = false; if (now > tr->deadline) { - /* - * We're now passed our earliest deadline. We - * need to do expensive things to cope, but next - * time. Flag that and close the door to any - * further processing. - */ - qpair->recovery_state = RECOVERY_START; - nvme_printf(ctrlr, "RECOVERY_START %jd vs %jd\n", - (uintmax_t)now, (uintmax_t)tr->deadline); - break; + expired = true; + nvme_ctrlr_cmd_abort(ctrlr, tr->cid, qpair->id, + nvme_abort_complete, tr); } } - break; + if (!expired) + break; + + /* + * We're now passed our earliest deadline. We need to do + * expensive things to cope, but next time. Flag that + * and close the door to any further processing. + */ + qpair->recovery_state = RECOVERY_START; + nvme_printf(ctrlr, "RECOVERY_START %jd vs %jd\n", + (uintmax_t)now, (uintmax_t)tr->deadline); + /* FALLTHROUGH */ case RECOVERY_START: /* * Read csts to get value of cfs - controller fatal status. From nobody Thu Sep 28 22:28:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmT01LXz4vhQv; Thu, 28 Sep 2023 22:28: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 4RxSmS6Rhdz3QH3; Thu, 28 Sep 2023 22:28:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695940088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UxnU67fCnfQwkMQ3npcbGylxUoFsgTdAwNQpt9MhDKk=; b=jwsOJHrl83aCjei/Ce2uJqXI9cJ4bl7wjAYBuCERa3p6FdTAUHPd2VnoitEso1LqJdNBNd dpWtVO66hXbfg9j9UYTM6zV0bflae6qFiYRJffWOdUe/tMOzN6rst6njkswFcRM8ud+84i nvc6XIPSXIzbZ+J+WI07/xC/dUOObgXXCTZBKvHiaHxQFBofkKHjXoz7QOdx70fDiT5YEu tiKtFOI4acTIBo2GU5oc4DAyMx5T35Eh1DqSvJXEuZPBT2yEjcvkkhnjj5l5mtGao0DotY QgnhcbPXvAJfGG4heTQbgVSDaSE6dzK1LVxR6sFdwXgvrhftr8EAbC+WopP/Yg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940088; a=rsa-sha256; cv=none; b=To0GuCuHF2wf7ES93H89XbZrP1a3/UiimhliqWjnprdcP93QMYDwQHAYE4x8CrDTof69Rf 1yicyPRJpCDkxQfE59LIyoPqEYTu5rjnE9afU6skadU74TpqSWBTZTLFHhlPP3D0pxT3o4 diMUsgv8DqKKmZxiB4joqDS2l1euLrh9OCPmpL/BgssLdBwIo6mQnfCHv2kRjHCTlk/eAN YcLZB5ajBbm5kE4ipzjalzbnRyTqyiATQCl7gfkPKTdk9xOnAWawGSlEU3L+XiEqpwvAX6 GB2MLZN1BJLnaKEI2+jzyJuXYa0p1uRc5nzE795yW7ugPXzcHv/nj+Ra2zmBqQ== 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=1695940088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UxnU67fCnfQwkMQ3npcbGylxUoFsgTdAwNQpt9MhDKk=; b=lBC5INCxuS1VWGzp7EqNuayrJkPuWs9JwX3kQ9+1VxO+zBoIq1cU9TdQPflMr8iZshmIXm Gx7pSKtODtTPy3UmPxbDahlwQV7fNQbykFr9dBIg0/fX8u/WMcMKhU4ezRpkBrkDO+OS4k 4BFszoIb9SEUBsfz2Hn7dcPcZ/+50dEp8AEWFEqqUOdVZ3ZdOTdOgx8we0uc9Bb21JN00S 0RRHPUNdYB76TOEuOnooli7sLOkdjhKCtop4OqtuipLMm+1xQ7Esod4V5wA0BiUoo9R7f5 G3jDPrXUFWs9pjvNwDV9U6d38mnn8QK/v5M8+ozFFo4qc2iB2+EC/8vnH0NL0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmS5VqmzgF0; Thu, 28 Sep 2023 22:28: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 38SMS8lQ073653; Thu, 28 Sep 2023 22:28:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMS8ZZ073650; Thu, 28 Sep 2023 22:28:08 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:08 GMT Message-Id: <202309282228.38SMS8ZZ073650@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: 1a25315863e5 - releng/14.0 - nvme: Greatly improve error recovery List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: 1a25315863e5faffd447cd59fb9e54f5d2b5f6ae Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1a25315863e5faffd447cd59fb9e54f5d2b5f6ae commit 1a25315863e5faffd447cd59fb9e54f5d2b5f6ae Author: Warner Losh AuthorDate: 2023-09-28 20:45:50 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:26:04 +0000 nvme: Greatly improve error recovery Next phase of error recovery: Eliminate the REOVERY_START phase, since we don't need to wait to start recovery. Eliminate the RECOVERY_RESET phase since it is transient, we now transition from RECOVERY_NORMAL into RECOVERY_WAITING. In normal mode, read the status of the controller. If it is in failed state, or appears to be hot-plugged, jump directly to reset which will sort out the proper things to do. This will cause all pending I/O to complete with an abort status before the reset. When in the NORMAL state, call the interrupt handler. This will complete all pending transactions when interrupts are broken or temporarily misbehaving. We then check all the pending completions for timeouts. If we have abort enabled, then we'll send an abort. Otherwise we'll assume the controller is wedged and needs a reset. By calling the interrupt handler here, we'll avoid an issue with the current code where we transitioned to RECOVERY_START which prevented any completions from happening. Now completions happen. In addition and follow-on I/O that is scheduled in the completion routines will be submitted, rather than queued, because the recovery state is correct. This also fixes a problem where I/O would timeout, but never complete, leading to hung I/O. Resetting remains the same as before, just when we chose to reset has changed. A nice side effect of these changes is that we now do I/O when interrupts to the card are totally broken. Followon commits will improve the error reporting and logging when this happens. Performance will be aweful, but will at least be minimally functional. There is a small race when we're checking the completions if interrupts are working, but this is handled in a future commit. Sponsored by: Netflix MFC After: 2 weeks Differential Revision: https://reviews.freebsd.org/D36922 (cherry picked from commit d4959bfcd110ea471222c7dd87775ba1f4e3d1d9) (cherry picked from commit 5d627e0669c5f047580b6f71d9f042afc68307d0) Approved-by: re (cperciva) --- sys/dev/nvme/nvme_private.h | 2 - sys/dev/nvme/nvme_qpair.c | 114 +++++++++++++++++++++++++------------------- 2 files changed, 66 insertions(+), 50 deletions(-) diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index dc69012cfd71..e4b319b9d8b7 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -149,8 +149,6 @@ struct nvme_tracker { enum nvme_recovery { RECOVERY_NONE = 0, /* Normal operations */ - RECOVERY_START, /* Deadline has passed, start recovering */ - RECOVERY_RESET, /* This pass, initiate reset of controller */ RECOVERY_WAITING, /* waiting for the reset to complete */ }; struct nvme_qpair { diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 0ad0b7cbe17f..6d34c7ddba2d 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -976,88 +976,106 @@ nvme_qpair_timeout(void *arg) struct nvme_tracker *tr; sbintime_t now; bool idle; - bool expired; + bool needs_reset; uint32_t csts; uint8_t cfs; + mtx_lock(&qpair->lock); idle = TAILQ_EMPTY(&qpair->outstanding_tr); -again: switch (qpair->recovery_state) { case RECOVERY_NONE: + /* + * Read csts to get value of cfs - controller fatal status. If + * we are in the hot-plug or controller failed status proceed + * directly to reset. We also bail early if the status reads all + * 1's or the control fatal status bit is now 1. The latter is + * always true when the former is true, but not vice versa. The + * intent of the code is that if the card is gone (all 1's) or + * we've failed, then try to do a reset (which someitmes + * unwedges a card reading all 1's that's not gone away, but + * usually doesn't). + */ + csts = nvme_mmio_read_4(ctrlr, csts); + cfs = (csts >> NVME_CSTS_REG_CFS_SHIFT) & NVME_CSTS_REG_CFS_MASK; + if (csts == NVME_GONE || cfs == 1) + goto do_reset; + + /* + * Next, check to see if we have any completions. If we do, + * we've likely missed an interrupt, but the card is otherwise + * fine. This will also catch all the commands that are about + * to timeout (but there's still a tiny race). Since the timeout + * is long relative to the race between here and the check below, + * this is still a win. + */ + mtx_unlock(&qpair->lock); + nvme_qpair_process_completions(qpair); + mtx_lock(&qpair->lock); + if (qpair->recovery_state != RECOVERY_NONE) { + /* + * Somebody else adjusted recovery state while unlocked, + * we should bail. Unlock the qpair and return without + * doing anything else. + */ + mtx_unlock(&qpair->lock); + return; + } + /* * Check to see if we need to timeout any commands. If we do, then * we also enter a recovery phase. */ now = getsbinuptime(); - expired = false; + needs_reset = false; TAILQ_FOREACH(tr, &qpair->outstanding_tr, tailq) { if (tr->deadline == SBT_MAX) continue; - idle = false; if (now > tr->deadline) { - expired = true; - nvme_ctrlr_cmd_abort(ctrlr, tr->cid, qpair->id, - nvme_abort_complete, tr); + if (tr->req->cb_fn != nvme_abort_complete && + ctrlr->enable_aborts) { + /* + * This isn't an abort command, ask + * for a hardware abort. + */ + nvme_ctrlr_cmd_abort(ctrlr, tr->cid, + qpair->id, nvme_abort_complete, tr); + } else { + /* + * Otherwise we have a live command in + * the card (either one we couldn't + * abort, or aborts weren't enabled). + * The only safe way to proceed is to do + * a reset. + */ + needs_reset = true; + } + } else { + idle = false; } } - if (!expired) + if (!needs_reset) break; /* - * We're now passed our earliest deadline. We need to do - * expensive things to cope, but next time. Flag that - * and close the door to any further processing. - */ - qpair->recovery_state = RECOVERY_START; - nvme_printf(ctrlr, "RECOVERY_START %jd vs %jd\n", - (uintmax_t)now, (uintmax_t)tr->deadline); - /* FALLTHROUGH */ - case RECOVERY_START: - /* - * Read csts to get value of cfs - controller fatal status. - * If no fatal status, try to call the completion routine, and - * if completes transactions, report a missed interrupt and - * return (this may need to be rate limited). Otherwise, if - * aborts are enabled and the controller is not reporting - * fatal status, abort the command. Otherwise, just reset the - * controller and hope for the best. - */ - csts = nvme_mmio_read_4(ctrlr, csts); - cfs = (csts >> NVME_CSTS_REG_CFS_SHIFT) & NVME_CSTS_REG_CFS_MASK; - if (cfs) { - nvme_printf(ctrlr, "Controller in fatal status, resetting\n"); - qpair->recovery_state = RECOVERY_RESET; - goto again; - } - mtx_unlock(&qpair->lock); - if (nvme_qpair_process_completions(qpair)) { - nvme_printf(ctrlr, "Completions present in output without an interrupt\n"); - qpair->recovery_state = RECOVERY_NONE; - } else { - nvme_printf(ctrlr, "timeout with nothing complete, resetting\n"); - qpair->recovery_state = RECOVERY_RESET; - mtx_lock(&qpair->lock); - goto again; - } - mtx_lock(&qpair->lock); - break; - case RECOVERY_RESET: - /* + * We've had a command timeout that we weren't able to abort + * * If we get here due to a possible surprise hot-unplug event, * then we let nvme_ctrlr_reset confirm and fail the * controller. */ + do_reset: nvme_printf(ctrlr, "Resetting controller due to a timeout%s.\n", (csts == 0xffffffff) ? " and possible hot unplug" : (cfs ? " and fatal error status" : "")); nvme_printf(ctrlr, "RECOVERY_WAITING\n"); qpair->recovery_state = RECOVERY_WAITING; nvme_ctrlr_reset(ctrlr); + idle = false; /* We want to keep polling */ break; case RECOVERY_WAITING: - nvme_printf(ctrlr, "waiting\n"); + nvme_printf(ctrlr, "waiting for reset to complete\n"); break; } From nobody Thu Sep 28 22:28:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmV1SMpz4vhqH; Thu, 28 Sep 2023 22:28: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 4RxSmV0HNVz3QKr; Thu, 28 Sep 2023 22:28:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695940090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7s2B7OvV73+rYCQqOEA8gMZJYNg5dQ723wijcH0hSeA=; b=NOAsGWC3Ca/oBESWtylW8IbfePoTgY3ird/fUJDCLfU2EY9MBL6zCV9g3/ECsRe7VPl2nX 1TNcpJya7OMkPQgaIncZVrr/8ofIbF/J+pASu4sZ9MKZKmLZg4MNXjJgQlP8SGcEJBOv/8 euELPpkOdxqJTkKO4TrWiAD70MidP03vSR5nCNCp2lrQHmoaOuSIITZVJaoLZE+J5Q3LYb bLQL+aRM3I/sTQNOe7wV3P+XDyXNxR7rMrExHBEvQ8+y5frofONse7LEIxDwNfVHD5hjIt Zsv89/oN3TRiguzeAXfYvY/rB/2eg5Mhk9d34vf91vK/jiuYMJXHsChI+tb2yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940090; a=rsa-sha256; cv=none; b=cjedtPx766jf4ATxIurd9bTeHASuR5xcWvrkUogwz84BHP/cDJ+/LYA5vO73I4CITDchq1 hqK+50WZpG3ckLLI2g2kEZvQoLm9rV3C4grXHqX7hTT7oETWymeQNsSGrTc+S3vjDI6yLX 1UTuBmRdXS6U4yT840CnBwu1oQKqb/epo0Y0ekn0jZcYz0qFbLqCghFTQrQlwsxHjDb60m tlEFBqyS4RTFZqHLJYVwiwxh6P9lrMPT+SWOKDg1qyorNtmsMXPBoe4rG14PFzAGW0BuIb bexJaNIWEynevLPWkVPS7hqdGHEjQXjUGsBP3fEBciUf+WzaN62T8aH+4NdeOA== 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=1695940090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7s2B7OvV73+rYCQqOEA8gMZJYNg5dQ723wijcH0hSeA=; b=sXqTiHAIYzbX9Bu0lKp2KnQaU3bOGDqAqfJEtYgUFzREmXKYTcFyIgb4AZsAuS0ejYxWDi MXd/aAFdJFYvs9zIg0EkEErpNR60fjl6g4Hu682aY3pL2M/PziiATtBAoVdoK6MVhTGF7T +b12EvQnlfwCJ1LrWpMjICEwdtSUvdBTGnO2srvUVgCEEZnWEo2ziGuPs1JPOimq05eOuU SeN+LOf2o/xwZ7sVeMO1vsC2nhcUnFKCYz4w3EJYHji28uILFZHflY0CphUg/o19k80/Nh IrJJ7EQ68WVFluWuVce5WS9yVTUmCEpnqvZ81j4daSZh+X/5kP5npxaCYJZ+6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmT6Jhpzg8t; Thu, 28 Sep 2023 22:28: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 38SMS9Hg073695; Thu, 28 Sep 2023 22:28:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMS9I7073692; Thu, 28 Sep 2023 22:28:09 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:09 GMT Message-Id: <202309282228.38SMS9I7073692@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: 7e715964e109 - releng/14.0 - nvme: Add exclusion for ISR List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: 7e715964e109e74f0ea4a8f25861628fe20e60dd Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7e715964e109e74f0ea4a8f25861628fe20e60dd commit 7e715964e109e74f0ea4a8f25861628fe20e60dd Author: Warner Losh AuthorDate: 2023-09-28 20:46:00 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:26:10 +0000 nvme: Add exclusion for ISR Add a basically uncontended spinlock that we take out while the ISR is running. This has two effects: First, when we get a timeout, we can safely call the nvme_qpair_process_completions w/o racing any ISRs. Second, we can use it to ensure that we don't reset the card while the ISRs are active (right now we just sleep and hope for the best, which usually is fine, but not always). Sponsored by: Netflix MFC After: 2 weeks Reviewed by: chuck, gallatin Differential Revision: https://reviews.freebsd.org/D41452 (cherry picked from commit 8052b01e7e4113fa8296ce43c354116b0a1774b7) (cherry picked from commit c7cb2dcdf2abe6c382628c80fe99f11236829cfb) Approved-by: re (cperciva) --- sys/dev/nvme/nvme_ctrlr.c | 51 ++++++++++++++++---- sys/dev/nvme/nvme_private.h | 10 ++-- sys/dev/nvme/nvme_qpair.c | 115 ++++++++++++++++++++++++++++++-------------- sys/dev/nvme/nvme_sysctl.c | 24 +++++++++ 4 files changed, 148 insertions(+), 52 deletions(-) diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index 7a2ecffe81d4..c4a750901743 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -416,6 +416,34 @@ nvme_ctrlr_disable_qpairs(struct nvme_controller *ctrlr) } } +static void +nvme_pre_reset(struct nvme_controller *ctrlr) +{ + /* + * Make sure that all the ISRs are done before proceeding with the reset + * (and also keep any stray interrupts that happen during this process + * from racing this process). For startup, this is a nop, since the + * hardware is in a good state. But for recovery, where we randomly + * reset the hardware, this ensure that we're not racing the ISRs. + */ + mtx_lock(&ctrlr->adminq.recovery); + for (int i = 0; i < ctrlr->num_io_queues; i++) { + mtx_lock(&ctrlr->ioq[i].recovery); + } +} + +static void +nvme_post_reset(struct nvme_controller *ctrlr) +{ + /* + * Reset complete, unblock ISRs + */ + mtx_unlock(&ctrlr->adminq.recovery); + for (int i = 0; i < ctrlr->num_io_queues; i++) { + mtx_unlock(&ctrlr->ioq[i].recovery); + } +} + static int nvme_ctrlr_hw_reset(struct nvme_controller *ctrlr) { @@ -427,9 +455,11 @@ nvme_ctrlr_hw_reset(struct nvme_controller *ctrlr) err = nvme_ctrlr_disable(ctrlr); if (err != 0) - return err; + goto out; err = nvme_ctrlr_enable(ctrlr); +out: + TSEXIT(); return (err); } @@ -1157,6 +1187,11 @@ nvme_ctrlr_start_config_hook(void *arg) TSENTER(); + /* + * Don't call pre/post reset here. We've not yet created the qpairs, + * haven't setup the ISRs, so there's no need to 'drain' them or + * 'exclude' them. + */ if (nvme_ctrlr_hw_reset(ctrlr) != 0) { fail: nvme_ctrlr_fail(ctrlr); @@ -1201,16 +1236,9 @@ nvme_ctrlr_reset_task(void *arg, int pending) int status; nvme_ctrlr_devctl_log(ctrlr, "RESET", "resetting controller"); + nvme_pre_reset(ctrlr); status = nvme_ctrlr_hw_reset(ctrlr); - /* - * Use pause instead of DELAY, so that we yield to any nvme interrupt - * handlers on this CPU that were blocked on a qpair lock. We want - * all nvme interrupts completed before proceeding with restarting the - * controller. - * - * XXX - any way to guarantee the interrupt handlers have quiesced? - */ - pause("nvmereset", hz / 10); + nvme_post_reset(ctrlr); if (status == 0) nvme_ctrlr_start(ctrlr, true); else @@ -1697,6 +1725,7 @@ nvme_ctrlr_resume(struct nvme_controller *ctrlr) if (ctrlr->is_failed) return (0); + nvme_pre_reset(ctrlr); if (nvme_ctrlr_hw_reset(ctrlr) != 0) goto fail; #ifdef NVME_2X_RESET @@ -1708,6 +1737,7 @@ nvme_ctrlr_resume(struct nvme_controller *ctrlr) if (nvme_ctrlr_hw_reset(ctrlr) != 0) goto fail; #endif + nvme_post_reset(ctrlr); /* * Now that we've reset the hardware, we can restart the controller. Any @@ -1724,6 +1754,7 @@ fail: * the controller. However, we have to return success for the resume * itself, due to questionable APIs. */ + nvme_post_reset(ctrlr); nvme_printf(ctrlr, "Failed to reset on resume, failing.\n"); nvme_ctrlr_fail(ctrlr); (void)atomic_cmpset_32(&ctrlr->is_resetting, 1, 0); diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index e4b319b9d8b7..a6239f30f3bf 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -162,10 +162,9 @@ struct nvme_qpair { struct resource *res; void *tag; - struct callout timer; - sbintime_t deadline; - bool timer_armed; - enum nvme_recovery recovery_state; + struct callout timer; /* recovery lock */ + bool timer_armed; /* recovery lock */ + enum nvme_recovery recovery_state; /* recovery lock */ uint32_t num_entries; uint32_t num_trackers; @@ -182,6 +181,7 @@ struct nvme_qpair { int64_t num_retries; int64_t num_failures; int64_t num_ignored; + int64_t num_recovery_nolock; struct nvme_command *cmd; struct nvme_completion *cpl; @@ -200,7 +200,7 @@ struct nvme_qpair { struct nvme_tracker **act_tr; struct mtx_padalign lock; - + struct mtx_padalign recovery; } __aligned(CACHE_LINE_SIZE); struct nvme_namespace { diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 6d34c7ddba2d..b256c4713c8d 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -528,14 +528,17 @@ nvme_qpair_manual_complete_request(struct nvme_qpair *qpair, nvme_free_request(req); } -bool -nvme_qpair_process_completions(struct nvme_qpair *qpair) +/* Locked version of completion processor */ +static bool +_nvme_qpair_process_completions(struct nvme_qpair *qpair) { struct nvme_tracker *tr; struct nvme_completion cpl; - int done = 0; + bool done = false; bool in_panic = dumping || SCHEDULER_STOPPED(); + mtx_assert(&qpair->recovery, MA_OWNED); + /* * qpair is not enabled, likely because a controller reset is in * progress. Ignore the interrupt - any I/O that was associated with @@ -629,7 +632,7 @@ nvme_qpair_process_completions(struct nvme_qpair *qpair) else tr = NULL; - done++; + done = true; if (tr != NULL) { nvme_qpair_complete_tracker(tr, &cpl, ERROR_PRINT_ALL); qpair->sq_head = cpl.sqhd; @@ -666,12 +669,35 @@ nvme_qpair_process_completions(struct nvme_qpair *qpair) } } - if (done != 0) { + if (done) { bus_space_write_4(qpair->ctrlr->bus_tag, qpair->ctrlr->bus_handle, qpair->cq_hdbl_off, qpair->cq_head); } - return (done != 0); + return (done); +} + +bool +nvme_qpair_process_completions(struct nvme_qpair *qpair) +{ + bool done; + + /* + * Interlock with reset / recovery code. This is an usually uncontended + * to make sure that we drain out of the ISRs before we reset the card + * and to prevent races with the recovery process called from a timeout + * context. + */ + if (!mtx_trylock(&qpair->recovery)) { + qpair->num_recovery_nolock++; + return (false); + } + + done = _nvme_qpair_process_completions(qpair); + + mtx_unlock(&qpair->recovery); + + return (done); } static void @@ -699,6 +725,7 @@ nvme_qpair_construct(struct nvme_qpair *qpair, qpair->ctrlr = ctrlr; mtx_init(&qpair->lock, "nvme qpair lock", NULL, MTX_DEF); + mtx_init(&qpair->recovery, "nvme qpair recovery", NULL, MTX_DEF); /* Note: NVMe PRP format is restricted to 4-byte alignment. */ err = bus_dma_tag_create(bus_get_dma_tag(ctrlr->dev), @@ -765,7 +792,7 @@ nvme_qpair_construct(struct nvme_qpair *qpair, qpair->cpl_bus_addr = queuemem_phys + cmdsz; prpmem_phys = queuemem_phys + cmdsz + cplsz; - callout_init(&qpair->timer, 1); + callout_init_mtx(&qpair->timer, &qpair->recovery, 0); qpair->timer_armed = false; qpair->recovery_state = RECOVERY_WAITING; @@ -903,6 +930,8 @@ nvme_qpair_destroy(struct nvme_qpair *qpair) if (mtx_initialized(&qpair->lock)) mtx_destroy(&qpair->lock); + if (mtx_initialized(&qpair->recovery)) + mtx_destroy(&qpair->recovery); if (qpair->res) { bus_release_resource(qpair->ctrlr->dev, SYS_RES_IRQ, @@ -975,14 +1004,12 @@ nvme_qpair_timeout(void *arg) struct nvme_controller *ctrlr = qpair->ctrlr; struct nvme_tracker *tr; sbintime_t now; - bool idle; + bool idle = false; bool needs_reset; uint32_t csts; uint8_t cfs; - - mtx_lock(&qpair->lock); - idle = TAILQ_EMPTY(&qpair->outstanding_tr); + mtx_assert(&qpair->recovery, MA_OWNED); switch (qpair->recovery_state) { case RECOVERY_NONE: @@ -1003,25 +1030,10 @@ nvme_qpair_timeout(void *arg) goto do_reset; /* - * Next, check to see if we have any completions. If we do, - * we've likely missed an interrupt, but the card is otherwise - * fine. This will also catch all the commands that are about - * to timeout (but there's still a tiny race). Since the timeout - * is long relative to the race between here and the check below, - * this is still a win. + * Process completions. We already have the recovery lock, so + * call the locked version. */ - mtx_unlock(&qpair->lock); - nvme_qpair_process_completions(qpair); - mtx_lock(&qpair->lock); - if (qpair->recovery_state != RECOVERY_NONE) { - /* - * Somebody else adjusted recovery state while unlocked, - * we should bail. Unlock the qpair and return without - * doing anything else. - */ - mtx_unlock(&qpair->lock); - return; - } + _nvme_qpair_process_completions(qpair); /* * Check to see if we need to timeout any commands. If we do, then @@ -1029,7 +1041,13 @@ nvme_qpair_timeout(void *arg) */ now = getsbinuptime(); needs_reset = false; + idle = true; + mtx_lock(&qpair->lock); TAILQ_FOREACH(tr, &qpair->outstanding_tr, tailq) { + /* + * Skip async commands, they are posted to the card for + * an indefinite amount of time and have no deadline. + */ if (tr->deadline == SBT_MAX) continue; if (now > tr->deadline) { @@ -1055,6 +1073,7 @@ nvme_qpair_timeout(void *arg) idle = false; } } + mtx_unlock(&qpair->lock); if (!needs_reset) break; @@ -1076,6 +1095,7 @@ nvme_qpair_timeout(void *arg) break; case RECOVERY_WAITING: nvme_printf(ctrlr, "waiting for reset to complete\n"); + idle = false; /* We want to keep polling */ break; } @@ -1087,7 +1107,6 @@ nvme_qpair_timeout(void *arg) } else { qpair->timer_armed = false; } - mtx_unlock(&qpair->lock); } /* @@ -1196,9 +1215,12 @@ _nvme_qpair_submit_request(struct nvme_qpair *qpair, struct nvme_request *req) if (tr == NULL || qpair->recovery_state != RECOVERY_NONE) { /* - * No tracker is available, or the qpair is disabled due to - * an in-progress controller-level reset or controller - * failure. + * No tracker is available, or the qpair is disabled due to an + * in-progress controller-level reset or controller failure. If + * we lose the race with recovery_state, then we may add an + * extra request to the queue which will be resubmitted later. + * We only set recovery_state to NONE with qpair->lock also + * held. */ if (qpair->ctrlr->is_failed) { @@ -1260,7 +1282,10 @@ nvme_qpair_submit_request(struct nvme_qpair *qpair, struct nvme_request *req) static void nvme_qpair_enable(struct nvme_qpair *qpair) { - mtx_assert(&qpair->lock, MA_OWNED); + if (mtx_initialized(&qpair->recovery)) + mtx_assert(&qpair->recovery, MA_OWNED); + if (mtx_initialized(&qpair->lock)) + mtx_assert(&qpair->lock, MA_OWNED); qpair->recovery_state = RECOVERY_NONE; } @@ -1311,9 +1336,11 @@ nvme_admin_qpair_enable(struct nvme_qpair *qpair) nvme_printf(qpair->ctrlr, "done aborting outstanding admin\n"); + mtx_lock(&qpair->recovery); mtx_lock(&qpair->lock); nvme_qpair_enable(qpair); mtx_unlock(&qpair->lock); + mtx_unlock(&qpair->recovery); } void @@ -1340,8 +1367,8 @@ nvme_io_qpair_enable(struct nvme_qpair *qpair) if (report) nvme_printf(qpair->ctrlr, "done aborting outstanding i/o\n"); + mtx_lock(&qpair->recovery); mtx_lock(&qpair->lock); - nvme_qpair_enable(qpair); STAILQ_INIT(&temp); @@ -1360,6 +1387,7 @@ nvme_io_qpair_enable(struct nvme_qpair *qpair) nvme_printf(qpair->ctrlr, "done resubmitting i/o\n"); mtx_unlock(&qpair->lock); + mtx_unlock(&qpair->recovery); } static void @@ -1367,27 +1395,40 @@ nvme_qpair_disable(struct nvme_qpair *qpair) { struct nvme_tracker *tr, *tr_temp; - mtx_lock(&qpair->lock); + if (mtx_initialized(&qpair->recovery)) + mtx_assert(&qpair->recovery, MA_OWNED); + if (mtx_initialized(&qpair->lock)) + mtx_assert(&qpair->lock, MA_OWNED); + qpair->recovery_state = RECOVERY_WAITING; TAILQ_FOREACH_SAFE(tr, &qpair->outstanding_tr, tailq, tr_temp) { tr->deadline = SBT_MAX; } - mtx_unlock(&qpair->lock); } void nvme_admin_qpair_disable(struct nvme_qpair *qpair) { + mtx_lock(&qpair->recovery); + mtx_lock(&qpair->lock); nvme_qpair_disable(qpair); nvme_admin_qpair_abort_aers(qpair); + + mtx_unlock(&qpair->lock); + mtx_unlock(&qpair->recovery); } void nvme_io_qpair_disable(struct nvme_qpair *qpair) { + mtx_lock(&qpair->recovery); + mtx_lock(&qpair->lock); nvme_qpair_disable(qpair); + + mtx_unlock(&qpair->lock); + mtx_unlock(&qpair->recovery); } void diff --git a/sys/dev/nvme/nvme_sysctl.c b/sys/dev/nvme/nvme_sysctl.c index a1a8a968eebe..ac0d507e2337 100644 --- a/sys/dev/nvme/nvme_sysctl.c +++ b/sys/dev/nvme/nvme_sysctl.c @@ -163,6 +163,7 @@ nvme_qpair_reset_stats(struct nvme_qpair *qpair) qpair->num_retries = 0; qpair->num_failures = 0; qpair->num_ignored = 0; + qpair->num_recovery_nolock = 0; } static int @@ -240,6 +241,21 @@ nvme_sysctl_num_ignored(SYSCTL_HANDLER_ARGS) return (sysctl_handle_64(oidp, &num_ignored, 0, req)); } +static int +nvme_sysctl_num_recovery_nolock(SYSCTL_HANDLER_ARGS) +{ + struct nvme_controller *ctrlr = arg1; + int64_t num; + int i; + + num = ctrlr->adminq.num_recovery_nolock; + + for (i = 0; i < ctrlr->num_io_queues; i++) + num += ctrlr->ioq[i].num_recovery_nolock; + + return (sysctl_handle_64(oidp, &num, 0, req)); +} + static int nvme_sysctl_reset_stats(SYSCTL_HANDLER_ARGS) { @@ -298,6 +314,9 @@ nvme_sysctl_initialize_queue(struct nvme_qpair *qpair, SYSCTL_ADD_QUAD(ctrlr_ctx, que_list, OID_AUTO, "num_ignored", CTLFLAG_RD, &qpair->num_ignored, "Number of interrupts posted, but were administratively ignored"); + SYSCTL_ADD_QUAD(ctrlr_ctx, que_list, OID_AUTO, "num_recovery_nolock", + CTLFLAG_RD, &qpair->num_recovery_nolock, + "Number of times that we failed to lock recovery in the ISR"); SYSCTL_ADD_PROC(ctrlr_ctx, que_list, OID_AUTO, "dump_debug", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, @@ -366,6 +385,11 @@ nvme_sysctl_initialize_ctrlr(struct nvme_controller *ctrlr) ctrlr, 0, nvme_sysctl_num_ignored, "IU", "Number of interrupts ignored administratively"); + SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, + "num_recovery_nolock", CTLTYPE_S64 | CTLFLAG_RD | CTLFLAG_MPSAFE, + ctrlr, 0, nvme_sysctl_num_recovery_nolock, "IU", + "Number of times that we failed to lock recovery in the ISR"); + SYSCTL_ADD_PROC(ctrlr_ctx, ctrlr_list, OID_AUTO, "reset_stats", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, ctrlr, 0, nvme_sysctl_reset_stats, "IU", "Reset statistics to zero"); From nobody Thu Sep 28 22:28:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmW1hZgz4vhbW; Thu, 28 Sep 2023 22:28: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 4RxSmW0r48z3QQn; Thu, 28 Sep 2023 22:28:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695940091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9r3gLIAh22e4khCvsZRckqU+tdFNPgRWinJ6T9MVCM=; b=r+zW7Eq+EBZ6kZyIFUI/GRGQUDOXO7yMOTOJJUiQu0MD9RznZ7v8EzUePOaXgdouYQf9kk wdemeDzI0+caFl92x0/eN8yd0y2XSIrDLSHRMX00C7PqHX0X6vwENqsQPCGDL+GD6cSxCH 7Pm/dq7Ui3hG6qE6kHDQ1Ip0TEeTcC0ZcyWk9SWC52mKWBCVQi1JnbrBtA2+xT/eCzo6Ap bYngl0e4f5nnJxIXd5kvYa3MGLBhx9gL6BkjVPprlKibT0kmriA4AMG02qartdJn/HU5NS QWTr63+m8ScYVBqGVka7zQD0tSd1FAPWtzyW24KFQKgypFszW2IGIhq2k58qTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940091; a=rsa-sha256; cv=none; b=GJVYmK6wWumnSfWA2KYahadfND14ioNqT3gKRu84HinXdjOvodEKgVW4ewN8sIPo9gyCEa cyDjLJZeqysfbNlZYG9/wZai2Scin8EW10N5HuvJaQOebHRlkceAR3vsEqBXd1FOxriusQ usswvOI2QKuNtPm62SoSHSglIxwpgj7PIg2K8uvvS6LBWrZq4qo3460N+fVeJJI7xdeuO/ srSJSqeLb3XaOgn1bGWlaJFOUyzue7+jv6edt69BVF5Ee9U5/y6CmAqRJreLMh0Nj81cRw hZKd/P5PW7gTBk5pHkZyYE+1/Nu7KQEFaa6f+nrdn0jfxmg47tgn0hGltaiSqA== 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=1695940091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9r3gLIAh22e4khCvsZRckqU+tdFNPgRWinJ6T9MVCM=; b=lV9kRP70/V2za27Ksp3hG2C0rD2vLaKK0MAWZK+cnyBf0V4osnjSnUJcsGoqtz2fnngwYm klXxVvxzUjY1EAS8z61cH/ln6YW6C9qctF/2999LZuCT2pyqsPXuscFgG1rmXoj14kYVGK 2GbjU7pjxecLTZ5+T6EAU6XpR7M7VJwLAKM5p38Zv1fwQkSEtyl9sg5ahFhiu+HJ1oVpO4 H7I6SD+EfIA0lRSt8OBTwU/irJq3AmydhqunVjA9Jpj7LwnqOtXT/2BkFPtwgp1RmWRtLP suNl8XNmx6pqXihVpADdwBuAnLmyl0q3Vw0JtVMJhTxLbUs8c2UBQ1ahk5HZfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmV6xDPzgF1; Thu, 28 Sep 2023 22:28: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 38SMSAZW073747; Thu, 28 Sep 2023 22:28:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMSA9h073744; Thu, 28 Sep 2023 22:28:10 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:10 GMT Message-Id: <202309282228.38SMSA9h073744@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: b2bcb31fef42 - releng/14.0 - nvme: Give up when we've failed List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: b2bcb31fef42448c5cd374b46ce5e40e41339c48 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b2bcb31fef42448c5cd374b46ce5e40e41339c48 commit b2bcb31fef42448c5cd374b46ce5e40e41339c48 Author: Warner Losh AuthorDate: 2023-09-28 20:46:00 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:26:13 +0000 nvme: Give up when we've failed Normally, we poll the device every so often to see if commands have timed out. However, we'll go into the recovery state as part of failing the drive. To account for all possibilties, if we're failed when we get into the polling function, just stop polling: Party is over. Sponsored by: Netflix (cherry picked from commit d95431624f934fe4740211738fc787808005b14e) (cherry picked from commit 5e9b7d0e0e0bd4cba29de33569ab0ca86763f635) Approved-by: re (cperciva) --- sys/dev/nvme/nvme_qpair.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index b256c4713c8d..4e37aa0e1020 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -1011,6 +1011,17 @@ nvme_qpair_timeout(void *arg) mtx_assert(&qpair->recovery, MA_OWNED); + /* + * If the controller has failed, give up. We're never going to change + * state from a failed controller: no further transactions are possible. + * We go ahead and let the timeout expire in many cases for simplicity. + */ + if (qpair->ctrlr->is_failed) { + nvme_printf(ctrlr, "Controller failed, giving up\n"); + qpair->timer_armed = false; + return; + } + switch (qpair->recovery_state) { case RECOVERY_NONE: /* @@ -1094,8 +1105,8 @@ nvme_qpair_timeout(void *arg) idle = false; /* We want to keep polling */ break; case RECOVERY_WAITING: - nvme_printf(ctrlr, "waiting for reset to complete\n"); - idle = false; /* We want to keep polling */ + nvme_printf(ctrlr, "Waiting for reset to complete\n"); + idle = false; /* We want to keep polling */ break; } From nobody Thu Sep 28 22:28:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmX2ywTz4vhnJ; Thu, 28 Sep 2023 22:28: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 4RxSmX1vprz3QM2; Thu, 28 Sep 2023 22:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695940092; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pWn12uj9s6/j3uBWy4DBozYMQlFOCKbujZ+ij4+ISJs=; b=F2/dKDZdOqFyZG68+5cCuQP6xQE1axY7SvaN+T8C53LF8JjzCPpPCPPc6J+bX/oPSbGrYv GuDm8lmEe2O0eFCl+CuDRGJrPUzOxM9Ow1EVaa/Ej3E9tigmn8uyU/V1Eje95h5kPFosoH lzDEeuypqF+NAdKN4Gn21YTIvr8ztn4BJiQ5iFnOSyfJmE3QGpZzLj6aDG3INeCx9r5auR 8+7HknjTKVU5Yi1dDu474t+BT2kBeDbEJPBlvFcdQeVbc//dAZGtmXbhz7sZWWBaTn7Zkb /qTNt6G5BaA82bJeIsJ3JYvL1Tv6CZw2JWGyA3R8o01JCyBvFa/oQPz5OUvBsg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940092; a=rsa-sha256; cv=none; b=itUiQp0YYTOTHUk7exuY7cPYZ/U/rvnts6Eb3WRAxms+JdR9qD/qQv1i2fxL1K9yOKCVn4 Bm+k+YBIJPVhcZxU5/MhHrgU0Tlv3NE8Flc1u+aD6Bh5dOIR2Jg9F2I3o+2AXBRe/aqpkI pwv1ocol6mPU3OM56xp3n03Wznf0mdE1I6mfbcwITm/Hfksbdkkd9JyYgwwkTrZulEvmqS /mDNslypqtKIqWZUrUf5Il2EK3LsPnMZxnGDifVFPVe2ZjHD/bhTSO22iGpjDuXo+/fdsD BtbLojU/JGRZ0gPIwsuPwl3n0oSdRkr5+c+BgF0HH893BWnn1+RIn3mKUm4vuw== 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=1695940092; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pWn12uj9s6/j3uBWy4DBozYMQlFOCKbujZ+ij4+ISJs=; b=rZLQc+4nQHSrOFmYjxaQUq8wUOvGjKMaoQmDt/DrO28KIgeliQLaRBnrcCI9eSwbAb3C/F vHHr4/y/DtZJ/Te/QQ+nCfFdJIbg3RdEEwpKSQ47ho+b/zdPHTorDJZ/68/gDFpuMHp+HB dr70ol4cGhVmJcvrflAihJS9++jeFTTWiSdzqK7k6HPK+3A/jAqTXhXt0noAoWATFH76mr Eeu65TrawS1DGxpOKNkb5lDDqMxNn8FKVeJ5DrDimH/cIeQMvvevhGRIZzfXduHJaIXh18 /88aEB4FHxlewIqL+xSkgclLmOIbw20xlZwT4IIOWlr/Ys2R1HHQk6lsxEuRdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmX11FXzfjr; Thu, 28 Sep 2023 22:28: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 38SMSCji073805; Thu, 28 Sep 2023 22:28:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMSCwx073802; Thu, 28 Sep 2023 22:28:12 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:12 GMT Message-Id: <202309282228.38SMSCwx073802@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: 001c45a1229a - releng/14.0 - nvme: Fix locking protocol violation to fix suspend / resume List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: 001c45a1229a5ac06bb9891c82054e829136e3a0 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=001c45a1229a5ac06bb9891c82054e829136e3a0 commit 001c45a1229a5ac06bb9891c82054e829136e3a0 Author: Warner Losh AuthorDate: 2023-09-28 20:46:01 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:26:15 +0000 nvme: Fix locking protocol violation to fix suspend / resume Currently, when we suspend, we need to tear down all the qpairs. We call nvme_admin_qpair_abort_aers with the admin qpair lock held, but the tracker it will call for the pending AER also locks it (recursively) hitting an assert. This routine is called without the qpair lock held when we destroy the device entirely in a number of places. Add an assert to this effect and drop the qpair lock before calling it. nvme_admin_qpair_abort_aers then locks the qpair lock to traverse the list, dropping it around calls to nvme_qpair_complete_tracker, and restarting the list scan after picking it back up. Note: If interrupts are still running, there's a tiny window for these AERs: If one fires just an instant after we manually complete it, then we'll be fine: we set the state of the queue to 'waiting' and we ignore interrupts while 'waiting'. We know we'll destroy all the queue state with these pending interrupts before looking at them again and we know all the TRs will have been completed or rescheduled. So either way we're covered. Also, tidy up the failure case as well: failing a queue is a superset of disabling it, so no need to call disable first. This solves solves some locking issues with recursion since we don't need to recurse.. Set the qpair state of failed queues to RECOVERY_FAILED and stop scheduling the watchdog. Assert we're not failed when we're enabling a qpair, since failure currently is one-way. Make failure a little less verbose. Next, kill the pre/post reset stuff. It's completely bogus since we disable the qparis, we don't need to also hold the lock through the reset: disabling will cause the ISR to return early. This keeps us from recursing on the recovery lock when resuming. We only need the recovery lock to avoid a specific race between the timer and the ISR. Finally, kill NVME_RESET_2X. It'S been a major release since we put it in and nobody has used it as far as I can tell. And it was a motivator for the pre/post uglification. These are all interrelated, so need to be done at the same time. Sponsored by: Netflix Reviewed by: jhb Tested by: jhb (made sure suspend / resume worked) MFC After: 3 days Differential Revision: https://reviews.freebsd.org/D41866 (cherry picked from commit da8324a9258f1791cd10423103c1746646e33104) (cherry picked from commit 81b118e842f16ff5e1132212f966e23cb0f8e316) Approved-by: re (cperciva) --- sys/dev/nvme/nvme_ctrlr.c | 49 +++++-------------------------------------- sys/dev/nvme/nvme_private.h | 1 + sys/dev/nvme/nvme_qpair.c | 51 ++++++++++++++++++++++++++++++++------------- 3 files changed, 42 insertions(+), 59 deletions(-) diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index c4a750901743..30a5ee81b2a4 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -217,12 +217,15 @@ nvme_ctrlr_fail(struct nvme_controller *ctrlr) { int i; + /* + * No need to disable queues before failing them. Failing is a superet + * of disabling (though pedantically we'd abort the AERs silently with + * a different error, though when we fail, that hardly matters). + */ ctrlr->is_failed = true; - nvme_admin_qpair_disable(&ctrlr->adminq); nvme_qpair_fail(&ctrlr->adminq); if (ctrlr->ioq != NULL) { for (i = 0; i < ctrlr->num_io_queues; i++) { - nvme_io_qpair_disable(&ctrlr->ioq[i]); nvme_qpair_fail(&ctrlr->ioq[i]); } } @@ -416,34 +419,6 @@ nvme_ctrlr_disable_qpairs(struct nvme_controller *ctrlr) } } -static void -nvme_pre_reset(struct nvme_controller *ctrlr) -{ - /* - * Make sure that all the ISRs are done before proceeding with the reset - * (and also keep any stray interrupts that happen during this process - * from racing this process). For startup, this is a nop, since the - * hardware is in a good state. But for recovery, where we randomly - * reset the hardware, this ensure that we're not racing the ISRs. - */ - mtx_lock(&ctrlr->adminq.recovery); - for (int i = 0; i < ctrlr->num_io_queues; i++) { - mtx_lock(&ctrlr->ioq[i].recovery); - } -} - -static void -nvme_post_reset(struct nvme_controller *ctrlr) -{ - /* - * Reset complete, unblock ISRs - */ - mtx_unlock(&ctrlr->adminq.recovery); - for (int i = 0; i < ctrlr->num_io_queues; i++) { - mtx_unlock(&ctrlr->ioq[i].recovery); - } -} - static int nvme_ctrlr_hw_reset(struct nvme_controller *ctrlr) { @@ -1236,9 +1211,7 @@ nvme_ctrlr_reset_task(void *arg, int pending) int status; nvme_ctrlr_devctl_log(ctrlr, "RESET", "resetting controller"); - nvme_pre_reset(ctrlr); status = nvme_ctrlr_hw_reset(ctrlr); - nvme_post_reset(ctrlr); if (status == 0) nvme_ctrlr_start(ctrlr, true); else @@ -1725,19 +1698,8 @@ nvme_ctrlr_resume(struct nvme_controller *ctrlr) if (ctrlr->is_failed) return (0); - nvme_pre_reset(ctrlr); if (nvme_ctrlr_hw_reset(ctrlr) != 0) goto fail; -#ifdef NVME_2X_RESET - /* - * Prior to FreeBSD 13.1, FreeBSD's nvme driver reset the hardware twice - * to get it into a known good state. However, the hardware's state is - * good and we don't need to do this for proper functioning. - */ - if (nvme_ctrlr_hw_reset(ctrlr) != 0) - goto fail; -#endif - nvme_post_reset(ctrlr); /* * Now that we've reset the hardware, we can restart the controller. Any @@ -1754,7 +1716,6 @@ fail: * the controller. However, we have to return success for the resume * itself, due to questionable APIs. */ - nvme_post_reset(ctrlr); nvme_printf(ctrlr, "Failed to reset on resume, failing.\n"); nvme_ctrlr_fail(ctrlr); (void)atomic_cmpset_32(&ctrlr->is_resetting, 1, 0); diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index a6239f30f3bf..496bd8229e0a 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -150,6 +150,7 @@ struct nvme_tracker { enum nvme_recovery { RECOVERY_NONE = 0, /* Normal operations */ RECOVERY_WAITING, /* waiting for the reset to complete */ + RECOVERY_FAILED, /* We have failed, no more I/O */ }; struct nvme_qpair { struct nvme_controller *ctrlr; diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 4e37aa0e1020..9806096de81d 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -945,22 +945,38 @@ nvme_admin_qpair_abort_aers(struct nvme_qpair *qpair) { struct nvme_tracker *tr; + /* + * nvme_complete_tracker must be called without the qpair lock held. It + * takes the lock to adjust outstanding_tr list, so make sure we don't + * have it yet (since this is a general purpose routine). We take the + * lock to make the list traverse safe, but have to drop the lock to + * complete any AER. We restart the list scan when we do this to make + * this safe. There's interlock with the ISR so we know this tracker + * won't be completed twice. + */ + mtx_assert(&qpair->lock, MA_NOTOWNED); + + mtx_lock(&qpair->lock); tr = TAILQ_FIRST(&qpair->outstanding_tr); while (tr != NULL) { if (tr->req->cmd.opc == NVME_OPC_ASYNC_EVENT_REQUEST) { + mtx_unlock(&qpair->lock); nvme_qpair_manual_complete_tracker(tr, NVME_SCT_GENERIC, NVME_SC_ABORTED_SQ_DELETION, 0, ERROR_PRINT_NONE); + mtx_lock(&qpair->lock); tr = TAILQ_FIRST(&qpair->outstanding_tr); } else { tr = TAILQ_NEXT(tr, tailq); } } + mtx_unlock(&qpair->lock); } void nvme_admin_qpair_destroy(struct nvme_qpair *qpair) { + mtx_assert(&qpair->lock, MA_NOTOWNED); nvme_admin_qpair_abort_aers(qpair); nvme_qpair_destroy(qpair); @@ -1011,17 +1027,6 @@ nvme_qpair_timeout(void *arg) mtx_assert(&qpair->recovery, MA_OWNED); - /* - * If the controller has failed, give up. We're never going to change - * state from a failed controller: no further transactions are possible. - * We go ahead and let the timeout expire in many cases for simplicity. - */ - if (qpair->ctrlr->is_failed) { - nvme_printf(ctrlr, "Controller failed, giving up\n"); - qpair->timer_armed = false; - return; - } - switch (qpair->recovery_state) { case RECOVERY_NONE: /* @@ -1108,6 +1113,11 @@ nvme_qpair_timeout(void *arg) nvme_printf(ctrlr, "Waiting for reset to complete\n"); idle = false; /* We want to keep polling */ break; + case RECOVERY_FAILED: + KASSERT(qpair->ctrlr->is_failed, + ("Recovery state failed w/o failed controller\n")); + idle = true; /* nothing to monitor */ + break; } /* @@ -1297,6 +1307,8 @@ nvme_qpair_enable(struct nvme_qpair *qpair) mtx_assert(&qpair->recovery, MA_OWNED); if (mtx_initialized(&qpair->lock)) mtx_assert(&qpair->lock, MA_OWNED); + KASSERT(qpair->recovery_state != RECOVERY_FAILED, + ("Enabling a failed qpair\n")); qpair->recovery_state = RECOVERY_NONE; } @@ -1421,12 +1433,13 @@ void nvme_admin_qpair_disable(struct nvme_qpair *qpair) { mtx_lock(&qpair->recovery); - mtx_lock(&qpair->lock); + mtx_lock(&qpair->lock); nvme_qpair_disable(qpair); + mtx_unlock(&qpair->lock); + nvme_admin_qpair_abort_aers(qpair); - mtx_unlock(&qpair->lock); mtx_unlock(&qpair->recovery); } @@ -1451,18 +1464,27 @@ nvme_qpair_fail(struct nvme_qpair *qpair) if (!mtx_initialized(&qpair->lock)) return; + mtx_lock(&qpair->recovery); + qpair->recovery_state = RECOVERY_FAILED; + mtx_unlock(&qpair->recovery); + mtx_lock(&qpair->lock); + if (!STAILQ_EMPTY(&qpair->queued_req)) { + nvme_printf(qpair->ctrlr, "failing queued i/o\n"); + } while (!STAILQ_EMPTY(&qpair->queued_req)) { req = STAILQ_FIRST(&qpair->queued_req); STAILQ_REMOVE_HEAD(&qpair->queued_req, stailq); - nvme_printf(qpair->ctrlr, "failing queued i/o\n"); mtx_unlock(&qpair->lock); nvme_qpair_manual_complete_request(qpair, req, NVME_SCT_GENERIC, NVME_SC_ABORTED_BY_REQUEST); mtx_lock(&qpair->lock); } + if (!TAILQ_EMPTY(&qpair->outstanding_tr)) { + nvme_printf(qpair->ctrlr, "failing outstanding i/o\n"); + } /* Manually abort each outstanding I/O. */ while (!TAILQ_EMPTY(&qpair->outstanding_tr)) { tr = TAILQ_FIRST(&qpair->outstanding_tr); @@ -1470,7 +1492,6 @@ nvme_qpair_fail(struct nvme_qpair *qpair) * Do not remove the tracker. The abort_tracker path will * do that for us. */ - nvme_printf(qpair->ctrlr, "failing outstanding i/o\n"); mtx_unlock(&qpair->lock); nvme_qpair_manual_complete_tracker(tr, NVME_SCT_GENERIC, NVME_SC_ABORTED_BY_REQUEST, DO_NOT_RETRY, ERROR_PRINT_ALL); From nobody Thu Sep 28 22:28:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmY4JM1z4vhqW; Thu, 28 Sep 2023 22:28: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 4RxSmY30lGz3QVF; Thu, 28 Sep 2023 22:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695940093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KHsg3zvPg/WP9W4crtdb9YCGnin7CFj6DF2lr3hbMNI=; b=KJJPKeXF/4E5TMeAzL9J+96reLpjM8Qfu5y3G18BqH8CVx9wOI14n0R1HgLAQxNJqXcf6U 80JjH8MqUb2gAUUb1xWP9B4HsZHre66ky6ULqsipFthEgm/YGxjQpJ9IEJ7yOgr8FnOP6V E4oEeyrf8TovN/S+jduywQgPJyYpK+WeE72y9Yq3vD9LSllYc4DYtq4Gmqxh4ZpaeaRDB0 rQJFpEvzB55ycPYNCr4RPecHTBZaxgFYWuDJlvwJ1CFneLYNpnSO1s/nuqORqAn4jj/q9z Nu+5Zi+b/kHZCz/DY99OYsib49Zlu1GkNepNUDjGkQpgMREbCiDOImeuIWw1zQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940093; a=rsa-sha256; cv=none; b=MlspUfGMRzRCIvW/o9aeDjul/IGxAF2YpSUzTqfz3YZdpMLWTgK+KFrDavzRbCK/U5iXe0 Y4+GyAlkXiK/TM59lZbJQgpeGf5mK11hSLB0CVLc5QE4IflW+kQI0enU2qDIi7EYVt8Dp8 jU56bR8fnKQ89HLNmQP0sfYxTfj/n2bNNe82JezU+ml2SjTKEC5L5uwATbOY3VJupBVzrw 5SVEEOqG6uHMnfWgo4LesZkgvlpt434B27SBGmEn9A5bjzlR8p8qMTKrhxY4qvviEjsssP xdTyoCLfr8Zgy2yVaPxTj0vDsGbAkE2uR6EZKiUtFAhKHZ8dh/p5JEqEINIGvg== 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=1695940093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KHsg3zvPg/WP9W4crtdb9YCGnin7CFj6DF2lr3hbMNI=; b=jUI6eEGNrxEZZU3/EFCzOTjNfFBwVIq7F8yP2wE6IDz8rnDDPlRMeVeqv/k6QS6W2X1Eb1 PkRA77g/aMXO5YcN1SsyFkrQahhuTTrBkUgHNLHTeYagKUYInEmWoLOkiC+sMPOQZsOxtK oUrwUV9GYOblA8G42PFqZebSsGJIfv9QrC58i4NWUflJUIMSD52z99Oe8dm2eZBiCDd47Y sCoUO/i9XqRq+P75Gu2CxIWiDDExo1cBL/VZPaMEhOaPbaiwjNFrL7X2rufLY4xujYbm/E 7zj2bqy5YbK2Gvi2pytXq06NBfYKfFf+G/CbmZf//xE/uXd0SgCFJPkNanNsBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmY219wzgQD; Thu, 28 Sep 2023 22:28: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 38SMSDHl073845; Thu, 28 Sep 2023 22:28:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMSDVa073842; Thu, 28 Sep 2023 22:28:13 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:13 GMT Message-Id: <202309282228.38SMSDVa073842@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: eeac591b1289 - releng/14.0 - nvme: Supress noise messages List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: eeac591b12890436983c0ce4a5d3269a4b77ca3a Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=eeac591b12890436983c0ce4a5d3269a4b77ca3a commit eeac591b12890436983c0ce4a5d3269a4b77ca3a Author: Warner Losh AuthorDate: 2023-09-28 20:46:01 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:26:17 +0000 nvme: Supress noise messages When we're suspending, we get messages about waiting for the controller to reset. These are in error: we're not waiting for it to reset. We put the recovery state as part of suspending, so we should suppress these as a false positive. Also remove a stray debug that's left over from earlier versions of the recovery code that no longer makes sense. Sponsored by: Netflix (cherry picked from commit 1d6021cd72689f54093af4ed77066a2f8abde664) (cherry picked from commit 3cd49bc5b33fed7c305bfbf4b0c014520e65bc02) Approved-by: re (cperciva) --- sys/dev/nvme/nvme_qpair.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 9806096de81d..cd0057f444b8 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -1104,13 +1104,20 @@ nvme_qpair_timeout(void *arg) nvme_printf(ctrlr, "Resetting controller due to a timeout%s.\n", (csts == 0xffffffff) ? " and possible hot unplug" : (cfs ? " and fatal error status" : "")); - nvme_printf(ctrlr, "RECOVERY_WAITING\n"); qpair->recovery_state = RECOVERY_WAITING; nvme_ctrlr_reset(ctrlr); idle = false; /* We want to keep polling */ break; case RECOVERY_WAITING: - nvme_printf(ctrlr, "Waiting for reset to complete\n"); + /* + * These messages aren't interesting while we're suspended. We + * put the queues into waiting state while + * suspending. Suspending takes a while, so we'll see these + * during that time and they aren't diagnostic. At other times, + * they indicate a problem that's worth complaining about. + */ + if (!device_is_suspended(ctrlr->dev)) + nvme_printf(ctrlr, "Waiting for reset to complete\n"); idle = false; /* We want to keep polling */ break; case RECOVERY_FAILED: From nobody Thu Sep 28 22:28:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmZ6y7Sz4vhbf; Thu, 28 Sep 2023 22:28: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 4RxSmZ3y2Lz3QVT; Thu, 28 Sep 2023 22:28:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695940094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ikg07/ix3sfJF4zwdQTMrfnakYe0F2e71pxgds96ehk=; b=eZnWU3tYYTFRwnhoIpY6Yfu0Vvk+WY0JZN5W1NDIxLE/aPIvtO8H1QaTSd9Rjes1GQLPhR 57WBJMwVMqXplxA7fBPBArgbq9p98kTpBnrae18IRCQaYkci5Yu32lWMKrFL/F1z9KH+Im rCT9tU0BeRGPyqaL5XVz/0MoSXcc5N4GnLUYKqr6509dDU19ocJPRsiI+9bCAUHg8XcE0U OxGQBz4YoG8yIU5BKvaiMamTZg4sQLoOML8IDg7lSczB6dj55DnVcQXCF/BNH+rFXexz3F VLsFqAZe4hUOZHKLyrplWmcYje3AGSUOK8Ky7QSClb2yf9GjY6Jf/77e+J+gew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940094; a=rsa-sha256; cv=none; b=VHDHvouYBvnNkJfXDnZcdpICOjnwJgjIzdjGJcMbXOieVe1QXgfX4Uale6LPTxCuObyyNH DqaUiK0tMBII99BobQ4TN0i4hozLsT+4wzOqdCl2iudFOdZa3HLdcIhE+bittcaaxDFqvU Q2x9ZUkfsPGPJjVRbtawEiZ9k6gAZEgZBPX3IlBkCHsxN0sGWLVYUH0HasQhR8tNAQF/Lk sAmb5jfxKlAdpFjmJndT/v9ZEGO8C2pdH3xbIQOEewENw+aTxrrHsOFBvK9ku/xXk6nE6I pQk4a+XtdvKYSsLQIk86Yy6egXw0F99Xb5HEvtRAhSynd4L16sIvCDJyDsgI9A== 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=1695940094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ikg07/ix3sfJF4zwdQTMrfnakYe0F2e71pxgds96ehk=; b=rRdUbvZfimHBciaSy2WHQBCc+1HnK/eToB411v5JZPZhufN9xqiiS8xJPEjNsGnTW66y5t dfVVRxdhW4tvO/CJy5v6DIZBwwKBUi4RpARVg+aV9JWVQDBzEXRV5LzplqJ/QAftZssMHE mp2CaUtFZrPmTz2GvNIkbhgg0yuVre7HHPQKVXWHWTzwiNz2a6ggdBBsyW9TwFFfH5PA37 5gRlcrCFgzUS4+7zorPzMOYGCTkXZIQrhOw7VNWbTxlEP6M5lnP0+ejHPdJKkbxQXxGICr vQvP9kvaoiPNKc41pahOvVzZjtFnnrtcP6la3wrgn3NGis78pqgSabqS4EEtVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmZ349Pzfx5; Thu, 28 Sep 2023 22:28: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 38SMSErq073899; Thu, 28 Sep 2023 22:28:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMSE62073896; Thu, 28 Sep 2023 22:28:14 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:14 GMT Message-Id: <202309282228.38SMSE62073896@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: fcafa2453102 - releng/14.0 - timerfd: fix up a memory leak and missing locking List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: fcafa24531021555976b4945d9c58667c0f75ca2 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fcafa24531021555976b4945d9c58667c0f75ca2 commit fcafa24531021555976b4945d9c58667c0f75ca2 Author: Mateusz Guzik AuthorDate: 2023-08-25 14:21:39 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:26:19 +0000 timerfd: fix up a memory leak and missing locking timerfd01 from ltp passes (and some other don't), but none of the tests crash the kernel. This is a bare minimum patch to fix up the immediate regression. Reported by: yasu (cherry picked from commit 02f534b57f84d6f4f97c337b05b383c8b3aaf18c) Approved by: re (cperciva@) (cherry picked from commit 8c496b26641e3d86b0c9db0ed2b4598093df6d5a) Approved-by: re (cperciva) --- sys/kern/sys_timerfd.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/sys/kern/sys_timerfd.c b/sys/kern/sys_timerfd.c index 6948fa059b8c..2bf2a05c443c 100644 --- a/sys/kern/sys_timerfd.c +++ b/sys/kern/sys_timerfd.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -59,7 +60,11 @@ #endif static MALLOC_DEFINE(M_TIMERFD, "timerfd", "timerfd structures"); -static LIST_HEAD(, timerfd) timerfd_head; + +static struct sx timerfd_list_lock; +static LIST_HEAD(, timerfd) timerfd_list; +SX_SYSINIT(timerfd, &timerfd_list_lock, "timerfd_list_lock"); + static struct unrhdr64 tfdino_unr; #define TFD_NOJUMP 0 /* Realtime clock has not jumped. */ @@ -125,7 +130,8 @@ timerfd_jumped(void) struct timespec boottime, diff; timerfd_getboottime(&boottime); - LIST_FOREACH(tfd, &timerfd_head, entry) { + sx_xlock(&timerfd_list_lock); + LIST_FOREACH(tfd, &timerfd_list, entry) { mtx_lock(&tfd->tfd_lock); if (tfd->tfd_clockid != CLOCK_REALTIME || (tfd->tfd_timflags & TFD_TIMER_ABSTIME) == 0 || @@ -160,6 +166,7 @@ timerfd_jumped(void) tfd->tfd_boottim = boottime; mtx_unlock(&tfd->tfd_lock); } + sx_xunlock(&timerfd_list_lock); } static int @@ -314,11 +321,14 @@ timerfd_close(struct file *fp, struct thread *td) { struct timerfd *tfd = fp->f_data; + sx_xlock(&timerfd_list_lock); + LIST_REMOVE(tfd, entry); + sx_xunlock(&timerfd_list_lock); + callout_drain(&tfd->tfd_callout); seldrain(&tfd->tfd_sel); knlist_destroy(&tfd->tfd_sel.si_note); mtx_destroy(&tfd->tfd_lock); - LIST_REMOVE(tfd, entry); free(tfd, M_TIMERFD); fp->f_ops = &badfileops; @@ -420,9 +430,11 @@ kern_timerfd_create(struct thread *td, int clockid, int flags) if ((flags & TFD_CLOEXEC) != 0) fflags |= O_CLOEXEC; + error = falloc(td, &fp, &fd, fflags); + if (error != 0) + return (error); + tfd = malloc(sizeof(*tfd), M_TIMERFD, M_WAITOK | M_ZERO); - if (tfd == NULL) - return (ENOMEM); tfd->tfd_clockid = (clockid_t)clockid; tfd->tfd_flags = flags; tfd->tfd_ino = alloc_unr64(&tfdino_unr); @@ -431,16 +443,15 @@ kern_timerfd_create(struct thread *td, int clockid, int flags) knlist_init_mtx(&tfd->tfd_sel.si_note, &tfd->tfd_lock); timerfd_getboottime(&tfd->tfd_boottim); getnanotime(&tfd->tfd_birthtim); - LIST_INSERT_HEAD(&timerfd_head, tfd, entry); + sx_xlock(&timerfd_list_lock); + LIST_INSERT_HEAD(&timerfd_list, tfd, entry); + sx_xunlock(&timerfd_list_lock); - error = falloc(td, &fp, &fd, fflags); - if (error != 0) - return (error); fflags = FREAD; if ((flags & TFD_NONBLOCK) != 0) fflags |= FNONBLOCK; - finit(fp, fflags, DTYPE_TIMERFD, tfd, &timerfdops); + fdrop(fp, td); td->td_retval[0] = fd; From nobody Thu Sep 28 22:28:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmb5X3Qz4vhYJ; Thu, 28 Sep 2023 22:28: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 4RxSmb55xYz3QXm; Thu, 28 Sep 2023 22:28:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695940095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NTYQN7pRA8oAY/00N1vrMf1CIYEY+4vVY/H334YfTOE=; b=LrOAN/dcOnJJQl65qxOeWjZEMkIAuzPBObqJmiEc76DkLgKSyCw5JggqZm8kqNtBbkeh/u BapJUBuQmnpO7zDxcOcw0wvH2Th9wVoZU6lWce1KcV5KXKSR4cnwVN13ESLiU11Zqy9ddC 8kRtDlAptoOJk7JAun/4CPDFyVpIakZ3tBAjnwwt9MLsL3KrcDrHSybiI2Ds78XRxY4KAM 7xlkJETj/7en7AQH1bVQo1pWZhDr8BmsuDfZCTzczDvPdXa67VcMAc5kO7PiGiUH9oh+lz qsHCGsmpgAt3zYRUJjjN6PgaABrN1qe5WF1leuqXrCbdz7iCLxQZ4bKLzzR6yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940095; a=rsa-sha256; cv=none; b=F3HTGM1xEqaIFQNDhetPgHYoyFg10hb3wO7/u3wh0DrEGeG/dAb7a1+Z+taM4aQ/UO6BWp S574zi6p+21BxUBLDp6WS2DbrpS1SlrTwqLKE/fsS3tFQmb5h95madza9Nu0Rl8QoYAXNp xgQQSmBvS2q+reyPZlCg433fJEINzYGKUAw698LMxcs5QUWFUwIy7aH18y0RKgmvvercpN ++l0V+gyifsP/d4HtWC9dTG6pwfuUg4pogC6c5WB7qfRg7jeD0tVdntPcKg+Y4bGtuIr6f bD6EaPdBRAVQhS4Il2xC1ARIPZu1BOwlGY29p+qpFPMn2/S8DYDI2NUSWQdRPw== 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=1695940095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NTYQN7pRA8oAY/00N1vrMf1CIYEY+4vVY/H334YfTOE=; b=DMdnWjMaijt9AeAr2ZpMYKQqM3qkN88TR7LUfrryu0qu/YKiVpGSrop8CayQh7QvaM/6/J z7T3PP3gYdJvRpjW0enSX4/mafcDxgkjffPocUxAu92zqcWpGnuIzA3HtaCjMbVcEU+IJu grcVAsdAINRWIG6jMvI+9pC4Hma1V3Owwpo6rwSm0ICG/+bOG+MJF1yuc5hwloqM00iHDv 623mx5QCcN42iddTDQcrD+zX9ZwgU3bUG88dXPNL+Zz52Vyysyxn8aGgmjun+6mpN1SayY 8EtLlAMjJ/2Aps6nFTClWUPQfrzNvh4QVe+AaSvmI+KJAalMtmC0XPIFpSBaUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmb44RVzgB7; Thu, 28 Sep 2023 22:28: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 38SMSFSr073948; Thu, 28 Sep 2023 22:28:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMSFpD073945; Thu, 28 Sep 2023 22:28:15 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:15 GMT Message-Id: <202309282228.38SMSFpD073945@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: fa786d4da669 - releng/14.0 - timerfd: compute fflags before calling falloc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: fa786d4da669dcb02884d79565f6dd1b8e0db1c7 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fa786d4da669dcb02884d79565f6dd1b8e0db1c7 commit fa786d4da669dcb02884d79565f6dd1b8e0db1c7 Author: Mateusz Guzik AuthorDate: 2023-08-25 15:09:21 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:26:20 +0000 timerfd: compute fflags before calling falloc While here dodge list locking in timerfd_adjust if empty. (cherry picked from commit 5eab523053db79b4bd4f926c7d7ac04444d9c1da) Approved by: re (cperciva@) (cherry picked from commit fc0c24482f11c403480c5219810a27d8591a8fb6) Approved-by: re (cperciva) --- sys/kern/sys_timerfd.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/kern/sys_timerfd.c b/sys/kern/sys_timerfd.c index 2bf2a05c443c..c8b45a926b02 100644 --- a/sys/kern/sys_timerfd.c +++ b/sys/kern/sys_timerfd.c @@ -129,6 +129,9 @@ timerfd_jumped(void) struct timerfd *tfd; struct timespec boottime, diff; + if (LIST_EMPTY(&timerfd_list)) + return; + timerfd_getboottime(&boottime); sx_xlock(&timerfd_list_lock); LIST_FOREACH(tfd, &timerfd_list, entry) { @@ -418,7 +421,7 @@ kern_timerfd_create(struct thread *td, int clockid, int flags) { struct file *fp; struct timerfd *tfd; - int error, fd, fflags = 0; + int error, fd, fflags; AUDIT_ARG_VALUE(clockid); AUDIT_ARG_FFLAGS(flags); @@ -427,8 +430,12 @@ kern_timerfd_create(struct thread *td, int clockid, int flags) return (EINVAL); if ((flags & ~(TFD_CLOEXEC | TFD_NONBLOCK)) != 0) return (EINVAL); + + fflags = FREAD; if ((flags & TFD_CLOEXEC) != 0) fflags |= O_CLOEXEC; + if ((flags & TFD_NONBLOCK) != 0) + fflags |= FNONBLOCK; error = falloc(td, &fp, &fd, fflags); if (error != 0) @@ -447,9 +454,6 @@ kern_timerfd_create(struct thread *td, int clockid, int flags) LIST_INSERT_HEAD(&timerfd_list, tfd, entry); sx_xunlock(&timerfd_list_lock); - fflags = FREAD; - if ((flags & TFD_NONBLOCK) != 0) - fflags |= FNONBLOCK; finit(fp, fflags, DTYPE_TIMERFD, tfd, &timerfdops); fdrop(fp, td); From nobody Thu Sep 28 22:28:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmd0Njhz4vhbj; Thu, 28 Sep 2023 22:28: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 4RxSmc628Tz3Qgj; Thu, 28 Sep 2023 22:28:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695940097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cnt/Zt9hMDslVZ7okw1EgXqT6M8s5aoT4do6NhDu8cs=; b=gVa6kyk9gji6G9w/lq42X7SC9V6vcNWbipkjlQEyIAAfly3pnM1GsR4qyFmpgKHixC/LFa /UI2gI2OpdDEjq9JudX7Jx66fYb8c5kJv7elHkXEFOAU5AxGGBjSjzr2cioipbpMniph6A n/B3fHvkl6mOvkjaxqgGW3RwQ635bMznhIR0/noBAqcBteyYHox2Tn8R40UFPCLVJEZoC3 /bBAK4di1fLvXu++pCSVC1trKdIA+engfIIOotI23NKsC2tmZgT4v75K/uiK2elm4rj1rY /kf/TPQPhUVwgAjf5RlXCTpYzZLom1/7iOn/v6UcUGkvnaTIKZqA11qDeLqfhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940097; a=rsa-sha256; cv=none; b=XAglkmUMvCrShwEhT2pO8VX7ahwlv9dFdqQHqD3H7qGuLF28oymi50Gd/srGv2CiyZY4+N kTn0DoARNE1Atiqqfx4MEnorSWC+QUNSiitfRmBETtp6i0cmFv5A3ZJpAKlevj2/0bAH10 41c2cYaVEoRovxxPYDeIV4F9rA3S2lARY/a8wn+4tG5n2KgbUdAwX9P1aianGMWwO925kL VVFNmOe788J4kuSVz1UdCValBKMPjnxt10KYaSP9HnUfdTdXhmmpw6yOZJaVE0yLU/WzxW JDSpgDWYxz0U2UZxiXARyLwJdj9ahWr3uMF7SPVIzND4h9ct9tl2ejvNTsaixA== 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=1695940097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cnt/Zt9hMDslVZ7okw1EgXqT6M8s5aoT4do6NhDu8cs=; b=V+eVpLsqUtgJ05eErSCz1wsZbTlHdQTm9sA14HyGPHCCF8F6dBJLVUQWkbABKo+WMei22J aBvPCiiDR1IDMZdEIvP1ch0x+t/rWoHNjIL8erPQ8kJ0ox5ZhZaCXVJnqphjIspb5/EVCQ K7VGgCPfo/gWkaubQp8WxnVJjY2DjThpkhJKkuI0qIrkP1Q25bDj647jdkfDGwTcT4J7ai xi8Qh8HHdil0QBICgo4APBk/eHWfvhTSPXQ+vyT0VRm/klp2YLP6sAz8VeCnmOIaO3Q82f TWhoZYtYqBa/a218iUFc+sjVWF8A0YEs+yg9xHxx/73fU4jXRX1WIbkbWRdtQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmc55ZfzgF2; Thu, 28 Sep 2023 22:28: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 38SMSGof074002; Thu, 28 Sep 2023 22:28:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMSGSc073999; Thu, 28 Sep 2023 22:28:16 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:16 GMT Message-Id: <202309282228.38SMSGSc073999@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: d850e957e937 - releng/14.0 - timerfd: convert timerfd_list_lock from sx to mtx List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: d850e957e9370ba068e8a05099f0fb6fa84f6b52 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d850e957e9370ba068e8a05099f0fb6fa84f6b52 commit d850e957e9370ba068e8a05099f0fb6fa84f6b52 Author: Mateusz Guzik AuthorDate: 2023-09-17 15:01:33 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:26:22 +0000 timerfd: convert timerfd_list_lock from sx to mtx There was no good reason to use the former. This should prevent some head-scratching by an interested and qualified reader. (cherry picked from commit f4296cfb409a48de00bfa60e76f686c2b031876f) (cherry picked from commit a87dddf39e866015341003eeac76d736d993514a) Approved-by: re (cperciva) --- sys/kern/sys_timerfd.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/kern/sys_timerfd.c b/sys/kern/sys_timerfd.c index c8b45a926b02..e4d2f10f28ef 100644 --- a/sys/kern/sys_timerfd.c +++ b/sys/kern/sys_timerfd.c @@ -61,9 +61,9 @@ static MALLOC_DEFINE(M_TIMERFD, "timerfd", "timerfd structures"); -static struct sx timerfd_list_lock; +static struct mtx timerfd_list_lock; static LIST_HEAD(, timerfd) timerfd_list; -SX_SYSINIT(timerfd, &timerfd_list_lock, "timerfd_list_lock"); +MTX_SYSINIT(timerfd, &timerfd_list_lock, "timerfd_list_lock", MTX_DEF); static struct unrhdr64 tfdino_unr; @@ -133,7 +133,7 @@ timerfd_jumped(void) return; timerfd_getboottime(&boottime); - sx_xlock(&timerfd_list_lock); + mtx_lock(&timerfd_list_lock); LIST_FOREACH(tfd, &timerfd_list, entry) { mtx_lock(&tfd->tfd_lock); if (tfd->tfd_clockid != CLOCK_REALTIME || @@ -169,7 +169,7 @@ timerfd_jumped(void) tfd->tfd_boottim = boottime; mtx_unlock(&tfd->tfd_lock); } - sx_xunlock(&timerfd_list_lock); + mtx_unlock(&timerfd_list_lock); } static int @@ -324,9 +324,9 @@ timerfd_close(struct file *fp, struct thread *td) { struct timerfd *tfd = fp->f_data; - sx_xlock(&timerfd_list_lock); + mtx_lock(&timerfd_list_lock); LIST_REMOVE(tfd, entry); - sx_xunlock(&timerfd_list_lock); + mtx_unlock(&timerfd_list_lock); callout_drain(&tfd->tfd_callout); seldrain(&tfd->tfd_sel); @@ -450,9 +450,9 @@ kern_timerfd_create(struct thread *td, int clockid, int flags) knlist_init_mtx(&tfd->tfd_sel.si_note, &tfd->tfd_lock); timerfd_getboottime(&tfd->tfd_boottim); getnanotime(&tfd->tfd_birthtim); - sx_xlock(&timerfd_list_lock); + mtx_lock(&timerfd_list_lock); LIST_INSERT_HEAD(&timerfd_list, tfd, entry); - sx_xunlock(&timerfd_list_lock); + mtx_unlock(&timerfd_list_lock); finit(fp, fflags, DTYPE_TIMERFD, tfd, &timerfdops); From nobody Thu Sep 28 22:28:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmf1k6Lz4vhWS; Thu, 28 Sep 2023 22:28: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 4RxSmf0Bj7z3QqZ; Thu, 28 Sep 2023 22:28:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695940098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r5LSzKWn6FIxcGeF280lo5o60SaxDEBzcy19BezrEpg=; b=kaQsfliLTIBIQqVNoKOdYPnsR7Ro2Pv0esFBRmpSL0+UDDS5wp4Wh1krqaOHjJdevHgNf6 RX57vtsOavVqBFVM9DDPH9GJJGxSjyUNhkJaOPGQD4aHh1gI+FqYaTyEpFOLIWV/cVs3Gn NPlkLP4nLkRoXmzPlWYijooFVc2RKL1IyT6e6EGDF8pU8F7d7oTnb4vgqOpvRe5MvUbTzZ dJJqW9D9meTWqxxZydQxyrHpmkNlk5yJwJ/On4Vcwmj91cuykJou7gCEkdo0sCbKhKks8Y 8Ygb8bMI9a9YNj8DADRNrR9Vzs46H6DYofK32h4Jx8f+FkrVF9ChpXn4Mi1VoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940098; a=rsa-sha256; cv=none; b=HkbrBC1UQPP7cCRF/fVjWLNlqyGK+ba9U8Q6/hg+rG5h847jnWyh6Z4yz1K7uvOFuMJJo8 4KB1Pi2vyQWxZWaLnvphHz+31WLm1GqbbAczjZyTQKP4Lq54vfY7wdoVo89BEcmKlmXMBB 0Ahx2mmJdIvGn4AikQ0Y2B8iLNYGyv6yMohi8Fzg2BDmTvgcVQX5KhV0MdyY3i2raZ1p4X rO40ka705lQgM1+QedyUFTviuccHvLg0dShaQYyv6B3gNAldOENPzskh16KXYJlI9u3wnj 0X24341NTtfROXgMWh5FfDUmmZykZWphZ53aFxi+mzTFivnL9K1G2/pqQ2bwuQ== 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=1695940098; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r5LSzKWn6FIxcGeF280lo5o60SaxDEBzcy19BezrEpg=; b=lxITpE3NiGVISue5EL1n3uuqKvSg+cpnJmOp5Yb1voY2whIftDQL8XeyrsZ8MCtslqcuB/ ZNwNfHg/LgWFMmk19V12n/b8Xw9UbLpeLNEPXEU04YzrsFau9TIUz/bX9QJ2e+9X+ejREY f/L/J5SfofxVkOOkrjSpbUFSlBNhNze9Q5l5J01x5e9XMoOl/8Q3qRJmcwPVziWpWgCROX qC+OIf5I3Gw8a0xs9pV9JIiFEBr6f50YzY3QNlxbXhtcdJKUvEJ/u+xrsQSi49BDKlb5Y1 jA9JEZfpieo3Kq6euYGUNBH5TBd4dswc97byDhaburur85hxjd8thK4AF6Ua7Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmd65sTzfx6; Thu, 28 Sep 2023 22:28: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 38SMSHFg074044; Thu, 28 Sep 2023 22:28:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMSH86074041; Thu, 28 Sep 2023 22:28:17 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:17 GMT Message-Id: <202309282228.38SMSH86074041@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: aebc51ee4791 - releng/14.0 - timerfd: Define a locking regime List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: aebc51ee479104bc92f5bfa97d1b970637cb24c5 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=aebc51ee479104bc92f5bfa97d1b970637cb24c5 commit aebc51ee479104bc92f5bfa97d1b970637cb24c5 Author: Jake Freeland AuthorDate: 2023-09-17 15:01:46 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:26:23 +0000 timerfd: Define a locking regime Define a locking regime for the members of struct timerfd and document it so future code can follow the standard. The lock legend can be found in a comment above struct timerfd. Additionally, * Add assertions based on locking regime. * Fill kn_data with the expiration count when EVFILT_READ is triggered. * Report st_ctim for stat(2). * Check if file has f_type == DTYPE_TIMERFD before assigning timerfd pointer to f_data. MFC After: 3 days Reviewed by: imp, kib, markj Differential Revision: https://reviews.freebsd.org/D41600 (cherry picked from commit a1f506156c4db885d3cc177c93e9c8a28d535d30) (cherry picked from commit d00e6d87745528be7acf58f39eaa148d8cb6c7c2) Approved-by: re (cperciva) --- sys/kern/sys_timerfd.c | 61 +++++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/sys/kern/sys_timerfd.c b/sys/kern/sys_timerfd.c index e4d2f10f28ef..a81b5ad0fade 100644 --- a/sys/kern/sys_timerfd.c +++ b/sys/kern/sys_timerfd.c @@ -73,28 +73,36 @@ static struct unrhdr64 tfdino_unr; #define TFD_CANCELED 4 /* Jumped, CANCEL_ON_SET=true. */ #define TFD_JUMPED (TFD_ZREAD | TFD_CANCELED) +/* + * One structure allocated per timerfd descriptor. + * + * Locking semantics: + * (t) locked by tfd_lock mtx + * (l) locked by timerfd_list_lock sx + * (c) const until freeing + */ struct timerfd { /* User specified. */ - struct itimerspec tfd_time; /* tfd timer */ - clockid_t tfd_clockid; /* timing base */ - int tfd_flags; /* creation flags */ - int tfd_timflags; /* timer flags */ + struct itimerspec tfd_time; /* (t) tfd timer */ + clockid_t tfd_clockid; /* (c) timing base */ + int tfd_flags; /* (c) creation flags */ + int tfd_timflags; /* (t) timer flags */ /* Used internally. */ - timerfd_t tfd_count; /* expiration count since last read */ - bool tfd_expired; /* true upon initial expiration */ - struct mtx tfd_lock; /* mtx lock */ - struct callout tfd_callout; /* expiration notification */ - struct selinfo tfd_sel; /* I/O alerts */ - struct timespec tfd_boottim; /* cached boottime */ - int tfd_jumped; /* timer jump status */ - LIST_ENTRY(timerfd) entry; /* entry in list */ + timerfd_t tfd_count; /* (t) expiration count since read */ + bool tfd_expired; /* (t) true upon initial expiration */ + struct mtx tfd_lock; /* tfd mtx lock */ + struct callout tfd_callout; /* (t) expiration notification */ + struct selinfo tfd_sel; /* (t) I/O alerts */ + struct timespec tfd_boottim; /* (t) cached boottime */ + int tfd_jumped; /* (t) timer jump status */ + LIST_ENTRY(timerfd) entry; /* (l) entry in list */ /* For stat(2). */ - ino_t tfd_ino; /* inode number */ - struct timespec tfd_atim; /* time of last read */ - struct timespec tfd_mtim; /* time of last settime */ - struct timespec tfd_birthtim; /* creation time */ + ino_t tfd_ino; /* (c) inode number */ + struct timespec tfd_atim; /* (t) time of last read */ + struct timespec tfd_mtim; /* (t) time of last settime */ + struct timespec tfd_birthtim; /* (c) creation time */ }; static void @@ -109,6 +117,7 @@ static inline void timerfd_getboottime(struct timespec *ts) { struct timeval tv; + getboottime(&tv); TIMEVAL_TO_TIMESPEC(&tv, ts); } @@ -274,6 +283,8 @@ filt_timerfdread(struct knote *kn, long hint) { struct timerfd *tfd = kn->kn_hook; + mtx_assert(&tfd->tfd_lock, MA_OWNED); + kn->kn_data = (int64_t)tfd->tfd_count; return (tfd->tfd_count > 0); } @@ -308,13 +319,13 @@ timerfd_stat(struct file *fp, struct stat *sb, struct ucred *active_cred) sb->st_uid = fp->f_cred->cr_uid; sb->st_gid = fp->f_cred->cr_gid; sb->st_blksize = PAGE_SIZE; - mtx_lock(&tfd->tfd_lock); - sb->st_ino = tfd->tfd_ino; sb->st_atim = tfd->tfd_atim; sb->st_mtim = tfd->tfd_mtim; - sb->st_birthtim = tfd->tfd_birthtim; mtx_unlock(&tfd->tfd_lock); + sb->st_ctim = sb->st_mtim; + sb->st_ino = tfd->tfd_ino; + sb->st_birthtim = tfd->tfd_birthtim; return (0); } @@ -342,15 +353,12 @@ static int timerfd_fill_kinfo(struct file *fp, struct kinfo_file *kif, struct filedesc *fdp) { - struct timerfd *tfd = fp->f_data; kif->kf_type = KF_TYPE_TIMERFD; - mtx_lock(&tfd->tfd_lock); kif->kf_un.kf_timerfd.kf_timerfd_clockid = tfd->tfd_clockid; kif->kf_un.kf_timerfd.kf_timerfd_flags = tfd->tfd_flags; kif->kf_un.kf_timerfd.kf_timerfd_addr = (uintptr_t)tfd; - mtx_unlock(&tfd->tfd_lock); return (0); } @@ -376,6 +384,7 @@ timerfd_curval(struct timerfd *tfd, struct itimerspec *old_value) { struct timespec curr_value; + mtx_assert(&tfd->tfd_lock, MA_OWNED); *old_value = tfd->tfd_time; if (timespecisset(&tfd->tfd_time.it_value)) { nanouptime(&curr_value); @@ -472,11 +481,11 @@ kern_timerfd_gettime(struct thread *td, int fd, struct itimerspec *curr_value) error = fget(td, fd, &cap_write_rights, &fp); if (error != 0) return (error); - tfd = fp->f_data; - if (tfd == NULL || fp->f_type != DTYPE_TIMERFD) { + if (fp->f_type != DTYPE_TIMERFD) { fdrop(fp, td); return (EINVAL); } + tfd = fp->f_data; mtx_lock(&tfd->tfd_lock); timerfd_curval(tfd, curr_value); @@ -504,11 +513,11 @@ kern_timerfd_settime(struct thread *td, int fd, int flags, error = fget(td, fd, &cap_write_rights, &fp); if (error != 0) return (error); - tfd = fp->f_data; - if (tfd == NULL || fp->f_type != DTYPE_TIMERFD) { + if (fp->f_type != DTYPE_TIMERFD) { fdrop(fp, td); return (EINVAL); } + tfd = fp->f_data; mtx_lock(&tfd->tfd_lock); getnanotime(&tfd->tfd_mtim); From nobody Thu Sep 28 22:28:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxSmg2qn6z4vhTF; Thu, 28 Sep 2023 22:28: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 4RxSmg0vfrz3QsX; Thu, 28 Sep 2023 22:28:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695940099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CYM68nB6Vw4eSGrlxAOF82y1BVxL0C2b3Kkj4KY25FA=; b=dKDK8LPlkixvGH5m3jH8hw92y91GB3d0ptEzW9HiqDOKA3Gs8YSvyJci6fl460J/qjm2ys QCvKoEdEMnPUqLKaUhUWXOhc6eMSvDQ4/DOtPG1vCeWn8MlhVTRzs8iq6oAIYjlyPSkIZ8 Vm2lS7lwP5GFVoJr8lhytXIiRlbUWLvTNSlvyHDtJRpBw7VfiOWAZWO9UKl9Z3aFiXLxQd zJQ5C0sT78euDCeVuHgoHSSNjB1DyttbaddK7YJKC3eOqC5H9pKMpj8XpgFIKDx0vh9GQ4 09PKrMABMjbo04zbN2UuPiLAXqIlC00aohzK6x52dThK3685nz5YiaIga7zfdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695940099; a=rsa-sha256; cv=none; b=B1OkYCOmvqsE5eiqnI8N7QkHPAI2SXGgJ3GP0sd0vJ59e/b0ty3mn7QyFlT17s5E9z7jpq 8Qv4HwCXo24p1u+YFhZLEwQqC8KwX0gvM4TzhSS1jxvODrg+coaQeVwhirxoh1m7e4743z 2T5Iihc/VnvOAXlJeEk3jI4VsRrUeehZhEYcpgaySaWo8OcXO20oTkPxCoLeCZn0IPuPNO RIn/m4BsiyHzwFpOnupPvbhiKObuAShCQ02csCvEdS3DNVlJ3yMWxsG9a1UKiEYqqAMP+m nebfGtczjTV+3okI+Wl7hMToThu31DGqCCU8bWICF02cgZyWjBaTKmMrjiEPxg== 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=1695940099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CYM68nB6Vw4eSGrlxAOF82y1BVxL0C2b3Kkj4KY25FA=; b=vOSjeO9NTg8EwIYwh+26YJNarT3aO1fM/d1dj+ZI5vJrujdU0P/IsngoRSEyXxVRHbgTQy AHAQsRTTb6JR1qHm19ZNMxorzUBtaaWriByuan110PEmDw/JYF59iWxJffIwWoTD67Onax zi1W1bzkYlrNx93yvaIH2Rx+OS4qqt/0ljI1PMK4ydJ2bK+0oVpYCVCYIdqfY5fA1L0lnX mdCoPaAHWGgwmDOvE0QYfaS2vRqN/CEuHotdudxn4BfHH/fTnhb9amfZ30/yoAt66gMwiB q7uDhPHCn7S5OdX1RCSdVc1BFT+7YmarmOhXVV25K0wElr+suyWVuh/sDUffPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxSmg01NGzg8v; Thu, 28 Sep 2023 22:28: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 38SMSIeZ074086; Thu, 28 Sep 2023 22:28:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38SMSIaA074083; Thu, 28 Sep 2023 22:28:18 GMT (envelope-from git) Date: Thu, 28 Sep 2023 22:28:18 GMT Message-Id: <202309282228.38SMSIaA074083@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: 40293a0995d9 - releng/14.0 - timerfd: Relocate 32-bit compat code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14.0 X-Git-Reftype: branch X-Git-Commit: 40293a0995d92717dc88bd7ccbf0d841b9a9d428 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=40293a0995d92717dc88bd7ccbf0d841b9a9d428 commit 40293a0995d92717dc88bd7ccbf0d841b9a9d428 Author: Jake Freeland AuthorDate: 2023-09-17 15:01:58 +0000 Commit: Warner Losh CommitDate: 2023-09-28 22:26:25 +0000 timerfd: Relocate 32-bit compat code 32-bit compatibility code is conventionally stored in sys/compat/freebsd32. Move freebsd32_timerfd_gettime() and freebsd32_timerfd_settime() from sys/kern/sys_timerfd.c to sys/compat/freebsd32/freebsd32_misc.c. MFC After: 3 days Reviewed by: imp, markj Differential Revision; https://reviews.freebsd.org/D41640 (cherry picked from commit 918966a27479b4fb7c4c8999c4926d83c2c081e5) (cherry picked from commit 27d567847b18275012bf39fb517dceee41b1ed33) Approved-by: re (cperciva) --- sys/compat/freebsd32/freebsd32_misc.c | 55 +++++++++++++++++++++++++++++++ sys/kern/sys_timerfd.c | 61 ----------------------------------- 2 files changed, 55 insertions(+), 61 deletions(-) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 22ee4897083e..c26e7b97e717 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -82,6 +82,7 @@ #include #include #include +#include #include #include #include @@ -3138,6 +3139,60 @@ freebsd32_ktimer_gettime(struct thread *td, return (error); } +int +freebsd32_timerfd_gettime(struct thread *td, + struct freebsd32_timerfd_gettime_args *uap) +{ + struct itimerspec curr_value; + struct itimerspec32 curr_value32; + int error; + + error = kern_timerfd_gettime(td, uap->fd, &curr_value); + if (error == 0) { + CP(curr_value, curr_value32, it_value.tv_sec); + CP(curr_value, curr_value32, it_value.tv_nsec); + CP(curr_value, curr_value32, it_interval.tv_sec); + CP(curr_value, curr_value32, it_interval.tv_nsec); + error = copyout(&curr_value32, uap->curr_value, + sizeof(curr_value32)); + } + + return (error); +} + +int +freebsd32_timerfd_settime(struct thread *td, + struct freebsd32_timerfd_settime_args *uap) +{ + struct itimerspec new_value, old_value; + struct itimerspec32 new_value32, old_value32; + int error; + + error = copyin(uap->new_value, &new_value32, sizeof(new_value32)); + if (error != 0) + return (error); + CP(new_value32, new_value, it_value.tv_sec); + CP(new_value32, new_value, it_value.tv_nsec); + CP(new_value32, new_value, it_interval.tv_sec); + CP(new_value32, new_value, it_interval.tv_nsec); + if (uap->old_value == NULL) { + error = kern_timerfd_settime(td, uap->fd, uap->flags, + &new_value, NULL); + } else { + error = kern_timerfd_settime(td, uap->fd, uap->flags, + &new_value, &old_value); + if (error == 0) { + CP(old_value, old_value32, it_value.tv_sec); + CP(old_value, old_value32, it_value.tv_nsec); + CP(old_value, old_value32, it_interval.tv_sec); + CP(old_value, old_value32, it_interval.tv_nsec); + error = copyout(&old_value32, uap->old_value, + sizeof(old_value32)); + } + } + return (error); +} + int freebsd32_clock_getcpuclockid2(struct thread *td, struct freebsd32_clock_getcpuclockid2_args *uap) diff --git a/sys/kern/sys_timerfd.c b/sys/kern/sys_timerfd.c index a81b5ad0fade..e245baed88be 100644 --- a/sys/kern/sys_timerfd.c +++ b/sys/kern/sys_timerfd.c @@ -54,11 +54,6 @@ #include -#ifdef COMPAT_FREEBSD32 -#include -#include -#endif - static MALLOC_DEFINE(M_TIMERFD, "timerfd", "timerfd structures"); static struct mtx timerfd_list_lock; @@ -598,59 +593,3 @@ sys_timerfd_settime(struct thread *td, struct timerfd_settime_args *uap) } return (error); } - -#ifdef COMPAT_FREEBSD32 -int -freebsd32_timerfd_gettime(struct thread *td, - struct freebsd32_timerfd_gettime_args *uap) -{ - struct itimerspec curr_value; - struct itimerspec32 curr_value32; - int error; - - error = kern_timerfd_gettime(td, uap->fd, &curr_value); - if (error == 0) { - CP(curr_value, curr_value32, it_value.tv_sec); - CP(curr_value, curr_value32, it_value.tv_nsec); - CP(curr_value, curr_value32, it_interval.tv_sec); - CP(curr_value, curr_value32, it_interval.tv_nsec); - error = copyout(&curr_value32, uap->curr_value, - sizeof(curr_value32)); - } - - return (error); -} - -int -freebsd32_timerfd_settime(struct thread *td, - struct freebsd32_timerfd_settime_args *uap) -{ - struct itimerspec new_value, old_value; - struct itimerspec32 new_value32, old_value32; - int error; - - error = copyin(uap->new_value, &new_value32, sizeof(new_value32)); - if (error != 0) - return (error); - CP(new_value32, new_value, it_value.tv_sec); - CP(new_value32, new_value, it_value.tv_nsec); - CP(new_value32, new_value, it_interval.tv_sec); - CP(new_value32, new_value, it_interval.tv_nsec); - if (uap->old_value == NULL) { - error = kern_timerfd_settime(td, uap->fd, uap->flags, - &new_value, NULL); - } else { - error = kern_timerfd_settime(td, uap->fd, uap->flags, - &new_value, &old_value); - if (error == 0) { - CP(old_value, old_value32, it_value.tv_sec); - CP(old_value, old_value32, it_value.tv_nsec); - CP(old_value, old_value32, it_interval.tv_sec); - CP(old_value, old_value32, it_interval.tv_nsec); - error = copyout(&old_value32, uap->old_value, - sizeof(old_value32)); - } - } - return (error); -} -#endif From nobody Fri Sep 29 00:18:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxWCR2Bphz4vq1p; Fri, 29 Sep 2023 00:18: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 4RxWCR1ftGz3Zlf; Fri, 29 Sep 2023 00:18:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695946691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mN6ZtMOMGXNlANfUF521YeFb7Zj15yLxwhvE8/dYrIA=; b=IGKujYizsYnaOm7W2U/XLaery+CtHaH3EM7AvMY4jORNjQqALTocjZ3qMcVhefi6jx2JJ/ 01D7a/R66qKtV3ApmuhDVtVqkRKGqBVihCUhMydX6oDHGmBwiBGSMogI1enIncHt5vfngr g4nyoJQNVcnu393hYXSFp2hqOuJIpKJTIFFsgwEiYEM7kZ3JFgAS80yq6sms0okQLWouDX OzZa1IdYmBOsTyv1YeJed0vNqVm2dtVebc6224h3CzSGXeg6m2YEcTuHUCAImlxO5T2xPK C2+ciiGYGfGgRi9Z6TlMz86+c9wW/lBLZJprd7F/LlGJ0f5ES2gUSNTCcMKRgA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695946691; a=rsa-sha256; cv=none; b=C6NWh8Jwc+kAgcJYZmjTSRSkmcf+G/e5w9UL82q+NVnRQM62BwFEXBjy20dCob6TT36nw2 8bRP84m8SpfRqa3SMV3WX9ZddB03Bfnu+Sb20qGqURcZFciXqwmSqIcEFfJmyb+4vOXqZB s/rkViskvQZuz11L16xqwlGkKQE+o5gIa2cm99netS8BX61D3sBOuZoQwyjsn8KY6evmvW dqJxJhoKDpahe/nVtkoDt4fS/vwdRLrYDhY8gQKeN3PoYT2rn8/Q73AYdjZeTx9QWBTIDV uEOqjJ8yBc2I+wcGR8hn7ES0aGeklr11tPvDsAB1uqa3Ch+sSSzNmHrrRVK7Jw== 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=1695946691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mN6ZtMOMGXNlANfUF521YeFb7Zj15yLxwhvE8/dYrIA=; b=GgP0Ev7lOqt3/yquXJUBLEPyerSHLfD7nN4q6v2YwQ1b302ZRqQudM+kdqmAYF/+A1te/8 BQq9yEVowal1l7BKDoHiuZvaSQSbQQ0Ew2fjz+TZOOT6vNUiJ+qA6IPq9DBZaHixae6KIG JYhgZoFoKazsv+F6r7MzeCvMMowsH8aHvJFH3c6lSodlOJv+0rIvvXI5vDrTORZIr1HHpg 0WUGU8xkl/Zg4rbY7UZGa0Xj04O6SDHA2dagWPZ9/wFEyfRjuU01AAQA+3HWsNwSvR6xTO dv+rap/GYJ/jzeDu4K2h6AeUgfOmyfSYdtV1vajTYzfF0tkmJr8EJAHgdQo6IQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxWCR0jRGzjKH; Fri, 29 Sep 2023 00:18: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 38T0IBGo056311; Fri, 29 Sep 2023 00:18:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38T0IBJW056308; Fri, 29 Sep 2023 00:18:11 GMT (envelope-from git) Date: Fri, 29 Sep 2023 00:18:11 GMT Message-Id: <202309290018.38T0IBJW056308@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Glen Barber Subject: git: ced511bd972a - releng/14.0 - release: update to BETA4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gjb X-Git-Repository: src X-Git-Refname: refs/heads/releng/14.0 X-Git-Reftype: branch X-Git-Commit: ced511bd972a29fd86515e4bd07310456808a88d Auto-Submitted: auto-generated The branch releng/14.0 has been updated by gjb: URL: https://cgit.FreeBSD.org/src/commit/?id=ced511bd972a29fd86515e4bd07310456808a88d commit ced511bd972a29fd86515e4bd07310456808a88d Author: Glen Barber AuthorDate: 2023-09-29 00:17:49 +0000 Commit: Glen Barber CommitDate: 2023-09-29 00:17:49 +0000 release: update to BETA4 Approved by: re (implicit) Sponsored by: GoFundMe https://www.gofundme.com/f/gjbbsd Sponsored by: PayPal https://paypal.me/gjbbsd --- sys/conf/newvers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index d33d2b82f0da..58dc89079e90 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -53,7 +53,7 @@ TYPE="FreeBSD" REVISION="14.0" -BRANCH="BETA3" +BRANCH="BETA4" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From nobody Fri Sep 29 00:29:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxWSF3lXBz4vqfw; Fri, 29 Sep 2023 00:29: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 4RxWSF2vN6z3bbX; Fri, 29 Sep 2023 00:29:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695947357; h=from:from:reply-to:subject:subject: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/0Efs0+4uLSJgiZxUPhACC83+Ku/eZa/teCW3ivgiA=; b=oI+fLMuK+Hn5v7736kMdpgVl8V/VW1z08eBbPeSovaFZhmSgpBAV6/2fUi4KYTNn5nkDh6 DKxja9CyIpq8QZW0ShRwNgEAxu/kB97AisrDYPKURWtYMpy6I5pmWPLPKqxDOsNO0B/PuT eta/JJp+/DglRZIueOustCe/PjGqX5nlDmxRoS/7WiWgrjdCeApL7iHp2Kr3Zn/vJ97kZw 07H6FoE8aexVALawNyzxKpyKwLE28YxRdHkSlOv8xdFTKEYLZtwXlgi4ivvljNWvwPNzck FaTmslhuO8b83bBtBBmveP/qzaSsaoz5yRBS3XZkGDdZxAWXb+Z8aeXh9/OCSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695947357; a=rsa-sha256; cv=none; b=NSlaUYayLQJP54/yr8rjrzAGa7cBlH+o+iiuLxv9WVG0z2GSwlvHAbhsBHIz58MbLxq2ep xqQ4aIhD1jgDjJ5Ka/zKpNhreQcBFt765gCwybrpnM5A82J36ZpWn/HubDfKlyLN/baRb2 AZN+vDFsIbgSkaehcyhqG8A42ahV7mU4V0mx9/eli0P1Lw3rkq0jG7wuNqb+x7lSYYg5Hf XlyvK58CNCa4pQ/UeUF9dzozvF9S4ziX9bdEjksBgRR067Sh2f4mNX7wNC/nhhjklLBXFg iIYLRA70APz8l+ylUPA3C9E3sKLG8xFa2TMR/e68MXbxlOzOoa5RkPR+Za17vA== 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=1695947357; h=from:from:reply-to:subject:subject: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/0Efs0+4uLSJgiZxUPhACC83+Ku/eZa/teCW3ivgiA=; b=e75DdUIRXBXxYShX1A9sDR5JUihKT+I76v6IiQE9Ccg5QDRtxOXM4fy6Sgfr0GwoXP3nJ8 U2bOdr5KZgBrrOBh/zKEI4wmyJeuk7CKKqFvxu8VN3Kf/XUedSw9vFqpr7P9rUBszHITsj niWCff5aTn/WqtBJtRddXwAk7RuFalGmxPIOBbbuhZ6uP0j+bdvfJV5NioBYu/kudGnH8/ Q1Fgsg/gZpMPYMomU83We5b/zHRTJ3jP1ouBj5anH+3UJuM5vA7XkxbTaldumvpSlYYGFQ QjTKAKxWjwj8IJlDBP9boD/psnQ9KKM6Y2RXln6U+ac988uq/1V7hMnoQmvt8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxWSF1wbnzjmD; Fri, 29 Sep 2023 00:29: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 38T0THPu072804; Fri, 29 Sep 2023 00:29:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38T0THXD072801; Fri, 29 Sep 2023 00:29:17 GMT (envelope-from git) Date: Fri, 29 Sep 2023 00:29:17 GMT Message-Id: <202309290029.38T0THXD072801@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: 9aa0bb1e9113 - stable/14 - Assert that ifnet_detach_sxlock is held where needed. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 9aa0bb1e911373541ecd039fc54270c08e2cffbe Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=9aa0bb1e911373541ecd039fc54270c08e2cffbe commit 9aa0bb1e911373541ecd039fc54270c08e2cffbe Author: Dag-Erling Smørgrav AuthorDate: 2023-09-08 10:06:01 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-29 00:28:18 +0000 Assert that ifnet_detach_sxlock is held where needed. Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D41770 (cherry picked from commit 9a071e4e576490370f26307405f12200218dec54) --- sys/net/if.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/net/if.c b/sys/net/if.c index fd4db49a658d..0128fb8039ee 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1128,6 +1128,8 @@ if_detach_internal(struct ifnet *ifp, bool vmove) shutdown = VNET_IS_SHUTTING_DOWN(ifp->if_vnet); #endif + sx_assert(&ifnet_detach_sxlock, SX_XLOCKED); + /* * At this point we know the interface still was on the ifnet list * and we removed it so we are in a stable state. From nobody Fri Sep 29 00:29:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxWSG4q9bz4vqPr; Fri, 29 Sep 2023 00:29: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 4RxWSG4L2Yz3bH5; Fri, 29 Sep 2023 00:29:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695947358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y4bfqLQouMps7zjZ5F9eI6VLp7OuL7gzVy8IePAJn5o=; b=Qkyg+t86OTTEND2BpAhPuhyDEtEPhWkmnZGqxVT0Sg0UF4k1OXkQ9wpOy4c0HYgqWXvvt+ N2JYlIlCA/MKC5I9NzAIftrNiW1C9PzIv0WlXpZ+R+fNv/mhwIYXlTpsVyMhAXqXvLmAa+ DKB8NKrXPerypn/8vkWMmYQRs3EIIJVm+0wZAAbSKIcJVQ7ZVMMmn/uC1rIANXj1WqUAW1 x64um569UpVhQbUbxfxFUmgJgE6CgsWoO9uqKOAVXwJgG5eti9ysPC9jdrWNK9YD1mdPn7 mUr/TT9TXO+hRskk3YPXaD7gUaBHuMONxdsgwxYzP4q2ISgCeS/47WA0OxyJxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695947358; a=rsa-sha256; cv=none; b=X+juYXGWzmlo31syjzf7H35G2bd8xmeMHFebek7Y5lPeMpv9czXebTEs/LNykLTzfQhjFq 0ts3tCRslE34nsCWFUZSybh/Lb0yx2iPp1g2kg9eVh4kyGT1ESnWgS7KwJN1oDxRM+ycQv eHOWzQJsm0eW8c6qbCdoRzhjQ8m32lD3CN5zRaMl+kK9Q0yn+S9Tqt//vDbsKeYIRyYjgv D/szUepDvtLZqI2/obJDeQARhsel1IXqG6iw73tz5mKu1esI6OFbPHXQYg5Tr9wuHmpOBY Fj5CjJTu8yFvrRLwj9/f3/BoTt9Amkj4fxV3kHsCNWjQM1ddIvMtnxFrleaidQ== 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=1695947358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y4bfqLQouMps7zjZ5F9eI6VLp7OuL7gzVy8IePAJn5o=; b=EwEH1/eUppjeXCMMAkOb5pMaiiCqZaGM5LsSYavmB2zI0fCjhCYxibZSNYs2V6ifWhQvll lLnyVqeoc3x/iToJ9wnOw5fAFfIU1kA7xjMpmBNJiuF9xFoF2ONf2FsIr5UB1AZVIicLPA 7ORl+DUpOF9OnYf9Z2mqAF7AUVvp7oTW/A6IpSIuGkoVVsusY35IFsDOx6E1jT5/k+LCG/ wibMDIIbJ0P2/zejhwvVqD6REnvBHfuObGgFSshslCEpHMJquZgIY0JrQK/UVwGPBKW//E 4xnMyDIZQL1OjEEdhf3fKHwwh+lJMvHY3RCAXxobePylLVuJSVlKGe6BYtv5tA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxWSG39ZXzk38; Fri, 29 Sep 2023 00:29: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 38T0TIoW072870; Fri, 29 Sep 2023 00:29:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38T0TIFQ072867; Fri, 29 Sep 2023 00:29:18 GMT (envelope-from git) Date: Fri, 29 Sep 2023 00:29:18 GMT Message-Id: <202309290029.38T0TIFQ072867@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: b9b207e4ecc0 - stable/14 - Remove mention of defunct mailing list from acl / mac man pages. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: b9b207e4ecc07839abf6eb8e3ebc8fac79501c00 Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=b9b207e4ecc07839abf6eb8e3ebc8fac79501c00 commit b9b207e4ecc07839abf6eb8e3ebc8fac79501c00 Author: Dag-Erling Smørgrav AuthorDate: 2023-09-22 07:42:57 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-29 00:28:18 +0000 Remove mention of defunct mailing list from acl / mac man pages. Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D41923 (cherry picked from commit b653faaa19c47a4a7e488e5ead738b7ae44ffe8b) Fix typos in acl_get_entry(3) manual page. Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D41924 (cherry picked from commit c34fce8a039935e06ed84db1395d7d2c551e5a7c) --- lib/libc/posix1e/acl.3 | 7 +------ lib/libc/posix1e/acl_get.3 | 12 ++---------- lib/libc/posix1e/acl_get_entry.3 | 6 +++--- lib/libc/posix1e/mac_free.3 | 8 +------- lib/libc/posix1e/mac_get.3 | 8 +------- lib/libc/posix1e/mac_prepare.3 | 8 +------- lib/libc/posix1e/mac_text.3 | 8 +------- 7 files changed, 10 insertions(+), 47 deletions(-) diff --git a/lib/libc/posix1e/acl.3 b/lib/libc/posix1e/acl.3 index c74b92028c6d..4c5f232a2e6a 100644 --- a/lib/libc/posix1e/acl.3 +++ b/lib/libc/posix1e/acl.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 8, 2023 +.Dd September 21, 2023 .Dt ACL 3 .Os .Sh NAME @@ -286,11 +286,6 @@ POSIX.2c describes a set of userland utilities for manipulating these labels. .Pp POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion of the draft continues on the cross-platform POSIX.1e -implementation mailing list. -To join this list, see the -.Fx -POSIX.1e implementation page for more information. .Sh HISTORY POSIX.1e support was introduced in .Fx 4.0 ; diff --git a/lib/libc/posix1e/acl_get.3 b/lib/libc/posix1e/acl_get.3 index 1908f0d0d97b..91a3626ada72 100644 --- a/lib/libc/posix1e/acl_get.3 +++ b/lib/libc/posix1e/acl_get.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 25, 2009 +.Dd September 21, 2023 .Dt ACL_GET 3 .Os .Sh NAME @@ -151,16 +151,8 @@ The file system does not support ACL retrieval. .Xr posix1e 3 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion -of the draft continues on the cross-platform POSIX.1e implementation -mailing list. -To join this list, see the -.Fx -POSIX.1e implementation -page for more information. .Sh HISTORY POSIX.1e support was introduced in -.Fx 4.0 , -and development continues. +.Fx 4.0 . .Sh AUTHORS .An Robert N M Watson diff --git a/lib/libc/posix1e/acl_get_entry.3 b/lib/libc/posix1e/acl_get_entry.3 index 1c6126334fa3..94a95b5412b7 100644 --- a/lib/libc/posix1e/acl_get_entry.3 +++ b/lib/libc/posix1e/acl_get_entry.3 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 13, 2001 +.Dd September 21, 2023 .Dt ACL_GET_ENTRY 3 .Os .Sh NAME @@ -42,7 +42,7 @@ The function is a POSIX.1e call that retrieves a descriptor for an ACL entry specified by the argument -.Fa entry_d +.Fa entry_id within the ACL indicated by the argument .Fa acl . .Pp @@ -100,7 +100,7 @@ will be set to indicate the error. .Sh ERRORS The .Fn acl_get_entry -fails if: +function fails if: .Bl -tag -width Er .It Bq Er EINVAL Argument diff --git a/lib/libc/posix1e/mac_free.3 b/lib/libc/posix1e/mac_free.3 index 987bd9966564..4ed68b70f3a3 100644 --- a/lib/libc/posix1e/mac_free.3 +++ b/lib/libc/posix1e/mac_free.3 @@ -31,7 +31,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 21, 2001 +.Dd September 21, 2023 .Dt MAC_FREE 3 .Os .Sh NAME @@ -67,12 +67,6 @@ function. .Xr mac 9 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion of the draft -continues on the cross-platform POSIX.1e implementation mailing list. -To join this list, see the -.Fx -POSIX.1e implementation page -for more information. .Sh HISTORY Support for Mandatory Access Control was introduced in .Fx 5.0 diff --git a/lib/libc/posix1e/mac_get.3 b/lib/libc/posix1e/mac_get.3 index 45045977fb32..171f7cd91aaf 100644 --- a/lib/libc/posix1e/mac_get.3 +++ b/lib/libc/posix1e/mac_get.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 21, 2001 +.Dd September 21, 2023 .Dt MAC_GET 3 .Os .Sh NAME @@ -136,12 +136,6 @@ is not a directory. .Xr mac 9 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion of the draft -continues on the cross-platform POSIX.1e implementation mailing list. -To join this list, see the -.Fx -POSIX.1e implementation page -for more information. .Sh HISTORY Support for Mandatory Access Control was introduced in .Fx 5.0 diff --git a/lib/libc/posix1e/mac_prepare.3 b/lib/libc/posix1e/mac_prepare.3 index 58493e988a0b..50dfa1c28d2d 100644 --- a/lib/libc/posix1e/mac_prepare.3 +++ b/lib/libc/posix1e/mac_prepare.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 22, 2003 +.Dd September 21, 2023 .Dt MAC_PREPARE 3 .Os .Sh NAME @@ -108,12 +108,6 @@ respectively. .Xr maclabel 7 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion of the draft -continues on the cross-platform POSIX.1e implementation mailing list. -To join this list, see the -.Fx -POSIX.1e implementation page -for more information. .Sh HISTORY Support for Mandatory Access Control was introduced in .Fx 5.0 diff --git a/lib/libc/posix1e/mac_text.3 b/lib/libc/posix1e/mac_text.3 index 88131f0bf611..29c1aacca485 100644 --- a/lib/libc/posix1e/mac_text.3 +++ b/lib/libc/posix1e/mac_text.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 21, 2001 +.Dd September 21, 2023 .Dt MAC_TEXT 3 .Os .Sh NAME @@ -101,12 +101,6 @@ to allocate internal storage. .Xr maclabel 7 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion of the draft -continues on the cross-platform POSIX.1e implementation mailing list. -To join this list, see the -.Fx -POSIX.1e implementation page -for more information. .Sh HISTORY Support for Mandatory Access Control was introduced in .Fx 5.0 From nobody Fri Sep 29 00:29:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxWSy4SGPz4vqGc; Fri, 29 Sep 2023 00:29: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 4RxWSy3y29z3c1D; Fri, 29 Sep 2023 00:29:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695947394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kmpmF6n+E/m4iw5y7dL9wn+FmFATJiGt4ukbOHc5D+E=; b=sSTK9r5a6Q6yeRYq3yhvpivOYwUMXsQdUCNKxyPlZx8J625nOcCIntFDmPozsB/RQn6Qhi nUhFCGp6QLFbKwT5Q8pQmJHYDuqzAOTlnb71J2vtDoWYWstcLx7vNDjWP4xCwI1eP1QwTs T/CD0WJtGvKPD/GS2+VjqbxsiJ0+U890fBmkLxo/fT3i9xck53kl7MRwj1VxVZDGLYwxF6 1S722jQLK4ZKPyPHgJf5rPrMun7hbJbJxWrCZ9l3/Lyd+s0jgnKhHO7YnQ3GnO36V1aF9k d7ZEbGA73e092XBgJvbwoISHihycDSBptu050ezpDyEPApDGh//DCJrXH9vEFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695947394; a=rsa-sha256; cv=none; b=Z+Hfrcthye28OId1KP+SuZHf+ROt4omyrtNsONtLXoVbF13PrQWv3PTz3raOhfwFGwK1vd sfkoVcEwJCcG4LdvHLmPwmkhkYwRZlqs+xHSWkYYolYc3d+OHY/ZMcbga6EJX91Fu3wdcx 9LZB2GWMw/nvRtowIzrZUC3bA8sXcgCbP3VFd+xE6+7l8sH+SCUpJ3Dxx6buXlO6bmWAEs zoY9NO9deudrf0UdCpfTi9hS2LdJy8PyfSZQaE8Q1WHCHr+YjM0HC97kQusbucRpRich/Q OmjixGceMaIcXSwmrREEuLOTi/2MKrx7KADifqGxK50mmVsqriqP2nIHmltAoQ== 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=1695947394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kmpmF6n+E/m4iw5y7dL9wn+FmFATJiGt4ukbOHc5D+E=; b=oPv6ri/kqVIz4ni6Nm+bMb0OjAqVzhNOUUtEML4s9fBoioDVjiAPlNew19YjAv6vIFEqv4 Tgx8p5LfNfnwdrihSbd64QqZtdWZfcZdLDnQWsdY/r2yi9998E1PIO7KGUojNwYtUCg+KW rKAqVczG8A9u6MytkVoA8OofAzVWO9BRayWK19gkVzbR8pp83Yb5jGmbM7O9LYm+3aNaMB Nj7kmTIp8S07YtSAGhWalthM7bxsLP3g4A6Nx5pXYicXmE/uKTyDvPWNSxUfue4WB4gPXX 6ysV7lpSw5XAbdNQruh3uQghoXZoI4bfRKOsfoz5Qsm6WPJL7BL9tlyphSh7Cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxWSy31Q6zk5c; Fri, 29 Sep 2023 00:29: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 38T0TsLq073120; Fri, 29 Sep 2023 00:29:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38T0Ts36073117; Fri, 29 Sep 2023 00:29:54 GMT (envelope-from git) Date: Fri, 29 Sep 2023 00:29:54 GMT Message-Id: <202309290029.38T0Ts36073117@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: d1a34ebb939b - stable/13 - Remove mention of defunct mailing list from acl / mac man pages. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: d1a34ebb939b0c56d101fd0dee5298396ac030fd Auto-Submitted: auto-generated The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=d1a34ebb939b0c56d101fd0dee5298396ac030fd commit d1a34ebb939b0c56d101fd0dee5298396ac030fd Author: Dag-Erling Smørgrav AuthorDate: 2023-09-22 07:42:57 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-29 00:26:43 +0000 Remove mention of defunct mailing list from acl / mac man pages. Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D41923 (cherry picked from commit b653faaa19c47a4a7e488e5ead738b7ae44ffe8b) Fix typos in acl_get_entry(3) manual page. Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D41924 (cherry picked from commit c34fce8a039935e06ed84db1395d7d2c551e5a7c) --- lib/libc/posix1e/acl.3 | 7 +------ lib/libc/posix1e/acl_get.3 | 12 ++---------- lib/libc/posix1e/acl_get_entry.3 | 6 +++--- lib/libc/posix1e/mac_free.3 | 8 +------- lib/libc/posix1e/mac_get.3 | 8 +------- lib/libc/posix1e/mac_prepare.3 | 8 +------- lib/libc/posix1e/mac_text.3 | 8 +------- 7 files changed, 10 insertions(+), 47 deletions(-) diff --git a/lib/libc/posix1e/acl.3 b/lib/libc/posix1e/acl.3 index c74b92028c6d..4c5f232a2e6a 100644 --- a/lib/libc/posix1e/acl.3 +++ b/lib/libc/posix1e/acl.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 8, 2023 +.Dd September 21, 2023 .Dt ACL 3 .Os .Sh NAME @@ -286,11 +286,6 @@ POSIX.2c describes a set of userland utilities for manipulating these labels. .Pp POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion of the draft continues on the cross-platform POSIX.1e -implementation mailing list. -To join this list, see the -.Fx -POSIX.1e implementation page for more information. .Sh HISTORY POSIX.1e support was introduced in .Fx 4.0 ; diff --git a/lib/libc/posix1e/acl_get.3 b/lib/libc/posix1e/acl_get.3 index 1908f0d0d97b..91a3626ada72 100644 --- a/lib/libc/posix1e/acl_get.3 +++ b/lib/libc/posix1e/acl_get.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 25, 2009 +.Dd September 21, 2023 .Dt ACL_GET 3 .Os .Sh NAME @@ -151,16 +151,8 @@ The file system does not support ACL retrieval. .Xr posix1e 3 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion -of the draft continues on the cross-platform POSIX.1e implementation -mailing list. -To join this list, see the -.Fx -POSIX.1e implementation -page for more information. .Sh HISTORY POSIX.1e support was introduced in -.Fx 4.0 , -and development continues. +.Fx 4.0 . .Sh AUTHORS .An Robert N M Watson diff --git a/lib/libc/posix1e/acl_get_entry.3 b/lib/libc/posix1e/acl_get_entry.3 index 1c6126334fa3..94a95b5412b7 100644 --- a/lib/libc/posix1e/acl_get_entry.3 +++ b/lib/libc/posix1e/acl_get_entry.3 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 13, 2001 +.Dd September 21, 2023 .Dt ACL_GET_ENTRY 3 .Os .Sh NAME @@ -42,7 +42,7 @@ The function is a POSIX.1e call that retrieves a descriptor for an ACL entry specified by the argument -.Fa entry_d +.Fa entry_id within the ACL indicated by the argument .Fa acl . .Pp @@ -100,7 +100,7 @@ will be set to indicate the error. .Sh ERRORS The .Fn acl_get_entry -fails if: +function fails if: .Bl -tag -width Er .It Bq Er EINVAL Argument diff --git a/lib/libc/posix1e/mac_free.3 b/lib/libc/posix1e/mac_free.3 index 987bd9966564..4ed68b70f3a3 100644 --- a/lib/libc/posix1e/mac_free.3 +++ b/lib/libc/posix1e/mac_free.3 @@ -31,7 +31,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 21, 2001 +.Dd September 21, 2023 .Dt MAC_FREE 3 .Os .Sh NAME @@ -67,12 +67,6 @@ function. .Xr mac 9 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion of the draft -continues on the cross-platform POSIX.1e implementation mailing list. -To join this list, see the -.Fx -POSIX.1e implementation page -for more information. .Sh HISTORY Support for Mandatory Access Control was introduced in .Fx 5.0 diff --git a/lib/libc/posix1e/mac_get.3 b/lib/libc/posix1e/mac_get.3 index 45045977fb32..171f7cd91aaf 100644 --- a/lib/libc/posix1e/mac_get.3 +++ b/lib/libc/posix1e/mac_get.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 21, 2001 +.Dd September 21, 2023 .Dt MAC_GET 3 .Os .Sh NAME @@ -136,12 +136,6 @@ is not a directory. .Xr mac 9 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion of the draft -continues on the cross-platform POSIX.1e implementation mailing list. -To join this list, see the -.Fx -POSIX.1e implementation page -for more information. .Sh HISTORY Support for Mandatory Access Control was introduced in .Fx 5.0 diff --git a/lib/libc/posix1e/mac_prepare.3 b/lib/libc/posix1e/mac_prepare.3 index 58493e988a0b..50dfa1c28d2d 100644 --- a/lib/libc/posix1e/mac_prepare.3 +++ b/lib/libc/posix1e/mac_prepare.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 22, 2003 +.Dd September 21, 2023 .Dt MAC_PREPARE 3 .Os .Sh NAME @@ -108,12 +108,6 @@ respectively. .Xr maclabel 7 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion of the draft -continues on the cross-platform POSIX.1e implementation mailing list. -To join this list, see the -.Fx -POSIX.1e implementation page -for more information. .Sh HISTORY Support for Mandatory Access Control was introduced in .Fx 5.0 diff --git a/lib/libc/posix1e/mac_text.3 b/lib/libc/posix1e/mac_text.3 index 88131f0bf611..29c1aacca485 100644 --- a/lib/libc/posix1e/mac_text.3 +++ b/lib/libc/posix1e/mac_text.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 21, 2001 +.Dd September 21, 2023 .Dt MAC_TEXT 3 .Os .Sh NAME @@ -101,12 +101,6 @@ to allocate internal storage. .Xr maclabel 7 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. -Discussion of the draft -continues on the cross-platform POSIX.1e implementation mailing list. -To join this list, see the -.Fx -POSIX.1e implementation page -for more information. .Sh HISTORY Support for Mandatory Access Control was introduced in .Fx 5.0 From nobody Fri Sep 29 01:25:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxXj70qmwz4vtqX; Fri, 29 Sep 2023 01:25: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 4RxXj70Jn6z3gHX; Fri, 29 Sep 2023 01:25:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695950731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=akcnmB2f4tTu6IYtZKQyHbQ9uF2226yJrzpi7dy427k=; b=oMD1M71CcrfgZsz9ku0FdsHoMRZQAfI7WdbJQmjnO01hN0iGi8DvJDnTzR+c2xmV5zjOMs As3kjM2eA6O8Bco7hvKk7uY6AT/n+SrhP513OjM+QJBK0ZkCrMIISDH9FBFPyZ+VSBcvVE c6NgR0p+YrLXEf4nT1oojAvKOV/qdjW7uNtxbHlnz8usA/1LxwGN1qdpc81E439TI8StwG d9sXWMAKY87yUkttdIW+1BcsNzJsjDU8BN+elppWN1dCVO6TXq3HIWipir0I82PdxQERsp IaOQNH+Az7coCyEZVaqQMSE5LrL9CrYpdQ5E510LnNeZHnCQDN6f808if/tLoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695950731; a=rsa-sha256; cv=none; b=u1qwOLzOIR25k6aE+cGM0Sr+6Cl76wkcSR/HmH1b+fKlNNJn+JJL9Tv7b2N8ryI5zpBRcF IrmL2hA9dEHY8EDLWfVkL8FzVlehfioMm6K3afZVFDvnNmFdr2W8P53lPMelpLc75+jwLj 0IwZwNlD9UB1QVntacbDUBJOUvqslUhrPuR5vKvFEssxtjtHNQuLFpx5D/iy2UsiHYH3vC 6acw6gw3NQ0fh+60R83a0JzW2soYNxHIrLaem2TFJCqsSivkNwVUqJeZpryBpl7MnLRd/P gfvN1b4rsaAkXBgLTPcsq5rHajjO7PUvifyiGnYCx27K6bDrp8x0tbzg5eKEMA== 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=1695950731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=akcnmB2f4tTu6IYtZKQyHbQ9uF2226yJrzpi7dy427k=; b=mb0L2RKrca2gM+fUE2E5WF3DjBD1LCbN3+WwIzQLduKRdWGICUwQhADGS//U3cYdImzbGe WrOTfdIcFJ2Wl6QktKU21ahRaCu1RQ/o6KaleH+cO8t2sHSbyXOfQUJSJkBh/xYviVu7vr RkPNcjsf3y2Z3/xs7DVT32i5m7gSRip59dZGJqD8UVpHaotQlTicSrv/6ue3OQNok6Rcw3 bduvONW5wC25nf48J75xdanUHDieNVWk3pSwMeXwgtOOtixviWHP693U2YkPM50+edq0uw qiZZyHjN/kOlkljWZmKLD8PnQfNCzCKEhwzu63q8jNOLFUIEuimaqK3fIafu8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxXj66QVVzktL; Fri, 29 Sep 2023 01:25: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 38T1PULV071983; Fri, 29 Sep 2023 01:25:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38T1PU9j071980; Fri, 29 Sep 2023 01:25:30 GMT (envelope-from git) Date: Fri, 29 Sep 2023 01:25:30 GMT Message-Id: <202309290125.38T1PU9j071980@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: 12e9c689246e - stable/13 - ping: The -C option is also supported for IPv6. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 12e9c689246e7ac81536dbf9583478f4b8823332 Auto-Submitted: auto-generated The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=12e9c689246e7ac81536dbf9583478f4b8823332 commit 12e9c689246e7ac81536dbf9583478f4b8823332 Author: Dag-Erling Smørgrav AuthorDate: 2023-09-19 08:47:11 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-09-29 00:34:54 +0000 ping: The -C option is also supported for IPv6. MFC after: 3 days Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: rscheff, allanjude Differential Revision: https://reviews.freebsd.org/D41881 (cherry picked from commit a2d1360142f609485c9301df08cc99140743ef2b) --- sbin/ping/main.c | 2 +- sbin/ping/ping.8 | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sbin/ping/main.c b/sbin/ping/main.c index 47d20f569008..6321178e1228 100644 --- a/sbin/ping/main.c +++ b/sbin/ping/main.c @@ -211,7 +211,7 @@ usage(void) "Z" #endif "] " - "[-b bufsiz] [-c count] [-e gateway]\n" + "[-b bufsiz] [-C pcp] [-c count] [-e gateway]\n" "\t [-I interface] [-i wait] [-k addrtype] [-l preload] " "[-m hoplimit]\n" "\t [-p pattern]" diff --git a/sbin/ping/ping.8 b/sbin/ping/ping.8 index 40060b3f8e97..22b16fe373ed 100644 --- a/sbin/ping/ping.8 +++ b/sbin/ping/ping.8 @@ -27,7 +27,7 @@ .\" .\" @(#)ping.8 8.2 (Berkeley) 12/11/93 .\" -.Dd November 20, 2022 +.Dd September 15, 2023 .Dt PING 8 .Os .Sh NAME @@ -81,6 +81,7 @@ packets to network hosts .Op Fl 6AaDdEfHNnOoquvYyZ .Op Fl .\& Ns Ar chars .Op Fl b Ar bufsiz +.Op Fl C Ar pcp .Op Fl c Ar count .Op Fl e Ar gateway .Op Fl I Ar interface From nobody Fri Sep 29 12:21:44 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxqGK01VJz4tqqv; Fri, 29 Sep 2023 12:21: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 4RxqGJ6fPmz3SkS; Fri, 29 Sep 2023 12:21:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695990104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JZyDWVLHxy6+xcvquJuq4vNCWenqxMxnB8jwPDNYH2Q=; b=EUKpUtM0zsY2BbDEPHChgwd/rY1fEwGj+c7GrW6gpogf/GShch2uCvg0RxS1JJueyGH1S4 kDP/dgF6Mqp8Y0spFjILP28zBeWVpBLa87UgbMIo0HPxJdJyI5Pe8ytdacjLn/We2KlG4I QHcG1n9j4G98AQryEFYL9jYFZZLEMoQB6D4DOB85/hy/iJQNbrPuk0E74an0prns2QdGF+ AO5UUg5QDKpWcvutRaL9alvNA5+Um64OjO88kmAswQ2jOvURruqw3Pt2vCVDOSbK3FJtas TPBpdb6AJC6TpOXns6HXswLm9XeY2Rktf3aLoFP0wWUQbeZd5Pq6lpBqiBtT6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695990104; a=rsa-sha256; cv=none; b=o26himC6VyPRFOiD/fWmYXJ503+PPs0gYwF8tr8YnO8muBG2W7XjasujmAJCsKabt3Lizv CcEGdy8B796juJSqAdX8Aj5gtJLzoFRKfw/pyF18JG0DBRivkjSIKAECRm6XCWvsC9QXNQ vvyvVRiG9ICaC9mxQNJg0rI4/0J/RtLhmuLLzy37NGWvOaagVpCtBWWcSHh/gNbIYuZCIk fpj6xGCnKqjQZDDGS3J66tE+pJwaNyee85YgeZAP1RH9zqYPyXABx8d41mYq2RR4SF3jhw LGdpE+7yBnDKsk/czKBTeFHG6lQ2VJrDBYGUWnNv2JWD8MeZb2uTHdgSunwNXA== 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=1695990104; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JZyDWVLHxy6+xcvquJuq4vNCWenqxMxnB8jwPDNYH2Q=; b=S+CCDdiALhUo96AGQOkzKQu661+m1/22tKsS/anHbO38OS47VbaFIXvz8ymzZZ4uTzgMyy u4b+dEZZxafWyiSEb1Jl36bUyBx5N4iZ8+GyKfWqMZ9Yf7BAMmC0NE7rSTo+SqKMmhqeIG xNfSel9Ucw5jhEtmyTAU/QW8frCwkO3mjRbN6YiGpHqM8TUUIRTZ844sEzgI+D9o1FjrGQ gyseSBy66JR/hj20UEqaPt7HQQbs3MC+kFaNg2Po/KGodyRXtW4RopEvS0MfRic1Cz04Kt ZzSR0ZJ39UXGFm7Ks5JeEpaddGAz0IeKzX+7nKSaDeBVwnkZTuPwRMskbFgKlg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxqGJ5kR6z141d; Fri, 29 Sep 2023 12:21: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 38TCLib2066277; Fri, 29 Sep 2023 12:21:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38TCLi7S066274; Fri, 29 Sep 2023 12:21:44 GMT (envelope-from git) Date: Fri, 29 Sep 2023 12:21:44 GMT Message-Id: <202309291221.38TCLi7S066274@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: 6dc3961c2aab - stable/14 - arch.7: fix final 12.x release as 12.4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 6dc3961c2aabc3a8a0992b36f2a8badfbee71a57 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=6dc3961c2aabc3a8a0992b36f2a8badfbee71a57 commit 6dc3961c2aabc3a8a0992b36f2a8badfbee71a57 Author: Ed Maste AuthorDate: 2023-09-26 13:30:06 +0000 Commit: Ed Maste CommitDate: 2023-09-29 12:21:05 +0000 arch.7: fix final 12.x release as 12.4 arm (pre-v6/v7) and sparc64 listed 12.x as the final release. 12.4 is the final 12.x release so we can fix the version number. (cherry picked from commit d06328c37bbcf3d3d3c7601372d29237996a6f6a) --- share/man/man7/arch.7 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7 index 14c6af612087..35a7b0246389 100644 --- a/share/man/man7/arch.7 +++ b/share/man/man7/arch.7 @@ -101,7 +101,7 @@ Discontinued architectures are shown in the following table. .Bl -column -offset indent "Architecture" "Initial Release" "Final Release" .It Sy Architecture Ta Sy Initial Release Ta Sy Final Release .It alpha Ta 3.2 Ta 6.4 -.It arm Ta 6.0 Ta 12.x +.It arm Ta 6.0 Ta 12.4 .It armeb Ta 8.0 Ta 11.4 .It ia64 Ta 5.0 Ta 10.4 .It mips Ta 8.0 Ta 13.x @@ -115,7 +115,7 @@ Discontinued architectures are shown in the following table. .It mips64hf Ta 12.0 Ta 13.x .It pc98 Ta 2.2 Ta 11.4 .It riscv64sf Ta 12.0 Ta 13.x -.It sparc64 Ta 5.0 Ta 12.x +.It sparc64 Ta 5.0 Ta 12.4 .El .Ss Type sizes All From nobody Fri Sep 29 12:27:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxqNN3j35z4tqdp; Fri, 29 Sep 2023 12:27: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 4RxqNN3Fhtz3T61; Fri, 29 Sep 2023 12:27:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695990420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HkhY04m05rHHZyyCY0QnP5rCQDtLt6MNsVXYihbJ9Bw=; b=aUtigUAT+CK2Iub0q4uhlb8rkIlPyHjUlr5v9I/nGHiTBbivD9XpqBZBEe3pmvzdkuY1uj RVjCP32ZX0HELJd94k2nO0XmgaXlDw7IDti+s5JWyCjDIfugTek+ovOz/ysHWszNcttlxO XzeRP45rldHViQRPzie389McLLHmCsLMrfPgOdH54YAT5SR1EOPsIteAVA0vLYaK/Ui1dS bQulPFn2WTS/JzSkiJEvUaCEMVJBVerTcTU4H9aLeOjNNO703EwkgC1wPvIwyJWFUq3SEq m+MpGN8w3qUUsBbgkXoXaQ9fM+Nw0OMTgQseeT1ik+KwDDWUJRNtmzm7c18cuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695990420; a=rsa-sha256; cv=none; b=uJqcebI//0+UA2t/Y/VDz9ihzXMfbNzWm/vv5YOsqNPYWMalm3SjmvXCaGQLo2pP+Z8uIb K2Q5BfsRMPoQMmjTQuA7pfUPFQEA2s25j3gC9x/QdANrA7XU7dkFntr3UzZjpM+ufjuwZB Tw37falPWsU3uWgqHe+cGZ66WSBGRo5Dlrg4viZN0wAcZsmwOiy7jrZlRla8I5zrMt9l+M SnD0F4WEkXCcrYCjylxKShzzrEpos/KP96KXY6uLaEaeU1TGGadw0+Tpyjh7ZAuGOzHuwC XlDxCD88x90MfsSbCDu5BnXQKmm9jiHzXhhhl69Nr2AWN5CBYtR+UEMvNfy/Zw== 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=1695990420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HkhY04m05rHHZyyCY0QnP5rCQDtLt6MNsVXYihbJ9Bw=; b=min2DF1EDY99BqVaVmySGvTAbH1fbd5sHNy4rZ61l4ZcFqPmLDSCxZJpgkSz93OxDzyujJ 0snUBgfAH0hw8fbBqWkAvSjSLTHDzZc+NEco/iV68SFGfkeVP2xEX8HVsJJMiK+fXLemsc +rAc4We1epuWnoJzBvql4my6M1LrkVtYB/wjv0ZUTmUjEoQYx8LCj9JicbonSXMcoptXIA 18YYSej8j+cjROWNIbzOlnKivv9NArJZFJWMWX6Mncu7QY2M+sYIhtk7c2n90SQ78cUAQB e/yM4lOTMZekx/P9ggLSGkwXvjO9191fM8kx71UJmPOzS0Dr3HudN8pBvLANNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxqNN2CqDz13w7; Fri, 29 Sep 2023 12:27: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 38TCR0HZ067096; Fri, 29 Sep 2023 12:27:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38TCR0ow067093; Fri, 29 Sep 2023 12:27:00 GMT (envelope-from git) Date: Fri, 29 Sep 2023 12:27:00 GMT Message-Id: <202309291227.38TCR0ow067093@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: 6d22a25725cb - stable/14 - vge: correct pause_frames sysctl description List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 6d22a25725cb0d6a5e3748572cc30c22098f5b01 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=6d22a25725cb0d6a5e3748572cc30c22098f5b01 commit 6d22a25725cb0d6a5e3748572cc30c22098f5b01 Author: Priit Trees AuthorDate: 2023-07-28 21:41:22 +0000 Commit: Ed Maste CommitDate: 2023-09-29 12:26:00 +0000 vge: correct pause_frames sysctl description Reviewed by: emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/806 (cherry picked from commit 0a5d2802b41fd216d9a345f749af1a6ccbe9f382) --- sys/dev/vge/if_vge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/vge/if_vge.c b/sys/dev/vge/if_vge.c index 04c1c764cdd5..fcc47598454e 100644 --- a/sys/dev/vge/if_vge.c +++ b/sys/dev/vge/if_vge.c @@ -2564,7 +2564,7 @@ vge_sysctl_node(struct vge_softc *sc) VGE_SYSCTL_STAT_ADD32(ctx, child, "crcerrs", &stats->rx_crcerrs, "CRC errors"); VGE_SYSCTL_STAT_ADD32(ctx, child, "pause_frames", - &stats->rx_pause_frames, "CRC errors"); + &stats->rx_pause_frames, "Pause frames"); VGE_SYSCTL_STAT_ADD32(ctx, child, "align_errs", &stats->rx_alignerrs, "Alignment errors"); VGE_SYSCTL_STAT_ADD32(ctx, child, "nobufs", From nobody Fri Sep 29 12:27:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxqNP4fSnz4tqds; Fri, 29 Sep 2023 12:27: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 4RxqNP3qvcz3T4D; Fri, 29 Sep 2023 12:27:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695990421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xNTEfStUjWgVZYtiSWXIYPGOZVcb5h5Fb3vWX8mS0Xs=; b=a/U8H+rDonzD0zatm36Ar94R38nEjiYXbuYOhtwov1LH38u6r+jQei80iXQdrJMsbpNzC/ T/brjDXE1L+KTGQ7OBgjDU6rUP+7GNeA+CoG1FW3OqBIbN+5K5RRsxCJC0jXybIxlu0sSV UVh7iL426QMuSIF/4FfG/jt/txXB56ZRUWoqcwymlJOru5GbbL4vnmqWYqJLL+Q4XckcOd WppVLdCyXYNZXRfIPw70uYOgwLHO/wHozE9cbsEjyOZoL2t6jeeu2EzqevVS7x9gejdImg ayXnmI+HDj8RRby9kWqaipZgboKbsV2ivEnj47A7zgq8Y5wxzG049snU94aB/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695990421; a=rsa-sha256; cv=none; b=gR7fXil+3bvRRBSWiuZyuWFbiZ230xaQRWLVaa6T7XP62BGZ1j5+vfJGanXP07u1YpFBZq yOOSmKVXIEcAHfCiXCaS5WDtN9W5FpUl6w/7JNNHZ4t2qqmsH2W9thd0Q8bURwzNM4cFTW iSZzNgHqTFdwfQGJG+aqMM+StA/n2NOMsZ6hW7E29ylP1C3fNhhN5NQIUhW11JL3BwU5ZG 4dJbntUNLkYUc6QlwEkDi1U28CYbYQappIxT/4XxndMUKBRMpcV9XDWrLxMg27rKrtyswg lZLacGCdRPX+vV/8Q44pl/EwwIw8cbXEZP1MWroQJ6GAmgJN/0NOcITLNFueOw== 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=1695990421; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xNTEfStUjWgVZYtiSWXIYPGOZVcb5h5Fb3vWX8mS0Xs=; b=qVE+KeCHQ978PQr7Guj6MxykldEMAjliY+vgOFSa1wQVyY7b1JAnTSuUtTi1Xe2PnWcUzn LMRqB9x+OONVu2y2i+x/EGqPYHw64D8fq5XATddU99mLV1/2tDwKs596ZTq8i9qNnVBokL rWNEI3bE8EjhwQrchAROSFaPCwhsjhXgdjrGOKRtZ6ryJhykSop1Z9f2uJkt8HmVbNT0tm SouJOWuvSkBMDv3CarfkGgW23Nkt7gQy7jlBfbF3d3c3p9A1UpJ3/8TC/LxkZ6yt0fLqH7 adGdnnDNZaIiOGscY8EXk+74dgcou1qxw1cHoMIEuIdCew7VHAiOiJoOvJiYJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxqNP2vf9z1426; Fri, 29 Sep 2023 12:27: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 38TCR1nM067147; Fri, 29 Sep 2023 12:27:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38TCR1ue067144; Fri, 29 Sep 2023 12:27:01 GMT (envelope-from git) Date: Fri, 29 Sep 2023 12:27:01 GMT Message-Id: <202309291227.38TCR1ue067144@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: dd588b3c9a5a - stable/14 - syscalls.master: Fix SAL annotation for getdirentires basep argument List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: dd588b3c9a5a2f2b2b62836ce70fd85813434748 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=dd588b3c9a5a2f2b2b62836ce70fd85813434748 commit dd588b3c9a5a2f2b2b62836ce70fd85813434748 Author: Haoyu Gu AuthorDate: 2023-09-24 22:34:43 +0000 Commit: Ed Maste CommitDate: 2023-09-29 12:26:00 +0000 syscalls.master: Fix SAL annotation for getdirentires basep argument getdirentires last argument "off_t *basep" is an optional output argument. It returns the value only when the passed-in value(pointer) is non-NULL. This is a part of the research work at RCSLab, University of Waterloo. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D41969 (cherry picked from commit 5e29272bf57e24a16f3a17f037f9a5e7cf25ed90) --- sys/kern/syscalls.master | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index 69a669844629..f7c235ced26c 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -999,7 +999,7 @@ int fd, _Out_writes_bytes_(count) char *buf, u_int count, - _Out_ long *basep + _Out_opt_ long *basep ); } 157 AUE_STATFS COMPAT4 { @@ -1185,7 +1185,7 @@ int fd, _Out_writes_bytes_(count) char *buf, u_int count, - _Out_ long *basep + _Out_opt_ long *basep ); } 197 AUE_MMAP COMPAT6|CAPENABLED { @@ -3097,7 +3097,7 @@ int fd, _Out_writes_bytes_(count) char *buf, size_t count, - _Out_ off_t *basep + _Out_opt_ off_t *basep ); } 555 AUE_STATFS STD { From nobody Fri Sep 29 12:27:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RxqNR0FDjz4tr4k; Fri, 29 Sep 2023 12:27: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 4RxqNQ4nGpz3T7G; Fri, 29 Sep 2023 12:27:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695990422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DGOqecuk11s1yYBpKV103BtCh+fWYMU0UX1pxm0vrno=; b=GHIfvp9UKzPHtINQ1QLfbg7wYqfk8fl1rvRW9OWNqlyEbt7BV4eyILy9XUTbUZ78xIxt+Z q6m72gPl7zOwW2WA1o6MPMn8xlTzt38nGL0TebAV2InRB+jgBeA60Nqv2X3soDrmW5IpfA wHymOiSzxBowoWDxrvVvXkFc1nZcXUyNgjeMkgBg7hp67AbRtXLf4FZ4C6ZYNacmi+Szo4 yIzYY/1G+G4WeNyLDSE2ArJhWmr28i5QRtKEn7r63dlrOWnCf68n0k/2tbf0+o7vzkeJ8N YHXorylh8jkWF90+HoOlPo9h1Q3Cc3gwSK/CMNM7Spue2C82HZN9nPM0R2I8ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695990422; a=rsa-sha256; cv=none; b=VrEicQ0j9Hz8p8O7VZvL7Z+KsWadePAtqgcoqmTH86x4B0Ha+XiA092Ora8rW9mMX1cLfm MNnadcCAI+bhN/RkF7ZX8sdAdQM3wlPVrwb277+4HK8dBLg3eUwIDtIMWMGGXENSidsxtU sNUghoF5lytjB7b53ubkk1PW+SysDfggdHg7tEb3OX6etLhGBGbncYFhu42snsL45SnWra MTjlNs0NeyEyEEIkIbSCQ65FYUdBTPK0bPMA+5Dm4RziBQoH7H4XM67zP/BHdczvS5cS7S wlWaBBaTnIsbJGKjsnhmuYtkj0HnJE7aTukA6lcn6UVozwgB/kK9gZzN5X5p/w== 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=1695990422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DGOqecuk11s1yYBpKV103BtCh+fWYMU0UX1pxm0vrno=; b=T62IMLhvcOQPbopjmAWzyk21oFzM+7JsC20ksfFgXGXu2HWMB+CRl539MbS6weeofNSEC2 jE8Mn/qmYfIg+NAgt7+tmDTvfthlWh0nB3uY+bDcFFFBkytNrrLOgOqVL9lECHiGv0LJq5 F7q4IfOaP4lO0PfC/kcPuHQZ4j/N86Z/wcFkb+1/efBsxzUH3noWLL9ZMzzkIGhGll81xN gegikBkPw4JvFCNT+8NR0InhU9JqH6M2x1y3ib3qq7YAxdPRf0wcdgTphZg+8fk3DoHhJE OGK4pq5fEM2vQfizKRfAaLz0CZYQNki78LDG9doVyWZu1Hd7P1okDROLKTStEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RxqNQ3t5vz14SF; Fri, 29 Sep 2023 12:27: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 38TCR2CI067196; Fri, 29 Sep 2023 12:27:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38TCR27U067193; Fri, 29 Sep 2023 12:27:02 GMT (envelope-from git) Date: Fri, 29 Sep 2023 12:27:02 GMT Message-Id: <202309291227.38TCR27U067193@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: 803f088147d3 - stable/14 - kernel: remove unused HWPMC_MIPS_BACKTRACE option List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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: 803f088147d30327bd5331511f62c815154705a8 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=803f088147d30327bd5331511f62c815154705a8 commit 803f088147d30327bd5331511f62c815154705a8 Author: Ed Maste AuthorDate: 2023-09-26 13:27:14 +0000 Commit: Ed Maste CommitDate: 2023-09-29 12:26:22 +0000 kernel: remove unused HWPMC_MIPS_BACKTRACE option MIPS was removed after FreeBSD 13. Reported by: andrew (cherry picked from commit 5b732ae8332b2bad256016569c0ead6d918bdf79) --- sys/conf/options | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/conf/options b/sys/conf/options index 56c1a33216d5..83742af0204f 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -889,7 +889,6 @@ DCONS_FORCE_GDB opt_dcons.h # HWPMC options HWPMC_DEBUG opt_global.h HWPMC_HOOKS -HWPMC_MIPS_BACKTRACE opt_hwpmc_hooks.h # 802.11 support layer IEEE80211_DEBUG opt_wlan.h From nobody Fri Sep 29 12:41:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rxqj61WPnz4trYg; Fri, 29 Sep 2023 12:41: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 4Rxqj6140lz3VNs; Fri, 29 Sep 2023 12:41:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695991290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=few5XZxorNGYeOY231avQ7Psq1aGDUCQI+dK6u6GJQo=; b=n/j7j5buyI80VXN+G0URYYmm2iEKDDvGJ200CLGX3wMM8Q5ue2Soj6EaJhnBGwRzTQigV5 Jun8B7TqrMBZlVAKZYkOg1cVXludwsIPTT7Ju2J+WDomsG7abUlHcnyRGbbCTK2TvumpSY xBY2hTxcjIEsAs3lrfglwPeS5WS1hZ3oM2/u+fyV57wAJca3UvIjbPgllzvnegwg5PmZcI bIoR+3B0P10k0aIRZLrF+3aVVOMk7R833QmM3kaGApR6en6Lyuo4p+mrYphalQBJee/Dfk fTSlKjnUfOHYXla6nW91se472Da6SSGCpLewR5W34F0RknrWDAEiqYk1oqsb8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695991290; a=rsa-sha256; cv=none; b=sHFWYPKQtwTPeyENrwpe895lAIRAa2BiGc17jUDIpvW89LqKAO4SjIW65K86Ldb/Ywk6/s PrYFcC7Apol2hGS0IKEc0gCSK4AQ9GhvgR8HfZHu4rnWdMmYYe8NQ4nTHIHU7PjZ8fn+Ud UE5fSfOHeER216rzyecLXPx8Bxy8qd5Cr3l3YaOo1X+G92pzLOoD+x6BBZ3hxGGgbod6L7 6VQNjIWhkSopVQPkrknfmLWArPLQ6hQrNzutPFwLVX7kYr04B40wIN1MSFcGeSVAcbfoJP 0A4IKrxA9SvnD9t0lWy12PkWKp0TzjpfgrRrwe8gNXxgfvM0VWjrzrej0pAhDg== 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=1695991290; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=few5XZxorNGYeOY231avQ7Psq1aGDUCQI+dK6u6GJQo=; b=gwe77ABtMu/C8cItbV8iKK1V2CYqBoZ2FNCkQ7qUgcgl2s+ZFGNrTca+OafQHOUSPsggfE 24+c69T1EFneGlsFsps/2nZfoNDb2SUnFhqy8Vh8oQ4TRXBfw3ybQGYB0KD/ZzgqmH5Ghi 4e2pYiNYLrQcKkFmxtJwpkkjvO8776+af/I+R8hDsX4rUQd6iSPlNvYrydtW6zuzGX3uSl 47vNUr47IL7ePfnv3JRuqn9r8BOKjoL4XFiiaOv+bgVOEnknS2ddYWBnldKR+dxZouxWnV gkfVX/mkBeEnwxGhf9q3JIsCvF64AoX6vo9GfvjOpFvmVvcl68pGdhz0x047Qw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rxqj606n0z14Hg; Fri, 29 Sep 2023 12:41: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 38TCfTYF094903; Fri, 29 Sep 2023 12:41:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38TCfTmD094900; Fri, 29 Sep 2023 12:41:29 GMT (envelope-from git) Date: Fri, 29 Sep 2023 12:41:29 GMT Message-Id: <202309291241.38TCfTmD094900@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: 8b4e6c3b57b0 - stable/13 - vge: correct pause_frames sysctl description List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 8b4e6c3b57b0577a0d33be90829002296dec6c10 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=8b4e6c3b57b0577a0d33be90829002296dec6c10 commit 8b4e6c3b57b0577a0d33be90829002296dec6c10 Author: Priit Trees AuthorDate: 2023-07-28 21:41:22 +0000 Commit: Ed Maste CommitDate: 2023-09-29 12:41:07 +0000 vge: correct pause_frames sysctl description Reviewed by: emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/806 (cherry picked from commit 0a5d2802b41fd216d9a345f749af1a6ccbe9f382) --- sys/dev/vge/if_vge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/vge/if_vge.c b/sys/dev/vge/if_vge.c index 9c62dafa4364..acb6bbf424c6 100644 --- a/sys/dev/vge/if_vge.c +++ b/sys/dev/vge/if_vge.c @@ -2567,7 +2567,7 @@ vge_sysctl_node(struct vge_softc *sc) VGE_SYSCTL_STAT_ADD32(ctx, child, "crcerrs", &stats->rx_crcerrs, "CRC errors"); VGE_SYSCTL_STAT_ADD32(ctx, child, "pause_frames", - &stats->rx_pause_frames, "CRC errors"); + &stats->rx_pause_frames, "Pause frames"); VGE_SYSCTL_STAT_ADD32(ctx, child, "align_errs", &stats->rx_alignerrs, "Alignment errors"); VGE_SYSCTL_STAT_ADD32(ctx, child, "nobufs", From nobody Fri Sep 29 12:41:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rxqj72M0pz4ts5k; Fri, 29 Sep 2023 12:41: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 4Rxqj71mMnz3VrL; Fri, 29 Sep 2023 12:41:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695991291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YR/j9h/TDFcEZpTuSSZua7uRw7BvFPHnZpsW6o4HBoc=; b=GPd3bwYsZif3rupZzkko7+A34pRZ+g+H4vEk2YM3EtN5nCVxZc9AWYzzBjSmt3Gut6KgxV oP+arDJa4kJ/IvpZx5DrSomMnlCJiic0Ynk72m4IyTpPdKaIOvtoQjIbsU46svS4TdoZ7j eTSEUSZ7bASPso9hHnDhjugnfI7uf6HRafWUW26MEc5ZDbCsK64EDwSZGWnmT8oOGsFjyu cV3mBONKdFUVZMOncAWqV6DsnpQufAMrJ8I7yHRhMdsk2He5+Uvi4A8+iP2PCQnx2wmXTn zLujUyLdGFX0wo8wwIBJ+/VE/MOCQLxYtt0DaKQ8m0AlSVY3lEWms9HZGlr8Bg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695991291; a=rsa-sha256; cv=none; b=lrPGK9Q0YHG2W4OZsha/WDTAIequGEb3hggvUawfqI4iZOaelOCZvwKQnEIiVbrrN9LXp+ eI4VoqFHiCpMwOd3dr+61uK6FFaIhYju/1BVWqZeHayWkz/f3vb8iYAEi6LFiVfIbwF2/3 bRzLBZkRPKpHQypvxn2NbrVa0xdZK8mZO7SoMNCEOWjL4dOg45OWfqXkGmwJrlaox7Mobt 2Jv6EWAInUOQdDkbvRjZGM/dZCglX0wh8sjQo9JVefSMXwGo0cn0Kqh7Z80T+5/Cf8ECxr 1q6m+i7S46yR2SK7vF9o9mKDgkOuieBgHBvJ9FdUS9JmZDUQnbzxx7hF1L4NwQ== 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=1695991291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YR/j9h/TDFcEZpTuSSZua7uRw7BvFPHnZpsW6o4HBoc=; b=oRomw/4MdG0yGJM+G6S+8C39banxXqgvFkKTKJyUXBqnFD+Bb3KxBZOSOgwtaGWvr+H70+ tXPa7OfJh7qfmEYEOqsWXKM4hT+FhdwfyaA9SUNLCkxtMxNVvaoNvqm2CQji3P3Evz5fv8 HflI5hQ/FJBLIB4mTJsm98Yi63pHzln0Ou1MM3nqDFx31fzEZMQNqgmdiU88ngrGwJFqmr QTWFHNX8x8+62ClFBRGH/hgs88w6jbBHqNvTk1I2EpIqi1iea0k8M/FFajZLD7gSJ1RF1T t8VzlQrOSWnLqlRce+cwzmb4AQKGEcqZQCq+sO2gLlIGZ1aJVOdg2hUHi/NpXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rxqj70fKfz14Sw; Fri, 29 Sep 2023 12:41: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 38TCfVIQ094961; Fri, 29 Sep 2023 12:41:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38TCfUF7094958; Fri, 29 Sep 2023 12:41:30 GMT (envelope-from git) Date: Fri, 29 Sep 2023 12:41:30 GMT Message-Id: <202309291241.38TCfUF7094958@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: 8a331a855ed8 - stable/13 - pf: add note about changes ported from OpenBSD after 4.5 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/13 X-Git-Reftype: branch X-Git-Commit: 8a331a855ed8100ea5ef12ac85c23b80b37f9371 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=8a331a855ed8100ea5ef12ac85c23b80b37f9371 commit 8a331a855ed8100ea5ef12ac85c23b80b37f9371 Author: Ed Maste AuthorDate: 2023-09-27 17:59:30 +0000 Commit: Ed Maste CommitDate: 2023-09-29 12:41:07 +0000 pf: add note about changes ported from OpenBSD after 4.5 The last comprehensive sync with OpenBSD's pf corresponds to OpenBSD 4.5, but many changes have been ported over since then. Reviewed by: kp, gbe, Kajetan Staszkiewicz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42002 (cherry picked from commit 3e609fd481c07802fe837ed834c3710b8c19493c) --- share/man/man4/pf.4 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/man/man4/pf.4 b/share/man/man4/pf.4 index 4055c66fbbce..4f0ff50d3db5 100644 --- a/share/man/man4/pf.4 +++ b/share/man/man4/pf.4 @@ -1219,6 +1219,9 @@ and then .Pp This implementation is derived from .Ox 4.5 . +A number of individual features, improvements, bug fixes and security fixes +have been ported from later versions of +.Ox . It has been heavily modified to be capable of running in multithreaded .Fx kernel and scale its performance on multiple CPUs. From nobody Fri Sep 29 20:22:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ry1wY0Zlmz4vchg; Fri, 29 Sep 2023 20:22: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 4Ry1wY03Xsz3N7F; Fri, 29 Sep 2023 20:22:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1696018925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gh7ddw706/VZ00lScUtAdQmt8yNy4kUmfD5MHAo4CT8=; b=PHx1MrFF/Rf8ritz29a0Wu6UGWtormT/1TtGw7tzsd54/Dl92Bwpe3JwqyIQwdZIh89Bst PmxUm8iy694TMYm5Ba7UkD4CU7mAjaxzAyVJPC8sn45NHE+FJQvcS0DKckjzTD/xJ2wjFF /B8UWy/9FP1tc+bKQ77nhgx2HNG2FLUWtCluUStmViqdwB99s5eelhTftnuDa8ZCbNonw5 uMIJb/LsRFmsgx4bib7SA5uXhrZ9pTSisgVHBcA5dMEfd3K+6ERkp68ZWGXs5hSfcha9qA V4oBeYPI9niwVpJMUDrkTrhljOCJyv9BMg/NeLw72n225vele5CdZDowxyOY6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1696018925; a=rsa-sha256; cv=none; b=rEu2cbvpWJc8Nqv+rXOSOpt2/KKuHOR7lK7jW6TJX3BOMkCrh3TDZR06z4tt/bxGbI24q+ a0egJoLr7xGsSSgOoJ0GHjGVA8BJ2ZZ9Ab+oQB3L7SX85EkehZ8H7iQzwDiIPT2UUixELX D2xK4A4C8+z3fiL3SYTJVgRdv/luK+KexvlD3WbR9WCmxxjT2wiXEwvdqmKzhK36IYPwCA AOsw1HHU7D69oBcUY2L0pT4CaTFWRA/CJDMej0Au3FQIFKcH/CxRMFMRjuxoSaeHb5TU9q KmywWorM3tWOd55xkyHdwbNhv+e2asNBvHo/54nEfRNiKM5H4Ks6tEXNAZs+Wg== 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=1696018925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gh7ddw706/VZ00lScUtAdQmt8yNy4kUmfD5MHAo4CT8=; b=OE+/TOx2ovDAGaRCHdDmaTi/ypDa5YCx/IgswLplFNQ8QUcLSH2b1MBVbj+opbgWDaEbjk 90PCJrCw+/zyUgfPvQIZZxlOC3TdXj6u+pWF3YasAXJ0KloaSsVIXyL96weck4TyowTmqI 96ZXgnTCozfrhmMVLCu5KC/kgAP/t2NC+OeDv6ftSKzS5sIFR5aCibrTD4x27fMfvD78YO 75KjPv7Mv1+iVjrr145uOHE45UoT7OZbe9oRFSVbPeyN8rJavUmLOKtYkvAcCDEHaLiL2W tQISlzAT9Zhi+z4gLck2hxaWVCaF4niGy6UmFgomUbaahvLbt0RemZFVvfIS8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ry1wX6G0Xz3bn; Fri, 29 Sep 2023 20:22: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 38TKM41V067322; Fri, 29 Sep 2023 20:22:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38TKM4Ij067319; Fri, 29 Sep 2023 20:22:04 GMT (envelope-from git) Date: Fri, 29 Sep 2023 20:22:04 GMT Message-Id: <202309292022.38TKM4Ij067319@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: 906bcc44641d - releng/14.0 - arm64: Fix errata workarounds that depend on smccc List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: 906bcc44641de1aadeb692ec0c6a10ff46e18e13 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=906bcc44641de1aadeb692ec0c6a10ff46e18e13 commit 906bcc44641de1aadeb692ec0c6a10ff46e18e13 Author: Andrew Turner AuthorDate: 2023-09-18 16:34:51 +0000 Commit: Andrew Turner CommitDate: 2023-09-29 20:09:16 +0000 arm64: Fix errata workarounds that depend on smccc Some arm64 errata depend on calling into the firmware via the SMCCC interface. This needs to happen after the psci driver has attached as they share the interface. Fix this by allowing the workarounds to mark when they depend on device drivers attaching. This is only an issue on CPU 0 as the workarounds are applied later for the non-boot CPUs. Approved by: re (gjb) Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41916 (cherry picked from commit c643e82dba0b17b2716de4c9d44a3c9c547cbbd5) (cherry picked from commit 843bea18711d726cd2f0a3c3f9144b218e4de3e8) (cherry picked from commit caf7bc535622ee7baeffc3366db8bf0e896aa018) --- sys/arm64/arm64/cpu_errata.c | 50 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/cpu_errata.c b/sys/arm64/arm64/cpu_errata.c index 38148ff7066c..fee22240bb0e 100644 --- a/sys/arm64/arm64/cpu_errata.c +++ b/sys/arm64/arm64/cpu_errata.c @@ -47,6 +47,9 @@ struct cpu_quirks { cpu_quirk_install *quirk_install; u_int midr_mask; u_int midr_value; +#define CPU_QUIRK_POST_DEVICE (1 << 0) /* After device attach */ + /* e.g. needs SMCCC */ + u_int flags; }; static enum { @@ -64,32 +67,38 @@ static struct cpu_quirks cpu_quirks[] = { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A57,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A72,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A73,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A75,0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, .midr_value = CPU_ID_RAW(CPU_IMPL_CAVIUM, CPU_PART_THUNDERX2, 0,0), .quirk_install = install_psci_bp_hardening, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = 0, .midr_value = 0, .quirk_install = install_ssbd_workaround, + .flags = CPU_QUIRK_POST_DEVICE, }, { .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK, @@ -173,8 +182,8 @@ install_thunderx_bcast_tlbi_workaround(void) } } -void -install_cpu_errata(void) +static void +install_cpu_errata_flags(u_int mask, u_int flags) { u_int midr; size_t i; @@ -183,8 +192,43 @@ install_cpu_errata(void) for (i = 0; i < nitems(cpu_quirks); i++) { if ((midr & cpu_quirks[i].midr_mask) == - cpu_quirks[i].midr_value) { + cpu_quirks[i].midr_value && + (cpu_quirks[i].flags & mask) == flags) { cpu_quirks[i].quirk_install(); } } } + +/* + * Install any CPU errata we need. On CPU 0 we only install the errata that + * don't depend on device drivers as this is called early in the boot process. + * On other CPUs the device drivers have already attached so install all + * applicable errata. + */ +void +install_cpu_errata(void) +{ + /* + * Only install early CPU errata on CPU 0, device drivers may not + * have attached and some workarounds depend on them, e.g. to query + * SMCCC. + */ + if (PCPU_GET(cpuid) == 0) { + install_cpu_errata_flags(CPU_QUIRK_POST_DEVICE, 0); + } else { + install_cpu_errata_flags(0, 0); + } +} + +/* + * Install any errata workarounds that depend on device drivers, e.g. use + * SMCCC to install a workaround. + */ +static void +install_cpu_errata_late(void *dummy __unused) +{ + MPASS(PCPU_GET(cpuid) == 0); + install_cpu_errata_flags(CPU_QUIRK_POST_DEVICE, CPU_QUIRK_POST_DEVICE); +} +SYSINIT(install_cpu_errata_late, SI_SUB_CONFIGURE, SI_ORDER_MIDDLE, + install_cpu_errata_late, NULL); From nobody Fri Sep 29 20:22:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ry1wZ2S4sz4vclC; Fri, 29 Sep 2023 20:22: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 4Ry1wZ1WXXz3N7j; Fri, 29 Sep 2023 20:22:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1696018926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IS+uFMDYwmhl4xPtm7D7ly8yu3CmlRm1E8Jc8YUzolE=; b=DH09UC/P9P5qFlQJRZDYl8+Mgf6qK4xmBAG222qIRIAAl+PuOiSY6aB0AiuE22M0yA5fD4 xBxorxsBDirbaKliEkoFxs7+cabAp8hELFMUfZme7EiudzAWJ9UK2kESUQ8x5NEvuGoofJ /7LlI+XnfuHuIMPFXskgT9eRNpUqiJio3EcdUiYK5UkKtnFuFILlAuf2G/jtqgPVZXvkuo YenHEjATJqqcKKLoIw1ES1LsX5lj03OIx1qbBov9tV2RJhXILqCZz/fsEvm58U0bZAj0fv wBD/dJcblUkRO/iwh18oQiDhYzkaLu2OZqk2tw4RKwXs5diVCLKw6lE/oS9hrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1696018926; a=rsa-sha256; cv=none; b=DmGY+ked//FK0Mjm9ex4gPjMedKtNvznBM7/SLK8QjMUBw4qW0B0nVo9xWb4EiUQ6vcZxQ sK0njpVnxz9gplEXv0pL2dlFiN6vz4oTRfa1mGdRyMrxOBGg1xGpxci6vFUQeRoFCSzwRj p+yQ4SSNU/bkIShyDWro+OAqIYAzMS2MzQojwyfcyNwAE2n0+otcd2Bs8kBmt/SNQc7yZx 6+y1RtqYs5AWHPdx5ojnPNv/PmHrTa4ZsItU9kIW2n/hCutwjuzqSy6dNDWmofXUxLzhGr 2DRjYeVwZTUR6PHgp6d3S2mjaTa8uRc2bBgs8v+GYKko+Iu/5jg8m2k7LWV7XQ== 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=1696018926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IS+uFMDYwmhl4xPtm7D7ly8yu3CmlRm1E8Jc8YUzolE=; b=YJ/NxzMLJ2guJjj2Q/aOoEY+1x/A/1j/SpZVHQW3a9tEKIru9k7F1AtoRQ/7MyNzsc4KcN GO3LAz7u2bXOz0j6cMaAvdp5yu3V4d8cCgrfLSz1QaynwnnJMmRFvb6FVoObLgf9DBPvDe TCJ9kvV/Rw42NXvdSNg9EJBbe6mlhhhEA3wkMvbiJricQslKSB+wueHtiihljfW6pPoK0v jMHsdNf47dE9xb6/LeI9TzB6tBYk64vKuUmT7h+PBOnZv/rsBQfDHVTbLVoZGclrrJW8sg vGZAIl7Q+gjtNDShn+I1+H6gMINpEkYEHFzCuUksiomunrzaHzYvBdnuVfVTEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ry1wZ06Pgz3Vr; Fri, 29 Sep 2023 20:22: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 38TKM5sO067367; Fri, 29 Sep 2023 20:22:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38TKM5Lu067364; Fri, 29 Sep 2023 20:22:05 GMT (envelope-from git) Date: Fri, 29 Sep 2023 20:22:05 GMT Message-Id: <202309292022.38TKM5Lu067364@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: cefd82e00fec - releng/14.0 - vtgpu: Fix the physical memory size List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/releng/14.0 X-Git-Reftype: branch X-Git-Commit: cefd82e00fec12794c3cff81a17fa7fdf2f3a014 Auto-Submitted: auto-generated The branch releng/14.0 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=cefd82e00fec12794c3cff81a17fa7fdf2f3a014 commit cefd82e00fec12794c3cff81a17fa7fdf2f3a014 Author: Andrew Turner AuthorDate: 2023-09-21 10:50:29 +0000 Commit: Andrew Turner CommitDate: 2023-09-29 20:10:00 +0000 vtgpu: Fix the physical memory size Use the correct endian switching function when switching to a little endian 64-bit address. Even on a little-endian machine this will truncate the address to a 32-bit value. Approved by: re (gjb) Sponsored by: Arm Ltd (cherry picked from commit 4386935191c576fa62a52d52734e264fe8329a67) (cherry picked from commit 5df4deb384d3af12b10bc6de0788578d6a56e207) --- sys/dev/virtio/gpu/virtio_gpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/virtio/gpu/virtio_gpu.c b/sys/dev/virtio/gpu/virtio_gpu.c index 0472bc98b3ba..6209fe4beae1 100644 --- a/sys/dev/virtio/gpu/virtio_gpu.c +++ b/sys/dev/virtio/gpu/virtio_gpu.c @@ -565,7 +565,7 @@ vtgpu_attach_backing(struct vtgpu_softc *sc) s.req.backing.resource_id = htole32(VTGPU_RESOURCE_ID); s.req.backing.nr_entries = htole32(1); - s.req.mem[0].addr = htole32(sc->vtgpu_fb_info.fb_pbase); + s.req.mem[0].addr = htole64(sc->vtgpu_fb_info.fb_pbase); s.req.mem[0].length = htole32(sc->vtgpu_fb_info.fb_size); error = vtgpu_req_resp(sc, &s.req, sizeof(s.req), &s.resp, From nobody Sat Sep 30 02:52:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RyBZg56SMz4v8ks; Sat, 30 Sep 2023 02:52: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 4RyBZg4RRhz4XFP; Sat, 30 Sep 2023 02:52:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1696042331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z06gshf9JWJSiaP18FWJYCimqEt3scNhsKa2UwGOqO4=; b=qVdhmC8m2Pro0V6FpeRLE/TKTObEuvoDGV0nTBjssirbVqRAXZcsoZHd13dWujY1fqi2li nDeL5JJj2cMu/WG9HT7gUehRtrU6JNVoPBJJXdRheREjWlnkRV+m8iVf37oUYDmBRc92dq SbQ2YguOqIjKIEmPQ3qOMPO3ug/mLj3Az/Q9/0EB8nGt0Yty7bz72ybQgqkChSKF+MO59x g4arQwY/RgFuCjzE3PQYMCPXASqCMztGkyCmQqxFGf0MdaZx42x2XL5zRwYHeqZT+BYTFR tSRU14jfb7/hvPUSHLs/H6fBbvepqCPxRxBhMAnZjlj7ovFRPthaCWC81KNEog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1696042331; a=rsa-sha256; cv=none; b=gFqsOuBi6R8ZfCN8XKO4chYbd9hJwcWCP+cmsZr+RJfaUmV8nfJVsJU3qv4AAfhSMfUuBT opOnQZIlfbfLyM3WhVcdwX8cyvuOuF4N0lRyCupW90dbf1h5upLGDIbmoZQ4gl8ouhPr17 Ib7KB1Tc6ctA5wzWoIuqL7vHLb/FcAvp4kFpxlwQujO8d6nptH1XG9Lyh58/YOgfdcqYud xrYpFXnjykSSThIHPTdTxzNjL3jnXAheULC8dIWTSxpHxUR3Ga2k8GSYaD2h+XblQIGrIx FzpFHZze94gmoKGD4NujpVvhpsXSb5GFE48dR8mMez2BHslR0yqVzMqGq6iZ4A== 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=1696042331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z06gshf9JWJSiaP18FWJYCimqEt3scNhsKa2UwGOqO4=; b=g4rGn6gza6n2lTAYv/y7PVu9CJVt3Q7dDaCVRtVZoIztdFRxaNn4raCQSMXDHPu/8ijj+A RTQGGudUEX9pmPRst+zajkfOzFTe4TZ7f+G90ASobwZIT4JkC4PznSo4mJFsXjSytFxYk4 19vXJDktr+Oy8pgC0b7KNCUvadqyZOuQWh98aPnObRhmVhvF8cBKnW3S0KVDqbo9Vdje3u mBReSuPrvY3A2bYcyPOI54IDw+eXmFcVroJryaWpn/2vaJN4ZXaYZRjFX6BHuHR79K+4q0 inxHm7m+5JqEP3uuuKdraFYI07nihNaQBZwa529ISI7mPibsp35ZQhD/QH4FfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RyBZg3W29zWPP; Sat, 30 Sep 2023 02:52: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 38U2qBvU044234; Sat, 30 Sep 2023 02:52:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38U2qBEV044231; Sat, 30 Sep 2023 02:52:11 GMT (envelope-from git) Date: Sat, 30 Sep 2023 02:52:11 GMT Message-Id: <202309300252.38U2qBEV044231@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 25307d6c9279 - stable/12 - regcomp: use unsigned char when testing for escapes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 25307d6c927934dd44628e06cbc7047415fb6931 Auto-Submitted: auto-generated The branch stable/12 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=25307d6c927934dd44628e06cbc7047415fb6931 commit 25307d6c927934dd44628e06cbc7047415fb6931 Author: Christos Zoulas AuthorDate: 2023-08-30 20:37:24 +0000 Commit: Kyle Evans CommitDate: 2023-09-30 01:41:57 +0000 regcomp: use unsigned char when testing for escapes - cast GETNEXT to unsigned where it is being promoted to int to prevent sign-extension (really it would have been better for PEEK*() and GETNEXT() to return unsigned char; this would have removed a ton of (uch) casts, but it is too intrusive for now). - fix an isalpha that should have been iswalpha PR: 264275, 274032 Reviewed by: kevans, eugen (previous version) Obtained from: NetBSD (cherry picked from commit 3fb80f1476c7776f04ba7ef6d08397cef6abcfb0) --- lib/libc/regex/regcomp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libc/regex/regcomp.c b/lib/libc/regex/regcomp.c index fc66ea32046a..e93ea02f5873 100644 --- a/lib/libc/regex/regcomp.c +++ b/lib/libc/regex/regcomp.c @@ -814,10 +814,10 @@ p_simp_re(struct parse *p, struct branchc *bc) handled = false; assert(MORE()); /* caller should have ensured this */ - c = GETNEXT(); + c = (uch)GETNEXT(); if (c == '\\') { (void)REQUIRE(MORE(), REG_EESCAPE); - cc = GETNEXT(); + cc = (uch)GETNEXT(); c = BACKSL | cc; #ifdef LIBREGEX if (p->gnuext) { @@ -978,7 +978,7 @@ p_count(struct parse *p) int ndigits = 0; while (MORE() && isdigit((uch)PEEK()) && count <= DUPMAX) { - count = count*10 + (GETNEXT() - '0'); + count = count*10 + ((uch)GETNEXT() - '0'); ndigits++; } @@ -1288,7 +1288,7 @@ may_escape(struct parse *p, const wint_t ch) if ((p->pflags & PFLAG_LEGACY_ESC) != 0) return (true); - if (isalpha(ch) || ch == '\'' || ch == '`') + if (iswalpha(ch) || ch == '\'' || ch == '`') return (false); return (true); #ifdef NOTYET From nobody Sat Sep 30 02:52:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RyBZl63gsz4v94m; Sat, 30 Sep 2023 02:52: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 4RyBZl3jL9z4XT3; Sat, 30 Sep 2023 02:52:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1696042335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Po9DONmHAe8MSLs5xnlSKareB4phi7gksX7nqlKf/OA=; b=oX/HNaS/Cw4aR4gvdotvA64imlyjPpBvzwNirDGd6V5wjhw162NKIhQrNFEuRi5odqpFII owwAE2f27S5aIBhn4KlOm2tS3eyTAMPzraMYYY+lTYCjIhmpXl/VcI2SxBLjt19t3WXhUA g1DZrj7qk6fQ0dsBFBQkXx2BlTMj5y/D72eS/Sok4hxg9ZvB6mJuJ4deUQIXUy6Yn2QP/0 3sTI9S2u9Qf6awLvGjij9G9ffsTonM9eg5SG09WJ08i5LgUR+R/poX6rSNOPrE43UtOe4q 474VIKFLI5xBtOac72oaAZUtcfMe2llGXBF9CSiTk8yosHcOWLybeLvGOd+5jA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1696042335; a=rsa-sha256; cv=none; b=vFu+7RSeFsPzkQ4NzyaeIzfgR8uouoiJRfIR2luxJadrbs0aWbGrxes+Bl2/1Z6NK940Jb YmEf2o8i69UqJXDylAW8Q7eaJ4oQSEVNx71tk2F8svZauTW3G3CklNZQavrEdAv/kULffG UT6SfHVV49ipyxbfPeecV0NP1VYAU85LL0waaLOoa8MmCl+jHLr8ygJKwcTrjgHFdOah9f 5GsX1lo55+2poKxNFnzanISqLuJidL1pbvFzTfPLg6K5/4GZ1MkdODDehIvu6gGOaySTpU NRBuBhRwAa93p3hkjtvZdSffStiUnDv3oDhWjm0+ybwBpiZG9ZM9sas8aI6/6w== 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=1696042335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Po9DONmHAe8MSLs5xnlSKareB4phi7gksX7nqlKf/OA=; b=aB8D3YalQYkF7rz5Owd8JOB61tW+hdVktCArIQ+oVVuU2xlWD1zswOkinnUNMyAJNmx4eP tWZ02vL795oFR6hhc3Sg7GcDlbEgVSCIvI3klRwkvASlxfbrfaHxTCkMTFgvaB3iVKwIEk 2Atw3JdzyxVijwfticZGlgzn8G6RiVO+7JM8qbq99RJN4ISjKGJB36jbiXrpPkDE4dW5T8 2kya3omIacyzWBAS/ZU/v9AmkMz7uEosiY4kyqPm3zoqXcuvawKeRetfiwPKfZze6ccmMi HG/mkHNsSaO3Ubo/a7ZBWqUFvrm7m0NpU5/J6OLkxdBlKJUQA9zezGFYCXfQ6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RyBZl2pgMzWJm; Sat, 30 Sep 2023 02:52: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 38U2qFOO044399; Sat, 30 Sep 2023 02:52:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38U2qFZm044396; Sat, 30 Sep 2023 02:52:15 GMT (envelope-from git) Date: Sat, 30 Sep 2023 02:52:15 GMT Message-Id: <202309300252.38U2qFZm044396@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: ac695744e2cf - stable/13 - regcomp: use unsigned char when testing for escapes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ac695744e2cfb461a64018276fb94999fb0cad9c Auto-Submitted: auto-generated The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=ac695744e2cfb461a64018276fb94999fb0cad9c commit ac695744e2cfb461a64018276fb94999fb0cad9c Author: Christos Zoulas AuthorDate: 2023-08-30 20:37:24 +0000 Commit: Kyle Evans CommitDate: 2023-09-30 01:41:23 +0000 regcomp: use unsigned char when testing for escapes - cast GETNEXT to unsigned where it is being promoted to int to prevent sign-extension (really it would have been better for PEEK*() and GETNEXT() to return unsigned char; this would have removed a ton of (uch) casts, but it is too intrusive for now). - fix an isalpha that should have been iswalpha PR: 264275, 274032 Reviewed by: kevans, eugen (previous version) Obtained from: NetBSD (cherry picked from commit 3fb80f1476c7776f04ba7ef6d08397cef6abcfb0) --- lib/libc/regex/regcomp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libc/regex/regcomp.c b/lib/libc/regex/regcomp.c index 791755ceb14d..42fa1b99e58e 100644 --- a/lib/libc/regex/regcomp.c +++ b/lib/libc/regex/regcomp.c @@ -828,10 +828,10 @@ p_simp_re(struct parse *p, struct branchc *bc) handled = false; assert(MORE()); /* caller should have ensured this */ - c = GETNEXT(); + c = (uch)GETNEXT(); if (c == '\\') { (void)REQUIRE(MORE(), REG_EESCAPE); - cc = GETNEXT(); + cc = (uch)GETNEXT(); c = BACKSL | cc; #ifdef LIBREGEX if (p->gnuext) { @@ -992,7 +992,7 @@ p_count(struct parse *p) int ndigits = 0; while (MORE() && isdigit((uch)PEEK()) && count <= DUPMAX) { - count = count*10 + (GETNEXT() - '0'); + count = count*10 + ((uch)GETNEXT() - '0'); ndigits++; } @@ -1302,7 +1302,7 @@ may_escape(struct parse *p, const wint_t ch) if ((p->pflags & PFLAG_LEGACY_ESC) != 0) return (true); - if (isalpha(ch) || ch == '\'' || ch == '`') + if (iswalpha(ch) || ch == '\'' || ch == '`') return (false); return (true); #ifdef NOTYET From nobody Sat Sep 30 02:52:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RyBZr3Grzz4v94s; Sat, 30 Sep 2023 02:52: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 4RyBZq5YYCz4Xmk; Sat, 30 Sep 2023 02:52:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1696042339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zdf5xnHoVLSLfJIDySijl8YmtDmHr3x7viAsQdqFFFI=; b=vqC22vTAHDuj8j1Hd7fFT9wJviVBG+35B5JEbJ5XTMYBVTIWqbwaEHpbVUxb+ql7na4Jve 3kltR7Oz4UMYN7kln2W7WkR0BeHDPjygBVS2ychyIb6R4nc5OGh/QNYKL/BKahNzZfh7OV XHLIeGXribMlvPfqscOaae5E5sVnb9QL6fqOMaUwHBAGdfga9TkUYaFAgxpmqzORrY+H9X ILPpVGWMKMfN//gOiMs1tMJf/AL3oi24zX2itUFOBCkaOzCOORpQLJqntlrp9UCKccKQ5Z tfZRB3jCnhlZtFmEd32d+4QjxbV+uHCu7jgvLoj4kYtDX6ho9EwAqFhfsjjWag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1696042339; a=rsa-sha256; cv=none; b=kFRyI7r9en+FWVhxppPxe6pQpbDZLBcEWGVhNyjPzNkSvCyZt1Lywt0MzhXXmkpzPTR4Qv doGhmoZZ/T6h0Xh9kUOpqBxjJl3jIkrCy4Im5AQh6l/OOrZkiIMI3Xz/L9Zzf+u9rNI84I v+WOW8F1yQEZwb4dkkL2kg/aRIcxV3qQLx5x5gg7HS7cHhf63drXQsvXud8BeEd7R9USKb eUP7h3+GIcK7GswGeoSD76PYaYswscMMFk8d+Ygxh4HdbKfqmLdxzsGGZRsczLpwiddI2q jk+tHissRARUcfx4F19mMpWDnv3jpa1fHTfPOTsKCnT5b82oRbjTVVFYjQI39A== 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=1696042339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zdf5xnHoVLSLfJIDySijl8YmtDmHr3x7viAsQdqFFFI=; b=DNScrleLPcp5aoV9zMT/kUjwFts1fIgl80sJilhWt5BHuqVvsSC8AWmTfXp1OCKe7QHFn0 1pBs+jFVixJFq3QId6bqDVdv1UjYn/hOCcCTmA1QwDFSZ5j+bvsCgvzQt6HzP3jQSb7pCQ Sx/mnRCT8qvSzBCygzCHs/2lEgkuPw7q5UhjhuVNHepqzdywtndFRPFjuxl7xGLctA+VLD DSMeKqzuG7Vk+242d0C7Pt81uL3lKt6n6lRDMZn+IIe6d+4tqdqRf70o2kO9l+7niHAzeM GcFLrz8eFrhJXnyaYqJSxDc4GJpb7CYoAgLNkT5beiT/Wcr1j/15d10TB/9NvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RyBZq4bkDzVl2; Sat, 30 Sep 2023 02:52: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 38U2qJdB044563; Sat, 30 Sep 2023 02:52:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38U2qJ78044560; Sat, 30 Sep 2023 02:52:19 GMT (envelope-from git) Date: Sat, 30 Sep 2023 02:52:19 GMT Message-Id: <202309300252.38U2qJ78044560@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 56b09feb23d9 - stable/14 - regcomp: use unsigned char when testing for escapes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 56b09feb23d98fcd0c4aed8d4f907a5a2f6b5ea9 Auto-Submitted: auto-generated The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=56b09feb23d98fcd0c4aed8d4f907a5a2f6b5ea9 commit 56b09feb23d98fcd0c4aed8d4f907a5a2f6b5ea9 Author: Christos Zoulas AuthorDate: 2023-08-30 20:37:24 +0000 Commit: Kyle Evans CommitDate: 2023-09-30 01:40:59 +0000 regcomp: use unsigned char when testing for escapes - cast GETNEXT to unsigned where it is being promoted to int to prevent sign-extension (really it would have been better for PEEK*() and GETNEXT() to return unsigned char; this would have removed a ton of (uch) casts, but it is too intrusive for now). - fix an isalpha that should have been iswalpha PR: 264275, 274032 Reviewed by: kevans, eugen (previous version) Obtained from: NetBSD (cherry picked from commit 3fb80f1476c7776f04ba7ef6d08397cef6abcfb0) --- lib/libc/regex/regcomp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libc/regex/regcomp.c b/lib/libc/regex/regcomp.c index 791755ceb14d..42fa1b99e58e 100644 --- a/lib/libc/regex/regcomp.c +++ b/lib/libc/regex/regcomp.c @@ -828,10 +828,10 @@ p_simp_re(struct parse *p, struct branchc *bc) handled = false; assert(MORE()); /* caller should have ensured this */ - c = GETNEXT(); + c = (uch)GETNEXT(); if (c == '\\') { (void)REQUIRE(MORE(), REG_EESCAPE); - cc = GETNEXT(); + cc = (uch)GETNEXT(); c = BACKSL | cc; #ifdef LIBREGEX if (p->gnuext) { @@ -992,7 +992,7 @@ p_count(struct parse *p) int ndigits = 0; while (MORE() && isdigit((uch)PEEK()) && count <= DUPMAX) { - count = count*10 + (GETNEXT() - '0'); + count = count*10 + ((uch)GETNEXT() - '0'); ndigits++; } @@ -1302,7 +1302,7 @@ may_escape(struct parse *p, const wint_t ch) if ((p->pflags & PFLAG_LEGACY_ESC) != 0) return (true); - if (isalpha(ch) || ch == '\'' || ch == '`') + if (iswalpha(ch) || ch == '\'' || ch == '`') return (false); return (true); #ifdef NOTYET From nobody Sat Sep 30 04:38:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RyDxl59dmz4vXRr; Sat, 30 Sep 2023 04:38: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 4RyDxl4Nqyz4k46; Sat, 30 Sep 2023 04:38:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1696048731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2mOetfhiGrGtaXZ3SLSdcPfpGQJ2BLHzL6YEtSUIylI=; b=Kxf0WbFbFItQJ/dsSEIKgAmyXMLUjBHnSNWS7Gn/WlWd7GG8jneMJLMYbPyz9FMlMrHy2X WrhRnmYiwvN/LyRs1XGRvWLus0CzfVxbe4dy2KLnki8wGGMAR0DQgpk4dxLn3ztfCAe5Im R550hw4GQ0VmVN3dAe06YAwsBIzbewP3HZJiI5eQcohGXipAhGK8WtCwLdHHpXwSMLWpLD +vu+m+E3VpX9g/HeM/vdN9mZh5E63LYG0r10ifwsXEJ3sXF/fYY0sqBm1N1H0nRBR2PP/u 9oFgyZ49L1JVyFw/DLlZyS0IV2It0WPwt+xMnOchkMxLlFsBZW0bYVpZNyIRmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1696048731; a=rsa-sha256; cv=none; b=j7AhaaMvSe+UpqOb1BCWN8O7oazaqy/A+zg+0LHYqyP6+hTAWbKmY394hE+fvN3R6Nhtxe JDBjy74C4WOmFoLd8n1KiIFDKoaZBJqA9AGECNh5GCt6SzgKeXAdG/txjuJj2VpIrgZ4FK ey7jAhpt8TRIqPt45BFyRvA+++hoLYcrnoqOhP4pruk+G4tedKxujsDhtbBFX/+fU6j6GP ZuZ2K5mKP7svhIuGBUWf5sl3rsqEmQ33tko8s9vpsgNaaViQUCIEWxyPBBrLIz0HPQWyUX 2yjM60x9g9XWs0JF8voVrTITUO1c1IYhlQJPck5MnIdrMd8gzaGG0jiDYhOu7w== 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=1696048731; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2mOetfhiGrGtaXZ3SLSdcPfpGQJ2BLHzL6YEtSUIylI=; b=wK6tborhi2bat6UonyxG5Erx9sBd9YnCWKKfgVwHn5u8QnySUpvYJ0yCK+QDAcZ0V6a/u4 klUXPpFoI5b3OLvD4Oy78k8qCgUvK+HuRnKO1cOAFIHDMASFd7mCBcx5Pa4iCqV4yD69xP RYKvCz59zWQLIYGQPackOPC0IWd9ZT6UL6HbQh8L+x/QDWMn/U83xD8D4ThEFDtbmgYTGf vgyenv26RkXEfi8bI00UN4iVfVxJHG/P44yI70qHWhJNUwHTrN8xKlQJGf2pc7Qp4+vfyV yj+mi9Vyh5IOW7JELrRpVJrliKwOAprSfRCSsKZszHsD75IoVZrc4DDHNmg6Sw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RyDxl3SFWzZ26; Sat, 30 Sep 2023 04:38: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 38U4cpgu015257; Sat, 30 Sep 2023 04:38:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38U4cph3015254; Sat, 30 Sep 2023 04:38:51 GMT (envelope-from git) Date: Sat, 30 Sep 2023 04:38:51 GMT Message-Id: <202309300438.38U4cph3015254@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: fc424de7e192 - stable/14 - vfs cache: Drop known argument of internal cache_recalc_neg_min() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fc424de7e192bb33793ba1f7ed0c75b961809bf4 Auto-Submitted: auto-generated The branch stable/14 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=fc424de7e192bb33793ba1f7ed0c75b961809bf4 commit fc424de7e192bb33793ba1f7ed0c75b961809bf4 Author: Olivier Certner AuthorDate: 2023-09-22 21:25:41 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-30 04:37:14 +0000 vfs cache: Drop known argument of internal cache_recalc_neg_min() 'ncnegminpct' is to be passed always, so just drop the unneeded parameter. Sponsored by: The FreeBSD Foundation Reviewed by: mjg Differential Revision: https://reviews.freebsd.org/D41763 (cherry picked from commit 02ef039c284b8a7b1ea40f5f9a851a3cb6af5b31) --- sys/kern/vfs_cache.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 0f4d7526ebb5..fdfa4fde2c07 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -990,10 +990,10 @@ SYSCTL_PROC(_vfs_cache, OID_AUTO, nchstats, CTLTYPE_OPAQUE | CTLFLAG_RD | "VFS cache effectiveness statistics"); static void -cache_recalc_neg_min(u_int val) +cache_recalc_neg_min(void) { - neg_min = (ncsize * val) / 100; + neg_min = (ncsize * ncnegminpct) / 100; } static int @@ -1012,7 +1012,7 @@ sysctl_negminpct(SYSCTL_HANDLER_ARGS) if (val < 0 || val > 99) return (EINVAL); ncnegminpct = val; - cache_recalc_neg_min(val); + cache_recalc_neg_min(); return (0); } @@ -2652,7 +2652,7 @@ nchinit(void *dummy __unused) VFS_SMR_ZONE_SET(cache_zone_large_ts); ncsize = desiredvnodes * ncsizefactor; - cache_recalc_neg_min(ncnegminpct); + cache_recalc_neg_min(); nchashtbl = nchinittbl(desiredvnodes * 2, &nchash); ncbuckethash = cache_roundup_2(mp_ncpus * mp_ncpus) - 1; if (ncbuckethash < 7) /* arbitrarily chosen to avoid having one lock */ @@ -2796,7 +2796,7 @@ cache_changesize(u_long newmaxvnodes) } } ncsize = newncsize; - cache_recalc_neg_min(ncnegminpct); + cache_recalc_neg_min(); cache_changesize_set_new(new_nchashtbl, new_nchash); cache_unlock_all_buckets(); cache_unlock_all_vnodes(); From nobody Sat Sep 30 04:38:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RyDxm6WS6z4vXPS; Sat, 30 Sep 2023 04:38: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 4RyDxm5MVkz4jlY; Sat, 30 Sep 2023 04:38:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1696048732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hE3JxeOg7Iy9XNvcRSANTh888FN6zwJhREUiVXSr+Bg=; b=Fe9fx94Np6cwrfUs54PHc9IZY8E3rbGJfhP8IEan2e1cC/ZLbmqIdVQUG/rcolzNL8+jqO vaRPc8kMVl7HkyR/PGUyUjlkVsNKRrDGuGv6bDtAuE2R1nbHp+/Aoxau+tDwH5h1j6vXyn n6k0dZREhsdcSfG4c9t8hEh0SFO19E9zNfsGd7MP3U1yPZKgn0CffpShSVecqwq1cOJCbs F5FU/GHUhG0lUlxdEOu1Vemi5b2LNBSUqr9CoyhvSlYVV3bnoiIFrfZKlsjcBCx+5D3Rxp xoQP1S/CQsOH5wVlAVZ0ua4EUN4OECJHe7dQkYZxDly4/wfzSiIdn3Zp633/EA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1696048732; a=rsa-sha256; cv=none; b=Hi6zFxusJXZtD0nJI6N58x+S7kfbX/qqbLl8KdFte0EaLBX3PTxZKH5VyIvDHBShcPhAxE DQONuFdjPk1fq/K01rtYTTqVn8v++ti6H5ySCvTgEB070AxK+xV4R2YkX6ElXJd6DrpEmT qxSAwAtCWlvoHESQjd9BQKjR+4OW+WuI/z9TWxkwq/efuQx3wiiw9M5q2+OdOPg67o+LKI 4TG1ju2dflnzMDLXdzc+Pskrr1S0ovTwukjJryxx/OCD6qQejqM/nmJN+4yS9yG2bE+EPC ENaeV0RqJ8+wAAGJpd8LBXaqPeK6JdNoT2Z7mFhcUCvDWnZC6Omdsn0ePy3XSQ== 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=1696048732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hE3JxeOg7Iy9XNvcRSANTh888FN6zwJhREUiVXSr+Bg=; b=MIcxx8DYCarPp0LsGGFiAi7j0uJbrF6oXq4NwumRVXzZcE5f9D+8kpTMusQX0FBZsJNjGb SYKxCrjhGeHMPSM9ngVdCOyTLqm1NOJq/7xQ0IWMEi3PeKU0j0QlT2kIWgcNXe9u+pdXOU psgTdqfDDmKn4e8UQeoPukejsYa4WdS4/MuXw02LbrJ4B6LBZPb8FvzJSk/BkJ18n7XxhL zdMwej9mo8mQYr73FpYY3NkhWXpwuDtYWMZVT5USVOwjvvrM/9iVpRCHAvKgaOrTQ5/c5a aY1dsnhB03MIhAF7D44/8iWf7TnFJO/WhcEbold+FBnYA6lb4Qd/nsZopBmvmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RyDxm4CSzzYRZ; Sat, 30 Sep 2023 04:38:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38U4cqUl015303; Sat, 30 Sep 2023 04:38:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38U4cq68015300; Sat, 30 Sep 2023 04:38:52 GMT (envelope-from git) Date: Sat, 30 Sep 2023 04:38:52 GMT Message-Id: <202309300438.38U4cq68015300@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 3f4e6aa2ae7c - stable/14 - vfs cache: mark vfs.cache.param.size as read-only List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3f4e6aa2ae7c5d7b086f76e7ec445ec71a60a627 Auto-Submitted: auto-generated The branch stable/14 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=3f4e6aa2ae7c5d7b086f76e7ec445ec71a60a627 commit 3f4e6aa2ae7c5d7b086f76e7ec445ec71a60a627 Author: Mateusz Guzik AuthorDate: 2023-09-22 21:32:23 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-30 04:37:14 +0000 vfs cache: mark vfs.cache.param.size as read-only It was not meant to be writable and writes don't work correctly as they fail to resize the hash. (cherry picked from commit 33fdf1afaea931eaa5dd14e6c097d7ffafe2fb1a) --- sys/kern/vfs_cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index fdfa4fde2c07..1edd8fad0e89 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -405,7 +405,7 @@ static SYSCTL_NODE(_vfs_cache, OID_AUTO, param, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "Name cache parameters"); static u_int __read_mostly ncsize; /* the size as computed on creation or resizing */ -SYSCTL_UINT(_vfs_cache_param, OID_AUTO, size, CTLFLAG_RW, &ncsize, 0, +SYSCTL_UINT(_vfs_cache_param, OID_AUTO, size, CTLFLAG_RD, &ncsize, 0, "Total namecache capacity"); u_int ncsizefactor = 2; From nobody Sat Sep 30 04:38:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RyDxp03spz4vXX8; Sat, 30 Sep 2023 04:38: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 4RyDxn6PR0z4kGJ; Sat, 30 Sep 2023 04:38:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1696048733; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IiqUmVgwbgomFeWe3dpR5dc5qXeYKoVItEIM41GiA+I=; b=POYodALVaowhocQ3mvFCq2CVqF4cASjYCgguSeBTZnrR+Zwc2CIx+vJ+X1EFYIjDci9ZS7 kGvL6k4xULqUbKW0NjEWbrtSTv2efflAH5IAWE/0zWOT3rDUFlvm0N7Bb2HMcgG+itWwkD ysFCPAi/0q07Yhofk6qPXKAzvvb+PbPXkXoFghXJpzptvabBE3mrB+KhFd7Kd8EjQot2Xv CzqdeGJH5usj6HIPOvMEIYJ3AThwlF+zpVnBX/5rPdG1y535DUkeX99bt7xsUe+IkT0W/z VxGy0vilmrce9UShMz8ns/JBu7M/gppH8cVGOlMtoQflNEM1b7HD7CEoKr6Azg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1696048733; a=rsa-sha256; cv=none; b=MZiUoHHVZI0OmqOlgSgdzTnmL5U9RugwL2cnjdS5TwbD0BEy3e8MPvnnWUcSsQpE5YN76C EZF2blGYVFibNIDcmp7xXB4bPBophbZVczJTSeEhN5TVkE/y9WX8ACcYsr4zM1dRI4swkY TnScI+evRT8+RfvTEc/VjKHIh9BjSXIk0xnCJj06ZpKlQJmpGHQM5klWmjV1AAUqOWys7G HlByx/ZSdSV/b4XMVSRNBstBQMpVvkzA4eMS0hrDIk13rzw1X1eqQHEvSJudkJeM0skS+h 0YLBV9clnQlfIyySE7W3BmGfpUVA9IDuquGYki2jX/qUBytYjCS+WNNrtV/Swg== 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=1696048733; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IiqUmVgwbgomFeWe3dpR5dc5qXeYKoVItEIM41GiA+I=; b=eqHEV8tYY1dSQgcaaiG3S25sp45l7+ueblCXQOIKzNH1F2WMLjXlDebp+cCDM87PgxNloN t6WYyDNCShHpkshnwUHqChxVDyC1K9gTj3d5mFm4ju0avVUG8EDAmIQfh46pZDvH+7UPvF FYX0XTid5H9dmQwKmXhTVtYep94xrLHekMvOt4OmvPj/Sg8NE1aY/rocZtYG4WPDbajTba F9QnznRuL8tHxP9jR+pAB8benNnpNJZuVtbf5mua5YLFxq8ptaAuPhsia0l8YFwxLREBOC zkkl2NyuRC04zc2ACm+A76QR44RG4Sr/4u/1kARi72xp5Wv+QUtHrh5343AyKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RyDxn5VdXzYwK; Sat, 30 Sep 2023 04:38: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 38U4crOE015351; Sat, 30 Sep 2023 04:38:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38U4crM8015348; Sat, 30 Sep 2023 04:38:53 GMT (envelope-from git) Date: Sat, 30 Sep 2023 04:38:53 GMT Message-Id: <202309300438.38U4crM8015348@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 0cf6ebad7364 - stable/14 - vfs cache: retire dothits and dotdothits counters List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0cf6ebad73640a20fe99adacba635e2630be5d08 Auto-Submitted: auto-generated The branch stable/14 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=0cf6ebad73640a20fe99adacba635e2630be5d08 commit 0cf6ebad73640a20fe99adacba635e2630be5d08 Author: Mateusz Guzik AuthorDate: 2023-09-23 00:08:49 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-30 04:37:14 +0000 vfs cache: retire dothits and dotdothits counters They demonstrate nothing, and in case of dotdot they are not even hits. This is just a count of lookups with "..", which are not worth mentioniong. (cherry picked from commit bb124a0f611a1288c8496e3b33494f23ba929ca1) --- sys/kern/vfs_cache.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 1edd8fad0e89..12b9f2d74641 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -530,8 +530,6 @@ STATNODE_ULONG(neg, numneg, "Number of negative cache entries"); STATNODE_ULONG(count, numcache, "Number of cache entries"); STATNODE_COUNTER(heldvnodes, numcachehv, "Number of namecache entries with vnodes held"); STATNODE_COUNTER(drops, numdrops, "Number of dropped entries due to reaching the limit"); -STATNODE_COUNTER(dothits, dothits, "Number of '.' hits"); -STATNODE_COUNTER(dotdothits, dotdothits, "Number of '..' hits"); STATNODE_COUNTER(miss, nummiss, "Number of cache misses"); STATNODE_COUNTER(misszap, nummisszap, "Number of cache misses we do not want to cache"); STATNODE_COUNTER(poszaps, numposzaps, @@ -1782,7 +1780,6 @@ cache_lookup_dot(struct vnode *dvp, struct vnode **vpp, struct componentname *cn int ltype; *vpp = dvp; - counter_u64_add(dothits, 1); SDT_PROBE3(vfs, namecache, lookup, hit, dvp, ".", *vpp); if (tsp != NULL) timespecclear(tsp); @@ -1827,7 +1824,6 @@ cache_lookup_dotdot(struct vnode *dvp, struct vnode **vpp, struct componentname return (0); } - counter_u64_add(dotdothits, 1); retry: dvlp = VP2VNODELOCK(dvp); mtx_lock(dvlp); @@ -5131,7 +5127,6 @@ cache_fplookup_dot(struct cache_fpl *fpl) fpl->tvp = fpl->dvp; fpl->tvp_seqc = fpl->dvp_seqc; - counter_u64_add(dothits, 1); SDT_PROBE3(vfs, namecache, lookup, hit, fpl->dvp, ".", fpl->dvp); error = 0; @@ -5220,7 +5215,6 @@ cache_fplookup_dotdot(struct cache_fpl *fpl) return (cache_fpl_aborted(fpl)); } - counter_u64_add(dotdothits, 1); return (0); }