From nobody Sat Jan 28 22:50:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P48mn1rvsz3bD3k; Sat, 28 Jan 2023 22:50: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 4P48mn1PfTz3R4x; Sat, 28 Jan 2023 22:50:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674946249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5kRrxMLM6TAjviKWCmZ6nDBqHliPgGVL3fEURYsD1ec=; b=l69MvWjUatVLlVakAuao2/7CZwAAzsJpkni8zuEqr9/nojCyRQJCEFd3Vdvdf6hmqefYnz N4+4/eqYhYuVITSGp4TC4+XzqzSizbBsIrRinplZoFml25U4uoY2AU1DzLWvUZD+ESKFMm 38zz9vn9vuve5c9YeUUUWIfxY7qe41txZREyy4R1xyoYpjjGNo4tKrYmr61xqr7/y6enIf dD2Mq+yk5/UewthzP8g/ND8OoEyaF3dpSngN9gDKK634EWmqWevbQv+ki36Gk27c72nOjh aATUobwrFxURKPbJtPOWLCScJzsR6wWH97Cls/1MQnJd86UAwmN5fVrFm4vvAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674946249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5kRrxMLM6TAjviKWCmZ6nDBqHliPgGVL3fEURYsD1ec=; b=xwU1Xsa1/cXY7OythfKqzmvClzvPdeYZuJwcXO6G0tRnm18yfOjzORpdNtiF7r5dWhqW8O deUXOsaoOU+090V0bVr+auG09j+pm6i9JI7ZH9Fm8MfA9nwxmqtN7izCGstGf7Wg4wa/SY XXv8JuK3eJhA2I1jtp2WZAlkEd0/pO0IXMkIjqOEmV4Xc4TZKFch83/tO+ll4nLGK1B4yc 06S0En5HgQGrM0bIDoOZO/JS8v0l7iZzNBKj2PG82wNfQnaQCDu/PkVFbfXsuKz2u075Ui IT4lNs5HMp4n4IhkU8+s5Amwp+XH5vn8mo/fpF0GuYaABv0xYII7ZgEwk8Tofw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674946249; a=rsa-sha256; cv=none; b=F6RkLwC4JvklpzkKVnQDQ4HmBbFDHyL+mKbka9g8CfxxxoRIL908Du7VIkjBKz4RD81Qnt DZgvtRxXg5HoKA7HdY+SficZZpA088UHx1Uv5NHBTAMnIkfm11LnrkHQogcmkihg9lcpD6 lDihdeTyMC4NdqWAPl24lr7m8v0xD4UoqfiiHVWdFJHoX3n+sBbQOZya7/IATWDpoaDXnU pEZt4pWnHrwUAmLnFoMwirPs+5chs0U7/TKhM/6XFwf/5hpx9qayhG0a9v7i08B4frRJlM ykYGPSRCaq2wTPgKuRCYzwCln2E34hhSy46uC2UX4KNwnL6d/Ag52Ni8tYMDHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P48mn0SdRz15Vv; Sat, 28 Jan 2023 22:50:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30SMonHh075058; Sat, 28 Jan 2023 22:50:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30SMon4s075057; Sat, 28 Jan 2023 22:50:49 GMT (envelope-from git) Date: Sat, 28 Jan 2023 22:50:49 GMT Message-Id: <202301282250.30SMon4s075057@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan=20E=C3=9Fer?= Subject: git: fdd4c35832de - main - usr.bin/gh-bc: update Makefiles for version 6.2.2 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fdd4c35832deb1d064f64c2c00e3c8c958be9a51 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=fdd4c35832deb1d064f64c2c00e3c8c958be9a51 commit fdd4c35832deb1d064f64c2c00e3c8c958be9a51 Author: Stefan Eßer AuthorDate: 2023-01-28 22:48:34 +0000 Commit: Stefan Eßer CommitDate: 2023-01-28 22:48:34 +0000 usr.bin/gh-bc: update Makefiles for version 6.2.2 The sources of this program are in contrib/bc, but built using the Makefiles touched in this commit, which had to be adapted to comply with changed made to the build system of this software, which is not used when building in the base system. --- usr.bin/gh-bc/Makefile | 40 ++++++++++++++++++++++++---------------- usr.bin/gh-bc/tests/Makefile | 4 ++-- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/usr.bin/gh-bc/Makefile b/usr.bin/gh-bc/Makefile index bb44480b631c..77c5d8f1d270 100644 --- a/usr.bin/gh-bc/Makefile +++ b/usr.bin/gh-bc/Makefile @@ -33,26 +33,34 @@ CATALOGS+= zh_CN.UTF-8 zh_CN.eucCN zh_CN.GB18030 zh_CN.GB2312 zh_CN.GBK NLSNAME= bc NLSSRCDIR= ${BCDIR}/locales -CFLAGS+= -DMAINEXEC=${PROGNAME} -CFLAGS+= -DNLSPATH=/usr/share/nls/%L/%N.cat -CFLAGS+= -DBUILD_TYPE=A +CFLAGS=-g -O0 CFLAGS+= -DBC_DEFAULT_BANNER=0 +CFLAGS+= -DBC_DEFAULT_DIGIT_CLAMP=0 +CFLAGS+= -DBC_DEFAULT_EXPR_EXIT=1 CFLAGS+= -DBC_DEFAULT_PROMPT=0 -CFLAGS+= -DBC_DEFAULT_SIGINT_RESET -CFLAGS+= -DBC_DEFAULT_TTY_MODE -CFLAGS+= -DBC_ENABLED -CFLAGS+= -DBC_ENABLE_EDITLINE -CFLAGS+= -DBC_ENABLE_EXTRA_MATH +CFLAGS+= -DBC_DEFAULT_SIGINT_RESET=1 +CFLAGS+= -DBC_DEFAULT_TTY_MODE=1 +CFLAGS+= -DBC_ENABLED=1 +CFLAGS+= -DBC_ENABLE_AFL=0 +CFLAGS+= -DBC_ENABLE_EDITLINE=1 +CFLAGS+= -DBC_ENABLE_EXTRA_MATH=1 +CFLAGS+= -DBC_ENABLE_HISTORY=1 CFLAGS+= -DBC_ENABLE_LIBRARY=0 -CFLAGS+= -DBC_ENABLE_LONG_OPTIONS -CFLAGS+= -DBC_ENABLE_HISTORY -CFLAGS+= -DBC_ENABLE_PROMPT -CFLAGS+= -DBC_ENABLE_RAND +CFLAGS+= -DBC_ENABLE_MEMCHECK=0 +CFLAGS+= -DBC_ENABLE_NLS=1 +CFLAGS+= -DBC_EXCLUDE_EXTRA_MATH=0 + +CFLAGS+= -DDC_DEFAULT_DIGIT_CLAMP=0 +CFLAGS+= -DDC_DEFAULT_EXPR_EXIT=1 CFLAGS+= -DDC_DEFAULT_PROMPT=0 -CFLAGS+= -DDC_DEFAULT_SIGINT_RESET +CFLAGS+= -DDC_DEFAULT_SIGINT_RESET=1 CFLAGS+= -DDC_DEFAULT_TTY_MODE=0 -CFLAGS+= -DDC_ENABLED +CFLAGS+= -DDC_ENABLED=1 + +CFLAGS+= -DBUILD_TYPE=A +CFLAGS+= -DMAINEXEC=${PROGNAME} CFLAGS+= -DNDEBUG +CFLAGS+= -DNLSPATH=/usr/share/nls/%L/%N.cat CFLAGS+= -I${BCDIR}/include .if ${MK_NLS_CATALOGS} == "no" @@ -67,10 +75,10 @@ MAN_SRC_DC= dc/A.1 # prevent floating point incompatibilities caused by -flto on some architectures .if ${MACHINE_ARCH:Mmips*} == "" && ${MACHINE_ARCH} != powerpc64 && \ ${MACHINE_ARCH} != riscv64 -CFLAGS+= -flto +#CFLAGS+= -flto .endif -HAS_TESTS= +HAS_TESTS= yes SUBDIR.${MK_TESTS}+= tests .for catalog in ${CATALOGS} diff --git a/usr.bin/gh-bc/tests/Makefile b/usr.bin/gh-bc/tests/Makefile index 338deb41c534..bdd00186137e 100644 --- a/usr.bin/gh-bc/tests/Makefile +++ b/usr.bin/gh-bc/tests/Makefile @@ -58,10 +58,10 @@ PLAIN_TESTS_SH= bc_tests dc_tests bc_tests.sh: echo "#!/bin/sh" > ${.TARGET} - echo "env LANG=C ${TESTSDIR}/tests/all.sh bc 1 1 0 0 bc" >> ${.TARGET} + echo "env LANG=C ${TESTSDIR}/tests/all.sh bc 1 1 0 0 0 bc" >> ${.TARGET} dc_tests.sh: echo "#!/bin/sh" > ${.TARGET} - echo "env LANG=C ${TESTSDIR}/tests/all.sh dc 1 1 0 0 dc" >> ${.TARGET} + echo "env LANG=C ${TESTSDIR}/tests/all.sh dc 1 1 0 0 0 dc" >> ${.TARGET} .include From nobody Sun Jan 29 08:19:28 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4PNw4SG7z3bpvW; Sun, 29 Jan 2023 08:19: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 4P4PNw3xwxz3DZ4; Sun, 29 Jan 2023 08:19:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674980368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S68t1SwZEUnz8K3fMsYxAnp12G85miBVe7QvUArOIFE=; b=lJP7uSzeDysbdZqCBQeuPIEEAIGnSFVEytH9E98djTR37vXYtoYbzu99fIqEuYELm8EXOV nve5nmCXsX2hitIB3qUtyEXwIwK2QbiNa+g3azKLJCBF9LCONIHaLyMp41wDZ9FjqDmLrm 4sVH0FC7AcW0albEMF7y8HRulJE6yt7XFaiEy9E/OGPZFh4IPAcbuUvAwTjO/Iim/24HQx M/h2DqK1LIennTOEE/SUjXaBjTajBaTAAruDWkFaghCostltqLuCJKWkDch9U4CdpYw9PM sp3B7xVeW2uFEwU4NcYMKLyiweJT+F1reTPc3DXXujzsyWvR/y02M/C/bHBvpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674980368; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S68t1SwZEUnz8K3fMsYxAnp12G85miBVe7QvUArOIFE=; b=o3IJazA2N5SHMM85Jg8a+xNU7ap397htoYQ70QHko1/09pZXUhYuKKKUDVk9SCRKbc6b4f qEjjgIRsxRDC0sAUqXLmcbn5E91C8yiiq+d/ih+YMv88NwDB9ZYYSxLzeeljhbvmOhGSfH DyY47rysRA1Blbvh673xKD1RdAg48vvlgakqIBXa6dZhpbOWrqPkKE/Xkn5+vAirMHhjLa BQJV6crX/bp5h9B9DT8YDRowMXPlsYEe2tD7degyv0oEVDGHGHQeFaxZlhMl/ZlvAUqNrQ ly+r1wR+vjVFlTBctwgLraLK0kjrmkUirO72mSk1Dpy+vGpahFrxiPQFYmwjdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674980368; a=rsa-sha256; cv=none; b=WaS/aqJHd2+v39wKGcMD6gwaRrb2iuQLq8nT8XmJzfm3HRvdzdEpZqI0tYtXATHUOlgSyc MAv+eSsvYTbV1yY28tBdE5lF4Tg6+xAzeIXJd0mlmDro1pN3mg+8+Ta9YWkouRvxxdA4dy EVlQbgbw+ua45CO36Sy+mbOumkUmLh6TsbVYlJi4ZFN92ldPNEg8OLYn5gVHBCiO8pqX+r AxStz8nxO8l1c+L50fCs5rnz3bFXP+fcM6jEwNwb8kLxvOCQzA48QfZDcaUqaogRiB9zNb 3N8TTvYLvXU8svLHsDdu0NWnyFGeGjYkm932VCWzGP+vk1hQtGqycSSzjZLaVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4PNw31WnzLZY; Sun, 29 Jan 2023 08:19:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30T8JSuJ080200; Sun, 29 Jan 2023 08:19:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30T8JSFV080199; Sun, 29 Jan 2023 08:19:28 GMT (envelope-from git) Date: Sun, 29 Jan 2023 08:19:28 GMT Message-Id: <202301290819.30T8JSFV080199@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Fedor Uporov Subject: git: 509ee39ff28d - main - Fix developer second name. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 509ee39ff28dfd738c42e26a9da928fc18e47c7f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by fsu: URL: https://cgit.FreeBSD.org/src/commit/?id=509ee39ff28dfd738c42e26a9da928fc18e47c7f commit 509ee39ff28dfd738c42e26a9da928fc18e47c7f Author: Fedor Uporov AuthorDate: 2023-01-26 09:57:00 +0000 Commit: Fedor Uporov CommitDate: 2023-01-29 08:10:39 +0000 Fix developer second name. --- share/man/man5/ext2fs.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/ext2fs.5 b/share/man/man5/ext2fs.5 index e02be0e4a945..94125c2866dc 100644 --- a/share/man/man5/ext2fs.5 +++ b/share/man/man5/ext2fs.5 @@ -94,7 +94,7 @@ merged important parts of the allocation code from a clean-room implementation. .An Zheng Liu and -.An Fedor Upurov +.An Fedor Uporov implemented the read and write support respectively for .Em ext4 filesystems. From nobody Sun Jan 29 08:19:29 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4PNx5Zh9z3bpy7; Sun, 29 Jan 2023 08:19: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 4P4PNx4r0Mz3F4h; Sun, 29 Jan 2023 08:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674980369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kLMvsiDSg9XF7JKzxz/iEjT6oFYHZVDUJb7Atx8QjWc=; b=sn+qa6QUI5JHyKm/2nMJXkP3iVX9e7eSaR9e53fQ7ymkVFOsGTeLXKUnaHCgYqfdhNK0WW IYuR9hvxny4rBfvufFm43Aycm4+oLIaHrmxH2IaVuj39bO3xEd8a7gIhXXMmX1sYk0KF4U CWxLapeNBbKGesz73bqBtU2jIFZ/k820v7HUBip0sYSJMxO1iVcQEKqyQfOekKe1w53buk yvbq2pwGBorI1qZ880Cx98SHyJczAiZ/B6ZboNU3hYyjbKFgml6zCp248NGydRrHOyoQLB VAQrwkaKn5m7JGzsZSpcxTbo40CW721ItHNm52KDcuq08bVUqD4Qsa/BluhzZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674980369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kLMvsiDSg9XF7JKzxz/iEjT6oFYHZVDUJb7Atx8QjWc=; b=RWSktw15RzabG6He96JUj5QXywiD3/ZJNWm/ka1nPoIcRkAhnwwQuGZoFb05qduJze1cLl RHRXBdxWnwW5Gy4PFIh0lSc0IfEgl9P3pu+XjojDQjEmXBGOGANJf8Hw5N8ku7bz9miPfQ CPNZZ0LKOuNuFlDT4KrGN4n+MUx714gFQiOksq6Da8MxITdEN23vXN5AiIuQN4K+ION7qA wIvK4OOncoK3duX9XLITtARLUP5dfqzuoB/CfbSqspxZ4jDEWh09b4jYjwK21oavRiYiqn UvHZd7AE7kuDJalIxrrrpIyV5xA/iYdQHgiNAzp4A/o6z4RjgQ+DVlWLqgsHnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674980369; a=rsa-sha256; cv=none; b=ZMANb1NVTHMklaS6IbIX3PhIDYNhUgreHwIjnkJhFQ698Okjprw6N00fczlUukMBwaIeLs Qr/wDv8EwqjkHnnC/xfDFws7jzwbjKHmzS0M/+s17f+GJXjYd0yUeA0v6vrWA1LSyFs3bT JwQTfAoafV1g3BSKrjpm1tc7stj31Du05I3+vzdzn9V1Nq2JRmhRHd7LYM9ljLcMYZ2rs8 OvYfx9nx3JANjMgVjw8+FCPJ3AZSTTZ9KqWxKDkvApT5UyDhyuoEt6m3f4SpQSTGV3P3hu 6e8uE2+6APGfVyun3GoPBSoHe2/obMXgYIMk2MR0Y2sjTQzWgXZIkN5B2Iu4TA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4PNx3xFnzMNM; Sun, 29 Jan 2023 08:19:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30T8JTQQ080227; Sun, 29 Jan 2023 08:19:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30T8JTJb080225; Sun, 29 Jan 2023 08:19:29 GMT (envelope-from git) Date: Sun, 29 Jan 2023 08:19:29 GMT Message-Id: <202301290819.30T8JTJb080225@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Fedor Uporov Subject: git: 344243fc9213 - main - Fix block bitmap end position computation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 344243fc9213f78b2af5f089cb8b9e0e60706705 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by fsu: URL: https://cgit.FreeBSD.org/src/commit/?id=344243fc9213f78b2af5f089cb8b9e0e60706705 commit 344243fc9213f78b2af5f089cb8b9e0e60706705 Author: Fedor Uporov AuthorDate: 2023-01-26 10:06:25 +0000 Commit: Fedor Uporov CommitDate: 2023-01-29 08:11:02 +0000 Fix block bitmap end position computation PR: 261850 Reported by: chenguang.wang MFC after: 2 weeks --- sys/fs/ext2fs/ext2_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/ext2fs/ext2_alloc.c b/sys/fs/ext2fs/ext2_alloc.c index 489b64a1c0c5..0467e308a7a4 100644 --- a/sys/fs/ext2fs/ext2_alloc.c +++ b/sys/fs/ext2fs/ext2_alloc.c @@ -1068,7 +1068,7 @@ ext2_alloccg(struct inode *ip, int cg, daddr_t bpref, int size) start = dtogd(fs, bpref) / NBBY; else start = 0; - end = howmany(fs->e2fs_fpg, NBBY) - start; + end = howmany(fs->e2fs_fpg, NBBY); retry: runlen = 0; runstart = 0; From nobody Sun Jan 29 08:19:30 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4PNy6K67z3bplP; Sun, 29 Jan 2023 08:19: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 4P4PNy5q6Bz3F7d; Sun, 29 Jan 2023 08:19:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674980370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l3k9YoeSzG2++7HwoQQd+B1BpEGz1fAlgcbnubxQ8y4=; b=pdf3shmavEQjoAqhW2drSSmOkn8tD3oRXKBDrqRHcCCzgpCxBTkBQoN8X45OlG4aL3mZ6u BfOj60esx/Fson2IHnN4deZWUjN8nGWHHa2AoBdytmzp5FX4XN4Q620I2/DwaOiNdNJ9O8 JXwI1PrpANVwmy748ak5vML02oT2G+iQxjml8JoiN4f2UigELEfwJn5JT5dLolcQmu7CUy SlSrsYpYS90Xwr4JrjcBYRDikyuis0JvIfiuOC3iCW5GAx1OHa23HKtWmEBHnC/RPJWdEq 0JMcSOKNfk+T3TZhZ30yht0LolqynxdJeiTKGQzgchLTskkG4I24N2d6z/t5bA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674980370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l3k9YoeSzG2++7HwoQQd+B1BpEGz1fAlgcbnubxQ8y4=; b=w5UfpnuZ3CMdwHSHOspcUd1vNYepRUt2/9D4w9MlflDcHu3Rl5X6q5vNoRpgxvDQgfkvko an0Q4gQ9gsMtH3UQ+XRRSbiXrPMaRAcGnGuHYj1KQvCOdfYZeVDuGS9r3HCbdZla2KA9kH KmKg6B0G0A21amGfOu0ZEVqTjbQAPtO4NHMtRGSQVCyhsqhwEwQwmUj72sEjr3HmLKfLiy ZEsjIzHIfyKqoDg01Ow6cBuMiy22/KpsB8KVlZSSGsjYgbE8elIezyTC1PdHCfCP8NHVmO +2r/r1PjE2CDKSYfdGDISgMDyaNnBXyIkREqbEbV6g3Z7gOUZ8TOY2YjoJ22nQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674980370; a=rsa-sha256; cv=none; b=qK5QOXpqa4Ra0PhYfu4lQv9h96yNyDL2+q6wSp5C7kZe2CTMWKXUfOnoltz28WcZpczj16 bgnqjYYAlWauiTxw0CEgvgJaEuOpQ/y1XWj03brfcnR8uK6VyHA0u9XjtE7hKmc6i64F3v iIqCwIMpkJ6Hg/r9bbtCMddHctH0oq0DYQ4wwlEy518VyUzhe+vxURidHpZASfMFT8ztJ8 MwxgDX59TDt9NfNxf3OP2jGdXK8ZfP8XNxTudf5I31gcLG9s4jUbyRviThXwkFO3N9f3/7 CGlrS0qz1uuOtW6nDZe3XNWzPbpCIgG9e0PYgCTK/ole1z+jbrcEYBXtcz0wvQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4PNy4syVzLmZ; Sun, 29 Jan 2023 08:19:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30T8JUHd080258; Sun, 29 Jan 2023 08:19:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30T8JUW4080257; Sun, 29 Jan 2023 08:19:30 GMT (envelope-from git) Date: Sun, 29 Jan 2023 08:19:30 GMT Message-Id: <202301290819.30T8JUW4080257@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Fedor Uporov Subject: git: 9ad2d4c4907d - main - Fix pjfstest issue tests/rename/19.t List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9ad2d4c4907da9c9edd4826219f6fa08544d31c4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by fsu: URL: https://cgit.FreeBSD.org/src/commit/?id=9ad2d4c4907da9c9edd4826219f6fa08544d31c4 commit 9ad2d4c4907da9c9edd4826219f6fa08544d31c4 Author: Fedor Uporov AuthorDate: 2023-01-26 10:17:48 +0000 Commit: Fedor Uporov CommitDate: 2023-01-29 08:11:23 +0000 Fix pjfstest issue tests/rename/19.t The rename call with args like: "./dir0/dir1/.." "./dir2" will cause MPASS failure. The tmpfs_dir_lookup() does not accept names like '.' and '..' for lookup. Move the '.' and '..' entry check before tmpfs_dir_lookup() call. Reviewed by: kib MFC after: 2 week Differential revision: https://reviews.freebsd.org/D38051 --- sys/fs/tmpfs/tmpfs_vnops.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index 1e3a4ac68f3f..da934338948b 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -1029,6 +1029,15 @@ tmpfs_rename(struct vop_rename_args *v) } } + /* + * Avoid manipulating '.' and '..' entries. + */ + if ((fcnp->cn_flags & ISDOTDOT) != 0 || + (fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.')) { + error = EINVAL; + goto out_locked; + } + if (tvp != NULL) vn_seqc_write_begin(tvp); vn_seqc_write_begin(tdvp); @@ -1044,8 +1053,7 @@ tmpfs_rename(struct vop_rename_args *v) de = tmpfs_dir_lookup(fdnode, fnode, fcnp); /* - * Entry can disappear before we lock fdvp, - * also avoid manipulating '.' and '..' entries. + * Entry can disappear before we lock fdvp. */ if (de == NULL) { if ((fcnp->cn_flags & ISDOTDOT) != 0 || From nobody Sun Jan 29 08:19:31 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4PP03799z3bphL; Sun, 29 Jan 2023 08:19:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P4PNz6hwLz3F3C; Sun, 29 Jan 2023 08:19:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674980371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8O4d9+u8dOIUXQke0xAKYsphkDoHb3ucjvcq3J+qtG4=; b=xL2HT4PqUfKfilbeXLYDJixiLtA+4m/M9zUAh3xCpD2hUzCVYH6vuRDR6/cga4y90OQhOL BrRm2GEfKS+dt6TK5owGvF4AOihyu9L289nSFlUOpGMKx5dCIUBg/VMPSWZ+KEBjI+Lp8n 00YRQ3iCBCLnQ2Y34IhjNkH5VH6LN/UcZO/78k5mCBY6gH3cXiovccr4ZjB939Wkvgf2qH rekbYZm0lp7BJDy0hxzj0zR6RdRy7mAHyiXwy9q5V9DFr2qaRoLI/3PuNTJhEVahEYnhKZ 2mf3bzzdsNZJQ3T3QjZ8nSumHQF83VpQP2SdjP3d22WyIybsZ/NzJGZQ1qZ3+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674980371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8O4d9+u8dOIUXQke0xAKYsphkDoHb3ucjvcq3J+qtG4=; b=Op9jKH9CCWa8N80nhWAuHakARThzVtJ2LfSdIpQvuPs4qTh6+tLX8ZtkuIOaqiibZ6cUOA u5weXFmfVXg33AwrsKIJLRnJizIUUr7J1Jo0gfv6nyfAzukzh5fX5oiQ/WQgZSKiv7Ch4u H3Z1D/vRY3v6XSkNB0IyJlISqAHvuD5XIlbBl3K+WseWq4+2a2eHHIy+NxbT/B68bj/TTf qVLd64o3ztGYaOGz/cqPBNm09iJ+Aa+8cFNspgkuYVCQZVTzuU0QFJZDxYEdyH+hYKGnyk q/dehtx/WaLMnYgZz8l9F6AsNCgVLDn6lHi/EHScEjg6LO4VDHc/Oa8tzjLxuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674980371; a=rsa-sha256; cv=none; b=C93uRUFhmULDeV8m4f4t/IV3oqLRvoauXpmVuwbtt88e4GjdvHpa6Eu21eiNOFDZ9dYTAH fQo45YrFV+nZpjAUUyusXm4egnqxeG/oZsoaWOmzkqBa9S3owtpwX12/lkaxKnq9tFr2UP 82iJmKvkHDmjThI/H+geTLsQaPiJp8YwVDC8pqdwLhp/8X/Jn7TO0w7rq0Y9PExj+qP96U NaZ4thwBTs8RugPr+Q9MrHjvDjZ6Wnqnh1T9CceHDBPW8U0Cpjqs2xCY4mm8wORhmUa5T7 QoJLSk3uyUu2r+JsIwICG2tuGamC6vq2n+lskCf4z6sDDphJNgY1NqMHtDg3wg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4PNz5pKRzMNN; Sun, 29 Jan 2023 08:19:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30T8JVLj080282; Sun, 29 Jan 2023 08:19:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30T8JV89080281; Sun, 29 Jan 2023 08:19:31 GMT (envelope-from git) Date: Sun, 29 Jan 2023 08:19:31 GMT Message-Id: <202301290819.30T8JV89080281@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Fedor Uporov Subject: git: 0de4895aac4e - main - Fix pjfstest issue tests/rename/23.t List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0de4895aac4ef86dcde43ec8c992b8abd1a3fcbf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by fsu: URL: https://cgit.FreeBSD.org/src/commit/?id=0de4895aac4ef86dcde43ec8c992b8abd1a3fcbf commit 0de4895aac4ef86dcde43ec8c992b8abd1a3fcbf Author: Fedor Uporov AuthorDate: 2023-01-26 10:23:22 +0000 Commit: Fedor Uporov CommitDate: 2023-01-29 08:12:32 +0000 Fix pjfstest issue tests/rename/23.t This test creates two files like file0 and file1, then creates link to file1 and checks ctime on it. Then renames file0 to file1. Then checks ctime on link again. It is expected, that second ctime will be higher then first ctime, because rename happen. Add ctime updating for directory entry, which will be deleted on rename. Reviewed by: kib MFC after: 2 week Differential revision: https://reviews.freebsd.org/D38051 --- sys/fs/tmpfs/tmpfs_vnops.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index da934338948b..6a58ffdc0f4b 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -1233,6 +1233,10 @@ tmpfs_rename(struct vop_rename_args *v) tde = tmpfs_dir_lookup(tdnode, tnode, tcnp); tmpfs_dir_detach(tdvp, tde); + /* Update node's ctime because of possible hardlinks. */ + tnode->tn_status |= TMPFS_NODE_CHANGED; + tmpfs_update(tvp); + /* * Free the directory entry we just deleted. Note that the * node referred by it will not be removed until the vnode is From nobody Sun Jan 29 08:19:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4PP10gX8z3bprR; Sun, 29 Jan 2023 08:19:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P4PP108fPz3FBg; Sun, 29 Jan 2023 08:19:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674980373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iAXHEVmYl784sCq+M35X7YDnRBUFqBL/AB/CDR2P+Zw=; b=bBdGYKujQHfpPV0VF7V9vyACYj6XhZaz71A/i5eF6gmunkdsTFgg428L/SAmrTehDJlxmQ v4W6Z/bytmr4fT8bulOn5vRsWySG3sbJpVwovB2LfpkjHhbjLT0kCbWx73s3ubVT2uDy0n bkgwxZErnYK+iqcWgS5JNRHvnMaBTPoMUpXUWQOBeutaC3g1lPuEfqLTfoQC+qX/JiLOHA 8BQ66koeuErogIOcRXuorjj4VdYZefuXXhC1pBAV/vlv+4dus0aOzAWrD6fDKooqIyXXC+ q/Wvn3EVciips3l2zcK1m0EBYRkBzgxejP8IRcKv8L4J1u0MYC9IzulPIwJIKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674980373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iAXHEVmYl784sCq+M35X7YDnRBUFqBL/AB/CDR2P+Zw=; b=yCv1sJXI0UZ5UMjpwwdJGUofODn0udLwY7pgd73ImhQc4N7bhf6luBlT7zAIjd3k9jaOAA ZwbTP1sEE2vSIvDH265cI+Z0/FyeJn/WfrExK0vsCDzMyQAvn+R8qy9+8bzTJ5Gwr8I1tr 2liaE7mI9YT2nW4xmSqetsdUJFKdGsynMWmrA4LH23C/rF/LpPiGma2fkl3AqT5kcfn7KZ gjzAMYIou5K2eSlR11hZFR7eI081m556RQtK/fudhryQA9MXG4Q92ggAbfHEQKH/XqiRK/ HG9ze6VG4HrpJWIkUHCTJnUfE9mHSmuvZQDjJh+ll97zBJxufG+q+ImQ7n6vkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674980373; a=rsa-sha256; cv=none; b=JbzQVIvH7kogS1kRoa0QjZno/ZnL4WdEl6I8w3xihAhPAsxOFIYmRZxnYxFup3nq6LhdsA ZW49y0AMnEgzHLwn38P5DBkT79DaVzuzigg6MoTpBeftuMYJWb4w5FP8v7XdZQXxqgzRL9 npw9VK/bDoiw5ig3NO/E5qOH3n1uJT55JNw32pzOu5eFbF4sEsOkVmSn8A/4EUAg8Wh08m 4tefaT/euRDHg0ZgdgtJF6jZFDtr7h4UQ3fwS9EsPOt6oVg8Hb5ipS7qcbdYr7HOd/ikNS Pi+1no/WHNcU6Y5AusDH1Y0xr5osHL/v/68HEOp+HhFmkH/N3jg0E0iRs+UYog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4PP06KWNzLpm; Sun, 29 Jan 2023 08:19:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30T8JWtQ080306; Sun, 29 Jan 2023 08:19:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30T8JWq6080305; Sun, 29 Jan 2023 08:19:32 GMT (envelope-from git) Date: Sun, 29 Jan 2023 08:19:32 GMT Message-Id: <202301290819.30T8JWq6080305@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Fedor Uporov Subject: git: 56242a4c6566 - main - Add extended attributes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 56242a4c6566580d7612bcb0d9fc4559f3208921 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by fsu: URL: https://cgit.FreeBSD.org/src/commit/?id=56242a4c6566580d7612bcb0d9fc4559f3208921 commit 56242a4c6566580d7612bcb0d9fc4559f3208921 Author: Fedor Uporov AuthorDate: 2022-12-05 17:04:42 +0000 Commit: Fedor Uporov CommitDate: 2023-01-29 08:13:14 +0000 Add extended attributes The extattrs follows semantic of ufs, mean it cannot be set to char/block devices and fifos. The attributes are allocated using regular malloc with M_WAITOK allocation with the own malloc tag M_TMPFSEA. The memory consumed by extended attributes is limited to avoid OOM triggereing by tmpfs_mount variable tm_ea_memory_max, which is set initialy to 16 MB. The extended attributes entries are stored as linked list in the tmpfs node. The mount point lock is required only under setextattr and deleteextattr to update extended attributes memory-inuse counter, all other operations are doing under vnode lock. Reviewed by: kib MFC after: 2 week Differential revision: https://reviews.freebsd.org/D38052 --- share/man/man5/tmpfs.5 | 3 + sys/fs/tmpfs/tmpfs.h | 32 +++++++ sys/fs/tmpfs/tmpfs_subr.c | 9 +- sys/fs/tmpfs/tmpfs_vfsops.c | 21 +++-- sys/fs/tmpfs/tmpfs_vnops.c | 216 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 274 insertions(+), 7 deletions(-) diff --git a/share/man/man5/tmpfs.5 b/share/man/man5/tmpfs.5 index b934fe02868d..61f3a8505154 100644 --- a/share/man/man5/tmpfs.5 +++ b/share/man/man5/tmpfs.5 @@ -140,6 +140,9 @@ main memory and swap space) will be used. .It Cm maxfilesize Specifies the maximum file size in bytes. Defaults to the maximum possible value. +.It Cm easize +Specifies the maximum memory size used by extended attributes in bytes. +Defaults to 16 megabytes. .El .Sh EXAMPLES Mount a diff --git a/sys/fs/tmpfs/tmpfs.h b/sys/fs/tmpfs/tmpfs.h index e9964d7d48af..70ed066ef0f5 100644 --- a/sys/fs/tmpfs/tmpfs.h +++ b/sys/fs/tmpfs/tmpfs.h @@ -132,6 +132,20 @@ RB_HEAD(tmpfs_dir, tmpfs_dirent); #define TMPFS_DIRCOOKIE_DUP_MAX \ (TMPFS_DIRCOOKIE_DUP | TMPFS_DIRCOOKIE_MASK) +/* + * Internal representation of a tmpfs extended attribute entry. + */ +LIST_HEAD(tmpfs_extattr_list, tmpfs_extattr); + +struct tmpfs_extattr { + LIST_ENTRY(tmpfs_extattr) ea_extattrs; + int ea_namespace; /* attr namespace */ + char *ea_name; /* attr name */ + unsigned char ea_namelen; /* attr name length */ + char *ea_value; /* attr value buffer */ + ssize_t ea_size; /* attr value size */ +}; + /* * Internal representation of a tmpfs file system node. * @@ -239,6 +253,9 @@ struct tmpfs_node { /* Transient refcounter on this node. */ u_int tn_refcount; /* 0<->1 (m) + (i) */ + /* Extended attributes of this node. */ + struct tmpfs_extattr_list tn_extattrs; /* (v) */ + /* misc data field for different tn_type node */ union { /* Valid when tn_type == VBLK || tn_type == VCHR. */ @@ -384,6 +401,12 @@ struct tmpfs_mount { /* Number of nodes currently that are in use. */ ino_t tm_nodes_inuse; + /* Memory used by extended attributes */ + uint64_t tm_ea_memory_inuse; + + /* Maximum memory available for extended attributes */ + uint64_t tm_ea_memory_max; + /* Refcounter on this struct tmpfs_mount. */ uint64_t tm_refcount; @@ -480,6 +503,8 @@ struct tmpfs_dirent *tmpfs_dir_first(struct tmpfs_node *dnode, struct tmpfs_dir_cursor *dc); struct tmpfs_dirent *tmpfs_dir_next(struct tmpfs_node *dnode, struct tmpfs_dir_cursor *dc); +bool tmpfs_pages_check_avail(struct tmpfs_mount *tmp, size_t req_pages); +void tmpfs_extattr_free(struct tmpfs_extattr* ea); static __inline void tmpfs_update(struct vnode *vp) { @@ -518,6 +543,13 @@ tmpfs_update(struct vnode *vp) #define TMPFS_PAGES_MINRESERVED (4 * 1024 * 1024 / PAGE_SIZE) #endif +/* + * Amount of memory to reserve for extended attributes. + */ +#if !defined(TMPFS_EA_MEMORY_RESERVED) +#define TMPFS_EA_MEMORY_RESERVED (16 * 1024 * 1024) +#endif + size_t tmpfs_mem_avail(void); size_t tmpfs_pages_used(struct tmpfs_mount *tmp); int tmpfs_subr_init(void); diff --git a/sys/fs/tmpfs/tmpfs_subr.c b/sys/fs/tmpfs/tmpfs_subr.c index 67fb55d2a6a6..ccb9977c39eb 100644 --- a/sys/fs/tmpfs/tmpfs_subr.c +++ b/sys/fs/tmpfs/tmpfs_subr.c @@ -434,7 +434,7 @@ tmpfs_pages_used(struct tmpfs_mount *tmp) return (meta_pages + tmp->tm_pages_used); } -static bool +bool tmpfs_pages_check_avail(struct tmpfs_mount *tmp, size_t req_pages) { if (tmpfs_mem_avail() < req_pages) @@ -587,6 +587,7 @@ tmpfs_alloc_node(struct mount *mp, struct tmpfs_mount *tmp, enum vtype type, nnode->tn_mode = mode; nnode->tn_id = alloc_unr64(&tmp->tm_ino_unr); nnode->tn_refcount = 1; + LIST_INIT(&nnode->tn_extattrs); /* Type-specific initialization. */ switch (nnode->tn_type) { @@ -702,6 +703,7 @@ bool tmpfs_free_node_locked(struct tmpfs_mount *tmp, struct tmpfs_node *node, bool detach) { + struct tmpfs_extattr *ea; vm_object_t uobj; char *symlink; bool last; @@ -748,6 +750,11 @@ tmpfs_free_node_locked(struct tmpfs_mount *tmp, struct tmpfs_node *node, } #endif + while ((ea = LIST_FIRST(&node->tn_extattrs)) != NULL) { + LIST_REMOVE(ea, ea_extattrs); + tmpfs_extattr_free(ea); + } + switch (node->tn_type) { case VREG: uobj = node->tn_reg.tn_aobj; diff --git a/sys/fs/tmpfs/tmpfs_vfsops.c b/sys/fs/tmpfs/tmpfs_vfsops.c index a8382872aa2f..682636d20725 100644 --- a/sys/fs/tmpfs/tmpfs_vfsops.c +++ b/sys/fs/tmpfs/tmpfs_vfsops.c @@ -92,12 +92,12 @@ static int tmpfs_fhtovp(struct mount *, struct fid *, int, static int tmpfs_statfs(struct mount *, struct statfs *); static const char *tmpfs_opts[] = { - "from", "size", "maxfilesize", "inodes", "uid", "gid", "mode", "export", - "union", "nonc", "nomtime", NULL + "from", "easize", "size", "maxfilesize", "inodes", "uid", "gid", "mode", + "export", "union", "nonc", "nomtime", NULL }; static const char *tmpfs_updateopts[] = { - "from", "export", "nomtime", "size", NULL + "from", "easize", "export", "nomtime", "size", NULL }; static int @@ -332,7 +332,7 @@ tmpfs_mount(struct mount *mp) bool nomtime, nonc; /* Size counters. */ u_quad_t pages; - off_t nodes_max, size_max, maxfilesize; + off_t nodes_max, size_max, maxfilesize, ea_max_size; /* Root node attributes. */ uid_t root_uid; @@ -360,6 +360,9 @@ tmpfs_mount(struct mount *mp) if (size_max != tmp->tm_size_max) return (EOPNOTSUPP); } + if (vfs_getopt_size(mp->mnt_optnew, "easize", &ea_max_size) == 0) { + tmp->tm_ea_memory_max = ea_max_size; + } if (vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0) && !tmp->tm_ronly) { /* RW -> RO */ @@ -405,6 +408,8 @@ tmpfs_mount(struct mount *mp) size_max = 0; if (vfs_getopt_size(mp->mnt_optnew, "maxfilesize", &maxfilesize) != 0) maxfilesize = 0; + if (vfs_getopt_size(mp->mnt_optnew, "easize", &ea_max_size) != 0) + ea_max_size = 0; nonc = vfs_getopt(mp->mnt_optnew, "nonc", NULL, NULL) == 0; nomtime = vfs_getopt(mp->mnt_optnew, "nomtime", NULL, NULL) == 0; @@ -443,8 +448,11 @@ tmpfs_mount(struct mount *mp) mtx_init(&tmp->tm_allnode_lock, "tmpfs allnode lock", NULL, MTX_DEF); tmp->tm_nodes_max = nodes_max; tmp->tm_nodes_inuse = 0; + tmp->tm_ea_memory_inuse = 0; tmp->tm_refcount = 1; tmp->tm_maxfilesize = maxfilesize > 0 ? maxfilesize : OFF_MAX; + tmp->tm_ea_memory_max = ea_max_size > 0 ? + ea_max_size : TMPFS_EA_MEMORY_RESERVED; LIST_INIT(&tmp->tm_nodes_used); tmp->tm_size_max = size_max; @@ -708,11 +716,12 @@ db_print_tmpfs(struct mount *mp, struct tmpfs_mount *tmp) mp->mnt_stat.f_mntonname, tmp); db_printf( "\tsize max %ju pages max %lu pages used %lu\n" - "\tinodes max %ju inodes inuse %ju refcount %ju\n" + "\tinodes max %ju inodes inuse %ju ea inuse %ju refcount %ju\n" "\tmaxfilesize %ju r%c %snamecache %smtime\n", (uintmax_t)tmp->tm_size_max, tmp->tm_pages_max, tmp->tm_pages_used, (uintmax_t)tmp->tm_nodes_max, (uintmax_t)tmp->tm_nodes_inuse, - (uintmax_t)tmp->tm_refcount, (uintmax_t)tmp->tm_maxfilesize, + (uintmax_t)tmp->tm_ea_memory_inuse, (uintmax_t)tmp->tm_refcount, + (uintmax_t)tmp->tm_maxfilesize, tmp->tm_ronly ? 'o' : 'w', tmp->tm_nonc ? "no" : "", tmp->tm_nomtime ? "no" : ""); } diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index 6a58ffdc0f4b..55f0beebc848 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -79,6 +80,8 @@ SYSCTL_INT(_vfs_tmpfs, OID_AUTO, rename_restarts, CTLFLAG_RD, __DEVOLATILE(int *, &tmpfs_rename_restarts), 0, "Times rename had to restart due to lock contention"); +MALLOC_DEFINE(M_TMPFSEA, "tmpfs extattr", "tmpfs extattr structure"); + static int tmpfs_vn_get_ino_alloc(struct mount *mp, void *arg, int lkflags, struct vnode **rvp) @@ -1855,6 +1858,215 @@ restart_locked: return (ENOENT); } +void +tmpfs_extattr_free(struct tmpfs_extattr *ea) +{ + free(ea->ea_name, M_TMPFSEA); + free(ea->ea_value, M_TMPFSEA); + free(ea, M_TMPFSEA); +} + +static bool +tmpfs_extattr_update_mem(struct tmpfs_mount *tmp, ssize_t size) +{ + TMPFS_LOCK(tmp); + if (size > 0 && + !tmpfs_pages_check_avail(tmp, howmany(size, PAGE_SIZE))) { + TMPFS_UNLOCK(tmp); + return (false); + } + if (tmp->tm_ea_memory_inuse + size > tmp->tm_ea_memory_max) { + TMPFS_UNLOCK(tmp); + return (false); + } + tmp->tm_ea_memory_inuse += size; + TMPFS_UNLOCK(tmp); + return (true); +} + +static int +tmpfs_deleteextattr(struct vop_deleteextattr_args *ap) +{ + struct vnode *vp = ap->a_vp; + struct tmpfs_mount *tmp; + struct tmpfs_node *node; + struct tmpfs_extattr *ea; + size_t namelen; + ssize_t diff; + int error; + + node = VP_TO_TMPFS_NODE(vp); + tmp = VFS_TO_TMPFS(vp->v_mount); + if (ap->a_vp->v_type == VCHR || ap->a_vp->v_type == VBLK) + return (EOPNOTSUPP); + error = extattr_check_cred(ap->a_vp, ap->a_attrnamespace, + ap->a_cred, ap->a_td, VWRITE); + if (error != 0) + return (error); + if (ap->a_name == NULL || ap->a_name[0] == '\0') + return (EINVAL); + namelen = strlen(ap->a_name); + if (namelen > EXTATTR_MAXNAMELEN) + return (EINVAL); + + LIST_FOREACH(ea, &node->tn_extattrs, ea_extattrs) { + if (ea->ea_namespace == ap->a_attrnamespace && + namelen == ea->ea_namelen && + memcmp(ap->a_name, ea->ea_name, namelen) == 0) + break; + } + + if (ea == NULL) + return (ENOATTR); + LIST_REMOVE(ea, ea_extattrs); + diff = -(sizeof(struct tmpfs_extattr) + namelen + ea->ea_size); + tmpfs_extattr_update_mem(tmp, diff); + tmpfs_extattr_free(ea); + return (0); +} + +static int +tmpfs_getextattr(struct vop_getextattr_args *ap) +{ + struct vnode *vp = ap->a_vp; + struct tmpfs_node *node; + struct tmpfs_extattr *ea; + size_t namelen; + int error; + + node = VP_TO_TMPFS_NODE(vp); + if (ap->a_vp->v_type == VCHR || ap->a_vp->v_type == VBLK) + return (EOPNOTSUPP); + error = extattr_check_cred(ap->a_vp, ap->a_attrnamespace, + ap->a_cred, ap->a_td, VREAD); + if (error != 0) + return (error); + if (ap->a_name == NULL || ap->a_name[0] == '\0') + return (EINVAL); + namelen = strlen(ap->a_name); + if (namelen > EXTATTR_MAXNAMELEN) + return (EINVAL); + + LIST_FOREACH(ea, &node->tn_extattrs, ea_extattrs) { + if (ea->ea_namespace == ap->a_attrnamespace && + namelen == ea->ea_namelen && + memcmp(ap->a_name, ea->ea_name, namelen) == 0) + break; + } + + if (ea == NULL) + return (ENOATTR); + if (ap->a_size != NULL) + *ap->a_size = ea->ea_size; + if (ap->a_uio != NULL && ea->ea_size != 0) + error = uiomove(ea->ea_value, ea->ea_size, ap->a_uio); + return (error); +} + +static int +tmpfs_listextattr(struct vop_listextattr_args *ap) +{ + struct vnode *vp = ap->a_vp; + struct tmpfs_node *node; + struct tmpfs_extattr *ea; + int error; + + node = VP_TO_TMPFS_NODE(vp); + if (ap->a_vp->v_type == VCHR || ap->a_vp->v_type == VBLK) + return (EOPNOTSUPP); + error = extattr_check_cred(ap->a_vp, ap->a_attrnamespace, + ap->a_cred, ap->a_td, VREAD); + if (error != 0) + return (error); + if (ap->a_size != NULL) + *ap->a_size = 0; + + LIST_FOREACH(ea, &node->tn_extattrs, ea_extattrs) { + if (ea->ea_namespace != ap->a_attrnamespace) + continue; + if (ap->a_size != NULL) + *ap->a_size += ea->ea_namelen + 1; + if (ap->a_uio != NULL) { + error = uiomove(&ea->ea_namelen, 1, ap->a_uio); + if (error != 0) + break; + error = uiomove(ea->ea_name, ea->ea_namelen, ap->a_uio); + if (error != 0) + break; + } + } + + return (error); +} + +static int +tmpfs_setextattr(struct vop_setextattr_args *ap) +{ + struct vnode *vp = ap->a_vp; + struct tmpfs_mount *tmp; + struct tmpfs_node *node; + struct tmpfs_extattr *ea; + struct tmpfs_extattr *new_ea; + size_t attr_size; + size_t namelen; + ssize_t diff; + int error; + + node = VP_TO_TMPFS_NODE(vp); + tmp = VFS_TO_TMPFS(vp->v_mount); + attr_size = ap->a_uio->uio_resid; + diff = 0; + if (ap->a_vp->v_type == VCHR || ap->a_vp->v_type == VBLK) + return (EOPNOTSUPP); + error = extattr_check_cred(ap->a_vp, ap->a_attrnamespace, + ap->a_cred, ap->a_td, VWRITE); + if (error != 0) + return (error); + if (ap->a_name == NULL || ap->a_name[0] == '\0') + return (EINVAL); + namelen = strlen(ap->a_name); + if (namelen > EXTATTR_MAXNAMELEN) + return (EINVAL); + + LIST_FOREACH(ea, &node->tn_extattrs, ea_extattrs) { + if (ea->ea_namespace == ap->a_attrnamespace && + namelen == ea->ea_namelen && + memcmp(ap->a_name, ea->ea_name, namelen) == 0) { + diff -= sizeof(struct tmpfs_extattr) + ea->ea_namelen + + ea->ea_size; + break; + } + } + + diff += sizeof(struct tmpfs_extattr) + namelen + attr_size; + if (!tmpfs_extattr_update_mem(tmp, diff)) + return (ENOSPC); + new_ea = malloc(sizeof(struct tmpfs_extattr), M_TMPFSEA, M_WAITOK); + new_ea->ea_namespace = ap->a_attrnamespace; + new_ea->ea_name = malloc(namelen, M_TMPFSEA, M_WAITOK); + new_ea->ea_namelen = namelen; + memcpy(new_ea->ea_name, ap->a_name, namelen); + if (attr_size != 0) { + new_ea->ea_value = malloc(attr_size, M_TMPFSEA, M_WAITOK); + new_ea->ea_size = attr_size; + error = uiomove(new_ea->ea_value, attr_size, ap->a_uio); + } else { + new_ea->ea_value = NULL; + new_ea->ea_size = 0; + } + if (error != 0) { + tmpfs_extattr_update_mem(tmp, -diff); + tmpfs_extattr_free(new_ea); + return (error); + } + if (ea != NULL) { + LIST_REMOVE(ea, ea_extattrs); + tmpfs_extattr_free(ea); + } + LIST_INSERT_HEAD(&node->tn_extattrs, new_ea, ea_extattrs); + return (0); +} + static off_t tmpfs_seek_data_locked(vm_object_t obj, off_t noff) { @@ -2022,6 +2234,10 @@ struct vop_vector tmpfs_vnodeop_entries = { .vop_lock1 = vop_lock, .vop_unlock = vop_unlock, .vop_islocked = vop_islocked, + .vop_deleteextattr = tmpfs_deleteextattr, + .vop_getextattr = tmpfs_getextattr, + .vop_listextattr = tmpfs_listextattr, + .vop_setextattr = tmpfs_setextattr, .vop_add_writecount = vop_stdadd_writecount_nomsync, .vop_ioctl = tmpfs_ioctl, }; From nobody Sun Jan 29 12:38:18 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4W7Z5F7Nz3cQ10; Sun, 29 Jan 2023 12:38:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P4W7Z4lzNz3r6k; Sun, 29 Jan 2023 12:38:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2wo+z95HIaxcQ9+I7x+ouThVY5/CRmo79B1oVULBh98=; b=ekc6YwaLCkGPZ01YxX5FV3BlMY00FbE5AJthCtQdJCgZT3U5iCiyUHh4YxRKtiDjvdgSMb xGCK/04yb2FGOr1rAyJKS9mSP1AFCVwf1QGYNdXR2c8cpwrpV0j7123alUGuQVoCUkhozH IMFN45S64/7ncK8vLzi4DKVoMoXxyFPJTWrcXsLXPWx6er7c2OfPRDc9ucJCcXGdRXspJK lkm7IqhvcxRfBLZGdZCbD3lgKeusUThS+cQPO1skRw8LwSo4G915kaFFpp9dhQu9K9o08x FmiqCopoROKtnWQNEluLyG/gO8eqxaA5QUBx6vlOI6m/q+gZD/wM3DQLsj8IvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2wo+z95HIaxcQ9+I7x+ouThVY5/CRmo79B1oVULBh98=; b=s9XOFzdtwb8aIb55yoIkJ41w+DHiG7uLvjlVM+W/NVAaZsnqMiIMotZqDEW2Zk/RHJXOZ0 wt7yOolBCWMcquN1z2crN7olGCvj9mK3Bj/t5JwVKjDnFCorPd4zM46D1wfTmQuprXM3bj +2kjkjadVCFlUYhG+R1uUqfpA3AraNZWQfsRjdkwsVOdkVTkpJgO7qgVSUjZjXD/EWHkiL eV/L3VzYSod7b4imRQhdi6CPkSBfMdtdgiQHzsOjOSEuD3BD/FqxONIYfAFkQCNK1G6HAC bgMjTYQalWIBhkZFqIv9bmVasSZExdHjmz1huiOwCG5pEJ5vu6li4D+R+chjLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674995898; a=rsa-sha256; cv=none; b=lsYJg+rBcbbCA3c8IOT81nmcP42RYBAmK3GuDQ3XgpsBB3qCLV7WgPzck1UO0Dq6CVxVqI sHgpEwAehy5c4QWkk/cDw8bxduQPk4LH72riSHsgWfAWWaA25qecmn4GZ6WVgfAjNnSlnc 8jQtzG5Ss9O61ISUltqB8+q4yKtubIlmLPQUtYQJbn/qjB9O5VaBzWSlPiC2ty5T7xpvv7 M+vf6vnRajY1nVOqw+d+vbYQNOzx+8hEaOfWK3LzxJeLnV8M9pQkzxDCI13wZm1Yq3Tfl0 cYtEJ6LcKXbfVLyN6Y/cay0ctmI38M7a1wO0cTv71sSv2dpZR8+xOc2IBPwCXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4W7Z3pVczTFF; Sun, 29 Jan 2023 12:38:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TCcIGM050904; Sun, 29 Jan 2023 12:38:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TCcIvc050903; Sun, 29 Jan 2023 12:38:18 GMT (envelope-from git) Date: Sun, 29 Jan 2023 12:38:18 GMT Message-Id: <202301291238.30TCcIvc050903@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 6fdf04a2be9b - main - smp: Drop confusing braces and return statement as panic() is never returns. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 6fdf04a2be9b5b509c5b3d927e087122189ad1fb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=6fdf04a2be9b5b509c5b3d927e087122189ad1fb commit 6fdf04a2be9b5b509c5b3d927e087122189ad1fb Author: Dmitry Chagin AuthorDate: 2023-01-29 12:33:16 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-29 12:33:16 +0000 smp: Drop confusing braces and return statement as panic() is never returns. Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D38235 MFC after: 1 week --- sys/x86/x86/mp_x86.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/x86/x86/mp_x86.c b/sys/x86/x86/mp_x86.c index da5c7f52f955..44f3103ff2be 100644 --- a/sys/x86/x86/mp_x86.c +++ b/sys/x86/x86/mp_x86.c @@ -980,10 +980,9 @@ void cpu_add(u_int apic_id, char boot_cpu) { - if (apic_id > max_apic_id) { + if (apic_id > max_apic_id) panic("SMP: APIC ID %d too high", apic_id); - return; - } + KASSERT(cpu_info[apic_id].cpu_present == 0, ("CPU %u added twice", apic_id)); cpu_info[apic_id].cpu_present = 1; From nobody Sun Jan 29 12:38:19 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4W7b6RBCz3cQH1; Sun, 29 Jan 2023 12:38: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 4P4W7b5v7Zz3r7D; Sun, 29 Jan 2023 12:38:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hNqV/w6zXMrNZO+6rCHHmj3tHLHSk/klM/FzMKs4GPU=; b=okbZKIDntkP0ouN3m7YOhMkrVBG9+Q5oFMGzC4YWy3z51BAf3WqzwmaPwrBfyI/KivlCJo gykDaTi61LebW7mpG+cohCqKZblemVU+k9u6Itbt6hcSekx9ohyRapp1VevniARsWORlf8 YL1ZYT34FZ1YVtjHltOOf6wkddn85oNJ1KWu5qRwwI/Qrat+FJwwj1heogbYZSU5CAb1r0 kmWtKHbn/FfIdE+QIFk1xhau5TRWLMz1ECPJUnYG2z+rzA4Vtl1ryPeI7OupQfwwAl0h5L czcQ2+q0/GozejYY6oAPKC7Zc6M5t8TbbHvaRE3P/Myk2JJatgGxJk4toEBbAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hNqV/w6zXMrNZO+6rCHHmj3tHLHSk/klM/FzMKs4GPU=; b=ngvvtr60S0zcFTclyD52Mj5J1DKjF+IAjPabJ9vLk7HVNNEdXLa2lDHSkQppHG8mU1NOfe DdUzpMc7v/iCpx3ZUR/Iv5aRPZGuB+EE2tcgW87pjy4IkfH0pDhguhEDNio9/HhLHnxn3m 9TYKb+PjfgAuGMIzCqLtxUrt1eoN5kkGn8JlF+bS6iHY88Pml/QvbAZcqbbeeduyvqAH1f Je/ghLzl5O6pceWTb+vzzfYGnuEqfRSp35BAkUcg/Rx+EqLajxtL4ZSwTdvOsq9L125g5B XyI1sEpoL03wvRVJsYbVRsLRAERowvJecXguRYXGWWCRtEBsmdo4GeGrvaPI3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674995899; a=rsa-sha256; cv=none; b=x40Hd6shsZqk5w2Hu8gTpmKUcoGgKPWqHNPWNKXv20hXMxqEC8lnUhATmKTOic7NnVS8cS 6f7YSVGZ6G3Ci2kfNYohHxP2sEa4Ro1DpSL3IBrkmAAPeryNga6GMXkIwTvxIdcdkvVqF4 GMwq25qsh27R00Q7mQ9rsPmxhNn8Zn4X3XjN/woE76fqQhLMIhF+yoXTKGTgU9SpoAeUMJ xgQUrLNuvR+F3XliWxPm8mbjntlkPyibQhUCx2Vb63BOhEvxz/e42V4fCB1mvTOTXarESr LpeCyYCrdOrhXe6zIcc7A73D8rg7EYGbFp/RGeZpe7LMAUwLsg67yBaav7KIHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4W7b4ksZzSs4; Sun, 29 Jan 2023 12:38:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TCcJwP050928; Sun, 29 Jan 2023 12:38:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TCcJGC050927; Sun, 29 Jan 2023 12:38:19 GMT (envelope-from git) Date: Sun, 29 Jan 2023 12:38:19 GMT Message-Id: <202301291238.30TCcJGC050927@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 02f7670ed243 - main - sched.h: Fix _S macros for better compatibility with glibc. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 02f7670ed243498aea96150962c2c9916bab7c98 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=02f7670ed243498aea96150962c2c9916bab7c98 commit 02f7670ed243498aea96150962c2c9916bab7c98 Author: Dmitry Chagin AuthorDate: 2023-01-29 12:34:10 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-29 12:34:10 +0000 sched.h: Fix _S macros for better compatibility with glibc. In e2650af157 was added "_S" macros for compatibility with glibc, but it's still incompatible as under glibc the macros whose names end with "_S" operate on the dynamically allocated CPU set(s) whose size is in bytes, not in bits. While here remove limiting ifdef to non-kernel case. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D38110 MFC after: 1 week --- sys/sys/cpuset.h | 20 ++++++------- tests/sys/kern/sched_affinity.c | 62 ++++++++++++++++++++--------------------- 2 files changed, 40 insertions(+), 42 deletions(-) diff --git a/sys/sys/cpuset.h b/sys/sys/cpuset.h index 5df5cff6497b..601da08a46a8 100644 --- a/sys/sys/cpuset.h +++ b/sys/sys/cpuset.h @@ -75,23 +75,21 @@ #define CPUSET_FSET __BITSET_FSET(_NCPUWORDS) #define CPUSET_T_INITIALIZER(x) __BITSET_T_INITIALIZER(x) -#if !defined(_KERNEL) #define CPU_ALLOC_SIZE(_s) __BITSET_SIZE(_s) #define CPU_ALLOC(_s) __cpuset_alloc(_s) #define CPU_FREE(p) __cpuset_free(p) -#define CPU_ISSET_S(n, _s, p) __BIT_ISSET(_s, n, p) -#define CPU_SET_S(n, _s, p) __BIT_SET(_s, n, p) -#define CPU_CLR_S(n, _s, p) __BIT_CLR(_s, n, p) -#define CPU_ZERO_S(_s, p) __BIT_ZERO(_s, p) +#define CPU_ISSET_S(n, _s, p) __BIT_ISSET((_s) * 8, n, p) +#define CPU_SET_S(n, _s, p) __BIT_SET((_s) * 8, n, p) +#define CPU_CLR_S(n, _s, p) __BIT_CLR((_s) * 8, n, p) +#define CPU_ZERO_S(_s, p) __BIT_ZERO((_s) * 8, p) -#define CPU_OR_S(_s, d, s1, s2) __BIT_OR2(_s, d, s1, s2) -#define CPU_AND_S(_s, d, s1, s2) __BIT_AND2(_s, d, s1, s2) -#define CPU_XOR_S(_s, d, s1, s2) __BIT_XOR2(_s, d, s1, s2) +#define CPU_OR_S(_s, d, s1, s2) __BIT_OR2((_s) * 8, d, s1, s2) +#define CPU_AND_S(_s, d, s1, s2) __BIT_AND2((_s) * 8, d, s1, s2) +#define CPU_XOR_S(_s, d, s1, s2) __BIT_XOR2((_s) * 8, d, s1, s2) -#define CPU_COUNT_S(_s, p) ((int)__BIT_COUNT(_s, p)) -#define CPU_EQUAL_S(_s, p, c) (__BIT_CMP(_s, p, c) == 0) -#endif +#define CPU_COUNT_S(_s, p) ((int)__BIT_COUNT((_s) * 8, p)) +#define CPU_EQUAL_S(_s, p, c) (__BIT_CMP((_s) * 8, p, c) == 0) /* * Valid cpulevel_t values. diff --git a/tests/sys/kern/sched_affinity.c b/tests/sys/kern/sched_affinity.c index 0c864342ff01..db8d9132550c 100644 --- a/tests/sys/kern/sched_affinity.c +++ b/tests/sys/kern/sched_affinity.c @@ -50,7 +50,7 @@ support_getmaxcpuid(void) setsize = CPU_ALLOC_SIZE(i); set = CPU_ALLOC(i); ATF_REQUIRE(set != NULL); - CPU_ZERO_S(i, set); + CPU_ZERO_S(setsize, set); rv = cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, setsize, set); if (rv == 0) { @@ -73,18 +73,18 @@ ATF_TC_BODY(test_setinvalidcpu, tc) cpusetsize = CPU_ALLOC_SIZE(maxcpuid + 1); set = CPU_ALLOC(maxcpuid + 1); ATF_REQUIRE(set != NULL); - CPU_ZERO_S(maxcpuid + 1, set); - CPU_SET_S(maxcpuid + 1, maxcpuid + 1, set); - CPU_SET_S(maxcpuid - 1, maxcpuid + 1, set); + CPU_ZERO_S(cpusetsize, set); + CPU_SET_S(maxcpuid + 1, cpusetsize, set); + CPU_SET_S(maxcpuid - 1, cpusetsize, set); ATF_REQUIRE(sched_setaffinity(0, cpusetsize, set) == 0); CPU_FREE(set); cpusetsize = CPU_ALLOC_SIZE(maxcpus + 1); set = CPU_ALLOC(maxcpus + 1); ATF_REQUIRE(set != NULL); - CPU_ZERO_S(maxcpus + 1, set); - CPU_SET_S(maxcpuid + 1, maxcpus + 1, set); - CPU_SET_S(maxcpuid - 1, maxcpus + 1, set); + CPU_ZERO_S(cpusetsize, set); + CPU_SET_S(maxcpuid + 1, cpusetsize, set); + CPU_SET_S(maxcpuid - 1, cpusetsize, set); ATF_REQUIRE(cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, cpusetsize, set) == -1); ATF_REQUIRE_EQ(errno, EINVAL); @@ -104,8 +104,8 @@ ATF_TC_BODY(test_setvalidcpu, tc) cpusetsize = CPU_ALLOC_SIZE(maxcpus + 1); set = CPU_ALLOC(maxcpus + 1); ATF_REQUIRE(set != NULL); - CPU_ZERO_S(maxcpus + 1, set); - CPU_SET_S(cpu, maxcpus + 1, set); + CPU_ZERO_S(cpusetsize, set); + CPU_SET_S(cpu, cpusetsize, set); ATF_REQUIRE(cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, cpusetsize, set) == 0); ATF_REQUIRE_EQ(cpu, sched_getcpu()); @@ -121,7 +121,7 @@ ATF_TC_BODY(test_setzeroset1, tc) cpusetsize = CPU_ALLOC_SIZE(maxcpuid + 1); set = CPU_ALLOC(maxcpuid + 1); ATF_REQUIRE(set != NULL); - CPU_ZERO_S(maxcpuid + 1, set); + CPU_ZERO_S(cpusetsize, set); ATF_REQUIRE(sched_setaffinity(0, cpusetsize, set) == -1); ATF_REQUIRE_EQ(errno, EINVAL); CPU_FREE(set); @@ -136,7 +136,7 @@ ATF_TC_BODY(test_setzeroset2, tc) cpusetsize = CPU_ALLOC_SIZE(maxcpuid + 1); set = CPU_ALLOC(maxcpuid + 1); ATF_REQUIRE(set != NULL); - CPU_ZERO_S(maxcpuid + 1, set); + CPU_ZERO_S(cpusetsize, set); ATF_REQUIRE(cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, cpusetsize, set) == -1); ATF_REQUIRE_EQ(errno, EDEADLK); @@ -152,20 +152,20 @@ ATF_TC_BODY(test_setmaxsetsize, tc) cpusetsize = CPU_ALLOC_SIZE(maxcpus * 2); set = CPU_ALLOC(maxcpus * 2); ATF_REQUIRE(set != NULL); - CPU_ZERO_S(maxcpus * 2, set); - ATF_REQUIRE(CPU_COUNT_S(maxcpus * 2, set) == 0); - CPU_SET_S(0, maxcpus * 2, set); - ATF_REQUIRE(CPU_COUNT_S(maxcpus * 2, set) == 1); + CPU_ZERO_S(cpusetsize, set); + ATF_REQUIRE(CPU_COUNT_S(cpusetsize, set) == 0); + CPU_SET_S(0, cpusetsize, set); + ATF_REQUIRE(CPU_COUNT_S(cpusetsize, set) == 1); ATF_REQUIRE(cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, cpusetsize, set) == 0); - CPU_ZERO_S(maxcpus * 2, set); - CPU_SET_S(maxcpuid, maxcpus * 2, set); + CPU_ZERO_S(cpusetsize, set); + CPU_SET_S(maxcpuid, cpusetsize, set); ATF_REQUIRE(cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, cpusetsize, set) == 0); - CPU_ZERO_S(maxcpus * 2, set); - CPU_SET_S(maxcpuid + 1, maxcpus * 2, set); + CPU_ZERO_S(cpusetsize, set); + CPU_SET_S(maxcpuid + 1, cpusetsize, set); ATF_REQUIRE(cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, cpusetsize, set) == -1); ATF_REQUIRE_EQ(errno, EINVAL); @@ -212,7 +212,7 @@ ATF_TC_BODY(test_getsetsize, tc) cpusetsize = CPU_ALLOC_SIZE(maxcpuid + 1); set = CPU_ALLOC(maxcpuid + 1); ATF_REQUIRE(set != NULL); - CPU_ZERO_S(maxcpuid + 1, set); + CPU_ZERO_S(cpusetsize, set); ATF_REQUIRE(cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, cpusetsize, set) == 0); CPU_FREE(set); @@ -227,26 +227,26 @@ ATF_TC_BODY(test_holes, tc) cpusetsize = CPU_ALLOC_SIZE(maxcpus * 2); set = CPU_ALLOC(maxcpus * 2); ATF_REQUIRE(set != NULL); - CPU_ZERO_S(maxcpus * 2, set); - ATF_REQUIRE(CPU_COUNT_S(maxcpus * 2, set) == 0); - CPU_SET_S(maxcpuid, maxcpus * 2, set); - ATF_REQUIRE(CPU_COUNT_S(maxcpus * 2, set) == 1); + CPU_ZERO_S(cpusetsize, set); + ATF_REQUIRE(CPU_COUNT_S(cpusetsize, set) == 0); + CPU_SET_S(maxcpuid, cpusetsize, set); + ATF_REQUIRE(CPU_COUNT_S(cpusetsize, set) == 1); ATF_REQUIRE(cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, cpusetsize, set) == 0); - CPU_ZERO_S(maxcpus * 2, set); - ATF_REQUIRE(CPU_COUNT_S(maxcpus * 2, set) == 0); - CPU_SET_S(maxcpuid + 1, maxcpus * 2, set); - ATF_REQUIRE(CPU_COUNT_S(maxcpus * 2, set) == 1); + CPU_ZERO_S(cpusetsize, set); + ATF_REQUIRE(CPU_COUNT_S(cpusetsize, set) == 0); + CPU_SET_S(maxcpuid + 1, cpusetsize, set); + ATF_REQUIRE(CPU_COUNT_S(cpusetsize, set) == 1); ATF_REQUIRE(cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, cpusetsize, set) == -1); ATF_REQUIRE_EQ(errno, EINVAL); - ATF_REQUIRE(CPU_COUNT_S(maxcpus * 2, set) == 1); + ATF_REQUIRE(CPU_COUNT_S(cpusetsize, set) == 1); ATF_REQUIRE(cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, cpusetsize, set) == 0); - ATF_REQUIRE(CPU_ISSET_S(maxcpuid + 1, maxcpus * 2, set) == false); - ATF_REQUIRE(CPU_ISSET_S(maxcpuid, maxcpus * 2, set) == true); + ATF_REQUIRE(CPU_ISSET_S(maxcpuid + 1, cpusetsize, set) == false); + ATF_REQUIRE(CPU_ISSET_S(maxcpuid, cpusetsize, set) == true); ATF_REQUIRE_EQ(maxcpuid, (uint32_t)sched_getcpu()); } From nobody Sun Jan 29 12:38:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4W7d0CVGz3cQ8N; Sun, 29 Jan 2023 12:38: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 4P4W7c6b14z3rgF; Sun, 29 Jan 2023 12:38:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iZktIp2OO1hglqq8dIEr/1TFwFKPDAbfPQz+0DQWtI8=; b=chmmVO3Ma3Ch1bPwNHlFFh1lO0SMMNz+pJAlgYSuJnxNktL/p3yxFoTFCIQ7cFXQqEUT6v 7YHo4LeWOaj8Kh0NEbO0T7YUPgY3q1Iot62y8yLClQlajeQtqsyi3v1VjYBc/3JfWkF67b xpStqisx/+0ye2qKp0gNTOHmFecGk484N02bw48cE1FXqa5MHGALoQV1vir/UFvbHpFvyH 7IIhyYVfswP/P4QPV6bI8Fg3YllEHCKrwdsXloFSAfYV2DWt9KOZhOKnCYz0xHO8ZFLjUj CP6Ev8pxUnr+KYscqu45hxOyfYeOfHozp617Y2CJkoaQt+tc4BumI8GcNpsLjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iZktIp2OO1hglqq8dIEr/1TFwFKPDAbfPQz+0DQWtI8=; b=AaBtm2z4Y8HZ8XvAJ+NxgPc/BMwpCJoINtcAeO4X+80GeILuy4QTzCLzLJE9wBmoKkPtJN ug/5lgYV9vexF+BlN6wZFU1YNchCRiZ93jIaO7tf4ATbYTISYSWOHVPT0GIk5OHJRqXJkt g1TK+39fGGgnVT4yh/gXtT9PuZuG2Pv4zmkp0BuZIYeWvVV89bUuM5E1vZ1VKo+0a6vwIl 31AqyH4MtKXdNH+p+Tsk0kV8R/zylAiPC7X6AWjg6ZQiQswNPVwc0rqA6SIzf8JGQwtoXU vteTXKnOuGsfJmk57fzs7dr2pt/445dK1+IKEvrP1X+E5OQ/PLUdpakMpE3Y6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674995900; a=rsa-sha256; cv=none; b=suOc1Hs4a4spmilvN1CNPhkYrBnJg8Hiu6Vxu7JZg7OntRjWoPSA+WjV9xv5pB01n0B0oz F+cxjQWPf2N/z7wYDY1CxdrcJmzE/4sw0ub28gqmhGUxElSj2lM7uMRSl/tXdKwTRLRY1o rktvWk4y3prLvjlQH6jVZrbe5godkgMXw3gLROK8kSr8Z7OrAC3uhiXHXOrALTp6U1enC/ wwWBPmCwfeLn8V5++6vXegusRmIoYHHCX67lLuQDwtQVIWiTuviqOyySWaKpCNDlPqO0F/ 4Ul0TZfuJwdPeesMcf/dm2fpPczM9EbBAUeLk/gLlYDiw/b06Kb5ZR9BTtcCcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4W7c5j9wzTNb; Sun, 29 Jan 2023 12:38:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TCcKd0050952; Sun, 29 Jan 2023 12:38:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TCcKFb050951; Sun, 29 Jan 2023 12:38:20 GMT (envelope-from git) Date: Sun, 29 Jan 2023 12:38:20 GMT Message-Id: <202301291238.30TCcKFb050951@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 01f74ccd5a0d - main - libthr: Fix pthread_attr_[g|s]etaffinity_np to match it's manual and the kernel. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 01f74ccd5a0d1a444703e931339709c7de5296b5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=01f74ccd5a0d1a444703e931339709c7de5296b5 commit 01f74ccd5a0d1a444703e931339709c7de5296b5 Author: Dmitry Chagin AuthorDate: 2023-01-29 12:35:18 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-29 12:35:18 +0000 libthr: Fix pthread_attr_[g|s]etaffinity_np to match it's manual and the kernel. Since f35093f8 semantics of a thread affinity functions is changed to be a compatible with Linux: In case of getaffinity(), the minimum cpuset_t size that the kernel permits is the maximum CPU id, present in the system, / NBBY bytes, the maximum size is not limited. In case of setaffinity(), the kernel does not limit the size of the user-provided cpuset_t, internally using only the meaningful part of the set, where the upper bound is the maximum CPU id, present in the system, no larger than the size of the kernel cpuset_t. To match pthread_attr_[g|s]etaffinity_np checks of the user-provided cpusets to the kernel behavior export the minimum cpuset_t size allowed by running kernel via new sysctl kern.sched.cpusetsizemin and use it in checks. Reviewed by: Differential Revision: https://reviews.freebsd.org/D38112 MFC after: 1 week --- lib/libthr/thread/thr_attr.c | 6 ++++-- sys/kern/kern_cpuset.c | 6 ++++++ sys/kern/subr_smp.c | 2 ++ sys/sys/cpuset.h | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/libthr/thread/thr_attr.c b/lib/libthr/thread/thr_attr.c index 6ff23aa5a3da..5a06f793f4f8 100644 --- a/lib/libthr/thread/thr_attr.c +++ b/lib/libthr/thread/thr_attr.c @@ -599,8 +599,10 @@ _get_kern_cpuset_size(void) size_t len; len = sizeof(kern_cpuset_size); - if (sysctlbyname("kern.sched.cpusetsize", &kern_cpuset_size, - &len, NULL, 0)) + if (sysctlbyname("kern.sched.cpusetsizemin", &kern_cpuset_size, + &len, NULL, 0) != 0 && + sysctlbyname("kern.sched.cpusetsize", &kern_cpuset_size, + &len, NULL, 0) != 0) PANIC("failed to get sysctl kern.sched.cpusetsize"); } diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c index d89be2805759..6dfe22b66689 100644 --- a/sys/kern/kern_cpuset.c +++ b/sys/kern/kern_cpuset.c @@ -136,11 +136,17 @@ static struct domainlist cpuset_domains; static struct unrhdr *cpuset_unr; static struct cpuset *cpuset_zero, *cpuset_default, *cpuset_kernel; static struct domainset *domainset0, *domainset2; +u_int cpusetsizemin = 1; /* Return the size of cpuset_t at the kernel level */ SYSCTL_INT(_kern_sched, OID_AUTO, cpusetsize, CTLFLAG_RD | CTLFLAG_CAPRD, SYSCTL_NULL_INT_PTR, sizeof(cpuset_t), "sizeof(cpuset_t)"); +/* Return the minimum size of cpuset_t allowed by the kernel */ +SYSCTL_UINT(_kern_sched, OID_AUTO, cpusetsizemin, + CTLFLAG_RD | CTLFLAG_CAPRD, &cpusetsizemin, 0, + "The minimum size of cpuset_t allowed by the kernel"); + cpuset_t *cpuset_root; cpuset_t cpuset_domain[MAXMEMDOM]; diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index b9b8968c5a37..6ab71fd63695 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -148,6 +148,8 @@ mp_setmaxid(void *dummy) KASSERT(mp_maxid >= mp_ncpus - 1, ("%s: counters out of sync: max %d, count %d", __func__, mp_maxid, mp_ncpus)); + + cpusetsizemin = howmany(mp_maxid + 1, NBBY); } SYSINIT(cpu_mp_setmaxid, SI_SUB_TUNABLES, SI_ORDER_FIRST, mp_setmaxid, NULL); diff --git a/sys/sys/cpuset.h b/sys/sys/cpuset.h index 601da08a46a8..f8fc36b99aa7 100644 --- a/sys/sys/cpuset.h +++ b/sys/sys/cpuset.h @@ -120,6 +120,7 @@ #include LIST_HEAD(setlist, cpuset); +extern u_int cpusetsizemin; /* * cpusets encapsulate cpu binding information for one or more threads. From nobody Sun Jan 29 12:38:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4W7f33Wvz3cQ8S; Sun, 29 Jan 2023 12:38: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 4P4W7f078wz3rXv; Sun, 29 Jan 2023 12:38:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=acgzdSgZBM0574/8mQMitE/v9aLrclCsR+eWp8CpjLg=; b=h0SxZoZ4kMkzpR802ZV3wLGtIBOATWVGRgsecSAPteoY3F+iNbKVgogOt+n5eSC82Q/Ftl ofjPlVULlkge4cdg9KF9t29U6ySJuJ6BextChS9AdGWzxPSGjO6Rd9k/GbifbUHeU0RfKG eVy5Gl6T02ejM1hvKD8aeynP457/FlAAnpEw0S4L3ws9QVljr/2Ee77fLXQeQ+ku4cpocG cF61qJJ1YOMGBq3VuQTyW40qVkuOAqOa0yqzWyDMaLf/i7iMGt1Ba1IiG+TAIAHQmvwONz Q8Xd6jxeuAjfVddpsyyNaDTKMVVyQZSakqonXpeADLUIai5wW5egySvENhlTtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=acgzdSgZBM0574/8mQMitE/v9aLrclCsR+eWp8CpjLg=; b=LDPy/Mr3uuv1m0aq7+AkBOfk4Mo92Cl7yMhXXtEOTRBf2Cdefx3UWP4GPtoscEmrg+1VcZ YfDxev81pRZ/8ULtcKsk1bO5XOaNDbrCOk5li0JUozXzeY2X3kYtYchxa0wcohOWSdeTpx hb0uVHz6UKwaPKR7Rz72Q2QCQZlFWGEgr1BLmIIyKm4FOpKjOl2dAPwvdcJenmc6/ssOeF PtH8QruDGRs8GoVASRKqVbpGTe+JneuXWIMxuulHj5ppuCan056MPx6qJAmGjOSj9FirWM QDL77PId2M0JXJBmq0AjwB3rrDT1mNe53ZKOLlOlbJ00HHrWcOuYBaBUZkfZNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674995902; a=rsa-sha256; cv=none; b=FSArUVbW+nZZul0SJNsNGOvraVm7EIZC6nXrtGlErQ5qLJL5h11xJ8WWOPh2ZmtpH5iLgY trBFEPjgI0fcNKu91uz3sIV0AznasWmYZcJCBfMxl18/DfnbZMhIRul6dt2aOK0AvywNEQ twn5yhn8LfaUoRfVQ7zpaBLVJmgPBcx0YrUb3H4kHikzFlbD/QdQPTetqJInEzwfaQxTnc oN8z8is+BomoOGJolnH5nWwIdyNGtRpS1ssuS+VOyIidkelizI68eAo3jN2GwhD7oPPWUn IEYgHf45uwCl6S0j89HiSknIg7Q8FgBqB4IyaWG7IQ5WqQGCnNHbxGyWKbghKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4W7d6HFFzTFG; Sun, 29 Jan 2023 12:38:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TCcLVU050983; Sun, 29 Jan 2023 12:38:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TCcLBQ050982; Sun, 29 Jan 2023 12:38:21 GMT (envelope-from git) Date: Sun, 29 Jan 2023 12:38:21 GMT Message-Id: <202301291238.30TCcLBQ050982@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 62801712dfc1 - main - libthr: Fix pthread_[g|s]etaffinity_np manual. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 62801712dfc17fed6f8d4c9b64dca18d51a2bf9b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=62801712dfc17fed6f8d4c9b64dca18d51a2bf9b commit 62801712dfc17fed6f8d4c9b64dca18d51a2bf9b Author: Dmitry Chagin AuthorDate: 2023-01-29 12:36:25 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-29 12:36:25 +0000 libthr: Fix pthread_[g|s]etaffinity_np manual. Since f35093f8 semantics of a thread affinity functions is changed to be a compatible with Linux: In case of getaffinity(), the minimum cpuset_t size that the kernel permits is the maximum CPU id, present in the system, / NBBY bytes, the maximum size is not limited. In case of setaffinity(), the kernel does not limit the size of the user-provided cpuset_t, internally using only the meaningful part of the set, where the upper bound is the maximum CPU id, present in the system, no larger than the size of the kernel cpuset_t. Reviewed by: jhb, kib Differential Revision: https://reviews.freebsd.org/D38111 MFC after: 1 week --- share/man/man3/pthread_affinity_np.3 | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/share/man/man3/pthread_affinity_np.3 b/share/man/man3/pthread_affinity_np.3 index 0a52add2ee3c..b36e5772c1e3 100644 --- a/share/man/man3/pthread_affinity_np.3 +++ b/share/man/man3/pthread_affinity_np.3 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 12, 2021 +.Dd January 29, 2023 .Dt PTHREAD_AFFINITY_NP 3 .Os .Sh NAME @@ -50,14 +50,19 @@ Masks of type are composed using the .Dv CPU_SET macros. -The kernel tolerates large sets as long as all CPUs specified -in the set exist. -Sets smaller than the kernel uses generate an error on calls to +If the user-supplied mask is not large enough to fit all of the matching CPUs, .Fn pthread_getaffinity_np -even if the result set would fit within the user supplied set. +fails with +.Er ERANGE . Calls to .Fn pthread_setaffinity_np -tolerate small sets with no restrictions. +tolerate masks of any size with no restrictions. +The kernel uses the meaningful part of the mask, where the upper bound is +the maximum CPU id present in the system. +If bits for non-existing CPUs are set, calls to +.Fn pthread_setaffinity_np +fails with +.Er EINVAL . .Pp The supplied mask should have a size of .Fa cpusetsize @@ -96,6 +101,12 @@ and .Fn pthread_setaffinity_np functions may fail if: .Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa cpusetp +argument specified when calling +.Fn pthread_setaffinity_np +was not a valid value. .It Bq Er EDEADLK The .Fn pthread_setaffinity_np @@ -112,7 +123,7 @@ argument could not be found. .It Bq Er ERANGE The .Fa cpusetsize -was either preposterously large or smaller than the kernel set size. +was smaller than needed to fit all of the matching CPUs. .It Bq Er EPERM The calling thread did not have the credentials required to complete the operation. From nobody Sun Jan 29 12:38:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4W7g3Df4z3cQ8Z; Sun, 29 Jan 2023 12:38: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 4P4W7g12xCz3rn2; Sun, 29 Jan 2023 12:38:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NPtdRXCGpFoI/UfMITHP+8VFiNkmtQw1i2q5yATcupE=; b=ubnLc+ka0FP++42BRH3V91DSBcaa/V8hApqhvj/lbmUgv6r28HJZNmlXgnrPfnJGR06DkX 5nIFcpAeAOLjL4PCdA4eMp/xQsjKRHWuYiufSrPoPqhtOsab8y2kqzHxoMOxA70Y0q13GU Zpl6HvJlzcnEWNBcUBq9+dG36DdqMsQYwUmGdsVgmOzdGzFPT9jguS8ELARzeV8rj7McbT RG45OzECmqHOsK0a1nJ3VmsEzzVn4oftuh7HM9lVZ5RX7qxMIXHDfAYCupLArRrJ3FOIaq v80sDTVFxc2NEsnWm/Zk9kdRT5dofIz7dKlZ1Lnxqp4CQzDwJHEq1QKmToSrfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NPtdRXCGpFoI/UfMITHP+8VFiNkmtQw1i2q5yATcupE=; b=DA0erQ0/tc8ooR6zYSkGeQ1IJx94rfUscv5K+OwWHZZH3g4eVO9QtywFBrA4MBPPKJtHdA WTMyN5j1Yt8skYoxnihgz+4oNOT6CY/joz8qPIDw6vI+EZkgSj+mY5gT2F5TilktuokjnD v8bN3D4vNGgUa4txabU23XpEs2wkiuy+9UD/r5LHPBKvAfIT3pt3VOmEHvyLpEw8yMJoLy egosGTnorea8+QO7LNUvilPBg0mOh0agg0/92kwRr4IoG18hv5gdHGcnct/eh/RBKB4KOC i9luirSkIueInrEAxysG7vBRBrav4OiU7O2qi+xWjfPtnv7bog7Q/ZjdhwEvCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674995903; a=rsa-sha256; cv=none; b=pdIZkNUVm69W9ImtYwPP84rPxrfkSipSBzwg5XX2WqzLT+ozU3+MVfiIf42HzxmMsnaA3M scU51GULA5bVxKda/6d73CyRuR8S+9GrpaB0G7BLj3Z9GF3MYThydgJWwLPn8GRNXQrdax hjA64Pc6DCk1FAY500jb2VGINgWTKeXyy8m4jMbx+fX75Omo6Z5s4AbSZNEAv3MztCij+m ORhz5T7dCtDDZJJgyFBhVYZ7XC+zMvT+LnKUoSiOpBOp65gckrUX8//w8BxwtIjvZBLCDG l4ZQYKBTpBv8m5XfODlVHf1l47eUv4BG9sHyfhrclymj9U6BHcijSkIaSI9dlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4W7g077mzTFH; Sun, 29 Jan 2023 12:38:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TCcMQB051008; Sun, 29 Jan 2023 12:38:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TCcMDT051007; Sun, 29 Jan 2023 12:38:22 GMT (envelope-from git) Date: Sun, 29 Jan 2023 12:38:22 GMT Message-Id: <202301291238.30TCcMDT051007@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 2b87addf526e - main - libthr: Fix pthread_attr_[g|s]etaffinity_np manual. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 2b87addf526e058158a332547d44b24a80f71321 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=2b87addf526e058158a332547d44b24a80f71321 commit 2b87addf526e058158a332547d44b24a80f71321 Author: Dmitry Chagin AuthorDate: 2023-01-29 12:37:18 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-29 12:37:18 +0000 libthr: Fix pthread_attr_[g|s]etaffinity_np manual. Fix my fault in f35093f8. MFC after: 1 week --- share/man/man3/pthread_attr_affinity_np.3 | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/share/man/man3/pthread_attr_affinity_np.3 b/share/man/man3/pthread_attr_affinity_np.3 index 2c85aee9ac19..c1b9d0d79cd8 100644 --- a/share/man/man3/pthread_attr_affinity_np.3 +++ b/share/man/man3/pthread_attr_affinity_np.3 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 27, 2022 +.Dd January 29, 2023 .Dt PTHREAD_ATTR_AFFINITY_NP 3 .Os .Sh NAME @@ -52,16 +52,17 @@ are composed using the .Dv CPU_SET macros. If the user-supplied mask is not large enough to fit all of the matching CPUs, -.Fn cpuset_getaffinity +.Fn pthread_attr_getaffinity_np fails with .Er ERANGE . Calls to -.Fn cpuset_setaffinity +.Fn pthread_attr_setaffinity_np tolerate masks of any size with no restrictions. -The kernel uses the meaningful part of the mask, where the upper bound is +.Fn pthread_attr_setaffinity_np +uses the meaningful part of the mask, where the upper bound is the maximum CPU id present in the system. If bits for non-existing CPUs are set, calls to -.Fn cpuset_setaffinity +.Fn pthread_attr_setaffinity_np fails with .Er EINVAL . .Pp From nobody Sun Jan 29 12:38:24 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4W7h2tK1z3cQ3t; Sun, 29 Jan 2023 12:38: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 4P4W7h1lKKz3rYk; Sun, 29 Jan 2023 12:38:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=24fwMbT9SLpVKs+IyEInlevn8CwscEIL1HH2YHxuHeo=; b=MHZrNSKtzCT7qNo+zT4tzPGsPhZ4joFKcBsG9IkkFxRCjmabDNYFtp+5cZOIoy80WAUD+o u+bhV4EvVmfjFTdJ2t1+fJozYYu1p5jc2JNhX1K2wKA4aGwWsrE3eqTXpcARJNvA09jqvG 8LYmM1j4jOjXrM/+N7SJTUjmxiB0xUrTKrCGg7T72MoohllUb5CnM9HirQOYHB4pLCmm3e cdY/EXxJFIbhe2W34D1MqrJmf+MidwJJziKAWo77iDb8MhuHSc423V8aRgverEMn6QlbQR iewwYKIIXDsL6w9rgE4amohL2ydNxT+yP7IFJvZHyuny9u5l3AoS1TeYiI4pbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674995904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=24fwMbT9SLpVKs+IyEInlevn8CwscEIL1HH2YHxuHeo=; b=cAZK6iTXsXyzUDIhzzEHs6QF1G0xtHQvNTBwI7TBf9TSEHFy99+1/Cw4i79X9V6fqHjsT0 Fj+eWlxq/OxgymBjZkv+zHujbqWrutA3LKqd/MjngF+Eotju8EweGnqWYORR4iAdVgaxIW j4LWXz2LX0G2JBNW8+34XkFqlKt4kbiMGqf5RCNUsh9OqbhR45GSoZOH+6EYoydEgyeUNU ZY3wJgmFkeiCNfd9AOOTVMyXOisxVQIo+Uhc3fmlnhTnJJGBVqPYPjAozTmTN+KRPIF8Z3 klwxVrLY4UiKCjfovTgDPTfWxFDiwcuN97umN65F2jeb3q2Ljgo8M4FYupQQoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674995904; a=rsa-sha256; cv=none; b=h9GSEyleFEprp8Gsh9a4QxUQxIsI9jt206+cbXysgXtp/qGhaG4ET4bGoxsbFTwiFvuvxH o/7QjtlALvyx8/HDiQCIBI8dyq7sXFR6bqLGhQ0pu5m4J+ILxz/kyip49FeEUoBUMyR3yH AhZ4bjSPwMupra+tZB1mOM754qtJb2CgeGOYkEuIbmTUwtpQIfbzlhaNVz8TEot3Jv3CtQ Lo0FthkinDPiYHJ5CxFsAwTIJF8CxlTI8S6gz4XoicKsxMhk8jRN7MzMXHpRZSU2l7BUli mqw2dnGZv2F4Iod1LVjH32ECG8IQSWTnNoR0iqncTY7ogySds55jsI64tzIoaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4W7h0qkBzSpr; Sun, 29 Jan 2023 12:38:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TCcOaT051035; Sun, 29 Jan 2023 12:38:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TCcO11051034; Sun, 29 Jan 2023 12:38:24 GMT (envelope-from git) Date: Sun, 29 Jan 2023 12:38:24 GMT Message-Id: <202301291238.30TCcO11051034@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: f8660ea4b14d - main - libthr: Trim trailing whitespaces in pthread_attr_affinity. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: f8660ea4b14d8ef8beefd4699d79098c738dddd8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=f8660ea4b14d8ef8beefd4699d79098c738dddd8 commit f8660ea4b14d8ef8beefd4699d79098c738dddd8 Author: Dmitry Chagin AuthorDate: 2023-01-29 12:38:04 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-29 12:38:04 +0000 libthr: Trim trailing whitespaces in pthread_attr_affinity. MFC after: 1 week --- lib/libthr/thread/thr_attr.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/libthr/thread/thr_attr.c b/lib/libthr/thread/thr_attr.c index 5a06f793f4f8..a5957fa407a8 100644 --- a/lib/libthr/thread/thr_attr.c +++ b/lib/libthr/thread/thr_attr.c @@ -629,7 +629,7 @@ _pthread_attr_setaffinity_np(pthread_attr_t *pattr, size_t cpusetsize, return (0); } size_t kern_size = _get_kern_cpuset_size(); - /* Kernel rejects small set, we check it here too. */ + /* Kernel rejects small set, we check it here too. */ if (cpusetsize < kern_size) return (ERANGE); if (cpusetsize > kern_size) { @@ -663,7 +663,7 @@ _pthread_attr_getaffinity_np(const pthread_attr_t *pattr, size_t cpusetsize, if (pattr == NULL || (attr = (*pattr)) == NULL) ret = EINVAL; else { - /* Kernel rejects small set, we check it here too. */ + /* Kernel rejects small set, we check it here too. */ size_t kern_size = _get_kern_cpuset_size(); if (cpusetsize < kern_size) return (ERANGE); @@ -673,7 +673,7 @@ _pthread_attr_getaffinity_np(const pthread_attr_t *pattr, size_t cpusetsize, else memset(cpusetp, -1, kern_size); if (cpusetsize > kern_size) - memset(((char *)cpusetp) + kern_size, 0, + memset(((char *)cpusetp) + kern_size, 0, cpusetsize - kern_size); } return (ret); From nobody Sun Jan 29 12:42:55 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4WF43mCSz3cQq4; Sun, 29 Jan 2023 12:43:04 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Received: from heemeyer.club (heemeyer.club [195.93.173.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4P4WF366yBz3tn9; Sun, 29 Jan 2023 12:43:03 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Authentication-Results: mx1.freebsd.org; none Received: from heemeyer.club (localhost [127.0.0.1]) by heemeyer.club (8.17.1/8.16.1) with ESMTP id 30TCgtZv067122; Sun, 29 Jan 2023 15:42:55 +0300 (MSK) (envelope-from dchagin@heemeyer.club) Received: (from dchagin@localhost) by heemeyer.club (8.17.1/8.16.1/Submit) id 30TCgtaK067121; Sun, 29 Jan 2023 15:42:55 +0300 (MSK) (envelope-from dchagin) Date: Sun, 29 Jan 2023 15:42:55 +0300 From: Dmitry Chagin To: Dmitry Chagin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 01f74ccd5a0d - main - libthr: Fix pthread_attr_[g|s]etaffinity_np to match it's manual and the kernel. Message-ID: References: <202301291238.30TCcKFb050951@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202301291238.30TCcKFb050951@gitrepo.freebsd.org> X-Rspamd-Queue-Id: 4P4WF366yBz3tn9 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:61400, ipnet:195.93.173.0/24, country:RU] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Sun, Jan 29, 2023 at 12:38:20PM +0000, Dmitry Chagin wrote: > The branch main has been updated by dchagin: > > URL: https://cgit.FreeBSD.org/src/commit/?id=01f74ccd5a0d1a444703e931339709c7de5296b5 > > commit 01f74ccd5a0d1a444703e931339709c7de5296b5 > Author: Dmitry Chagin > AuthorDate: 2023-01-29 12:35:18 +0000 > Commit: Dmitry Chagin > CommitDate: 2023-01-29 12:35:18 +0000 > > libthr: Fix pthread_attr_[g|s]etaffinity_np to match it's manual and the kernel. > > Since f35093f8 semantics of a thread affinity functions is changed to be a > compatible with Linux: > > In case of getaffinity(), the minimum cpuset_t size that the kernel permits is > the maximum CPU id, present in the system, / NBBY bytes, the maximum size is not > limited. > In case of setaffinity(), the kernel does not limit the size of the user-provided > cpuset_t, internally using only the meaningful part of the set, where the upper > bound is the maximum CPU id, present in the system, no larger than the size of > the kernel cpuset_t. > > To match pthread_attr_[g|s]etaffinity_np checks of the user-provided cpusets to > the kernel behavior export the minimum cpuset_t size allowed by running kernel > via new sysctl kern.sched.cpusetsizemin and use it in checks. > > Reviewed by: whoops, kib@ From nobody Sun Jan 29 13:18:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4X2N6tlrz3cVjK; Sun, 29 Jan 2023 13:18: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 4P4X2N6K3pz3yv1; Sun, 29 Jan 2023 13:18:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674998332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e2bB4zERhuoWRH2KUibYwLivbIEM1pxoSZWeI9cSHxw=; b=QgKRshVfhfzJGEAcx5p7hHsmEckDnWJDQw4KjNJ60+I0MikjJvCY+oG2zXn3g1yOT6ov8x +9Driok1xt7QH60TOMXS1+7xOoslCOX98DHSHxyIBMrW8n298iQnYDdWSdC2BcsUuRSA/e FfdIF0owWi28ojVV3ut2ZzyUmmAGeqKAG0bhrCKG9gdw0fLhOnDIeA8c4r2I73DO7GY4Kc ujzdF2JO7p7JavMSuZxXzYZSde+aPP8LFPJZx5FrVpPuwayNfJ6LcjLPuIvOEOq3SIQVWd AfX3OMeppm8cCDd3YlXn10qLEr83rb4tELSF1vo+DNaQQm7WTigDOJ8GX67H8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674998332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e2bB4zERhuoWRH2KUibYwLivbIEM1pxoSZWeI9cSHxw=; b=U7LBsJUZ0mmMQDddAr5ZrFDSD/p6awsHacgGwo5OXVXzlOJQm7j9+i7nmJ6z2pM9X2eJIm tJI0pOhlOs1fWQYRRAUTqgwKg4p891i7ddKeBPlrYdc32rhpkwRde+B4xVBxvIJiV9nKT+ Ag4l9xW0r0OJnR4DMR/vx7FBlgPq1ASIOqf/ZWbgky0Y8fh02bkEm0WdpiMRCUPIC75owa fpLW5q1Qcmq+rb7EaXIS+UixQNiT4xOlHfUqZZAjlvLfG2WhT/aUGToPNFb2WeFnoEd9gd ya5XxRZwyrErJUUTyaXXRVWVXkMInN/4iCejISpMNV9VX6Sct41+Kms4TQUPiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674998332; a=rsa-sha256; cv=none; b=qZgRCNCSSNtJTeBUnusWVyEeFZyamky7Ukuzju+ztITf6WScyJVegDqO2knzpAUXffOt78 r6zmD+IbJpxyqsvFiXckPWQUkaAHNSoK4vz0japxkK5KdJIE3rt1NLnZS/ZeYa/5At74Tk 1RF4tu5IRGzI/YCqHC5TzPQTOeEkYtrkLYKRR/+Jsu5hFbmoYrdDtnh6Ce1gAoAVt9tXB7 vm29bPqVfgzGhL+eTSVqWSkR8XaO/72hGw80RtAOfmv51eMdNfGpEx0hBukRXkDXbgh6hm 367pwyH7LTnB+YNzwhvVs8ARXc5CVKQ/esAeaDnWPbcx4+TLq1egQXBQ45jKWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4X2N5LYKzVjS; Sun, 29 Jan 2023 13:18:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TDIqrp008232; Sun, 29 Jan 2023 13:18:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TDIq4Q008231; Sun, 29 Jan 2023 13:18:52 GMT (envelope-from git) Date: Sun, 29 Jan 2023 13:18:52 GMT Message-Id: <202301291318.30TDIq4Q008231@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: c21b080f3dc2 - main - cpuset: Fix sched_[g|s]etaffinity() for better compatibility with Linux. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: c21b080f3dc2f5e91ada608d4385b7ed6538ba9b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=c21b080f3dc2f5e91ada608d4385b7ed6538ba9b commit c21b080f3dc2f5e91ada608d4385b7ed6538ba9b Author: Dmitry Chagin AuthorDate: 2023-01-29 13:17:33 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-29 13:17:33 +0000 cpuset: Fix sched_[g|s]etaffinity() for better compatibility with Linux. Under Linux to sched_[g|s]etaffinity() functions the value returned from a call to gettid(2) (thread id) can be passed in the argument pid. Specifying pid as 0 will set the attribute for the calling thread, and passing the value returned from a call to getpid(2) (process id) will set the attribute for the main thread of the thread group. Native cpuset(2) family of system calls has "which" argument to determine how the value of id argument is interpreted, i.e., CPU_WHICH_TID is used to pass a thread id and CPU_WHICH_PID - to pass a process id. For now native sched_[g|s]etaffinity() implementation is wrong as uses "which" CPU_WHICH_PID to pass both (process and thread id) to the kernel. To fix this adding a new "which" CPU_WHICH_TIDPID intended to handle both id's. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D38209 MFC after: 1 week --- lib/libc/gen/sched_getaffinity.c | 2 +- lib/libc/gen/sched_setaffinity.c | 2 +- lib/libc/sys/cpuset.2 | 4 +++- sys/kern/kern_cpuset.c | 42 +++++++++++++++++++++++++++++++++++++++- sys/sys/cpuset.h | 1 + 5 files changed, 47 insertions(+), 4 deletions(-) diff --git a/lib/libc/gen/sched_getaffinity.c b/lib/libc/gen/sched_getaffinity.c index ed304c111985..95145a1eb019 100644 --- a/lib/libc/gen/sched_getaffinity.c +++ b/lib/libc/gen/sched_getaffinity.c @@ -35,7 +35,7 @@ sched_getaffinity(pid_t pid, size_t cpusetsz, cpuset_t *cpuset) { int error; - error = cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, + error = cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TIDPID, pid == 0 ? -1 : pid, cpusetsz, cpuset); if (error == -1 && errno == ERANGE) errno = EINVAL; diff --git a/lib/libc/gen/sched_setaffinity.c b/lib/libc/gen/sched_setaffinity.c index 0052521cd081..36ed0f45d417 100644 --- a/lib/libc/gen/sched_setaffinity.c +++ b/lib/libc/gen/sched_setaffinity.c @@ -58,7 +58,7 @@ sched_setaffinity(pid_t pid, size_t cpusetsz, const cpuset_t *cpuset) if (cpu > mp_maxid) CPU_CLR(cpu, &c); } - error = cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, + error = cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TIDPID, pid == 0 ? -1 : pid, sizeof(cpuset_t), &c); if (error == -1 && errno == EDEADLK) errno = EINVAL; diff --git a/lib/libc/sys/cpuset.2 b/lib/libc/sys/cpuset.2 index 8b17f537e7fa..854fc89bc232 100644 --- a/lib/libc/sys/cpuset.2 +++ b/lib/libc/sys/cpuset.2 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 3, 2017 +.Dd January 29, 2023 .Dt CPUSET 2 .Os .Sh NAME @@ -100,6 +100,7 @@ argument may have the following values: .Bl -column CPU_WHICH_INTRHANDLER -offset indent .It Dv CPU_WHICH_TID Ta "id is lwpid_t (thread id)" .It Dv CPU_WHICH_PID Ta "id is pid_t (process id)" +.It Dv CPU_WHICH_TIDPID Ta "id is either a thread or process id" .It Dv CPU_WHICH_JAIL Ta "id is jid (jail id)" .It Dv CPU_WHICH_CPUSET Ta "id is a cpusetid_t (cpuset id)" .It Dv CPU_WHICH_IRQ Ta "id is an irq number" @@ -115,6 +116,7 @@ of '-1' may be used with a of .Dv CPU_WHICH_TID , .Dv CPU_WHICH_PID , +.Dv CPU_WHICH_TIDPID , or .Dv CPU_WHICH_CPUSET to mean the current thread, process, or current thread's diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c index 6dfe22b66689..ba0a15b86e01 100644 --- a/sys/kern/kern_cpuset.c +++ b/sys/kern/kern_cpuset.c @@ -927,6 +927,22 @@ cpuset_which(cpuwhich_t which, id_t id, struct proc **pp, struct thread **tdp, return (ESRCH); p = td->td_proc; break; + case CPU_WHICH_TIDPID: + if (id == -1) { + PROC_LOCK(curproc); + td = curthread; + p = curproc; + } else if (id > PID_MAX) { + td = tdfind(id, -1); + if (td == NULL) + return (ESRCH); + p = td->td_proc; + } else { + p = pfind(id); + if (p == NULL) + return (ESRCH); + } + break; case CPU_WHICH_CPUSET: if (id == -1) { thread_lock(curthread); @@ -1739,7 +1755,11 @@ cpuset_check_capabilities(struct thread *td, cpulevel_t level, cpuwhich_t which, if (IN_CAPABILITY_MODE(td)) { if (level != CPU_LEVEL_WHICH) return (ECAPMODE); - if (which != CPU_WHICH_TID && which != CPU_WHICH_PID) + if (which != CPU_WHICH_TID && which != CPU_WHICH_PID && + which != CPU_WHICH_TIDPID) + return (ECAPMODE); + if (id != -1 && which == CPU_WHICH_TIDPID && + id != td->td_tid && id != td->td_proc->p_pid) return (ECAPMODE); if (id != -1 && !(which == CPU_WHICH_TID && id == td->td_tid) && @@ -1986,6 +2006,19 @@ kern_cpuset_getaffinity(struct thread *td, cpulevel_t level, cpuwhich_t which, thread_unlock(ttd); } break; + case CPU_WHICH_TIDPID: + if (id > PID_MAX || id == -1) { + thread_lock(ttd); + CPU_COPY(&ttd->td_cpuset->cs_mask, mask); + thread_unlock(ttd); + break; + } + FOREACH_THREAD_IN_PROC(p, ttd) { + thread_lock(ttd); + CPU_OR(mask, mask, &ttd->td_cpuset->cs_mask); + thread_unlock(ttd); + } + break; case CPU_WHICH_CPUSET: case CPU_WHICH_JAIL: CPU_COPY(&set->cs_mask, mask); @@ -2135,6 +2168,13 @@ kern_cpuset_setaffinity(struct thread *td, cpulevel_t level, cpuwhich_t which, case CPU_WHICH_PID: error = cpuset_setproc(id, NULL, mask, NULL, false); break; + case CPU_WHICH_TIDPID: + if (id > PID_MAX || id == -1) + error = cpuset_setthread(id, mask); + else + error = cpuset_setproc(id, NULL, mask, NULL, + false); + break; case CPU_WHICH_CPUSET: case CPU_WHICH_JAIL: error = cpuset_which(which, id, &p, &ttd, &set); diff --git a/sys/sys/cpuset.h b/sys/sys/cpuset.h index f8fc36b99aa7..55e1ec5def0c 100644 --- a/sys/sys/cpuset.h +++ b/sys/sys/cpuset.h @@ -109,6 +109,7 @@ #define CPU_WHICH_DOMAIN 6 /* Specifies a NUMA domain id. */ #define CPU_WHICH_INTRHANDLER 7 /* Specifies an irq # (not ithread). */ #define CPU_WHICH_ITHREAD 8 /* Specifies an irq's ithread. */ +#define CPU_WHICH_TIDPID 9 /* Specifies a process or thread id. */ /* * Reserved cpuset identifiers. From nobody Sun Jan 29 13:18:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4X2Q1PRRz3cVm7; Sun, 29 Jan 2023 13:18: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 4P4X2Q0RnVz401T; Sun, 29 Jan 2023 13:18:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674998334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RClqe7+ONSROjaGKRHCuunDjE4XX9l33fBSsmisXOlo=; b=E0CCXbrGus+jr61gNWKlUcYFh79KMR1TZtvBuwqTvof0Ytg1DRpzlJKF+Ch26sEOSkmFxD rdkylQEcEoBXE33dG2OpujEfz+kj0a7+PovCoSTAkPiUzwaTzDZGW9UFi85nX/DKkezOtT 6pN8RhcK1OWfkIOt3KTF9qOjfmXyYev6D6urZD8SGXoOCx5vn/4BkHlbaYdwxCv6wFQPlQ snRT1TYlwfVEpVhy/+uL9zwBmTtFAQJn08ISGey+exWR1lKDAvNOnFYippyDO6es6LQaoz tJ4S0YkYCZdEC1Ocbhafuj+pgEZ9J5FMoCf1n6Jk31pesZFxFxxy9bn2OMUipA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674998334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RClqe7+ONSROjaGKRHCuunDjE4XX9l33fBSsmisXOlo=; b=u6yojr08njjVlrXVQTSaNWYwmKSxF3SVB8pmYGWb6v9aAgvyEf4Jh2cPE5D8eQKz5g6WgM 4DYgH/3+iLwkOQFDJXeH6GjPhji082CJCne8raf5NPkJFCYY8h0Ze6WB3XBaEBVZM26dg+ F2T1lQAeXyR/K5rMOoKBopwoKzFIPo8iNVe5Vn3/VHVm/RjkgKOyECQu4i5gGABs5fOruC if+uL8BmgxfuNK3//uH+nwEJsKKK6Hxh19mMVPJH+GhCo3zVLKsLGjeyE1uqo55P3jwwg9 oFgRBqG2kNO19P97TCb/TeAxeduHFuxQh8RenPjNnzS6KGCAFvRvIqPVAZY0vQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674998334; a=rsa-sha256; cv=none; b=LzvLuOyrBYyt31Z8BZ5t/zE/kCIb5KhzUWN8ZwGETMChWFnhgprgoBxAyvTJ+t5h60z5a0 x8jXBduhQzWez4SLPC/YBA+ykBVFZCCWCvWtHK0hOaPOW3xMFkw09eZbeF6sK48IkggTjS +DmWTR+zBsSqTBCb204JMvwtNaGELQlt8L3jVzx5Sb3WclbwsyPqsiW2pApHVRgwqsOR9e 87RB5WxuHkIZtvp4Jv1hexeyCgETf2ExRUCCIhbwT6GaiF0Nq44tCa3SDT1ylJh3J+m1Kz DUZC9I7Mwhl/OB/es+Yh+LwubVxmEnYKBZsGVisXNcLWCNcgAU24fvWhZno5Sw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4X2P6Sx1zV40; Sun, 29 Jan 2023 13:18:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TDIrAQ008257; Sun, 29 Jan 2023 13:18:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TDIrem008256; Sun, 29 Jan 2023 13:18:53 GMT (envelope-from git) Date: Sun, 29 Jan 2023 13:18:53 GMT Message-Id: <202301291318.30TDIrem008256@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: e4754c80366d - main - subr_smp: Trim trailing whitespaces. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: e4754c80366dcbc28e625efab5cfe84057784c19 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=e4754c80366dcbc28e625efab5cfe84057784c19 commit e4754c80366dcbc28e625efab5cfe84057784c19 Author: Dmitry Chagin AuthorDate: 2023-01-29 13:18:17 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-29 13:18:17 +0000 subr_smp: Trim trailing whitespaces. MFC after: 1 week --- sys/kern/subr_smp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index 6ab71fd63695..656c945fe8c2 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -125,11 +125,11 @@ static void (*volatile smp_rv_teardown_func)(void *arg); static void *volatile smp_rv_func_arg; static volatile int smp_rv_waiters[4]; -/* +/* * Shared mutex to restrict busywaits between smp_rendezvous() and * smp(_targeted)_tlb_shootdown(). A deadlock occurs if both of these * functions trigger at once and cause multiple CPUs to busywait with - * interrupts disabled. + * interrupts disabled. */ struct mtx smp_ipi_mtx; @@ -334,7 +334,7 @@ suspend_cpus(cpuset_t map) #endif /* - * Called by a CPU to restart stopped CPUs. + * Called by a CPU to restart stopped CPUs. * * Usually (but not necessarily) called with 'stopped_cpus' as its arg. * @@ -437,7 +437,7 @@ resume_cpus(cpuset_t map) #undef X86 /* - * All-CPU rendezvous. CPUs are signalled, all execute the setup function + * All-CPU rendezvous. CPUs are signalled, all execute the setup function * (if specified), rendezvous, execute the action function (if specified), * rendezvous again, execute the teardown function (if specified), and then * resume. From nobody Sun Jan 29 13:18:54 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4X2R1zRdz3cVnZ; Sun, 29 Jan 2023 13:18: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 4P4X2R1L7bz40Jv; Sun, 29 Jan 2023 13:18:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674998335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QAipVR/dMlztspVnpbIfBbyEJpfJX7uMjf3ks41f8TE=; b=GJUH29wIKksBlgNiOlrpggPli7gx2wJS4B9AslQKxnwwK5b9AxI/VCR3Bv3v0heVGCeTuS RHnFVNvchPUeK/BzeB220Z5kmbwvCO0nMUacDLX+q/D6cvfWu5BrMAUlxyIaQ5iMIL89nj d66rQ3WkXnjTFL/u16VlFsvUe9n9qM43gyw48IarLDIqrJCTBNEKe1uQZPhqImbQfyjOjg Sl3Uy268eFbHGvV+ZWtKZhU44A1fu4SLEWPIbK0si4xifbegKKbOdLHvZzT70rEfXSRpwz ENzaIK8K30JONhdBoWm+ZDEOZymnEGrd1mYe0BqVyoMLm9G/yc/fErbAS1yGnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674998335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QAipVR/dMlztspVnpbIfBbyEJpfJX7uMjf3ks41f8TE=; b=juyoNg2ngq0ViM4PkdmN0lspNEngRzW2z4I7H7d5AC5Obw4BFq0HIGNGgEdgzpVVpqduos SSxEzsyP4FglywathpqLmhk5V3RXZz2ePbNaOU582AkExJLqmSdc+9ZG8rQN/mvFUgiANT wSryorWHsW5S9iUhK1TQ6u1t/8VrFGiw6K5LrnpEoXiHK7c5h+N8LJ2+VFo+3RZwbrfmrx NbD1SHXy4GGaTC59Z6f7eYSjWys7JDG0ttYYTuVdfZfaH/+PDTrRB8nC7YQWkoXJ5QOEmx kBgzBZpP2+NsbixuE7v0UAaW6OmDYfTMuyesdShvPNbGU1To5fQ/ZxeeAd6N8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674998335; a=rsa-sha256; cv=none; b=tqg8E/JG3XWUtj7kkITv9/2dfiCoH77hgaVxDAJ4xoPzUl7cq10uFMSDao2gevbPEv0xMV V/h+/hd5bzvwwxpJSw4qnxFEawrpzENWPF53QEeZLRWWtED/UBtw5S8ir760tB7kan7Meb e6OEiKCeywdibIsGDeTUKgeDp+WcpLzLndBHOfAVjMwepCPiBLLLb4Ys4lWnNfXpcAvucH kARR/Q6xfYshpGxcRn/PhZIFErTWsZxPLyfUcC+LX18AXUdJnNRmgLyaSEwRyqqNDphcAN CaA2uaHPmxpeK/wuYw2sERJgiac1oNkqOUAigREwNsXhxKfdYqxxLWg1Y5z1+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 4P4X2R03ZYzVBp; Sun, 29 Jan 2023 13:18:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TDIsGL008281; Sun, 29 Jan 2023 13:18:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TDIsRI008280; Sun, 29 Jan 2023 13:18:54 GMT (envelope-from git) Date: Sun, 29 Jan 2023 13:18:54 GMT Message-Id: <202301291318.30TDIsRI008280@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 290afc5d55fa - main - mp_x86: Trim trailing whitespaces. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 290afc5d55fa370338cb837c7aaabf40670628a8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=290afc5d55fa370338cb837c7aaabf40670628a8 commit 290afc5d55fa370338cb837c7aaabf40670628a8 Author: Dmitry Chagin AuthorDate: 2023-01-29 13:18:39 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-29 13:18:39 +0000 mp_x86: Trim trailing whitespaces. MFC after: 1 week --- sys/x86/x86/mp_x86.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/x86/x86/mp_x86.c b/sys/x86/x86/mp_x86.c index 44f3103ff2be..8d305cf76d1e 100644 --- a/sys/x86/x86/mp_x86.c +++ b/sys/x86/x86/mp_x86.c @@ -1713,7 +1713,7 @@ mp_ipi_intrcnt(void *dummy) intrcnt_add(buf, &ipi_rendezvous_counts[i]); snprintf(buf, sizeof(buf), "cpu%d:hardclock", i); intrcnt_add(buf, &ipi_hardclock_counts[i]); - } + } } SYSINIT(mp_ipi_intrcnt, SI_SUB_INTR, SI_ORDER_MIDDLE, mp_ipi_intrcnt, NULL); #endif From nobody Sun Jan 29 14:59:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4ZGx0DRfz3cjP6; Sun, 29 Jan 2023 14:59: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 4P4ZGw6lCFz4BrN; Sun, 29 Jan 2023 14:59:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675004393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GCfaJbjNl+XPlQvvHQOYFkjWfT9KO3YbMLN7537auTg=; b=UvNTbKBvZdlqx/LRA1Q6OcdKJ5wT4VO4DmpTcRAzTYaX3BZM6ByXF/L0x4oEs49Slnrrpm xm8Aq2nKirzF/CuDZQ9e/QnxiJX/FKdKZwd/wb/kT4hcfYd47uW9DHJasNozb74Eco+5za 2t4t1tBqeR8Z3oL6PPMJLbWKpVqYDq6ziYeGhMc7ow+ohoioxUY/lMXoX6hJC0+8F0B9tf ZgO1hDGSgLS/30HyVIiUse7D3ErTP8Oyn/WSGNMCSWM1MbIKYcaFDrlBIvEQet7g3MlJ2/ 3tbCmusaB0sMb/j85CzEBjOjiNiOjlQfd3F6dcQTMZR2ZIQnVc7kNb5DHwZWaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675004392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GCfaJbjNl+XPlQvvHQOYFkjWfT9KO3YbMLN7537auTg=; b=shu7r/xkYO6bTadBmse1twdldXnJN2+0VPEOib6QHeGYQxrWGj31H1gctbMGn7OzKd2oVS CoUS53vjxFiBm75HssZEugafwiUGvHs9OIcmeJgAz2X1k+QMyn3Jl1om08TMMXmsaapX3d atTKkj/iW5Z/6AdPpCvoxcLw3qyTMW0mGOjOTebNRqA9rGFYHpkx8e+FDv4uiSPRW+Lyi7 W5PjWQoVFmr1SY6Bnr6LKhNFNpYjFK0A8pU7zicid8QHULZw4dZcy47ovLH7NnuOJRvgry tUttK6yj7d+96isrBpkL7U/k3yKiBr8y/0Ly2a4MZVPGEVXGA3X2PolLreW4vA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675004392; a=rsa-sha256; cv=none; b=u94a2f3sVWxGnMLJPwTc9Y/afDztXBlFe9fEPPcFvhOYnFHoQw/uyLgohuY8vXOlhZhmH0 JNN+MQKnY7R89loV6EEkbkUZJmUY6gg2nY5fjfkXUxy1fuVIjgJ8NCAP9pEO6CQue5XLA9 iI2bg7Q8lWMz7uvzzLwQGBe1o8j6HxhU/N9xg3spP5GVEN4Sim7yum+GMo69Br3BXGNdG+ gGL14wfu22ftKQPy5rcjrew9W4v20PtBBEms6zzbI1PIedsBSW2rLxxFSUvEJhPYXAdzv3 kVk5PAj77JO0KXEhWSIrwI9GbeLlnEVAwdW/+rZpbqSsu0mZ93hrUvy+Bfl/ag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4ZGw5m1ZzXYd; Sun, 29 Jan 2023 14:59:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TExqXl050356; Sun, 29 Jan 2023 14:59:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TExq6D050355; Sun, 29 Jan 2023 14:59:52 GMT (envelope-from git) Date: Sun, 29 Jan 2023 14:59:52 GMT Message-Id: <202301291459.30TExq6D050355@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: c57694ce9471 - main - Disable the arm physical timer when an irq exists List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c57694ce94712ce1fe0341ae51d70446a7dbbfa2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c57694ce94712ce1fe0341ae51d70446a7dbbfa2 commit c57694ce94712ce1fe0341ae51d70446a7dbbfa2 Author: Andrew Turner AuthorDate: 2023-01-28 17:36:24 +0000 Commit: Andrew Turner CommitDate: 2023-01-29 14:58:24 +0000 Disable the arm physical timer when an irq exists Some firmware leaves the timers enabled. Ensure they are disabled if there are any physical timer interrupt resources to ensure we don't receive any unexpected interrupts from them. --- sys/arm/arm/generic_timer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index 2527af9b9068..0556643032c2 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -521,7 +521,8 @@ arm_tmr_attach(device_t dev) if (sc->res[GT_VIRT] != NULL) arm_tmr_disable(false); /* And the physical */ - if (sc->physical) + if (sc->res[GT_PHYS_SECURE] != NULL || + sc->res[GT_PHYS_NONSECURE] != NULL) arm_tmr_disable(true); arm_tmr_timecount.tc_frequency = sc->clkfreq; From nobody Sun Jan 29 14:59:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4ZGy1Kjyz3cj3N; Sun, 29 Jan 2023 14:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P4ZGy0cYmz4C9t; Sun, 29 Jan 2023 14:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675004394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pQel71Bl91pMPJrTpGnQ5QR6IB2g/3YLYUzCCwuZb2Q=; b=CX/lLS0iYkWAmX4jyiAodn3OxhjWMPnzHRL/DD9CDEKLpQfVRcJNqBOetkr+OfahFjMYPs FyxoJCjAdO22r+VlHScNh8KigzNCn2/XGHl1P3PPISX5iJ4vxFcad00hk7ncpzVvcltveZ 3me6k/3jRBYqRXyrHilAsGjic58Y3QrmwDkR1vZYtd8P+gXu2UH+Qu7ZL2gPr52SAAeTO8 aUfWK+DTZvOv/d1UJ9dZqB2MrH3CxbpG+wgHwFngnUY+qCDWx0ml6oGodNBNLM+Ge2ttis S8X/lvZbb46UmsFSPQQDT6JMbcZpBQ+0ugdoiyAPnAZagGT8t173L0nD3KhUvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675004394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pQel71Bl91pMPJrTpGnQ5QR6IB2g/3YLYUzCCwuZb2Q=; b=ul4luNtdCYK56y7YCG3+rtIZrm8TNCM1oDpjS4vl8aCaaH1l9tx18+ypWxvR5VGRcurhoX 9cPxRmG7ro7oQz3PKxo4+b73GkuonbFCp4XR5CpNkUYgHyYqWNgIc8FEKsw9QzkZ3DfBGi CqkrMEKcFptXYmC8EtSW7gL+U4Ru1tclE+dnIxPJ6o+bSxKAzfd5BBqBtklCOjYCS/KUn5 A/1/9iMlDa3+1Pg3Rgd7hCGWYGRiwjtAHM0W0mP2FlA9uKOJg4yVZ0Z3IZocU3Aq11rEm7 FVKFjBXAq+THnMtWbC7gCT4ezDIc4XMpaCllor3wxdUiHK7FmhUPBeEMrwLhhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675004394; a=rsa-sha256; cv=none; b=v96n7OP1YDBozVVajmhgCkE7N0mGRvhuChd1l5+B+S8EJP4Y9o1Heka5Q/oX+ciDVCgLIH sYFDxIvgkrd3BuYj0jWpR3btZ/ITj4vyz3/rPW1EeiinGJm8kuMrq3TZhvfUBbIj5qa2LO 8IwzOZ3hI28CLFS0fuXDcqL1Xc+6wIr6zfRa34eF/fe617MJL669dvvhOCt+gNfeU+l3L2 fgVDHQOLE5uvNxzti+X5SlobnPM/jBq2ftXbjvjb8b7kbSFAhG+xc5cHR/iK3IEDfKZ++K e2wUeobm4MnlczO6lWH7nTcpdRGCOtB/Rie4kzWPYUJ/VWFBNA9Bp+t3rzy7ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4ZGx6g7YzXdh; Sun, 29 Jan 2023 14:59:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TExrFb050380; Sun, 29 Jan 2023 14:59:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TExrKo050379; Sun, 29 Jan 2023 14:59:53 GMT (envelope-from git) Date: Sun, 29 Jan 2023 14:59:53 GMT Message-Id: <202301291459.30TExrKo050379@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 0600af1ff160 - main - Make SMCCC usable by device drivers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0600af1ff16041f15633b2263a8ad9525eecd2f1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=0600af1ff16041f15633b2263a8ad9525eecd2f1 commit 0600af1ff16041f15633b2263a8ad9525eecd2f1 Author: Andrew Turner AuthorDate: 2022-06-04 11:13:51 +0000 Commit: Andrew Turner CommitDate: 2023-01-29 14:58:24 +0000 Make SMCCC usable by device drivers To allow device drivers to call into SMCCC we need to initialise it earlier. As it depends on PSCI, and that is detected via ACPI or FDT move the call to smccc_init to the PSCI driver. Add a function for drivers to read the smccc version, or 0 if smccc is not present. --- sys/dev/psci/psci.c | 2 ++ sys/dev/psci/smccc.c | 11 ++++++++--- sys/dev/psci/smccc.h | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/sys/dev/psci/psci.c b/sys/dev/psci/psci.c index d7c89bf058f8..41a48e36dec9 100644 --- a/sys/dev/psci/psci.c +++ b/sys/dev/psci/psci.c @@ -344,6 +344,8 @@ psci_attach(device_t dev, psci_initfn_t psci_init, int default_version) if (psci_init(dev, default_version)) return (ENXIO); + smccc_init(); + psci_softc = sc; return (0); diff --git a/sys/dev/psci/smccc.c b/sys/dev/psci/smccc.c index 54673d431d4c..64732d58e2d4 100644 --- a/sys/dev/psci/smccc.c +++ b/sys/dev/psci/smccc.c @@ -47,8 +47,8 @@ __FBSDID("$FreeBSD$"); /* Assume 1.0 until we detect a later version */ static uint32_t smccc_version = SMCCC_VERSION_1_0; -static void -smccc_init(void *dummy) +void +smccc_init(void) { int32_t features; uint32_t ret; @@ -67,7 +67,12 @@ smccc_init(void *dummy) SMCCC_VERSION_MINOR(smccc_version)); } } -SYSINIT(smccc_start, SI_SUB_CONFIGURE, SI_ORDER_ANY, smccc_init, NULL); + +uint32_t +smccc_get_version(void) +{ + return (smccc_version); +} int32_t smccc_arch_features(uint32_t smccc_func_id) diff --git a/sys/dev/psci/smccc.h b/sys/dev/psci/smccc.h index 4dc4c089df65..58b976029a3c 100644 --- a/sys/dev/psci/smccc.h +++ b/sys/dev/psci/smccc.h @@ -82,6 +82,8 @@ struct arm_smccc_res { #define SMCCC_RET_NOT_SUPPORTED -1 #define SMCCC_RET_NOT_REQUIRED -2 +void smccc_init(void); +uint32_t smccc_get_version(void); int32_t smccc_arch_features(uint32_t); int smccc_arch_workaround_1(void); int smccc_arch_workaround_2(int); From nobody Sun Jan 29 16:04:30 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4bjV30dYz3b8B4; Sun, 29 Jan 2023 16:04: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 4P4bjV2KDHz4PHf; Sun, 29 Jan 2023 16:04:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675008270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hbo91nyVbwyM+t/LAaDSJowYtmguKHITYkCrHY2Dpus=; b=TESe8Q9Ot6lw6VnyrJ+bEvNcJ0HCPLNFsNqXs7PaBWcj+sNwY4j31SBNpIqYSvJ9HRvObL dP+NUqh1vBD+WV/CP2CVqt7+5gIuhQAnOxoriD8Y2uYyMHwGBHjQKsIYG0TSDdp1d63RCo WoSelnfAlKMJbHYHSuyxlUAi5vQ5IJDShKOk/heR90gMgtKqHdApMjw5o414VXZTTe1m5X OvigynnHP1tvreYNsVx7M2+j//3DLi6HOLt6P/UkM1iFpkiizrJ2WUWsNrikGIV8715Zr6 5hX3CbhUOu+4XjjB7ITeiIwyJ/1HQJJuLh49qHqdGEsBxEZTYzzvNgCZQVQAkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675008270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hbo91nyVbwyM+t/LAaDSJowYtmguKHITYkCrHY2Dpus=; b=tZ+XNmhZrDj3mmI/mB94irR+tiDPYe3Hw+1T4G1JPW1UL09iz2XDZi3As93JdO5BjFdAgv kC+DBH7hKo2DCBBqTEjY2wBqBYfZV3KF3Yl+elL+30ja6K2iYMTWnn5ANU1EMvYXPxRi4R +R1VBcaf6hY7DJY5ppQFZ/oov/2M/vLwZDBGb0meHNflsoDQdCGj6jclA0fc54VBIdFK/i lbR0AI1SZWpc41Qs0Qj/lXub6I4V8aa1nf2SmhTgUrRh4DN+frFVBDUH8OYcGCx+1RM0BD ekveV2eNcjRd3hkEPoZVFoqNlaviOlHqP40XgqNLd4EAA48TGZFnlJJHqIUIfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675008270; a=rsa-sha256; cv=none; b=a7wMBzzLdJqfDHMoiEL534VGJACgdhHMC4uABN/GZyvhfmr6scTOwfVFjfAyILf9amBKOS OjWB+/DQhRrSrb78+OS45GZYn13SwZEaRURtnJEojLWhjPYC48zLPwevdiJgO5KKSjX1Sn lYRgBLC7XzGHEe9Ia/Tm/QCmNI5HE76YsMhWix+SBdA6Hhrp6L69f6+2JyK5Yvfe4vYzDK SBTSnh3G+eigPb13mWF/SF0OQ3+5pfB8mkIjG5HZ8HYEmLQs31SxViycl5Uu45aTrY3Xm1 kg++uat7kHuvFjUNuufRKmQyu4VboNTZnQtd7txbVLOoYnpKfUGaBQZYvT11/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 4P4bjV1Mz0zZjJ; Sun, 29 Jan 2023 16:04:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TG4Ups049752; Sun, 29 Jan 2023 16:04:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TG4U7n049751; Sun, 29 Jan 2023 16:04:30 GMT (envelope-from git) Date: Sun, 29 Jan 2023 16:04:30 GMT Message-Id: <202301291604.30TG4U7n049751@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 3ebccb20d564 - main - netlink: allow path weight manipulations for single-path routes. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3ebccb20d56455f4bef1366f942680d1b60828f6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=3ebccb20d56455f4bef1366f942680d1b60828f6 commit 3ebccb20d56455f4bef1366f942680d1b60828f6 Author: Alexander V. Chernikov AuthorDate: 2023-01-29 15:53:34 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-29 16:04:10 +0000 netlink: allow path weight manipulations for single-path routes. Add support for the scenario when user adds/deletes paths for a single prefix one-by-one, all with different weights. This change adds a new FreeBSD-specific RTA attribute, NL_RTA_WEIGHT. When dumping non-multipath routes, this attribute is added if the route weight is not RT_DEFAULT_WEIGHT. When adding a new route, this attribute is parsed as a relative path weight. MFC after: 2 weeks --- sys/netlink/route/route.h | 3 ++- sys/netlink/route/rt.c | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/sys/netlink/route/route.h b/sys/netlink/route/route.h index 6e1ef6cbf0c6..b4b326b2b06b 100644 --- a/sys/netlink/route/route.h +++ b/sys/netlink/route/route.h @@ -157,8 +157,9 @@ enum rtattr_type_t { NL_RTA_FLOW = 11, /* not supported */ NL_RTA_CACHEINFO = 12, /* not supported */ NL_RTA_SESSION = 13, /* not supported / deprecated */ + NL_RTA_WEIGHT = 13, /* u32, FreeBSD specific, path weight */ NL_RTA_MP_ALGO = 14, /* not supported / deprecated */ - NL_RTA_RTFLAGS = 14, /* u32, FreeBSD specific, */ + NL_RTA_RTFLAGS = 14, /* u32, FreeBSD specific, path flags (RTF_)*/ NL_RTA_TABLE = 15, /* u32, fibnum */ NL_RTA_MARK = 16, /* not supported */ NL_RTA_MFC_STATS = 17, /* not supported */ diff --git a/sys/netlink/route/rt.c b/sys/netlink/route/rt.c index 5e7f00f28b0b..59b34c53ad4b 100644 --- a/sys/netlink/route/rt.c +++ b/sys/netlink/route/rt.c @@ -208,14 +208,15 @@ dump_rc_nhg(struct nl_writer *nw, const struct nhgrp_object *nhg, struct rtmsg * #endif static void -dump_rc_nhop(struct nl_writer *nw, const struct nhop_object *nh, struct rtmsg *rtm) +dump_rc_nhop(struct nl_writer *nw, const struct route_nhop_data *rnd, struct rtmsg *rtm) { #ifdef ROUTE_MPATH - if (NH_IS_NHGRP(nh)) { - dump_rc_nhg(nw, (const struct nhgrp_object *)nh, rtm); + if (NH_IS_NHGRP(rnd->rnd_nhop)) { + dump_rc_nhg(nw, rnd->rnd_nhgrp, rtm); return; } #endif + const struct nhop_object *nh = rnd->rnd_nhop; uint32_t rtflags = nhop_get_rtflags(nh); /* @@ -243,6 +244,9 @@ dump_rc_nhop(struct nl_writer *nw, const struct nhop_object *nh, struct rtmsg *r /* In any case, fill outgoing interface */ nlattr_add_u32(nw, NL_RTA_OIF, nh->nh_ifp->if_index); + + if (rnd->rnd_weight != RT_DEFAULT_WEIGHT) + nlattr_add_u32(nw, NL_RTA_WEIGHT, rnd->rnd_weight); } /* @@ -309,7 +313,7 @@ dump_px(uint32_t fibnum, const struct nlmsghdr *hdr, rtm = nlattr_restore_offset(nw, rtm_off, struct rtmsg); if (plen > 0) rtm->rtm_dst_len = plen; - dump_rc_nhop(nw, rnd->rnd_nhop, rtm); + dump_rc_nhop(nw, rnd, rtm); if (nlmsg_end(nw)) return (0); @@ -438,6 +442,7 @@ struct nl_parsed_route { uint32_t rta_table; uint32_t rta_rtflags; uint32_t rta_nh_id; + uint32_t rta_weight; uint32_t rtax_mtu; uint8_t rtm_family; uint8_t rtm_dst_len; @@ -457,6 +462,7 @@ static const struct nlattr_parser nla_p_rtmsg[] = { { .type = NL_RTA_GATEWAY, .off = _OUT(rta_gw), .cb = nlattr_get_ip }, { .type = NL_RTA_METRICS, .arg = &metrics_parser, .cb = nlattr_get_nested }, { .type = NL_RTA_MULTIPATH, .off = _OUT(rta_multipath), .cb = nlattr_get_multipath }, + { .type = NL_RTA_WEIGHT, .off = _OUT(rta_weight), .cb = nlattr_get_uint32 }, { .type = NL_RTA_RTFLAGS, .off = _OUT(rta_rtflags), .cb = nlattr_get_uint32 }, { .type = NL_RTA_TABLE, .off = _OUT(rta_table), .cb = nlattr_get_uint32 }, { .type = NL_RTA_VIA, .off = _OUT(rta_gw), .cb = nlattr_get_ipvia }, @@ -849,8 +855,9 @@ rtnl_handle_newroute(struct nlmsghdr *hdr, struct nlpcb *nlp, } } - int weight = NH_IS_NHGRP(nh) ? 0 : RT_DEFAULT_WEIGHT; - struct route_nhop_data rnd = { .rnd_nhop = nh, .rnd_weight = weight }; + if (!NH_IS_NHGRP(nh) && attrs.rta_weight == 0) + attrs.rta_weight = RT_DEFAULT_WEIGHT; + struct route_nhop_data rnd = { .rnd_nhop = nh, .rnd_weight = attrs.rta_weight }; int op_flags = get_op_flags(hdr->nlmsg_flags); error = rib_add_route_px(attrs.rta_table, attrs.rta_dst, attrs.rtm_dst_len, From nobody Sun Jan 29 16:37:02 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4cR24V0Lz3bD4l; Sun, 29 Jan 2023 16:37: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 4P4cR240VPz4SF6; Sun, 29 Jan 2023 16:37:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675010222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u9sp1r7BUIkzhKck4jSqWJH4dEZwlSneyod44BpZzGw=; b=WH+zWs3Lp5Ct+tf91UXgglkKAHlmefm1xBCPxl+4Et3eO4KaGKRvTRWM2Nre1jF1687wFu flgLNBnnAAoiRqHt/WiwIsoJAgQAux9qARA/7uNQHMO3KMocfSNtmQL3oubUJySRI0w/fu /S61IL5FhYW5zZ9FllkMdCS7EQQDpIPQO4IbfsJjd6Fv3gDnUqLZbfkh1VHLw2tgjneQDY TRzdqhhipT/cQgXXDWecE5sFW6gnd2V8ks4JpdY9Bj2rGaODbA0h9c8ErzsF2F0knN5sE6 CRFBphSL0DOUrEU2sSmlHnCVRzpVMbQwYC18vR08eh+JnS/RqyBWn2i2Wh+xrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675010222; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u9sp1r7BUIkzhKck4jSqWJH4dEZwlSneyod44BpZzGw=; b=ybxxgwMnSUjFChd8vlMiRRC2tK+UjFRr/pQMsFppctiZ9lboTAPjQZBh01A8aNkUv053xb NgbrmfyR4UZ6Biz6plxuZt/Q6bQJzXGzS5vw2y+ze6HDp2h82gEuZxD3bAKxEf2yQh+gS/ D+gKyyhBqXOOXdgo7b6uTCmNVUsfgXjShivBLuVBN4OlgzmHOTl3Kp8HCUM+qvRIwXoQbB tJpau0WHtM/Plzo7OMoLDIVDZ1ig/n431bOJ05xWMG+ejSqvC9DXYmmezxRdchT6d4++EI N2Wt4vox8w+tq6IfQtiK2Hqco4WUF8SWCURNNCfy1Bku1BohHTHc59PYQDwFPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675010222; a=rsa-sha256; cv=none; b=nizwLEESIjk4/aPHTwv30ITiYAvCdSrgIwDmQfa85aKpcE0pfyQMYDZOm2cKBoGB9V2RBT xVEDZJn5uK57R2KHOFpgdtctJprraro2Z0+N4SbJhpxWRttae4DGfRojRH/GbGJJNM2Gp9 6JP1d/kDhTjQcLPaYFQKv19lBxBv4+7id7X2RS+xqm9mxgohBoxgdQGXwqLfv4PkILVjn0 hC5ikg0v4L7FbfGqpQ/fzBQSN+jiRtJbuv80RaNdDt8wsOYcED3Pe23it5kHJrZhISdr4Z oqrDlGt0b98yeSI9iHWYfcBky7t6hqX28EO6jsFuUoImTlMuusVQWhc8GJ1vcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4cR233hzzbVL; Sun, 29 Jan 2023 16:37:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TGb27b092159; Sun, 29 Jan 2023 16:37:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TGb2Go092158; Sun, 29 Jan 2023 16:37:02 GMT (envelope-from git) Date: Sun, 29 Jan 2023 16:37:02 GMT Message-Id: <202301291637.30TGb2Go092158@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 15dbf5a24169 - main - netstat: export weight for single-path routes. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 15dbf5a24169d39fe951c3532f9dfbd8b55e8042 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=15dbf5a24169d39fe951c3532f9dfbd8b55e8042 commit 15dbf5a24169d39fe951c3532f9dfbd8b55e8042 Author: Alexander V. Chernikov AuthorDate: 2023-01-29 16:27:31 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-29 16:27:31 +0000 netstat: export weight for single-path routes. * Parse and export newly-added NL_RTA_WEIGHT attribute, providing path weight for a non-multipath route. This fixes a number of tests in sys/net/routing which rely on this data. * Remove handling of NL_RTA_KNH_ID in multipath routes, as it is not provided. * Improve kernel/user nexthop index export. As a result, for multipath routes: * nhg-kidx attribute represents kernel nhg index (always provided) * nhg-uidx attribute represents user-provided nhg index (if set) for non-multipath routes: * nhop-kidx attribute represents kernel nhop index (always provided) * nhop-udx attribute represents user-provided nexthop index (if set) --- usr.bin/netstat/common.h | 1 + usr.bin/netstat/route.c | 1 + usr.bin/netstat/route_netlink.c | 26 +++++++++++++++++++------- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/usr.bin/netstat/common.h b/usr.bin/netstat/common.h index d5aadd50b34e..113180c0a6f4 100644 --- a/usr.bin/netstat/common.h +++ b/usr.bin/netstat/common.h @@ -70,6 +70,7 @@ struct ifmap_entry { }; struct ifmap_entry *prepare_ifmap(size_t *ifmap_size); +extern const uint32_t rt_default_weight; struct rt_msghdr; struct nhops_map { diff --git a/usr.bin/netstat/route.c b/usr.bin/netstat/route.c index 0026ee924854..5de683ebfe7a 100644 --- a/usr.bin/netstat/route.c +++ b/usr.bin/netstat/route.c @@ -108,6 +108,7 @@ static void p_rtable_sysctl(int, int); static void p_rtentry_sysctl(const char *name, struct rt_msghdr *); static void domask(char *, size_t, u_long); +const uint32_t rt_default_weight = RT_DEFAULT_WEIGHT; /* * Print routing tables. diff --git a/usr.bin/netstat/route_netlink.c b/usr.bin/netstat/route_netlink.c index e4a56af4b8a9..17b15579b83b 100644 --- a/usr.bin/netstat/route_netlink.c +++ b/usr.bin/netstat/route_netlink.c @@ -150,7 +150,6 @@ struct rta_mpath_nh { uint8_t rtnh_flags; uint8_t rtnh_weight; uint32_t rtax_mtu; - uint32_t rta_knh_id; uint32_t rta_rtflags; }; @@ -164,7 +163,6 @@ SNL_DECLARE_ATTR_PARSER(metrics_mp_parser, nla_p_mp_rtmetrics); static const struct snl_attr_parser psnh[] = { { .type = NL_RTA_GATEWAY, .off = _OUT(gw), .cb = snl_attr_get_ip }, { .type = NL_RTA_METRICS, .arg = &metrics_mp_parser, .cb = snl_attr_get_nested }, - { .type = NL_RTA_KNH_ID, .off = _OUT(rta_knh_id), .cb = snl_attr_get_uint32 }, { .type = NL_RTA_RTFLAGS, .off = _OUT(gw), .cb = snl_attr_get_uint32 }, { .type = NL_RTA_VIA, .off = _OUT(gw), .cb = snl_attr_get_ipvia }, }; @@ -225,6 +223,7 @@ struct nl_parsed_route { uint32_t rta_expire; uint32_t rta_table; uint32_t rta_knh_id; + uint32_t rta_nh_id; uint32_t rta_rtflags; uint32_t rtax_mtu; uint32_t rtax_weight; @@ -248,10 +247,12 @@ static const struct snl_attr_parser ps[] = { { .type = NL_RTA_METRICS, .arg = &metrics_parser, .cb = snl_attr_get_nested }, { .type = NL_RTA_MULTIPATH, .off = _OUT(rta_multipath), .cb = nlattr_get_multipath }, { .type = NL_RTA_KNH_ID, .off = _OUT(rta_knh_id), .cb = snl_attr_get_uint32 }, + { .type = NL_RTA_WEIGHT, .off = _OUT(rtax_weight), .cb = snl_attr_get_uint32 }, { .type = NL_RTA_RTFLAGS, .off = _OUT(rta_rtflags), .cb = snl_attr_get_uint32 }, { .type = NL_RTA_TABLE, .off = _OUT(rta_table), .cb = snl_attr_get_uint32 }, { .type = NL_RTA_VIA, .off = _OUT(rta_gw), .cb = snl_attr_get_ipvia }, { .type = NL_RTA_EXPIRES, .off = _OUT(rta_expire), .cb = snl_attr_get_uint32 }, + { .type = NL_RTA_NH_ID, .off = _OUT(rta_nh_id), .cb = snl_attr_get_uint32 }, }; static const struct snl_field_parser fprt[] = { @@ -320,7 +321,7 @@ struct sockaddr_dl_short { }; static void -p_path(struct nl_parsed_route *rt) +p_path(struct nl_parsed_route *rt, bool is_mpath) { struct sockaddr_in6 mask6; struct sockaddr *pmask = (struct sockaddr *)&mask6; @@ -337,6 +338,16 @@ p_path(struct nl_parsed_route *rt) p_flags(rt->rta_rtflags | RTF_UP, buffer); /* Output path weight as non-visual property */ xo_emit("{e:weight/%u}", rt->rtax_weight); + if (is_mpath) + xo_emit("{e:nhg-kidx/%u}", rt->rta_knh_id); + else + xo_emit("{e:nhop-kidx/%u}", rt->rta_knh_id); + if (rt->rta_nh_id != 0) { + if (is_mpath) + xo_emit("{e:nhg-uidx/%u}", rt->rta_nh_id); + else + xo_emit("{e:nhop-uidx/%u}", rt->rta_nh_id); + } memset(prettyname, 0, sizeof(prettyname)); if (rt->rta_oif < ifmap_size) { @@ -350,7 +361,7 @@ p_path(struct nl_parsed_route *rt) if (Wflag) { /* XXX: use=0? */ - xo_emit("{t:nhop/%*lu} ", wid.mtu, rt->rta_knh_id); + xo_emit("{t:nhop/%*lu} ", wid.mtu, is_mpath ? 0 : rt->rta_knh_id); if (rt->rtax_mtu != 0) xo_emit("{t:mtu/%*lu} ", wid.mtu, rt->rtax_mtu); @@ -378,6 +389,8 @@ p_rtentry_netlink(struct snl_state *ss, const char *name, struct nlmsghdr *hdr) struct nl_parsed_route rt = {}; if (!snl_parse_nlmsg(ss, hdr, &rtm_parser, &rt)) return; + if (rt.rtax_weight == 0) + rt.rtax_weight = rt_default_weight; if (rt.rta_multipath != NULL) { uint32_t orig_rtflags = rt.rta_rtflags; @@ -389,11 +402,10 @@ p_rtentry_netlink(struct snl_state *ss, const char *name, struct nlmsghdr *hdr) rt.rta_oif = nhop->ifindex; rt.rtax_weight = nhop->rtnh_weight; rt.rta_rtflags = nhop->rta_rtflags ? nhop->rta_rtflags : orig_rtflags; - rt.rta_knh_id = nhop->rta_knh_id; rt.rtax_mtu = nhop->rtax_mtu ? nhop->rtax_mtu : orig_mtu; xo_open_instance(name); - p_path(&rt); + p_path(&rt, true); xo_emit("\n"); xo_close_instance(name); } @@ -409,7 +421,7 @@ p_rtentry_netlink(struct snl_state *ss, const char *name, struct nlmsghdr *hdr) rt.rta_gw = (struct sockaddr *)&sdl_gw; xo_open_instance(name); - p_path(&rt); + p_path(&rt, false); xo_emit("\n"); xo_close_instance(name); } From nobody Sun Jan 29 19:37:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4hR60HYxz3btX1; Sun, 29 Jan 2023 19:37:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P4hR56y99z3GDP; Sun, 29 Jan 2023 19:37:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675021042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DM3njFhdGtHbTG7HIDyp/ZllezjDy0Zsp0ivDFL2ZMY=; b=S4VmaG0lei+TsV5+P+Jw+DAhJ54xu/0xC/frjyV0g8UNTLt/oV9iZY2rVGDH+b8E0hJXfh 4q9LawCYzd8+kg+vbUD2px9237AYDF0qApzJUTDJi5uU4EkmStfX1YxWtR9aPpo2hPV3Af VLsXoN+ZGtCL3iBp/hdbfvHSaQEZdg1xZ38XTz7XCr+rYBbWT7bRvOGxOiO0tICLBTQ7pm M+WyaldOK9FOB6FU89QNOqZbBRwmxlEWN2/NyT/9VHbbXStkWY3w2Hv+YkrljJbOn+MHJX LZJ4nPqgK5dNkuAa62tvfo68B8O/TD3IQ6o8g7eAtqiNi8bfVcyL0UoyTbHkvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675021042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DM3njFhdGtHbTG7HIDyp/ZllezjDy0Zsp0ivDFL2ZMY=; b=Mb5qCGKCJh80Zr+T6VyZHuiqJSSWgypU/DGuqvUXzNEsUQLV0MYgVBxOzs1HF/2hfJ25BF 0S8o13u5nF29jYEibqXFnK1rFKeOoiNqzH19uucslSaM+yyVg46by9TUEJeC8bZhKgKI/c slgoezfbBX0fOCX8HSw/nMmJOq7EXziLX62qM35XYyfC9KmUvzdrI6Xa4fhzu0EmRV7F28 KZ4Lw4tidnq1t34fJMFOlDvQU+DaIshJCJ/dT0gD/PeQhF+Cc4RGqg/Rbx52fOsAm7wkJP /d0NeI3hDRGGJk7iPxA0jsUyb4FKEMA2GMdZBjQX9y2rmlxzxbKhAq4VQm4T5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675021042; a=rsa-sha256; cv=none; b=LuCea3rt+XTaddx2lUXfQg6XAH9JClVojYPtYVmIfNjsgzUWMYAuw/OG1f4Wv3XlrIwJ0g xrAOKWDsP/Jpi/ma7WKuE9LsqMNdoA4zAVWobe43IGxBbFffp9uO55brTNkP1kjgChOF0T HnUtfLd6YXpk25Yg5a4EEXhc+EjmFq3j42QvVEvAzX2vVAyZMFdmC8yEm9fZyIZfGjm7/l Q6xefnG1c1Kd2xOboM7b3WA13RgWsjFGOcecB2R6tAoVv09B0AOL1V1O2O/F4NogYuULeU N2p7qT8fW1fJLXQDczuJqi2gCBMBjvaa4M9m9NrQ/rMPcUseTdb8/yS4lI+JUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4hR561CrzgBN; Sun, 29 Jan 2023 19:37:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TJbL8N050180; Sun, 29 Jan 2023 19:37:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TJbLsg050179; Sun, 29 Jan 2023 19:37:21 GMT (envelope-from git) Date: Sun, 29 Jan 2023 19:37:21 GMT Message-Id: <202301291937.30TJbLsg050179@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 7ca55fcc541b - main - Only call SMCCC init on arm64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7ca55fcc541b375c83eaf75f0658b79f250c82fd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=7ca55fcc541b375c83eaf75f0658b79f250c82fd commit 7ca55fcc541b375c83eaf75f0658b79f250c82fd Author: Andrew Turner AuthorDate: 2023-01-29 19:32:11 +0000 Commit: Andrew Turner CommitDate: 2023-01-29 19:33:41 +0000 Only call SMCCC init on arm64 We don't build the smccc code on arm so don't call into it there. --- sys/dev/psci/psci.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/psci/psci.c b/sys/dev/psci/psci.c index 41a48e36dec9..65ce85572cc1 100644 --- a/sys/dev/psci/psci.c +++ b/sys/dev/psci/psci.c @@ -344,7 +344,9 @@ psci_attach(device_t dev, psci_initfn_t psci_init, int default_version) if (psci_init(dev, default_version)) return (ENXIO); +#ifdef __aarch64__ smccc_init(); +#endif psci_softc = sc; From nobody Sun Jan 29 22:38:54 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4mSZ3m2vz3cKTS; Sun, 29 Jan 2023 22: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 4P4mSZ3GyCz3sVq; Sun, 29 Jan 2023 22:38:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675031934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KVWaCzqstitW7PfBOTb3w3rOUoGtvJomna6scoxFPmk=; b=Tf/lIL3w6kr+4Npdde1TI2KKZhT5SCkOBhUajuSqwge5PP6mPGooa8PAPtyGGAf8/EgiXy D/S4+roQVP3BUtvVuYyU0H2Sogp6trHs6J/Or+jNnMujNQM4NW71zn8SpVq1OKsgS/ljqc Mjjg9JiyAcHzTuLb8Cdw7d9EcQ3Q8RmY+Ukp8ry4hN1/ikEZ9R1DG0rmepBFleIGtDgJNl na/lPxbHq/vvUS1uNoDjN8JEgNrOB8TZ0e8kqK4DkeU9EY4Sdbi+JCs7e+r/4cuUUKSgag DsgyiM+Alz+zcqCDXtVtt87CFLM9oW5KYbnap6/ctKW160IO9ZCrMQbKZQfVPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675031934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KVWaCzqstitW7PfBOTb3w3rOUoGtvJomna6scoxFPmk=; b=A1jpvQynXS9oq6w7KyXJy68RVzw7fQzsGc0HDFKQdKkEuuqCOs1kLMO14zfiMU1xLI6A+z JLtvHqUKNPVgJn+nQGNBrqSimeiwJP+IUsiT2IEjtvb3hQ/1r9V4t9VmUAY57eumgcCY+/ P4kvt/OcZ5JWuLchSh4JmEFcGgKkTnPEZmx+jIdcHZfB8jZL0bY0T5fTzG7ZtKPNJp23QQ eJ0jSFVLY/WxBI3fOlUCOrw1cOEbApb8yFUXMmif5uFaCrLUfGhp9wUZRZCgFWQFbW4tXh sYF3Oh97CeJwofUlnyJx7PMmk3jvJy0tnM58y6UbBBop+KTfWqRlK9iorzOVzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675031934; a=rsa-sha256; cv=none; b=qljfsSwUxFruBFSi06ppN98bWdlgvSCCEayppWy5qq6zvFRsBwnxntW0CWIq//nTZA6FHu ua8QXcVTXIGcp6F4QXOm9KEOMoPGwHrl/ce0CR59pDBPJ0eRbxi9jjz2q9rGFm/wWWhh8/ Z3u+G/4pt60te0XGhp3wOS5zKnB9QFVUOadzXq6xxp+kpm4EG2zcPftwRDFrwIDItZdMns egzxij8MbuYWdgCMkaFhQ80LD/mHcaew6P2Vm9tcp3HEZ1oli/Z/vXnEPEhtghVNeDy4Td MIc1YS1+iZP1giKj6v1IYdrg77eYWdSqEyPEf2gbJm971nFw/QRfedElaJvPtg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4mSZ2Ld3zlHn; Sun, 29 Jan 2023 22:38:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TMcsUt007490; Sun, 29 Jan 2023 22:38:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TMcsBO007489; Sun, 29 Jan 2023 22:38:54 GMT (envelope-from git) Date: Sun, 29 Jan 2023 22:38:54 GMT Message-Id: <202301292238.30TMcsBO007489@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 37399d5bcf67 - main - usr.bin/stat: Fix error message formatting. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 37399d5bcf67c6d68e30a34ce2df30e0964d46d9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=37399d5bcf67c6d68e30a34ce2df30e0964d46d9 commit 37399d5bcf67c6d68e30a34ce2df30e0964d46d9 Author: Jamie Landeg-Jones AuthorDate: 2023-01-29 22:37:25 +0000 Commit: Xin LI CommitDate: 2023-01-29 22:37:25 +0000 usr.bin/stat: Fix error message formatting. PR: bin/261657 MFC after: 3 days --- usr.bin/stat/stat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/stat/stat.c b/usr.bin/stat/stat.c index dca7363f4fcc..0033ff2258a6 100644 --- a/usr.bin/stat/stat.c +++ b/usr.bin/stat/stat.c @@ -373,7 +373,7 @@ main(int argc, char *argv[]) errs = 1; linkfail = 1; if (!quiet) - warn("%s: stat", file); + warn("%s", file); } else output(&st, file, statfmt, fn, nonl); From nobody Sun Jan 29 23:03:54 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4n1l2v7Tz3cTjp; Sun, 29 Jan 2023 23:04:11 +0000 (UTC) (envelope-from dim@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 4P4n1l2LTdz3wNt; Sun, 29 Jan 2023 23:04:11 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675033451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=WiFf6eHuLlvPnIGf7eqF2TllseHs7qbndJY+Q29bRTY=; b=b5ASX2bZGDFeF0+a2c8ttcYzcftCKKGsMToD86QftbC6GvSgSfnZawuFagLs02xqlcUz2F 0b1Ze3zSb3OP6gEiG+wsgwaiC7AYg7I4s/gSy1H+RxTHX4bMH/EgpXkbFlQcQSjOTaZ+S+ C14h+uShDoX+EfFJKmv/lWwaILPaGhIPkbmbaREcryb9NZzczy33Vk+Dpg1CQsCAj8fH8u JNtBzG4m+H5isEo9VZVy/RiXFrSlcOBeEy5vUp9zJgpG/TJXIdIraDmJMYefL5dLsnhT7A N3/ekt3SZNBf+FkceETPw/m/4XGyRX61dM0nv0GblkmHz+Igk4JBmUD7eiPRbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675033451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=WiFf6eHuLlvPnIGf7eqF2TllseHs7qbndJY+Q29bRTY=; b=hRlr4x7CjVWD///62ukITQcjmCu5KZbTRCH7lfGWpL0KdUiWw2Na7g2zFwRNvEl+1lkhgg iOhggC2UPEUFdvN/H3njkR+GZhvVA2IbY3Pb73SWAekqlwmahhiC9ZS85kB6lrlMZ9dcaJ wsROIP3OR8GF1rG9kqXWSm2oNWks5+M6uYF3OlcXnPvyoOJQJKCGzLJ0NtF20Dm1qeVvYb EhCJxl3mUzSeTDcT6fImqLiz/D2A0OEZ7YdYmJwf3AyATIIBJGSRqgOK1XGRhxrA5MoYRU UZgPPO5zcXVWgDI3AHVqiHpEkrmS0wdHFL9capmpcOQkmKS7AWESKPDWkP61Gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675033451; a=rsa-sha256; cv=none; b=Uuylzj3IsUyQmZbc0BWOfpwW0jq7o4dJnQCoEa0Ra92oqzIN0hsqdiHiE91seVH66oEa4N KNGw7kAwSExkoaoBHtcgI1XfBBs1aFzm7hjm8tVQjN/uVXZCSDmGLBNMW+QPs8P+SWFFis jQNCUTPo4v5tIz2A1mb/djaeTh0hO7xlC3p+2uNQRP+sjsAOGdrUr5iFRO6GG55wsdA20i EWQXOd+qwfrMc+ccoE8kQurmCH6t8EviD5ntC2GgM/CmcuEeUdkNlaDxy0fXdGWQ4YWL1J BX7m3RoovYaM1EwaAv8MBiV3GsgcBoaYf3ON90pFJgm4Wnx8e5KXTNXoZOnDTA== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "tensor.andric.com", Issuer "R3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P4n1l0g8Nz18CS; Sun, 29 Jan 2023 23:04:11 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (longrow.home.andric.com [192.168.0.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id D7A1C323B3; Mon, 30 Jan 2023 00:04:09 +0100 (CET) Content-Type: multipart/signed; boundary="Apple-Mail=_35FFDC62-5D88-4464-A748-C8BC084FA298"; protocol="application/pgp-signature"; micalg=pgp-sha1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\)) Subject: Re: git: fdd4c35832de - main - usr.bin/gh-bc: update Makefiles for version 6.2.2 From: Dimitry Andric In-Reply-To: <202301282250.30SMon4s075057@gitrepo.freebsd.org> Date: Mon, 30 Jan 2023 00:03:54 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Message-Id: <39329938-5118-440B-B567-77AB64732BD1@FreeBSD.org> References: <202301282250.30SMon4s075057@gitrepo.freebsd.org> To: =?utf-8?Q?Stefan_E=C3=9Fer?= X-Mailer: Apple Mail (2.3731.400.51.1.1) X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_35FFDC62-5D88-4464-A748-C8BC084FA298 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On 28 Jan 2023, at 23:50, Stefan E=C3=9Fer wrote: >=20 > The branch main has been updated by se: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dfdd4c35832deb1d064f64c2c00e3c8c9= 58be9a51 >=20 > commit fdd4c35832deb1d064f64c2c00e3c8c958be9a51 > Author: Stefan E=C3=9Fer > AuthorDate: 2023-01-28 22:48:34 +0000 > Commit: Stefan E=C3=9Fer > CommitDate: 2023-01-28 22:48:34 +0000 >=20 > usr.bin/gh-bc: update Makefiles for version 6.2.2 ... > -CFLAGS+=3D -DMAINEXEC=3D${PROGNAME} > -CFLAGS+=3D -DNLSPATH=3D/usr/share/nls/%L/%N.cat > -CFLAGS+=3D -DBUILD_TYPE=3DA > +CFLAGS=3D-g -O0 This assignment instead of using "+=3D" appears to have broken the riscv64sf build for me, since it passes "-march=3Drv64imac -mabi=3Dlp64" = via the global CFLAGS to target the soft-float ABI. That said, is -g -O0 maybe a debugging aid that you left in by accident? Is there any reason not to compile bc with the regular, user-specified CFLAGS? In that case, the line might just be deleted. -Dimitry --Apple-Mail=_35FFDC62-5D88-4464-A748-C8BC084FA298 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCY9b7WgAKCRCwXqMKLiCW o28qAJ9Y4hmwgTLfisTjHhq6oyGRw5DRTwCgsa4pgdwPmILTMOa3/BZqErFw2aM= =hGSz -----END PGP SIGNATURE----- --Apple-Mail=_35FFDC62-5D88-4464-A748-C8BC084FA298-- From nobody Sun Jan 29 23:05:41 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4n3T6r42z3cTdx; Sun, 29 Jan 2023 23:05: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 4P4n3T5K14z3x4B; Sun, 29 Jan 2023 23:05:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675033541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZZNRkc8btgWFarS4atvvBRBgXwh+EBHwyT26WArvkOs=; b=AflM++mVewFhUlgF3b962k9RNntYZH3iuqFEp9V+kmgiWqp9OZbuBx/GX0CrpVs7R2htrn w4qoE4iuo27OAe4HfchUsTbDfVuand3SwAvU2di5LoRvhK6mwi4a2WktlH+vB9CsTknG3C T81AYi2fhZHekxNX8/3TkCEphPaVWoZ3ojQAnVEAHWCpGPDsl4/uUJXnJk9u8BbhdLwYRL /9m3vPACRNRwFJbX7/nJSaym5rmAdPyFc9S563cOafXUrxRAFXiW/tNnxL1TGyePI4oh0g IvnQ1wtvEIk0eP/48aMfLhA4X6cvgkPbi56nIt68WP+Tsg+a/3cobH/oaGG5Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675033541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZZNRkc8btgWFarS4atvvBRBgXwh+EBHwyT26WArvkOs=; b=UbwOXZ/mFMOHEcAswo5gM+iz2UBhxXOQRF7/Yl5jHMw2aysnVaLbWl31hbeqrj3dABuFKl yZr4uz97xu2x7DgV4Uzsor1ghRmwG0KrlxCm2sNQaxaewAkZSMDNNwioD3WCs29mrU/CuW 1j0b+s/Z9cuA1cynknEjFR9L/8/r34W4VUdko0SyUCzImYYrukqPIEDKC2xY26I1jKIlTp +ghNW8CXuDoT+Mpsyzk9CTC5afVdX1n9FoczrExaa8+Jdzhw+lQiJS5HvVrtfm5e3TdmZV XwSdJEggV+d4/oL1IzJZsnwbwU45kLE/vnPpGt+VFKy7VV9ZImJRdeei8n+nHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675033541; a=rsa-sha256; cv=none; b=qgFqPsQY+QQyK03uFBvbquwGpSxILKeEYDLDeEW7ELuBS8B46T21rdlWysgL861bB6hI8z iP8GQN/NlPYIKFJTkFJ0RBxG3KUJ9AtBRTij/YjNY3RuMXI0k/P7eAljxmhtijoJYiQJry +W0NUY3KeA/W/O7taTUxkptYZsFB/RPC0WEce92P2j1J/wWtKnzzWQIDYy4juI02JfCwWH 5+LMI87UtUSjAJqsyAErtg2GQzfAb4yYaFyRaT/RvmJ5AW6pQebfnM79oSQP8uA1RoY95i yz9Ju39Obi3BWISThYwkudq6mUPe137STAqMk981dTYtECGZy+i7By9WPNKG+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 4P4n3T4R4hzmXb; Sun, 29 Jan 2023 23:05:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TN5fGB050128; Sun, 29 Jan 2023 23:05:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TN5f4x050127; Sun, 29 Jan 2023 23:05:41 GMT (envelope-from git) Date: Sun, 29 Jan 2023 23:05:41 GMT Message-Id: <202301292305.30TN5f4x050127@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: ea34aa4780e5 - main - rescue: Add fetch(1) to the rescue tool. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea34aa4780e5a581732520ea579342af94684882 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=ea34aa4780e5a581732520ea579342af94684882 commit ea34aa4780e5a581732520ea579342af94684882 Author: John Grafton AuthorDate: 2023-01-29 23:05:15 +0000 Commit: Xin LI CommitDate: 2023-01-29 23:05:15 +0000 rescue: Add fetch(1) to the rescue tool. After a failed upgrade, having fetch(1) on a system that is physically unnreachable would be very useful to download files required to get the OS back up and functional. On my system this adds 589,824 bytes (3.8%) to the binary size. PR: 266224 Reported by: Dan Mahoney MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D38193 --- rescue/rescue/Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rescue/rescue/Makefile b/rescue/rescue/Makefile index f6ff701f4c54..6093cf6609d1 100644 --- a/rescue/rescue/Makefile +++ b/rescue/rescue/Makefile @@ -215,10 +215,13 @@ CRUNCH_LIBS+= ${LDADD_zstd} CRUNCH_PROGS_usr.bin+= tar CRUNCH_LIBS+= -larchive .if ${MK_OPENSSL} != "no" -CRUNCH_LIBS+= -lcrypto +CRUNCH_LIBS+= -lcrypto -lssl .endif CRUNCH_LIBS+= -lmd +CRUNCH_PROGS_usr.bin+= fetch +CRUNCH_LIBS+= -lfetch + .if ${MK_NETCAT} != "no" CRUNCH_PROGS_usr.bin+= nc .endif From nobody Sun Jan 29 23:14:54 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4nG6746Vz3bGyj; Sun, 29 Jan 2023 23:14: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 4P4nG66Ts5z40Bn; Sun, 29 Jan 2023 23:14:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675034094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cG6lfhf0WW+pFsGkMHdQAyEsg8Y7lxCCNCcpTc0YTSM=; b=JdYPlgJJmJAho7b6lfMkK0hptZBIgXcAU4EiAL392/vEZ/bX5V5s/DbGOp5o/tOSIQdZtU 7wd4o7sfP8dqrWAeKFhPFNeZLinkezmnaJZ6xIT8mnYHTXQ/C0VLqxFSEZ2HJEt6tuUctm JDZFW1c0buh6jtUT4RrxUc9GW21rPGGKMj8C+NzgWM0HtEYfLunEnxNnndAvsnU0SMi+Ya ikpWpDW7sSXQaysDEQK0dHRzDtkVb0hrxnlEX1oalPRIjNJs8Yz0joXaiS/uYPdLoWa6pM jssRlwroAB9uIefbnwII2C+BxZCNq1BaN5uxtrAUoQKNnH7i4IU8zL/pp7ifNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675034094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cG6lfhf0WW+pFsGkMHdQAyEsg8Y7lxCCNCcpTc0YTSM=; b=rn+slpYd2BkAAIZLj5SbV11hUUq1noRicNlnEJKVBKCVKvwmBxTtiKJmdYQ+RqNLjFiTks DpCNSnlDD/vZ4sv4jY/36vbl7ga6NMi0b2Ovsz8sWUHkIfbWFyKkDjYMhKOe6bhpQ+QOmJ gTzBgFcTnoyZJ/0PgUueep36SND/WwCe1EzD8RCVHTEjv8XSvcL5J8DL9fSPkfclwkOVYw jx9HnAqUnYKahCqnmnzaZkkupbE/RdDDrk2Wn0T7lBzchYd972blbeBEdLgL4Esyx5q8r+ 4gplN6zsWfLJ+Uc4JmZ3OMBbZURdikxsU+M9j9geG47ee7L/6jbp2YVb1DJ3Hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675034094; a=rsa-sha256; cv=none; b=sm7/W2xd8RS49/3Ddv2Pe7GBqRXjaaEhZ9docmijRae4/oSctoldh8JAuA0NMrFb7WPB1I cePJIreaxjglleU4ukSwCHzU7HCi+487LFAkzrbYy66Qg48xS4RJgS9ZE1DPseCAkC248H hyScXSvP/rXUcgYPST1y8Dktz2oyKqCPAcj4b77JdEs2CfUduoFRcd25nvYLZy/QuLFBtu eV2OkgCbvMVZ8I0uBnVkWQil45FurfvUfi/ijM93l0Aoa93xcVt7z1H6/lLXNMxL2GmoC2 dGod8dUD2TsNwHmRDN2kzOkK0kUttVskKOOjbZcnATjkKL5S+cYmkhRh2T4T9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4nG65WmHzlwj; Sun, 29 Jan 2023 23:14:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TNEs0d064283; Sun, 29 Jan 2023 23:14:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TNEsNY064282; Sun, 29 Jan 2023 23:14:54 GMT (envelope-from git) Date: Sun, 29 Jan 2023 23:14:54 GMT Message-Id: <202301292314.30TNEsNY064282@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kirk McKusick Subject: git: ad055467bec3 - main - Fix for getmntpoint(3) when checking for NFS mount points. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ad055467bec35885dc3eff2f4dd765f5b2f53259 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=ad055467bec35885dc3eff2f4dd765f5b2f53259 commit ad055467bec35885dc3eff2f4dd765f5b2f53259 Author: Kirk McKusick AuthorDate: 2023-01-29 23:12:48 +0000 Commit: Kirk McKusick CommitDate: 2023-01-29 23:14:43 +0000 Fix for getmntpoint(3) when checking for NFS mount points. Only attempt to add /dev/ to f_mntfromname names that result in a valid character device. MFC after: 1 week Reported by: Bjoern A. Zeeb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37907 --- sbin/mount/getmntopts.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sbin/mount/getmntopts.c b/sbin/mount/getmntopts.c index 7702da903749..3a5cac0d9bac 100644 --- a/sbin/mount/getmntopts.c +++ b/sbin/mount/getmntopts.c @@ -177,6 +177,11 @@ getmntpoint(const char *name) mntsize = getmntinfo(&mntbuf, MNT_NOWAIT); for (i = 0; i < mntsize; i++) { statfsp = &mntbuf[i]; + if (isdev == 0) { + if (strcmp(name, statfsp->f_mntonname)) + continue; + return (statfsp); + } ddevname = statfsp->f_mntfromname; if (*ddevname != '/') { if ((len = strlen(_PATH_DEV) + strlen(ddevname) + 1) > @@ -185,12 +190,8 @@ getmntpoint(const char *name) continue; strncpy(device, _PATH_DEV, len); strncat(device, ddevname, len); - strncpy(statfsp->f_mntfromname, device, len); - } - if (isdev == 0) { - if (strcmp(name, statfsp->f_mntonname)) - continue; - return (statfsp); + if (stat(device, &mntdevstat) == 0) + strncpy(statfsp->f_mntfromname, device, len); } if (stat(ddevname, &mntdevstat) == 0 && mntdevstat.st_rdev == devstat.st_rdev) From nobody Sun Jan 29 23:21:31 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4nPl4jQLz3bJ16; Sun, 29 Jan 2023 23:21:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P4nPl4Fmsz41XN; Sun, 29 Jan 2023 23:21:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675034491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DRR99qgKQ6NnJEqPQXf50jfCJS1lWdp0yrzrSCTiD18=; b=A82jfzvmA/28RAH3KUHn7Tbf2HYXVh8tkt0vtZviMCd4YoTigLm6MqphVRn0eBtyAgVDIM 9w7TY8nCF1EcsNMeifecjA11/aYawKQr8+sg9hZE9IRS5A4VJ4s7v58+IG2tveV6sY1oXw fHuaMcfTWPsT2jyiqA54D98jeqR4Aud6LsXGa8h/ULJvatQhMarRKsK4KY1jsZTM8y6Pox 2dFhaDW50dscZR2sIKWbV/O1Lf4MvgcrSLytqIoFnLdVwSExlGm79wmzBpXruRIV8bKZZ9 iOSU+Bt8mEIDrxUCFRcIqH4XoF8QEUFp18cXb0V6VdC04z88oSvNGXsYaokjgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675034491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DRR99qgKQ6NnJEqPQXf50jfCJS1lWdp0yrzrSCTiD18=; b=X1AwYeJtu1jvictA9XTJ4b4JSDyyiKkAKMVLC5vc6MT4anMP/kW8IRDyf7bXgZDZFEX0bM PwQMLj8z1b/qHObSmfeNc2T03944W3JlFFrk8+zBLkRtIb+mRvqNzMMC4x2L0wwPDZD3GH 5sFJs6UDTZtX23ufA+M0uC/9CbT0G1DpRQZh/h2HEhWlDb6SF5Qb/2+EwcqsEoE4+6PI2T D1zZhXhswARWyqc/GV7azBjIuHoCf3a4yu5agoFynLAMdsyjzMprQGhp/Vls1ijAmvmt2/ druVnWWB/q++VfTP/+YAnMt2jpd4yipEu6PQt5sJvdsiriijitgmRkqoGpRuJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675034491; a=rsa-sha256; cv=none; b=dEOJHLA8tgpPB/IfxFs1kIcfnepdqK+SQISDSz2HeuDn2an/lkcCNkcJJfiJQWuNHamfoU 10Oxx5S71NJPQlPrJOMHgY/bDFL966Y91Wy9zaUkBKxgRGSH8UaFxM2SBXhS2ijhAXziBm 1E6ckfR+GYYn8SIylso8/k5+jhBdKwiHQftI8n6inzr4VfupbWGBhaJEsXQVG6wbCiEKxD bjKJQWTpJQk/su33V3b8hnI2f146kmirVqvE0rXi3vv7l05+Y3LSW4IjZDZA0T4sTJmR4i A1LgHLKhGqOfP8kJPhqXzMqQy1Mr1LFWSIeAX175dPXJ0+qIgHBUHplBVEpGxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4nPl3K2xzmVv; Sun, 29 Jan 2023 23:21:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TNLVAk074376; Sun, 29 Jan 2023 23:21:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TNLV6D074375; Sun, 29 Jan 2023 23:21:31 GMT (envelope-from git) Date: Sun, 29 Jan 2023 23:21:31 GMT Message-Id: <202301292321.30TNLV6D074375@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 195ec47b478a - main - sbin/ping6: Remove remains of ping6. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 195ec47b478a66fd935d59b2d189705f06f601cf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=195ec47b478a66fd935d59b2d189705f06f601cf commit 195ec47b478a66fd935d59b2d189705f06f601cf Author: Xin LI AuthorDate: 2023-01-29 23:21:25 +0000 Commit: Xin LI CommitDate: 2023-01-29 23:21:25 +0000 sbin/ping6: Remove remains of ping6. MFC after: 2 weeks --- sbin/ping6/Makefile.depend.options | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sbin/ping6/Makefile.depend.options b/sbin/ping6/Makefile.depend.options deleted file mode 100644 index a1c8f6278e92..000000000000 --- a/sbin/ping6/Makefile.depend.options +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ -# This file is not autogenerated - take care! - -DIRDEPS_OPTIONS= CASPER - -DIRDEPS.CASPER.yes= lib/libcasper/services/cap_dns - -.include From nobody Sun Jan 29 23:53:09 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4p6F2tFlz3bMl1; Sun, 29 Jan 2023 23:53: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 4P4p6F2PzCz43Rf; Sun, 29 Jan 2023 23:53:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675036389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lP92aD4xxd78u/bdsaiHlL0msMLGtWc0neOTZiSurb0=; b=PajS3pb2//bTE3hmToTGcXfdO4f3gGLUA4xdcrPSMAEaVelXAVFO6NHgoVOsVz1yqSCWrR QHfLVxa9IilC9JaP7AJcRZPrravo9VdAvwCVSmFf7X9ZJUI/MqkBH9IxpP7FUlDVkioajv a6gxDqU3dRrHMA3lk7hURZHnrkADzcg1S2/kJiheul9PLkWrDbt2pVZY04JPsTyYZ18ZEN CQ6jn1g6944BgajRQgO39iHuDKudkzDQ6tIsTRGD94NxSyrcD5GSVXAoqCjQOSSiFNEdky dNawTZ5RFL72q4DJc5Z6KoeVn7GGwL495ZWcN+PXe3Se4YrNSbdDEdOid20t5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675036389; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lP92aD4xxd78u/bdsaiHlL0msMLGtWc0neOTZiSurb0=; b=ELkkQtc1PrFUPN8sJQ/xrLIV9ZFuU7cJWymw7ndkHuifKuACPj0P4i0vycRiatNx2PPy3X 1Au93nA3zaBM3zlJS52gGcKgn/mnPK/Ph+tOULbFH+d/sjZJx/Cfl4dtYw/ONdf1qAf552 MKyDPVxkasfK91bzxKEhiDj1vd03ByKJnHh1RHX/tHcM9F84WZrxb0P/EaokcCy+Jybqxy 1nSFviPhDNqtaP8C0SP1BSvrD6DaOIcH1lUnW85E27PitjWmqS60JNamLrjBjwYTOz6CqS VA8vXB1LlNC1Shq8KpbhHvcKMmQidK8YieXHT6FCddnSY05Qnos1uTzoSvyGqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675036389; a=rsa-sha256; cv=none; b=EDGa0xET7bpb6XssXJoY8SB495NXH++OXboOXqKbRMtQiuGbu+9wUbR1zBaYO8BVD0zOHY 2wobWJCP6cM4kWmZlZq+L74aBUw/Tu/sics/F8PNntESW3DnX0A2GsRzM2QI/ji4Fu1JMO dhtO0qs/siTsE6DaktPQzjYgWI+jCEvTCcoMbK7a5uXW+eV8DkTHRO2CxUpuxOh+pSA+z6 GyCY/Quj/1Bol6Sj6b3a96/6vRwRP6P2CaFf1vJtiP2rVcVhwDrua1Ma1WzGRA4jV42SGE MgxbUlax0Wvne6L85NX9ESFsXPkvOWJnQ6XykLAwUr9D3qtZ3hxitnrKZHoEpg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4p6F1TGSznQs; Sun, 29 Jan 2023 23:53:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TNr9fR020430; Sun, 29 Jan 2023 23:53:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TNr9i5020429; Sun, 29 Jan 2023 23:53:09 GMT (envelope-from git) Date: Sun, 29 Jan 2023 23:53:09 GMT Message-Id: <202301292353.30TNr9i5020429@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 35921bba736a - main - tools/build/make.py: Drop problematic Linux hack for bmake bootstrap List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 35921bba736a017061c1e3d7b6f3e9c5a4726cda Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=35921bba736a017061c1e3d7b6f3e9c5a4726cda commit 35921bba736a017061c1e3d7b6f3e9c5a4726cda Author: Jessica Clarke AuthorDate: 2023-01-29 23:07:25 +0000 Commit: Jessica Clarke CommitDate: 2023-01-29 23:53:04 +0000 tools/build/make.py: Drop problematic Linux hack for bmake bootstrap Since e2eeea75eb8b ("Merge bmake-20201117") missing/sys/cdefs.h has been present in bmake, and _GNU_SOURCE seems to have been defined by config.h for much longer than that, possibly for the entire time OS cross-build support has been in-tree, so these are obsolete. Moreover, since 79e02149fcb4 ("Fix dtrace tools bootstrap on non-FreeBSD after OpenZFS import"), HAVE_STRLCAT and HAVE_STRLCPY have been defined by our cross-build headers in order to placate DTrace tools (which is not the right way to solve that problem, but motivates fixing this one). Commit 4fde40d9b540 ("Merge/update to bmake-20230126") changed the strlcpy.c in bmake from including config.h directly to including make.h, which means it includes string.h and thus sees these bogus definitions, causing it to not define the strlcpy compat function on Linux even though it needs to and thus failing to link. Thus, fix this whole mess by removing the hack we no longer need. --- tools/build/make.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tools/build/make.py b/tools/build/make.py index cede0c99e316..4260a9e88969 100755 --- a/tools/build/make.py +++ b/tools/build/make.py @@ -71,12 +71,6 @@ def bootstrap_bmake(source_root, objdir_prefix): global new_env_vars env.update(new_env_vars) - if sys.platform.startswith("linux"): - # Work around the deleted file bmake/missing/sys/cdefs.h - # TODO: bmake should keep the compat sys/cdefs.h - env["CFLAGS"] = "-I{src}/tools/build/cross-build/include/common " \ - "-I{src}/tools/build/cross-build/include/linux " \ - "-D_GNU_SOURCE=1".format(src=source_root) configure_args = [ "--with-default-sys-path=" + str(bmake_install_dir / "share/mk"), "--with-machine=amd64", # TODO? "--with-machine-arch=amd64", From nobody Sun Jan 29 23:53:10 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4p6G4Tftz3bMrC; Sun, 29 Jan 2023 23:53: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 4P4p6G401lz43k4; Sun, 29 Jan 2023 23:53:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675036390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xm9o4F6sknGuuJmSQw3LVCDhsOTrQvRYn6zho5h5N1s=; b=db1vuN7GNerXcfoAgzAbVWKGXeoZN8UKluxlRp/sgJ5t+SFkG9jyzXsnxyK09CX0RkjKUH 0cAxtNKtsBPyqIbORyHaUuQ9LiLk6ZuD7DHIy4tZ4utIvBmCIN8SZr8+DhKrbG2umdmQ4I Kk/9NOkOwJqx0S113OmQL0dFDIHVjNtBilB96yoBO5dff5DRglds6YdTuzD4Zg9V1Vn+bl P3MRmSOupkzuHSu6RmFVBYrXwqAtIpUAo220YRY2ekoK31Csi8rUi930EdhkWrA0YCym0F Q+BEJjQqgFZJijIKAYnBYIzrgp5xVJeRDGEOCxdRjXG/nhJZxdsLW3hukxAfcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675036390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xm9o4F6sknGuuJmSQw3LVCDhsOTrQvRYn6zho5h5N1s=; b=pmH1ahYv2pV4HVpZGurbqNF9v675mcb4C8KyX9ZQxCH2ZgMbR7tpPTXbwerglDeFhJh68n MUKh6N6LT1MCA70W28vnL2TMH6zu12yug/RdslfujjI0Q46ykvvdvSNTnFBHpPQ6OnizU2 JM1YoeRoMS5cQ4jwqV2TjCgzQOyEPljqhIHDyO8t1nZ3OlzWxvQ2Vl40Iwcoa+9r0Sk7hp UjoraZoEF0hJ2p1knkqzDp6nr5/HAazD5clSV40XVyFy3YHpBG8X53zB54i/oJgr0rGusY JuhxcfLCQWmSAOG4shNIS9T/vICxL7/K/U3NYfaur1snIMpbFsppp8JlPwVhYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675036390; a=rsa-sha256; cv=none; b=db6ualliv4epCMibJOh97cdUrlwegordg78DDPGhdVSt9W+zhcB/uT9GdYLfXABKpdwpEe i1zEV27pUGgAhjKo8GAk9mF/gh7kMXa60ZYRspp4iRwd8NPDwn19GjkVgk7DttMVwH10B2 rf7Vb1WvI/Z39MjwHWRFFVWWgTI0E6tO08K6zFxlVZyw+3+CCbiFYVauezpuWsM6f+mUGD YFI7cia7o5zjE11vk3PhDgZFV1ObIdB1YSkKTmqElNgfwH5BXjRze49/X/4bldEfLeLOLk YFOpULFOoXAmwqmObNvbbGkOep/wqWHr/VoKn8YKnkMTHJKmkdxb/7YA4eRdvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4p6G2hD3znQt; Sun, 29 Jan 2023 23:53:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TNrAfG020454; Sun, 29 Jan 2023 23:53:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TNrA5l020453; Sun, 29 Jan 2023 23:53:10 GMT (envelope-from git) Date: Sun, 29 Jan 2023 23:53:10 GMT Message-Id: <202301292353.30TNrA5l020453@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: b78ae0367fff - main - Revert "tools/build: Unbreak bmake bootstrap on Linux" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b78ae0367fffcd127673cc61b4c6884479ccd86d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=b78ae0367fffcd127673cc61b4c6884479ccd86d commit b78ae0367fffcd127673cc61b4c6884479ccd86d Author: Jessica Clarke AuthorDate: 2023-01-29 23:17:39 +0000 Commit: Jessica Clarke CommitDate: 2023-01-29 23:53:04 +0000 Revert "tools/build: Unbreak bmake bootstrap on Linux" Now that make.py no longer has the described hack on Linux we can drop this ugly workaround. This reverts commit fba998a3d897e6297baca74068e4ec1db7adaeec. --- tools/build/cross-build/include/common/sys/types.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tools/build/cross-build/include/common/sys/types.h b/tools/build/cross-build/include/common/sys/types.h index 0bfe2bac2aea..82436e7e9224 100644 --- a/tools/build/cross-build/include/common/sys/types.h +++ b/tools/build/cross-build/include/common/sys/types.h @@ -69,15 +69,7 @@ struct cap_rights; typedef struct cap_rights cap_rights_t; -/* - * make.py uses these headers during the bmake bootstrap on Linux only, at - * which point sys/bitcount.h won't yet exist, so don't include it there. - * - * TODO: Untangle this mess. - */ -#if __has_include() /* Needed for bitstring */ #include -#endif #endif From nobody Sun Jan 29 23:53:11 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4p6H5HwZz3bMtT; Sun, 29 Jan 2023 23:53: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 4P4p6H4vBrz43XQ; Sun, 29 Jan 2023 23:53:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675036391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w/6P8ZVSjrmCza2t9OroGZ5QbFqnCNIxB75P5Emo00g=; b=oG6kqP9CLJAj62K+ujO0PLlz8Lx3pTJL9f7k2WlC1eMUppDHFVP2Wyla48Lryz5/fqDPVc 0EMz87UjjZjiN5yK41ujCwon2tQVWMaxaaLE6RfWLNpncZvg308xDEpWCGRbGqSnRjE3l/ tuMtCArkWCT2rMH5gVhXBA+N0IhCYpIcwb2SXG5HMBrkPz1GONfTUkEqpY+C5VZPKAOKmK o17RH4NxtFvAhvpTu5qM6X/9gccoDSrez5kqfa1un9ZKQP/Vo7IlsF7losp2ZjXhz/1ZRM iabNlp1BMtd0x4IVrzm7qyiH9SwnTKzCHtQxcGd37YIx2s6xIRzFFhM7GSBOpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675036391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w/6P8ZVSjrmCza2t9OroGZ5QbFqnCNIxB75P5Emo00g=; b=rufnHxdST+sU67EGGjxJrHhZ1xldQcvEqBYc/cH5QICLGHQSj2pl+6glm2DdVzxeU7cE6w ncRRvYA2HKNA2lLYWkfUyuOjyVzIaT17xGc4uEN0GqGPvHZr531qSypnPe8iZT6HsoOLWD fQon/T/LpRKPY9rcljErCtAaqd+JZgmH9OfHAaf4ok/wOSEpEi1Mj8Id7pbEGt/j9d/5wE feXV/m++SrSdZtu41FFfOk7anReyM8TodsTb0OdErg/rQWpp3kvOIJ45j9nldnaiH33YKr pTINamZmI2fTInayCOrONpocj/NkK3DhFenR0cKRajLfSYwKWCqcTFm2KxGGMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675036391; a=rsa-sha256; cv=none; b=uf2iIv35YKVqE0ht582ymDkW8kyrKOi8n0IqbMkYOR0ZjqwswNf0YwinlE8ja7HFQsH4x8 nuwWj98x6CXGfi7viJ0qfXG7qvYXbZV+POh+KlA8HMRDHJRIJwwybiMsqjNHlSXBC1Oo8O vuMcbau2a9CPP/a5ePxE/za9NgYQa2EC3+TSFgsdQEHDMg5x+IE+uyZejK+UO0kOLkDZZO JuKGuxViylSpRoB4CmI+svtEtCmMa8BYT5RIbt+X4bhbEDXHmtO4wJOstsLkoGR7quL5JB 2P9Do59i7AUiv6c9+BSCsfG/AWA0Bj18HeQ31LtnlyX5fNE5gqXg/d7SmWn9Gg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4p6H3cWGzmsB; Sun, 29 Jan 2023 23:53:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TNrBRa020478; Sun, 29 Jan 2023 23:53:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TNrBhA020477; Sun, 29 Jan 2023 23:53:11 GMT (envelope-from git) Date: Sun, 29 Jan 2023 23:53:11 GMT Message-Id: <202301292353.30TNrBhA020477@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 4ebd18cf357a - main - Makefile.inc1: Print the right PATH for missing install tool error List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4ebd18cf357af71941675ff3ae7fb3bf56a37e0e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=4ebd18cf357af71941675ff3ae7fb3bf56a37e0e commit 4ebd18cf357af71941675ff3ae7fb3bf56a37e0e Author: Jessica Clarke AuthorDate: 2023-01-29 23:45:49 +0000 Commit: Jessica Clarke CommitDate: 2023-01-29 23:53:04 +0000 Makefile.inc1: Print the right PATH for missing install tool error We override PATH for which but then go and print the non-overridden PATH, which leads to rather confusing messages. Fixes: 5bb9250e0af4 ("Add necessary Makefile.inc1 infrastructure for building on non-FreeBSD") --- Makefile.inc1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index ae50cdda508f..dfc9cb8d07fc 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1371,7 +1371,7 @@ distributeworld installworld stageworld: _installcheck_world .PHONY if progpath=`env PATH=${TMPPATH:Q} which $$prog`; then \ echo $$progpath; \ else \ - echo "Required tool $$prog not found in PATH ($$PATH)." >&2; \ + echo "Required tool $$prog not found in PATH ("${TMPPATH:Q}")." >&2; \ exit 1; \ fi; \ done); \ From nobody Sun Jan 29 23:53:12 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4p6K0SSgz3bMtX; Sun, 29 Jan 2023 23:53: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 4P4p6J5jWVz43tc; Sun, 29 Jan 2023 23:53:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675036392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PnkMD3a3ngsE9QI6YvQ3oPDUzKHk4P/Db4w8ko3tcVI=; b=CSvWjWIcRJpFJofxAznSnPD02dcgrq+ZAzG5GLiFHmgveINJE+8UhQHqwHz61ihkD84+ss knQ3tIK2obekP8LMnnoQdlqVLWw3V+mzh6U/IsVAtb9ck+e2DsPpC0mSdaCacrdHKGbKJi b/NNgY5sA61qxgBkLEDdpe54hxdGYDjT8vvqHx8Neu43Yl5LqlUC04dt06tqNdPFZ+s2DT m/dcMIc3hFdWQlpHbvTgkVeG+Qfp2dDKbmjrhJxubFcMrPz/1+SuWsq/rEljYxmwI4kQUG 3mnkTaII+oR1qCaoY7/LcqZ4tnlrq35rTvVE0j4AS98HrpHZ1z/jBcJKjDCQKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675036392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PnkMD3a3ngsE9QI6YvQ3oPDUzKHk4P/Db4w8ko3tcVI=; b=wLm0F/YD0eo0kde2/ttq1aXDo0zyJYlHud+RXhVElbJf2XuwL27MFLb7xAyn6cflBCZxap YiUaC2hGUXliwN+8K2PHMGl7f2wepSuXRbus9Hx6cD3bctXok2wyvoducMt9T6v0RLwEpN vwaSyQFE6G30gVUaKsBGhV0OTms2XaAwLt2oRboC8x1DWAmwrqQgZpUWdODu/Bq/DsUBnh eYA6JTuue7XvMwM8RzUrHej3Coyq8QcKVBkP9TzY5dphdd6H0hYrezhKqezQrldd/VSmWv u8roai3k3eDbyfqABQoTjhJh7CSCAuqLQ4SSmCBe5LjIlCITw3uuYy9IGhvIyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675036392; a=rsa-sha256; cv=none; b=qYmPCS1zhZvSJR8If6lUU1SscxK0ZCjUiQjddS0H33bdZDO03lOZoC2tetuDpbqwwaGGDt qBjBbvRs85Q4EsC2cpU6v1VISKYeWmhvgr0Eno/VkXxwKqS1SXp2sm/0G88ZIQrdjwy6Wq iVRYqFt7sHRC44xtJUiv1Dm7KI8tHwYe85TXccn5DOM3kg9z3STAuNcLcC2zCUhZ8V0IQI 2QeL2ciY90HLbvSlCbYI6VCKFiGsnYIY2ZyWJy0wsVOwOUb7eTce6WztUVZV49awNJwGbQ 8UYvJ3mSgVaSNETmY3ovfFpyao1k+kb/WIN8Y/6FRCZakeZwKE2ICNV5bqBaAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4p6J4Z16zng4; Sun, 29 Jan 2023 23:53:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30TNrCF2020502; Sun, 29 Jan 2023 23:53:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TNrCiE020501; Sun, 29 Jan 2023 23:53:12 GMT (envelope-from git) Date: Sun, 29 Jan 2023 23:53:12 GMT Message-Id: <202301292353.30TNrCiE020501@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: d4fdfd3f9077 - main - Makefile.inc1: Restore adding tzsetup to _basic_bootstrap_tools List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d4fdfd3f9077216e52f38f7364974959c9e43168 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=d4fdfd3f9077216e52f38f7364974959c9e43168 commit d4fdfd3f9077216e52f38f7364974959c9e43168 Author: Jessica Clarke AuthorDate: 2023-01-29 23:51:30 +0000 Commit: Jessica Clarke CommitDate: 2023-01-29 23:53:04 +0000 Makefile.inc1: Restore adding tzsetup to _basic_bootstrap_tools ITOOLS is only the list of programs to make a copy of during install, it doesn't cause anything to be bootstrapped. Thus, by removing tzsetup from _basic_bootstrap_tools, we end up without it on non-FreeBSD, and so we error out trying to copy it to INSTALLTMP. Note that _basic_bootstrap_tools is only used for BOOTSTRAP_ALL_TOOLS (which is why zic was moved away from it). Should tzsetup evolve such that the host version is insufficient on older FreeBSD it can be moved to be more like zic, but that seems unnecessary for what is likely to remain a simple tool. This partially reverts commit 7a4a520064cb7fbff79560113682d6fe1a1ae9ee. Fixes: 7a4a520064cb ("Fix cross-build from STABLE or older CURRENT.") --- Makefile.inc1 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index dfc9cb8d07fc..7c82c2bfa763 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2446,6 +2446,11 @@ _basic_bootstrap_tools+=usr.bin/jot _basic_bootstrap_tools+=sbin/md5 .endif +# tzsetup is needed as an install tool +.if ${MK_ZONEINFO} != "no" +_basic_bootstrap_tools+=usr.sbin/tzsetup +.endif + .if defined(BOOTSTRAP_ALL_TOOLS) _other_bootstrap_tools+=${_basic_bootstrap_tools} .for _subdir _links in ${_basic_bootstrap_tools_multilink} From nobody Mon Jan 30 03:33:40 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4v0l6cNHz3c9lS for ; Mon, 30 Jan 2023 03:33:43 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P4v0l0T5wz4LD3 for ; Mon, 30 Jan 2023 03:33:43 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com; dmarc=none Received: by mail-wm1-f51.google.com with SMTP id c4-20020a1c3504000000b003d9e2f72093so9116657wma.1 for ; Sun, 29 Jan 2023 19:33:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lAQIYoNUdStkU53gJLwt4+ZRs0BkHrrNREUMRh0UjWU=; b=duHaTwiZ41ZCHZxaPMMOkqg9JkphJuLDgsfBzX2T7YGbMfYSFAV4tLposyS3wNjRZ+ XUwMIUwm+h2HxQ/bj0diiL71x2QRdfvQWMlEaWZjt4B8v6i/BNbFulIlF5qm8PuiOfHX +X14EvVNMP970Qlg/a7d3R33WrnEQoyc1sMAFsfq/oUt2qdnsUylUuWd96RhzsoWxVY8 OIEUhl7kTyyAJSIpjw2UhhfZzeE1UWPRXsdnIaUD9BLAVknafwcMO9NMAxP5m5sRuWKk xlO4e6ERYqGWudFST9vDmXPiAnpqP62g4/dNAadhFpB2/1DLlVFFWnRrclKL7rfkTDAB 3JqA== X-Gm-Message-State: AFqh2kpJ6Zi3Z9OWP9CRHbevgqAeEw32vzFaYBoPtYU+syDP8gkcMNTh 2JKHd1aiyPnAwYWz3t8xI4Xf0A== X-Google-Smtp-Source: AMrXdXvh8oac0KkuRBAZ4Qe1XbD4FUU/0ZAjyYJqCNMOFzMEJrOjtB4FvxByX8L+lIko0R0sHJO3rg== X-Received: by 2002:a05:600c:444b:b0:3da:fd06:a6f1 with SMTP id v11-20020a05600c444b00b003dafd06a6f1mr46489205wmn.31.1675049621702; Sun, 29 Jan 2023 19:33:41 -0800 (PST) Received: from smtpclient.apple (global-5-143.n-2.net.cam.ac.uk. [131.111.5.143]) by smtp.gmail.com with ESMTPSA id l16-20020a7bc350000000b003d9aa76dc6asm17374740wmj.0.2023.01.29.19.33.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 29 Jan 2023 19:33:41 -0800 (PST) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: 0deb25bd9d6d - main - pwd_mkdb(8): Don't copy comments from /etc/master.passwd to /etc/passwd. From: Jessica Clarke In-Reply-To: <202301050648.3056mfrp075362@gitrepo.freebsd.org> Date: Mon, 30 Jan 2023 03:33:40 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202301050648.3056mfrp075362@gitrepo.freebsd.org> To: Xin LI X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Spamd-Result: default: False [-2.48 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.977]; MV_CASE(0.50)[]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_THREE(0.00)[4]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TO_DN_EQ_ADDR_SOME(0.00)[]; DMARC_NA(0.00)[freebsd.org]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.51:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FREEFALL_USER(0.00)[jrtc27]; MIME_TRACE(0.00)[0:+]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; R_DKIM_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.128.51:from] X-Rspamd-Queue-Id: 4P4v0l0T5wz4LD3 X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N On 5 Jan 2023, at 06:48, Xin LI wrote: >=20 > The branch main has been updated by delphij: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D0deb25bd9d6d2cdd4aa22f0e2754161e= 35f3785c >=20 > commit 0deb25bd9d6d2cdd4aa22f0e2754161e35f3785c > Author: Andre Albsmeier > AuthorDate: 2010-03-11 10:53:47 +0000 > Commit: Xin LI > CommitDate: 2023-01-05 06:18:09 +0000 >=20 > pwd_mkdb(8): Don't copy comments from /etc/master.passwd to = /etc/passwd. >=20 > The intention of /etc/passwd was to support legacy applications = that are > not yet converted to use modern API like getpwent(3). Comments are = not > defined in the legacy format, so copying them could break these > applications. Plus, it could leak sensitive information (e.g. = encrypted > form of password of an user that was commented out instead of = deleted > or disabled). This broke usr.sbin/etcupdate/tests/preworld_test.sh. Jess > PR: bin/144652 > MFC after: 1 month > --- > usr.sbin/pwd_mkdb/pwd_mkdb.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) >=20 > diff --git a/usr.sbin/pwd_mkdb/pwd_mkdb.c = b/usr.sbin/pwd_mkdb/pwd_mkdb.c > index 6297bcb461db..261e7951a126 100644 > --- a/usr.sbin/pwd_mkdb/pwd_mkdb.c > +++ b/usr.sbin/pwd_mkdb/pwd_mkdb.c > @@ -462,11 +462,14 @@ main(int argc, char *argv[]) > error("put"); > } > } > - /* Create original format password file entry */ > - if (is_comment && makeold){ /* copy comments */ > - if (fprintf(oldfp, "%s\n", line) < 0) > - error("write old"); > - } else if (makeold) { > + /* > + * Create original style password file entry. > + * > + * Don't copy comments since this could reveal encrypted > + * passwords if entries have been simply commented out > + * in master.passwd. > + */ > + if (makeold && !is_comment) { > char uidstr[20]; > char gidstr[20]; >=20 From nobody Mon Jan 30 04:42:48 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4wXT0lmxz3cKs7; Mon, 30 Jan 2023 04:42: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 4P4wXS6rDDz4QJD; Mon, 30 Jan 2023 04:42:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675053769; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jhamMAapm/LYCy+0x5xctQVUwsVGBDmzcpJohi14Frw=; b=BUz2TfVdhhHF53xmbjJl3rpSeH9DYuiDJoge5fLWh9iKDLh4me6IqVVs1LmWQqljHWUyzu Mi76ns3P8A+Bms0Ts0+pmaUrVuODLd8GeqtHZhTdzzaNz53U4D3fPWeyBTQFgLE10EFUzH 66tSt0qLpL1Xp8Yj2pgYer7+kV/dgOf81eW6wIZP21Ggyi6RStMki2OY7vSutRiRSGFmZM gSsuNjInEKR37ACRC7RhStpE6+/lccJI88LdWVheV6WWXhc59HdAIkRJfGEY8mPmzBljnb Zp/Sb3WJH0GsWes8rQuEBJ8Sv30vtkFuR3InbtUUN9DFkkukkVfetgVGzIMSdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675053769; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jhamMAapm/LYCy+0x5xctQVUwsVGBDmzcpJohi14Frw=; b=I6WePa8NEnjTLnzRi0g4SG/K5RBktSN+FibXOQBnCJ18Zqih33FShW5osxeNSO4GNqEtuW OwRHPECU06OdOAgY7sfv4bDBKj9pjWkyz9xMOcj14WjSeuWLUVQsQqLBJ5lK9SfcAHXIKW qpSLM21mMmrDYIKSDBQUY/ftYo5wJYVqCzUMW7EThxXYmRZIfrJhEMeyis6ykW77aGqlg4 fP3+dAlwc0uqDhEFMwMIQFGB1KnUH912vtPsZyyZ79pUzjzTIaGZvGWERw/orNy5gEtW+X Njl37qVXjprwdOhRvghuYpwwqGSJn/ZCjNJV+ztw6P04gEEKEa0mlq3lABKApw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675053769; a=rsa-sha256; cv=none; b=RXA8Y0yHG0MDu+uz5xMtSHTQ3Xe08RPxVLXanx39RemuIDeh3Am42luJOjikC2aS/XXUMw Zg2GbiV6heiQt60Thu/dlS6cUUy+n5CLhAm4EF2wXtdFh1WuyhgMis9MKFAwBn+bSXBFgL jLFjZZU+LL89ecyxJIUzj0OGMov6f6ZTFhLTQnbnPEa54nzEO7gMC12j7N1s1KRIrXCRYq Rlx+dS8NKLv7GOnvlK/akSTp69SriXrdHH9g+yo4Ha5iw4dPVr2CRZNo1EOlgGCgiL/1uH /oaQmj4Fa9o8JwlI65D3kAqdAJ+Mj1nM5qpW1hWlpWhDhXZPYPS3nIND6nCjrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4wXS5s0Gzw9P; Mon, 30 Jan 2023 04:42:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30U4gmbm031386; Mon, 30 Jan 2023 04:42:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30U4gmHK031385; Mon, 30 Jan 2023 04:42:48 GMT (envelope-from git) Date: Mon, 30 Jan 2023 04:42:48 GMT Message-Id: <202301300442.30U4gmHK031385@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 4bbf45cf5610 - main - etcupdate: Chase test case after pwd_mkdb(8) no longer copies comments. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4bbf45cf561012da0eb10afe14d4da841add84f5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=4bbf45cf561012da0eb10afe14d4da841add84f5 commit 4bbf45cf561012da0eb10afe14d4da841add84f5 Author: Xin LI AuthorDate: 2023-01-30 04:40:58 +0000 Commit: Xin LI CommitDate: 2023-01-30 04:40:58 +0000 etcupdate: Chase test case after pwd_mkdb(8) no longer copies comments. MFC after: 3 days --- usr.sbin/etcupdate/tests/preworld_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/etcupdate/tests/preworld_test.sh b/usr.sbin/etcupdate/tests/preworld_test.sh index b7241542784f..2c11c37f1aac 100644 --- a/usr.sbin/etcupdate/tests/preworld_test.sh +++ b/usr.sbin/etcupdate/tests/preworld_test.sh @@ -214,7 +214,7 @@ check_trees() missing /etc/inetd.conf # These should be auto-generated by pwd_mkdb - file /etc/passwd "" 9831537874bdc99adccaa2b0293248a1 + file /etc/passwd "" e4650d2727044b22d513e6a02d86bcfa file /etc/pwd.db file /etc/spwd.db } From nobody Mon Jan 30 04:43:14 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4wY25c06z3cKwS; Mon, 30 Jan 2023 04:43:18 +0000 (UTC) (envelope-from delphij@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 4P4wY252Zkz3Bt1; Mon, 30 Jan 2023 04:43:18 +0000 (UTC) (envelope-from delphij@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675053798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cCsQvG0h6P1YtnIhhTaSg8dhK9hXsgsdt4CZF1X2H7k=; b=p9FG893Bb8HwRJHt07qyjHr1i47QMLMfxcEZCKMryjTy8be7pwlo4ciH/nlyKCtuFShCKI 0D9zGWa8P9Xar/ejb/AIxCiRflYzfA6GgRxmk6pZj3d/UoRghTQ+o7p4EdYDCZ739/jJRM Cf7O0qVYGLGe1McgGqNnACq9LtGM34kzJhmpqVq86+z3IDl+WwC39xvwzr+jkoy4BxdYE4 t+mlcns904J/EMq64Fjauwy9HDOyx3lhWo48yD6pHM2ZnD0fhjOk5OtQszqke7ARkT+uL1 pGgloYFSHqRYpH22XoA+4L+xilBcItvjyGjCrC9IA+oF64eD8JMXj3RK52RjXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675053798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cCsQvG0h6P1YtnIhhTaSg8dhK9hXsgsdt4CZF1X2H7k=; b=JHU/kLQ8ppQHwyrAbj8wEMji4VFMBaBL/gka1nwh1F38j2GGi8fy3uUaPa7s29XFiliJKj fk4b2ZZfqxBFoxAAyNCA7FUe/WC2Zhx39epqr1+e9/nWllYpF1xzpQjWuJmzrHS3VC2ZdE fUJgre+aXfrnM1Aw3pKr81/AQbMGqRRQBmqZSar2lp+b3dZBloCFioxgA2BFxEWpO+tqGC 0l/sm1ETBXIiDZ9rZECqxQPwrEqpiWNSVNRzsud1SJQY5Czy2a/lzXIzavS07lNqI9bj5b wK97OecHGpncNuj7DqLAvxfHYj9Szj+YIAhrTI2mg8t45J0Drg1f2M11DVJdrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675053798; a=rsa-sha256; cv=none; b=saj3m8bV0oYejc6JoUvA+VrmCRw6HorlY1CUbMD9YUDl24xTapO+5zbq70ueipT74/dQzZ Whwc0QEqcCqm1c+Ei4qZEfCw34+CnizKtemAZ3+yes+tuIwF6i9y0f9lmtJmt7mad9mI5B LlzOMjve1hyXciCefgbx2t2MTj2alAGyCHODpEj9HUQyYf3ikR71B8gVrv1z8RXmoXOuo/ EQXhs7oEFotZKQvMfzH3PC3qSjqrzHA/usqPkIh/nD3v8wsSW98PF9lnnqOh7Xgw1NTyZU ArnVwXGTTYnR8UccHX3dv1qxGXmIBHJYvbNxowI4dD9RtegHQziCSQ4UyhdiMQ== Received: from odin.corp.delphij.net (unknown [IPv6:2001:470:48ca:5:8a1:60b1:cb1e:3903]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: delphij/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P4wY1595vz1Fd5; Mon, 30 Jan 2023 04:43:17 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Message-ID: <36e6638c-3b06-e235-3f30-08042bdbd082@FreeBSD.org> Date: Sun, 29 Jan 2023 20:43:14 -0800 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Thunderbird Subject: Re: git: 0deb25bd9d6d - main - pwd_mkdb(8): Don't copy comments from /etc/master.passwd to /etc/passwd. To: Jessica Clarke Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202301050648.3056mfrp075362@gitrepo.freebsd.org> Content-Language: en-US From: Xin Li Organization: The FreeBSD Project In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 2023-01-29 7:33 PM, Jessica Clarke wrote: > On 5 Jan 2023, at 06:48, Xin LI wrote: >> >> The branch main has been updated by delphij: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=0deb25bd9d6d2cdd4aa22f0e2754161e35f3785c >> >> commit 0deb25bd9d6d2cdd4aa22f0e2754161e35f3785c >> Author: Andre Albsmeier >> AuthorDate: 2010-03-11 10:53:47 +0000 >> Commit: Xin LI >> CommitDate: 2023-01-05 06:18:09 +0000 >> >> pwd_mkdb(8): Don't copy comments from /etc/master.passwd to /etc/passwd. >> >> The intention of /etc/passwd was to support legacy applications that are >> not yet converted to use modern API like getpwent(3). Comments are not >> defined in the legacy format, so copying them could break these >> applications. Plus, it could leak sensitive information (e.g. encrypted >> form of password of an user that was commented out instead of deleted >> or disabled). > > This broke usr.sbin/etcupdate/tests/preworld_test.sh. Ah, my bad. Fixed in 4bbf45cf5610 . > Jess > >> PR: bin/144652 >> MFC after: 1 month >> --- >> usr.sbin/pwd_mkdb/pwd_mkdb.c | 13 ++++++++----- >> 1 file changed, 8 insertions(+), 5 deletions(-) >> >> diff --git a/usr.sbin/pwd_mkdb/pwd_mkdb.c b/usr.sbin/pwd_mkdb/pwd_mkdb.c >> index 6297bcb461db..261e7951a126 100644 >> --- a/usr.sbin/pwd_mkdb/pwd_mkdb.c >> +++ b/usr.sbin/pwd_mkdb/pwd_mkdb.c >> @@ -462,11 +462,14 @@ main(int argc, char *argv[]) >> error("put"); >> } >> } >> - /* Create original format password file entry */ >> - if (is_comment && makeold){ /* copy comments */ >> - if (fprintf(oldfp, "%s\n", line) < 0) >> - error("write old"); >> - } else if (makeold) { >> + /* >> + * Create original style password file entry. >> + * >> + * Don't copy comments since this could reveal encrypted >> + * passwords if entries have been simply commented out >> + * in master.passwd. >> + */ >> + if (makeold && !is_comment) { >> char uidstr[20]; >> char gidstr[20]; >> From nobody Mon Jan 30 05:10:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P4x8x4q2tz3cP7K; Mon, 30 Jan 2023 05:10: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 4P4x8x4K5vz3DT4; Mon, 30 Jan 2023 05:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675055457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qJk14l7xKonPCAnMIe3N3QD2r2DB8xK0AJ9fKxQUe44=; b=QtIupY7ug63yNl4YqonU+7VVOzij2sBBDIpOY/dk3+H0Ij2D387Y4ZQWGpdV04eKECPqDY c1eSN6499N8QAtdX0E+pBAgCu5NldrOyTLPybEGFuIKVQFsA3DAYY6/Utq8MKq/EQyBUhs cGv4I1a/yR1rfQHVK9K2HyDnAjDYFszMBEXtO6vwIoN3NomPwDmGWXAGvKR2JT8xS/SKqp 59ITFYAy4m9TPPT1tukaxzgMwlBmAYiFekRvd0YUThgh/THTk+8C8jXEhF9lBCfFNbOrdq 0uZgv3wInD9wSTi7Rrcy4YYidzqqGEGZvIOvxf5ecdeyBMvPFZdVBU77ByYasA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675055457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qJk14l7xKonPCAnMIe3N3QD2r2DB8xK0AJ9fKxQUe44=; b=O54hHgvpJkr3dxjAYDCcyumnHvgNZhAe4uom+8RQAwaz71P4rXh4y/AWNBuW1ptkaf2oU2 JaACXqSCkdA0tUlHQI8KM7BzTHvTcZdCV3BTTG5wksNzoAgva9vCG6CyZAfXxNVFLE919N pV/mv1acHAHRyQVwJFA5fRP4U5FH5wLVFtlnun/3DJxSBZL69Vechkfl+YeYHqHfbNp+ZO 4iFJlnzyaEwpI8owKKKy7Jqs4Ak1+HgZeuFcxjReMVD34aLAtfj7+I7nRk6ZUSf3DEg58r c7Yd+4fUAGaUnPwEP1QamibBZEm5mNeBoXb+GOItk/4rJWEhSEkjAtKRQWsE7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675055457; a=rsa-sha256; cv=none; b=HsPxBokQOWFlu8C4YKuVZWVONqLtaucN9acdehXoMmUhqwKF+eCEMwrY+oqi5ugxHdtm7y RcIFkr2WRTWSAJ/8rW/fjhPq7teuWyq7wBZqp/2rw/PKGZLCYitqZqYARoS7lj9sekpXK6 OJFy0ik/bCdU3jWIk7P1bbQ+1/XQ+SxeaaLRre4sM9bgpEcgG0uy7W0ikwPCbuu85dZdDP mfRjfcganQt3hnBqUx4GmtfsZwnbaZBXgCoNrO/bd2RO0B5hYt+6NYmBp2HEhjVyOdadnd QzOyIseT9LxfDFzBNXJLVhTBpB/5M92nMQfHuoVufSSuFxtJIsiY6RZWw8rVUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P4x8x3NByzvfy; Mon, 30 Jan 2023 05:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30U5Avb2071058; Mon, 30 Jan 2023 05:10:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30U5AvLW071057; Mon, 30 Jan 2023 05:10:57 GMT (envelope-from git) Date: Mon, 30 Jan 2023 05:10:57 GMT Message-Id: <202301300510.30U5AvLW071057@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Phil Shafer Subject: git: 34b867ca3047 - main - Merge commit '7087c8de43b0d5d27c52da6ba2ba4957b7e336ff' into new_merge List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: phil X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 34b867ca30479cec104fd069178df294f8ea35f1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by phil: URL: https://cgit.FreeBSD.org/src/commit/?id=34b867ca30479cec104fd069178df294f8ea35f1 commit 34b867ca30479cec104fd069178df294f8ea35f1 Merge: 4bbf45cf5610 7087c8de43b0 Author: Phil Shafer AuthorDate: 2023-01-30 05:04:21 +0000 Commit: Phil Shafer CommitDate: 2023-01-30 05:04:21 +0000 Merge commit '7087c8de43b0d5d27c52da6ba2ba4957b7e336ff' into new_merge contrib/libxo/.gitignore | 58 ++- contrib/libxo/.svnignore | 18 - contrib/libxo/Makefile.am | 2 +- contrib/libxo/configure.ac | 10 +- contrib/libxo/doc/Makefile.am | 6 +- contrib/libxo/doc/api.rst | 59 ++- contrib/libxo/doc/faq.rst | 5 +- contrib/libxo/doc/field-formatting.rst | 1 + contrib/libxo/doc/field-roles.rst | 5 + contrib/libxo/doc/xolint-errors.rst | 444 ++++++++++++++++++++++ contrib/libxo/doc/xolint.rst | 484 ++---------------------- contrib/libxo/libxo/Makefile.am | 1 + contrib/libxo/libxo/gen-wide.sh | 0 contrib/libxo/libxo/libxo-csv.7 | 274 ++++++++++++++ contrib/libxo/libxo/libxo.3 | 91 +++++ contrib/libxo/libxo/libxo.c | 30 +- contrib/libxo/libxo/xo_create.3 | 2 +- contrib/libxo/libxo/xo_emit.3 | 4 +- contrib/libxo/libxo/xo_emit_f.3 | 4 +- contrib/libxo/libxo/xo_emit_field.3 | 113 ++++++ contrib/libxo/libxo/xo_encoder.c | 29 +- contrib/libxo/libxo/xo_format.5 | 7 + contrib/libxo/libxo/xo_open_container.3 | 2 +- contrib/libxo/libxo/xo_open_list.3 | 6 +- contrib/libxo/libxo/xo_parse_args.3 | 92 +---- contrib/libxo/tests/core/Makefile.am | 40 +- contrib/libxo/tests/core/saved/test_01.E.out | 8 +- contrib/libxo/tests/core/saved/test_01.H.out | 5 +- contrib/libxo/tests/core/saved/test_01.HIPx.out | 241 ++++++------ contrib/libxo/tests/core/saved/test_01.HP.out | 3 + contrib/libxo/tests/core/saved/test_01.J.out | 2 +- contrib/libxo/tests/core/saved/test_01.JP.out | 5 +- contrib/libxo/tests/core/saved/test_01.JPu.err | 0 contrib/libxo/tests/core/saved/test_01.JPu.out | 185 +++++++++ contrib/libxo/tests/core/saved/test_01.T.out | 3 +- contrib/libxo/tests/core/saved/test_01.X.out | 2 +- contrib/libxo/tests/core/saved/test_01.XP.out | 5 +- contrib/libxo/tests/core/saved/test_02.E.out | 1 + contrib/libxo/tests/core/saved/test_02.H.out | 2 +- contrib/libxo/tests/core/saved/test_02.HIPx.out | 7 + contrib/libxo/tests/core/saved/test_02.HP.out | 7 + contrib/libxo/tests/core/saved/test_02.J.out | 2 +- contrib/libxo/tests/core/saved/test_02.JP.out | 1 + contrib/libxo/tests/core/saved/test_02.JPu.err | 1 + contrib/libxo/tests/core/saved/test_02.JPu.out | 99 +++++ contrib/libxo/tests/core/saved/test_02.T.out | 1 + contrib/libxo/tests/core/saved/test_02.X.out | 2 +- contrib/libxo/tests/core/saved/test_02.XP.out | 1 + contrib/libxo/tests/core/saved/test_03.JPu.err | 0 contrib/libxo/tests/core/saved/test_03.JPu.out | 33 ++ contrib/libxo/tests/core/saved/test_04.JPu.err | 0 contrib/libxo/tests/core/saved/test_04.JPu.out | 21 + contrib/libxo/tests/core/saved/test_05.JPu.err | 0 contrib/libxo/tests/core/saved/test_05.JPu.out | 91 +++++ contrib/libxo/tests/core/saved/test_06.JPu.err | 0 contrib/libxo/tests/core/saved/test_06.JPu.out | 21 + contrib/libxo/tests/core/saved/test_07.JPu.err | 0 contrib/libxo/tests/core/saved/test_07.JPu.out | 71 ++++ contrib/libxo/tests/core/saved/test_08.JPu.err | 18 + contrib/libxo/tests/core/saved/test_08.JPu.out | 185 +++++++++ contrib/libxo/tests/core/saved/test_09.JPu.err | 0 contrib/libxo/tests/core/saved/test_09.JPu.out | 39 ++ contrib/libxo/tests/core/saved/test_10.JPu.err | 0 contrib/libxo/tests/core/saved/test_10.JPu.out | 113 ++++++ contrib/libxo/tests/core/saved/test_11.JPu.err | 0 contrib/libxo/tests/core/saved/test_11.JPu.out | 22 ++ contrib/libxo/tests/core/saved/test_12.JPu.err | 4 + contrib/libxo/tests/core/saved/test_12.JPu.out | 94 +++++ contrib/libxo/tests/core/test_01.c | 11 +- contrib/libxo/tests/core/test_02.c | 2 + contrib/libxo/tests/core/test_08.c | 8 +- contrib/libxo/tests/xo/xo_01.sh | 0 contrib/libxo/tests/xo/xo_02.sh | 0 contrib/libxo/xo/xo.1 | 2 +- contrib/libxo/xolint/xolint.pl | 0 75 files changed, 2326 insertions(+), 779 deletions(-) diff --cc contrib/libxo/.gitignore index 8d70b6cc1550,000000000000..f4ace8fe0a81 mode 100644,000000..100644 --- a/contrib/libxo/.gitignore +++ b/contrib/libxo/.gitignore @@@ -1,46 -1,0 +1,32 @@@ - # Object files - *.o - - # Libraries - *.lib - *.a - - # Shared objects (inc. Windows DLLs) - *.dll - *.so - *.so.* - *.dylib - - # Executables - *.exe - *.app - - *~ - *.orig - ++tag.sh ++Makefile.in +aclocal.m4 +ar-lib +autom4te.cache - build ++bin ++build* +compile ++configure +config.guess - config.h.in +config.sub +depcomp ++doc/Makefile.in ++info* +install-sh +ltmain.sh - missing +m4 - - Makefile.in - configure - .DS_Store - - xoconfig.h.in - xo_config.h.in - - .gdbinit - .gdbinit.local - xtest - xtest.dSYM - tests/w ++missing ++patches* ++doc/Makefile.in ++encoder/Makefile.in ++encoder/cbor/Makefile.in ++encoder/test/Makefile.in ++libxo/Makefile.in ++tests/Makefile.in ++tests/core/Makefile.in ++tests/gettext/Makefile.in ++tests/xo/Makefile.in ++xo/Makefile.in ++xohtml/Makefile.in ++xolint/Makefile.in ++xopo/Makefile.in diff --cc contrib/libxo/doc/xolint-errors.rst index 000000000000,c3e518b9cddf..c3e518b9cddf mode 000000,100644..100644 --- a/contrib/libxo/doc/xolint-errors.rst +++ b/contrib/libxo/doc/xolint-errors.rst diff --cc contrib/libxo/libxo/gen-wide.sh index b0342874b179,b0342874b179..b0342874b179 mode 100755,100644..100644 --- a/contrib/libxo/libxo/gen-wide.sh +++ b/contrib/libxo/libxo/gen-wide.sh diff --cc contrib/libxo/libxo/libxo-csv.7 index 000000000000,6e043820a010..6e043820a010 mode 000000,100644..100644 --- a/contrib/libxo/libxo/libxo-csv.7 +++ b/contrib/libxo/libxo/libxo-csv.7 diff --cc contrib/libxo/libxo/xo_emit_field.3 index 000000000000,4f9636cee8e7..4f9636cee8e7 mode 000000,100644..100644 --- a/contrib/libxo/libxo/xo_emit_field.3 +++ b/contrib/libxo/libxo/xo_emit_field.3 diff --cc contrib/libxo/tests/core/saved/test_01.JPu.err index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libxo/tests/core/saved/test_01.JPu.err diff --cc contrib/libxo/tests/core/saved/test_01.JPu.out index 000000000000,747db16f07a7..747db16f07a7 mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_01.JPu.out +++ b/contrib/libxo/tests/core/saved/test_01.JPu.out diff --cc contrib/libxo/tests/core/saved/test_02.JPu.err index 000000000000,cedb03e0da31..cedb03e0da31 mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_02.JPu.err +++ b/contrib/libxo/tests/core/saved/test_02.JPu.err diff --cc contrib/libxo/tests/core/saved/test_02.JPu.out index 000000000000,d0b868a5f8ee..d0b868a5f8ee mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_02.JPu.out +++ b/contrib/libxo/tests/core/saved/test_02.JPu.out diff --cc contrib/libxo/tests/core/saved/test_03.JPu.err index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libxo/tests/core/saved/test_03.JPu.err diff --cc contrib/libxo/tests/core/saved/test_03.JPu.out index 000000000000,d0c3ccf45b59..d0c3ccf45b59 mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_03.JPu.out +++ b/contrib/libxo/tests/core/saved/test_03.JPu.out diff --cc contrib/libxo/tests/core/saved/test_04.JPu.err index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libxo/tests/core/saved/test_04.JPu.err diff --cc contrib/libxo/tests/core/saved/test_04.JPu.out index 000000000000,b0f802dc03fd..b0f802dc03fd mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_04.JPu.out +++ b/contrib/libxo/tests/core/saved/test_04.JPu.out diff --cc contrib/libxo/tests/core/saved/test_05.JPu.err index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libxo/tests/core/saved/test_05.JPu.err diff --cc contrib/libxo/tests/core/saved/test_05.JPu.out index 000000000000,9bcbf69df916..9bcbf69df916 mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_05.JPu.out +++ b/contrib/libxo/tests/core/saved/test_05.JPu.out diff --cc contrib/libxo/tests/core/saved/test_06.JPu.err index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libxo/tests/core/saved/test_06.JPu.err diff --cc contrib/libxo/tests/core/saved/test_06.JPu.out index 000000000000,b0f802dc03fd..b0f802dc03fd mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_06.JPu.out +++ b/contrib/libxo/tests/core/saved/test_06.JPu.out diff --cc contrib/libxo/tests/core/saved/test_07.JPu.err index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libxo/tests/core/saved/test_07.JPu.err diff --cc contrib/libxo/tests/core/saved/test_07.JPu.out index 000000000000,c33bb26eea03..c33bb26eea03 mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_07.JPu.out +++ b/contrib/libxo/tests/core/saved/test_07.JPu.out diff --cc contrib/libxo/tests/core/saved/test_08.JPu.err index 000000000000,011858cd30d7..011858cd30d7 mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_08.JPu.err +++ b/contrib/libxo/tests/core/saved/test_08.JPu.err diff --cc contrib/libxo/tests/core/saved/test_08.JPu.out index 000000000000,46f3de5ff6c5..46f3de5ff6c5 mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_08.JPu.out +++ b/contrib/libxo/tests/core/saved/test_08.JPu.out diff --cc contrib/libxo/tests/core/saved/test_09.JPu.err index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libxo/tests/core/saved/test_09.JPu.err diff --cc contrib/libxo/tests/core/saved/test_09.JPu.out index 000000000000,48e20c146673..48e20c146673 mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_09.JPu.out +++ b/contrib/libxo/tests/core/saved/test_09.JPu.out diff --cc contrib/libxo/tests/core/saved/test_10.JPu.err index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libxo/tests/core/saved/test_10.JPu.err diff --cc contrib/libxo/tests/core/saved/test_10.JPu.out index 000000000000,2dd55419304a..2dd55419304a mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_10.JPu.out +++ b/contrib/libxo/tests/core/saved/test_10.JPu.out diff --cc contrib/libxo/tests/core/saved/test_11.JPu.err index 000000000000,000000000000..e69de29bb2d1 new file mode 100644 --- /dev/null +++ b/contrib/libxo/tests/core/saved/test_11.JPu.err diff --cc contrib/libxo/tests/core/saved/test_11.JPu.out index 000000000000,f82139be8779..f82139be8779 mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_11.JPu.out +++ b/contrib/libxo/tests/core/saved/test_11.JPu.out diff --cc contrib/libxo/tests/core/saved/test_12.JPu.err index 000000000000,6e563c3c236c..6e563c3c236c mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_12.JPu.err +++ b/contrib/libxo/tests/core/saved/test_12.JPu.err diff --cc contrib/libxo/tests/core/saved/test_12.JPu.out index 000000000000,0095d8dcc59a..0095d8dcc59a mode 000000,100644..100644 --- a/contrib/libxo/tests/core/saved/test_12.JPu.out +++ b/contrib/libxo/tests/core/saved/test_12.JPu.out diff --cc contrib/libxo/tests/xo/xo_01.sh index 472c58c48050,472c58c48050..472c58c48050 mode 100755,100644..100644 --- a/contrib/libxo/tests/xo/xo_01.sh +++ b/contrib/libxo/tests/xo/xo_01.sh diff --cc contrib/libxo/tests/xo/xo_02.sh index 3f4917a62603,3f4917a62603..3f4917a62603 mode 100755,100644..100644 --- a/contrib/libxo/tests/xo/xo_02.sh +++ b/contrib/libxo/tests/xo/xo_02.sh diff --cc contrib/libxo/xolint/xolint.pl index 0d2be9384181,0d2be9384181..0d2be9384181 mode 100755,100644..100644 --- a/contrib/libxo/xolint/xolint.pl +++ b/contrib/libxo/xolint/xolint.pl From nobody Mon Jan 30 08:33:26 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P51fZ4JyYz3bv79; Mon, 30 Jan 2023 08:33: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 4P51fZ3K9cz3j0X; Mon, 30 Jan 2023 08:33:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675067606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DzelP66H+XazsBKlW5xHuWqth2YAdQgqDCfdpJ4K/wE=; b=ft3ARLIJPoQQPPfjNrFeSZCBGWGZGb781qJmiQwGDVuMENL7hlkrHjmN5oy4pm/5Nabd1s 1SXpWQnNPuf56D9dhAgmbJxAC3X0oRxcZF5niKymwS9jv/6d9fZFP9EnwkwJHCV3vafxl6 9ROjKn+GUMJt6ADxm/xXR8SOjlgUJusrObRt69VXPEzdcGP+45PnoLKndQTfdbhRc9/d1C 68ctEL9KYl800jO1q0Y2P3KGIU/CvVIJ7G9TiAQBxdtIJFuu3pAkVq72Nas/yMuwq/Hl8z q4wx9ec8TUyF/CmcKf8JZMQwK0i8mCXaActZ8sjqsuTmaSfB1Q5xnhbA9NZQOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675067606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DzelP66H+XazsBKlW5xHuWqth2YAdQgqDCfdpJ4K/wE=; b=JdOjoiK3hnmpNRKbHWXn5S8PizT82TysPDqgOkrB1wOixTV5nOWlOHREMP2E/CkjWAzatX l94nIucPOmIo0TrrFNcZEcd7HHnxC7W9fNvpAmoOmkHZVQ/yTSek5Tj322d38zZTCVygMe /+eKsHJcqOxxSbp13gSvSL4yDj2F/cwo9vwBiiC4kkhJezsHKTtW4VE7ZYdttGYAHNu4VF cH2ahgzczsMNnDv5p+j5Zz7E4AHZfFQYt1tXTaoZFPv+oJBJpMq94YPOJLHKsQcmgLEw6z WX9TibNRnbIa23fpCttjX+PyZDMPfPHsKWCjFUn9PV4a6jS9+q9q+h1/F9493g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675067606; a=rsa-sha256; cv=none; b=IVaG3qloxHnJTY0op481YlKV7mWKuUfqVcozGcYoxWpkB7spyXeq/KvXbqhbiEwlflf2An Zk4TTagdCsgw4Jq9sXmKKX9i24mnLS4nGalyYeRs2EoVKd6E51JoEu1gEq1Nwb1YL+H/4c DIev/kLCLlW4TXKelyP3GM/tclEcgjJZlr9egoAxSj+iZp4eCSA84lUKjqek8X7aKwFWzM JcOO20g3+FFWrPwqhH17ZnM+tWZvy94aBJ5o9LOacsIEFHjQvV257b/Q763qdyBhWDHhzp Xn4b9ux+XXq4sU3GoGB/z00WUioY9nCqfKNMibOxjvhHW0msUKRwTWjTwiC7vA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P51fZ2LJQz11mn; Mon, 30 Jan 2023 08:33:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30U8XQ7n058021; Mon, 30 Jan 2023 08:33:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30U8XQb3058019; Mon, 30 Jan 2023 08:33:26 GMT (envelope-from git) Date: Mon, 30 Jan 2023 08:33:26 GMT Message-Id: <202301300833.30U8XQb3058019@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: 349aac52ac19 - main - stress2: Added a test scenario for "out of inodes" issue with UFS+SU List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 349aac52ac1921af6c51deda8c23b12515d8f855 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=349aac52ac1921af6c51deda8c23b12515d8f855 commit 349aac52ac1921af6c51deda8c23b12515d8f855 Author: Peter Holm AuthorDate: 2023-01-30 08:28:37 +0000 Commit: Peter Holm CommitDate: 2023-01-30 08:28:37 +0000 stress2: Added a test scenario for "out of inodes" issue with UFS+SU --- tools/test/stress2/misc/mkdir.sh | 75 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/tools/test/stress2/misc/mkdir.sh b/tools/test/stress2/misc/mkdir.sh new file mode 100755 index 000000000000..155de9b61cc6 --- /dev/null +++ b/tools/test/stress2/misc/mkdir.sh @@ -0,0 +1,75 @@ +#!/bin/sh + +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2023 Peter Holm +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# + +# Demonstrate incorrect "out of inodes" message with SU enabled. +# No issue without SU. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +. ../default.cfg + +set -eu +prog=$(basename "$0" .sh) +log=/tmp/$prog.log +s=0 +mount | grep -q "on $mntpoint " && umount $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart + +mdconfig -a -t swap -s 100m -u $mdstart +[ $# -eq 1 ] && flags="$@" || flags="-Un" +echo "newfs $flags /dev/md$mdstart" +newfs $flags /dev/md$mdstart > /dev/null +mount /dev/md$mdstart $mntpoint +jot 10 | xargs -I% mkdir $mntpoint/% +set +e + +ifree1=`df -i $mntpoint | tail -1 | awk '{print $7}'` +before=`df -i $mntpoint` +n=$(((ifree1 - 5) / 10)) +for i in `jot 5`; do + for j in `jot 10`; do + jot $n | xargs -P0 -I% mkdir $mntpoint/$j/% + jot $n | xargs -P0 -I% rmdir $mntpoint/$j/% + done +done 2>&1 | head -5 +ifree2=`df -i $mntpoint | tail -1 | awk '{print $7}'` +after=`df -i $mntpoint | tail -1` +if [ $ifree1 -ne $ifree2 ]; then + echo "$before" + echo "$after" + s=1 + ls -alsrt $mntpoint | head -20 +fi + +umount $mntpoint +fsck -fy /dev/md$mdstart > $log 2>&1 +grep -Eq "WAS MODIFIED" $log && { s=2; cat $log; } + +mdconfig -d -u $mdstart +rm -f $log +exit $s From nobody Mon Jan 30 08:33:27 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P51fb5Gnjz3bvPC; Mon, 30 Jan 2023 08:33: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 4P51fb4MHVz3hmh; Mon, 30 Jan 2023 08:33:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675067607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CIT1rOixjsG5PVs3pDoXSey7sz1PZ0/mpw8Fa0e2RYU=; b=aY8SC3885nKHvpeK+pDlW7Tkx48UKYJbrxcO6vdW237rQeU8PHzg8z+Lwbw8fwU7DTqtXT Rq9PUT8MwNggb1gyajIvyIcYznA1OpT+Dv5kuifbLmMyue5ubl6umyQ2bfOywFqjtTERqC Ad/PtaOZ/kT3VmlyfLCWjTmpjHJ1czi8ir+gQFh6pYYrudqLb3JXDg/u99cm01Q+xFuvK7 +NxChoOoyD4/4naYQh9tK9fNqc6l5gfertIMNmnRsF+7JTZcBDHgwBZUsMe9ZFvKW3NYd1 hy6oxAneREXl3tQz4qI3cytTlHHEYUUUn/yIe6wGF/HJYvIj2A5SDVrFQAUurg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675067607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CIT1rOixjsG5PVs3pDoXSey7sz1PZ0/mpw8Fa0e2RYU=; b=BCwZbpbvHgUT2UIhL6R8W+0W4XLKhSVIwTWNp3ji1TIJdFmEN9LK7vJYpbU0skMUsbrNjX DUIuILZ3BDmeUCSrWqfb+4Hn09SFNln3neky4R+FqQwBC5m5PnyfyngbfTtIAYlA7b27uJ 2eCZxoDFX7NjbCos+d4SZ7JM0WdCSEnpj+3dP3Q+jLQI+Zjkr3Tl/lFO435alslS/nwMcA grNjKz/vO1tZLnTXFic8AktdI7O2bj6wthbyBLNCRpKVrtJHnKZh24a7vLE3XeTanVUwqq JUklHolY74kBeoHLf2L2sZ7oH1sDU5kt/dB/wbgemeXXXpZPkV+A+UQHyuhxmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675067607; a=rsa-sha256; cv=none; b=oTgkUBlnPDtW3TQ4TvyRYuYU/hf0YhhI8J9k1i1rsAjsU4IJ6azxdvd434tPMTRN28QZBF yU98D/5MEAaAPRhFMzi8+SekZ0TaOTjpZsxm+5KuSZT/7VUxAHzzhhr5tUHFfENAbG8/Lb UjHkYE5Vmqa1AT6/LAQvxXyXd6YuPxUqTp0VvdlJnPS5UVOlYp6is9HZhS7OLPNLhf0LC7 45RwD97MjsV/Rt+7g9OftMZCuHw5Md1fmwXITlv8AhRz+ursD7cLCTxb4REDWWC6l16YOh Q6XIxhCdJfmGSDQIu67aVCrZa0fpjuMMZT66qY+s6Xa05O5pkma9qg7U78EubQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P51fb3GlKz11jH; Mon, 30 Jan 2023 08:33:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30U8XRRP058048; Mon, 30 Jan 2023 08:33:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30U8XR91058047; Mon, 30 Jan 2023 08:33:27 GMT (envelope-from git) Date: Mon, 30 Jan 2023 08:33:27 GMT Message-Id: <202301300833.30U8XR91058047@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: bbdd27f9d729 - main - stress2: Avoid unrelated disk full messages from tests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbdd27f9d72941e736bec94d0538b0cdf8d26224 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=bbdd27f9d72941e736bec94d0538b0cdf8d26224 commit bbdd27f9d72941e736bec94d0538b0cdf8d26224 Author: Peter Holm AuthorDate: 2023-01-30 08:32:43 +0000 Commit: Peter Holm CommitDate: 2023-01-30 08:32:43 +0000 stress2: Avoid unrelated disk full messages from tests --- tools/test/stress2/misc/unionfs5.sh | 11 ++++++----- tools/test/stress2/misc/unionfs6.sh | 4 ++++ tools/test/stress2/misc/unionfs7.sh | 4 ++++ tools/test/stress2/misc/unionfs8.sh | 8 ++++++-- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/tools/test/stress2/misc/unionfs5.sh b/tools/test/stress2/misc/unionfs5.sh index 5e12ffbf5abd..c08f0d1f5995 100755 --- a/tools/test/stress2/misc/unionfs5.sh +++ b/tools/test/stress2/misc/unionfs5.sh @@ -50,8 +50,8 @@ for i in $md1 $md2; do mdconfig -l | grep -q md$i && mdconfig -d -u $i done -mdconfig -a -t swap -s 2g -u $md1 -mdconfig -a -t swap -s 2g -u $md2 +mdconfig -a -t swap -s 5g -u $md1 +mdconfig -a -t swap -s 5g -u $md2 newfs $newfs_flags -n md$md1 > /dev/null newfs $newfs_flags -n md$md2 > /dev/null mount /dev/md$md1 $mp1 @@ -68,11 +68,12 @@ else echo "Using FFS" export RUNDIR=$mp1/stressX fi -export runRUNTIME=2m +export CTRLDIR=$mp2/stressX.control +export runRUNTIME=2m -(cd ../testcases/mkdir; ./mkdir -t 2m -i 20) +(cd ../testcases/mkdir; ./mkdir -t 2m -i 20 -l 100) -find $RUNDIR -ls | head -5 +find $RUNDIR -ls | grep -v 'stressX$' | head -5 while mount | grep -Eq "on $mp2 .*unionfs"; do umount $mp2 && break sleep 5 diff --git a/tools/test/stress2/misc/unionfs6.sh b/tools/test/stress2/misc/unionfs6.sh index 7291a6f61fd8..3adc34b436ff 100755 --- a/tools/test/stress2/misc/unionfs6.sh +++ b/tools/test/stress2/misc/unionfs6.sh @@ -57,6 +57,10 @@ mount -t unionfs -o noatime $mp1 $mp2 set +e mount | grep -E "$mp1|$mp2" +set `df -ik $mp2 | tail -1 | awk '{print $4,$7}'` +export KBLOCKS=$(($1 / 4)) +export INODES=$(($2 / 4)) + export CTRLDIR=$mp2/stressX.control export INCARNATIONS=10 export LOAD=80 diff --git a/tools/test/stress2/misc/unionfs7.sh b/tools/test/stress2/misc/unionfs7.sh index ad4514c60532..9c0285ef2ef5 100755 --- a/tools/test/stress2/misc/unionfs7.sh +++ b/tools/test/stress2/misc/unionfs7.sh @@ -60,6 +60,10 @@ mount -t unionfs -o noatime $mp1 $mp2 set +e mount | grep -E "$mp1|$mp2" +set `df -ik $mp2 | tail -1 | awk '{print $4,$7}'` +export KBLOCKS=$(($1 / 4)) +export INODES=$(($2 / 4)) + export CTRLDIR=$mp2/stressX.control export INCARNATIONS=10 export LOAD=80 diff --git a/tools/test/stress2/misc/unionfs8.sh b/tools/test/stress2/misc/unionfs8.sh index b0d9deb354d2..15107056d85f 100755 --- a/tools/test/stress2/misc/unionfs8.sh +++ b/tools/test/stress2/misc/unionfs8.sh @@ -51,8 +51,8 @@ for i in $md1 $md2; do mdconfig -l | grep -q md$i && mdconfig -d -u $i done -mdconfig -a -t swap -s 4g -u $md1 -mdconfig -a -t swap -s 4g -u $md2 +mdconfig -a -t swap -s 5g -u $md1 +mdconfig -a -t swap -s 5g -u $md2 newfs $newfs_flags -n md$md1 > /dev/null newfs $newfs_flags -n md$md2 > /dev/null mount /dev/md$md1 $mp1 @@ -69,6 +69,10 @@ mount -t unionfs -o below $mp1 $mp2 set +e mount | grep -E "$mp1|$mp2" +set `df -ik $mp2 | tail -1 | awk '{print $4,$7}'` +export KBLOCKS=$(($1 / 6)) +export INODES=$(($2 / 6)) + export CTRLDIR=$mp2/stressX.control export INCARNATIONS=10 export LOAD=80 From nobody Mon Jan 30 08:50:42 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P522V4ngPz3bxbp; Mon, 30 Jan 2023 08:50: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 4P522V4MFpz3l9b; Mon, 30 Jan 2023 08:50:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675068642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5EhH014mku+RVegEJuWDs0C+PCJsr0Eb3STjhWms+1Y=; b=Lto03Jn7LzHcmkSOf2DhdhIE6XBqFKtphxJIFgB4G62cD8aRWZKDGi2mnifgLVIpF1hgRk cyLZkVBEcG/Xn9qpLMhIxk3rqIRxtxw93PPJAeI9uLT74lb4d4PqeC4F1J/oj0gaX8vD68 LUpRVz3d7hGgXP//gSeuKQxPV8b9zDUvO1r13nbAAm6vUBSMwrXX3Q5UOJIHE9K3oSriEh DsEKb6zvXtFT8WwsQiwKhZ7VIcv1GROgWA/vKfpGGBvBsQnYiGh6jR8Nv+yd9nPIpMfmHV i6JjSlFHPckozca33PtTzkpyyGdIy670dleZ5rg6rS9/ZSBZnbX83+x/tr4YCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675068642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5EhH014mku+RVegEJuWDs0C+PCJsr0Eb3STjhWms+1Y=; b=LAmQkmYZlgoW8nhYiNitSi8yKZ2hz6TcPdsF0QWdgaBsEuurXzNFY3wefaomDKO/O+AVt0 JLPRFMrEMV0UDmEP2RMkoNhTf1h5CZCQ8E8IFy41tVyPId5iSZB73TgJyWiKufDG7U8tie 6y4IS3V3C1tKJObCI6hOLynqzoAI6CnpD2+NyLT6yFSgFq7zoPedDYiXAak/tKIG2iwWpb d2svTeRt2uBlq3RSVPkMPYdWlrLw4jTwnazrduRQ6XjbZlQQ7WyK2VNEUCGmxUlIvzXCpx K7DL+EqeCxgooqZ3tFqSdWRIQAF2s19N1yRru38OuFS+CO8TZEtW+NAZQ/a2RA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675068642; a=rsa-sha256; cv=none; b=TodXjPUQWwAnjHtgB8oN5JfYkNPEK6vN6xf1w/Vdh9zCc5FSHNjuPW/kvrb/5OOY527dt1 FzsZ1tyY8hrD+enwh2WQSXTYpBLAu5YSltxpkC+UlACfSN7MfWwmLIzQhs4jRJqJxlivaE zzNCmDoqxwq3BKtzkkyeiZ50imewItRZoUw+6DpNWXTyQDrTV0UMVaN1t1OUTC6Jb/LIob E2qMJkWl1j5lKv6OZmNNG1pXr9KRHMGxs052/a3ZyDqmHanmkv6vwge0CkNT0JbPFLLbo0 1I91kHSL65r60/rmLUwxacg9TYZdjFk/d5B6SO5B+JW/N8nUr7URaddUvlE4/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 4P522V3Q49z12RP; Mon, 30 Jan 2023 08:50:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30U8ogJs083164; Mon, 30 Jan 2023 08:50:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30U8ogHI083163; Mon, 30 Jan 2023 08:50:42 GMT (envelope-from git) Date: Mon, 30 Jan 2023 08:50:42 GMT Message-Id: <202301300850.30U8ogHI083163@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: bbe0def9b079 - main - stress2: Added a syzkaller reproducer List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbe0def9b079e929c1920b00e60b713dbb6b7474 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=bbe0def9b079e929c1920b00e60b713dbb6b7474 commit bbe0def9b079e929c1920b00e60b713dbb6b7474 Author: Peter Holm AuthorDate: 2023-01-30 08:50:19 +0000 Commit: Peter Holm CommitDate: 2023-01-30 08:50:19 +0000 stress2: Added a syzkaller reproducer --- tools/test/stress2/misc/syzkaller63.sh | 75 ++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/tools/test/stress2/misc/syzkaller63.sh b/tools/test/stress2/misc/syzkaller63.sh new file mode 100755 index 000000000000..647801dbdbb9 --- /dev/null +++ b/tools/test/stress2/misc/syzkaller63.sh @@ -0,0 +1,75 @@ +#!/bin/sh + +# Fatal trap 12: page fault while in kernel mode +# cpuid = 1; apic id = 01 +# fault virtual address = 0x20 +# fault code = supervisor read data, page not present +# instruction pointer = 0x20:0xfa1a2c +# stack pointer = 0x28:0x27a41a80 +# frame pointer = 0x28:0x27a41a98 +# code segment = base 0x0, limit 0xfffff, type 0x1b +# = DPL 0, pres 1, def32 1, gran 1 +# processor eflags = interrupt enabled, resume, IOPL = 0 +# current process = 804 (syzkaller63) +# trap number = 12 +# panic: page fault +# cpuid = 1 +# time = 1675071979 +# KDB: stack backtrace: +# db_trace_self_wrapper(d,2048e3a0,27a41a40,20,c,...) at db_trace_self_wrapper+0x28/frame 0x27a418d0 +# vpanic(146c355,27a4190c,27a4190c,27a41938,141f1d6,...) at vpanic+0xf4/frame 0x27a418ec +# panic(146c355,15010e8,0,fffff,1dfc39b,...) at panic+0x14/frame 0x27a41900 +# trap_fatal(2048e3a0,2048e3a0,27a4196c,1008e0a,18cd6638,...) at trap_fatal+0x346/frame 0x27a41938 +# trap_pfault(20,0,0) at trap_pfault+0x6f/frame 0x27a4196c +# trap(27a41a40,8,28,28,0,...) at trap+0x31b/frame 0x27a41a34 +# calltrap() at 0xffc0321f/frame 0x27a41a34 +# --- trap 0xc, eip = 0xfa1a2c, esp = 0x27a41a80, ebp = 0x27a41a98 --- +# kern_cpuset_getid(141f60e,0,9,0,0,0) at kern_cpuset_getid+0x10c/frame 0x27a41a98 +# sys_cpuset_getid(2048e3a0,2048e644,2048e3a0,2048e3a0,27a41b9c,...) at sys_cpuset_getid+0x32/frame 0x27a41ac0 +# syscall(27a41ba8,3b,3b,3b,ffbfe9fc,...) at syscall+0x1ef/frame 0x27a41b9c +# Xint0x80_syscall() at 0xffc03479/frame 0x27a41b9c +# --- syscall (486, FreeBSD ELF32, cpuset_getid), eip = 0x2056317d, esp = 0xffbfe990, ebp = 0xffbfe9b0 --- +# KDB: enter: panic +# [ thread pid 804 tid 100092 ] +# Stopped at kdb_enter+0x34: movl $0,kdb_why +# db> x/s version +# version: FreeBSD 14.0-CURRENT #0 main-n260354-34b867ca30479: Mon Jan 30 07:26:30 CET 2023 +# pho@mercat1.netperf.freebsd.org:/mnt25/obj/usr/src/i386.i386/sys/PHO +# db> + +. ../default.cfg +prog=$(basename "$0" .sh) +[ `uname -p` = "i386" ] || exit 0 + +cat > /tmp/$prog.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int main(void) +{ + syscall(SYS_mmap, 0x10000000, 0x1000000, 7, 0x1012, -1, 0); + syscall(SYS_cpuset_getid, 0, 9, 0ull, 0); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c || exit 1 + +(cd /tmp; timeout -k 3s 2s ./$prog) + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core \ + /tmp/syzkaller.?????? +exit 0 From nobody Mon Jan 30 11:33:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P55fl0kytz3cL2S; Mon, 30 Jan 2023 11:33: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 4P55fl00Spz47LZ; Mon, 30 Jan 2023 11:33:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675078431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E+ETLrf/i+02EqmzGh/wk50z0uV6WTXBkp79YV8rH3s=; b=lkycDPTJ2OB9T/BZfxh4rr3Ecs7X85hehydRVyUgsGxR+6mRoOkpVUZOqNrnItrBxTekKJ bNfQJFRSJ+zTTIln51aD/ux7JYkMyKreU7PBciQzbpYsv7bSdBWVxx14gik3caWrzGo3hX Apj+vSKfV4xrWebNk6lA/GiTnYXnm/zULqI5kNTKyj+lMAKENvb47fDRXHXTrwTc7KaVa6 H6ciYViNpZFKvOmLzgl9D1P1Au8+RH/P8e1AfgDk+90wkQD9wkGuzbQwHQRQ0L+SJULHGr GdTIChQA20E9JqScFSAjYATlPeW+py5B8D3NLd0Q7+FShJudTy9PKn2zxVM4HA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675078431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E+ETLrf/i+02EqmzGh/wk50z0uV6WTXBkp79YV8rH3s=; b=FUE9D+bqJtIvOdJN6k2HN6Qv9td2KhtqHfslcaSuqwh1Z2gV7HvU7fm3IRQSebqkUA7paL 10OeyImxEGWlrAO4aI+B4w0wqOvBh+icNQhwwFZAnbnWA7wKSDjWK4UbiIl34FpWHyKk5C b9UtjkZ1zZevnwSnsXtGl3/WB+LjYHsSku81PhMoWXtSrFoNVaAl2MZj+9Th95qOTnVWdc 1sjrph8wySjZ/LokJOM1jFsk1raDrW+2sCJ8BdfVfA1x/xhKZi0ndwgiwS7J8MrYJndz3E oLFJg02VfaJW6QtbjFLx5u0kmBAFCmVpxEtC32n9ghVL/ZN8wWsL+ZSx87Bo9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675078431; a=rsa-sha256; cv=none; b=SLzsF96vDEbuUKzt8fKGO0RPsmvFjn9DnghL46cfELX2/9PLh1TM8yz8bc7Tz63ZUsuJU7 fF7RqHBCyGwA3r4hQodPrZq9AP+Y9+1Qclg/66WfWAP8fR/nBU31XwwwtfO4yW2JGbr8gr eFssIp9fsTGD1V4YMhXc4aK3Srwj/QZCZs7lxInGPqei8Y8U+0aqJH/iAud49QqzW7DYz+ +EdxtLKzstkqGONLIBXGUVEYfTK9cWh1ImoQ19MwjB4OzLua5Bb68XqkA6rHpDnSa8nIa1 TgT8sfeHMSceFxIegHsVS821e9iu3HRmSFyIwR2Qj9bZPAvWBszIUE0+XjAFNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P55fk68csz1630; Mon, 30 Jan 2023 11:33:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UBXoLV015531; Mon, 30 Jan 2023 11:33:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UBXo0Y015530; Mon, 30 Jan 2023 11:33:50 GMT (envelope-from git) Date: Mon, 30 Jan 2023 11:33:50 GMT Message-Id: <202301301133.30UBXo0Y015530@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: ee49c5d33d93 - main - carp: turn net.inet.carp.allow into a RW tunable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ee49c5d33d93a6b10222f64a0dc16590ac2048a0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=ee49c5d33d93a6b10222f64a0dc16590ac2048a0 commit ee49c5d33d93a6b10222f64a0dc16590ac2048a0 Author: Boris Lytochkin AuthorDate: 2023-01-29 16:42:40 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-30 11:23:53 +0000 carp: turn net.inet.carp.allow into a RW tunable Currently CARP starts announcing its state when initialised, regardless of the state of the other services provided by the server. As a result, the device can become master while still loading the firewall ruleset or initialising long-starting service. This change adds the way to request delayed CARP start by setting the net.inet.carp.allow=0 in the loader.conf. Differential Revision: https://reviews.freebsd.org/D38167 MFC after: 2 weeks --- sys/netinet/ip_carp.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 7c0318c82e75..3846576b4482 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -216,8 +216,8 @@ static int carp_demote_adj_sysctl(SYSCTL_HANDLER_ARGS); SYSCTL_NODE(_net_inet, IPPROTO_CARP, carp, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "CARP"); SYSCTL_PROC(_net_inet_carp, OID_AUTO, allow, - CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, - 0, 0, carp_allow_sysctl, "I", + CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, + &VNET_NAME(carp_allow), 0, carp_allow_sysctl, "I", "Accept incoming CARP packets"); SYSCTL_PROC(_net_inet_carp, OID_AUTO, dscp, CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, @@ -2197,6 +2197,15 @@ carp_mod_cleanup(void) sx_destroy(&carp_sx); } +static void +ipcarp_sysinit(void) +{ + + /* Load allow as tunable so to postpone carp start after module load */ + TUNABLE_INT_FETCH("net.inet.carp.allow", &V_carp_allow); +} +VNET_SYSINIT(ip_carp, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, ipcarp_sysinit, NULL); + static int carp_mod_load(void) { From nobody Mon Jan 30 11:33:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P55fm1VCPz3cLRQ; Mon, 30 Jan 2023 11:33: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 4P55fm0w0dz47mG; Mon, 30 Jan 2023 11:33:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675078432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nJG+MEhaazwb4lxsxO1OJjzFqdGOHHg17DvtzY2qJhY=; b=nSZ9+Jm8N9UvG48CO+9NTL0r2EjEv/vDs9O8Jx1xgnmQw8QfJYl3p2245HtrXf/QgAIqky dXwGIJaSpn7VgEyehm6gR629xIL85zQFUX/+AZElzmP336BOZ4wFhw4wV+Kmvp9T5fk0Ah VAFvANH4WS8DJTqj1uStPhZ4P/Y0j1WakcpB08JEELr9hm84jAnf6DDjD4CI+tbT4ClgcH cl12Dpj51b+ypiMKfjjBLRsVVHTRDNuPQqZHVQ43ozDt48IFwNk9qd2OUCPfojVHxyyNcs p1c0FLbb3foOiTidzhrFSw1iapN+o8JVb1P7P58oaOr+bcaBMkexIDwol2cxGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675078432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nJG+MEhaazwb4lxsxO1OJjzFqdGOHHg17DvtzY2qJhY=; b=f9TAELzW/7jz74+CLLY97LrqEVcN4yBwrqgTJXSgNbEbBPSHstU1wM2lCgHcwRBBKHh1jl Y6CQCFfPhc2zqR63m9GWcXhaWbPrrAW/QytlN61tenZMfYEh7AGUJd9zGkoDy9tFwUQhGf apR6PLtbFXswZFe2jRRtahRVpnQ2ipnUGDQMU8xtE/yESDfHOJUECZ4qEabU5XvBEUWLNs FASKLWw/nZg2ZdAim+OhuwLL/SmHLUmudt4U3P39ClAoQxIIWi2Uri3UiNX6bvKPPnVwaW sVUI/oOze9wTi2d17bvgDVXXMyg5KQrF6LKOJ4/75BGReG+TSWqQqsqU3Bvb/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675078432; a=rsa-sha256; cv=none; b=ZCMsgPBm88go8u2mVuEzIVdeaoCCy3ZLyZGNk8S4+0XJf6t/axYLjaLYpRP1D72JyTAyI4 WT1LWTO5mboqglikyNyUw3otmamkP9bt9xRv1xJsWi9GZhpDe95wccK855jY95lubu1By/ SAY/rd2rbH1rdWgNR2yDOx1gX7a+WCXSbogamMshcM0EcSA5nd4u5VxFSxlZANHECHIsce x0G2QoMbP0kJobGIvhRP24w462+XxKiTlTUQReWwCxMQ2fuj8P3YhSGz1/bmotb4r2AJQj U6OkCqRNVIGpS0gitPvHk8MP/e3URIQLK0dXwyDBUBLIIAe09zYUfIUvOVbxmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P55fl6qc4z16DR; Mon, 30 Jan 2023 11:33:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UBXpxv015562; Mon, 30 Jan 2023 11:33:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UBXplu015561; Mon, 30 Jan 2023 11:33:51 GMT (envelope-from git) Date: Mon, 30 Jan 2023 11:33:51 GMT Message-Id: <202301301133.30UBXplu015561@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 7fc9cfa57ccd - main - netlink: add "netlink" to the list of kernel features List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7fc9cfa57ccd4ee8ee71f8edfacfc26afab9cd2e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=7fc9cfa57ccd4ee8ee71f8edfacfc26afab9cd2e commit 7fc9cfa57ccd4ee8ee71f8edfacfc26afab9cd2e Author: Alexander V. Chernikov AuthorDate: 2023-01-30 11:13:51 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-30 11:23:53 +0000 netlink: add "netlink" to the list of kernel features Reduce the amount of debug messages on module init/detach. MFC after: 1 week --- sys/netlink/netlink_module.c | 10 +++++----- sys/netlink/netlink_route.c | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/netlink/netlink_module.c b/sys/netlink/netlink_module.c index a433022b82b7..f820796a6028 100644 --- a/sys/netlink/netlink_module.c +++ b/sys/netlink/netlink_module.c @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include MALLOC_DEFINE(M_NETLINK, "netlink", "Memory used for netlink packets"); +FEATURE(netlink, "Netlink support"); #define DEBUG_MOD_NAME nl_mod #define DEBUG_MAX_LEVEL LOG_DEBUG3 @@ -156,7 +157,7 @@ netlink_register_proto(int proto, const char *proto_name, nl_handler_f handler) nl_handlers[proto].cb = handler; nl_handlers[proto].proto_name = proto_name; NL_GLOBAL_UNLOCK(); - NL_LOG(LOG_DEBUG, "Registered netlink %s(%d) handler", proto_name, proto); + NL_LOG(LOG_DEBUG2, "Registered netlink %s(%d) handler", proto_name, proto); return (true); } @@ -170,7 +171,7 @@ netlink_unregister_proto(int proto) nl_handlers[proto].cb = NULL; nl_handlers[proto].proto_name = NULL; NL_GLOBAL_UNLOCK(); - NL_LOG(LOG_DEBUG, "Unregistered netlink proto %d handler", proto); + NL_LOG(LOG_DEBUG2, "Unregistered netlink proto %d handler", proto); return (true); } @@ -203,12 +204,11 @@ netlink_modevent(module_t mod __unused, int what, void *priv __unused) switch (what) { case MOD_LOAD: - NL_LOG(LOG_DEBUG, "Loading"); - NL_LOG(LOG_NOTICE, "netlink support is in BETA stage"); + NL_LOG(LOG_DEBUG2, "Loading"); break; case MOD_UNLOAD: - NL_LOG(LOG_DEBUG, "Unload called"); + NL_LOG(LOG_DEBUG2, "Unload called"); if (can_unload()) { NL_LOG(LOG_WARNING, "unloading"); netlink_unloading = 1; diff --git a/sys/netlink/netlink_route.c b/sys/netlink/netlink_route.c index 42b0bc66666e..037fd2170c66 100644 --- a/sys/netlink/netlink_route.c +++ b/sys/netlink/netlink_route.c @@ -115,7 +115,7 @@ static struct rtbridge *nlbridge_orig_p; static void rtnl_load(void *u __unused) { - NL_LOG(LOG_NOTICE, "rtnl loading"); + NL_LOG(LOG_DEBUG2, "rtnl loading"); nlbridge_orig_p = netlink_callback_p; netlink_callback_p = &nlbridge; rtnl_neighs_init(); From nobody Mon Jan 30 15:13:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5BXf025Hz3bS29; Mon, 30 Jan 2023 15:13: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 4P5BXd6d4Nz3xQj; Mon, 30 Jan 2023 15:13:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675091633; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJbc/U3TpG994YdOTtTye2++8o2pwnc/ZOt7726hL40=; b=ga4CVnfhtN45tCvz+iZdwpg4EgfLKSM4oIS0u9HaazTOmiWgAyhVg2kH/xAmSUMGJY8d2P dmNZHY1OJPUqIXaSgyF04CTYwx39IstDqyzgSwEyke74FhfeCS2UgJ3UXrJme41gqUv4u7 ktNL2ClFjYmH1e1FEVUIDTgoPgBpopAp9EM2g7uL7jWtMybUv7Wc9QKJjcBljd6eHx1H2t 2wwnEe4v+B4KlzukiZNjp/dyyEJ0IdgB62SXls4GtB7Im4LAlCMTymIWKdpz7w5iD95gea WmJndnzjPRvk/KZ1Fi4TKEZUmDUrlOqPA1E1Hx0M0k+xe09k1ad5dmGuj2vSVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675091633; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SJbc/U3TpG994YdOTtTye2++8o2pwnc/ZOt7726hL40=; b=v+ud720QVdeYm0QxkUPn2rpI8wmF79e/lz3CqZgiIFd7Hazl+EQ/S93CLYCpHofn493tx/ EvnP/hiK2H56l8vKFr+6mqZWCHIOsw3i6ABDU/7TmOl56RapxfLXRyiLgwl+rZmEDcnRTv rFfFYvxl9qDP1kc3+iqiNFhDnQ+uqZT1p7AQa4+KY41ZhJK1Zgg0vsJOEQEZCKPTEXlYop TuNaGImSsYOGw5Fnfl5/DaGPsMjxQ1mqaUEDiGIj5pdKY1MqdiP9mPARJ1ZJa86n9RRXX8 VVxYnmZebFq56Cs7hcOijSnS2VTizkfu5H6/9kK3GKnaGuBAYTu0hwyRqNRKEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675091633; a=rsa-sha256; cv=none; b=UGH/qrSMrltOUoZIoeIQJkyaC7XVc+8B6Eh89luv4SKcZiVj0Z+Yn/CyatBxGG3aVVW7Ct 4NjnBz1I32ylxuApjogr6Tx/xKR7ghDf78vFEG+CQd8LpagGkSKXbF/yizdU4ohMrbJ80W W/IS1C+NURV0y+h4Y4iawOT+oaDdYdZEcukEQSPiGXhohhOVdxHBfM6/xpUAMDaA2f/rZw 1GF83xHEVdtrv6J5YpI3r1lTMeNsTyMdYCV6K4y6Ei4ErKDjj0IBvZptsHFkbQR03o7v8V 7b97kcPMZGTUDFlEs11SIEmNY4UuMEotQxO/ywzk4fSN4RcV9TW2Bx82thmCEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5BXd5gdBz1CGv; Mon, 30 Jan 2023 15:13:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UFDrhc061085; Mon, 30 Jan 2023 15:13:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UFDrGh061084; Mon, 30 Jan 2023 15:13:53 GMT (envelope-from git) Date: Mon, 30 Jan 2023 15:13:53 GMT Message-Id: <202301301513.30UFDrGh061084@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 6eaaed42943b - main - netlink: add UPDATING entry on linux_common(4) reliance on netlink. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6eaaed42943bb67ecff470f406ab203177b9d937 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=6eaaed42943bb67ecff470f406ab203177b9d937 commit 6eaaed42943bb67ecff470f406ab203177b9d937 Author: Alexander V. Chernikov AuthorDate: 2023-01-30 15:12:19 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-30 15:13:38 +0000 netlink: add UPDATING entry on linux_common(4) reliance on netlink. Reviewed by: dchagin --- UPDATING | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/UPDATING b/UPDATING index 172c611ee9f0..4d40cf842c0c 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 14.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20230130: + As of commit 7c40e2d5f685, the dependency on netlink(4) has been added + to the linux_common(4) module. Users relying on linux_common may need + to complile netlink(4) module if it is not present in their kernel. 20230126: The WITHOUT_CXX option has been removed. C++ components in the base system are now built unconditionally. From nobody Mon Jan 30 15:30:17 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5BvZ1BkSz3bV5X; Mon, 30 Jan 2023 15:30: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 4P5BvZ0dWLz41gD; Mon, 30 Jan 2023 15:30:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675092618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U5evfi/czMvXFe5OeqWpZUwlNbJ9YKUy4Ud4LJ9xgcM=; b=UTEuAnmHEnSIEmo/FSqGO9hFX+5YvVWSHdMAW7hUdzn33BLi5wU2i5rZIsqXjvqyWbeMBf sQlcbPcQIBSoB+SRB3qBz7aghKLNX3bvwU4VCplkC24rj0a+js7XENHCdIfVwSa63WDNya BRKWqQiZ/cSC+0H4jONYdyfwuZ4cNBh+Zx7MOE4ovJ3XdMPFtWl87ztu+aseE3YJerfO07 zNljTNGwLpnjVorLtLKgITzYn3ROEBqM+YamJ3dsW5nRTpUXPe9rJG3/M2Nk/lHEnpPzEV Klez+6IDQMyW7X1Ng4ayuyQk/AOJ6zWr8h75RBx6D21BcYanvJiVqp/HFj4VYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675092618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U5evfi/czMvXFe5OeqWpZUwlNbJ9YKUy4Ud4LJ9xgcM=; b=NKUdQpeFd6WsAOc4wY15HZ8hOW2McuNfdZN11pzjghvbPncC++KJmnst7QFoeJIaYs7pMI lDv3+pAGkDhjxLSPJ08xNpeXnuQ1JW4iwr65abt6URzEHlNOL4BmofuaDx+mKOeVtiwLZL t6OAPvpzGP4qNqxf0kam1V5B8YhpOUcD5EnKcn1JGM5jZFRKyooGKn+GP2N2OsZLFdSXN+ 8DlDNYHt9v4uPAFMOUEXZ8Z8oyVYBKeRnxInQUggnhHP2g0lskbdNnlCPYgx644pgwJ/ui Xp/HRxb+MPNrKI3pSeoYQAGhWcp/ZHdS1StQ+Y4229Yz6fyqY4A8KAj+NPaGwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675092618; a=rsa-sha256; cv=none; b=r6cZQ6xmyqxXkjNQUOvGNQKejs3kbio7JcXNQOtqlbc/bPOwIYo/LO6WRCirf9v848rNq9 fFxKi9438c6IUEOm0towBAq1Ke8Ail4CuDeBEZDxO4OGUS2obAZuDLaCibBezVz4AsW8XR EHVMIl+J5D2jPOoke/N54UikENqn1aZAZ8EX8/MfSlGiyurOV52paDqMtZG+rQNMNwaioP tSKNVufxLiV78m4x3EkbVLtPoVPJMoGLyW/EJuYvTf3PO04sxthVUzF/5mxXo2nFaUiZYh 7Ap8bxFblbss82RfjtwtvuqIaysOsHeE6q0uRi3Qj9vy3bBsNEpAgENWEsoDUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5BvY6mF8z1Bwn; Mon, 30 Jan 2023 15:30:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UFUHxY084888; Mon, 30 Jan 2023 15:30:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UFUH8V084887; Mon, 30 Jan 2023 15:30:17 GMT (envelope-from git) Date: Mon, 30 Jan 2023 15:30:17 GMT Message-Id: <202301301530.30UFUH8V084887@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: bf2dc42d0b57 - main - UPDATING: Add missing blank line between entries List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf2dc42d0b57b32a8d576b5504926a9f7a7c3628 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=bf2dc42d0b57b32a8d576b5504926a9f7a7c3628 commit bf2dc42d0b57b32a8d576b5504926a9f7a7c3628 Author: Warner Losh AuthorDate: 2023-01-30 15:28:28 +0000 Commit: Warner Losh CommitDate: 2023-01-30 15:28:28 +0000 UPDATING: Add missing blank line between entries --- UPDATING | 1 + 1 file changed, 1 insertion(+) diff --git a/UPDATING b/UPDATING index 4d40cf842c0c..4623d1a5343c 100644 --- a/UPDATING +++ b/UPDATING @@ -31,6 +31,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 14.x IS SLOW: As of commit 7c40e2d5f685, the dependency on netlink(4) has been added to the linux_common(4) module. Users relying on linux_common may need to complile netlink(4) module if it is not present in their kernel. + 20230126: The WITHOUT_CXX option has been removed. C++ components in the base system are now built unconditionally. From nobody Mon Jan 30 16:29:05 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5DCQ0Xp6z3bssc; Mon, 30 Jan 2023 16:29: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 4P5DCP6qdXz484h; Mon, 30 Jan 2023 16:29:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675096146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H2MgovSiesW5OSVVQssk5E8/06NCb7SICnWVWgImwnI=; b=xy2fPqf/DmGsqGgSs/pvysGhjYK57UXzZcuBTrM/SM8wJzBOhsbcvleCEZ64rMf/YcLvAE cU6vCTYKshjH5BALnkZNJgVcZ/rx7Wpw2ToqpkNqtkFaVJoqYi7rCySeT+qNZzNb/1F9oM u7mvQ/gg4nh4HNUl9IdTEr+nRzI/UL8hPS5izul0OLpU0P60F+Ns+r8T4dgqrvCGq7+2RK tCdb1jU7zQAqIwDmIWWUWOh4kzA0W7yDcGeamSnS/E1huZtvMOeh1ZH4u5DvCBTgPcseUx UvSUJn7od0+eTq8s6U4MDdLueen6VyrWyeFYDME2V41+45baEK/eg8rMry4Ykg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675096146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H2MgovSiesW5OSVVQssk5E8/06NCb7SICnWVWgImwnI=; b=QQxp/CHfEXNzGEgpNCz2yCa/uD6brP4YCixLXkkI3sxpbZDnIegQWrZoqKrtinEzONJnXJ Bcuu7nD38mZdc72fltHKqNp1rF1c7Qr5sJgw27SxTKGSYv58Nv+6TXNh3CUHboaEXMgR4H tZzDiO0xt/+Wd5f6zTHgQgqruIVemgCtiyi67AgyF0C29AsHTONuHljuoftekpPYRnInWu 5PhY98raFCkB9uqtzkOWx9F2cb53u3pwFvTz58tctpMRWq2iOZQXIvFNXuayj2UNZCS67v 17fvjy3JkJgF3Sia5YgBhMnG1zEAiBHTKDoO51h/Ud8y6U+8oJ1J3xrjeY3piQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675096146; a=rsa-sha256; cv=none; b=xmLRdtIeYTd+Ayldt1PyaQs2G1xkBo+gzmzkJtCX5pztEAl3y+WPldoj98CjeGFq2nOqeI lBFlnvskZ2I7J2rUfgA6MXL0Tk+bWvBDcN9+A2ix3iBkAzz1iyWdqpoRE0Eu19d8yz9XtO cUUY/1SYTZQs3uDYy2JUTStuOEDE0YPfyHrP+IzQI58YxHUSUL0vyl/vwMiEmV0fqnCYS/ 3YLWz/eMBwceZTubKiQU/NjSDztp4VdLfKEhDsEalIbjdt0uZqIP7Z5EDy6XvfG3ZEI5px 7LakQ+fJNHa3I/IjyU6oADwvFTa6uINHfbF7cqLwtA9PNLm16XVyuIcpewDzPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5DCP5tmtzFgj; Mon, 30 Jan 2023 16:29:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UGT5a8061280; Mon, 30 Jan 2023 16:29:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UGT5Gd061279; Mon, 30 Jan 2023 16:29:05 GMT (envelope-from git) Date: Mon, 30 Jan 2023 16:29:05 GMT Message-Id: <202301301629.30UGT5Gd061279@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 2058f075b4af - main - cpuset: Handle CPU_WHICH_TIDPID wherever cpuset_which() is called. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 2058f075b4afc543b8735599bea7278e37b2e9f9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=2058f075b4afc543b8735599bea7278e37b2e9f9 commit 2058f075b4afc543b8735599bea7278e37b2e9f9 Author: Dmitry Chagin AuthorDate: 2023-01-30 16:28:54 +0000 Commit: Dmitry Chagin CommitDate: 2023-01-30 16:28:54 +0000 cpuset: Handle CPU_WHICH_TIDPID wherever cpuset_which() is called. cpuset_which() resolves the argument pair which and id and returns references to an appropriate resources. To avoid leaking resources or accessing unresolved references to a resources handle new which CPU_WHICH_TIDPID wherever cpuset_which() is called. To avoid code duplication cpuset_which2() has been added. Reported by: syzbot+331e8402e0f7347f0f2a@syzkaller.appspotmail.com Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D38272 MFC after: 2 weeks --- sys/kern/kern_cpuset.c | 43 ++++++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c index ba0a15b86e01..894d29ea1ac8 100644 --- a/sys/kern/kern_cpuset.c +++ b/sys/kern/kern_cpuset.c @@ -150,6 +150,8 @@ SYSCTL_UINT(_kern_sched, OID_AUTO, cpusetsizemin, cpuset_t *cpuset_root; cpuset_t cpuset_domain[MAXMEMDOM]; +static int cpuset_which2(cpuwhich_t *, id_t, struct proc **, struct thread **, + struct cpuset **); static int domainset_valid(const struct domainset *, const struct domainset *); /* @@ -988,6 +990,20 @@ cpuset_which(cpuwhich_t which, id_t id, struct proc **pp, struct thread **tdp, return (0); } +static int +cpuset_which2(cpuwhich_t *which, id_t id, struct proc **pp, struct thread **tdp, + struct cpuset **setp) +{ + + if (*which == CPU_WHICH_TIDPID) { + if (id == -1 || id > PID_MAX) + *which = CPU_WHICH_TID; + else + *which = CPU_WHICH_PID; + } + return (cpuset_which(*which, id, pp, tdp, setp)); +} + static int cpuset_testshadow(struct cpuset *set, const cpuset_t *mask, const struct domainset *domain) @@ -1902,6 +1918,7 @@ kern_cpuset_getid(struct thread *td, cpulevel_t level, cpuwhich_t which, switch (which) { case CPU_WHICH_TID: case CPU_WHICH_PID: + case CPU_WHICH_TIDPID: thread_lock(ttd); set = cpuset_refbase(ttd->td_cpuset); thread_unlock(ttd); @@ -1963,7 +1980,7 @@ kern_cpuset_getaffinity(struct thread *td, cpulevel_t level, cpuwhich_t which, error = cpuset_check_capabilities(td, level, which, id); if (error != 0) return (error); - error = cpuset_which(which, id, &p, &ttd, &set); + error = cpuset_which2(&which, id, &p, &ttd, &set); if (error != 0) return (error); switch (level) { @@ -2006,19 +2023,6 @@ kern_cpuset_getaffinity(struct thread *td, cpulevel_t level, cpuwhich_t which, thread_unlock(ttd); } break; - case CPU_WHICH_TIDPID: - if (id > PID_MAX || id == -1) { - thread_lock(ttd); - CPU_COPY(&ttd->td_cpuset->cs_mask, mask); - thread_unlock(ttd); - break; - } - FOREACH_THREAD_IN_PROC(p, ttd) { - thread_lock(ttd); - CPU_OR(mask, mask, &ttd->td_cpuset->cs_mask); - thread_unlock(ttd); - } - break; case CPU_WHICH_CPUSET: case CPU_WHICH_JAIL: CPU_COPY(&set->cs_mask, mask); @@ -2138,6 +2142,7 @@ kern_cpuset_setaffinity(struct thread *td, cpulevel_t level, cpuwhich_t which, switch (which) { case CPU_WHICH_TID: case CPU_WHICH_PID: + case CPU_WHICH_TIDPID: thread_lock(ttd); set = cpuset_ref(ttd->td_cpuset); thread_unlock(ttd); @@ -2283,7 +2288,7 @@ kern_cpuset_getdomain(struct thread *td, cpulevel_t level, cpuwhich_t which, return (error); mask = malloc(domainsetsize, M_TEMP, M_WAITOK | M_ZERO); bzero(&outset, sizeof(outset)); - error = cpuset_which(which, id, &p, &ttd, &set); + error = cpuset_which2(&which, id, &p, &ttd, &set); if (error) goto out; switch (level) { @@ -2475,6 +2480,7 @@ kern_cpuset_setdomain(struct thread *td, cpulevel_t level, cpuwhich_t which, switch (which) { case CPU_WHICH_TID: case CPU_WHICH_PID: + case CPU_WHICH_TIDPID: thread_lock(ttd); set = cpuset_ref(ttd->td_cpuset); thread_unlock(ttd); @@ -2506,6 +2512,13 @@ kern_cpuset_setdomain(struct thread *td, cpulevel_t level, cpuwhich_t which, case CPU_WHICH_PID: error = cpuset_setproc(id, NULL, NULL, &domain, false); break; + case CPU_WHICH_TIDPID: + if (id > PID_MAX || id == -1) + error = _cpuset_setthread(id, NULL, &domain); + else + error = cpuset_setproc(id, NULL, NULL, &domain, + false); + break; case CPU_WHICH_CPUSET: case CPU_WHICH_JAIL: error = cpuset_which(which, id, &p, &ttd, &set); From nobody Mon Jan 30 17:02:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5DyT2Np8z3byBV; Mon, 30 Jan 2023 17:02:57 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from glebi.us (glebi.us [162.251.186.162]) by mx1.freebsd.org (Postfix) with ESMTP id 4P5DyS2ybYz4KMj; Mon, 30 Jan 2023 17:02:56 +0000 (UTC) (envelope-from glebius@freebsd.org) Authentication-Results: mx1.freebsd.org; dkim=none; spf=softfail (mx1.freebsd.org: 162.251.186.162 is neither permitted nor denied by domain of glebius@freebsd.org) smtp.mailfrom=glebius@freebsd.org; dmarc=none Received: by glebi.us (Postfix, from userid 1000) id BA4B75373E; Mon, 30 Jan 2023 09:02:49 -0800 (PST) Date: Mon, 30 Jan 2023 09:02:49 -0800 From: Gleb Smirnoff To: Dmitry Chagin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 953688e823a6 - main - linux(4): Rework statfs conversion routine. Message-ID: References: <202301281020.30SAKkMB004493@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202301281020.30SAKkMB004493@gitrepo.freebsd.org> X-Spamd-Result: default: False [0.54 / 15.00]; VIOLATED_DIRECT_SPF(3.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.96)[-0.965]; MIME_GOOD(-0.10)[text/plain]; RCVD_NO_TLS_LAST(0.10)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:27348, ipnet:162.251.186.0/24, country:US]; ARC_NA(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all:c]; DMARC_NA(0.00)[freebsd.org]; FROM_HAS_DN(0.00)[]; FREEFALL_USER(0.00)[glebius]; RCVD_COUNT_TWO(0.00)[2]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Queue-Id: 4P5DyS2ybYz4KMj X-Spamd-Bar: / X-ThisMailContainsUnwantedMimeParts: N On Sat, Jan 28, 2023 at 10:20:46AM +0000, Dmitry Chagin wrote: D> The branch main has been updated by dchagin: D> D> URL: https://cgit.FreeBSD.org/src/commit/?id=953688e823a67c3e9c0096252c33b1e7ecf9a095 D> D> commit 953688e823a67c3e9c0096252c33b1e7ecf9a095 D> Author: Dmitry Chagin D> AuthorDate: 2023-01-28 10:19:41 +0000 D> Commit: Dmitry Chagin D> CommitDate: 2023-01-28 10:19:41 +0000 D> D> linux(4): Rework statfs conversion routine. D> D> Rework the routines to convert a native statfs structure (with fixed-size 64-bit D> counters) to a Linux statfs structure (with long-sized counters) for 32-bit apps. D> D> Instead of following Linux and return an EOVERFLOW error from statfs() family of D> syscalls when actual fs stat value(s) are large enough to not fit into 32 bits, D> apply scale logics used by FreeBSD to convert a 5.x statfs structure to a 4.x D> statfs structure. D> D> For more details see cc479dda. D> D> Tested by: glebius D> MFC after: 1 week This is very important fix! It allows to run Linux version of Heroes of Might & Magic III Restoration of Erathia with your home directory residing on a large dataset. Thanks! -- Gleb Smirnoff From nobody Mon Jan 30 17:21:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5FNP6RHcz3c1f5; Mon, 30 Jan 2023 17:21:57 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5FNP61QCz4NHl; Mon, 30 Jan 2023 17:21:57 +0000 (UTC) (envelope-from danfe@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675099317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=HLLIyErjPAjsPGEISmzJKcyIu9/9LZejityZwyJT7Ac=; b=JmAka8UVevdOBuS27eu5+QendNmc/6Df/rDeokzIgndsE32J+x1rkczgcULjY5F8DY9oeb EmjRq7vVjdELqXWbkBYuSvY2QhJfaPSkhZhb7+1o4A2vcIsr14jx+krDnOhZObmuyhzWvt GOwv9U8z0yvQLhra48+v64gDQg4IKY15WEk1AKT7JCYOZGdR8LiNAYBnhmkgyyqWLQBnAY QWmSHE9I8ybZPNSTBRxv27QWzls3bJOM6p8f2JxN9KhWaD8vmwP/Vd0U5QbGDHFnacc3GZ af4WdGqRdL4kEAU8FVU0zmaA2aBJnCwJGWoRlhmTN+z+XXCQ0d4EmhcUp2TSUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675099317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=HLLIyErjPAjsPGEISmzJKcyIu9/9LZejityZwyJT7Ac=; b=P5bHo3/CWml5DIs9yaTbAKBmrYnaS+A1cWB1N1NfY6ti1H//sBwSwXVGWpgCxyFb7vhEXZ fa4VU0bM71ioW2Xp/foXaErY0a9OETTMNVs0s+7JKN8uheAPqoh1RCYKma1IKg7H0vaoqc EyQQGHUsMgzqbaAMim6EZhQ1i7/RQ9h5hzjnL/NRKGC2CyI4xL2RJim8/j9OB9wsRQOw10 kc/SJJbBoi164faLc69yWPZelTgIzPN+OObrPJLzvnKnuWjW5G3ruxeREtqI0Shc+OeXYr JZ8mHfaYvJdDdTsCT1Ij2+1HwKFKqvpEWZq7lVAcJSgjoCTpd44KK1fmtOfihg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675099317; a=rsa-sha256; cv=none; b=XzHSkA7HP46kMV8AGRiHXHM8TOtV5T7OuQ7yLcBjXhqkL4BwdFJkejy3s5YR6wNP2xXSWT gS6Rr/7TPAqv5uy8+7hs32qRkDaL6DsA3sw+5RAajtfHuGTHgiZ70vyFnF92Ydb8sHnwkD ZQp5i3Ko7stm2zjyJqjeBbkLTgvccCuqGdV2ys8bTPz0UHRlkCZTLDKlGSEatLvCTxnHeM TJ0qjvYmHEFX0iAs8exOp4I76eIYRs8wRIrPjsZE9GeL/Ut+BYsAhgdHU4XGZsxbEvx6FP cy5C5EfaJJ664kWvw6eiSi+yQuzsA0iMWxrI/5KmzIATxMCNQCI7KBz87cPCDQ== Received: by freefall.freebsd.org (Postfix, from userid 1033) id B0C541C4C; Mon, 30 Jan 2023 17:21:57 +0000 (UTC) Date: Mon, 30 Jan 2023 17:21:57 +0000 From: Alexey Dokuchaev To: Gleb Smirnoff Cc: Dmitry Chagin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 953688e823a6 - main - linux(4): Rework statfs conversion routine. Message-ID: References: <202301281020.30SAKkMB004493@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ThisMailContainsUnwantedMimeParts: N On Mon, Jan 30, 2023 at 09:02:49AM -0800, Gleb Smirnoff wrote: > On Sat, Jan 28, 2023 at 10:20:46AM +0000, Dmitry Chagin wrote: > D> commit 953688e823a67c3e9c0096252c33b1e7ecf9a095 > D> > D> linux(4): Rework statfs conversion routine. > D> > D> Rework the routines to convert a native statfs structure (with fixed-size > D> 64-bit counters) to a Linux statfs structure (with long-sized counters) > D> for 32-bit apps. > > This is very important fix! It allows to run Linux version of Heroes of Might > & Magic III Restoration of Erathia with your home directory residing on a large > dataset. GNU/Linux port of HoMM3:RoE by Loki Entertainment Software is one of the few examples of how to write your code and release it in binary-only form so that it would stay perfectly working for 20+ years on an operating it was not even intented to run originally. Thank you guys for keeping it viable in modern setups, this should help to make FreeBSD more attractive gaming platform. :-) ./danfe From nobody Mon Jan 30 17:31:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5Fbx3g3Lz3c2TK; Mon, 30 Jan 2023 17:31:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5Fbx1z46z4QYM; Mon, 30 Jan 2023 17:31:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675099917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LSROoT2JELyDl3kCSy2t4u6PD/aLEnap7itfQwcvUQY=; b=vtp3sssIjTh8W2JiI/CV2p/y1vdhWNQApNSpBj/FjDDFti/897BQUzf676Bf77aVT8rsis Xy2018gUxrXmigfha9jZwksVSI5e6fdU/jgsMROc9BL+6dMfCFQjSV6f89+9W0Fiy4ovbI +3K/2Ph8WmLTIemVlPPyPjrO/RjHqOj5rxKUFaL/oHzz2U0tugJr/hNy92mMqXt+2uia/2 eq6dGTwMB2N4yS6fTjcKzpMEfu/wQ4kKBiny0ZfKpStiTJhwr4EkTiql5O4kQhULDcPtj0 X+YIyCwOoaOoBFp3VDri8sYjMMrfTBrk/Q7m38JhlAHouiGtOsEuKbt8nrDksA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675099917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LSROoT2JELyDl3kCSy2t4u6PD/aLEnap7itfQwcvUQY=; b=Exg0QIUugFHv/MsWJ7WQC8XiTZxghre9TjA8v7Q7gXltiJzLUFI9k2kMGbwWiUaQQvhStd qquVODU9k+cxGjfXKoYeTw3sTJ2vuzOgdQob+vavteK3qO2WHGQfGLLKYBzrYFC+mC7XnJ Xssb7G2e1fI2VlDddKxk5XArGy9cIs7xOevbcBcawgldzPh5GP9cyoOhVeUt241QMXrR5W aMoEVQIaGoUi2HHboqLXcAF3M1Dt4LoTX02fXVTXmOYSi2RRQpjMm2csULXipdf2hRvVHR IRVZS6gFRl3DrSiQrENg/C7GMHUF9NYNWizIHRlmwSci0nAzt80SM6TwQE8CJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675099917; a=rsa-sha256; cv=none; b=Xy2DuYwT+7KFHz7jqswQyo/+8mlki8cUiToUYN6qj15nU74nvwASRN9lGHUTAdTF9oV/eK Ee9nb2hpSLQUE+d/6CLOwLMcIqgs6XUG/insi77Epk2yecG0T+j+n0ItoYAkyAmr8bnjFl vda4wpV3RVwy1qiq0SUEhdvUXvaqx+Zd/IbRvfH7Uev4i6e0rXxQaVv/IK/eInEpOjI3we fAf4PS0paxZQh85Zmpqv5CTGA77Es9MokFAs2AbvYGzUhcK0eo/WSXFj7BI399Q7gl6ZDM oJ8rjyT8wPNl6m481a6pRZLLYhruDDaCVlzNn9MwWzVYi4fTZ07GKsatn0FX1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5Fbx11gDzHLr; Mon, 30 Jan 2023 17:31:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UHVv2g058862; Mon, 30 Jan 2023 17:31:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UHVvsj058861; Mon, 30 Jan 2023 17:31:57 GMT (envelope-from git) Date: Mon, 30 Jan 2023 17:31:57 GMT Message-Id: <202301301731.30UHVvsj058861@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 9a93b6cf3dd9 - main - zfs: Disable -Wunused-variable for environ in main in zfs_main.c. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a93b6cf3dd97ca7bcb938f87afeb523d023f807 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=9a93b6cf3dd97ca7bcb938f87afeb523d023f807 commit 9a93b6cf3dd97ca7bcb938f87afeb523d023f807 Author: John Baldwin AuthorDate: 2023-01-30 17:31:19 +0000 Commit: John Baldwin CommitDate: 2023-01-30 17:31:19 +0000 zfs: Disable -Wunused-variable for environ in main in zfs_main.c. There is an extern declaration of the global variable environ (which has no portable header that defines it) that is unused on FreeBSD due to zfs_setproctitle_init() being a stub. Reviewed by: emaste Reported by: GCC Differential Revision: https://reviews.freebsd.org/D38231 --- cddl/sbin/zfs/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cddl/sbin/zfs/Makefile b/cddl/sbin/zfs/Makefile index 0babca17e98a..aae341f13211 100644 --- a/cddl/sbin/zfs/Makefile +++ b/cddl/sbin/zfs/Makefile @@ -77,3 +77,5 @@ CFLAGS+= \ LIBADD= jail avl nvpair geom uutil zfs_core spl tpool zutil zfs m crypto LDADD+= -pthread .include + +CWARNFLAGS.zfs_main.c+= -Wno-unused-variable From nobody Mon Jan 30 17:50:16 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5G1433JZz3c4xL; Mon, 30 Jan 2023 17:50: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 4P5G142YN5z3Fqv; Mon, 30 Jan 2023 17:50:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675101016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3m0J5SjxFpDjZ+qckHIHedy64o1IRtwP/hnV8wruZh8=; b=PwsAPk2Ee3DjMS6RCwrX0b93QBA8ubxkY7WLNKa16vWSW6H1OPn/dMolzrgtu5xfrBsrKk f4P6TqXxiIMzL+ovkQLDwRpmFkmis0R6kJJEuG5EA7w7gCri6zisKyaLXJ/RSSu5qQL1e2 ImIVQCzINnfS2XwMWGkEyiAYRwMJcC90NZ9VNqd1G+JzcuYszX0Ipq3OWC3ghejvlxYUlk 7/8SIGXV5CD0fc8f25wst0dkF8ASvudbrjpqJgiJik5XOehtKc28ERebPaUVuc9CaqgwOt PyAWuv+Cmqlyd5KbIOnFeY2nBwqnJtWNFaZ30Sh5k5ds0RGJAFMm9GBHsLow8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675101016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3m0J5SjxFpDjZ+qckHIHedy64o1IRtwP/hnV8wruZh8=; b=DtNp4zPkYaqnrMGo/MOnoDVFOGFxFMMlG2LM08T6omgn3mg5TaqfEaX3XCaFspVkeo376a Njouskh2KVjw1KEsYx9gah+Xwts1JWi/lkFId0vs6sPK+tkaiFAwQX87kxdjwO/xfmeexD X+6MLCL32vN6TFhFHZCAw3XrfIQNx11tTLgDyZf+K2Yp4OZN25VQlRMiAZjJS6WziGPFZm GTBrpoYGm+2nhUurN49Rcy9ocrY++ptZg1z+Azbfb1lFgRfg5LmIGnq86REhvjhMvfjgwJ Dnkj/x7p+30GapRGRMu/qj8lD8ei0mzWlvQzj0ImuKgqyzE13wXhd5K0l3B2mA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675101016; a=rsa-sha256; cv=none; b=dWpziT7gL+h0BnB9aJ8FKpjJNFCApg6Rvc5YhO+uMmDGtHjh7p4uwZ4Nd/ybUhqsDwj2eG 74LHPSfmvD2UCK5OS286pxEXirKUQiXKgtzDhxGyJRL7Iz8im21+S7PxqOaYhaY4yt+eSO JmmI+vhUd6ycDXWWLy2hD3XEDKdP7tLCjaa+UR0BJf13qd+BNnmfvEuHUNgjd/3DrR3DvK UynMwAR8mFuSu9VHde/ed1Z/C4gm9g4SYHjR+PwP0bxUpOMjkDzMXeKtByRywBWmm6ECvD ywaJsYppqP/YHvwVfSP2zPrGHvyzbQ6w7uHy/XrltU/AggTvTCT53KJ34R5a1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5G141bzQzHm0; Mon, 30 Jan 2023 17:50:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UHoGtn082401; Mon, 30 Jan 2023 17:50:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UHoGV5082397; Mon, 30 Jan 2023 17:50:16 GMT (envelope-from git) Date: Mon, 30 Jan 2023 17:50:16 GMT Message-Id: <202301301750.30UHoGV5082397@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: df949e762c67 - main - kern_environment: Partially apply style(9) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df949e762c67b4b4109dd16b0179f17faa925cd2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=df949e762c67b4b4109dd16b0179f17faa925cd2 commit df949e762c67b4b4109dd16b0179f17faa925cd2 Author: Jose Luis Duran AuthorDate: 2022-03-11 00:53:02 +0000 Commit: Warner Losh CommitDate: 2023-01-30 17:47:56 +0000 kern_environment: Partially apply style(9) Sort include files, remove duplicates and remove trailing whitespce. Pull Request: https://github.com/freebsd/freebsd-src/pull/589 Reviewed by: imp --- sys/kern/kern_environment.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c index f4c720aaaeb4..c39b9cb682a0 100644 --- a/sys/kern/kern_environment.c +++ b/sys/kern/kern_environment.c @@ -40,19 +40,19 @@ __FBSDID("$FreeBSD$"); #include -#include -#include +#include +#include +#include +#include +#include #include #include #include #include -#include -#include -#include +#include +#include +#include #include -#include -#include -#include #include @@ -782,7 +782,7 @@ getenv_array(const char *name, void *pdata, int size, int *psize, /* check for invalid value */ if (ptr == end) goto error; - + /* check for valid suffix */ switch (*end) { case 't': From nobody Mon Jan 30 18:11:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5GTP1HgRz3c78W; Mon, 30 Jan 2023 18:11: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 4P5GTP0tgbz3Hrd; Mon, 30 Jan 2023 18:11:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675102281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D0H6YdAM2ahSNgd79P83rem+w+NwSpM04xM092BIaJM=; b=pa8zYZoE06bzovIaAQvlhxZZsOtUfVvtCx7bPGyjv0uzR/+FbQxAM5wfwGE8EPpdv7j2Xa aelNccRljtInPZOBlTGRVFcf3/FfmoCWlFzZijoIMfh0KIOS0gySGGKydbjw1cuZBr1A8U iE76B7YM5XnycEUsyX7x0T3s2b9cP/ipI8Ert3vFLJ/ZNnfxCt8yNY/uxZbIiAEAJ/yI8z 2snndyT+Ijg3LE36pCPOeC8lUy7Hy0TbD3G54BVqjEJnYMZmcnZ0qiD9fKSNNcD+heszTj qUSFzOiGuW/U18izOLq1WcpJ7TYxDVp+HTDb4lsNTR9Nv+HOvyWVLjo4PEwR7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675102281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D0H6YdAM2ahSNgd79P83rem+w+NwSpM04xM092BIaJM=; b=rBeJZkU0RrTqAkzL9ZOtYHzDiMguoo56LmHbJTeV2yRjxDOLQt8ji/K//mClMG04K5q1Yj 0LZIqh8DGdew5Xq+pD4qCchjjSByubiCjvS+/0bkXBvrCWiNr1VqF7Wt5g75/pHeSwfEVP 2QptrGfnnrontnziBhvXWL4Ji1WO4/f/XX40ZgOBkPrUhJdnVA48A2n9fmQlVweweFifSz 5il5xkGlLbBt0e88Lj3MM7VjOA9/B5SrCo8qGeQwVAhZPYAqv1/wnJ5gyRa2aspFDOhZRT c2sDLGQZmrUFR4Du2iYqO2lK9nS/Wk9Sl2dfyJ7SfEAn2n6sNKhfjxoYUA83pg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675102281; a=rsa-sha256; cv=none; b=TywSe7xdmmYdp1TwUVdyX7b/pI5VzT6AEDg9iuT2hvjhvZqAL+RWfAWJ1pvgYvjbj5wnAg AUKcK4UCi06oiNgAg8y2jPMJ1JbT3q4eRoUGJbhyjREES+Ufq8Zw4GuSFhQ9TLX0mLSyf4 Q/brbHYoAwR9rjmdcXPc62fht/kLeBSNrc6fx6h78wgOFyM6PUlbwy8vvjrjJosC6cgjDl uhrEzZGsOQvFNReGXGrx4EKo3yh1kXONTAYByih55bwMQUbryoTnqhoVWGHRaAlbwJdbCd CuweN931P3ED81lbkA5+goHiAZCFinNtr9tzAx8Znmr7x/Ai7fOhq9ybUcIU1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5GTP003gzJ66; Mon, 30 Jan 2023 18:11:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UIBKiO015918; Mon, 30 Jan 2023 18:11:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UIBKrG015917; Mon, 30 Jan 2023 18:11:20 GMT (envelope-from git) Date: Mon, 30 Jan 2023 18:11:20 GMT Message-Id: <202301301811.30UIBKrG015917@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: c7c53e3ca631 - main - Clarify hardpps() parameter name and comment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c7c53e3ca6312c99a0e179e51357a1933de95b5a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c7c53e3ca6312c99a0e179e51357a1933de95b5a commit c7c53e3ca6312c99a0e179e51357a1933de95b5a Author: Sebastian Huber AuthorDate: 2023-01-25 12:43:11 +0000 Commit: Warner Losh CommitDate: 2023-01-30 18:07:40 +0000 Clarify hardpps() parameter name and comment Since 32c203577a5e by phk in 1999 (Make even more of the PPSAPI implementations generic), the "nsec" parameter of hardpps() is a time difference and no longer a time point. Change the name to "delta_nsec" and adjust the comment. Remove comment about a clock tick adjustment which is no longer in the code. Pull Request: https://github.com/freebsd/freebsd-src/pull/640 Reviewed by: imp --- sys/kern/kern_ntptime.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/sys/kern/kern_ntptime.c b/sys/kern/kern_ntptime.c index 96f14a408bcb..6d03413a3113 100644 --- a/sys/kern/kern_ntptime.c +++ b/sys/kern/kern_ntptime.c @@ -733,11 +733,11 @@ hardupdate(offset) * variables, except for the actual time and frequency variables, which * are determined by this routine and updated atomically. * - * tsp - time at PPS - * nsec - hardware counter at PPS + * tsp - time at current PPS event + * delta_nsec - time elapsed between the previous and current PPS event */ void -hardpps(struct timespec *tsp, long nsec) +hardpps(struct timespec *tsp, long delta_nsec) { long u_sec, u_nsec, v_nsec; /* temps */ l_fp ftemp; @@ -774,12 +774,9 @@ hardpps(struct timespec *tsp, long nsec) /* * Compute the difference between the current and previous * counter values. If the difference exceeds 0.5 s, assume it - * has wrapped around, so correct 1.0 s. If the result exceeds - * the tick interval, the sample point has crossed a tick - * boundary during the last second, so correct the tick. Very - * intricate. + * has wrapped around, so correct 1.0 s. */ - u_nsec = nsec; + u_nsec = delta_nsec; if (u_nsec > (NANOSECOND >> 1)) u_nsec -= NANOSECOND; else if (u_nsec < -(NANOSECOND >> 1)) From nobody Mon Jan 30 18:12:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5GWB2ZfKz3c7cF; Mon, 30 Jan 2023 18:12: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 4P5GWB1Sjxz3J72; Mon, 30 Jan 2023 18:12:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675102374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cE/QdyxqFo0ULNPJRKfhZHgWpyxsgLq2Egb7rDjXfwk=; b=prZdQXtdxvLMauQDHOHPZRxY29/l50z8wBg6FdP7FMa/aZ2KrS/Bk5YkLaSwI1lWOkDn76 kS9/2euilv/jJ3DXhIembC/lJLQZL3q+Pw0ksX0fj8RnObSsvWacSn7iGRM1ukSMbNLli0 lktGzvFEAZCQHMSb8dHe2Cm+3oo8rWTA4zs6wt5CMKCUYRDEu1PM7Mtqna69RmMPGt27Qx GCMrC/NJMjKIFuaeCjQ3e/Vs8HTDiVZ2u27tmkHPLx6HhetzbwXSQYgS3A9IkEr+Ig/X0/ cENYw4397WLcYN+yYOpfN6DEx8uyRu2CrRTDi/amEwKX4RXTyZ7vIkF7xve1gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675102374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cE/QdyxqFo0ULNPJRKfhZHgWpyxsgLq2Egb7rDjXfwk=; b=H3j7v7/arM/BQq2AYCQyHDi7FNy5zg8IQMeON0JPLC4NRZBl38NDQ7XeNdZqlRftJPJVC9 AvEiHMzLakKrmFWEIyCaa4aElDOAfIv4r1avzvsW8DeMq2Qai1MUA6OgSqzqcYO1B37dKK 3llAb8FbOikFv8slu6ljdobWt0uQww7FhV9K/LZRJmQK/QjQTFYWucRyoFiP38L/FdUqPc wvfricL50o1W5K9e5HILCk63luxf2LyMkNbHq7YqUvzLJI3ms3sgZBh6b0am5bHLW/x6V5 VdnjQeLHaoU4UObz3JKmhhnHvy76xVOQaEoxrGbP8SUFVJfoyB4HPhLVCUYXOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675102374; a=rsa-sha256; cv=none; b=x3utt4avht6k1xFqGWjGuCdfKKU/Eags69YKjcO5XBOTxSPpFuyBHneRmPFP/eWv5RmXiB oS6N5udPlV+jM3Jwdyw343CK5PbLXvmnKPTRXzwzyVsrdYRCT7rRNRXSkcYbHy4LBmaGdF k9Cf0L53IOhiLp9eT0qMI232UeApMg18URHWLM/cQjFdHl1xou89xLzy0a2Sb/AG9F04n6 UVLTKv+47g+WpRMAwaV5zRiETz6sJZRYAet0gtLpMmvtzX8xSv5wkEwbuFPA0CxKjgnIJ6 TkM97hNaqW+sBg6RV4MEqvSB+fqjSyC+tatFiM2G1OjN8QTA8kdNfL4c4ltvfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5GWB0X2WzJ6j; Mon, 30 Jan 2023 18:12:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UICrct017167; Mon, 30 Jan 2023 18:12:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UICrHv017166; Mon, 30 Jan 2023 18:12:53 GMT (envelope-from git) Date: Mon, 30 Jan 2023 18:12:53 GMT Message-Id: <202301301812.30UICrHv017166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 92b7d1db9291 - main - bridge: Fix whitespace List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 92b7d1db9291f11fa56e2c88f70149f319e31622 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=92b7d1db9291f11fa56e2c88f70149f319e31622 commit 92b7d1db9291f11fa56e2c88f70149f319e31622 Author: Mark Johnston AuthorDate: 2023-01-24 16:00:56 +0000 Commit: Mark Johnston CommitDate: 2023-01-30 18:12:36 +0000 bridge: Fix whitespace No functional change intended. MFC after: 1 week --- sys/net/if_bridgevar.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/net/if_bridgevar.h b/sys/net/if_bridgevar.h index 6e08e25eaf71..69b9aa33f133 100644 --- a/sys/net/if_bridgevar.h +++ b/sys/net/if_bridgevar.h @@ -305,18 +305,18 @@ struct ifbpstpconf { #ifdef _KERNEL -#define BRIDGE_INPUT(_ifp, _m) do { \ - KASSERT((_ifp)->if_bridge_input != NULL, \ +#define BRIDGE_INPUT(_ifp, _m) do { \ + KASSERT((_ifp)->if_bridge_input != NULL, \ ("%s: if_bridge not loaded!", __func__)); \ - _m = (*(_ifp)->if_bridge_input)(_ifp, _m); \ + _m = (*(_ifp)->if_bridge_input)(_ifp, _m); \ if (_m != NULL) \ _ifp = _m->m_pkthdr.rcvif; \ } while (0) -#define BRIDGE_OUTPUT(_ifp, _m, _err) do { \ - KASSERT((_ifp)->if_bridge_output != NULL, \ - ("%s: if_bridge not loaded!", __func__)); \ - _err = (*(_ifp)->if_bridge_output)(_ifp, _m, NULL, NULL); \ +#define BRIDGE_OUTPUT(_ifp, _m, _err) do { \ + KASSERT((_ifp)->if_bridge_output != NULL, \ + ("%s: if_bridge not loaded!", __func__)); \ + _err = (*(_ifp)->if_bridge_output)(_ifp, _m, NULL, NULL); \ } while (0) extern void (*bridge_dn_p)(struct mbuf *, struct ifnet *); From nobody Mon Jan 30 18:12:55 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5GWF6vTwz3c7vD; Mon, 30 Jan 2023 18:12: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 4P5GWC2qNHz3JFQ; Mon, 30 Jan 2023 18:12:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675102375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EJx+hDoRaDzXQG2F/oieF7guJdvXw6eyxgy6N2ZAWXU=; b=L2FVC08Fh/44ylOlkQ0LYnLZEmVEkBvWQjU3pQmdsWYdJ4iGOS9xllOHdiJeekKPkCN68X hc02o9XL1M2NhEvjRm/PfcviHTMyRI00XxwvC1cutQI4DoUr8xE0vkYiw5zU4QrPcPfMp+ et8Vt5ko07PLt6C5mx/tJrR9/WsKAfgLIQj7j9NyLxw6CVRqATR416KJbgQu8AtqaiwHP+ NOPq+fDh01CGzn8Ubc8+1lgri8pv4ll5AbBpkhHAR2fqtsbgty/zuopoWqxlmgHSazQD+R O4vPslHQiSClvTicXFHERxNc3/yENiFYWTxGeJJC1hK0cQqDnDyJuw2OmQKyIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675102375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EJx+hDoRaDzXQG2F/oieF7guJdvXw6eyxgy6N2ZAWXU=; b=QoZGblk4QTP0BwKLXVIIVsNvbSAmqaLDyICEBQ7FuCNWpoAkUxdtuCaqfideFuXAxR2cJ+ eKymRzW2t+AW69MaHVXnN+NqXhKveOIhLu8WuPleYLo29oC1oGdouuiwmhMKsnADXMTrRI K2pBiE4uNi/yf8Lp+TBi5tkOvXyjdcdXmZiQ1iDm73l/KdG1Ci5V/QNRb25xX2j2CbbHer 9zHlNzBlKjsYPBMaG8JOgEpMkKq+ADEVPtuKapXGnTc+RsI+DCO1/hj955DUmWemUvelmi lYNSRBoVvkNGRMVPZvZdPpKLupOicC4KphCPqmm2kEx0ZXVjtX9Tf3XaJfPR0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675102375; a=rsa-sha256; cv=none; b=vRXyk2B3Wi3BZjFMGK1znIZAl3kJKRZ/NiE7BXNy79beCApg9OmUhTBV6wQWPms5yLf/Ke b+6E2Y65weERSpk6xUb+6c/G7bN61HKxbmaE0L676ET2YarTi8No5ZGWWCXvTs89lABZa4 t7RCOvJdkvpl6V61FasaVlsuURSaPPey+iQKlQeOlTlZEglYVEGrUUQhUr2oQYblQtk3y7 R8GTpcdYWxA1HVA19SiORgsJS3MWjxZWOalpsR0zRekUwKg1ZBFSL03Zn/Zu5OjyRGq+N6 sMZtXSzIy58h448iAGDQWIv0BV1DoPRgZZ9rMOARJu+7nmb7gCMTO8am6lo4VA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5GWC1bm3zHjT; Mon, 30 Jan 2023 18:12:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UICtQ6017197; Mon, 30 Jan 2023 18:12:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UICtkm017196; Mon, 30 Jan 2023 18:12:55 GMT (envelope-from git) Date: Mon, 30 Jan 2023 18:12:55 GMT Message-Id: <202301301812.30UICtkm017196@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: c8abb673a575 - main - man(1): Support zstd compressed manpages using zstdcat List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8abb673a57587fdf9de2d5bd4d3d1f54dfedc19 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c8abb673a57587fdf9de2d5bd4d3d1f54dfedc19 commit c8abb673a57587fdf9de2d5bd4d3d1f54dfedc19 Author: Cameron Katri AuthorDate: 2023-01-30 18:11:14 +0000 Commit: Mark Johnston CommitDate: 2023-01-30 18:12:36 +0000 man(1): Support zstd compressed manpages using zstdcat Reviewed by: emaste, markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D32296 --- usr.bin/man/man.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index 3cb748c1ba8f..2c23a6fc60fd 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -909,6 +909,7 @@ setup_cattool() { *.gz) cattool='/usr/bin/zcat' ;; *.lzma) cattool='/usr/bin/lzcat' ;; *.xz) cattool='/usr/bin/xzcat' ;; + *.zst) cattool='/usr/bin/zstdcat' ;; *) cattool='/usr/bin/zcat -f' ;; esac } From nobody Mon Jan 30 18:38:26 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5H4f5yG3z3cC24; Mon, 30 Jan 2023 18:38: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 4P5H4f57Vkz3Nv3; Mon, 30 Jan 2023 18:38:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675103906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Du3G//TySCRVh1lg6PzkSOVHKY73bws8Xc4xiL9uQZQ=; b=iyCQQr0gM2WokIPmRdZM+MX6wUyRJofSfS5gJpX+v+xLEyx80N4W9AtC5cvhB9vGbnJKKQ tQZSKqy+nkHO1etfPHW7A+FwgaZ6mzLYQjey8aa7EbZjfFwThxv7eIvXFL0/za10XKzkWi tgNiuaRMVCEuq1JVHomIad9VqDC8A55xe5k1bHkqyj1n6kUGhLBjIPoUjel0toNpFeJ5xD PcOeUNJW4b6BGmaZQz67T8Y4dik7RAZNCQg6kxxsoa0Q1cwIIL4vBLgBYmsc1Cn0laFQC5 Gkj/C/3BAtskQ5G35pB8uxiytXGGaeIsC1Mn2T8MTI8RcSpt+wwrdJZxOZMRVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675103906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Du3G//TySCRVh1lg6PzkSOVHKY73bws8Xc4xiL9uQZQ=; b=VhC2pjC7UiK+1H3+nfAQBSD6IIuyVLeo3xMo3hXjLmBqaTx318PhinNsNBvd3eN/tKdV2D a+4XhsYDPt89YLfRK0OFPlzFWQ0svlOlm9bZUH23bFZDPXdkEmER4gUgBUd2ub2G5OBsqT qRwD3FXTs9yWqutg1ZTCrYS2F91jr2KKZefVL/WrEYGX0hdbLK0bmgsTB2I20TUtiFna9/ 4opygKAF9OHEcUiKVy3hCG9Qn3QbLj4aUojklR0wZ10YIBDiqeAjy7/81u/7/ut73id6HN ea+GbOCYEu/L6W3SddGmo3HD0wPvV4NuJGQNxKLYFNH/Ba3Be4xv+VkG3tyPBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675103906; a=rsa-sha256; cv=none; b=YuI2sbpOMKyy0GqAzU3YL2PAkJk1d2nu/6x4Mvft3gF9sXyKox8W1dgdoFIt4wZZrlV/ow dQrA3JSM9cQvNm+xFEujVE/EnxkXrNVo468A7V0hnRMQKmiqaEDDTbWiqdDzu5dt1MII8x Jvs+ashRLjxdC99Ltxv62OKPefH7oiIbvzhZs/q+cP2Xq8qTtOjolumxTNDDSCLqJuR4zA A5AYNasMbzlCrw9PfC4NQ6LyBBd9wuQqAsgWZ1bbDO6yr2IR+aE6yKEn9N/5lX9YUNNKax tCRO4wCQsTEXh/o4oAFSUnHSMM5ATq9Neyl1XrV1r0A2F+PY8kmZrn/b+Z2qTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5H4f4BydzJpk; Mon, 30 Jan 2023 18:38:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UIcQu9046506; Mon, 30 Jan 2023 18:38:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UIcQBi046505; Mon, 30 Jan 2023 18:38:26 GMT (envelope-from git) Date: Mon, 30 Jan 2023 18:38:26 GMT Message-Id: <202301301838.30UIcQBi046505@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Phil Shafer Subject: git: e1e2080fc1ce - main - Import Juniper libxo-1.6.0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: phil X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e1e2080fc1ce59cc2ef3ba4ae6031cd550d75bed Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by phil: URL: https://cgit.FreeBSD.org/src/commit/?id=e1e2080fc1ce59cc2ef3ba4ae6031cd550d75bed commit e1e2080fc1ce59cc2ef3ba4ae6031cd550d75bed Author: Phil Shafer AuthorDate: 2023-01-30 18:35:27 +0000 Commit: Phil Shafer CommitDate: 2023-01-30 18:37:33 +0000 Import Juniper libxo-1.6.0 PR: 262332 --- lib/libxo/add.man | 4 ++-- lib/libxo/libxo/xo_config.h | 17 ++++++++++------- usr.bin/xohtml/xohtml.sh | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lib/libxo/add.man b/lib/libxo/add.man index d4e2bc3c0ea0..ff520fa14be8 100644 --- a/lib/libxo/add.man +++ b/lib/libxo/add.man @@ -3,10 +3,10 @@ .Fx uses .Nm libxo -version 1.4.0. +version 1.6.0. Complete documentation can be found on github: .Bd -literal -offset indent -https://juniper.github.io/libxo/1.4.0/html/index.html +https://juniper.github.io/libxo/1.6.0/html/index.html .Ed .Pp .Nm libxo diff --git a/lib/libxo/libxo/xo_config.h b/lib/libxo/libxo/xo_config.h index 079eef508ad1..3a160d9836e3 100644 --- a/lib/libxo/libxo/xo_config.h +++ b/lib/libxo/libxo/xo_config.h @@ -48,6 +48,9 @@ /* Define to 1 if you have the `flock' function. */ #define HAVE_FLOCK 1 +/* Using real gcc */ +/* #undef HAVE_GCC */ + /* Define to 1 if you have the `getpass' function. */ #define HAVE_GETPASS 1 @@ -102,7 +105,7 @@ #define HAVE_SRAND 1 /* Define to 1 if you have the `sranddev' function. */ -#define HAVE_SRANDDEV 1 +/* #undef HAVE_SRANDDEV */ /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 @@ -183,16 +186,16 @@ /* #undef LIBXO_TEXT_ONLY */ /* Version number as dotted value */ -#define LIBXO_VERSION "1.4.0" +#define LIBXO_VERSION "1.6.0" /* Version number extra information */ #define LIBXO_VERSION_EXTRA "" /* Version number as a number */ -#define LIBXO_VERSION_NUMBER 1004000 +#define LIBXO_VERSION_NUMBER 1006000 /* Version number as string */ -#define LIBXO_VERSION_STRING "1004000" +#define LIBXO_VERSION_STRING "1006000" /* Enable local wcwidth implementation */ #define LIBXO_WCWIDTH 1 @@ -210,7 +213,7 @@ #define PACKAGE_NAME "libxo" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libxo 1.4.0" +#define PACKAGE_STRING "libxo 1.6.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "libxo" @@ -219,7 +222,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.4.0" +#define PACKAGE_VERSION "1.6.0" /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be @@ -236,7 +239,7 @@ /* #undef USE_INT_RETURN_CODES */ /* Version number of package */ -#define VERSION "1.4.0" +#define VERSION "1.6.0" /* Retain hash bucket size */ /* #undef XO_RETAIN_SIZE */ diff --git a/usr.bin/xohtml/xohtml.sh b/usr.bin/xohtml/xohtml.sh index 3eb7901483a7..f96aa3c37288 100755 --- a/usr.bin/xohtml/xohtml.sh +++ b/usr.bin/xohtml/xohtml.sh @@ -12,7 +12,7 @@ # BASE=/usr/share/libxo -VERSION=1.4.0 +VERSION=1.6.0 CMD=cat DONE= WEB=http://juniper.github.io/libxo/${VERSION}/xohtml From nobody Mon Jan 30 19:22:05 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5J332tFcz3cJPh; Mon, 30 Jan 2023 19:22:07 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from glebi.us (glebi.us [162.251.186.162]) by mx1.freebsd.org (Postfix) with ESMTP id 4P5J324XXDz3kcF; Mon, 30 Jan 2023 19:22:06 +0000 (UTC) (envelope-from glebius@freebsd.org) Authentication-Results: mx1.freebsd.org; dkim=none; spf=softfail (mx1.freebsd.org: 162.251.186.162 is neither permitted nor denied by domain of glebius@freebsd.org) smtp.mailfrom=glebius@freebsd.org; dmarc=none Received: by glebi.us (Postfix, from userid 1000) id 6652753B55; Mon, 30 Jan 2023 11:22:05 -0800 (PST) Date: Mon, 30 Jan 2023 11:22:05 -0800 From: Gleb Smirnoff To: Brooks Davis Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, jhb@freebsd.org, kib@freebsd.org Subject: Re: git: fa1d803c0f65 - main - epoch: replace hand coded assertion Message-ID: References: <202301201805.30KI5Ht0099187@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202301201805.30KI5Ht0099187@gitrepo.freebsd.org> X-Spamd-Result: default: False [0.50 / 15.00]; VIOLATED_DIRECT_SPF(3.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; MIME_GOOD(-0.10)[text/plain]; RCVD_NO_TLS_LAST(0.10)[]; R_DKIM_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all:c]; ASN(0.00)[asn:27348, ipnet:162.251.186.0/24, country:US]; FROM_HAS_DN(0.00)[]; FREEFALL_USER(0.00)[glebius]; RCPT_COUNT_FIVE(0.00)[6]; TO_DN_SOME(0.00)[]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4P5J324XXDz3kcF X-Spamd-Bar: / X-ThisMailContainsUnwantedMimeParts: N Brooks, John, Kostik, On Fri, Jan 20, 2023 at 06:05:17PM +0000, Brooks Davis wrote: B> The branch main has been updated by brooks: B> B> URL: https://cgit.FreeBSD.org/src/commit/?id=fa1d803c0f652d72840a3c59139baf9d30792860 B> B> commit fa1d803c0f652d72840a3c59139baf9d30792860 B> Author: Brooks Davis B> AuthorDate: 2023-01-20 18:03:39 +0000 B> Commit: Brooks Davis B> CommitDate: 2023-01-20 18:04:40 +0000 B> B> epoch: replace hand coded assertion B> B> The assertion is equivalent to kstack_contains() so use that rather B> than spelling it out. B> B> Suggested by: jhb B> Reviewed by: jhb B> MFC after: 1 week B> Sponsored by: DARPA, AFRL B> Differential Revision: https://reviews.freebsd.org/D38107 B> --- B> sys/kern/subr_epoch.c | 4 +--- B> 1 file changed, 1 insertion(+), 3 deletions(-) B> B> diff --git a/sys/kern/subr_epoch.c b/sys/kern/subr_epoch.c B> index 100221cd62f9..98a560e44c9d 100644 B> --- a/sys/kern/subr_epoch.c B> +++ b/sys/kern/subr_epoch.c B> @@ -468,9 +468,7 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) B> B> MPASS(cold || epoch != NULL); B> td = curthread; B> - MPASS((vm_offset_t)et >= td->td_kstack && B> - (vm_offset_t)et + sizeof(struct epoch_tracker) <= B> - td->td_kstack + td->td_kstack_pages * PAGE_SIZE); B> + MPASS(kstack_contains(td, (vm_offset_t)et, sizeof(*et))); B> B> INIT_CHECK(epoch); B> MPASS(epoch->e_flags & EPOCH_PREEMPT); At Netflix we are currently using more strict assertion: Check the epoch tracker not against the whole stack size, but against the legitimate part of the stack. While here add the same check for the epoch exit. The bug we are going to catch most likely is associated with incorrect exit. diff --git a/FreeBSD/sys/kern/subr_epoch.c b/FreeBSD/sys/kern/subr_epoch.c index b457b070cb65..b345719eb406 100644 --- a/FreeBSD/sys/kern/subr_epoch.c +++ b/FreeBSD/sys/kern/subr_epoch.c @@ -420,7 +420,8 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) MPASS(cold || epoch != NULL); MPASS(epoch->e_flags & EPOCH_PREEMPT); td = curthread; - MPASS((vm_offset_t)et >= td->td_kstack && + MPASS((vm_offset_t)et + sizeof(struct epoch_tracker) >= + (vm_offset_t)__builtin_frame_address(0) && (vm_offset_t)et + sizeof(struct epoch_tracker) <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); @@ -457,8 +458,13 @@ _epoch_exit_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) struct epoch_record *er; struct thread *td; - INIT_CHECK(epoch); td = curthread; + MPASS((vm_offset_t)et + sizeof(struct epoch_tracker) >= + (vm_offset_t)__builtin_frame_address(0) && + (vm_offset_t)et + sizeof(struct epoch_tracker) <= + td->td_kstack + td->td_kstack_pages * PAGE_SIZE); + + INIT_CHECK(epoch); critical_enter(); sched_unpin(); THREAD_SLEEPING_OK(); What do you guys think on legitimacy of the improved assertion that uses compiler built to get the current top of stack and makes the assertion even stricter? I think in FreeBSD we should at least add the MPASS(kstack_contains(td, ...) assertion to the epoch exit. -- Gleb Smirnoff From nobody Mon Jan 30 20:44:08 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5Ksj0Xmgz3cVmd; Mon, 30 Jan 2023 20:44:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5Ksj05rQz3src; Mon, 30 Jan 2023 20:44:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675111449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V/C0OxYk4h/KAKJxE+cB/fA9PqNfLK/GqfliK7CgEfk=; b=xD75DSotTS8ziGgjgaMaEA1NE/s+HWN9g1uBy1FT6MW6qHSDoiiIbWHzsIw/qL7mfvKt91 PelFw0MXl25fYgwG+pI06Rwia35Nlhh4TJIl/M+NziF/tAHk9LsyNM7lkWswIRhoZ8rB+S GJpW/NlT4mlr5SOkb3dJNR4E680gA9YQpY+asB74OsFjr92kRMgkoD2/qG+tq72wZsI9xM UbyTfBLy8VjEmpia1LHuyeEBNbtUCP01xNSFVoEChnVoGLZzSTYCcU8U8SQddu4WTq4iQB 9JKoDemrB3m1BUJFbpmQW2yvRo2asH85Ko/r99yohg6tkUO13u38a+r6kFoBjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675111449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V/C0OxYk4h/KAKJxE+cB/fA9PqNfLK/GqfliK7CgEfk=; b=vW9qjCiHgMiRcWHjJrwqTPYkK4wcqpkGMKBtQFU2uIsM9UhK9OLorgQVnv7tp/Nn8fXXJE ICdepraDZNogvgtZwGC64zfYlhrRXik9Nm06baPINo4aPD2Yosok5PpfCzJT5zTg4hhh9n KDzxMHXJsFlkPUIyDlHNqwnPRxVlSPk0ie/T6JVVGU0nFsocfoi489sjCRvLyQHzeIgQH3 Cuci1R/nc5UCR+E2yivKZlwrcxgth/rH1eRZs+gIj3Gun0oJ4ZuKh8rGno7Y5WAoHhygxw dYvGPd/a0GVGwibiSX4UbgQPHxkKEyKP2iPOeaZhEI4lCJjBZH7z/SYtQpO4cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675111449; a=rsa-sha256; cv=none; b=NsdJAmc6v2XxAknCFnuaXIIXr4PeKW+ixpYcJFx4U7WJ6QaqQ4qCwIo3cN9CLuBh2hansZ olREzShJwMhi/2313y2//9M8sq7woRRcy8n8xph9ujj5Gon0J3hDlXSuB9nWZeJUIL4dZZ OTNy/avV5nJcsftYlVb69oUb1pPI/pQnIuj3Xoj7D3zAJZ6J1uYHDyAW2ySWuNHxRt9QIH sbzY4VycRgjbC4UQNQZC+p59Tocqx4HEEprzG+dtGY5bIjBOTsLA5YMcRiZ6Ve2rL3H7+0 rUckfHZksBNSmSeFUMEre3kJiNgTR3FnyaGaMNiZBr8mBL9kfFxJiWPtv3DREA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5Ksh6HFvzN2f; Mon, 30 Jan 2023 20:44:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UKi8EP030878; Mon, 30 Jan 2023 20:44:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UKi82I030877; Mon, 30 Jan 2023 20:44:08 GMT (envelope-from git) Date: Mon, 30 Jan 2023 20:44:08 GMT Message-Id: <202301302044.30UKi82I030877@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Phil Shafer Subject: git: ef7d10fde4f6 - main - Add missing check for xo_parse_args return code. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: phil X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef7d10fde4f650c7e9ef207af53d5f116b689826 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by phil: URL: https://cgit.FreeBSD.org/src/commit/?id=ef7d10fde4f650c7e9ef207af53d5f116b689826 commit ef7d10fde4f650c7e9ef207af53d5f116b689826 Author: Phil Shafer AuthorDate: 2023-01-30 20:43:01 +0000 Commit: Phil Shafer CommitDate: 2023-01-30 20:43:01 +0000 Add missing check for xo_parse_args return code. --- usr.bin/iscsictl/iscsictl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/usr.bin/iscsictl/iscsictl.c b/usr.bin/iscsictl/iscsictl.c index 258b4f7c28ac..5b2a62874163 100644 --- a/usr.bin/iscsictl/iscsictl.c +++ b/usr.bin/iscsictl/iscsictl.c @@ -745,6 +745,9 @@ main(int argc, char **argv) struct target *targ; argc = xo_parse_args(argc, argv); + if (argc < 0) + exit(1); + xo_open_container("iscsictl"); while ((ch = getopt(argc, argv, "AMRLac:d:e:i:n:p:rt:u:s:vw:")) != -1) { From nobody Mon Jan 30 20:57:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5L9n5jwcz3cX9K; Mon, 30 Jan 2023 20:58:05 +0000 (UTC) (envelope-from garga@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 4P5L9n5BbQz3twQ; Mon, 30 Jan 2023 20:58:05 +0000 (UTC) (envelope-from garga@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675112285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=C1r8W0cSiUqk7E7DYsNXquOlMjjuTLWANIpPaHt3S84=; b=jvFbIzd4QnzJHkgYpq9fpzqmfu/KcUw3xrpdEBz7WjW+qlxwGyM2bhqWucVjkKhOn/3TPn UmZdb3U7btx4r+yi0720IHIzkZE7DJWgJgUDtuZbSWHhfVhxObbxzM+iXtulZPYoaTAWn5 WUBXBVJt3gOLEkqX4sEAiBZA7LVtsHvPSU7+r3MaXSC6dcxKEP6yhcE1caj6wsvjckkF6S RMvEikLwWxJXA9m0Vjpt/U8p7cdqor49cwIfC3cX3q3mIQgmZ0qV75TEi9dvtqAks9xTPs /B1f2TxAh37L/Vxy5ZXa79bAIlqDnujDcrqrLpVruuZAHAeiUb7N40oWePZ//Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675112285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=C1r8W0cSiUqk7E7DYsNXquOlMjjuTLWANIpPaHt3S84=; b=T4qWRxzKqGBF2C948fNCZd1r48bndcoi+u/+tRTEBRU9SwxymyPOahWhnwk2Nmnc38zO9/ faia5JBXSuTAPCuYaVfJXv8ezQ0dQUjOgEYqEcJB4B4f3tnvzmpPwwXPr+jwr3k1T224mq JinIE/bPEOgI1ulOzNF5z9X/eEe1icnvEVyacKp7FZ/N8OI+BTDc9exD+n7Offiv72QMb3 eZAe5CvGH98jvbevTO02DShUht0Hj7MthCXxVEGga9uIfgEtgKk7A19BMi1JdsExf8HFws SaI6bBF8ZIF/nSXZJ/VKVBCTIX9U6GhzWUrXym0tLta6AP4m6md5ExBaYhVcSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675112285; a=rsa-sha256; cv=none; b=lKzjOfltmJWrxYum1K6A9MUOcst97iWdmkrfG8K6yFqt8c0ILDhKYlpuZtBuoDEjn32d+Q MdOJwEqVK5Sbi76x6Shbb+RURSLKnn/96WCW7Tp131M9Xm6tG5cJm0puA/D+LPUgYudxdM nF8Gckby02a0t/jBAZso8iW0cXfVLQ4HRjLxTVBEZjn4jmPsNlrH1qTqk2ijMISiVKRIJl ayt4rtW27n+4KXRdGrlSnhxNcSIKZJMZMTqaLC0K1wlR1kGvwkQe7Q6+IusF8zUOp3E4SM Sp7L1CciupBBrrnYxPvWOX1GpGg5GAQJCtD6G4R3O63wVcNktgT28rYmPVUAJQ== Received: from [IPV6:2804:f1c:3d:2d00:f475:2b30:d00d:7732] (unknown [IPv6:2804:f1c:3d:2d00:f475:2b30:d00d:7732]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: garga) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P5L9m4xylzHnN; Mon, 30 Jan 2023 20:58:04 +0000 (UTC) (envelope-from garga@FreeBSD.org) Message-ID: Date: Mon, 30 Jan 2023 17:57:57 -0300 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.7.0 Subject: Re: git: ef7d10fde4f6 - main - Add missing check for xo_parse_args return code. Content-Language: en-US To: Phil Shafer , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202301302044.30UKi82I030877@gitrepo.freebsd.org> From: Renato Botelho In-Reply-To: <202301302044.30UKi82I030877@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 30/01/23 17:44, Phil Shafer wrote: > The branch main has been updated by phil: > > URL: https://cgit.FreeBSD.org/src/commit/?id=ef7d10fde4f650c7e9ef207af53d5f116b689826 > > commit ef7d10fde4f650c7e9ef207af53d5f116b689826 > Author: Phil Shafer > AuthorDate: 2023-01-30 20:43:01 +0000 > Commit: Phil Shafer > CommitDate: 2023-01-30 20:43:01 +0000 > > Add missing check for xo_parse_args return code. > --- > usr.bin/iscsictl/iscsictl.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/usr.bin/iscsictl/iscsictl.c b/usr.bin/iscsictl/iscsictl.c > index 258b4f7c28ac..5b2a62874163 100644 > --- a/usr.bin/iscsictl/iscsictl.c > +++ b/usr.bin/iscsictl/iscsictl.c > @@ -745,6 +745,9 @@ main(int argc, char **argv) > struct target *targ; > > argc = xo_parse_args(argc, argv); > + if (argc < 0) > + exit(1); > + Code seems to be indented with spaces instead of tabs -- Renato Botelho From nobody Mon Jan 30 21:06:02 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5LMF2F52z3cYfG; Mon, 30 Jan 2023 21:06:17 +0000 (UTC) (envelope-from phil@juniper.net) Received: from mx0a-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.pphosted.com", Issuer "Thawte RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5LMD4rCxz3vSZ; Mon, 30 Jan 2023 21:06:16 +0000 (UTC) (envelope-from phil@juniper.net) Authentication-Results: mx1.freebsd.org; none Received: from pps.filterd (m0108156.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30UFwxOH002168; Mon, 30 Jan 2023 13:06:14 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=PPS1017; bh=Je6Jmx0uG+MzG3qRaBg0rPkDedUqUSGijXsVEpDn0lA=; b=KQHT8omTETi2J7urKUR9bFExBWKBVTD6xpI0qGcDTLzBI5fMrDyYRhged4AU8nyC8/NM lc4hAmSqiy+PtUMdwoah1c5UHpObRsGF8DiiBUDXWe6erLzjSKM+8j+eWEppkPbSbq3G wKg9QiA7jypvpYvViJSMdUZjrAxo3wOAqvf8pzy6sibLlk6dTgVP58Pj5Nt+LpgtxuBE zG47UhgEqLkG6v9BA7uqIiENOoMBP5sadrgmostqrtQ5Wto04116Cr9aFkxZywGv0hWp 6cak/5jAWGcg17PD5/R73vLkWjomFdvfKy/P/SygGPAHNYLzpd32S0WGGFVUxaAsUyCe IQ== Received: from cy4pr02cu008-vft-obe.outbound.protection.outlook.com (mail-westcentralusazlp17012025.outbound.protection.outlook.com [40.93.6.25]) by mx0a-00273201.pphosted.com (PPS) with ESMTPS id 3nd3ksc0b9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 30 Jan 2023 13:06:13 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eWghk6akVEt8PmfwGliVWEzxA1MElZvXvqzYJVAe3AKiX33dlGg527VNEUl2GbMeoEGlxEPUOXK1ZqydpEcO/J/T+/ahGfJ6FcSinsNAw0HNqpFHY3mLAqfcZhib4afacxXvQnhAy2+GjbppAHpkniYULAq/j964AYCqkv/hM9mys057JgH5ddfXWOsrEjwp7U6IVeMGHSt8/Yuo+e9Gm/gMEWO6OdfAhUocOkQpfxZV7L5mpOkP5kpp8QkR4I4zF3whQoKrw2FaewT+/QU7D4RsBo7+I92DWJ0C6BzBw6KBe7mrZ/9SyLAkbfN7NJqoPcPJwRNcSI5HTPnrSS/c1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Je6Jmx0uG+MzG3qRaBg0rPkDedUqUSGijXsVEpDn0lA=; b=mg1ob1r2rXkzZMXdWVppjiYgNuKaF9Ha6apODZbrHNrI/uQBPMUvv2V25xlKqyLNCC73Oxm4zQdnn/X8DdGP/APnHpdSJh0pvDd9qNpQ/iIP8Af8DC1EEzNf+w+jjv7sxniVxGj/VD+imTJK77HdBWpnlZ6f9hjxtilxrl9gFQvT7TwFBTkO2vMcuX944LYcBm4o9bUbFoXPo6AbVKp+msFoYGDh2pxoT85zWUjcqJ+wssl9mI7o8v03ZrWB0lZ4ap2nMOtTqN3i7jg6epzg7qEAnNM0TNO5qzyngA3QYq/vwny7+//NN5FAQ8ajVnqtyg/VTU78zQ/UGt03aG8pqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 66.129.239.15) smtp.rcpttodomain=freebsd.org smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Je6Jmx0uG+MzG3qRaBg0rPkDedUqUSGijXsVEpDn0lA=; b=T///RfegtmEM+Uu7uwJ4xbp3Fy2Ow18zmQffPmMNOOfb4y3L6LvXvZwhdUknnlmOnQUhB23Xl1erz/386wlUaLtBNmpberbeu0Hs+9sxPJXn/dYPgkahCNtVwjXMPMm4FwqUlH06QzcdrW7yB5jAYutG+8m6OrCMXsgqO+X7Clk= Received: from MW4PR03CA0083.namprd03.prod.outlook.com (2603:10b6:303:b6::28) by SN6PR05MB4287.namprd05.prod.outlook.com (2603:10b6:805:39::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.25; Mon, 30 Jan 2023 21:06:09 +0000 Received: from MW2NAM12FT034.eop-nam12.prod.protection.outlook.com (2603:10b6:303:b6:cafe::8c) by MW4PR03CA0083.outlook.office365.com (2603:10b6:303:b6::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.36 via Frontend Transport; Mon, 30 Jan 2023 21:06:09 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 66.129.239.15) smtp.mailfrom=juniper.net; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=juniper.net; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.15 as permitted sender) Received: from p-exchfe-eqx-02.jnpr.net (66.129.239.15) by MW2NAM12FT034.mail.protection.outlook.com (10.13.180.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.21 via Frontend Transport; Mon, 30 Jan 2023 21:06:09 +0000 Received: from p-exchbe-eqx-01.jnpr.net (10.104.9.14) by p-exchfe-eqx-02.jnpr.net (10.104.9.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.30; Mon, 30 Jan 2023 15:06:07 -0600 Received: from p-mailhub01.juniper.net (10.104.20.6) by p-exchbe-eqx-01.jnpr.net (10.104.9.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.30 via Frontend Transport; Mon, 30 Jan 2023 15:06:07 -0600 Received: from idleski.juniper.net (idleski.juniper.net [172.25.4.10]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id 30UL63Cd026862; Mon, 30 Jan 2023 13:06:06 -0800 (envelope-from phil@juniper.net) Received: from [10.0.0.3] (localhost [127.0.0.1]) by idleski.juniper.net (8.16.1/8.16.1) with ESMTP id 30UL5QGx063377; Mon, 30 Jan 2023 16:05:27 -0500 (EST) (envelope-from phil@juniper.net) From: Phil Shafer To: Renato Botelho CC: Phil Shafer , , , Subject: Re: git: ef7d10fde4f6 - main - Add missing check for xo_parse_args return code. Date: Mon, 30 Jan 2023 16:06:02 -0500 X-Mailer: MailMate (1.14r5937) Message-ID: <341696C2-4570-43BF-AF8B-800D2295ABA7@juniper.net> In-Reply-To: References: <202301302044.30UKi82I030877@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW2NAM12FT034:EE_|SN6PR05MB4287:EE_ X-MS-Office365-Filtering-Correlation-Id: 81dfa76b-7eb3-458d-6101-08db0305cf58 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1/yicHfrrUR4f5A/Op8cQnZFngy3GM7mpNaCeTiY5aQTdMY7yeUNLSO29RQ+Y6B3et7X+MQKl6ZU/caKy83f1I5LTkdseYOqiOlCdkQVGdnz1WbaanaatPOHkNau/3AZXhwYUXzTFoc+gtGpajCR9u+huPfmpg7BmPbjZjro38Fq/U7tLTMMfoG7BYyPyQvmQaT1GMD7ufzdY9KsMFMR5hUME1W2GKGa/wnpKkr5RYcWGO4IQMXZR7oaFwZThU8NBumaZd1/e4VgOf3V8qot3PRzf71EdOpmKK967fGd6N5LCPhqpZZ/3beJxfXxitoy4EquOrmVxV/17dwOrlagndW1jP1ndyOpLT8j8gcGs6Qn2PD8AaIUm6gOOMlF2r+E6RCfVIeRKXDCpLFtRQstSgo/icuN0w4jyBnUdpA1+UyKgvYMCEeDUYYMJkwuagEhVGdD4Rh6MtiTbbxI95RoIjX9KJJwNn0sL0BzRuUfsOYhwvbgP8bQZt9eWPGkhI+aynJU1xJGINhul5PcdVrI18TM64QkuSryeHvacwNh2eR07Hfi+iOxUcrtBnYvXkmuDApec65lO7H8m+BZyZw5Lq6CsNHWTIOiiexBd6gd1bva23NFktc/gAOSjZhuJh40v9+bgSrb/Xn84x1Ch6ojZlJar016+eYz+utIxWzCeKKQdL3fhQU8a8OfqhJ5jQVPq5alpH5amCbIg3eXBpS5sCx8bUjbxUX9zvEHAKiP6ak= X-Forefront-Antispam-Report: CIP:66.129.239.15;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:p-exchfe-eqx-02.jnpr.net;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230025)(4636009)(376002)(39860400002)(136003)(346002)(396003)(451199018)(36840700001)(40470700004)(46966006)(82310400005)(2906002)(33656002)(36756003)(86362001)(450100002)(558084003)(336012)(2616005)(70206006)(316002)(4326008)(47076005)(6916009)(7126003)(8676002)(186003)(426003)(70586007)(40460700003)(6666004)(54906003)(40480700001)(81166007)(5660300002)(356005)(82740400003)(41300700001)(478600001)(36860700001)(8936002)(26005)(36900700001);DIR:OUT;SFP:1102; X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2023 21:06:09.0983 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 81dfa76b-7eb3-458d-6101-08db0305cf58 X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4;Ip=[66.129.239.15];Helo=[p-exchfe-eqx-02.jnpr.net] X-MS-Exchange-CrossTenant-AuthSource: MW2NAM12FT034.eop-nam12.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR05MB4287 X-Proofpoint-ORIG-GUID: aDwMcI7uACQ5QGKFGz9fOazqtqN2-dyE X-Proofpoint-GUID: aDwMcI7uACQ5QGKFGz9fOazqtqN2-dyE X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-30_17,2023-01-30_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 lowpriorityscore=0 malwarescore=0 impostorscore=0 bulkscore=0 adultscore=0 spamscore=0 mlxlogscore=754 phishscore=0 suspectscore=0 priorityscore=1501 clxscore=1011 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301300197 X-Rspamd-Queue-Id: 4P5LMD4rCxz3vSZ X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:26211, ipnet:208.84.65.0/24, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N FOn 30 Jan 2023, at 15:57, Renato Botelho wrote: > Code seems to be indented with spaces instead of tabs Fixed. Thanks, Phil From nobody Mon Jan 30 21:27:05 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5LqF3LT4z3ccYM; Mon, 30 Jan 2023 21:27: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 4P5LqF2gHlz41pG; Mon, 30 Jan 2023 21:27:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675114025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QmOHGHeVeknD+hjGfTGmE/d4h81eJND2JAgKkUVjlHo=; b=DyvJDZ4gL+LZTd1Qm9F7iLZ6Igv1BtPgq0lDDWFA23jlxTkPqrdBMJErgATXDCuRDEbn6O OrE7muYCimUgSX+aBjHmtYXwxiX+Air/55mT6SeLRmecyOj6a0Tirkd/ggSU/nIG4QyBCZ dSrzjYn5Phk6ZxGhjEFO2Wn5Sk3BaBsFyGFpkyYrdyGgJ0pZ7DdazxHLeCvN1EDpfRRu6p uwYlp/pFESgjmm+LjgRU7NmMo7JTT9u05bz3K9m3ourx4UQ4fu8/KA8B7T7XeQOg7jDMhq rAYUIurXsHRXCiU8eIX5jwyxU8SToqwIgWQGdqPApdIr2d/CcWi3x/0x46b7ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675114025; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QmOHGHeVeknD+hjGfTGmE/d4h81eJND2JAgKkUVjlHo=; b=LzzPMnPH497WkQ2hYLTk2RYXpt5bI8mj99CvlT5F5J2BDI26i8ci8ZA5sX4rr6SjCeqnvW d2bKbWwIPGJ0zHOVXlXsQabsE3MfgplrFJMFp0amxwh/GAiCO/4nYTZqeLH45xrXXNcGpe 8DHbIM6mIRaO5dWbe1CDlt3FBXAnMBT2L728QvRtQNEgsm8wiNwGaR7Z09CLaWG0XZk+sv 2SWVC7916rz9N+TsZEUBBVJJoRAadhalgVcB0HRBGZvqOMruqVy+dhT4G/HKIZBs+QjBdT sKUREfEgcf/SFcgeiS3j/CChPdHEk72OPmJBwtkZCCg/ruMrYcIuANhOJa8xSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675114025; a=rsa-sha256; cv=none; b=WVv59+FuL17RUJe8OrRkWPMNeDkZM+cXahYrfnEG5yR8KeSuPTBqvzmZypsHI4TFlkkqPu Hr9i+3y/xODpWBwGlhN4VU3ne2cvM4YuyIadhR4MdsDNcgD9NTY46bi/fLcVkdyHDwcsqE +ynZTlV03cHKxu5YKqBGnlPBF3Cw/qcb6YqwmrY0cq5zTkfA3M17dQmXyr668GGrBN0iT0 UNa11Yv4wGw92raP5/xXeqjgT42pnrPEn3iydolItTBwqtkxeC3QN9ilH3GMuODgB8kSyt P8oO19eoDDH1uV2JwIn5DuxQkjGBi/lBJA20iRpM09nknNx+nGxLkZ6Xbxg65g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5LqF1kfgzNjh; Mon, 30 Jan 2023 21:27:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30ULR5XI088383; Mon, 30 Jan 2023 21:27:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30ULR5fN088382; Mon, 30 Jan 2023 21:27:05 GMT (envelope-from git) Date: Mon, 30 Jan 2023 21:27:05 GMT Message-Id: <202301302127.30ULR5fN088382@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: bcad3f96ae97 - main - gh-bc: fix build with WITHOUT_NLS_CATALOGS=YES List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bcad3f96ae97671e50faaa6d8226ec4f598ba929 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=bcad3f96ae97671e50faaa6d8226ec4f598ba929 commit bcad3f96ae97671e50faaa6d8226ec4f598ba929 Author: Gleb Smirnoff AuthorDate: 2023-01-30 21:26:49 +0000 Commit: Gleb Smirnoff CommitDate: 2023-01-30 21:26:49 +0000 gh-bc: fix build with WITHOUT_NLS_CATALOGS=YES --- usr.bin/gh-bc/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/usr.bin/gh-bc/Makefile b/usr.bin/gh-bc/Makefile index 77c5d8f1d270..de0c8f36bbc8 100644 --- a/usr.bin/gh-bc/Makefile +++ b/usr.bin/gh-bc/Makefile @@ -47,7 +47,6 @@ CFLAGS+= -DBC_ENABLE_EXTRA_MATH=1 CFLAGS+= -DBC_ENABLE_HISTORY=1 CFLAGS+= -DBC_ENABLE_LIBRARY=0 CFLAGS+= -DBC_ENABLE_MEMCHECK=0 -CFLAGS+= -DBC_ENABLE_NLS=1 CFLAGS+= -DBC_EXCLUDE_EXTRA_MATH=0 CFLAGS+= -DDC_DEFAULT_DIGIT_CLAMP=0 From nobody Mon Jan 30 22:17:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5MxX010zz3bGbH; Mon, 30 Jan 2023 22:17: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 4P5MxW6fdWz4BGt; Mon, 30 Jan 2023 22:17:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117055; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cCtYEKX3k4TNeIzW3XOg2tkwZFiNysSG1bdEH+BrKBI=; b=gEM/WtvcqT97p3kH4Q52y2pnehfidDtEZU6FxABxHSj2cNoYWP2E0zz0g+1NTt5xJDd8BQ A00/0FqWJvnTDhqrELge3DTSmil7aStjuUQBmZaoQ8ddTfGJ1hoojUL8MIk7r5s0BzgyzA 0QOl2RzLU7koPbNZh7/gCvS4fwNDe8tShO06GAPlqQx08u6MT6jZWvgpCvdET99vS+5IvU UR1aR6Y+Q6QCZ/zmpQfU4rhpc30+h7PAtfjtfkYkslZkbrT+rUHE/mwPcYDruENJXwx58x FJSH2U3quPltWdoajOLUucdE8ede1/IYegnOBbIxDzZAgPr+73jqoeAoXEDNjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117055; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cCtYEKX3k4TNeIzW3XOg2tkwZFiNysSG1bdEH+BrKBI=; b=G85yZuXMMU0D8WzW9zGQGNlCVEoWhbrbOoaas3zz7yfUJnnnXyc+a94sYjH87JfCIhIM3Q v4b+WsCr8E8cQT4RMLa/T6lLpyTGFX2lgRX82IYYzatrVl5eIhQUQ1Ds4rgMkjQr6xyq4N WZi6m20aOrKh4aZwgr4axesTR0hwxfEhGH40nd4EE3aGx/kYEm2O7AcHYsrqYB7EZrXBIG Z9nFSWNDpCMe8jxfWA99zSvC7pyvA/8rYcwJHFik7Sms+qZEmwaYNGUEcrk61+8WW4dDZ8 GrwTrBOkabrsFDgwa2dlugekB4Qk3wYbVPbtwankxkG7JX6x9J38BpSKPh6puQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675117055; a=rsa-sha256; cv=none; b=pEno+ctnhrcOuZ7gIhixcCG4D6faCOuX276Z3i4iG1Sx8SoQoJ18llV4GVqYyhhidn752I U8jAkGId7D2kBXxp3R77wd0qNpW9cHSWIpzvr6tb0+bWDXPGHI8HP5PEYKVBs+pEr3bS4o hU/JbY531GbWA00EDgfnMNEcaHvTUX2yRaZDRp8VGKD39foUNtoWb7BL6XHV53UQZQpwxB bPbZGVx4hhNRWIcVsOOduHWPQdKL3wyEBJaBV/rN/18SFmhkUJ9oS2PTSQ48xmM71J7osd aqgx4LjZYMRt5Jh9h2mUBvD0u/JHioqAhXsilrhowjVM+PbT5neMrSm0vNI9/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 4P5MxW5hrczQ8D; Mon, 30 Jan 2023 22:17:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UMHZ7J060220; Mon, 30 Jan 2023 22:17:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UMHZB1060219; Mon, 30 Jan 2023 22:17:35 GMT (envelope-from git) Date: Mon, 30 Jan 2023 22:17:35 GMT Message-Id: <202301302217.30UMHZB1060219@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Subject: git: e400b695991b - main - linuxkpi: Add `freeram` and `freehigh` to `struct sysinfo` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e400b695991bf3f336e9cbe39e400943d8b1d676 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dumbbell (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=e400b695991bf3f336e9cbe39e400943d8b1d676 commit e400b695991bf3f336e9cbe39e400943d8b1d676 Author: Jean-Sébastien Pédron AuthorDate: 2023-01-02 20:57:35 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-01-30 22:08:32 +0000 linuxkpi: Add `freeram` and `freehigh` to `struct sysinfo` The struct layout is modified with this commit because new fields are added in the middle, keeping original Linux order. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D37932 --- sys/compat/linuxkpi/common/include/linux/mm.h | 8 +++++--- sys/compat/linuxkpi/common/src/linux_page.c | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index 542d0c874b43..c6861cc2acbf 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -144,9 +144,11 @@ struct vm_operations_struct { }; struct sysinfo { - uint64_t totalram; - uint64_t totalhigh; - uint32_t mem_unit; + uint64_t totalram; /* Total usable main memory size */ + uint64_t freeram; /* Available memory size */ + uint64_t totalhigh; /* Total high memory size */ + uint64_t freehigh; /* Available high memory size */ + uint32_t mem_unit; /* Memory unit size in bytes */ }; /* diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index 9b3dac96081f..6fcf9373a2f5 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -79,7 +79,9 @@ void si_meminfo(struct sysinfo *si) { si->totalram = physmem; + si->freeram = vm_free_count(); si->totalhigh = 0; + si->freehigh = 0; si->mem_unit = PAGE_SIZE; } From nobody Mon Jan 30 22:17:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5MxY16JQz3bGkQ; Mon, 30 Jan 2023 22:17: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 4P5MxY0M1tz4Bx6; Mon, 30 Jan 2023 22:17:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zqh6DFI28AR3ZgfRHoS4WMRp2KKL9XqQSzeb2lInDyM=; b=TL6oQwHkbOKt+DvR/UKpAHMubi2vOwzjzfP/bUbnwrbzqG0iDlcZxqPIBvDfQLgFD/dCRD CWOGH4yEsM/XvmLQXb3qD4dxHNp+62A6/uDdt1jNXC77Yqpg3nPqSN+DNlsVmTZ6I3gZU3 09ykGqDwl4wjBUDckO/OV17/NOnp9Ix0VyVvC36aNMz4BCxleoZd5up57nQyaEGFmpnYBn xoyczPjlNiI7cN+y4JWzexF/PwP6587MyaQITSqhN+jl3be2qgRMVF+OIyIGf5XAjZuQJ/ 0ARelhhGGXsn7z4SrMYbHsv1EcS6CQMg6KwcCfouMPNy0sdE2Ca+MOkskYD6ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zqh6DFI28AR3ZgfRHoS4WMRp2KKL9XqQSzeb2lInDyM=; b=B7g/p83abptzzB9BhvB9nQgGVGIGcg3G8Sx+54OEAhGRW1CtbqTASc898MXA/2G+NbnOXg 0jEApx9fr78ZX1UgpJmtCDXlRDMuecBG19XBV09iESJLgF+dqO1g2U7+j53Zf3kRK6MgpX BK36cs/r2OqowgeqHTmaRsIrzKiIgzJHYBXsaHI2KMElIhZBpFklib7wVApTNKVcm7dx/v k8p5y57c/VbnMKVreH+u+T1IPv6LEK0qz9UYe2UGhWWhOlJ/wlbpevqx3isWo/0N5Ggku8 wVTCAtXw38Hwm12TCRNFCCs9Orr03KLH5DA4j21TmNSEoz4mbTrW062uaPMSdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675117057; a=rsa-sha256; cv=none; b=I5Q9Svg20TPHFYQKgWs8hpaUZxckj5cLDYwqX/rADcbmT+tcdnRBe/R5ESIqWtAnCBQnSC EtWdr1J93EzRzp4nAi6FN7n+fDWGGFzX6jlPeX5e9fZtdTPVgUj9d0bjMkiL8rokU7NuSD jZ30n8RZH7Jyaw4CEhYBpcgQ/xGHxJPuRgVhWPVMAA32bDpvrHHe6B4Z/7Ecy4Az+A5w60 tXgAcLe+icVCGwavy39teoWzcOWwWTzmURXEpjRF/sCmMWTXwutiHFmKnJe7NOVXXdmJoe 8qwSJsIJwLPJmQ7cdr29qGwMkdZMrvwBCcMhRsTkt0U2RHigkd/RzkThA6gH9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5MxX6ZqBzQNR; Mon, 30 Jan 2023 22:17:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UMHadj060251; Mon, 30 Jan 2023 22:17:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UMHaRF060250; Mon, 30 Jan 2023 22:17:36 GMT (envelope-from git) Date: Mon, 30 Jan 2023 22:17:36 GMT Message-Id: <202301302217.30UMHaRF060250@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Subject: git: 19be627cfda7 - main - linuxkpi: Define `might_alloc()` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19be627cfda7e509fc3444fd57de8a0a501aee04 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dumbbell (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=19be627cfda7e509fc3444fd57de8a0a501aee04 commit 19be627cfda7e509fc3444fd57de8a0a501aee04 Author: Jean-Sébastien Pédron AuthorDate: 2023-01-19 00:15:35 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-01-30 22:08:45 +0000 linuxkpi: Define `might_alloc()` ... as a no-op. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38146 --- sys/compat/linuxkpi/common/include/linux/mm.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index c6861cc2acbf..40f63c2cffdf 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -348,6 +348,11 @@ void lkpi_unmap_mapping_range(void *obj, loff_t const holebegin __unused, void vma_set_file(struct vm_area_struct *vma, struct linux_file *file); +static inline void +might_alloc(gfp_t gfp_mask __unused) +{ +} + #define is_cow_mapping(flags) (false) #endif /* _LINUXKPI_LINUX_MM_H_ */ From nobody Mon Jan 30 22:17:37 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5MxZ5MBhz3bGbR; Mon, 30 Jan 2023 22:17:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5MxZ1V7Jz4CB2; Mon, 30 Jan 2023 22:17:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X5qp+8QD13x0q703Wa+z1oOI5iyaycNraVFA04bGu6c=; b=i+CWHm1IIfqrzXKqg4wDir4UbVaQOxAK/wTEdGi/g8GQyOK7iNAD022aGCIR4inPEJbHpL Nlh3Ygiohe0kxMc6mrRt6XWzj0SaUxOw9cf3MLmieB5ZVenQkcCg5fnqsvj6/aqf3GBkk2 04SelDF4++brtpco+yRP7dKSzgs5sSyM/ly0aIQexS0R9+PKVYFB6DrC4nii+zP9v3prHF eDVe1W8HywUlBpfXCqBujt1CaYCV3sKemjhV1D0H/NdhIKDJKQJvM4SEa94N4Sscy/yeoD bbrPg87rv/KLWzXvDU4bRCa/Yq56fK0cg0YgLQmAqa8cWPxwCwevMSvd/oXG+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117058; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X5qp+8QD13x0q703Wa+z1oOI5iyaycNraVFA04bGu6c=; b=QqrXlWVhqw+udCRmaXFK957dZQuH4JM8o3WbXzet4UrhbVHLzGpaBiKWo3gdHHumgobEWy KqD+AzOfIgMmjhbnSz+r7lVuFzAVOuRIlP85dBg4DsBhvILkrXIxRG2mNQwZNc3iVZQxZH YlXJw0kbZSC4Izx/duzdIS5s0EF1+NC/+clhfCjoAOsPwKWCWacucPwPCswnmA5lxWzEwl rtLIBMkjLQFuj9Th4335ZsINa4K8L7W+hzMX5sRP1WUpSZSnS8qlSNxr4MJSC7A6mPIz0/ +HB9G8fcDzTjSIVn1PFb2wS/20Sxhh2rD+t2jo2KG5WVxIFty+Kj3hqZhRdKPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675117058; a=rsa-sha256; cv=none; b=t7j0FCm9wR4uQUf9RuD9EbCs3Iydjhns6pVHZqzHobiEn879+ARf6FTtE9NOyXyNk+Nwm/ 7+8vopnBvJvuHJDqfE9id99nFDRiVA10rDR6/f6yx9vjZdYDBSS1mVdiwNYc+RxM1PBzi5 7FzNECFzAsBP4M9H5CPut0CcUdD909gbJPhaF6+jcSDPtnXPHqZCcSRAB4xyxsuvUzLU99 MM3oCfXZ7/nhBtovX9b3lL/JZDWRBxSPeZmx92NRfOLup39Rg0MtK9pcBUk6wKeNdNG1TH mg3q2xptObvjym+kgn/BjGzHrO2+nZiXoEJ8spBn8yalsiI+iEgYKYNk4dCDCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5MxZ0QcYzQKt; Mon, 30 Jan 2023 22:17:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UMHbUj060286; Mon, 30 Jan 2023 22:17:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UMHbOf060285; Mon, 30 Jan 2023 22:17:37 GMT (envelope-from git) Date: Mon, 30 Jan 2023 22:17:37 GMT Message-Id: <202301302217.30UMHbOf060285@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Subject: git: 25faccaaca6a - main - linuxkpi: Add List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 25faccaaca6a0bddd60fbad0033606435a13e6b8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dumbbell (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=25faccaaca6a0bddd60fbad0033606435a13e6b8 commit 25faccaaca6a0bddd60fbad0033606435a13e6b8 Author: Jean-Sébastien Pédron AuthorDate: 2023-01-19 17:45:28 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-01-30 22:08:59 +0000 linuxkpi: Add For now, it's empty. It is included by the DRM drivers but nothing is missing otherwise. Perhaps something we already defined should be in `limits.h` instead of another header. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38147 --- sys/compat/linuxkpi/dummy/include/linux/limits.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/sys/compat/linuxkpi/dummy/include/linux/limits.h b/sys/compat/linuxkpi/dummy/include/linux/limits.h new file mode 100644 index 000000000000..e69de29bb2d1 From nobody Mon Jan 30 22:17:39 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5Mxb307yz3bGf6; Mon, 30 Jan 2023 22:17: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 4P5Mxb2KQzz4CN8; Mon, 30 Jan 2023 22:17:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5n3nyb6/QtMlKcKqUru62SmlfIG7uwaD5Cv1EQJlsXE=; b=sVYLG89ZjvIbo3RL3+GZu+MPfs6qZt+T4FH5cRysbHujR2KZtahORZUDMVJHWlSsl/MgGR yZ64HG13+ROsK1ZT8nVksgoXKHQbbXdBd2lv+iXI8XE1AXsOQvAQip7vsQoaHz3i3kLUn1 wn8shPbgaevhl0oWhAha96NoVuQ6vplCcPWGO+3j6b3nnkGruqBToIg8KBO4nLPbELL0mR A04H1A4ACbxojMqpwovU9gu41Oxw8tGZG4p1mA5BGZFwF9U+evQVVgpaShd/vUlGfrRUGi fGg0X7R6SA+t4xsS5EQP9LvdlZpHpBKMVjvxfPgW05GHRMnKTKNqdwleo6JqDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117059; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5n3nyb6/QtMlKcKqUru62SmlfIG7uwaD5Cv1EQJlsXE=; b=hTUQMEPCkR1RXITjZmBG+uczvz53qYsdsx64pDFfd/hZzPF6zVjIX0sLfy+disLCGF9thn j5YUHeu86K09/nOgihRj/LVcht9ZN2UG2qo3c1/L2vCFB33xf1RN0B0CdnI2/YSv4B+cIA XFYGCBhtYGHu//fIfJQFoepicX/MmK2UIeKTucBWoPMji9nB99qj5nAWbOoKWs5BodGj+O TydBUPojQppclA4jI6zX2xzzU91BBdj8jnL7ecHk6fza863sMM2eW0836XpY4G8nzIDL45 xQ9h1NTDoaFYeG7o691Mq4Ih4w1PIJeUXCB7pJZOknh6qgG+eu0ZIrJZOaUrag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675117059; a=rsa-sha256; cv=none; b=EiYFiwQhTrAEIBs8l76ij+KXm9lDD1GWlFxSEz3GlUlbbdZki4e8lWSvBfxHMnQ9p/gDqI Vc+ly7eieBSjdakg6Ru0eFEkWw7KCpm93i8UtZlI0wUwY9pHGXwqperdUpk2lUkzdV40Qu mBgs/HXfCA28ibrQNxFbqUfFitj9FHkBp8pJ9zK9VEp5BXYslm4hftxp4sC1isfP0el9rb gGd5gcn1BHk9Vbovxb2TWeCBQsekaQSnL6dC9IEDFxflBzISXtk+4zifv4GV7j6z5IYOAU eina3idxdI6oo/df8mUpMn9cSygNLTRlpxqi62a9S9FEjoKc+IO+U2WZJuQgcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5Mxb1N4dzQ8F; Mon, 30 Jan 2023 22:17:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UMHdWh060316; Mon, 30 Jan 2023 22:17:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UMHdo8060315; Mon, 30 Jan 2023 22:17:39 GMT (envelope-from git) Date: Mon, 30 Jan 2023 22:17:39 GMT Message-Id: <202301302217.30UMHdo8060315@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Subject: git: 7649b89cc126 - main - linuxkpi: Add List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7649b89cc12696d540b20ad2f5896827b102225e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dumbbell (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=7649b89cc12696d540b20ad2f5896827b102225e commit 7649b89cc12696d540b20ad2f5896827b102225e Author: Jean-Sébastien Pédron AuthorDate: 2023-01-20 17:50:39 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-01-30 22:09:13 +0000 linuxkpi: Add For now, it's empty. It is included by the DRM drivers but nothing is missing otherwise. Perhaps something we already defined should be in `pgtable.h` instead of another header. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38153 --- sys/compat/linuxkpi/dummy/include/linux/pgtable.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/sys/compat/linuxkpi/dummy/include/linux/pgtable.h b/sys/compat/linuxkpi/dummy/include/linux/pgtable.h new file mode 100644 index 000000000000..e69de29bb2d1 From nobody Mon Jan 30 22:17:40 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5Mxc3ZhGz3bGkc; Mon, 30 Jan 2023 22:17: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 4P5Mxc35hMz4CZR; Mon, 30 Jan 2023 22:17:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8XkjfCLn5Yb2tzpmrJCTbVR2IYzFAaZA/fiXBvy1h4s=; b=odadeda+/rtDgl69LqJfkwSKPoWNxPv+FXY7/mDXffNpgBSjc/tZ+2vBq4qEolxdXaIHrl G0JwGWSmieDkGpUS+ZtNyMKz5iBBP1r9uhlVXQtVX65svxrPpiP2TqyvGc4ZUrw18SwQtp lby00V/GG85i8g1csNXOFbOezD7Iq1EAUF0to2exMkHBG+0IAEuMQsSSCmgsPuMj53rsHT hl88ovI83vri5wa4umUZ4DnQ+vvKszV/Nz3o+RjwWDirVqhrK2oZqKbQ4ApunjsakvoALZ r+D5xgkTKGngmZSw6lJUfZQ/C9ZuRzxkd8JQtnjJdCmGi3dyzPg4Dr1n/pGnlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8XkjfCLn5Yb2tzpmrJCTbVR2IYzFAaZA/fiXBvy1h4s=; b=q69S2BZWyy3MNQQ4sciJ7ZyYcXiSQpePqdUIeKjMimziydCyxsVRRyyzLCmLLz6Y8xlndw 7FTYcZhNTkETCcakT2OiROe3L1QuirBxFQb63vR7fzH/nMATVCxJXJlTBfXCUxqXXag/z0 p6CUVn6l/qliKOjMPJ5GlZZsuRyFmqW86/Cgo4rqA57DswpWl0XqIIpgSWAK5pEnWThTTl FMjEFFXsK7DNR8nUOGZBbhbEDJQoltNWiQ6mj8yJ9nAD5hs5B05NvS96cNWx+Z/61362mG W8wE9Bgg11F03ynF+G1Bmo7yABeTzJF9MrTmYczzBaOlsLS6U1j/8MAb50z5yw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675117060; a=rsa-sha256; cv=none; b=vTlpb/fMI7+YDtMhe1GOQiTjsnUc0HOYceFDa97isOaCR9PokiohfDyOGnP5RrdAqPp54M wxWeYku1WeHNc6GTqOkUvyPEx7hg3QoEsthlsNrsW1LMLv4cLQP+4sW3eGvA2rjoo+TPFT sExHXTb2gpT52UAU51lWywEuv9qp2EG1e5o2yFuXRvX5xL4pgEzbLVbssgiWRi51DYfGNO gjvhmxeLKlEab+DIRH8hRCGgpt9BUKBfpnTBiHXdrN1qCL9OAHHm7ojUR2elxVByhw/qEA ZMjLScPVe5A5SX+uejmUWJSADfbkMmaJIuQtZGvl4n6mFt7YpgkjNLyAHUZJYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5Mxc25PSzPxn; Mon, 30 Jan 2023 22:17:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UMHeGd060346; Mon, 30 Jan 2023 22:17:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UMHeCx060345; Mon, 30 Jan 2023 22:17:40 GMT (envelope-from git) Date: Mon, 30 Jan 2023 22:17:40 GMT Message-Id: <202301302217.30UMHeCx060345@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Subject: git: 9dafbd0c69a6 - main - linuxkpi: Add `kmap_local_page_prot()` and `kunmap_local()` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9dafbd0c69a6aade69b23a649548b6c7133f1091 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dumbbell (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=9dafbd0c69a6aade69b23a649548b6c7133f1091 commit 9dafbd0c69a6aade69b23a649548b6c7133f1091 Author: Jean-Sébastien Pédron AuthorDate: 2023-01-20 17:52:39 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-01-30 22:09:22 +0000 linuxkpi: Add `kmap_local_page_prot()` and `kunmap_local()` They are synonymous to `kmap_atomic_prot()` and `kunmap_atomic()` respectively. While here, fix several style(9) issues. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38155 --- sys/compat/linuxkpi/common/include/linux/highmem.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/highmem.h b/sys/compat/linuxkpi/common/include/linux/highmem.h index 53efbec06385..0056b590f239 100644 --- a/sys/compat/linuxkpi/common/include/linux/highmem.h +++ b/sys/compat/linuxkpi/common/include/linux/highmem.h @@ -50,6 +50,7 @@ static inline vm_page_t kmap_to_page(void *addr) { + return (virt_to_page(addr)); } @@ -88,9 +89,17 @@ kmap_atomic_prot(vm_page_t page, pgprot_t prot) static inline void * kmap_atomic(vm_page_t page) { + return (kmap_atomic_prot(page, VM_PROT_ALL)); } +static inline void * +kmap_local_page_prot(vm_page_t page, pgprot_t prot) +{ + + return (kmap_atomic_prot(page, prot)); +} + static inline void kunmap(vm_page_t page) { @@ -111,8 +120,16 @@ kunmap(vm_page_t page) static inline void kunmap_atomic(void *vaddr) { + if (!PMAP_HAS_DMAP) kunmap(virt_to_page(vaddr)); } +static inline void +kunmap_local(void *addr) +{ + + kunmap_atomic(addr); +} + #endif /* _LINUXKPI_LINUX_HIGHMEM_H_ */ From nobody Mon Jan 30 22:17:41 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5Mxd50Mcz3bGmq; Mon, 30 Jan 2023 22:17: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 4P5Mxd4Cqqz4ChM; Mon, 30 Jan 2023 22:17:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gbuiGF4NjdHUSqIRkvcb5a1EM2beRC/8MOA5HixQQWc=; b=DED+gZtiSUeBHmqUDVOPYvxCAkxmGXCl8fp5oT3Hl5PLUM/W6hbGHC7ybVhT7JDShPaVdw YI70q7AigjhyDhyQveJI3t8dLzFTbfsbvwA5BA1pfPA55NeSQGgBtMqF8/vJ7/ccWVoS9i PmzeijgyIUPUV29CKhTri+bXgymABn6QPgSFphUZAWQIhnf5Ox80aHAFhWR+BfWYx7Gzrp pqd92JlPpb8OcdjRQD3xQWko7AoLHeCWcPHawuYFV/zpNyLVMbhSw0KW7mTRVjgoldSXBy 1ausEiaz8Q6CJfvy09lGacVUsb4+lSJBLngA+D1lhNJzM2ww9lPh9CgwaraRUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117061; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gbuiGF4NjdHUSqIRkvcb5a1EM2beRC/8MOA5HixQQWc=; b=FGlv7tSqcRE2hoL+8/KGeeMWtf9rt7toJRX8uGO+ftvWEN60XyDntapw3B8Q0jb5zCPHUG I6UdbU9Azk8Z8JcH02Pdk8AhlEEkXL3pZfw88AnzZJTIESOlw5thenKmVAcojhAGb00CB5 muMJpgOm43yQVUU2XWAlB0ioHqHztvosNr/lyB0ELg/Cr+X4ja7+HblM1OxQvINTcGhgWO TFRW2OfJbhEflu9xCyKULtKVcp37Xtj/ERw301XmTdKO9zAjtRACBNdKltq6tuUTnMqlM1 HCV+11/k3SZ9sAM/NBBpttzJuju1Qpui0GHHWiTDX+8m/I0koXBvEsRKUBXBbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675117061; a=rsa-sha256; cv=none; b=kg9ZDo4jAxGeCa+KzjS3dFXpPBbEM7WMp80fPzsCtrmv3Xj0NFufncQX/PyiM37cZZYWPa 8CPhdiI6hFlX5SxikRAO2Q7jU54DvmaguFnz4IPXH8NuUhd7Unxanv4iN+lkfdf9Lg3yeo aARlIGQ4azbjFytTfdi6tOB5Pl38AJJE6fptm/cnQYEUfMVK12+Z/rgxPGvH6i9aMnhcAP qXBvaIvZESu9WFdazRFjL6IZBexCSRYqyusnBNRArsxIuYnwu1rs8HdCxzowl6f2tPkBWm n94YwfepYEFZJ0fwGybw2fDczLA4v0/Zp2A5xUjTMj7qqsN3BT/aU0k3FXa/PQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5Mxd3K0SzQ8G; Mon, 30 Jan 2023 22:17:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UMHfAp060377; Mon, 30 Jan 2023 22:17:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UMHfk9060376; Mon, 30 Jan 2023 22:17:41 GMT (envelope-from git) Date: Mon, 30 Jan 2023 22:17:41 GMT Message-Id: <202301302217.30UMHfk9060376@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Subject: git: 29d0c85c8634 - main - linuxkpi: Add `io_mapping_map_local_wc()` and `io_mapping_unmap_local()` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 29d0c85c86347cd3eafe3c8974c693abf8d9ca51 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dumbbell (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=29d0c85c86347cd3eafe3c8974c693abf8d9ca51 commit 29d0c85c86347cd3eafe3c8974c693abf8d9ca51 Author: Jean-Sébastien Pédron AuthorDate: 2023-01-20 17:53:49 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-01-30 22:09:38 +0000 linuxkpi: Add `io_mapping_map_local_wc()` and `io_mapping_unmap_local()` `io_mapping_map_local_wc()` is synonymous to `io_mapping_map_atomic_wc()`. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38156 --- sys/compat/linuxkpi/common/include/linux/io-mapping.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/io-mapping.h b/sys/compat/linuxkpi/common/include/linux/io-mapping.h index e874c5bcadc7..b8f075491d1d 100644 --- a/sys/compat/linuxkpi/common/include/linux/io-mapping.h +++ b/sys/compat/linuxkpi/common/include/linux/io-mapping.h @@ -93,6 +93,18 @@ io_mapping_unmap_atomic(void *vaddr) { } +static inline void * +io_mapping_map_local_wc(struct io_mapping *mapping, unsigned long offset) +{ + + return (io_mapping_map_atomic_wc(mapping, offset)); +} + +static inline void +io_mapping_unmap_local(void *vaddr __unused) +{ +} + static inline void * io_mapping_map_wc(struct io_mapping *mapping, unsigned long offset, unsigned long size) From nobody Mon Jan 30 22:17:42 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5Mxg0Nnwz3bGms; Mon, 30 Jan 2023 22:17: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 4P5Mxf5CqHz4Cl5; Mon, 30 Jan 2023 22:17:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qBm7otKhWE9wr3/yMgqhBUmxY9F+dnS9TNNsUSLSRq8=; b=sQ37RzmP11y+FtCQSqurmTA/FGrSNZXv6a5yqIGS3/9Amu6Iyo6y2HEgGJxTJfAIj+/8ho rbsP4WhbPHSN+90/e8yGT5MEIoEBZQwz54epzWXs30aX5jklt1RLSKoX4veMIvCPzOvjzx 8M+nM1RMQ7SvoumSauvd/NyeICqtlhLarHrunMfMZ8C2gPRoXaQSRThXZ40EBfalvNjzD4 iyBG4xgMB9T697WMvE/ScHZ+ezKjvj1EAE9vItcevN4msRYYOTlwEYIOhUs86qY2BcUN7D C1buMumM84O/mtmywuxkGclY98+/yqRxwL/rNQFTWE4NIk1BzH8EN1EaNwy30w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117062; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qBm7otKhWE9wr3/yMgqhBUmxY9F+dnS9TNNsUSLSRq8=; b=j4L/xnZ5nfQSjjdj8S5xrsXDlvOzisfAiU8FfQ5T4Txk1G8XbeTDBxlqVZ5j3jiBFjGMYy mI9H7EtFNznx4BWfvHHdAHZn6GvznDkMbRHF2w7VJqQxC9Z7Gvrz4CMYAtqYqlbbok6KtI pfet+ZSAkOWl4CAwK90Jl8mfgxBtzNZI0S0NsmO7ygLm3hc3kDogyBNkgLo627TN/oRw5v LAahD9o6hFvhdENstoxHKfKLL21eAPpdY3YgCGLGS6HOHW2BM9XWhV4OTlt6K7JDY3EFon i9h4FOaMo+lZIjj6LTGYFqjVIxzyFg3LcR1i+nh972+ownqDnhM4THty0hTzug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675117062; a=rsa-sha256; cv=none; b=vS/tCYgUbNrEx8Bk4IRDNA3WMtjR9pE1plNUTffi7IIYCwA7YxEVXXoAFZcExMeMWSj3+G j4YVyeCZJybAnipZuy1ERuJFyagy8KNvZADcR98cmCuD96Qjac1BtpW5KmKquYlvL53xym fligi8SXWNxYlLumnMKQfsSRkoxSvB3dBxoqOwZehdnlkhrYkFAOFKxwQ9teGaC/CfDoDC A2iQ2wCJTeEE6dcc+kkKC5YSneq0YVB1wWsSJsWAYn1hSb4ucLuekch2694dt6DbB6w6hq 4Ur3fDkSQr0LM0trDNCuNHt7RP08aD8a23PsXjEXULKhYyiHhkvyHAgcMfjRUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5Mxf4KFFzQ8H; Mon, 30 Jan 2023 22:17:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UMHgls060406; Mon, 30 Jan 2023 22:17:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UMHgwi060405; Mon, 30 Jan 2023 22:17:42 GMT (envelope-from git) Date: Mon, 30 Jan 2023 22:17:42 GMT Message-Id: <202301302217.30UMHgwi060405@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Subject: git: 11aaefc9ca85 - main - linuxkpi: Try to solve headers dependencies List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 11aaefc9ca8537be0ea5f62a5927dd39a6109e4f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dumbbell (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=11aaefc9ca8537be0ea5f62a5927dd39a6109e4f commit 11aaefc9ca8537be0ea5f62a5927dd39a6109e4f Author: Jean-Sébastien Pédron AuthorDate: 2023-01-20 18:08:39 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-01-30 22:09:52 +0000 linuxkpi: Try to solve headers dependencies I'm sure I got it wrong but at least the DRM drivers compile. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38157 --- sys/compat/linuxkpi/common/include/asm/smp.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/asm/smp.h b/sys/compat/linuxkpi/common/include/asm/smp.h index c349edb16bf4..523e35d1562b 100644 --- a/sys/compat/linuxkpi/common/include/asm/smp.h +++ b/sys/compat/linuxkpi/common/include/asm/smp.h @@ -29,6 +29,10 @@ #ifndef _LINUXKPI_ASM_SMP_H_ #define _LINUXKPI_ASM_SMP_H_ +#include +#include +#include + #if defined(__i386__) || defined(__amd64__) #define wbinvd_on_all_cpus() linux_wbinvd_on_all_cpus() From nobody Mon Jan 30 22:17:43 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5Mxh02Sqz3bGh1; Mon, 30 Jan 2023 22:17: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 4P5Mxg6FV3z4CfB; Mon, 30 Jan 2023 22:17:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lOFJDCfA1BI1+424B6/ENq+7GwXJa7IXhsVsLjcLjX8=; b=gZlzEtQb8wLOXa9eO2zPTxaQJcDGe8yhSz/tBCkust3JjF+HIh1Pd1nQ7TrAUyBZteMBiz F160coGMY0R1Cmm++a1XIR/AttXjFP72t0Zje0AkiWDZgGfhrzc1xfmhgzNDLrvEY8b3Al Anv8Fabxu4S8ezLJ5bROAuC79CG24YuzdZH4VqCKVjeS4lYADLSku57v88c3crZnll8tki ebmuY8M+bSdlojBuuF/C2Nhb+xcGe6C+wRtXCWAMtU2cW69wj6GEqXfgxXGNrKG2B0kkLr R9rtuqhn8GqcsbHWDSEbUzRvGmquhHMr+drOYxmuxaFTS+zx/vsRnpGnYyC1aA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675117063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lOFJDCfA1BI1+424B6/ENq+7GwXJa7IXhsVsLjcLjX8=; b=RwpbHnClPWEItSHFyFKIIaxj8AwoK5rqtTH2dqoZRH8uFV3lIL+tWJ57ik1UWxXTorTXgI VuOfoC1hql/Ug/hwpde7sRU5lMKTpk799YUHvPhpD9od8QmGAeA5Zw6U+YMSgEv1jbnhU0 YTXMZB303fRTmaI0QRZ0ASoRcftAbeDcbI371IQGumA8Jjzt27U5tRZ669FlOISGnzhsVC kVQNTgEQw8JqqMIt5mOCb2KxMpW+71d2nRioWF/tVnNabuaErHSKpvPy2t7ZWgjhZlstnj KEJThmopNMF0tW+1l/FoaxokFi+I3V0Z9MeQzx3SREqy/zeuruv16OE+2BqFOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675117063; a=rsa-sha256; cv=none; b=NQn5Y5SDCX8laVbtSSb8SiIkxdzfOo9iR7kAn0C6JnTz01OzlFOmS7iwQ6jdVmyXGvuF9M jHE/85Lgaz//mRUOSqJ+BKLvKcrbsV/JfcrUDtX1Y3nWTSHQYGlxI/1anl4R2W0PitmZ7C 6S9TkYqGWgN8kIGacm0c5G1uG0+/MJGo1TuIlO2th+PuwIT3R91ev473sJqECssqjCMx4m jOC8wH3FA6wkwYjG7tdDz6sG2t2FEaf2ukB1XvP5Cbb/1hnTMMg2RQFl6oX9DWYXUSfnpv blS2C6RPKvpp1bMko+aQ5PyHP0Tae8bLjJ+rQca5h1gm3NB5loGfzB6cVBDJjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5Mxg58x7zPmm; Mon, 30 Jan 2023 22:17:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30UMHhZn060441; Mon, 30 Jan 2023 22:17:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30UMHhL0060440; Mon, 30 Jan 2023 22:17:43 GMT (envelope-from git) Date: Mon, 30 Jan 2023 22:17:43 GMT Message-Id: <202301302217.30UMHhL0060440@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Subject: git: b9ef0689433d - main - linuxkpi: Define `dev_is_platform()` and `to_platform_device()` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9ef0689433d7d08c96695e571c4c262a3ac9007 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dumbbell (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=b9ef0689433d7d08c96695e571c4c262a3ac9007 commit b9ef0689433d7d08c96695e571c4c262a3ac9007 Author: Jean-Sébastien Pédron AuthorDate: 2023-01-22 13:46:54 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-01-30 22:10:03 +0000 linuxkpi: Define `dev_is_platform()` and `to_platform_device()` The former returns false and the latter returns NULL. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38163 --- sys/compat/linuxkpi/common/include/linux/platform_device.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/platform_device.h b/sys/compat/linuxkpi/common/include/linux/platform_device.h index f07b5aac967b..f45cdce829c4 100644 --- a/sys/compat/linuxkpi/common/include/linux/platform_device.h +++ b/sys/compat/linuxkpi/common/include/linux/platform_device.h @@ -42,6 +42,8 @@ struct platform_driver { struct device_driver driver; }; +#define dev_is_platform(dev) (false) +#define to_platform_device(dev) (NULL) static __inline int platform_driver_register(struct platform_driver *pdrv) @@ -76,4 +78,12 @@ platform_driver_unregister(struct platform_driver *pdrv) return; } +static __inline void +platform_device_unregister(struct platform_device *pdev) +{ + + pr_debug("%s: TODO\n", __func__); + return; +} + #endif /* _LINUXKPI_LINUX_PLATFORM_DEVICE_H */ From nobody Mon Jan 30 22:31:03 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5NFN583gz3bJQD; Mon, 30 Jan 2023 22:31:20 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5NFN0p62z4HCm; Mon, 30 Jan 2023 22:31:20 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.16.1/8.16.1) with ESMTPS id 30UMV3BA007030 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 31 Jan 2023 00:31:06 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 30UMV3BA007030 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 30UMV3HW007028; Tue, 31 Jan 2023 00:31:03 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 31 Jan 2023 00:31:03 +0200 From: Konstantin Belousov To: Gleb Smirnoff Cc: Brooks Davis , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, jhb@freebsd.org Subject: Re: git: fa1d803c0f65 - main - epoch: replace hand coded assertion Message-ID: References: <202301201805.30KI5Ht0099187@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Rspamd-Queue-Id: 4P5NFN0p62z4HCm X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Mon, Jan 30, 2023 at 11:22:05AM -0800, Gleb Smirnoff wrote: > Brooks, John, Kostik, > > On Fri, Jan 20, 2023 at 06:05:17PM +0000, Brooks Davis wrote: > B> The branch main has been updated by brooks: > B> > B> URL: https://cgit.FreeBSD.org/src/commit/?id=fa1d803c0f652d72840a3c59139baf9d30792860 > B> > B> commit fa1d803c0f652d72840a3c59139baf9d30792860 > B> Author: Brooks Davis > B> AuthorDate: 2023-01-20 18:03:39 +0000 > B> Commit: Brooks Davis > B> CommitDate: 2023-01-20 18:04:40 +0000 > B> > B> epoch: replace hand coded assertion > B> > B> The assertion is equivalent to kstack_contains() so use that rather > B> than spelling it out. > B> > B> Suggested by: jhb > B> Reviewed by: jhb > B> MFC after: 1 week > B> Sponsored by: DARPA, AFRL > B> Differential Revision: https://reviews.freebsd.org/D38107 > B> --- > B> sys/kern/subr_epoch.c | 4 +--- > B> 1 file changed, 1 insertion(+), 3 deletions(-) > B> > B> diff --git a/sys/kern/subr_epoch.c b/sys/kern/subr_epoch.c > B> index 100221cd62f9..98a560e44c9d 100644 > B> --- a/sys/kern/subr_epoch.c > B> +++ b/sys/kern/subr_epoch.c > B> @@ -468,9 +468,7 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) > B> > B> MPASS(cold || epoch != NULL); > B> td = curthread; > B> - MPASS((vm_offset_t)et >= td->td_kstack && > B> - (vm_offset_t)et + sizeof(struct epoch_tracker) <= > B> - td->td_kstack + td->td_kstack_pages * PAGE_SIZE); > B> + MPASS(kstack_contains(td, (vm_offset_t)et, sizeof(*et))); > B> > B> INIT_CHECK(epoch); > B> MPASS(epoch->e_flags & EPOCH_PREEMPT); > > At Netflix we are currently using more strict assertion: > > Check the epoch tracker not against the whole stack size, but against > the legitimate part of the stack. While here add the same check for > the epoch exit. The bug we are going to catch most likely is associated > with incorrect exit. > > diff --git a/FreeBSD/sys/kern/subr_epoch.c b/FreeBSD/sys/kern/subr_epoch.c > index b457b070cb65..b345719eb406 100644 > --- a/FreeBSD/sys/kern/subr_epoch.c > +++ b/FreeBSD/sys/kern/subr_epoch.c > @@ -420,7 +420,8 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) > MPASS(cold || epoch != NULL); > MPASS(epoch->e_flags & EPOCH_PREEMPT); > td = curthread; > - MPASS((vm_offset_t)et >= td->td_kstack && > + MPASS((vm_offset_t)et + sizeof(struct epoch_tracker) >= > + (vm_offset_t)__builtin_frame_address(0) && > (vm_offset_t)et + sizeof(struct epoch_tracker) <= > td->td_kstack + td->td_kstack_pages * PAGE_SIZE); > > @@ -457,8 +458,13 @@ _epoch_exit_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) > struct epoch_record *er; > struct thread *td; > > - INIT_CHECK(epoch); > td = curthread; > + MPASS((vm_offset_t)et + sizeof(struct epoch_tracker) >= > + (vm_offset_t)__builtin_frame_address(0) && > + (vm_offset_t)et + sizeof(struct epoch_tracker) <= > + td->td_kstack + td->td_kstack_pages * PAGE_SIZE); > + > + INIT_CHECK(epoch); > critical_enter(); > sched_unpin(); > THREAD_SLEEPING_OK(); > > > What do you guys think on legitimacy of the improved assertion that uses > compiler built to get the current top of stack and makes the assertion even > stricter? > > I think in FreeBSD we should at least add the MPASS(kstack_contains(td, ...) > assertion to the epoch exit. The __builtin_frame_address() is somewhat weird thing, e.g. it assumes that the local function frame is contiguous, and static. Also I do not see a guarantee that any local variable address is higher that the value returned from the builtin. I would be happier if you added a per-arch primitive that reads the stack pointer. This helper can be used by GET_STACK_USAGE() as well. Also typical arch puts at least the thread' pcb on top of the stack, so the assertion could be improved by not allowing the address to fall into pcb, or FPU save area on i386. And the last, this assumes that all arches have stacks grown down. I do not think this is important. From nobody Mon Jan 30 22:31:29 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5NFc14zkz3bJVD for ; Mon, 30 Jan 2023 22:31:32 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5NFb4ng8z4HYg for ; Mon, 30 Jan 2023 22:31:31 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f42.google.com with SMTP id k16so9098417wms.2 for ; Mon, 30 Jan 2023 14:31:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QdhlSsMuowBGzVZcCNpB7HEbtWTohU7dwkzXvd8Zg0c=; b=28rtLBvNjDtpvBhek8eVGn8xuTdSPRLN/QkDZofep4+J1cg+fv3SRFJ5yiaeR8nknw cgE68kVEyB3fdse5eH0g12KwFhru8XyL19Hbra8k7quMlYLDt0ZLoX//rk0xg373nbkd UJ7Zi5nYiYDNNiy5gm/5ez4XJXMHsJ/oA2KvBDGRsWxWv+kqsxMzKs3Vdynr3a5uNS9o WTipiuCU6/6MzaAB8jR7WM84mvVunTgq8+OGnQJq2Xwy0tSPnosQTh6HX1BG4PSHcN3w fHTlmtXnRMt0fBMXw9duF6rvGVjG+j4lNTY3GJ+Dhb/XRwp1kkB3MxIeVmtTi21RAQMK aBVA== X-Gm-Message-State: AFqh2kqrdjOJeclbIOX4vbOiNQKlYp4L48LQiB7GgPDA06Kx2UiEWdbv CvYIZTSrOF/GKAv0RUIDgYb+2w== X-Google-Smtp-Source: AMrXdXv/vwJmk1ZOi4al7qZyxKJ2VkYiEW0CA6S+nG59f5h9Vy1t9p9P/wZd3fDj5BV/XulVbAf4Dg== X-Received: by 2002:a05:600c:3b9b:b0:3d2:392e:905f with SMTP id n27-20020a05600c3b9b00b003d2392e905fmr49856332wms.24.1675117890059; Mon, 30 Jan 2023 14:31:30 -0800 (PST) Received: from smtpclient.apple (global-5-143.n-2.net.cam.ac.uk. [131.111.5.143]) by smtp.gmail.com with ESMTPSA id c3-20020a1c3503000000b003dc1d668866sm17177471wma.10.2023.01.30.14.31.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Jan 2023 14:31:29 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: 9dafbd0c69a6 - main - linuxkpi: Add `kmap_local_page_prot()` and `kunmap_local()` From: Jessica Clarke In-Reply-To: <202301302217.30UMHeCx060345@gitrepo.freebsd.org> Date: Mon, 30 Jan 2023 22:31:29 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202301302217.30UMHeCx060345@gitrepo.freebsd.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4P5NFb4ng8z4HYg X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 30 Jan 2023, at 22:17, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >=20 > The branch main has been updated by dumbbell (ports committer): >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D9dafbd0c69a6aade69b23a649548b6c7= 133f1091 >=20 > commit 9dafbd0c69a6aade69b23a649548b6c7133f1091 > Author: Jean-S=C3=A9bastien P=C3=A9dron > AuthorDate: 2023-01-20 17:52:39 +0000 > Commit: Jean-S=C3=A9bastien P=C3=A9dron > CommitDate: 2023-01-30 22:09:22 +0000 >=20 > linuxkpi: Add `kmap_local_page_prot()` and `kunmap_local()` >=20 > They are synonymous to `kmap_atomic_prot()` and `kunmap_atomic()` > respectively. >=20 > While here, fix several style(9) issues. >=20 > Reviewed by: manu > Approved by: manu > Differential Revision: https://reviews.freebsd.org/D38155 > --- > sys/compat/linuxkpi/common/include/linux/highmem.h | 17 = +++++++++++++++++ > 1 file changed, 17 insertions(+) >=20 > diff --git a/sys/compat/linuxkpi/common/include/linux/highmem.h = b/sys/compat/linuxkpi/common/include/linux/highmem.h > index 53efbec06385..0056b590f239 100644 > --- a/sys/compat/linuxkpi/common/include/linux/highmem.h > +++ b/sys/compat/linuxkpi/common/include/linux/highmem.h > @@ -50,6 +50,7 @@ > static inline vm_page_t > kmap_to_page(void *addr) > { > + These aren=E2=80=99t style(9) issues, this requirement was dropped a = while ago and new code shouldn=E2=80=99t include these blank lines. Jess > return (virt_to_page(addr)); > } >=20 > @@ -88,9 +89,17 @@ kmap_atomic_prot(vm_page_t page, pgprot_t prot) > static inline void * > kmap_atomic(vm_page_t page) > { > + > return (kmap_atomic_prot(page, VM_PROT_ALL)); > } >=20 > +static inline void * > +kmap_local_page_prot(vm_page_t page, pgprot_t prot) > +{ > + > + return (kmap_atomic_prot(page, prot)); > +} > + > static inline void > kunmap(vm_page_t page) > { > @@ -111,8 +120,16 @@ kunmap(vm_page_t page) > static inline void > kunmap_atomic(void *vaddr) > { > + > if (!PMAP_HAS_DMAP) > kunmap(virt_to_page(vaddr)); > } >=20 > +static inline void > +kunmap_local(void *addr) > +{ > + > + kunmap_atomic(addr); > +} > + > #endif /* _LINUXKPI_LINUX_HIGHMEM_H_ */ From nobody Tue Jan 31 00:29:29 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5Qsj5XtKz3brwd; Tue, 31 Jan 2023 00:29: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 4P5Qsj3vtvz4THV; Tue, 31 Jan 2023 00:29:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675124969; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p/PDvPqFDy3WXTEEiH594ZrKhKAox37TA7clTscvHh8=; b=RFMuWXA6ErkSlP0+GCEFp4v9XYMxXnJKmELANwUpW2dOCTkupRhXSQGpR7Veehexx9YsvP vue6TFRV1O10cDwyqITMZLxcNru4QYCjgVosKsO8v7RaEfVgMH/kQqA30QZ4v8eNjhagQn YWJdxOMTJuuY0Nt0Ol33nvwJzCTbqXn2HTUNAEpfU/xQG/0YHJPcxX1l/Czd1vCIoRWH2X 7mrBfh2xuvTK/gscVKN5y/rZXdHaDME1jJgFPKPdROkcnN8XDhNHTSuiLKFrGO6+nt4FMk sTVjVINKiqCT4K+BjpRiKtTbRdDs2053gDzf/1YlmvsCoFCSMG3sZ0YPHab73A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675124969; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p/PDvPqFDy3WXTEEiH594ZrKhKAox37TA7clTscvHh8=; b=fNIL74I8s06oi6w7oX+nbRl1j6W2rWktrCELo9D1ylGFpwanJ3ijcPUUdMYSIpRReYPFUR LqifYha8HcxAv0ClTg/glinAPOPknv3usZUQD1gj/Eb7FM2NyDf3diNd+hcna44Lh40Eat Hn/ymhonKlL2RcrMl9mErnhQnihkIOAFAyrNEud37iRCw7RxsUzhFYXVFS4sYNSffoaqfq /f5tknq1e+WUK6zaqU75BR5U09XEVF2jWQnl/4/QMtLL9vfiwExYwx/+4Svp12nn9mSbnc j8QBz7IWm7446hEQtCB1ZYleA8/aqfriEB4uAyuky3EFns3rZMuPnPI10hqsxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675124969; a=rsa-sha256; cv=none; b=jwyhnIxoa20ufQ8b0OpprongpGTz8vwKAkIOIriqs+okbRBfNppBtZsR7+Trd7lWycTba+ zrcEpErsH2Wt9/YBjZOFzy/TZxvPAVNniRNeKpTIGNQTSU7pMY/lXfLrE9tiEMh0YmJNS/ XpMhNlYYvXMcxu4l1sGFUf0BrrCutQE5kiUmzClx3fPqrEu9dRogDInQJuza3SjVFDGEP1 ROglXVI41Rj0zUwunIvMnMEOUWTvGRhgzC5wvPemKRB+KF+lzm7qUTcWJB++WNJpjuALjf /ZHODlFGZcOggop0jtbVKFgSBScF2veUKSa2MJbOaTqABqxCGO3AYnaa84VcNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5Qsj2wb9zTCm; Tue, 31 Jan 2023 00:29:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30V0TTOH045385; Tue, 31 Jan 2023 00:29:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30V0TTO2045384; Tue, 31 Jan 2023 00:29:29 GMT (envelope-from git) Date: Tue, 31 Jan 2023 00:29:29 GMT Message-Id: <202301310029.30V0TTO2045384@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 6673a5476d02 - main - cmp: Print a summary on SIGINFO. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6673a5476d029cd5b47b2eed27032211a14f52bd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=6673a5476d029cd5b47b2eed27032211a14f52bd commit 6673a5476d029cd5b47b2eed27032211a14f52bd Author: Dag-Erling Smørgrav AuthorDate: 2023-01-31 00:28:47 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-01-31 00:29:05 +0000 cmp: Print a summary on SIGINFO. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38280 --- usr.bin/cmp/cmp.c | 14 ++++++++++++++ usr.bin/cmp/extern.h | 4 ++++ usr.bin/cmp/regular.c | 7 +++++++ usr.bin/cmp/special.c | 7 +++++++ 4 files changed, 32 insertions(+) diff --git a/usr.bin/cmp/cmp.c b/usr.bin/cmp/cmp.c index 83ea7ae7eee0..82f34803fc22 100644 --- a/usr.bin/cmp/cmp.c +++ b/usr.bin/cmp/cmp.c @@ -75,6 +75,17 @@ static const struct option long_opts[] = {NULL, no_argument, NULL, 0} }; +#ifdef SIGINFO +volatile sig_atomic_t info; + +static void +siginfo(int signo) +{ + + info = signo; +} +#endif + static void usage(void); static bool @@ -240,6 +251,9 @@ main(int argc, char *argv[]) } } +#ifdef SIGINFO + (void)signal(SIGINFO, siginfo); +#endif if (special) c_special(fd1, file1, skip1, fd2, file2, skip2, limit); else { diff --git a/usr.bin/cmp/extern.h b/usr.bin/cmp/extern.h index d98daf424995..60fd15ba0939 100644 --- a/usr.bin/cmp/extern.h +++ b/usr.bin/cmp/extern.h @@ -46,3 +46,7 @@ void diffmsg(const char *, const char *, off_t, off_t, int, int); void eofmsg(const char *); extern bool bflag, lflag, sflag, xflag, zflag; + +#ifdef SIGINFO +extern volatile sig_atomic_t info; +#endif diff --git a/usr.bin/cmp/regular.c b/usr.bin/cmp/regular.c index d270aeeac396..182a303f70ed 100644 --- a/usr.bin/cmp/regular.c +++ b/usr.bin/cmp/regular.c @@ -120,6 +120,13 @@ c_regular(int fd1, const char *file1, off_t skip1, off_t len1, p2 = m2 + (skip2 - off2); for (byte = line = 1; length--; ++byte) { +#ifdef SIGINFO + if (info) { + (void)fprintf(stderr, "%s %s char %zu line %zu\n", + file1, file2, (size_t)byte, (size_t)line); + info = 0; + } +#endif if ((ch = *p1) != *p2) { if (xflag) { dfound = 1; diff --git a/usr.bin/cmp/special.c b/usr.bin/cmp/special.c index c206a317c0ef..7514c01bd59a 100644 --- a/usr.bin/cmp/special.c +++ b/usr.bin/cmp/special.c @@ -77,6 +77,13 @@ c_special(int fd1, const char *file1, off_t skip1, goto eof; for (byte = line = 1; limit == 0 || byte <= limit; ++byte) { +#ifdef SIGINFO + if (info) { + (void)fprintf(stderr, "%s %s char %zu line %zu\n", + file1, file2, (size_t)byte, (size_t)line); + info = 0; + } +#endif ch1 = getc(fp1); ch2 = getc(fp2); if (ch1 == EOF || ch2 == EOF) From nobody Tue Jan 31 00:29:30 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5Qsk5cjVz3bs4w; Tue, 31 Jan 2023 00:29: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 4P5Qsk4zYqz4TFM; Tue, 31 Jan 2023 00:29:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675124970; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w233iRPz3ujpXDwT0vD+xYvmLowJ9XLpaUNQhh+jpR4=; b=IW0dIiQsrdqUq4uuQzPZPINiFTOxFIB7Fm8EJlLnLnmDxQ0UXUm3KkGymfGdj//GqFv+0g YUgu3gaP+e/8TowXO3z1ElDFAnUQfIgnMsf4QI9j0rg3n8m1XNqqPvMkjXWhf69rIreL1q gsI0l8axeivmIiW9xugXLF/GFAU13jCByBrwmxtOGlrnm8ixZ4XMJFjxhSnzu6gjpmqdlY n1GLFXHbPG544HQWFG60mSNrQlNM29e8jhW/IfF0l6UoPVi1NkWbJhNTb997frjaZ/4s5O +OCgZbyBr+wbOOGkYOp2Ki04ogTJrUSBfpfLbFYZO4ltb6w8tqPl5QtGsOMcqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675124970; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w233iRPz3ujpXDwT0vD+xYvmLowJ9XLpaUNQhh+jpR4=; b=iXxgB/6I1zjuc6pP1L4ONvs1NCTZl37WbbZMYOzCw+wCkW/Gzib1Qcln2dW0STcjJRDLto tF5KVW4cRMMESZ05EmZ5uTx2eMWc8Cs7fNPuDODibCc68XbaDSJ6Nv91AhNUrXltLAAn1M AAX4jMQJkHmUWC/qkOgtCwWiZT57M04nnsR7MU6dw8/AiyOq7t64mckyT476yInIIf+ESn X17z0DOvR2LNNuHKiHPLkLRKJDr7zyOQm6INMIRTtIBal3zy4M2zSBNn+3eZ7hlSSUVyCn gurn7idGL0eTkGU4Mlv5pB1Six0fQUHXxp9CaNcewXQ/TWOKbFdNr6MVy+R66w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675124970; a=rsa-sha256; cv=none; b=TEdBOvkT+QVz4vcT+18RJHgVlLlTBjzVhVLYQNFqbeQlqDaLFayIc0EzEWcLMC+WtwGl+z K0BaifRBhKUiHpK8jKSot/G5ssdw0FP3Qqr6LoFzc9BKjqo3Nw7hPnxT0AQ4ThGv8ytzw6 MNqhzLAoWx6PZaHUIQmoF+g8FHI8Wx4M14WybHGy1Yh3i519BiLCsyEERB9GHAjqPgk0Mt +4vkf+f3on1UqzpGbAjOk3p4tLbPLHB40yKAqRuuYd98nFYVUM68lBX4KAgoCn/RPdKgRb XzowlNFeXRPbYl6Q8ve08MBfDACR4+D0lLD6nEQrrk+wZ/awJMpkF3AWLeRwkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5Qsk3qVYzTc1; Tue, 31 Jan 2023 00:29:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30V0TURv045416; Tue, 31 Jan 2023 00:29:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30V0TUJR045415; Tue, 31 Jan 2023 00:29:30 GMT (envelope-from git) Date: Tue, 31 Jan 2023 00:29:30 GMT Message-Id: <202301310029.30V0TUJR045415@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 134841a7f3e5 - main - cmp: Increase buffer size for non-mmap case. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 134841a7f3e5516a83732d40a4d42268c901a492 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=134841a7f3e5516a83732d40a4d42268c901a492 commit 134841a7f3e5516a83732d40a4d42268c901a492 Author: Dag-Erling Smørgrav AuthorDate: 2023-01-31 00:28:53 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-01-31 00:29:05 +0000 cmp: Increase buffer size for non-mmap case. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: rpokala Differential Revision: https://reviews.freebsd.org/D38281 --- usr.bin/cmp/special.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.bin/cmp/special.c b/usr.bin/cmp/special.c index 7514c01bd59a..1342f2a86270 100644 --- a/usr.bin/cmp/special.c +++ b/usr.bin/cmp/special.c @@ -65,8 +65,10 @@ c_special(int fd1, const char *file1, off_t skip1, if ((fp1 = fdopen(fd1, "r")) == NULL) err(ERR_EXIT, "%s", file1); + (void)setvbuf(fp1, NULL, _IOFBF, 65536); if ((fp2 = fdopen(fd2, "r")) == NULL) err(ERR_EXIT, "%s", file2); + (void)setvbuf(fp2, NULL, _IOFBF, 65536); dfound = 0; while (skip1--) From nobody Tue Jan 31 13:41:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5mRP4hFVz3cXS3; Tue, 31 Jan 2023 13:41: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 4P5mRP49LTz3n7J; Tue, 31 Jan 2023 13:41:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675172481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JAU/mwlfDSt2vKyIrVP+Fxinn7w7NBo1ovG+D81P/BQ=; b=oZwXhfXwc/bGfv8Gjm7M+D7YINWCYyQeGQiQ2VgWQqPzsq83fugllwuMcx57qF7t3LlYUQ pLU4L4hqddtchueYlxrNKxyxZ2gUOL/+p+9kqNb+6JjI0BMqx1zD6EoPJVCaZfAZjAqK0Z GZWO2OSKbSveYWL7e8e0mqEyfuAQwW0qV0OprMvxn9YbkILaOzDTrds7UGWTisT+8J3+cU zf0sqoniZOJdZsoWQMZ9IudxA8/SncX2SpG9n9xlAabUMK2eWa6q/QAWKwkLkY5yEz567E bxx/iWGfS1Vp/rHyJg8xZrkU+v4skC6f2WRhoy3v8ouvl/0/4WPn3/J4rXSO9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675172481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JAU/mwlfDSt2vKyIrVP+Fxinn7w7NBo1ovG+D81P/BQ=; b=F93WfhkFwtqDUHsDLJk8WefAoIyC4Qm8YjJXYvmYLQqKjb/8pA+cgXQ5xI1t9/hBulqUpL 7Pq9IkTgj/KGWPfmatvJ1lPq4dlUmMsjFQ91AR7oeUQtZhbZlgYxR+0bOOGBbbDZfKJMMI OMVKNwuUCZOBP1ziDr2KHFCF7IkBMlbzdSXcjDrgu+xPfp0edeDuISFOl1J7cHQ9OZO4q4 RgqK5Ecqe95ej3wq+Opb5hnk6odiuQt44TTkzgtxb1GlVvqCEQwW3KRd+NWJfSZqlOOp2p 750lXQVzaL2LY4FMuSRSGSprEjPcR/SYz/mbwK+1Cu1gw6+TnlLl22dcHyCfYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675172481; a=rsa-sha256; cv=none; b=W4r0THaiPbJKx7RtlBThaEP8KNP8hcpzf1eSeHCHFxqQeIkjaGWwWugpJrVXEayq0WXP7F GQxQuumTmVOskJTvTmR5D/JAwU/tYTy/Ucq6Qkh/2woEHK+7GKyByHMUf5g1aQjFbWPmqF Bjb3sce+0vsZG9SVbeGsgN77XuGgJ+Ypc/B79KsUctCAi1F5+xob6H6DpDVIQPnA66egmS wZMrvm7o2Xn1A70QU8gdjQ9XQlM0fmD6UsTuPD3bAZeSHuK4QrHtYcs8SnCMKgJksxCcci OcazZQ1fbJQ1f3qQxX5jB+oV0W5BCB4pHy/2phIc0TLUXnw0j434D7NvbTDNOg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5mRP3FC3zr8F; Tue, 31 Jan 2023 13:41:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VDfL4B079185; Tue, 31 Jan 2023 13:41:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VDfLNA079184; Tue, 31 Jan 2023 13:41:21 GMT (envelope-from git) Date: Tue, 31 Jan 2023 13:41:21 GMT Message-Id: <202301311341.30VDfLNA079184@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a3baca22d0b7 - main - LinuxKPI: 802.11: fix types and whitespace List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a3baca22d0b7789a040a60f389e3c132b6e1755b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a3baca22d0b7789a040a60f389e3c132b6e1755b commit a3baca22d0b7789a040a60f389e3c132b6e1755b Author: Bjoern A. Zeeb AuthorDate: 2023-01-31 13:39:04 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-01-31 13:39:04 +0000 LinuxKPI: 802.11: fix types and whitespace Correct struct member types, fix whitespace, and remove superfluous return statements in void functions. No functional changes. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 11 ++++++----- sys/compat/linuxkpi/common/include/net/mac80211.h | 6 ------ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 55a74227a338..8b73dc1abe3f 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2020-2021 The FreeBSD Foundation + * Copyright (c) 2020-2023 The FreeBSD Foundation * Copyright (c) 2021-2022 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -265,9 +265,8 @@ struct cfg80211_roam_info { }; struct cfg80211_bss_ies { - /* XXX TODO, type is best guess. Fix if more info. */ uint8_t *data; - int len; + size_t len; }; struct cfg80211_bss { @@ -937,6 +936,7 @@ struct iface_combination_params { struct regulatory_request { /* XXX TODO */ uint8_t alpha2[2]; + enum environment_cap country_ie_env; int initiator, dfs_region; int user_reg_hint_type; }; @@ -1029,8 +1029,9 @@ struct wiphy { uint32_t rts_threshold; uint32_t frag_threshold; struct tid_config_support tid_config_support; + uint8_t available_antennas_rx; + uint8_t available_antennas_tx; - int available_antennas_rx, available_antennas_tx; int features, hw_version; int interface_modes, max_match_sets, max_remain_on_channel_duration, max_scan_ssids, max_sched_scan_ie_len, max_sched_scan_plan_interval, max_sched_scan_plan_iterations, max_sched_scan_plans, max_sched_scan_reqs, max_sched_scan_ssids; int num_iftype_ext_capab; @@ -1200,7 +1201,7 @@ cfg80211_get_bss(struct wiphy *wiphy, struct linuxkpi_ieee80211_channel *chan, { return (linuxkpi_cfg80211_get_bss(wiphy, chan, bssid, ssid, ssid_len, - bss_type, privacy)); + bss_type, privacy)); } static inline void diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index d548b9bb956f..caf9be89281e 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -2394,7 +2394,6 @@ static __inline void ieee80211_resume_disconnect(struct ieee80211_vif *vif) { TODO(); - return; } static __inline int @@ -2410,7 +2409,6 @@ ieee80211_get_tkip_p1k_iv(struct ieee80211_key_conf *key, uint32_t iv32, uint16_t *p1k) { TODO(); - return; } static __inline struct ieee80211_key_conf * @@ -2426,14 +2424,12 @@ ieee80211_gtk_rekey_notify(struct ieee80211_vif *vif, const uint8_t *bssid, const uint8_t *replay_ctr, gfp_t gfp) { TODO(); - return; } static __inline void ieee80211_remove_key(struct ieee80211_key_conf *key) { TODO(); - return; } static __inline void @@ -2441,7 +2437,6 @@ ieee80211_set_key_rx_seq(struct ieee80211_key_conf *key, int tid, struct ieee80211_key_seq *seq) { TODO(); - return; } static __inline void @@ -2449,7 +2444,6 @@ ieee80211_report_wowlan_wakeup(struct ieee80211_vif *vif, struct cfg80211_wowlan_wakeup *wakeup, gfp_t gfp) { TODO(); - return; } static __inline void From nobody Tue Jan 31 14:25:34 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5nQQ4cyKz3cfYw; Tue, 31 Jan 2023 14:25:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5nQQ47nPz3qQw; Tue, 31 Jan 2023 14:25:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675175134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OMN6XVMuDpb5euMMbHjKl5D7Y8Osju1vyp+USmUCxow=; b=UE3G+wMOqk2xSgfLRgmWO2itmIbvxSW+N9J3uIq5DOjckDpC/RiehBCKH1pPIdHDMByTg3 XBDXi4lbvVmA3NfO6lwMergrIZpCBVMvcU2FscS5HMkiOIy3b0gGEqKmIsUwUCr/uqah0W DiW+M2Yfp5PgzlgIpRIPisWucKJGZ+MXk8mZLsnXZ8jzejfBIJ7SY+QaqEC0Z99In43QIc r2AHM8HXrFiHEuLmjTMV5ASZAwieBJ+w6hfUqoAVMNTjDGhpTEaz+EWv2BkmhhxEKuom+d A9orIdrKGcgTDpcLx5zZwI8pqgxf+zSTWVMHJt5A4EowgOy9Jkfk6MhzCTaP2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675175134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OMN6XVMuDpb5euMMbHjKl5D7Y8Osju1vyp+USmUCxow=; b=UkCTSL5EQzXEatmdSCG6SgBXmqoOLgEqo07CoeqGJFbq99Z7TZovqEIgTUbcMeDe5rety/ 9NYueyJjsPL1yO3zRaedg/j9Lf3Fy9LsdMLPLVDBDEhecGQWXlIuOZ7uyL3lpH1dEnLxAe xH6B9PQq3Q9yuIHNbR1CfvZPK+FUGdtK+eWtpX47W8dplGxPC4+R4e8kz+x07uhMIsc4nv bmPMVP29VOElweX8OG01r8kXiU9Zdq5YFACybsL93pDwIuzq9Kvnh3pJ5i/vI8aoEyOJK9 cJH1mybgzP3XAflPvdmH60xlp6XmOwlb/ZwBxP2ocEPKPCTcnLaz8FIKeVUbiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675175134; a=rsa-sha256; cv=none; b=mGJ2HKQk1FbJ5Y573teXC2s/dXY5xGDgggjsf1SRkSKeUHFIfqwD6TqjeXhB63b6shLIFk SNDrPPzHh1mOnavdqxx00WrqkZA8OnF9Ucp16K6w7nLLW1wclByR43OShJfjUqD6poCfBx 8NDOmsWwTXH4cTk41dyKK73hzfTB+WDVkvSzrryUhIsb21PC9WecVXy5ypzheeEzjMiy4q mM7AhvtOpeiplOsPVHDAu1Ym6ttxrTZc1X4EYEOy/YQweBqY8PLo2vXLuHB+kDqdty6Io8 JU0mUBPGmrHA9z/wGL//a6/As/XeNYQ/YHZhZxbOmMxzsl2gKf5QcbfpZfam+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 4P5nQQ3Bctzs05; Tue, 31 Jan 2023 14:25:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VEPYhZ039849; Tue, 31 Jan 2023 14:25:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VEPYhj039848; Tue, 31 Jan 2023 14:25:34 GMT (envelope-from git) Date: Tue, 31 Jan 2023 14:25:34 GMT Message-Id: <202301311425.30VEPYhj039848@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: e80699a809a0 - main - netlink: add NETLINK to GENERIC. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e80699a809a079c4e673940544d6ddd944e8d08e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=e80699a809a079c4e673940544d6ddd944e8d08e commit e80699a809a079c4e673940544d6ddd944e8d08e Author: Alexander V. Chernikov AuthorDate: 2023-01-31 14:22:11 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-01-31 14:22:11 +0000 netlink: add NETLINK to GENERIC. This is a followup of 692e19cf5195 (add netlink to GENERIC@amd64). Netlink is a communication protocol defined in RFC 3549. It is async, TLV-based protocol, providing 1-1 and 1-many communications between kernel and userland. Netlink is currently used in Linux kernel to modify, read and subscribe for nearly all networking states. Interface state, addresses, routes, firewall, rules, fibs, etc, are controlled via Netlink. Netlink support was added in D36002. It has got a number of improvements and first customers since then: * net/bird2 got netlink support, enabling route multipath in FreeBSD * netlink-based devd notifications are being worked on ( D37574 ). * linux(4) fully supports and depends on Netlink Enabling Netlink in GENERIC targets two goals. The first one is to provide stability for the third-party userland applications, so they can rely on the fact that netlink always exists since 14.0 and potentially 13.2. Loadable module makes life of the app delepers harder. For example, `net/bird2` can be either build with netlink or rtsock support, but not both. The second goal is to enable gradual conversion of the base userland tools to use netlink(4) interfaces. Converting tools like netstat (D36529), route, ifconfig one-by-one simplifies testing and addressing the feedback. Othewise, switching all base to use netlink at once may be too big of a leap. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D37783 --- sys/arm/conf/std.armv7 | 1 + sys/arm64/conf/std.arm64 | 1 + sys/i386/conf/GENERIC | 1 + sys/powerpc/conf/GENERIC64 | 1 + sys/riscv/conf/GENERIC | 1 + 5 files changed, 5 insertions(+) diff --git a/sys/arm/conf/std.armv7 b/sys/arm/conf/std.armv7 index 8ace5c01eeab..03cc0ae5a2b8 100644 --- a/sys/arm/conf/std.armv7 +++ b/sys/arm/conf/std.armv7 @@ -11,6 +11,7 @@ options CC_CUBIC # include CUBIC congestion control options TCP_HHOOK # hhook(9) framework for TCP device crypto # core crypto support options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 +options NETLINK # netlink(4) support options SCTP_SUPPORT # Allow kldload of SCTP options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support diff --git a/sys/arm64/conf/std.arm64 b/sys/arm64/conf/std.arm64 index 6480ca6530e4..1e664a3ba90c 100644 --- a/sys/arm64/conf/std.arm64 +++ b/sys/arm64/conf/std.arm64 @@ -13,6 +13,7 @@ options INET # InterNETworking options INET6 # IPv6 communications protocols options CC_CUBIC # include CUBIC congestion control options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 +options NETLINK # netlink(4) support options ROUTE_MPATH # Multipath routing support options FIB_ALGO # Modular fib lookups options TCP_OFFLOAD # TCP offload diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC index 235713851016..5d30f2877c1c 100644 --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -32,6 +32,7 @@ options VIMAGE # Subsystem virtualization, e.g. VNET options INET # InterNETworking options INET6 # IPv6 communications protocols options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 +options NETLINK # netlink(4) support options ROUTE_MPATH # Multipath routing support options TCP_HHOOK # hhook(9) framework for TCP options TCP_OFFLOAD # TCP offload diff --git a/sys/powerpc/conf/GENERIC64 b/sys/powerpc/conf/GENERIC64 index bfd0cf342d95..37a78446f07a 100644 --- a/sys/powerpc/conf/GENERIC64 +++ b/sys/powerpc/conf/GENERIC64 @@ -42,6 +42,7 @@ options VIMAGE # Subsystem virtualization, e.g. VNET options INET # InterNETworking options INET6 # IPv6 communications protocols options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 +options NETLINK # netlink(4) support options ROUTE_MPATH # Multipath routing support options TCP_OFFLOAD # TCP offload options TCP_BLACKBOX # Enhanced TCP event logging diff --git a/sys/riscv/conf/GENERIC b/sys/riscv/conf/GENERIC index 2e35a49825d4..69c36511da80 100644 --- a/sys/riscv/conf/GENERIC +++ b/sys/riscv/conf/GENERIC @@ -31,6 +31,7 @@ options INET # InterNETworking options INET6 # IPv6 communications protocols options TCP_HHOOK # hhook(9) framework for TCP options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 +options NETLINK # netlink(4) support options ROUTE_MPATH # Multipath routing support options TCP_OFFLOAD # TCP offload options TCP_BLACKBOX # Enhanced TCP event logging From nobody Tue Jan 31 14:58:04 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5p851jzjz3cjyk; Tue, 31 Jan 2023 14:58:13 +0000 (UTC) (envelope-from mike@karels.net) Received: from mail2.karels.net (mail2.karels.net [3.19.118.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "freebsd", Issuer "freebsd" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5p8502fnz3sMn; Tue, 31 Jan 2023 14:58:12 +0000 (UTC) (envelope-from mike@karels.net) Authentication-Results: mx1.freebsd.org; none Received: from mail2.karels.net (localhost [IPv6:0:0:0:0:0:0:0:1]) by mail2.karels.net (8.16.1/8.16.1) with ESMTP id 30VEw5Ww096320; Tue, 31 Jan 2023 08:58:05 -0600 (CST) (envelope-from mike@karels.net) Received: from [10.0.2.130] ([73.62.165.147]) by mail2.karels.net with ESMTPSA id W+rvIn0s2WM+eAEAs/W3XQ (envelope-from ); Tue, 31 Jan 2023 08:58:05 -0600 From: Mike Karels To: "Alexander V. Chernikov" Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: e80699a809a0 - main - netlink: add NETLINK to GENERIC. Date: Tue, 31 Jan 2023 08:58:04 -0600 X-Mailer: MailMate (1.14r5937) Message-ID: <93BA13C5-6870-4BBE-B725-C7FDA5FBAAF5@karels.net> In-Reply-To: <202301311425.30VEPYhj039848@gitrepo.freebsd.org> References: <202301311425.30VEPYhj039848@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4P5p8502fnz3sMn X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16509, ipnet:3.16.0.0/14, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 31 Jan 2023, at 8:25, Alexander V. Chernikov wrote: > The branch main has been updated by melifaro: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3De80699a809a079c4e6739405= 44d6ddd944e8d08e > > commit e80699a809a079c4e673940544d6ddd944e8d08e > Author: Alexander V. Chernikov > AuthorDate: 2023-01-31 14:22:11 +0000 > Commit: Alexander V. Chernikov > CommitDate: 2023-01-31 14:22:11 +0000 > > netlink: add NETLINK to GENERIC. > > This is a followup of 692e19cf5195 (add netlink to GENERIC@amd64). > > Netlink is a communication protocol defined in RFC 3549. It is asyn= c, > TLV-based protocol, providing 1-1 and 1-many communications between= kernel > and userland. Netlink is currently used in Linux kernel to modify, = read and > subscribe for nearly all networking states. Interface state, addres= ses, routes, > firewall, rules, fibs, etc, are controlled via Netlink. > > Netlink support was added in D36002. It has got a number of improve= ments and > first customers since then: > * net/bird2 got netlink support, enabling route multipath in FreeBS= D > * netlink-based devd notifications are being worked on ( D37574 ). > * linux(4) fully supports and depends on Netlink > > Enabling Netlink in GENERIC targets two goals. > The first one is to provide stability for the third-party userland = applications, > so they can rely on the fact that netlink always exists since 14.0 = and potentially 13.2. > Loadable module makes life of the app delepers harder. For example,= `net/bird2` can be > either build with netlink or rtsock support, but not both. > > The second goal is to enable gradual conversion of the base userlan= d tools > to use netlink(4) interfaces. Converting tools like netstat (D36529= ), route, > ifconfig one-by-one simplifies testing and addressing the feedback.= > Othewise, switching all base to use netlink at once may be too big = of a leap. > > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D37783 > --- > sys/arm/conf/std.armv7 | 1 + > sys/arm64/conf/std.arm64 | 1 + > sys/i386/conf/GENERIC | 1 + > sys/powerpc/conf/GENERIC64 | 1 + > sys/riscv/conf/GENERIC | 1 + > 5 files changed, 5 insertions(+) > > diff --git a/sys/arm/conf/std.armv7 b/sys/arm/conf/std.armv7 > index 8ace5c01eeab..03cc0ae5a2b8 100644 > --- a/sys/arm/conf/std.armv7 > +++ b/sys/arm/conf/std.armv7 > @@ -11,6 +11,7 @@ options CC_CUBIC # include CUBIC congestion control= > options TCP_HHOOK # hhook(9) framework for TCP > device crypto # core crypto support > options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 > +options NETLINK # netlink(4) support Looks like the tabs are not right here. Kernel config files should use optionsOPTION so that the OPTION does not shift if the line is commented out. Most of the previous options do this. I see that several other recent options also use two tabs, including the amd64 NETLINK. Maybe we should do a cleanup pass. Mike > options SCTP_SUPPORT # Allow kldload of SCTP > options FFS # Berkeley Fast Filesystem > options SOFTUPDATES # Enable FFS soft updates support > diff --git a/sys/arm64/conf/std.arm64 b/sys/arm64/conf/std.arm64 > index 6480ca6530e4..1e664a3ba90c 100644 > --- a/sys/arm64/conf/std.arm64 > +++ b/sys/arm64/conf/std.arm64 > @@ -13,6 +13,7 @@ options INET # InterNETworking > options INET6 # IPv6 communications protocols > options CC_CUBIC # include CUBIC congestion control > options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 > +options NETLINK # netlink(4) support > options ROUTE_MPATH # Multipath routing support > options FIB_ALGO # Modular fib lookups > options TCP_OFFLOAD # TCP offload > diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC > index 235713851016..5d30f2877c1c 100644 > --- a/sys/i386/conf/GENERIC > +++ b/sys/i386/conf/GENERIC > @@ -32,6 +32,7 @@ options VIMAGE # Subsystem virtualization, e.g. VN= ET > options INET # InterNETworking > options INET6 # IPv6 communications protocols > options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 > +options NETLINK # netlink(4) support > options ROUTE_MPATH # Multipath routing support > options TCP_HHOOK # hhook(9) framework for TCP > options TCP_OFFLOAD # TCP offload > diff --git a/sys/powerpc/conf/GENERIC64 b/sys/powerpc/conf/GENERIC64 > index bfd0cf342d95..37a78446f07a 100644 > --- a/sys/powerpc/conf/GENERIC64 > +++ b/sys/powerpc/conf/GENERIC64 > @@ -42,6 +42,7 @@ options VIMAGE # Subsystem virtualization, e.g. VN= ET > options INET # InterNETworking > options INET6 # IPv6 communications protocols > options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 > +options NETLINK # netlink(4) support > options ROUTE_MPATH # Multipath routing support > options TCP_OFFLOAD # TCP offload > options TCP_BLACKBOX # Enhanced TCP event logging > diff --git a/sys/riscv/conf/GENERIC b/sys/riscv/conf/GENERIC > index 2e35a49825d4..69c36511da80 100644 > --- a/sys/riscv/conf/GENERIC > +++ b/sys/riscv/conf/GENERIC > @@ -31,6 +31,7 @@ options INET # InterNETworking > options INET6 # IPv6 communications protocols > options TCP_HHOOK # hhook(9) framework for TCP > options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 > +options NETLINK # netlink(4) support > options ROUTE_MPATH # Multipath routing support > options TCP_OFFLOAD # TCP offload > options TCP_BLACKBOX # Enhanced TCP event logging From nobody Tue Jan 31 15:05:00 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5pJ02ZwQz3cklq for ; Tue, 31 Jan 2023 15:05:04 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5pJ00hN0z3t1B for ; Tue, 31 Jan 2023 15:05:03 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f52.google.com with SMTP id c4-20020a1c3504000000b003d9e2f72093so12676498wma.1 for ; Tue, 31 Jan 2023 07:05:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H/ok1jXU5v3QXJKertTTQ+zHFioVYnzNzChuuOan8Kk=; b=KDT12z3bbJ4QJ0gFCNy0kCN7ZlMpFGDlsMv/yKnubK+sTjqcpEsk8AYkrec6elUMsU 4exwy/EuA9miGI1clVdSwLPSTaWPEbuijSBhNo/wcprmQRlA4op6MMFqrZcf0XMRAY58 xorrhVDnwZ9IEAuEd/1xxX6TLxzIrBo9lAvfBR/hlQcUjmewRKqNAvhz/US/dDrBf9oc 6z/uXzGWJbYux6SAVoCUq840d7fIloybuCxAFIkVp9wMHvxfWIXtB0OS3yBYp5vEHr0R XsGPxn1ZbYTNfldgJJdRXI6aoSPDX4B0k35rqpxljE+dsMHhjfkMzyw9WDTzkhaL4NDN KfGw== X-Gm-Message-State: AO0yUKXycv+ROjtOki04wk4uwuwATrtpdq/tvRYGxLSWBGVDsROGL116 DMmUURiklDVW1EruoFjhJr5hHA== X-Google-Smtp-Source: AK7set/sijiapvSi3thskWjVPONh7SAYLykQ3sVh7dX3zY7OG/pePy2mqIR0RHKi4djHTAfwz87J8w== X-Received: by 2002:a05:600c:4f06:b0:3dc:5321:8457 with SMTP id l6-20020a05600c4f0600b003dc53218457mr4035811wmq.5.1675177501546; Tue, 31 Jan 2023 07:05:01 -0800 (PST) Received: from smtpclient.apple (global-5-143.n-2.net.cam.ac.uk. [131.111.5.143]) by smtp.gmail.com with ESMTPSA id y3-20020adff143000000b002be546f947asm15099836wro.61.2023.01.31.07.05.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Jan 2023 07:05:00 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: e80699a809a0 - main - netlink: add NETLINK to GENERIC. From: Jessica Clarke In-Reply-To: <202301311425.30VEPYhj039848@gitrepo.freebsd.org> Date: Tue, 31 Jan 2023 15:05:00 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <9C7C790F-68BD-4913-B554-6C72BE9174D5@freebsd.org> References: <202301311425.30VEPYhj039848@gitrepo.freebsd.org> To: "Alexander V. Chernikov" X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4P5pJ00hN0z3t1B X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 31 Jan 2023, at 14:25, Alexander V. Chernikov = wrote: >=20 > The branch main has been updated by melifaro: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3De80699a809a079c4e673940544d6ddd9= 44e8d08e >=20 > commit e80699a809a079c4e673940544d6ddd944e8d08e > Author: Alexander V. Chernikov > AuthorDate: 2023-01-31 14:22:11 +0000 > Commit: Alexander V. Chernikov > CommitDate: 2023-01-31 14:22:11 +0000 >=20 > netlink: add NETLINK to GENERIC. >=20 > This is a followup of 692e19cf5195 (add netlink to GENERIC@amd64). >=20 > Netlink is a communication protocol defined in RFC 3549. It is = async, > TLV-based protocol, providing 1-1 and 1-many communications between = kernel > and userland. Netlink is currently used in Linux kernel to modify, = read and > subscribe for nearly all networking states. Interface state, = addresses, routes, > firewall, rules, fibs, etc, are controlled via Netlink. >=20 > Netlink support was added in D36002. It has got a number of = improvements and > first customers since then: > * net/bird2 got netlink support, enabling route multipath in = FreeBSD > * netlink-based devd notifications are being worked on ( D37574 ). > * linux(4) fully supports and depends on Netlink >=20 > Enabling Netlink in GENERIC targets two goals. > The first one is to provide stability for the third-party userland = applications, > so they can rely on the fact that netlink always exists since 14.0 = and potentially 13.2. > Loadable module makes life of the app delepers harder. For example, = `net/bird2` can be > either build with netlink or rtsock support, but not both. >=20 > The second goal is to enable gradual conversion of the base = userland tools > to use netlink(4) interfaces. Converting tools like netstat = (D36529), route, > ifconfig one-by-one simplifies testing and addressing the feedback. > Othewise, switching all base to use netlink at once may be too big = of a leap. >=20 > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D37783 > --- > sys/arm/conf/std.armv7 | 1 + > sys/arm64/conf/std.arm64 | 1 + > sys/i386/conf/GENERIC | 1 + > sys/powerpc/conf/GENERIC64 | 1 + > sys/riscv/conf/GENERIC | 1 + > 5 files changed, 5 insertions(+) Why not 32-bit powerpc? And if this is to make it generally available as a standard FreeBSD component, what about all the various non-GENERIC kernels (that don=E2=80=99t inherit from one of the ones you=E2=80=99ve = touched)? Especially if base is going to start using it. Jess > diff --git a/sys/arm/conf/std.armv7 b/sys/arm/conf/std.armv7 > index 8ace5c01eeab..03cc0ae5a2b8 100644 > --- a/sys/arm/conf/std.armv7 > +++ b/sys/arm/conf/std.armv7 > @@ -11,6 +11,7 @@ options CC_CUBIC # include CUBIC = congestion control > options TCP_HHOOK # hhook(9) framework for TCP > device crypto # core crypto support > options IPSEC_SUPPORT # Allow kldload of ipsec and = tcpmd5 > +options NETLINK # netlink(4) support > options SCTP_SUPPORT # Allow kldload of SCTP > options FFS # Berkeley Fast Filesystem > options SOFTUPDATES # Enable FFS soft updates = support > diff --git a/sys/arm64/conf/std.arm64 b/sys/arm64/conf/std.arm64 > index 6480ca6530e4..1e664a3ba90c 100644 > --- a/sys/arm64/conf/std.arm64 > +++ b/sys/arm64/conf/std.arm64 > @@ -13,6 +13,7 @@ options INET # = InterNETworking > options INET6 # IPv6 communications protocols > options CC_CUBIC # include CUBIC congestion = control > options IPSEC_SUPPORT # Allow kldload of ipsec and = tcpmd5 > +options NETLINK # netlink(4) support > options ROUTE_MPATH # Multipath routing support > options FIB_ALGO # Modular fib lookups > options TCP_OFFLOAD # TCP offload > diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC > index 235713851016..5d30f2877c1c 100644 > --- a/sys/i386/conf/GENERIC > +++ b/sys/i386/conf/GENERIC > @@ -32,6 +32,7 @@ options VIMAGE # Subsystem = virtualization, e.g. VNET > options INET # InterNETworking > options INET6 # IPv6 communications protocols > options IPSEC_SUPPORT # Allow kldload of ipsec and = tcpmd5 > +options NETLINK # netlink(4) support > options ROUTE_MPATH # Multipath routing = support > options TCP_HHOOK # hhook(9) framework for TCP > options TCP_OFFLOAD # TCP offload > diff --git a/sys/powerpc/conf/GENERIC64 b/sys/powerpc/conf/GENERIC64 > index bfd0cf342d95..37a78446f07a 100644 > --- a/sys/powerpc/conf/GENERIC64 > +++ b/sys/powerpc/conf/GENERIC64 > @@ -42,6 +42,7 @@ options VIMAGE # Subsystem = virtualization, e.g. VNET > options INET # InterNETworking > options INET6 # IPv6 communications protocols > options IPSEC_SUPPORT # Allow kldload of ipsec and = tcpmd5 > +options NETLINK # netlink(4) support > options ROUTE_MPATH # Multipath routing = support > options TCP_OFFLOAD # TCP offload > options TCP_BLACKBOX # Enhanced TCP event logging > diff --git a/sys/riscv/conf/GENERIC b/sys/riscv/conf/GENERIC > index 2e35a49825d4..69c36511da80 100644 > --- a/sys/riscv/conf/GENERIC > +++ b/sys/riscv/conf/GENERIC > @@ -31,6 +31,7 @@ options INET # = InterNETworking > options INET6 # IPv6 communications protocols > options TCP_HHOOK # hhook(9) framework for TCP > options IPSEC_SUPPORT # Allow kldload of ipsec and = tcpmd5 > +options NETLINK # netlink(4) support > options ROUTE_MPATH # Multipath routing = support > options TCP_OFFLOAD # TCP offload > options TCP_BLACKBOX # Enhanced TCP event logging From nobody Tue Jan 31 15:07:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5pMB07bZz3ckmj; Tue, 31 Jan 2023 15:07:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5pM96l1Mz3tGk; Tue, 31 Jan 2023 15:07:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675177669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FLj0SjaCXhYPzNNGQvB3AHPq4XR4sGoMRfJ2N1S5MsE=; b=cAdZQiFuJoe0yTTU7pOD9iVEOzJxypZfsMY2DpGyoElWvN2it+rjITzW90p/qjc6GgOOyv xO2QoZpaBYHAzG/2rBM6qIIxzl95ODD50GSVMWeDkraY0nU0UC6rcTayMn0fJh052ggDW/ vifkNgS4Tj/CRpXl5k8A0F/Minme4Vy7gkMCIStnzgwJ2azfEHQp103cXnjJG4yUlM77Sh LoooyYOR+jN0pMhQblOzh2CHhrT1ejDvU+/wAxM55fsDKoEFbRZcQo8Hs9ttyGRV6mYAFB ZIioZIdxMM5jKUxEc44dRJ/0TGd4W5wfoc7DLOUzdqr75MrR7Qxby7Vls3Z10Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675177669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FLj0SjaCXhYPzNNGQvB3AHPq4XR4sGoMRfJ2N1S5MsE=; b=SiXTnNiHZ7PRvLVRd3Fkro+Hd0YP3lnjMLBXpwlOouYWGgjPebRnLn8KTwA6OrHfTI3NcX vkZQ/AmNiBiIDfrrYaUThaNTe+A4489JFrZAwi8ysi0cf98IvTRjcbf7nOjWeP9yU+Ssyg k4yZlNtJMGWpmzquN6w3c0004fEDCwH+ItWAZPSk/QKIA+EBuGs31QJyUjjX3hOkM6tHmb GIUyV/u3Xh2ASevIuA6XgbMd2a1g8+QHfOYOHup0ogeNH5/gT5aT0C73LufSWNQDF1JOlu XGE276OPRc7WigDXW3G5BlzhjY5QOw/gGr30POaqWKeCgCsBBCgGgdQKWHiHPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675177669; a=rsa-sha256; cv=none; b=Uob9Ku94bJkZAePIbE9GfHd1jrgdbKCfcCMzPuzuk1J3/r3U4S6Wp/7hBNmJTwcl2Da4kr KbdiNTy/Ga3v8mRmoBaV50aWBEjlqv3V44J+X8rzcuPhXzbAQvfYS5evWgxcIpJM7xM++I JmahiivW2ekZF6omtkjccGayiy3uNO5AMbpKUJNBaVIeIlrRj8JsnUBI5A8TNBi12iEtgN rDJa/8koivZ5tsA6Sxjp7va4vcA9RY+/MkCM8KLPpHPbx6nrSUc4SaLXUMFzG3wWmOH/4S Cm7o+SDqCFYmZbZBBLYdJutNgGcKrMwWQe0QKwyG2if9en0xDGgDJFdCuw8ISQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5pM95nwxzt9x; Tue, 31 Jan 2023 15:07:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VF7nB2097671; Tue, 31 Jan 2023 15:07:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VF7n9B097670; Tue, 31 Jan 2023 15:07:49 GMT (envelope-from git) Date: Tue, 31 Jan 2023 15:07:49 GMT Message-Id: <202301311507.30VF7n9B097670@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e30e05d3ab39 - main - LinuxKPI: 802.11: extend linuxkpi_ieee80211_rx() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e30e05d3ab3979a148068235298e1a6f73b675f0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e30e05d3ab3979a148068235298e1a6f73b675f0 commit e30e05d3ab3979a148068235298e1a6f73b675f0 Author: Bjoern A. Zeeb AuthorDate: 2023-01-31 15:05:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-01-31 15:05:30 +0000 LinuxKPI: 802.11: extend linuxkpi_ieee80211_rx() Extend linuxkpi_ieee80211_rx() by another argument for the ieee80211_rx_list() implementation (even though the argument is currently ignored). Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 25 ++++++++++++----------- sys/compat/linuxkpi/common/src/linux_80211.c | 15 +++++++++++++- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index caf9be89281e..fee8b88d8feb 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1001,7 +1001,7 @@ void linuxkpi_ieee80211_iterate_stations_atomic(struct ieee80211_hw *, void linuxkpi_ieee80211_scan_completed(struct ieee80211_hw *, struct cfg80211_scan_info *); void linuxkpi_ieee80211_rx(struct ieee80211_hw *, struct sk_buff *, - struct ieee80211_sta *, struct napi_struct *); + struct ieee80211_sta *, struct napi_struct *, struct list_head *); uint8_t linuxkpi_ieee80211_get_tid(struct ieee80211_hdr *, bool); struct ieee80211_sta *linuxkpi_ieee80211_find_sta(struct ieee80211_vif *, const u8 *); @@ -1468,28 +1468,36 @@ ieee80211_rx_napi(struct ieee80211_hw *hw, struct ieee80211_sta *sta, struct sk_buff *skb, struct napi_struct *napi) { - linuxkpi_ieee80211_rx(hw, skb, sta, napi); + linuxkpi_ieee80211_rx(hw, skb, sta, napi, NULL); +} + +static __inline void +ieee80211_rx_list(struct ieee80211_hw *hw, struct ieee80211_sta *sta, + struct sk_buff *skb, struct list_head *list) +{ + + linuxkpi_ieee80211_rx(hw, skb, sta, NULL, list); } static __inline void ieee80211_rx_ni(struct ieee80211_hw *hw, struct sk_buff *skb) { - linuxkpi_ieee80211_rx(hw, skb, NULL, NULL); + linuxkpi_ieee80211_rx(hw, skb, NULL, NULL, NULL); } static __inline void ieee80211_rx_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb) { - linuxkpi_ieee80211_rx(hw, skb, NULL, NULL); + linuxkpi_ieee80211_rx(hw, skb, NULL, NULL, NULL); } static __inline void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb) { - linuxkpi_ieee80211_rx(hw, skb, NULL, NULL); + linuxkpi_ieee80211_rx(hw, skb, NULL, NULL, NULL); } /* -------------------------------------------------------------------------- */ @@ -2347,13 +2355,6 @@ ieee80211_get_tx_rates(struct ieee80211_vif *vif, struct ieee80211_sta *sta, TODO(); } -static __inline void -ieee80211_rx_list(struct ieee80211_hw *hw, struct ieee80211_sta *sta, - struct sk_buff *skb, struct list_head *list) -{ - TODO(); -} - static __inline void ieee80211_tx_status_ext(struct ieee80211_hw *hw, struct ieee80211_tx_status *txstat) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index d93eba6cece8..977cfb5e6bc7 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3840,9 +3840,11 @@ linuxkpi_ieee80211_scan_completed(struct ieee80211_hw *hw, return; } +/* For %list see comment towards the end of the function. */ void linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, - struct ieee80211_sta *sta, struct napi_struct *napi __unused) + struct ieee80211_sta *sta, struct napi_struct *napi __unused, + struct list_head *list __unused) { struct epoch_tracker et; struct lkpi_hw *lhw; @@ -4050,6 +4052,17 @@ skip_device_ts: if (ieee80211_hw_check(hw, RX_INCLUDES_FCS)) m_adj(m, -IEEE80211_CRC_LEN); +#if 0 + if (list != NULL) { + /* + * Normally this would be queued up and delivered by + * netif_receive_skb_list(), napi_gro_receive(), or the like. + * See mt76::mac80211.c as only current possible consumer. + */ + IMPROVE("we simply pass the packet to net80211 to deal with."); + } +#endif + NET_EPOCH_ENTER(et); if (ni != NULL) { ok = ieee80211_input_mimo(ni, m); From nobody Tue Jan 31 15:37:41 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5q1d6n9kz3bKPm; Tue, 31 Jan 2023 15:37: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 4P5q1d60Wvz3wR8; Tue, 31 Jan 2023 15:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675179461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L9ZKnxROA2oRRGWBFdyCM/g9exona3h6qWQgN3pWOrI=; b=oJnNJ/YDxO+rb7+u14iHHSQaKR5Pxg0RLDvQtdLZ7s/FR1rc3yKXxMVgOoHSVCETKse0/X 4ZTR9gDHhM5pRiDlZHGnqF2pOoE/Z51i5qACtplE5FXBm2J1/VVrZFhlSGHZcU0GOSonof TMUnJrFNifGpqgBGQat0KpU9bjEXpA8187Rauv9Qol6H3Pgy/UXerSwOPJtnvpAcK+Wht5 LTcEfPiBwQSOCdGd/NNKZSwbJH4jomWoEPA8QpGQfQtqfjNexFuaolehAF9fgG9ZcycJi2 UAdRpLTXrVjMDELA2apoWeo+5yohOOoUYuubPBg+PGbnq/0NxipjBCA4uubnqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675179461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L9ZKnxROA2oRRGWBFdyCM/g9exona3h6qWQgN3pWOrI=; b=qBCFDT7twYOjXqNRLt9ZdLzdupmvXeD/klFQO/EaBDYl8AnsBKMgw80PT6fgPVlQ3zNOP4 tHP9U+m5maMHfBTktR1/JoMIYuowe1nzzGteOCrILLA0YBEBNi/FEEznfkh4l3/8v/Z5MV KjhS/F1V5DLpqL1ssbeRL9cSNDdbsTPaYZoNMpkjgfcEc+6MKzGdDYxXbq00XHzOT+v5UQ X/T0M9gQ5Wfcd2+YwYTTZ6ReV3KFjP/libumYwxcRq0WaEO4C+DBtnkm59T5aadsww5O2i xgcgo6z6nI7zmn4ZOLC4050d8TL5M0b7ecHNV7OsUZ/HDdGjQpHpYjxNHjHGWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675179461; a=rsa-sha256; cv=none; b=hULBv3yXUMgPAvcXW1MeYeIMV80cEDjDWHaq3ZJ4iIIbjBxqzN4EFO5tGJSVaQvUhZCPmA wYKZhrbrbHatO3Vwo6cnzU5FJzmyW9mXgGm7bRblMEu5A1F0U94OhuFY88UeZcGz6umd5w BMHTixkuZcRsOsvpqnh1rbKqV/8Zf15PfNe3eKfiGMGv4D3SPcvTYC1lwBmN8rOP1JygCJ yoK/gX0NYq8bVi9ZBHiFpgeJC3wYjmDNEsqOzTxAu813ar33U2k2TbQnoqx1t4BtO5XzW3 hxU5UcM0qK5gpIX2Jq23WoemaF6iHzqWv1vruwulMlc2wRnAWiRjNjnOUvL+DA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5q1d52mkztkn; Tue, 31 Jan 2023 15:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VFbfv7039508; Tue, 31 Jan 2023 15:37:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VFbffe039507; Tue, 31 Jan 2023 15:37:41 GMT (envelope-from git) Date: Tue, 31 Jan 2023 15:37:41 GMT Message-Id: <202301311537.30VFbffe039507@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a83975710989 - main - LinuxKPI: 802.11: implement ieee80211_tx_status_ext() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a839757109891573123d8777b539fafa2d2198bb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a839757109891573123d8777b539fafa2d2198bb commit a839757109891573123d8777b539fafa2d2198bb Author: Bjoern A. Zeeb AuthorDate: 2023-01-31 15:35:59 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-01-31 15:35:59 +0000 LinuxKPI: 802.11: implement ieee80211_tx_status_ext() Add an implementation of ieee80211_tx_status_ext() extending the internal linuxkpi_ieee80211_tx_status() implementation. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 31 +++++++++-------- sys/compat/linuxkpi/common/src/linux_80211.c | 41 +++++++++++++++++++---- 2 files changed, 51 insertions(+), 21 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index fee8b88d8feb..2b3f6b8e3ab1 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1028,6 +1028,8 @@ void linuxkpi_ieee80211_beacon_loss(struct ieee80211_vif *); struct sk_buff *linuxkpi_ieee80211_probereq_get(struct ieee80211_hw *, uint8_t *, uint8_t *, size_t, size_t); void linuxkpi_ieee80211_tx_status(struct ieee80211_hw *, struct sk_buff *); +void linuxkpi_ieee80211_tx_status_ext(struct ieee80211_hw *, + struct ieee80211_tx_status *); /* -------------------------------------------------------------------------- */ @@ -1988,13 +1990,6 @@ ieee80211_sta_set_buffered(struct ieee80211_sta *sta, uint8_t tid, bool t) TODO(); } -static __inline void -ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) -{ - - linuxkpi_ieee80211_tx_status(hw, skb); -} - static __inline void ieee80211_get_key_rx_seq(struct ieee80211_key_conf *keyconf, uint8_t tid, struct ieee80211_key_seq *seq) @@ -2130,6 +2125,13 @@ ieee80211_wake_queue(struct ieee80211_hw *hw, uint16_t q) TODO(); } +static __inline void +ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) +{ + + linuxkpi_ieee80211_tx_status(hw, skb); +} + static __inline void ieee80211_tx_status_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb) { @@ -2144,6 +2146,14 @@ ieee80211_tx_status_ni(struct ieee80211_hw *hw, struct sk_buff *skb) ieee80211_tx_status(hw, skb); } +static __inline void +ieee80211_tx_status_ext(struct ieee80211_hw *hw, + struct ieee80211_tx_status *txstat) +{ + + linuxkpi_ieee80211_tx_status_ext(hw, txstat); +} + static __inline void ieee80211_tx_info_clear_status(struct ieee80211_tx_info *info) { @@ -2355,13 +2365,6 @@ ieee80211_get_tx_rates(struct ieee80211_vif *vif, struct ieee80211_sta *sta, TODO(); } -static __inline void -ieee80211_tx_status_ext(struct ieee80211_hw *hw, - struct ieee80211_tx_status *txstat) -{ - TODO(); -} - static __inline void ieee80211_color_change_finish(struct ieee80211_vif *vif) { diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 977cfb5e6bc7..3aff01baef2c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -4280,8 +4280,8 @@ linuxkpi_ieee80211_txq_get_depth(struct ieee80211_txq *txq, * passed back from the driver. rawx_mit() saves the ni on the m and the * m on the skb for us to be able to give feedback to net80211. */ -void -linuxkpi_ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb, +static void +_lkpi_ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb, int status) { struct ieee80211_node *ni; @@ -4296,20 +4296,28 @@ linuxkpi_ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb, ieee80211_tx_complete(ni, m, status); /* ni & mbuf were consumed. */ } +} +void +linuxkpi_ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb, + int status) +{ + + _lkpi_ieee80211_free_txskb(hw, skb, status); kfree_skb(skb); } void -linuxkpi_ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) +linuxkpi_ieee80211_tx_status_ext(struct ieee80211_hw *hw, + struct ieee80211_tx_status *txstat) { + struct sk_buff *skb; struct ieee80211_tx_info *info; struct ieee80211_ratectl_tx_status txs; struct ieee80211_node *ni; int status; - info = IEEE80211_SKB_CB(skb); - + skb = txstat->skb; if (skb->m != NULL) { struct mbuf *m; @@ -4320,6 +4328,7 @@ linuxkpi_ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) ni = NULL; } + info = txstat->info; if (info->flags & IEEE80211_TX_STAT_ACK) { status = 0; /* No error. */ txs.status = IEEE80211_RATECTL_TX_SUCCESS; @@ -4342,7 +4351,7 @@ linuxkpi_ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) txs.flags |= IEEE80211_RATECTL_STATUS_LONG_RETRY; } #if 0 /* Unused in net80211 currently. */ - /* XXX-BZ conver;t check .flags for MCS/VHT/.. */ + /* XXX-BZ convert check .flags for MCS/VHT/.. */ txs.final_rate = info->status.rates[0].idx; txs.flags |= IEEE80211_RATECTL_STATUS_FINAL_RATE; #endif @@ -4390,7 +4399,25 @@ linuxkpi_ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) info->status.status_driver_data[1]); #endif - linuxkpi_ieee80211_free_txskb(hw, skb, status); + if (txstat->free_list) { + _lkpi_ieee80211_free_txskb(hw, skb, status); + list_add_tail(&skb->list, txstat->free_list); + } else { + linuxkpi_ieee80211_free_txskb(hw, skb, status); + } +} + +void +linuxkpi_ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) +{ + struct ieee80211_tx_status status; + + memset(&status, 0, sizeof(status)); + status.info = IEEE80211_SKB_CB(skb); + status.skb = skb; + /* sta, n_rates, rates, free_list? */ + + ieee80211_tx_status_ext(hw, &status); } /* From nobody Tue Jan 31 16:19:33 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5qxx41qBz3bQL8; Tue, 31 Jan 2023 16:19:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5qxx3VGpz432b; Tue, 31 Jan 2023 16:19:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675181973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oinE0ifcKnQ+Zi4IPVGEZY7aq7bzIeidg+1VkByhZNE=; b=LAVOYqcXow7Cp+24FLJnoakwboHdPVKUzC9WmKGk0dzha31pcYf/SIkvfr0WvXpUfeDqbE pgHgYlQj8dSsRj6BfW/z8BVarjaIoVNOoHstpyg/3ZT0z+Lk8EcMW/aU7YRoM9hy/hPTqd juL669EJgFTP3YBQNZhaUVIx5sagTw7TCdR8tpKR/gOE8iqWAfkhqh8TnAyClaCEXkeXnl bReo9GdSe1hnx5SyR+0LnjZyVrGp5D8BsReFOuFzVp8a/aySEduRKn3WMqS25lYVDTFQG9 pBipboDAF4GikZRi6LgFS554bF9KSfwVo0fsk+3JBDu+j07hlcaTjIyx04wfag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675181973; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oinE0ifcKnQ+Zi4IPVGEZY7aq7bzIeidg+1VkByhZNE=; b=oKNWENu02/q61gWQXESNB09RfU8i175wCX9jmy1jRTRm2HApQrtSIakxfpHCrNzRwwJ04A Lql05Cx0M1N0WnUX7alz2FNvi/QPHOhysNtrDs+GC/3Kq19dkXwEea6RyVPiRJhfWAfJvP hhKwBK5UJUP4igpptGWMsfHf5WoT30BL/FJiUfg9x4wDyfRuplQnYQXG1D0Jd5FAepGjsF 0U2o8JxA1EvVaqEDz9TSOMlgsaOuCnQAAxbBMQimZ+IrAsN5o+AB2GfGsBPOXp+Kw/Isay hm1W11OocCj/jco4Jcy55UUXfwdozL3KmuEV9cKsIwWZr6l+LzMgPPLz5ZmqeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675181973; a=rsa-sha256; cv=none; b=DqO1pPi/VsfVkQhfAT3NrvoP8/kgh8a9VdeylInn7gibv0X0CrZYJ/ccJIj6OB2c8sRiSK LlP69LVxExRv+hr3NWfEHFQdJAA1uAEgoNxrj2GMywUIypUyciKfhA7rDwstBnBdht0rOJ MPrdiCTq5G8FLwMeCizxwhqVx2VAZdmt8TLy6g0cH7W5vjXAahapVs+80semCmZJJ9Nou9 jhIC9LBaRmHwWsZKRLYlwNukv09/lZK90QsOyFXJVUlo1tRAaBXlogh9aEiTNlMUWfL38U MvyESYZ02RrJLGF2b2I0aWvo210QJFQiDBarOkyKAupubTpz8hk9PePaPbDCzg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5qxx2RGWzvg5; Tue, 31 Jan 2023 16:19:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VGJXQZ097582; Tue, 31 Jan 2023 16:19:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VGJXYP097581; Tue, 31 Jan 2023 16:19:33 GMT (envelope-from git) Date: Tue, 31 Jan 2023 16:19:33 GMT Message-Id: <202301311619.30VGJXYP097581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 5a9a0d780338 - main - LinuxKPI: 802.11: basic implementation of *queue(s)/*txq* List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a9a0d7803382321b5f9fff1deae5fb08463cf1a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5a9a0d7803382321b5f9fff1deae5fb08463cf1a commit 5a9a0d7803382321b5f9fff1deae5fb08463cf1a Author: Bjoern A. Zeeb AuthorDate: 2023-01-31 16:17:14 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-01-31 16:17:14 +0000 LinuxKPI: 802.11: basic implementation of *queue(s)/*txq* Very basic implementations of ieee80211_{wake,stop}_queue[s], as well as ieee80211_txq_schedule_start(), ieee80211_next_txq(), and ieee80211_schedule_txq(). Various combinations of these are used by different wireless drivers, incl. iwlwifi. Sponsored by: The FreeBSD Foundation (parts of this work) MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 124 ++++++------ sys/compat/linuxkpi/common/src/linux_80211.c | 220 ++++++++++++++++++++++ sys/compat/linuxkpi/common/src/linux_80211.h | 14 ++ 3 files changed, 299 insertions(+), 59 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 2b3f6b8e3ab1..93382a4bd424 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1030,6 +1030,14 @@ struct sk_buff *linuxkpi_ieee80211_probereq_get(struct ieee80211_hw *, void linuxkpi_ieee80211_tx_status(struct ieee80211_hw *, struct sk_buff *); void linuxkpi_ieee80211_tx_status_ext(struct ieee80211_hw *, struct ieee80211_tx_status *); +void linuxkpi_ieee80211_stop_queues(struct ieee80211_hw *); +void linuxkpi_ieee80211_wake_queues(struct ieee80211_hw *); +void linuxkpi_ieee80211_stop_queue(struct ieee80211_hw *, int); +void linuxkpi_ieee80211_wake_queue(struct ieee80211_hw *, int); +void linuxkpi_ieee80211_txq_schedule_start(struct ieee80211_hw *, uint8_t); +struct ieee80211_txq *linuxkpi_ieee80211_next_txq(struct ieee80211_hw *, uint8_t); +void linuxkpi_ieee80211_schedule_txq(struct ieee80211_hw *, + struct ieee80211_txq *, bool); /* -------------------------------------------------------------------------- */ @@ -1504,6 +1512,63 @@ ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb) /* -------------------------------------------------------------------------- */ +static inline void +ieee80211_stop_queues(struct ieee80211_hw *hw) +{ + linuxkpi_ieee80211_stop_queues(hw); +} + +static inline void +ieee80211_wake_queues(struct ieee80211_hw *hw) +{ + linuxkpi_ieee80211_wake_queues(hw); +} + +static inline void +ieee80211_stop_queue(struct ieee80211_hw *hw, int qnum) +{ + linuxkpi_ieee80211_stop_queue(hw, qnum); +} + +static inline void +ieee80211_wake_queue(struct ieee80211_hw *hw, int qnum) +{ + linuxkpi_ieee80211_wake_queue(hw, qnum); +} + +static inline void +ieee80211_schedule_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq) +{ + linuxkpi_ieee80211_schedule_txq(hw, txq, true); +} + +static inline void +ieee80211_return_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq, + bool withoutpkts) +{ + linuxkpi_ieee80211_schedule_txq(hw, txq, true); +} + +static inline void +ieee80211_txq_schedule_start(struct ieee80211_hw *hw, uint8_t ac) +{ + linuxkpi_ieee80211_txq_schedule_start(hw, ac); +} + +static inline void +ieee80211_txq_schedule_end(struct ieee80211_hw *hw, uint8_t ac) +{ + /* DO_NADA; */ +} + +static inline struct ieee80211_txq * +ieee80211_next_txq(struct ieee80211_hw *hw, uint8_t ac) +{ + return (linuxkpi_ieee80211_next_txq(hw, ac)); +} + +/* -------------------------------------------------------------------------- */ + static __inline uint8_t ieee80211_get_tid(struct ieee80211_hdr *hdr) { @@ -1815,18 +1880,6 @@ ieee80211_tdls_oper_request(struct ieee80211_vif *vif, uint8_t *addr, TODO(); } -static __inline void -ieee80211_stop_queues(struct ieee80211_hw *hw) -{ - TODO(); -} - -static __inline void -ieee80211_wake_queues(struct ieee80211_hw *hw) -{ - TODO(); -} - static __inline void wiphy_rfkill_set_hw_state(struct wiphy *wiphy, bool state) { @@ -2113,18 +2166,6 @@ ieee80211_queue_work(struct ieee80211_hw *hw, struct work_struct *w) linuxkpi_ieee80211_queue_work(hw, w); } -static __inline void -ieee80211_stop_queue(struct ieee80211_hw *hw, uint16_t q) -{ - TODO(); -} - -static __inline void -ieee80211_wake_queue(struct ieee80211_hw *hw, uint16_t q) -{ - TODO(); -} - static __inline void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) { @@ -2255,41 +2296,6 @@ ieee80211_sta_register_airtime(struct ieee80211_sta *sta, TODO(); } - -static __inline void -ieee80211_txq_schedule_start(struct ieee80211_hw *hw, uint8_t ac) -{ - TODO(); -} - -static __inline void -ieee80211_txq_schedule_end(struct ieee80211_hw *hw, uint8_t ac) -{ - /* DO_NADA; */ -} - -static __inline struct ieee80211_txq * -ieee80211_next_txq(struct ieee80211_hw *hw, uint8_t ac) -{ - - TODO(); - return (NULL); -} - -static __inline void -ieee80211_schedule_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq) -{ - TODO(); -} - -static __inline void -ieee80211_return_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq, - bool withoutpkts) -{ - TODO(); -} - - static __inline void ieee80211_beacon_set_cntdwn(struct ieee80211_vif *vif, u8 counter) { diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 3aff01baef2c..cf0c1755c499 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -76,6 +76,12 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_LKPI80211, "lkpi80211", "LinuxKPI 80211 compat"); +/* XXX-BZ really want this and others in queue.h */ +#define TAILQ_ELEM_INIT(elm, field) do { \ + (elm)->field.tqe_next = NULL; \ + (elm)->field.tqe_prev = NULL; \ +} while (0) + /* -------------------------------------------------------------------------- */ /* Keep public for as long as header files are using it too. */ @@ -4620,6 +4626,220 @@ linuxkpi_ieee80211_beacon_loss(struct ieee80211_vif *vif) /* -------------------------------------------------------------------------- */ +void +linuxkpi_ieee80211_stop_queue(struct ieee80211_hw *hw, int qnum) +{ + struct lkpi_hw *lhw; + struct lkpi_vif *lvif; + struct ieee80211_vif *vif; + int ac_count, ac; + + KASSERT(qnum < hw->queues, ("%s: qnum %d >= hw->queues %d, hw %p\n", + __func__, qnum, hw->queues, hw)); + + lhw = wiphy_priv(hw->wiphy); + + /* See lkpi_ic_vap_create(). */ + if (hw->queues >= IEEE80211_NUM_ACS) + ac_count = IEEE80211_NUM_ACS; + else + ac_count = 1; + + LKPI_80211_LHW_LVIF_LOCK(lhw); + TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) { + + vif = LVIF_TO_VIF(lvif); + for (ac = 0; ac < ac_count; ac++) { + IMPROVE_TXQ("LOCKING"); + if (qnum == vif->hw_queue[ac]) { + /* + * For now log this to better understand + * how this is supposed to work. + */ + if (lvif->hw_queue_stopped[ac]) + ic_printf(lhw->ic, "%s:%d: lhw %p hw %p " + "lvif %p vif %p ac %d qnum %d already " + "stopped\n", __func__, __LINE__, + lhw, hw, lvif, vif, ac, qnum); + lvif->hw_queue_stopped[ac] = true; + } + } + } + LKPI_80211_LHW_LVIF_UNLOCK(lhw); +} + +void +linuxkpi_ieee80211_stop_queues(struct ieee80211_hw *hw) +{ + int i; + + IMPROVE_TXQ("Locking; do we need further info?"); + for (i = 0; i < hw->queues; i++) + linuxkpi_ieee80211_stop_queue(hw, i); +} + + +static void +lkpi_ieee80211_wake_queues(struct ieee80211_hw *hw, int hwq) +{ + struct lkpi_hw *lhw; + struct lkpi_vif *lvif; + struct lkpi_sta *lsta; + int ac_count, ac, tid; + + /* See lkpi_ic_vap_create(). */ + if (hw->queues >= IEEE80211_NUM_ACS) + ac_count = IEEE80211_NUM_ACS; + else + ac_count = 1; + + lhw = wiphy_priv(hw->wiphy); + + IMPROVE_TXQ("Locking"); + LKPI_80211_LHW_LVIF_LOCK(lhw); + TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) { + struct ieee80211_vif *vif; + + vif = LVIF_TO_VIF(lvif); + for (ac = 0; ac < ac_count; ac++) { + + if (hwq == vif->hw_queue[ac]) { + + /* XXX-BZ what about software scan? */ + + /* + * For now log this to better understand + * how this is supposed to work. + */ + if (!lvif->hw_queue_stopped[ac]) + ic_printf(lhw->ic, "%s:%d: lhw %p hw %p " + "lvif %p vif %p ac %d hw_q not stopped\n", + __func__, __LINE__, + lhw, hw, lvif, vif, ac); + lvif->hw_queue_stopped[ac] = false; + + LKPI_80211_LVIF_LOCK(lvif); + TAILQ_FOREACH(lsta, &lvif->lsta_head, lsta_entry) { + struct ieee80211_sta *sta; + + sta = LSTA_TO_STA(lsta); + for (tid = 0; tid < nitems(sta->txq); tid++) { + struct lkpi_txq *ltxq; + + if (sta->txq[tid] == NULL) + continue; + + if (sta->txq[tid]->ac != ac) + continue; + + ltxq = TXQ_TO_LTXQ(sta->txq[tid]); + if (!ltxq->stopped) + continue; + + ltxq->stopped = false; + + /* XXX-BZ see when this explodes with all the locking. taskq? */ + lkpi_80211_mo_wake_tx_queue(hw, sta->txq[tid]); + } + } + LKPI_80211_LVIF_UNLOCK(lvif); + } + } + } + LKPI_80211_LHW_LVIF_UNLOCK(lhw); +} + +void +linuxkpi_ieee80211_wake_queues(struct ieee80211_hw *hw) +{ + int i; + + IMPROVE_TXQ("Is this all/enough here?"); + for (i = 0; i < hw->queues; i++) + lkpi_ieee80211_wake_queues(hw, i); +} + +void +linuxkpi_ieee80211_wake_queue(struct ieee80211_hw *hw, int qnum) +{ + + KASSERT(qnum < hw->queues, ("%s: qnum %d >= hw->queues %d, hw %p\n", + __func__, qnum, hw->queues, hw)); + + lkpi_ieee80211_wake_queues(hw, qnum); +} + +/* This is just hardware queues. */ +void +linuxkpi_ieee80211_txq_schedule_start(struct ieee80211_hw *hw, uint8_t ac) +{ + struct lkpi_hw *lhw; + + lhw = HW_TO_LHW(hw); + + IMPROVE_TXQ("Are there reasons why we wouldn't schedule?"); + IMPROVE_TXQ("LOCKING"); + if (++lhw->txq_generation[ac] == 0) + lhw->txq_generation[ac]++; +} + +struct ieee80211_txq * +linuxkpi_ieee80211_next_txq(struct ieee80211_hw *hw, uint8_t ac) +{ + struct lkpi_hw *lhw; + struct ieee80211_txq *txq; + struct lkpi_txq *ltxq; + + lhw = HW_TO_LHW(hw); + txq = NULL; + + IMPROVE_TXQ("LOCKING"); + + /* Check that we are scheduled. */ + if (lhw->txq_generation[ac] == 0) + goto out; + + ltxq = TAILQ_FIRST(&lhw->scheduled_txqs[ac]); + if (ltxq == NULL) + goto out; + if (ltxq->txq_generation == lhw->txq_generation[ac]) + goto out; + + ltxq->txq_generation = lhw->txq_generation[ac]; + TAILQ_REMOVE(&lhw->scheduled_txqs[ac], ltxq, txq_entry); + txq = <xq->txq; + TAILQ_ELEM_INIT(ltxq, txq_entry); + +out: + return (txq); +} + +void linuxkpi_ieee80211_schedule_txq(struct ieee80211_hw *hw, + struct ieee80211_txq *txq, bool withoutpkts) +{ + struct lkpi_hw *lhw; + struct lkpi_txq *ltxq; + + ltxq = TXQ_TO_LTXQ(txq); + + IMPROVE_TXQ("LOCKING"); + + /* Only schedule if work to do or asked to anyway. */ + if (!withoutpkts && skb_queue_empty(<xq->skbq)) + goto out; + + /* Make sure we do not double-schedule. */ + if (ltxq->txq_entry.tqe_next != NULL) + goto out; + + lhw = HW_TO_LHW(hw); + TAILQ_INSERT_TAIL(&lhw->scheduled_txqs[txq->ac], ltxq, txq_entry); +out: + return; +} + +/* -------------------------------------------------------------------------- */ + struct lkpi_cfg80211_bss { u_int refcnt; struct cfg80211_bss bss; diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index d9f2ce68f4f1..4d44ca07948e 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -50,6 +50,7 @@ #ifndef D80211_IMPROVE #define D80211_IMPROVE 0x2 #endif +#define D80211_IMPROVE_TXQ 0x4 #define D80211_TRACE 0x10 #define D80211_TRACEOK 0x20 #define D80211_TRACE_TX 0x100 @@ -62,6 +63,10 @@ #define D80211_TRACE_STA 0x10000 #define D80211_TRACE_MO 0x100000 +#define IMPROVE_TXQ(...) \ + if (linuxkpi_debug_80211 & D80211_IMPROVE_TXQ) \ + printf("%s:%d: XXX LKPI80211 IMPROVE_TXQ\n", __func__, __LINE__) + struct lkpi_radiotap_tx_hdr { struct ieee80211_radiotap_header wt_ihdr; uint8_t wt_flags; @@ -93,7 +98,11 @@ struct lkpi_radiotap_rx_hdr { (1 << IEEE80211_RADIOTAP_DBM_ANTNOISE)) struct lkpi_txq { + TAILQ_ENTRY(lkpi_txq) txq_entry; + bool seen_dequeue; + bool stopped; + uint32_t txq_generation; struct sk_buff_head skbq; /* Must be last! */ @@ -139,6 +148,8 @@ struct lkpi_vif { TAILQ_HEAD(, lkpi_sta) lsta_head; bool added_to_drv; /* Driver knows; i.e. we called add_interface(). */ + bool hw_queue_stopped[IEEE80211_NUM_ACS]; + /* Must be last! */ struct ieee80211_vif vif __aligned(CACHE_LINE_SIZE); }; @@ -164,6 +175,9 @@ struct lkpi_hw { /* name it mac80211_sc? */ struct mtx mtx; + uint32_t txq_generation[IEEE80211_NUM_ACS]; + TAILQ_HEAD(, lkpi_txq) scheduled_txqs[IEEE80211_NUM_ACS]; + /* Scan functions we overload to handle depending on scan mode. */ void (*ic_scan_curchan)(struct ieee80211_scan_state *, unsigned long); From nobody Tue Jan 31 16:38:08 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5rMN72L5z3bSCK; Tue, 31 Jan 2023 16:38: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 4P5rMN6Wtlz4478; Tue, 31 Jan 2023 16:38:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675183088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oASDF1rQHoIbqOyGx3acufzpdhJGVvvooziZ9ims/e0=; b=d9RAUw+4EC6tfrM0NChrby2yb9xVTfGiCWv0/25XAOzQsLTwT4c1yunhSYwAqcMPC7s2mU T2zLcDIaoCed7kOTqqFxnOfiv6OOxBCAfwDo0r5rw9PzQ7gQ/worQj/kO/2rMKrh539hr8 9KjgQdIbsF6ktnYAbgyeuxk722aaqdQG3JUpsY5P9mzBPXytljxpxTlt/xV4h1HIp4Ql6N BTXWnLtVHi9Ux/Vs6LcLvEXy5e/krOv7jjRpPxTxHawsqUnwAywVmF+rOZJIRwhZJUJp8I CtdoC1LsO16wLI/1jAvBmLxZ67Wk0EQU9mWQ/r9SPWPUuM/fC2Gz/W9FSZDeoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675183088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oASDF1rQHoIbqOyGx3acufzpdhJGVvvooziZ9ims/e0=; b=uxt74rV8p4y/pgsCokPKFpnLxPjMfhotGWZ88uttUYu70+gw3Vqoy5p9/Wir5dD48djh06 YBbUS0kpcnIw9W4EuthD5BtuEIC95x3vyB647kEeIM7b7y1cLBcq658NO6tL8V1bN+glb+ AfqvenvR7SJd3owDwziULJUPnaX/zne2K0opzAT+Pz7rRJajFrlF2WSVcFui0/wwhEfnUT xKQYwrvKAuWbf+owpNHIXZDi1XqRRJWEkKfiav7YnCF4FIen+JqFkMGSKz0p9Pa33a3Tn6 tWR6RI2uJywfBr8iBL5iVxXdah0TYxCvZCVO7XnLKd1gs30TqF8agjCf0h2MHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675183088; a=rsa-sha256; cv=none; b=Ua8Nwni+X2SajxxJMZJbIRTmQ+Igv/dIrqk2oETo5tLZdJOwqtAO+p/hQjn1D0Em1Dy0BH 3NnY9tAGMiLaXRBdysDcw9vdU4xMZaeaFBOLqd2k5eTS/U6HQj3XYkFfyZvwClBSDL/nzh 3Z31uejNCo9U9WbQN2jYCONz07/HiixDRH8wz08GJdr8hYLmFakpWqEAm7xvJQD3RhYnGM kNdRnsysBVySeMonmUleArIcoKKcjp5owRieiDEM6mHu2wY3c6Q0vo25008MaeezLXxf6d LpltvuE4hKgGQHujInjlrmD6ZhZ9TfcMQjIPHKMpWxQoLXunsQYA7RmSjPWKHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5rMN5PQSzwCt; Tue, 31 Jan 2023 16:38:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VGc8wA025618; Tue, 31 Jan 2023 16:38:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VGc86o025617; Tue, 31 Jan 2023 16:38:08 GMT (envelope-from git) Date: Tue, 31 Jan 2023 16:38:08 GMT Message-Id: <202301311638.30VGc86o025617@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: ff76cbc81d57 - main - LinuxKPI: 802.11: implement ieee80211_is_pspoll() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ff76cbc81d57ffc4bbc9bc20fd22325b2a8c2028 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ff76cbc81d57ffc4bbc9bc20fd22325b2a8c2028 commit ff76cbc81d57ffc4bbc9bc20fd22325b2a8c2028 Author: Bjoern A. Zeeb AuthorDate: 2023-01-31 16:36:24 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-01-31 16:36:24 +0000 LinuxKPI: 802.11: implement ieee80211_is_pspoll() Implement ieee80211_is_pspoll() and move it up to the set of implemented ieee80211_is_*() functions. There are no further changes (git diff just looks weird). Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 93382a4bd424..9077a62c2ef5 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1350,29 +1350,33 @@ ieee80211_is_any_nullfunc(__le16 fc) return (ieee80211_is_nullfunc(fc) || ieee80211_is_qos_nullfunc(fc)); } -static __inline bool -ieee80211_vif_is_mesh(struct ieee80211_vif *vif) +static bool +ieee80211_is_pspoll(__le16 fc) { - TODO(); - return (false); + __le16 v; + + fc &= htole16(IEEE80211_FC0_SUBTYPE_MASK | IEEE80211_FC0_TYPE_MASK); + v = htole16(IEEE80211_FC0_SUBTYPE_PS_POLL | IEEE80211_FC0_TYPE_CTL); + + return (fc == v); } static __inline bool -ieee80211_is_frag(struct ieee80211_hdr *hdr) +ieee80211_vif_is_mesh(struct ieee80211_vif *vif) { TODO(); return (false); } static __inline bool -ieee80211_is_first_frag(__le16 fc) +ieee80211_is_frag(struct ieee80211_hdr *hdr) { TODO(); return (false); } static __inline bool -ieee80211_is_pspoll(__le16 fc) +ieee80211_is_first_frag(__le16 fc) { TODO(); return (false); From nobody Tue Jan 31 16:39:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5rPV16nqz3bSYH; Tue, 31 Jan 2023 16:39: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 4P5rPV0w1rz44ft; Tue, 31 Jan 2023 16:39:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675183198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=07l3Nq+XO1adTKglTowkfjTL019H50kRiLTFW4FGyo0=; b=Ft80/eKhWMraU1JFKrIGtFu9TAqtCZei+ynCFmagmNM8Vownt3k5r/drPZ+xJ10N2BR505 RwAKt/AqNeBv1NewveAlxcqw+aU22NGJL4bIWs7irOxZBZXQFmlo3OTvXOoUIBy3HRco8i yuPTsSSFEvrJ/cuGM2eWc9FBJwU26WQnDdEZ147U20LF/xFP2obvxrhvlXJklKbx/Zzh2v 9makX+rHwxfJtUvLzF8e1ck8pZgTXopk3KY7sSta35Sk5eI6xCJwiUG0XUSAoEZoDPOZvN Nkup3szocjTSxKiT6GNdUdnMW5lFkVvOEzcKvQgt9DRo99FTH0EUIuREJVYNzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675183198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=07l3Nq+XO1adTKglTowkfjTL019H50kRiLTFW4FGyo0=; b=RzSZjUbxNXOzNbq6q2DuMM68zDA9hCNirnZJO406Lp8S6ZmMQrNZGJZjdw9pgNAj2QuWA4 0I5j3uV7P1df+iWS3KREJpVxpV4di2DhChl7XutrA3xa3ZUl4KM/JZSbiZ/Q9dyC9cnJiK kemo4sxdpnsaJKd8wsQYsR7hvpWyZ1vwO+aTLNxcU8vnEOkCsaTMjq4pC6Dt9gkvx6Lzd2 1Q/jz4ZVMQJCLulQSlY1See4LDvouI902tAj92yRD9eCgWdiT4YBUMjZgMltxnHQltoseM k1eMdJmIuYwxseM67LJj+yj2IHuaEqVyRQIdVBduZGLF3SnaUMi+sEHwT2vWIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675183198; a=rsa-sha256; cv=none; b=bdZUx5fue6leynI9bmP/llbewt5BLazXYgJjHsotCv3vFV6cg5TEHQeLZkehHXWhDbQ58n foqJIvjbMeFk5Xa6L32NRFtjsa6oDmpxR8Xpd5lVO1bCBB0H82GzPBZeEfPSHVmg4Le6ay VZFYH84ResMqaP5JkJAI8FzEaQF11OhmJZLmSp/hmPTcWEv45BIdFgggb4aIu6AC3Gk9k4 UKNqgA6bNTIkHdPOoBdpuJa3zcxRnG7L692JpfYPW0sOdGPfSJDRihn1qfGmkvpDCTcp0I 3KQbQ/acCuxvKuA9IUsqWgdnXnqy7GiYPiefif172vrNwsOzqXKxDQdO5aKZWg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5rPT747KzvxV; Tue, 31 Jan 2023 16:39:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VGdvuM025945; Tue, 31 Jan 2023 16:39:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VGdv5x025944; Tue, 31 Jan 2023 16:39:57 GMT (envelope-from git) Date: Tue, 31 Jan 2023 16:39:57 GMT Message-Id: <202301311639.30VGdv5x025944@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 69759b0c695d - main - Remove dme(4). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 69759b0c695da15a3379ca01335ab314897d8594 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=69759b0c695da15a3379ca01335ab314897d8594 commit 69759b0c695da15a3379ca01335ab314897d8594 Author: Justin Hibbits AuthorDate: 2023-01-31 16:32:52 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 16:39:48 +0000 Remove dme(4). This was used only on an Ingenic MIPS SoC. --- sys/dev/dme/if_dme.c | 1060 ----------------------------------------------- sys/dev/dme/if_dmereg.h | 137 ------ sys/dev/dme/if_dmevar.h | 39 -- 3 files changed, 1236 deletions(-) diff --git a/sys/dev/dme/if_dme.c b/sys/dev/dme/if_dme.c deleted file mode 100644 index c518fa98af0f..000000000000 --- a/sys/dev/dme/if_dme.c +++ /dev/null @@ -1,1060 +0,0 @@ -/* - * Copyright (C) 2015 Alexander Kabaev - * Copyright (C) 2010 Andrew Turner - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* A driver for the Davicom DM9000 MAC. */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include -#include - -#include -#include - -#include "miibus_if.h" - -struct dme_softc { - struct ifnet *dme_ifp; - device_t dme_dev; - device_t dme_miibus; - bus_space_handle_t dme_handle; - bus_space_tag_t dme_tag; - int dme_rev; - int dme_bits; - struct resource *dme_res; - struct resource *dme_irq; - void *dme_intrhand; - struct mtx dme_mtx; - struct callout dme_tick_ch; - struct gpiobus_pin *gpio_rset; - uint32_t dme_ticks; - uint8_t dme_macaddr[ETHER_ADDR_LEN]; - regulator_t dme_vcc_regulator; - uint8_t dme_txbusy: 1; - uint8_t dme_txready: 1; - uint16_t dme_txlen; -}; - -#define DME_CHIP_DM9000 0x00 -#define DME_CHIP_DM9000A 0x19 -#define DME_CHIP_DM9000B 0x1a - -#define DME_INT_PHY 1 - -static int dme_probe(device_t); -static int dme_attach(device_t); -static int dme_detach(device_t); - -static void dme_intr(void *arg); -static void dme_init_locked(struct dme_softc *); - -static void dme_prepare(struct dme_softc *); -static void dme_transmit(struct dme_softc *); - -static int dme_miibus_writereg(device_t dev, int phy, int reg, int data); -static int dme_miibus_readreg(device_t dev, int phy, int reg); - -/* The bit on the address bus attached to the CMD pin */ -#define BASE_ADDR 0x000 -#define CMD_ADDR BASE_ADDR -#define DATA_BIT 1 -#define DATA_ADDR 0x002 - -#undef DME_TRACE - -#ifdef DME_TRACE -#define DTR3 TR3 -#define DTR4 TR4 -#else -#define NOTR(args...) (void)0 -#define DTR3 NOTR -#define DTR4 NOTR -#endif - -static uint8_t -dme_read_reg(struct dme_softc *sc, uint8_t reg) -{ - - /* Send the register to read from */ - bus_space_write_1(sc->dme_tag, sc->dme_handle, CMD_ADDR, reg); - bus_space_barrier(sc->dme_tag, sc->dme_handle, CMD_ADDR, 1, - BUS_SPACE_BARRIER_WRITE); - - /* Get the value of the register */ - return bus_space_read_1(sc->dme_tag, sc->dme_handle, DATA_ADDR); -} - -static void -dme_write_reg(struct dme_softc *sc, uint8_t reg, uint8_t value) -{ - - /* Send the register to write to */ - bus_space_write_1(sc->dme_tag, sc->dme_handle, CMD_ADDR, reg); - bus_space_barrier(sc->dme_tag, sc->dme_handle, CMD_ADDR, 1, - BUS_SPACE_BARRIER_WRITE); - - /* Write the value to the register */ - bus_space_write_1(sc->dme_tag, sc->dme_handle, DATA_ADDR, value); - bus_space_barrier(sc->dme_tag, sc->dme_handle, DATA_ADDR, 1, - BUS_SPACE_BARRIER_WRITE); -} - -static void -dme_reset(struct dme_softc *sc) -{ - u_int ncr; - - /* Send a soft reset #1 */ - dme_write_reg(sc, DME_NCR, NCR_RST | NCR_LBK_MAC); - DELAY(100); /* Wait for the MAC to reset */ - ncr = dme_read_reg(sc, DME_NCR); - if (ncr & NCR_RST) - device_printf(sc->dme_dev, "device did not complete first reset\n"); - - /* Send a soft reset #2 per Application Notes v1.22 */ - dme_write_reg(sc, DME_NCR, 0); - dme_write_reg(sc, DME_NCR, NCR_RST | NCR_LBK_MAC); - DELAY(100); /* Wait for the MAC to reset */ - ncr = dme_read_reg(sc, DME_NCR); - if (ncr & NCR_RST) - device_printf(sc->dme_dev, "device did not complete second reset\n"); - - /* Reset trasmit state */ - sc->dme_txbusy = 0; - sc->dme_txready = 0; - - DTR3("dme_reset, flags %#x busy %d ready %d", - sc->dme_ifp ? sc->dme_ifp->if_drv_flags : 0, - sc->dme_txbusy, sc->dme_txready); -} - -/* - * Parse string MAC address into usable form - */ -static int -dme_parse_macaddr(const char *str, uint8_t *mac) -{ - int count, i; - unsigned int amac[ETHER_ADDR_LEN]; /* Aligned version */ - - count = sscanf(str, "%x%*c%x%*c%x%*c%x%*c%x%*c%x", - &amac[0], &amac[1], &amac[2], - &amac[3], &amac[4], &amac[5]); - if (count < ETHER_ADDR_LEN) { - memset(mac, 0, ETHER_ADDR_LEN); - return (1); - } - - /* Copy aligned to result */ - for (i = 0; i < ETHER_ADDR_LEN; i ++) - mac[i] = (amac[i] & 0xff); - - return (0); -} - -/* - * Try to determine our own MAC address - */ -static void -dme_get_macaddr(struct dme_softc *sc) -{ - char devid_str[32]; - char *var; - int i; - - /* Cannot use resource_string_value with static hints mode */ - snprintf(devid_str, 32, "hint.%s.%d.macaddr", - device_get_name(sc->dme_dev), - device_get_unit(sc->dme_dev)); - - /* Try resource hints */ - if ((var = kern_getenv(devid_str)) != NULL) { - if (!dme_parse_macaddr(var, sc->dme_macaddr)) { - device_printf(sc->dme_dev, "MAC address: %s (hints)\n", var); - return; - } - } - - /* - * Try to read MAC address from the device, in case U-Boot has - * pre-programmed one for us. - */ - for (i = 0; i < ETHER_ADDR_LEN; i++) - sc->dme_macaddr[i] = dme_read_reg(sc, DME_PAR(i)); - - device_printf(sc->dme_dev, "MAC address %6D (existing)\n", - sc->dme_macaddr, ":"); -} - -static void -dme_config(struct dme_softc *sc) -{ - int i; - - /* Mask all interrupts and reset receive pointer */ - dme_write_reg(sc, DME_IMR, IMR_PAR); - - /* Disable GPIO0 to enable the internal PHY */ - dme_write_reg(sc, DME_GPCR, 1); - dme_write_reg(sc, DME_GPR, 0); - -#if 0 - /* - * Supposedly requires special initialization for DSP PHYs - * used by DM9000B. Maybe belongs in dedicated PHY driver? - */ - if (sc->dme_rev == DME_CHIP_DM9000B) { - dme_miibus_writereg(sc->dme_dev, DME_INT_PHY, MII_BMCR, - BMCR_RESET); - dme_miibus_writereg(sc->dme_dev, DME_INT_PHY, MII_DME_DSPCR, - DSPCR_INIT); - /* Wait 100ms for it to complete. */ - for (i = 0; i < 100; i++) { - int reg; - - reg = dme_miibus_readreg(sc->dme_dev, DME_INT_PHY, MII_BMCR); - if ((reg & BMCR_RESET) == 0) - break; - DELAY(1000); - } - } -#endif - - /* Select the internal PHY and normal loopback */ - dme_write_reg(sc, DME_NCR, NCR_LBK_NORMAL); - /* Clear any TX requests */ - dme_write_reg(sc, DME_TCR, 0); - /* Setup backpressure thresholds to 4k and 600us */ - dme_write_reg(sc, DME_BPTR, BPTR_BPHW(3) | BPTR_JPT(0x0f)); - /* Setup flow control */ - dme_write_reg(sc, DME_FCTR, FCTR_HWOT(0x3) | FCTR_LWOT(0x08)); - /* Enable flow control */ - dme_write_reg(sc, DME_FCR, 0xff); - /* Clear special modes */ - dme_write_reg(sc, DME_SMCR, 0); - /* Clear TX status */ - dme_write_reg(sc, DME_NSR, NSR_WAKEST | NSR_TX2END | NSR_TX1END); - /* Clear interrrupts */ - dme_write_reg(sc, DME_ISR, 0xff); - /* Set multicast address filter */ - for (i = 0; i < 8; i++) - dme_write_reg(sc, DME_MAR(i), 0xff); - /* Set the MAC address */ - for (i = 0; i < ETHER_ADDR_LEN; i++) - dme_write_reg(sc, DME_PAR(i), sc->dme_macaddr[i]); - /* Enable the RX buffer */ - dme_write_reg(sc, DME_RCR, RCR_DIS_LONG | RCR_DIS_CRC | RCR_RXEN); - - /* Enable interrupts we care about */ - dme_write_reg(sc, DME_IMR, IMR_PAR | IMR_PRI | IMR_PTI); -} - -void -dme_prepare(struct dme_softc *sc) -{ - struct ifnet *ifp; - struct mbuf *m, *mp; - uint16_t total_len, len; - - DME_ASSERT_LOCKED(sc); - - KASSERT(sc->dme_txready == 0, - ("dme_prepare: called with txready set\n")); - - ifp = sc->dme_ifp; - IFQ_DEQUEUE(&ifp->if_snd, m); - if (m == NULL) { - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - DTR3("dme_prepare none, flags %#x busy %d ready %d", - sc->dme_ifp->if_drv_flags, sc->dme_txbusy, sc->dme_txready); - return; /* Nothing to transmit */ - } - - /* Element has now been removed from the queue, so we better send it */ - BPF_MTAP(ifp, m); - - /* Setup the controller to accept the writes */ - bus_space_write_1(sc->dme_tag, sc->dme_handle, CMD_ADDR, DME_MWCMD); - - /* - * TODO: Fix the case where an mbuf is - * not a multiple of the write size. - */ - total_len = 0; - for (mp = m; mp != NULL; mp = mp->m_next) { - len = mp->m_len; - - /* Ignore empty parts */ - if (len == 0) - continue; - - total_len += len; - -#if 0 - bus_space_write_multi_2(sc->dme_tag, sc->dme_handle, - DATA_ADDR, mtod(mp, uint16_t *), (len + 1) / 2); -#else - bus_space_write_multi_1(sc->dme_tag, sc->dme_handle, - DATA_ADDR, mtod(mp, uint8_t *), len); -#endif - } - - if (total_len % (sc->dme_bits >> 3) != 0) - panic("dme_prepare: length is not compatible with IO_MODE"); - - sc->dme_txlen = total_len; - sc->dme_txready = 1; - DTR3("dme_prepare done, flags %#x busy %d ready %d", - sc->dme_ifp->if_drv_flags, sc->dme_txbusy, sc->dme_txready); - - m_freem(m); -} - -void -dme_transmit(struct dme_softc *sc) -{ - - DME_ASSERT_LOCKED(sc); - KASSERT(sc->dme_txready, ("transmit without txready")); - - dme_write_reg(sc, DME_TXPLL, sc->dme_txlen & 0xff); - dme_write_reg(sc, DME_TXPLH, (sc->dme_txlen >> 8) & 0xff ); - - /* Request to send the packet */ - dme_read_reg(sc, DME_ISR); - - dme_write_reg(sc, DME_TCR, TCR_TXREQ); - - sc->dme_txready = 0; - sc->dme_txbusy = 1; - DTR3("dme_transmit done, flags %#x busy %d ready %d", - sc->dme_ifp->if_drv_flags, sc->dme_txbusy, sc->dme_txready); -} - - -static void -dme_start_locked(struct ifnet *ifp) -{ - struct dme_softc *sc; - - sc = ifp->if_softc; - DME_ASSERT_LOCKED(sc); - - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != - IFF_DRV_RUNNING) - return; - - DTR3("dme_start, flags %#x busy %d ready %d", - sc->dme_ifp->if_drv_flags, sc->dme_txbusy, sc->dme_txready); - KASSERT(sc->dme_txbusy == 0 || sc->dme_txready == 0, - ("dme: send without empty queue\n")); - - dme_prepare(sc); - - if (sc->dme_txbusy == 0) { - /* We are ready to transmit right away */ - dme_transmit(sc); - dme_prepare(sc); /* Prepare next one */ - } - /* - * We need to wait until the current packet has - * been transmitted. - */ - if (sc->dme_txready != 0) - ifp->if_drv_flags |= IFF_DRV_OACTIVE; -} - -static void -dme_start(struct ifnet *ifp) -{ - struct dme_softc *sc; - - sc = ifp->if_softc; - DME_LOCK(sc); - dme_start_locked(ifp); - DME_UNLOCK(sc); -} - -static void -dme_stop(struct dme_softc *sc) -{ - struct ifnet *ifp; - - DME_ASSERT_LOCKED(sc); - /* Disable receiver */ - dme_write_reg(sc, DME_RCR, 0x00); - /* Mask interrupts */ - dme_write_reg(sc, DME_IMR, 0x00); - /* Stop poll */ - callout_stop(&sc->dme_tick_ch); - - ifp = sc->dme_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); - - DTR3("dme_stop, flags %#x busy %d ready %d", - sc->dme_ifp->if_drv_flags, sc->dme_txbusy, sc->dme_txready); - sc->dme_txbusy = 0; - sc->dme_txready = 0; -} - -static int -dme_rxeof(struct dme_softc *sc) -{ - struct ifnet *ifp; - struct mbuf *m; - int len, i; - - DME_ASSERT_LOCKED(sc); - - ifp = sc->dme_ifp; - - /* Read the first byte to check it correct */ - (void)dme_read_reg(sc, DME_MRCMDX); - i = bus_space_read_1(sc->dme_tag, sc->dme_handle, DATA_ADDR); - switch(bus_space_read_1(sc->dme_tag, sc->dme_handle, DATA_ADDR)) { - case 1: - /* Correct value */ - break; - case 0: - return 1; - default: - /* Error */ - return -1; - } - - i = dme_read_reg(sc, DME_MRRL); - i |= dme_read_reg(sc, DME_MRRH) << 8; - - len = dme_read_reg(sc, DME_ROCR); - - bus_space_write_1(sc->dme_tag, sc->dme_handle, CMD_ADDR, DME_MRCMD); - len = 0; - switch(sc->dme_bits) { - case 8: - i = bus_space_read_1(sc->dme_tag, sc->dme_handle, DATA_ADDR); - i <<= 8; - i |= bus_space_read_1(sc->dme_tag, sc->dme_handle, DATA_ADDR); - - len = bus_space_read_1(sc->dme_tag, sc->dme_handle, DATA_ADDR); - len |= bus_space_read_1(sc->dme_tag, sc->dme_handle, - DATA_ADDR) << 8; - break; - case 16: - bus_space_read_2(sc->dme_tag, sc->dme_handle, DATA_ADDR); - len = bus_space_read_2(sc->dme_tag, sc->dme_handle, DATA_ADDR); - break; - case 32: - { - uint32_t reg; - - reg = bus_space_read_4(sc->dme_tag, sc->dme_handle, DATA_ADDR); - len = reg & 0xFFFF; - break; - } - } - - MGETHDR(m, M_NOWAIT, MT_DATA); - if (m == NULL) - return -1; - - if (len > MHLEN - ETHER_ALIGN) { - MCLGET(m, M_NOWAIT); - if (!(m->m_flags & M_EXT)) { - m_freem(m); - return -1; - } - } - - m->m_pkthdr.rcvif = ifp; - m->m_len = m->m_pkthdr.len = len; - m_adj(m, ETHER_ALIGN); - - /* Read the data */ -#if 0 - bus_space_read_multi_2(sc->dme_tag, sc->dme_handle, DATA_ADDR, - mtod(m, uint16_t *), (len + 1) / 2); -#else - bus_space_read_multi_1(sc->dme_tag, sc->dme_handle, DATA_ADDR, - mtod(m, uint8_t *), len); -#endif - if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - DME_UNLOCK(sc); - (*ifp->if_input)(ifp, m); - DME_LOCK(sc); - - return 0; -} - -static void -dme_tick(void *arg) -{ - struct dme_softc *sc; - struct mii_data *mii; - - sc = (struct dme_softc *)arg; - - /* Probably too frequent? */ - mii = device_get_softc(sc->dme_miibus); - mii_tick(mii); - - callout_reset(&sc->dme_tick_ch, hz, dme_tick, sc); -} - -static void -dme_intr(void *arg) -{ - struct dme_softc *sc; - uint32_t intr_status; - - sc = (struct dme_softc *)arg; - - DME_LOCK(sc); - - intr_status = dme_read_reg(sc, DME_ISR); - dme_write_reg(sc, DME_ISR, intr_status); - - DTR4("dme_intr flags %#x busy %d ready %d intr %#x", - sc->dme_ifp->if_drv_flags, sc->dme_txbusy, - sc->dme_txready, intr_status); - - if (intr_status & ISR_PT) { - uint8_t nsr, tx_status; - - sc->dme_txbusy = 0; - - nsr = dme_read_reg(sc, DME_NSR); - - if (nsr & NSR_TX1END) - tx_status = dme_read_reg(sc, DME_TSR1); - else if (nsr & NSR_TX2END) - tx_status = dme_read_reg(sc, DME_TSR2); - else - tx_status = 1; - - DTR4("dme_intr flags %#x busy %d ready %d nsr %#x", - sc->dme_ifp->if_drv_flags, sc->dme_txbusy, - sc->dme_txready, nsr); - - /* Prepare packet to send if none is currently pending */ - if (sc->dme_txready == 0) - dme_prepare(sc); - /* Send the packet out of one is waiting for transmit */ - if (sc->dme_txready != 0) { - /* Initiate transmission of the prepared packet */ - dme_transmit(sc); - /* Prepare next packet to send */ - dme_prepare(sc); - /* - * We need to wait until the current packet has - * been transmitted. - */ - if (sc->dme_txready != 0) - sc->dme_ifp->if_drv_flags |= IFF_DRV_OACTIVE; - } - } - - if (intr_status & ISR_PR) { - /* Read the packets off the device */ - while (dme_rxeof(sc) == 0) - continue; - } - DME_UNLOCK(sc); -} - -static void -dme_setmode(struct dme_softc *sc) -{ -} - -static int -dme_ioctl(struct ifnet *ifp, u_long command, caddr_t data) -{ - struct dme_softc *sc; - struct mii_data *mii; - struct ifreq *ifr; - int error = 0; - - sc = ifp->if_softc; - ifr = (struct ifreq *)data; - - switch (command) { - case SIOCSIFFLAGS: - /* - * Switch interface state between "running" and - * "stopped", reflecting the UP flag. - */ - DME_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { - dme_init_locked(sc); - } - } else { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - dme_stop(sc); - } - } - dme_setmode(sc); - DME_UNLOCK(sc); - break; - case SIOCGIFMEDIA: - case SIOCSIFMEDIA: - mii = device_get_softc(sc->dme_miibus); - error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command); - break; - default: - error = ether_ioctl(ifp, command, data); - break; - } - return (error); -} - -static void dme_init_locked(struct dme_softc *sc) -{ - struct ifnet *ifp = sc->dme_ifp; - - DME_ASSERT_LOCKED(sc); - - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) - return; - - dme_reset(sc); - dme_config(sc); - - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - - callout_reset(&sc->dme_tick_ch, hz, dme_tick, sc); -} - -static void -dme_init(void *xcs) -{ - struct dme_softc *sc = xcs; - - DME_LOCK(sc); - dme_init_locked(sc); - DME_UNLOCK(sc); -} - -static int -dme_ifmedia_upd(struct ifnet *ifp) -{ - struct dme_softc *sc; - struct mii_data *mii; - - sc = ifp->if_softc; - mii = device_get_softc(sc->dme_miibus); - - DME_LOCK(sc); - mii_mediachg(mii); - DME_UNLOCK(sc); - - return (0); -} - -static void -dme_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) -{ - struct dme_softc *sc; - struct mii_data *mii; - - sc = ifp->if_softc; - mii = device_get_softc(sc->dme_miibus); - - DME_LOCK(sc); - mii_pollstat(mii); - ifmr->ifm_active = mii->mii_media_active; - ifmr->ifm_status = mii->mii_media_status; - DME_UNLOCK(sc); -} - -static struct ofw_compat_data compat_data[] = { - { "davicom,dm9000", true }, - { NULL, false } -}; - -static int -dme_probe(device_t dev) -{ - if (!ofw_bus_search_compatible(dev, compat_data)->ocd_data) - return (ENXIO); - device_set_desc(dev, "Davicom DM9000"); - return (0); -} - -static int -dme_attach(device_t dev) -{ - struct dme_softc *sc; - struct ifnet *ifp; - int error, rid; - uint32_t data; - - sc = device_get_softc(dev); - sc->dme_dev = dev; - - error = 0; - - mtx_init(&sc->dme_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, - MTX_DEF); - callout_init_mtx(&sc->dme_tick_ch, &sc->dme_mtx, 0); - - rid = 0; - sc->dme_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (sc->dme_res == NULL) { - device_printf(dev, "unable to map memory\n"); - error = ENXIO; - goto fail; - } - - rid = 0; - sc->dme_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_ACTIVE); - if (sc->dme_irq == NULL) { - device_printf(dev, "unable to map memory\n"); - error = ENXIO; - goto fail; - } - /* - * Power the chip up, if necessary - */ - error = regulator_get_by_ofw_property(dev, 0, "vcc-supply", &sc->dme_vcc_regulator); - if (error == 0) { - error = regulator_enable(sc->dme_vcc_regulator); - if (error != 0) { - device_printf(dev, "unable to enable power supply\n"); - error = ENXIO; - goto fail; - } - } - - /* - * Delay a little. This seems required on rev-1 boards (green.) - */ - DELAY(100000); - - /* Bring controller out of reset */ - error = ofw_gpiobus_parse_gpios(dev, "reset-gpios", &sc->gpio_rset); - if (error > 1) { - device_printf(dev, "too many reset gpios\n"); - sc->gpio_rset = NULL; - error = ENXIO; - goto fail; - } - - if (sc->gpio_rset != NULL) { - error = GPIO_PIN_SET(sc->gpio_rset->dev, sc->gpio_rset->pin, 0); - if (error != 0) { - device_printf(dev, "Cannot configure GPIO pin %d on %s\n", - sc->gpio_rset->pin, device_get_nameunit(sc->gpio_rset->dev)); - goto fail; - } - - error = GPIO_PIN_SETFLAGS(sc->gpio_rset->dev, sc->gpio_rset->pin, - GPIO_PIN_OUTPUT); - if (error != 0) { - device_printf(dev, "Cannot configure GPIO pin %d on %s\n", - sc->gpio_rset->pin, device_get_nameunit(sc->gpio_rset->dev)); - goto fail; - } - - DELAY(2000); - - error = GPIO_PIN_SET(sc->gpio_rset->dev, sc->gpio_rset->pin, 1); - if (error != 0) { - device_printf(dev, "Cannot configure GPIO pin %d on %s\n", - sc->gpio_rset->pin, device_get_nameunit(sc->gpio_rset->dev)); - goto fail; - } - - DELAY(4000); - } else - device_printf(dev, "Unable to find reset GPIO\n"); - - sc->dme_tag = rman_get_bustag(sc->dme_res); - sc->dme_handle = rman_get_bushandle(sc->dme_res); - - /* Reset the chip as soon as possible */ - dme_reset(sc); - - /* Figure IO mode */ - switch((dme_read_reg(sc, DME_ISR) >> 6) & 0x03) { - case 0: - /* 16 bit */ - sc->dme_bits = 16; - break; - case 1: - /* 32 bit */ - sc->dme_bits = 32; - break; - case 2: - /* 8 bit */ - sc->dme_bits = 8; - break; - default: - /* reserved */ - device_printf(dev, "Unable to determine device mode\n"); - error = ENXIO; - goto fail; - } - - DELAY(100000); - - /* Read vendor and device id's */ - data = dme_read_reg(sc, DME_VIDH) << 8; - data |= dme_read_reg(sc, DME_VIDL); - device_printf(dev, "Vendor ID: 0x%04x\n", data); - - /* Read vendor and device id's */ - data = dme_read_reg(sc, DME_PIDH) << 8; - data |= dme_read_reg(sc, DME_PIDL); - device_printf(dev, "Product ID: 0x%04x\n", data); - - /* Chip revision */ - data = dme_read_reg(sc, DME_CHIPR); - device_printf(dev, "Revision: 0x%04x\n", data); - if (data != DME_CHIP_DM9000A && data != DME_CHIP_DM9000B) - data = DME_CHIP_DM9000; - sc->dme_rev = data; - - device_printf(dev, "using %d-bit IO mode\n", sc->dme_bits); - KASSERT(sc->dme_bits == 8, ("wrong io mode")); - - /* Try to figure our mac address */ - dme_get_macaddr(sc); - - /* Configure chip after reset */ - dme_config(sc); - - ifp = sc->dme_ifp = if_alloc(IFT_ETHER); - if (ifp == NULL) { - device_printf(dev, "unable to allocate ifp\n"); - error = ENOSPC; - goto fail; - } - ifp->if_softc = sc; - - /* Setup MII */ - error = mii_attach(dev, &sc->dme_miibus, ifp, dme_ifmedia_upd, - dme_ifmedia_sts, BMSR_DEFCAPMASK, MII_PHY_ANY, MII_OFFSET_ANY, 0); - /* This should never happen as the DM9000 contains it's own PHY */ - if (error != 0) { - device_printf(dev, "PHY probe failed\n"); - goto fail; - } - - if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_start = dme_start; - ifp->if_ioctl = dme_ioctl; - ifp->if_init = dme_init; - IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN); - - ether_ifattach(ifp, sc->dme_macaddr); - - error = bus_setup_intr(dev, sc->dme_irq, INTR_TYPE_NET | INTR_MPSAFE, - NULL, dme_intr, sc, &sc->dme_intrhand); - if (error) { - device_printf(dev, "couldn't set up irq\n"); - ether_ifdetach(ifp); - goto fail; - } - -fail: - if (error != 0) - dme_detach(dev); - return (error); -} - -static int -dme_detach(device_t dev) -{ - struct dme_softc *sc; - struct ifnet *ifp; - - sc = device_get_softc(dev); - KASSERT(mtx_initialized(&sc->dme_mtx), ("dme mutex not initialized")); - - ifp = sc->dme_ifp; - - if (device_is_attached(dev)) { - DME_LOCK(sc); - dme_stop(sc); - DME_UNLOCK(sc); - ether_ifdetach(ifp); - callout_drain(&sc->dme_tick_ch); - } - - if (sc->dme_miibus) - device_delete_child(dev, sc->dme_miibus); - bus_generic_detach(dev); - - if (sc->dme_vcc_regulator != 0) - regulator_release(sc->dme_vcc_regulator); - if (sc->dme_intrhand) - bus_teardown_intr(dev, sc->dme_irq, sc->dme_intrhand); - if (sc->dme_irq) - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->dme_irq); - if (sc->dme_res) - bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->dme_res); - - if (ifp != NULL) - if_free(ifp); - - mtx_destroy(&sc->dme_mtx); - - return (0); *** 286 LINES SKIPPED *** From nobody Tue Jan 31 16:42:24 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5rSK22R2z3bShh; Tue, 31 Jan 2023 16:42: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 4P5rSK1SwGz456x; Tue, 31 Jan 2023 16:42:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675183345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AELjx4hVL2glGm1blIPb7LAkDwWagSO5sMdgOOvJ5eE=; b=kZ4vF9EmUq2eR/xiTM+ehzdZ1i4a1xbL4o0YSXkz4rSIXWwoZ+nYCTnKzUBXeIouHm2VQq 1TCZ9b43pOkwuccaR0vyNwexPjSH1oBONkocG6KOxVPPRDjHKyKFIkqpXHPTnEZe9g/Rnw wigDNJZfoENW7Upxu16U8KyWuBa+K7avYvBCwxsdCnWmPfaU+jTFqMHlJSO1Y3CnWevDgz Be+aFevFUQ15DN26Ijylzjygn+QAannVPcmB7CdC6FMPaLO+C7yK/EqIOhgR0q862sDp+M xcyzYcc23usA2WGVOEP5p8LNHY8boKxwCZbAcEmRUiDNGY0cVcYLUKrvD+x7vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675183345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AELjx4hVL2glGm1blIPb7LAkDwWagSO5sMdgOOvJ5eE=; b=Gi7esdQrnUAufPVH7vc9YwWKfHmF5dwTVePj0L/ii54Z4pGD+WKi+TWQMyzRHwh/LQZ1l8 a0QMshM2rb1juEeFuAOc7I2pHZ7+e7E9yD0QLQq6j2kz2NhbjVDFWbjOr/auBy/UFQI6j6 VO8sMFBz7+7jqhQY5WhJ55S4Dk3gUb0Wv4/EGzwj4R1iuPCyqWJewsgnKvmPXDF3N6x9NB kLY4UG0ha+AUGFIrkTZjdRK25tzxJamebq0oqKT1/HAMmx4+qX1nKkQxq53cr8LBSs7qbh XinERx43DCkm3yYgTNYdhwQVbHZstzptJgZ14FOo8+44w/0+ULWYVsJDShlBHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675183345; a=rsa-sha256; cv=none; b=n2GtuyF/tEpUtib+QnFYIcM9OCcSaUnh9eJ4CsD6AFjCtLTpsh3LgELFTJS0bsUm5LjfC6 r+S5JCs31MYVmguW4S/j5SbKgiQ6DxaKNuLMErJLoBYTBbBAzYC6hVfSGTuSSimeYYeEYF MQ7szabPePz9MOH50BxyLJndj31ooFL2ybv1jD45+gzQ5dU6TECaG9fBHLLHiuEzHXFTTT zLzbuneasg2jMK5wzBqQHdpN0uD0pArKki4VLawOtSkH9s3dpgXwngdHT2XQ/2ho3ZRuwC CNlLKZ3KOX/sp+uDHwIKyy5EGuPhU70CLxu7HGkC2uQmIVPsg/L2j0J54kfyDg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5rSK0WjxzwKy; Tue, 31 Jan 2023 16:42:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VGgOVe036581; Tue, 31 Jan 2023 16:42:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VGgOPl036580; Tue, 31 Jan 2023 16:42:24 GMT (envelope-from git) Date: Tue, 31 Jan 2023 16:42:24 GMT Message-Id: <202301311642.30VGgOPl036580@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 2336248a8ba9 - main - LinuxKPI: 802.11: fix ff76cbc81d57ffc4bbc9bc20fd22325b2a8c2028 (pspoll) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2336248a8ba9763ad38074db40f32e117edd86f5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2336248a8ba9763ad38074db40f32e117edd86f5 commit 2336248a8ba9763ad38074db40f32e117edd86f5 Author: Bjoern A. Zeeb AuthorDate: 2023-01-31 16:40:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-01-31 16:41:41 +0000 LinuxKPI: 802.11: fix ff76cbc81d57ffc4bbc9bc20fd22325b2a8c2028 (pspoll) Add the lost "inline". Sponsored by: The FreeBSD Foundation MFC after: 3 days X-MFC with: ff76cbc81d57ffc4bbc9bc20fd22325b2a8c2028 --- sys/compat/linuxkpi/common/include/net/mac80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 9077a62c2ef5..36e6600f237b 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1350,7 +1350,7 @@ ieee80211_is_any_nullfunc(__le16 fc) return (ieee80211_is_nullfunc(fc) || ieee80211_is_qos_nullfunc(fc)); } -static bool +static inline bool ieee80211_is_pspoll(__le16 fc) { __le16 v; From nobody Tue Jan 31 16:44:54 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5rWB5WzNz3bSys; Tue, 31 Jan 2023 16:44:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5rWB50dXz45kf; Tue, 31 Jan 2023 16:44:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675183494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xZURiMIhM72qHiEUZQixgdnRpCAOo/cxcvPUgcefVd8=; b=dR09ARuzeQg7U6sdbm+ROFzsTLmWn9RKLMATFLsvxwsXqsVRPlhoI+jtuxiUdCW8L5cCNy T0j3WbGRo9z8cZoTCFykZt/CVd9r8K34mKJ26uxylnCFEp9jaOZ60vcrWdocrZ01ZZJk+z XnEp1uOnAwCBIcOQ0JkczAhy5vk8u5zXq2fhfBrsMwHOi2TYN5UX6wKNgmH49b1H50K/aN vj9ntDDCXKU4GjJA8291E6L6CTuKt++QuSiPJxV79kqf6QJT3VwJrYgeK6SANWfaPAkyMX /KwJXwacCqgUZ6Q5s7pRUYoXA/Ejis027oxDR0XQcx6iCaZNyasOlcD6ADLpvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675183494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xZURiMIhM72qHiEUZQixgdnRpCAOo/cxcvPUgcefVd8=; b=XD49kSWkEjJg/u/09unUu9vabUnp9XQRA7SUleYPvQTQ67IHcHRdh0PapKcUnaRNWsn+SI Pa4g4Bmvghy7s6S12hIh2+GMFhz0hofU7e8TzHsLAw7S6UZRgAAZCCrwKsu+z1WnWkz40b 6HR+4syI+KSP6B792E4/UEHVJ17+Ln4zRZhGth65IGPRvKWOX4DhaMDfwJmNsDfRSgaLxt c+/w7suOFjzPsIsNz9a/PcIiogOgZDw3FkRpybSIdzF5bg8Gz5xM84Lc0UWQYLzle97Vbn 6o+4Z9EGWhHh7tXGkBOv6rKq67j35Ghp4pOZoqwyaxPqtxunLXzPiReYxQKhtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675183494; a=rsa-sha256; cv=none; b=snWf2ObepYdCFsNsE4N4eXj+MQVEdsRKha5D28u2OJS8BRsyT+eQWhN0gD3P7bmBQsfcfO ehMZa8L3o/T2Rya4BwHReJsTBFCHkeJE6yUUeY3jxSXI1u1i1Xz8w/q0FAhkKIPW5H9z+Z 28958wEdrilPUoYyir1xdcX17IO35MHdpUKuCIJI8sc6y50P0lIy0VieqZJeSmntC1eEg0 TQEcja8TcT01/MZn9Hn03AjuKPcdGqaVxl/PUfJC+6dq086Rot1mxO4FW/9fMpPjuyBotE HSL65Atgm9JS8x7/Rz8DGZemM3zSRRdYBKtB9BQpAwDHBmHK/GmaIgLR8EhoKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5rWB43tQzvj8; Tue, 31 Jan 2023 16:44:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VGisQ2040051; Tue, 31 Jan 2023 16:44:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VGisZs040050; Tue, 31 Jan 2023 16:44:54 GMT (envelope-from git) Date: Tue, 31 Jan 2023 16:44:54 GMT Message-Id: <202301311644.30VGisZs040050@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3d100b2a5a36 - main - Remove dme(4) from files List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3d100b2a5a3694f5f6405bd2f4fdce3ca302171e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3d100b2a5a3694f5f6405bd2f4fdce3ca302171e commit 3d100b2a5a3694f5f6405bd2f4fdce3ca302171e Author: Justin Hibbits AuthorDate: 2023-01-31 16:43:48 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 16:44:42 +0000 Remove dme(4) from files Fixes: 69759b0c695da15a3379ca01335ab314897d8594 --- sys/conf/files | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/conf/files b/sys/conf/files index ca6dd03d4817..b85ab6955adb 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1592,7 +1592,6 @@ dev/dcons/dcons_os.c optional dcons dev/dialog/da9063/da9063_if.m optional da9063_pmic dev/dialog/da9063/da9063_iic.c optional da9063_pmic iicbus fdt dev/dialog/da9063/da9063_rtc.c optional da9063_rtc fdt -dev/dme/if_dme.c optional dme dev/drm2/drm_agpsupport.c optional drm2 dev/drm2/drm_auth.c optional drm2 dev/drm2/drm_bufs.c optional drm2 From nobody Tue Jan 31 18:30:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5tsS274mz3bxM7; Tue, 31 Jan 2023 18:30:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5tsS1gbBz4Gj3; Tue, 31 Jan 2023 18:30:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675189852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SXu9kHZ9Jy5KXPzoeEwHKZqdP+qrvz0bfVvMZ2gsYko=; b=taKy/o5XV6y7ZQ49U5umoqwkPyyui2EE4Vl6tK/Mb0H0UAC2eoYy+m9D/8+RRKgu9amYs9 kmAP+f/UpR8UxEIcdGBNuFSR4EYFS/d03tVg9aANQwtM9be5dRZ9NgRf1CDjkU2IkcYXuD +bujozLE4sBFW3t8Gexzjqtas0sO0gHQHASrfsPi3mrbVWL/n/Puq0ORxWz9L2W5hzDE/1 0RV5Wp/O0Zo9VxYLnzrJwmSj+DsI5aAANW/fQI/Ii5h/c6E1FgDb/FDVPakM18sRSf9ZNB Ua24l7/w2qidRnL8zYsHi+M6PJAf1o73lxSYOUgPw38z9cnocfMz/Mjhd2vweA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675189852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SXu9kHZ9Jy5KXPzoeEwHKZqdP+qrvz0bfVvMZ2gsYko=; b=pzdkAsmfOe3grORovvwh3yshkhcoaoDhbPc/Dy60VrHkJx4kTNT/oR6MvU1S8MNDxzgJol 0nIs31Y9Idadzr2xbQbZqNdWpQS3oD8B4+Z0pP3GW2ntETpLc3rH6KMaPMe9IGfuyg6F77 PB8Gq4XlyPHJY79zHUuPtidr7MwP9Are5QqSAMYOeMfl9Zp0YRWQK8X0+uJV7Xvlg80poE N7onwnMkYjbOPEc3uKC/Fk5tIYf3x1+5c1WmAKAF2jlHZoZU4pK/gPxFxB0WCQzL2aUZLs rqoTnrYvREiICz56ZmEY6ndE1HVLFdZAjwhYb/rjNTsG2mY4CLA0pP/9dj60pQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675189852; a=rsa-sha256; cv=none; b=bb0gsa7fty/X7gGThFYGUjh/gEUhrOERNS7RHH1diFgY8RK+o+ur9O2BrrneYAJcITR6Zl 1PvIYb8l3/cZ6QMOBaeA9iWnzeBAjXu5LegbdIukKg9GxXhB79fIj88ufIj98JZW+T+fdX gpcST9AqcxldSoYIp03VhR+btpxdTx54ncmRhTOLNjDukyJ62zh4jE1Fdtg80HBpOivAwU P7Lsoc8qC1HDD3G4oVxCPIoElDqUnwBpyQHdsctq7c5dnXau1wgQzmMDKhrRrKWcohC/2r xSXoXliqcInLVCAkCKiwc2ov5CpgEY6S30NP5bQXoEH+5y6mSmFPOYpMpb2CMg== Received: from [IPV6:2601:642:4c00:139c:bc83:d7b0:5032:707b] (unknown [IPv6:2601:642:4c00:139c:bc83:d7b0:5032:707b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P5tsR3QJ9zhHv; Tue, 31 Jan 2023 18:30:51 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Tue, 31 Jan 2023 10:30:49 -0800 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: git: fa1d803c0f65 - main - epoch: replace hand coded assertion Content-Language: en-US To: Konstantin Belousov , Gleb Smirnoff Cc: Brooks Davis , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202301201805.30KI5Ht0099187@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 1/30/23 2:31 PM, Konstantin Belousov wrote: > On Mon, Jan 30, 2023 at 11:22:05AM -0800, Gleb Smirnoff wrote: >> Brooks, John, Kostik, >> >> On Fri, Jan 20, 2023 at 06:05:17PM +0000, Brooks Davis wrote: >> B> The branch main has been updated by brooks: >> B> >> B> URL: https://cgit.FreeBSD.org/src/commit/?id=fa1d803c0f652d72840a3c59139baf9d30792860 >> B> >> B> commit fa1d803c0f652d72840a3c59139baf9d30792860 >> B> Author: Brooks Davis >> B> AuthorDate: 2023-01-20 18:03:39 +0000 >> B> Commit: Brooks Davis >> B> CommitDate: 2023-01-20 18:04:40 +0000 >> B> >> B> epoch: replace hand coded assertion >> B> >> B> The assertion is equivalent to kstack_contains() so use that rather >> B> than spelling it out. >> B> >> B> Suggested by: jhb >> B> Reviewed by: jhb >> B> MFC after: 1 week >> B> Sponsored by: DARPA, AFRL >> B> Differential Revision: https://reviews.freebsd.org/D38107 >> B> --- >> B> sys/kern/subr_epoch.c | 4 +--- >> B> 1 file changed, 1 insertion(+), 3 deletions(-) >> B> >> B> diff --git a/sys/kern/subr_epoch.c b/sys/kern/subr_epoch.c >> B> index 100221cd62f9..98a560e44c9d 100644 >> B> --- a/sys/kern/subr_epoch.c >> B> +++ b/sys/kern/subr_epoch.c >> B> @@ -468,9 +468,7 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) >> B> >> B> MPASS(cold || epoch != NULL); >> B> td = curthread; >> B> - MPASS((vm_offset_t)et >= td->td_kstack && >> B> - (vm_offset_t)et + sizeof(struct epoch_tracker) <= >> B> - td->td_kstack + td->td_kstack_pages * PAGE_SIZE); >> B> + MPASS(kstack_contains(td, (vm_offset_t)et, sizeof(*et))); >> B> >> B> INIT_CHECK(epoch); >> B> MPASS(epoch->e_flags & EPOCH_PREEMPT); >> >> At Netflix we are currently using more strict assertion: >> >> Check the epoch tracker not against the whole stack size, but against >> the legitimate part of the stack. While here add the same check for >> the epoch exit. The bug we are going to catch most likely is associated >> with incorrect exit. >> >> diff --git a/FreeBSD/sys/kern/subr_epoch.c b/FreeBSD/sys/kern/subr_epoch.c >> index b457b070cb65..b345719eb406 100644 >> --- a/FreeBSD/sys/kern/subr_epoch.c >> +++ b/FreeBSD/sys/kern/subr_epoch.c >> @@ -420,7 +420,8 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) >> MPASS(cold || epoch != NULL); >> MPASS(epoch->e_flags & EPOCH_PREEMPT); >> td = curthread; >> - MPASS((vm_offset_t)et >= td->td_kstack && >> + MPASS((vm_offset_t)et + sizeof(struct epoch_tracker) >= >> + (vm_offset_t)__builtin_frame_address(0) && >> (vm_offset_t)et + sizeof(struct epoch_tracker) <= >> td->td_kstack + td->td_kstack_pages * PAGE_SIZE); >> >> @@ -457,8 +458,13 @@ _epoch_exit_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) >> struct epoch_record *er; >> struct thread *td; >> >> - INIT_CHECK(epoch); >> td = curthread; >> + MPASS((vm_offset_t)et + sizeof(struct epoch_tracker) >= >> + (vm_offset_t)__builtin_frame_address(0) && >> + (vm_offset_t)et + sizeof(struct epoch_tracker) <= >> + td->td_kstack + td->td_kstack_pages * PAGE_SIZE); >> + >> + INIT_CHECK(epoch); >> critical_enter(); >> sched_unpin(); >> THREAD_SLEEPING_OK(); >> >> >> What do you guys think on legitimacy of the improved assertion that uses >> compiler built to get the current top of stack and makes the assertion even >> stricter? >> >> I think in FreeBSD we should at least add the MPASS(kstack_contains(td, ...) >> assertion to the epoch exit. > > The __builtin_frame_address() is somewhat weird thing, e.g. it assumes > that the local function frame is contiguous, and static. Also I do not > see a guarantee that any local variable address is higher that the value > returned from the builtin. Though in these cases the pointer value (et) is not a local variable on this frame, but should be in an earlier frame (usually the callers). > I would be happier if you added a per-arch primitive that reads the stack > pointer. This helper can be used by GET_STACK_USAGE() as well. > > Also typical arch puts at least the thread' pcb on top of the stack, so > the assertion could be improved by not allowing the address to fall into > pcb, or FPU save area on i386. kstack_contains arguably should exclude the pcb as well as it is typically used in stack unwinders to validate frame pointers. I think the only reason for pcbs to be in the kstack at all is to simplify swapping, and if we ever decided to drop kstack swapping it would be nicer to allocate the pcb separate from the kstack IMO. -- John Baldwin From nobody Tue Jan 31 18:33:14 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5twB3LdKz3bxYj; Tue, 31 Jan 2023 18:33: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 4P5twB2qXGz4JVb; Tue, 31 Jan 2023 18:33:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675189994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M+8W8Q0nAsM6EA82Ckqo9KaEoWb6OnW0mC7SGpqIQB0=; b=EtqlpLIbRGNIgagp+6Qb143og1U1OlvSxLuzF1Hu4jzEK3yUaXBzLQLd6/7xLnYCWRsbiN /jMy9IyrqzJLaJgr8ODU16btRlMhNdtC+4HqqIphGe9eFUoBlKwjR4JgnGvlvrZJ7cGGxa i/WflG+a+Otdt5VM+bAOk/an8vDgftGGItjOAASoejf7eNDDYJLl5xRnhvnDp8MZOqQi6X WAKIKJN/Ogp1sRY/b5Knyl3Qtzp+2iJbG94SL3kRC8akmLO/TKxRM4H/HyGuc54nSP0mDt w8WO6sM+t3bokTtxjzaUYn2rhMpzxJPEdBUeWD3vNkL6Oh50rNkpa8JaT+fRqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675189994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M+8W8Q0nAsM6EA82Ckqo9KaEoWb6OnW0mC7SGpqIQB0=; b=DO8xkvcDAU+fcvv0JauoD8YwrACguXwqt/8XYDJiUb5rAMmLOcDl3XjmxnOfR5b+nR/pgC mYfY9TxXI4k9oJoAUmU2jI4NQqbgXEU1p0Fz8sBaorFafuBpgea28FnuwVr//wolX1GmCp BbyPwGKFy3IJ/xuV2REAAH03z3fGw4qwKjOWfxA8W7Nrq8Y8px76e+Cvn5hP5pkU0euws0 8pl/WW7/5mvaHT2S43Hji9FflP5jiE63rjvzl7U8heqOl7pK69uJd15GaWuP5C/4j4cUq+ hEvazbfng2f9IRSZlQOf8ux57dqEv5Ht/OWhd+BVhIbUVmyARcqYdQePz3d9ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675189994; a=rsa-sha256; cv=none; b=m+ZwgxqPwfWzyLPWi2uSHkLpyu358QzL78ND9BngimAY1MUCnk6l5KBCU/WBKytv6g4VOY qsC1hrJkClAJWvYFTqbxN+saFZbfABhIASvZhN+NVFgx0mazLCPooR+yhsXd7SVhnsrTG0 ylW/ApRq+qd9rcUIvSM7vOBWdpT9CXeEAleFM2ilWsy/mn9BgH3vOhsrQRXterWQPDZ7XP WOAy2i6qfPpERFYgPJZgEV9MMLfp+LjT0mvysJ2vdMFUO9ErI9eP8+Zuex0zZRZfMuDuBs 8XGKG7WrxX803EWx6hSckqUjMZ8XOzStil3q1ePjpOmSdZUhscpOqa9nX9eY1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5twB1t0czyqs; Tue, 31 Jan 2023 18:33:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VIXEuf096758; Tue, 31 Jan 2023 18:33:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VIXEUX096757; Tue, 31 Jan 2023 18:33:14 GMT (envelope-from git) Date: Tue, 31 Jan 2023 18:33:14 GMT Message-Id: <202301311833.30VIXEUX096757@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 7738bb89a3cc - main - elf_common.h: remove obsolete riscv relocations List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7738bb89a3cc70dc83ed4e80ee5160c18a7721f3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=7738bb89a3cc70dc83ed4e80ee5160c18a7721f3 commit 7738bb89a3cc70dc83ed4e80ee5160c18a7721f3 Author: Mitchell Horne AuthorDate: 2023-01-28 18:19:44 +0000 Commit: Mitchell Horne CommitDate: 2023-01-31 18:31:48 +0000 elf_common.h: remove obsolete riscv relocations These were specified at one time, but later removed. Reviewed by: jrtc27, imp, emaste MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38174 --- sys/sys/elf_common.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h index 657846d80111..81162331fce7 100644 --- a/sys/sys/elf_common.h +++ b/sys/sys/elf_common.h @@ -1364,8 +1364,6 @@ typedef struct { #define R_RISCV_SUB16 38 #define R_RISCV_SUB32 39 #define R_RISCV_SUB64 40 -#define R_RISCV_GNU_VTINHERIT 41 -#define R_RISCV_GNU_VTENTRY 42 #define R_RISCV_ALIGN 43 #define R_RISCV_RVC_BRANCH 44 #define R_RISCV_RVC_JUMP 45 From nobody Tue Jan 31 18:33:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5twC4kjrz3bxnd; Tue, 31 Jan 2023 18:33: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 4P5twC3zqhz4JYH; Tue, 31 Jan 2023 18:33:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675189995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y0mDcvRkHfpQ3li7tYhup6DxD4ClNei77iI3AeI+qH8=; b=oWFsiUhGx+nvsg4Hi07FfXi7qWf2bFNWRIzljUBWg/Df1uuwu2ttYLS5dKxX3+StMpQQir IMzpjiZzZ8nRx7Gi5Sff98LXYPyCbvwTS5/yW3O4Y4YlWV4B3IlyL4JpYKNfNgEKOy/8Ga lmKvLvg9RZ+4YBsK4ooiWrkR8iwBaijAp2vZG5qJyJ6KpliMqgQzPD+2i/ovPCN4ictwwv iCb9aB8AtEHf5lub3XfQwEj0zOdM/3x5HhvoJp82JCEk9dvTLvhbp6sp5MVEDkJSNiQ+BL z9OCi02lB47fNMzenx+2UjopQ99JiVQMWkTiNtfKFRc84QFvwbD+33qaaLS1XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675189995; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y0mDcvRkHfpQ3li7tYhup6DxD4ClNei77iI3AeI+qH8=; b=CQhjIF1NdcxhxwEw0Tp+XxBOKJeYn+M9u3QhwUkvdiYhNhr09p3Wn4xTTa/g+X3Fct6Sqo rK9fWe5a1O1cBSRWOnqPu1kWeFm4fJ7x9a8u1aOHqPuiNBZDE1q+2JDElgj14xGIyRNy0Q f/2uC1tBJAWhyt5w3Tu1khd8dqrYYt54cTht9gIb+qFIWMSLEQoBrcyO6MR3MOe1puExGI P8gN64ZqKM+PaqEJHTluq1pTVYqJVTDh4yfeclYUe00Rm1yyzrXnn0LWj/xnDBVKPygDca Vz4FXBnBcTUXJ512vivDXuK9Z3r9FHzIS7EQB/QjjZQ/sUI+fxlT/SvhWd012g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675189995; a=rsa-sha256; cv=none; b=ifIlDIeyIt0+3o6oVGQJ5O+Ns1WzfagxcuTSE90FSOAPOjemtlrPdqwg43exfgY55B5UFX AX4JfjnNagJbURBUA+mylLEYUm1N9IkuKuHSxqiwt1hqfnpe901NWYGapMLk+fG1XSH4Gd Lr62KbUzhZlv5Ant/Zd+Cq5YcWS1r2GZoPAkEdOegt6qoIOf0toyM38fSSNzfxJU7u0B/b g4H6sMggiMji9egyZJgTBGAt4AWtRc+ESwaA/k9XR3rvc3oFWjsAhtoMn+dPVMTxZxU1uf kYvAmndIGREr3eGGpkWoRPnL+XWPCwEUEub2plYcJBqlg7ZilM9ecQtcMip1tw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5twC2q88z10L0; Tue, 31 Jan 2023 18:33:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VIXFtx096783; Tue, 31 Jan 2023 18:33:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VIXF4C096782; Tue, 31 Jan 2023 18:33:15 GMT (envelope-from git) Date: Tue, 31 Jan 2023 18:33:15 GMT Message-Id: <202301311833.30VIXF4C096782@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 537c166b7678 - main - elftoolchain: update the list of riscv relocations List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 537c166b767879398338370701fa60f67acec112 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=537c166b767879398338370701fa60f67acec112 commit 537c166b767879398338370701fa60f67acec112 Author: Mitchell Horne AuthorDate: 2023-01-28 18:19:26 +0000 Commit: Mitchell Horne CommitDate: 2023-01-31 18:32:40 +0000 elftoolchain: update the list of riscv relocations A few have been added, a couple removed. Reviewed by: jrtc27, imp, emaste MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38175 --- contrib/elftoolchain/common/elfdefinitions.h | 12 ++++++++---- contrib/elftoolchain/libelftc/elftc_reloc_type_str.c | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/contrib/elftoolchain/common/elfdefinitions.h b/contrib/elftoolchain/common/elfdefinitions.h index 1b3a190ad055..0d230fffe3d3 100644 --- a/contrib/elftoolchain/common/elfdefinitions.h +++ b/contrib/elftoolchain/common/elfdefinitions.h @@ -2143,14 +2143,18 @@ _ELF_DEFINE_RELOC(R_RISCV_SUB8, 37) \ _ELF_DEFINE_RELOC(R_RISCV_SUB16, 38) \ _ELF_DEFINE_RELOC(R_RISCV_SUB32, 39) \ _ELF_DEFINE_RELOC(R_RISCV_SUB64, 40) \ -_ELF_DEFINE_RELOC(R_RISCV_GNU_VTINHERIT, 41) \ -_ELF_DEFINE_RELOC(R_RISCV_GNU_VTENTRY, 42) \ _ELF_DEFINE_RELOC(R_RISCV_ALIGN, 43) \ _ELF_DEFINE_RELOC(R_RISCV_RVC_BRANCH, 44) \ _ELF_DEFINE_RELOC(R_RISCV_RVC_JUMP, 45) \ _ELF_DEFINE_RELOC(R_RISCV_RVC_LUI, 46) \ -_ELF_DEFINE_RELOC(R_RISCV_GPREL_I, 47) \ -_ELF_DEFINE_RELOC(R_RISCV_GPREL_S, 48) +_ELF_DEFINE_RELOC(R_RISCV_RELAX, 51) \ +_ELF_DEFINE_RELOC(R_RISCV_SUB6, 52) \ +_ELF_DEFINE_RELOC(R_RISCV_SET6, 53) \ +_ELF_DEFINE_RELOC(R_RISCV_SET8, 54) \ +_ELF_DEFINE_RELOC(R_RISCV_SET16, 55) \ +_ELF_DEFINE_RELOC(R_RISCV_SET32, 56) \ +_ELF_DEFINE_RELOC(R_RISCV_32_PCREL, 57) \ +_ELF_DEFINE_RELOC(R_RISCV_IRELATIVE, 58) #define _ELF_DEFINE_SPARC_RELOCATIONS() \ _ELF_DEFINE_RELOC(R_SPARC_NONE, 0) \ diff --git a/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c b/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c index 4fa715ae0734..bc8ff6c0d2c6 100644 --- a/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c +++ b/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c @@ -656,14 +656,18 @@ elftc_reloc_type_str(unsigned int mach, unsigned int type) case 38: return "R_RISCV_SUB16"; case 39: return "R_RISCV_SUB32"; case 40: return "R_RISCV_SUB64"; - case 41: return "R_RISCV_GNU_VTINHERIT"; - case 42: return "R_RISCV_GNU_VTENTRY"; case 43: return "R_RISCV_ALIGN"; case 44: return "R_RISCV_RVC_BRANCH"; case 45: return "R_RISCV_RVC_JUMP"; case 46: return "R_RISCV_RVC_LUI"; - case 47: return "R_RISCV_GPREL_I"; - case 48: return "R_RISCV_GPREL_S"; + case 51: return "R_RISCV_RELAX"; + case 52: return "R_RISCV_SUB6"; + case 53: return "R_RISCV_SET6"; + case 54: return "R_RISCV_SET8"; + case 55: return "R_RISCV_SET16"; + case 56: return "R_RISCV_SET32"; + case 57: return "R_RISCV_32_PCREL"; + case 58: return "R_RISCV_IRELATIVE"; } break; case EM_S390: From nobody Tue Jan 31 18:38:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5v2024GPz3bxy5; Tue, 31 Jan 2023 18:38:16 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from glebi.us (glebi.us [162.251.186.162]) by mx1.freebsd.org (Postfix) with ESMTP id 4P5v2013T2z4Jwf; Tue, 31 Jan 2023 18:38:16 +0000 (UTC) (envelope-from glebius@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: by glebi.us (Postfix, from userid 1000) id 736C3560C4; Tue, 31 Jan 2023 10:38:15 -0800 (PST) Date: Tue, 31 Jan 2023 10:38:15 -0800 From: Gleb Smirnoff To: John Baldwin Cc: Konstantin Belousov , Brooks Davis , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: fa1d803c0f65 - main - epoch: replace hand coded assertion Message-ID: References: <202301201805.30KI5Ht0099187@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 4P5v2013T2z4Jwf X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:27348, ipnet:162.251.186.0/24, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Tue, Jan 31, 2023 at 10:30:49AM -0800, John Baldwin wrote: J> >> @@ -420,7 +420,8 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) J> >> MPASS(cold || epoch != NULL); J> >> MPASS(epoch->e_flags & EPOCH_PREEMPT); J> >> td = curthread; J> >> - MPASS((vm_offset_t)et >= td->td_kstack && J> >> + MPASS((vm_offset_t)et + sizeof(struct epoch_tracker) >= J> >> + (vm_offset_t)__builtin_frame_address(0) && J> >> (vm_offset_t)et + sizeof(struct epoch_tracker) <= J> >> td->td_kstack + td->td_kstack_pages * PAGE_SIZE); J> >> J> >> What do you guys think on legitimacy of the improved assertion that uses J> >> compiler built to get the current top of stack and makes the assertion even J> >> stricter? J> >> J> >> I think in FreeBSD we should at least add the MPASS(kstack_contains(td, ...) J> >> assertion to the epoch exit. J> > J> > The __builtin_frame_address() is somewhat weird thing, e.g. it assumes J> > that the local function frame is contiguous, and static. Also I do not J> > see a guarantee that any local variable address is higher that the value J> > returned from the builtin. J> J> Though in these cases the pointer value (et) is not a local variable on J> this frame, but should be in an earlier frame (usually the callers). Yes, this is exactly what my patch does. Limit the presence of epoch_tracker to the already used part of the stack. We've been running with this patch for couple years. -- Gleb Smirnoff From nobody Tue Jan 31 20:03:10 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5wvy6Mwgz3c80b; Tue, 31 Jan 2023 20:03: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 4P5wvy5kY2z3CMd; Tue, 31 Jan 2023 20:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uhlz1bLbq+iyi+ytX+MJ+12nZIR3Vs/aU7C7W3MMrBc=; b=W0yzIJxONrYZoGXU2N5d4jL6dsokjfUXwr8dMpzWJ1WAtfzC2xSXU4jq4XAtOKjaylzNV+ /Cgdtt7JmyN9o3ELzV/mp1EEjMKmT0chswpbYEph8PbEpV5SuRKU0KCgvJk9Lx0yY/psoM tsGqRn/HDtixCot4LWDKDDqVNGdmKl34apIyC3UUWZ5ZQFXaA7IGQU+1Oxawzomqf/NihQ 1WuM5qTFCZgkMxBf1qeQB6gB7Dha3GM7sqgAsbk8oeWd0K8/6vLdRfNWWHHJe70LLY5C4w LzZB8SRWY/8tm9IbQH+cdHvOnwkKdzX6be/a/7QV7jHxDCdk75VJ7tYkpJ/JEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uhlz1bLbq+iyi+ytX+MJ+12nZIR3Vs/aU7C7W3MMrBc=; b=TI6wUHoLobtQDRCHIlBPb59JvDntzJBo3pGnmDc+epPWo3xETJCEKg/hD8B7lsZpvbzURO IUatvwPAf2dke6pFY+QfqhbCM1XG/Z/0V6qji2JQKjiJHvnT5Z+gV2VhIuB36HQlzxvUlA btBVb5IeAqhOIzTZrgoV5ByijDMwgB8motK+KW9m4rpdQbAVBXT0jknOHXmR+MWksnTGo0 y1a97ODupihpYKhcXP1w3F3/ahLtlUGu2YHe0gXaqyg3hDrogEymhcBSOKRToQhjYlGSNA 7GD55Vwg+xghLAXk4vAPvW86efUWSOykHzsrYQ3mxoSnYp1TjNGQ4kLFJ4f4sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195390; a=rsa-sha256; cv=none; b=G0EGEHe2vofDk4MfAcl8IRKehiHdoPhjJwraMRxD9YOyAu0PYZinn4JNY/iSNlhr2LTPMA WVQzdrcUNfXMTAJGJ9OF3NI/rkB2nt7A1818ZspHIwIpX9YzI0GKjUp5UO+btA4Ym9qqer hiyDWgWdDUn21pNtkjArdWCBbY42KTmzmXFgCOZ9qQoGNjTjxcgz+vzHMpVUj597mEsv9G R9DcB9JMTcDwWzYlkvI9TCDgApeN1EhJ6+VR9v9ZaD55XETn7UA49CGM4x/unZd8cQ6xGv q0BttQiBTsoxhwh8tOLg/UKPQUdLZlVKG6A3+z8a4upy34ZPqB4Ggj11Kw2QSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5wvy4pwxz12KH; Tue, 31 Jan 2023 20:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3Ab7024777; Tue, 31 Jan 2023 20:03:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3Afc024776; Tue, 31 Jan 2023 20:03:10 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:10 GMT Message-Id: <202301312003.30VK3Afc024776@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 361ac40b0ff6 - main - IfAPI: Hide the in6m_lookup_locked() implementation. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 361ac40b0ff6776fb65269c41759abdff6560044 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=361ac40b0ff6776fb65269c41759abdff6560044 commit 361ac40b0ff6776fb65269c41759abdff6560044 Author: Justin Hibbits AuthorDate: 2023-01-25 19:09:09 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:14 +0000 IfAPI: Hide the in6m_lookup_locked() implementation. Summary: in6m_lookup_locked() iterates over the ifnet's multiaddrs list. Keep this implementation detail private, by moving the implementation to the netstack source from the header. Sponsored by: Juniper Networks, Inc. Reviewed by: glebius, melifaro Differential Revision: https://reviews.freebsd.org/D38201 --- sys/netinet6/in6_mcast.c | 25 +++++++++++++++++++++++++ sys/netinet6/in6_var.h | 26 ++------------------------ 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/sys/netinet6/in6_mcast.c b/sys/netinet6/in6_mcast.c index 0cc8971d60d3..04c4f1aa9d93 100644 --- a/sys/netinet6/in6_mcast.c +++ b/sys/netinet6/in6_mcast.c @@ -345,6 +345,31 @@ im6o_mc_filter(const struct ip6_moptions *imo, const struct ifnet *ifp, return (MCAST_PASS); } +/* + * Look up an in6_multi record for an IPv6 multicast address + * on the interface ifp. + * If no record found, return NULL. + * + * SMPng: The IN6_MULTI_LOCK and must be held and must be in network epoch. + */ +struct in6_multi * +in6m_lookup_locked(struct ifnet *ifp, const struct in6_addr *mcaddr) +{ + struct ifmultiaddr *ifma; + struct in6_multi *inm; + + NET_EPOCH_ASSERT(); + + CK_STAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { + inm = in6m_ifmultiaddr_get_inm(ifma); + if (inm == NULL) + continue; + if (IN6_ARE_ADDR_EQUAL(&inm->in6m_addr, mcaddr)) + return (inm); + } + return (NULL); +} + /* * Find and return a reference to an in6_multi record for (ifp, group), * and bump its reference count. diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h index d1192201bd44..63dadf6b5207 100644 --- a/sys/netinet6/in6_var.h +++ b/sys/netinet6/in6_var.h @@ -776,35 +776,13 @@ static __inline struct in6_multi * in6m_ifmultiaddr_get_inm(struct ifmultiaddr *ifma) { - NET_EPOCH_ASSERT(); - return ((ifma->ifma_addr->sa_family != AF_INET6 || (ifma->ifma_flags & IFMA_F_ENQUEUED) == 0) ? NULL : ifma->ifma_protospec); } -/* - * Look up an in6_multi record for an IPv6 multicast address - * on the interface ifp. - * If no record found, return NULL. - * - * SMPng: The IN6_MULTI_LOCK and must be held and must be in network epoch. - */ -static __inline struct in6_multi * -in6m_lookup_locked(struct ifnet *ifp, const struct in6_addr *mcaddr) -{ - struct ifmultiaddr *ifma; - struct in6_multi *inm; - - CK_STAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { - inm = in6m_ifmultiaddr_get_inm(ifma); - if (inm == NULL) - continue; - if (IN6_ARE_ADDR_EQUAL(&inm->in6m_addr, mcaddr)) - return (inm); - } - return (NULL); -} +struct in6_multi * +in6m_lookup_locked(struct ifnet *ifp, const struct in6_addr *mcaddr); /* * Wrapper for in6m_lookup_locked(). From nobody Tue Jan 31 20:03:11 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5ww00hNLz3c87l; Tue, 31 Jan 2023 20:03: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 4P5wvz6zgcz3CKt; Tue, 31 Jan 2023 20:03:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BzYfXJXGPePAf+NFw59SxGIz25ffqF+E/UdTMUGfo1k=; b=j8eveICt2wiPX+ov9G+K4i/B1/NCXOfevb/m4JbkJDyxjZ2R09CN9guDdjqplY1divHvhe Mf15d7MCZ/EjNzORJ6uExako6WijE8CB7YNf76ALbSCCSNYSVpZDglvXdSwCezOQ0gLzKa pKbbsgjem8LPhctO6n34XdUhUbDkvIa0SIv3oiFkQ8LIEEVmw7INFixM/W1DACRhLiFrLm WGBsAc5EkrKOxPinGPCZY4fy9quKkEr5Oz0KqMa+3coCAlSXZ4Dm3A9dljCqq0n+T0v6YB DBh8s9F2xXOr9gPXDVGS4UyxgmRHwGSkvueiTNa1V/oZLHQrIybPxgDrkpOwOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BzYfXJXGPePAf+NFw59SxGIz25ffqF+E/UdTMUGfo1k=; b=wq4XBQBHri0F3mY0+NtymZEMI9qN5NI2ThaW6/+2pSFQ0XoBAnuJSaGwu1iOpZlXoVKPN2 RJcU2VJwMHrApA5VN45NzXLa1Nj/zcHkR2zXwgjeCUjL7zuBQU/Vg117d5tuEfKFG32O+t WcNEVGB/r3Cf22kLfmo2owa2HoYkl7NA3NddJMorqqp2jWzknEEG7dKbCyaHCdegI+Ij0X Ci4JiCjlRyLIRVpOUvxgrU6+B89G+RTtfT/rO+3U/JhkuMgR+CKWbDzprqfo1Ci9998Rlh n9YpRDFiyUhG4IGFLKcsL5quJJZiIpnUN/2F/5HlEEOwjjnkM8GmUEeJdyKNtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195392; a=rsa-sha256; cv=none; b=GCWBM0qDbxmGDiqyIE4QES9dtppANhCWLOmoeppj5FqDMJ9kHbmSA4lpIsrwpkvyRgNi1f gIJQEz/hJ5quEpavbCk2g+dshblLO5FaWG59lUGXyHDvHi21Y6viAfO2DoUwWhdsmRVkKi X4aR9HoCS6RbRKXHGtt7rFaURPIgDx65sJGO6TB/p3as8Etvr6XSGNb0ZuSrMRpZ7JoAxP y4yEjCPUtzgX+MtlJGMEcZZeb2NQRCufNplCXzKMLqbmdUnGq8joJVoPBbRKmFEfeQSPR0 fc7hwOnMO4wQaAhiO0alZnTuJB8XVHfpDtBOWJdCcYXcBZlEkP31gdBLbd2uxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5wvz62Kdz11kF; Tue, 31 Jan 2023 20:03:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3Bg9024804; Tue, 31 Jan 2023 20:03:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3BSD024803; Tue, 31 Jan 2023 20:03:11 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:11 GMT Message-Id: <202301312003.30VK3BSD024803@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 1bfa548b1f16 - main - ifnet/API: Privatize the implementation of the drbr_* APIs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1bfa548b1f1687f16a738590ee88843ed3c73ae8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=1bfa548b1f1687f16a738590ee88843ed3c73ae8 commit 1bfa548b1f1687f16a738590ee88843ed3c73ae8 Author: Justin Hibbits AuthorDate: 2023-01-13 16:40:31 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:14 +0000 ifnet/API: Privatize the implementation of the drbr_* APIs When ALTQ is enabled ifnet accessors already need to be called, largely defeating the purpose of the inline. To that extent, make the ALTQ form functions in the netstack proper, and make them always available. Reviewed By: glebius Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38104 --- sys/conf/files | 1 + sys/net/ifq.c | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sys/net/ifq.h | 104 ++++++++-------------------------- 3 files changed, 200 insertions(+), 81 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index b85ab6955adb..6cb4abcd9223 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4141,6 +4141,7 @@ net/bpf_zerocopy.c optional bpf net/bridgestp.c optional bridge | if_bridge net/ieee8023ad_lacp.c optional lagg net/if.c standard +net/ifq.c standard net/if_bridge.c optional bridge inet | if_bridge inet net/if_clone.c standard net/if_dead.c standard diff --git a/sys/net/ifq.c b/sys/net/ifq.c new file mode 100644 index 000000000000..0e3159a75d48 --- /dev/null +++ b/sys/net/ifq.c @@ -0,0 +1,176 @@ +/*- + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 1982, 1986, 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * From: @(#)if.h 8.1 (Berkeley) 6/10/93 + */ + +#include +#include + +#ifndef ALTQ +#define ALTQ /* Needed for ifq.h prototypes only. */ +#endif + +#include +#include +#include + +int +drbr_enqueue(struct ifnet *ifp, struct buf_ring *br, struct mbuf *m) +{ + int error = 0; + + if (ALTQ_IS_ENABLED(&ifp->if_snd)) { + IFQ_ENQUEUE(&ifp->if_snd, m, error); + if (error) + if_inc_counter((ifp), IFCOUNTER_OQDROPS, 1); + return (error); + } + error = buf_ring_enqueue(br, m); + if (error) + m_freem(m); + + return (error); +} + +void +drbr_putback(struct ifnet *ifp, struct buf_ring *br, struct mbuf *m_new) +{ + /* + * The top of the list needs to be swapped + * for this one. + */ + if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) { + /* + * Peek in altq case dequeued it + * so put it back. + */ + IFQ_DRV_PREPEND(&ifp->if_snd, m_new); + return; + } + buf_ring_putback_sc(br, m_new); +} + +struct mbuf * +drbr_peek(struct ifnet *ifp, struct buf_ring *br) +{ + struct mbuf *m; + if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) { + /* + * Pull it off like a dequeue + * since drbr_advance() does nothing + * for altq and drbr_putback() will + * use the old prepend function. + */ + IFQ_DEQUEUE(&ifp->if_snd, m); + return (m); + } + return ((struct mbuf *)buf_ring_peek_clear_sc(br)); +} + +void +drbr_flush(struct ifnet *ifp, struct buf_ring *br) +{ + struct mbuf *m; + + if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) + IFQ_PURGE(&ifp->if_snd); + while ((m = (struct mbuf *)buf_ring_dequeue_sc(br)) != NULL) + m_freem(m); +} + +struct mbuf * +drbr_dequeue(struct ifnet *ifp, struct buf_ring *br) +{ + struct mbuf *m; + + if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) { + IFQ_DEQUEUE(&ifp->if_snd, m); + return (m); + } + return ((struct mbuf *)buf_ring_dequeue_sc(br)); +} + +void +drbr_advance(struct ifnet *ifp, struct buf_ring *br) +{ + /* Nothing to do here since peek dequeues in altq case */ + if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) + return; + return (buf_ring_advance_sc(br)); +} + +struct mbuf * +drbr_dequeue_cond(struct ifnet *ifp, struct buf_ring *br, + int (*func) (struct mbuf *, void *), void *arg) +{ + struct mbuf *m; + if (ALTQ_IS_ENABLED(&ifp->if_snd)) { + IFQ_LOCK(&ifp->if_snd); + IFQ_POLL_NOLOCK(&ifp->if_snd, m); + if (m != NULL && func(m, arg) == 0) { + IFQ_UNLOCK(&ifp->if_snd); + return (NULL); + } + IFQ_DEQUEUE_NOLOCK(&ifp->if_snd, m); + IFQ_UNLOCK(&ifp->if_snd); + return (m); + } + m = (struct mbuf *)buf_ring_peek(br); + if (m == NULL || func(m, arg) == 0) + return (NULL); + + return ((struct mbuf *)buf_ring_dequeue_sc(br)); +} + +int +drbr_empty(struct ifnet *ifp, struct buf_ring *br) +{ + if (ALTQ_IS_ENABLED(&ifp->if_snd)) + return (IFQ_IS_EMPTY(&ifp->if_snd)); + return (buf_ring_empty(br)); +} + +int +drbr_needs_enqueue(struct ifnet *ifp, struct buf_ring *br) +{ + if (ALTQ_IS_ENABLED(&ifp->if_snd)) + return (1); + return (!buf_ring_empty(br)); +} + +int +drbr_inuse(struct ifnet *ifp, struct buf_ring *br) +{ + if (ALTQ_IS_ENABLED(&ifp->if_snd)) + return (ifp->if_snd.ifq_len); + return (buf_ring_count(br)); +} + diff --git a/sys/net/ifq.h b/sys/net/ifq.h index 9a8f9a876423..e4dbf8929b1f 100644 --- a/sys/net/ifq.h +++ b/sys/net/ifq.h @@ -315,19 +315,25 @@ do { \ IFQ_PURGE(ifq); \ } while (0) +#ifdef ALTQ +int drbr_enqueue(struct ifnet *ifp, struct buf_ring *br, struct mbuf *m); +void drbr_putback(struct ifnet *ifp, struct buf_ring *br, struct mbuf *m_new); +struct mbuf *drbr_peek(struct ifnet *ifp, struct buf_ring *br); +void drbr_flush(struct ifnet *ifp, struct buf_ring *br); +struct mbuf *drbr_dequeue(struct ifnet *ifp, struct buf_ring *br); +void drbr_advance(struct ifnet *ifp, struct buf_ring *br); +struct mbuf *drbr_dequeue_cond(struct ifnet *ifp, struct buf_ring *br, + int (*func) (struct mbuf *, void *), void *arg); +int drbr_empty(struct ifnet *ifp, struct buf_ring *br); +int drbr_needs_enqueue(struct ifnet *ifp, struct buf_ring *br); +int drbr_inuse(struct ifnet *ifp, struct buf_ring *br); + +#else /* !ALTQ */ static __inline int drbr_enqueue(struct ifnet *ifp, struct buf_ring *br, struct mbuf *m) { int error = 0; -#ifdef ALTQ - if (ALTQ_IS_ENABLED(&ifp->if_snd)) { - IFQ_ENQUEUE(&ifp->if_snd, m, error); - if (error) - if_inc_counter((ifp), IFCOUNTER_OQDROPS, 1); - return (error); - } -#endif error = buf_ring_enqueue(br, m); if (error) m_freem(m); @@ -342,35 +348,12 @@ drbr_putback(struct ifnet *ifp, struct buf_ring *br, struct mbuf *m_new) * The top of the list needs to be swapped * for this one. */ -#ifdef ALTQ - if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) { - /* - * Peek in altq case dequeued it - * so put it back. - */ - IFQ_DRV_PREPEND(&ifp->if_snd, m_new); - return; - } -#endif buf_ring_putback_sc(br, m_new); } static __inline struct mbuf * drbr_peek(struct ifnet *ifp, struct buf_ring *br) { -#ifdef ALTQ - struct mbuf *m; - if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) { - /* - * Pull it off like a dequeue - * since drbr_advance() does nothing - * for altq and drbr_putback() will - * use the old prepend function. - */ - IFQ_DEQUEUE(&ifp->if_snd, m); - return (m); - } -#endif return ((struct mbuf *)buf_ring_peek_clear_sc(br)); } @@ -379,44 +362,19 @@ drbr_flush(struct ifnet *ifp, struct buf_ring *br) { struct mbuf *m; -#ifdef ALTQ - if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) - IFQ_PURGE(&ifp->if_snd); -#endif while ((m = (struct mbuf *)buf_ring_dequeue_sc(br)) != NULL) m_freem(m); } -static __inline void -drbr_free(struct buf_ring *br, struct malloc_type *type) -{ - - drbr_flush(NULL, br); - buf_ring_free(br, type); -} - static __inline struct mbuf * drbr_dequeue(struct ifnet *ifp, struct buf_ring *br) { -#ifdef ALTQ - struct mbuf *m; - - if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) { - IFQ_DEQUEUE(&ifp->if_snd, m); - return (m); - } -#endif return ((struct mbuf *)buf_ring_dequeue_sc(br)); } static __inline void drbr_advance(struct ifnet *ifp, struct buf_ring *br) { -#ifdef ALTQ - /* Nothing to do here since peek dequeues in altq case */ - if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) - return; -#endif return (buf_ring_advance_sc(br)); } @@ -425,19 +383,6 @@ drbr_dequeue_cond(struct ifnet *ifp, struct buf_ring *br, int (*func) (struct mbuf *, void *), void *arg) { struct mbuf *m; -#ifdef ALTQ - if (ALTQ_IS_ENABLED(&ifp->if_snd)) { - IFQ_LOCK(&ifp->if_snd); - IFQ_POLL_NOLOCK(&ifp->if_snd, m); - if (m != NULL && func(m, arg) == 0) { - IFQ_UNLOCK(&ifp->if_snd); - return (NULL); - } - IFQ_DEQUEUE_NOLOCK(&ifp->if_snd, m); - IFQ_UNLOCK(&ifp->if_snd); - return (m); - } -#endif m = (struct mbuf *)buf_ring_peek(br); if (m == NULL || func(m, arg) == 0) return (NULL); @@ -448,32 +393,29 @@ drbr_dequeue_cond(struct ifnet *ifp, struct buf_ring *br, static __inline int drbr_empty(struct ifnet *ifp, struct buf_ring *br) { -#ifdef ALTQ - if (ALTQ_IS_ENABLED(&ifp->if_snd)) - return (IFQ_IS_EMPTY(&ifp->if_snd)); -#endif return (buf_ring_empty(br)); } static __inline int drbr_needs_enqueue(struct ifnet *ifp, struct buf_ring *br) { -#ifdef ALTQ - if (ALTQ_IS_ENABLED(&ifp->if_snd)) - return (1); -#endif return (!buf_ring_empty(br)); } static __inline int drbr_inuse(struct ifnet *ifp, struct buf_ring *br) { -#ifdef ALTQ - if (ALTQ_IS_ENABLED(&ifp->if_snd)) - return (ifp->if_snd.ifq_len); -#endif return (buf_ring_count(br)); } +#endif /* ALTQ */ + +static __inline void +drbr_free(struct buf_ring *br, struct malloc_type *type) +{ + + drbr_flush(NULL, br); + buf_ring_free(br, type); +} extern int ifqmaxlen; From nobody Tue Jan 31 20:03:12 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5ww11frDz3c87r; Tue, 31 Jan 2023 20:03: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 4P5ww10ncQz3ChS; Tue, 31 Jan 2023 20:03:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h4wRQ5Dl6tqzo6JHa0miTYCK4b912jnAGIeT2FhOIfI=; b=MT/9rUwu8nvoF06JnrKXXBFCC0HaQvC6cp54waJxgfgCLXB+B2U6mldZTijKkSGCarbH70 Hmih7wtUix2lzaZ/8I8B5qL/7WH9gWW7xVtUDkLV8QL4sRQeQMXM7kpwK0iBFLlg8uWlvW /nkQRtjErk5u0pCpfWqs7g3mIi/OJSqi95A0a71DAOxlvtwlHrSA/uEskx0LbHiCnbXlOX XxNcseXkzJ+gVpY+10ZXeppZCfPc3CTSr2ZHV1yypMqO9a0Kc9lR/axiHPWRN+2oy/TmrL 3U70SA/+inGk1eoGDUljqkhXvEoE7puCMsKQ18e2+8ZjfnMt6eW3IB3FH8ydVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h4wRQ5Dl6tqzo6JHa0miTYCK4b912jnAGIeT2FhOIfI=; b=ZLv7QIKUNEZlN9+3eG+776AryAmISanldKjItY7ANLYkqAbq6Aew8ljJQxN8auWO3R6hlT 1gIS9XsvTqTyjcThFHe/4oyiQ9wDeiDHF1zTHXjndgtyntmQ83O4l2CeIFJkegpCfJPfc5 Zs+i2ALr2NQH44THOcokDGf7bt+TKqH9vh4zL4STXjIPr26AKHpzIJm+Q56sO5Ld3cwyXo z1hMNZcEKPf3HCTtIPNM0DFhceLnD4Ix1WHaeFowqWre2nQLKavNrF2kDint0XEvux+gOA S617Vr0661qqBILs57f1T3RSiV4dle73tXL9rMqiv2csBIsr4TPUq/DI5YCjAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195393; a=rsa-sha256; cv=none; b=BfSK3MZ2C8SzpselShCm37yPFmRZtlUSE/Q/amVzWqH5rgtLG3kA/dksnl2XqNUBqx+jab aMQpJqjUywBRJs/mWxOb7PCcsEfRFDgCYlet5GpohZoaz9ehgdpedb7hA48tp1ibxQTPz2 1OBKLl6lysWzDL/GQsyrMl6HvIys4ryDDXR84YmJYFvW/c6vRG+eY5qhxq78ZlQ9eDqUca G9sPkAVysvunEeIWc++SVyEKeXkBoeDda8A518Nfl55RB7fh46koX4wGyhiZrPeCkwDzJS JpHNQVwJgTJAcw6R7/Iq0Z5j3YGJGZahFw9ZE5BSEgy0aB/OkVWEQIZ4wd9WGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5ww06xRMz12L1; Tue, 31 Jan 2023 20:03:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3Cou024836; Tue, 31 Jan 2023 20:03:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3Cf4024835; Tue, 31 Jan 2023 20:03:12 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:12 GMT Message-Id: <202301312003.30VK3Cf4024835@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 950cc1f44fbd - main - bpf: Add "_if" tap APIs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 950cc1f44fbd5965db7b679c0aaf1bd9b432ec25 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=950cc1f44fbd5965db7b679c0aaf1bd9b432ec25 commit 950cc1f44fbd5965db7b679c0aaf1bd9b432ec25 Author: Justin Hibbits AuthorDate: 2023-01-12 20:17:33 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:14 +0000 bpf: Add "_if" tap APIs Summary: Hide more netstack by making the BPF_TAP macros real functions in the netstack. "struct ifnet" is used in the header instead of "if_t" to keep header pollution down. Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38103 --- sys/net/bpf.c | 25 +++++++++++++++++++++++++ sys/net/bpf.h | 27 ++++++++++----------------- sys/net/ethernet.h | 15 +++++---------- sys/net/if_ethersubr.c | 12 ++++++++++++ 4 files changed, 52 insertions(+), 27 deletions(-) diff --git a/sys/net/bpf.c b/sys/net/bpf.c index ab733f1d68ec..ffac63ef95d9 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -2349,6 +2349,13 @@ bpf_tap(struct bpf_if *bp, u_char *pkt, u_int pktlen) NET_EPOCH_EXIT(et); } +void +bpf_tap_if(if_t ifp, u_char *pkt, u_int pktlen) +{ + if (bpf_peers_present(ifp->if_bpf)) + bpf_tap(ifp->if_bpf, pkt, pktlen); +} + #define BPF_CHECK_DIRECTION(d, r, i) \ (((d)->bd_direction == BPF_D_IN && (r) != (i)) || \ ((d)->bd_direction == BPF_D_OUT && (r) == (i))) @@ -2409,6 +2416,15 @@ bpf_mtap(struct bpf_if *bp, struct mbuf *m) NET_EPOCH_EXIT(et); } +void +bpf_mtap_if(if_t ifp, struct mbuf *m) +{ + if (bpf_peers_present(ifp->if_bpf)) { + M_ASSERTVALID(m); + bpf_mtap(ifp->if_bpf, m); + } +} + /* * Incoming linkage from device drivers, when packet is in * an mbuf chain and to be prepended by a contiguous header. @@ -2466,6 +2482,15 @@ bpf_mtap2(struct bpf_if *bp, void *data, u_int dlen, struct mbuf *m) NET_EPOCH_EXIT(et); } +void +bpf_mtap2_if(if_t ifp, void *data, u_int dlen, struct mbuf *m) +{ + if (bpf_peers_present(ifp->if_bpf)) { + M_ASSERTVALID(m); + bpf_mtap2(ifp->if_bpf, data, dlen, m); + } +} + #undef BPF_CHECK_DIRECTION #undef BPF_TSTAMP_NONE #undef BPF_TSTAMP_FAST diff --git a/sys/net/bpf.h b/sys/net/bpf.h index e5b8898188f1..279d2f65e7fc 100644 --- a/sys/net/bpf.h +++ b/sys/net/bpf.h @@ -53,6 +53,7 @@ typedef int32_t bpf_int32; typedef u_int32_t bpf_u_int32; typedef int64_t bpf_int64; typedef u_int64_t bpf_u_int64; +struct ifnet; /* * Alignment macros. BPF_WORDALIGN rounds up to the next multiple of @@ -421,8 +422,11 @@ struct bpf_if_ext { void bpf_bufheld(struct bpf_d *d); int bpf_validate(const struct bpf_insn *, int); void bpf_tap(struct bpf_if *, u_char *, u_int); +void bpf_tap_if(struct ifnet *, u_char *, u_int); void bpf_mtap(struct bpf_if *, struct mbuf *); +void bpf_mtap_if(struct ifnet *, struct mbuf *); void bpf_mtap2(struct bpf_if *, void *, u_int, struct mbuf *); +void bpf_mtap2_if(struct ifnet *, void *, u_int, struct mbuf *); void bpfattach(struct ifnet *, u_int, u_int); void bpfattach2(struct ifnet *, u_int, u_int, struct bpf_if **); void bpfdetach(struct ifnet *); @@ -444,22 +448,12 @@ bpf_peers_present(struct bpf_if *bpf) return (0); } -#define BPF_TAP(_ifp,_pkt,_pktlen) do { \ - if (bpf_peers_present((_ifp)->if_bpf)) \ - bpf_tap((_ifp)->if_bpf, (_pkt), (_pktlen)); \ -} while (0) -#define BPF_MTAP(_ifp,_m) do { \ - if (bpf_peers_present((_ifp)->if_bpf)) { \ - M_ASSERTVALID(_m); \ - bpf_mtap((_ifp)->if_bpf, (_m)); \ - } \ -} while (0) -#define BPF_MTAP2(_ifp,_data,_dlen,_m) do { \ - if (bpf_peers_present((_ifp)->if_bpf)) { \ - M_ASSERTVALID(_m); \ - bpf_mtap2((_ifp)->if_bpf,(_data),(_dlen),(_m)); \ - } \ -} while (0) +#define BPF_TAP(_ifp,_pkt,_pktlen) \ + bpf_tap_if((_ifp), (_pkt), (_pktlen)) +#define BPF_MTAP(_ifp,_m) \ + bpf_mtap_if((_ifp), (_m)) +#define BPF_MTAP2(_ifp,_data,_dlen,_m) \ + bpf_mtap2_if((_ifp), (_data), (_dlen), (_m)) #endif /* @@ -468,7 +462,6 @@ bpf_peers_present(struct bpf_if *bpf) #define BPF_MEMWORDS 16 /* BPF attach/detach events */ -struct ifnet; typedef void (*bpf_track_fn)(void *, struct ifnet *, int /* dlt */, int /* 1 =>'s attach */); EVENTHANDLER_DECLARE(bpf_track, bpf_track_fn); diff --git a/sys/net/ethernet.h b/sys/net/ethernet.h index 807420957aef..98b02d71da50 100644 --- a/sys/net/ethernet.h +++ b/sys/net/ethernet.h @@ -35,7 +35,7 @@ * encapsulation) and whether or not an FCS is present. */ #define ETHER_MAX_FRAME(ifp, etype, hasfcs) \ - ((ifp)->if_mtu + ETHER_HDR_LEN + \ + (if_getmtu(ifp) + ETHER_HDR_LEN + \ ((hasfcs) ? ETHER_CRC_LEN : 0) + \ (((etype) == ETHERTYPE_VLAN) ? ETHER_VLAN_ENCAP_LEN : 0)) @@ -399,15 +399,10 @@ struct ether_vlan_header { * ether_vlan_mtap. This function will re-insert VLAN tags for the duration * of the tap, so they show up properly for network analyzers. */ -#define ETHER_BPF_MTAP(_ifp, _m) do { \ - if (bpf_peers_present((_ifp)->if_bpf)) { \ - M_ASSERTVALID(_m); \ - if (((_m)->m_flags & M_VLANTAG) != 0) \ - ether_vlan_mtap((_ifp)->if_bpf, (_m), NULL, 0); \ - else \ - bpf_mtap((_ifp)->if_bpf, (_m)); \ - } \ -} while (0) +struct ifnet; +struct mbuf; +void ether_bpf_mtap_if(struct ifnet *ifp, struct mbuf *m); +#define ETHER_BPF_MTAP(_ifp, _m) ether_bpf_mtap_if((_ifp), (_m)) /* * Names for 802.1q priorities ("802.1p"). Notice that in this scheme, diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index b3fc71006a35..8bc66497e161 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -1337,6 +1337,18 @@ ether_vlanencap_proto(struct mbuf *m, uint16_t tag, uint16_t proto) return (m); } +void +ether_bpf_mtap_if(struct ifnet *ifp, struct mbuf *m) +{ + if (bpf_peers_present(ifp->if_bpf)) { + M_ASSERTVALID(m); + if ((m->m_flags & M_VLANTAG) != 0) + ether_vlan_mtap(ifp->if_bpf, m, NULL, 0); + else + bpf_mtap(ifp->if_bpf, m); + } +} + static SYSCTL_NODE(_net_link, IFT_L2VLAN, vlan, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "IEEE 802.1Q VLAN"); static SYSCTL_NODE(_net_link_vlan, PF_LINK, link, From nobody Tue Jan 31 20:03:14 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5ww22JXxz3c8Dl; Tue, 31 Jan 2023 20:03: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 4P5ww21n5hz3CnV; Tue, 31 Jan 2023 20:03:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wcL2tuKOhK4JM68LFPznjtbixrrYJvK956b0IyrUZbQ=; b=sISPYD82pbAveylRRDHmM7QhUqaHmAHOo6vAToEwO0KDNftnuRTqnLsQhOJNmBNJGUP7YF RnYJdJ6Y22bRuKESFI/e/oBp428yUQ3DjjTrkeK5HdZQDwykiHMte7b0I+3y6Mv6pqhBaD 6Nw2TUTYmFBNOX5bTfl/k4e+jR5dfb9VGGEGzAuPfvS+vHnvYlE8WACjV//gnZhkCe1abV zx9ClKH16yyinKkW7Ma60GSqR27StW4dviRDWumqzav683nvfQVpjbeP4aJQGpbQHg7g2d wJIDviX6IeKOZvQw57am6i33191cxurh12e4Jz88oiBe0LdPnZmrO7BeFo4DCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wcL2tuKOhK4JM68LFPznjtbixrrYJvK956b0IyrUZbQ=; b=CKrqLSqDHz1r1Mhd2m+zOCZxq/l4QC9tvkBsc3RBy257H1PvwUjBuz2RvrInzjg6BVDdFi MtLboQkSD9+nhFRt82u0oG8EV57GIvZsal0i5xKskzYa/DDa1qWUI9y0BHdIH/rjamfJNT c/DSgqd+GVCYo3EwDNBbWK8NIBSIxER2bwTU63Oof1eEa+U6Z7MFi4LN5eIgZJJkuwEJt7 /Ja4LvQG9nZ3s5JFy5lvFlpcDPV4mgHjdlDCMOXsofB0v3KK2dNo5Ga0Bc0xSoxkTQZvo1 D6dIZtogDUu3lWHHT+I8jQdDqCKP8kxx34e941xrUu+vzcdOCol2zCGunta44g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195394; a=rsa-sha256; cv=none; b=yJ/BcAeihAymikIydJ9rU+EjasTq15coM7+p+kVFTZcVAhTo+pZ6EuM923qNFj5/DVudwq hxk0Nc1RmryX8A3BmATlH5cKo+14sbewvnKOpW/6zM6S55CRp44sk2+eRLH3HPTVIfRhs+ sPmJ9PJDHd7abJn0Hw/UqU8LQrFwCE9J2adG66/V1Zwv5DBjudFqVAeTOJKRBVCwbzEA50 rMRUw7L7FbiX2eY2FYjWwUzEo1ZOo0zL4nS0QBsYPznW6DVDun0LmbbAQCClLYh5wVr9zZ jiHsRMCDMOm6ZEWAwisD062w8ldFOG97DY8CbijFncxvP22FmBuHyx3liCTKEQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5ww20mfSz12NM; Tue, 31 Jan 2023 20:03:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3E4s024866; Tue, 31 Jan 2023 20:03:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3EhZ024865; Tue, 31 Jan 2023 20:03:14 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:14 GMT Message-Id: <202301312003.30VK3EhZ024865@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 113af4fd2bcb - main - IfAPI: Add if_gettype() API and use it for vlan List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 113af4fd2bcb464307daf8ca053dc728db8da61d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=113af4fd2bcb464307daf8ca053dc728db8da61d commit 113af4fd2bcb464307daf8ca053dc728db8da61d Author: Justin Hibbits AuthorDate: 2023-01-24 21:17:55 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:15 +0000 IfAPI: Add if_gettype() API and use it for vlan Sponsored by: Juniper Networks, Inc. Reviewed by: #network, glebius Differential Revision: https://reviews.freebsd.org/D38198 --- sys/net/if.c | 6 ++++++ sys/net/if_var.h | 1 + sys/net/if_vlan_var.h | 10 +++++----- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index ff505e1a1fe8..96093d0a2aa3 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4809,6 +4809,12 @@ if_setdebugnet_methods(if_t ifp, struct debugnet_methods *m) ifp->if_debugnet_methods = m; } +int +if_gettype(if_t ifp) +{ + return (ifp->if_type); +} + #ifdef DDB static void if_show_ifnet(struct ifnet *ifp) diff --git a/sys/net/if_var.h b/sys/net/if_var.h index e794811e090e..4c54d26a921d 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -584,6 +584,7 @@ void if_setdescr(if_t ifp, char *descrbuf); char *if_allocdescr(size_t sz, int malloc_flag); void if_freedescr(char *descrbuf); int if_getalloctype(const if_t ifp); +int if_gettype(const if_t ifp); int if_setdev(if_t ifp, void *dev); int if_setdrvflagbits(if_t ifp, int if_setflags, int clear_flags); int if_getdrvflags(const if_t ifp); diff --git a/sys/net/if_vlan_var.h b/sys/net/if_vlan_var.h index 91bed40c43a6..b383d0898c9a 100644 --- a/sys/net/if_vlan_var.h +++ b/sys/net/if_vlan_var.h @@ -143,15 +143,15 @@ struct ether_8021q_tag { } while (0) #define VLAN_TRUNKDEV(_ifp) \ - ((_ifp)->if_type == IFT_L2VLAN ? (*vlan_trunkdev_p)((_ifp)) : NULL) + (if_gettype(_ifp) == IFT_L2VLAN ? (*vlan_trunkdev_p)((_ifp)) : NULL) #define VLAN_TAG(_ifp, _vid) \ - ((_ifp)->if_type == IFT_L2VLAN ? (*vlan_tag_p)((_ifp), (_vid)) : EINVAL) + (if_gettype(_ifp) == IFT_L2VLAN ? (*vlan_tag_p)((_ifp), (_vid)) : EINVAL) #define VLAN_PCP(_ifp, _pcp) \ - ((_ifp)->if_type == IFT_L2VLAN ? (*vlan_pcp_p)((_ifp), (_pcp)) : EINVAL) + (if_gettype(_ifp) == IFT_L2VLAN ? (*vlan_pcp_p)((_ifp), (_pcp)) : EINVAL) #define VLAN_COOKIE(_ifp) \ - ((_ifp)->if_type == IFT_L2VLAN ? (*vlan_cookie_p)((_ifp)) : NULL) + (if_gettype(_ifp) == IFT_L2VLAN ? (*vlan_cookie_p)((_ifp)) : NULL) #define VLAN_SETCOOKIE(_ifp, _cookie) \ - ((_ifp)->if_type == IFT_L2VLAN ? \ + (if_gettype(_ifp) == IFT_L2VLAN ? \ (*vlan_setcookie_p)((_ifp), (_cookie)) : EINVAL) #define VLAN_DEVAT(_ifp, _vid) \ ((_ifp)->if_vlantrunk != NULL ? (*vlan_devat_p)((_ifp), (_vid)) : NULL) From nobody Tue Jan 31 20:03:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5ww353Y0z3c8RK; Tue, 31 Jan 2023 20:03: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 4P5ww32gHHz3Cfq; Tue, 31 Jan 2023 20:03:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IR2EpadjvIoSHn33a5jsmwobt+dvZKP/Ly1m1+k1/NM=; b=p9HSGs5KHuR0vcEb5NmTmLWpOqY+wGm/tPzTiPfqs3/RdEzS6wSQTMfuvAffh63tX6/Rn2 oPpqyYmWY/dzXLozD2L7V0jid5dz45qDpqEi0Rn7jZzuUbUdhtRI/N0joCgUoNI0pp4Tbu ZN5yGwUFfYTXAtZzNEUBBSViNh3oXqZal05BpcYk3JvsqqyfFhzmF9//AG5luFId3ICr8F oPoMz3hhMhxi3v69lQlbWRCIqA0guEvPgkTsGS2oX9nAbNzpb4lI/6/dHRyTOj1AY9i89C QHoaWUXA2xiGiMdWIgRmwVM0QyFwNP/v3PuTiKOu24sZWUO86CqSi9XnKW2XKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IR2EpadjvIoSHn33a5jsmwobt+dvZKP/Ly1m1+k1/NM=; b=O5VPwXAUniP7a0kjV6RQ/34IaWXvnMuwYPA9JeoYx4rDzrVWwzraoRhsEFcLzMdOICloQf rG8h+vA+NM9ZbWRWc4vftlxvzqASbSGDsFCflG6Yem3becqappbkJoHlM2jTKgWjCXrwxS JfLV7j9KoMTQ9uI38xzSHcL2aWCRA/rgCtX8iLfjOS2h/8CTtH7uCAFf4WbxwKrBk6nToO sTlVTHVeU9bt6GmV6ZJKEGE2rXCnMEhdDLATQphrLVtNoL9aQ4yWUHWHRUtwFry7caqatH cfjErlzDyyVlYp3/iQfo6rTyXc1DGDDqDLVmWvtf+I6d11m64BhuHiZJiayxAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195395; a=rsa-sha256; cv=none; b=PmyOry3S3YnIlQ8RSwKSly1zwI1TUDpSFAbQjQc+su/Bg8YPU78+FZu8ZugJK533fhVMBG fyBoREo/nU2UUpr8iJtUz3mgQX1GoIEqJuQ3gAZIkqoWTMmbGCiYJZOHuIrCVyx33DDpx7 VqMh5xicSKprbMJBQDK2avd3vo+QCwLcieJo1MROdUgQtQeUMkoZWeJkM2HFI7NYAWjtyz PoUKoXrsRlVeW1C66xqW9zUuwJuHTfIkvPUYEFL4Aef2xRPd5HzdFPN4IH6oXD2rB7FYIu KxWLt3IEaFn3iTVYjucOZOPaRXviPDYNYMAQqDS+928o3gLDPR8abkztjR9+YQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5ww31mt9z121m; Tue, 31 Jan 2023 20:03:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3Fl5024893; Tue, 31 Jan 2023 20:03:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3Fsb024892; Tue, 31 Jan 2023 20:03:15 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:15 GMT Message-Id: <202301312003.30VK3Fsb024892@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 30af2c131bb0 - main - IfAPI: Add if_get/setmaclabel() and use it. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 30af2c131bb05528f9b14518a7ed3e98c590b55e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=30af2c131bb05528f9b14518a7ed3e98c590b55e commit 30af2c131bb05528f9b14518a7ed3e98c590b55e Author: Justin Hibbits AuthorDate: 2023-01-23 14:34:43 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:15 +0000 IfAPI: Add if_get/setmaclabel() and use it. Summary: Port the MAC modules to use the IfAPI APIs as part of this. Sponsored by: Juniper Networks, Inc. Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D38197 --- sys/net/if.c | 12 ++++++++++++ sys/net/if_var.h | 2 ++ sys/security/mac/mac_inet.c | 8 ++++---- sys/security/mac/mac_inet6.c | 2 +- sys/security/mac/mac_net.c | 26 +++++++++++++------------- sys/security/mac_biba/mac_biba.c | 4 ++-- sys/security/mac_ifoff/mac_ifoff.c | 8 ++++---- sys/security/mac_lomac/mac_lomac.c | 4 ++-- sys/security/mac_mls/mac_mls.c | 2 +- 9 files changed, 41 insertions(+), 27 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 96093d0a2aa3..a6cf6d050875 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4809,6 +4809,18 @@ if_setdebugnet_methods(if_t ifp, struct debugnet_methods *m) ifp->if_debugnet_methods = m; } +struct label * +if_getmaclabel(if_t ifp) +{ + return (ifp->if_label); +} + +void +if_setmaclabel(if_t ifp, struct label *label) +{ + ifp->if_label = label; +} + int if_gettype(if_t ifp) { diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 4c54d26a921d..e9e6086bfa89 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -627,6 +627,8 @@ void if_etherbpfmtap(if_t ifp, struct mbuf *m); void if_vlancap(if_t ifp); int if_transmit(if_t ifp, struct mbuf *m); int if_init(if_t ifp, void *ctx); +struct label *if_getmaclabel(if_t ifp); +void if_setmaclabel(if_t ifp, struct label *label); /* * Traversing through interface address lists. diff --git a/sys/security/mac/mac_inet.c b/sys/security/mac/mac_inet.c index 2b6a70fdf1bf..dd77a6825204 100644 --- a/sys/security/mac/mac_inet.c +++ b/sys/security/mac/mac_inet.c @@ -274,8 +274,8 @@ mac_netinet_arp_send(struct ifnet *ifp, struct mbuf *m) mlabel = mac_mbuf_to_label(m); MAC_IFNET_LOCK(ifp, locked); - MAC_POLICY_PERFORM_NOSLEEP(netinet_arp_send, ifp, ifp->if_label, m, - mlabel); + MAC_POLICY_PERFORM_NOSLEEP(netinet_arp_send, ifp, if_getmaclabel(ifp), + m, mlabel); MAC_IFNET_UNLOCK(ifp, locked); } @@ -319,8 +319,8 @@ mac_netinet_igmp_send(struct ifnet *ifp, struct mbuf *m) mlabel = mac_mbuf_to_label(m); MAC_IFNET_LOCK(ifp, locked); - MAC_POLICY_PERFORM_NOSLEEP(netinet_igmp_send, ifp, ifp->if_label, m, - mlabel); + MAC_POLICY_PERFORM_NOSLEEP(netinet_igmp_send, ifp, if_getmaclabel(ifp), + m, mlabel); MAC_IFNET_UNLOCK(ifp, locked); } diff --git a/sys/security/mac/mac_inet6.c b/sys/security/mac/mac_inet6.c index a080a74b17a3..cb0812bab785 100644 --- a/sys/security/mac/mac_inet6.c +++ b/sys/security/mac/mac_inet6.c @@ -183,6 +183,6 @@ mac_netinet6_nd6_send(struct ifnet *ifp, struct mbuf *m) mlabel = mac_mbuf_to_label(m); - MAC_POLICY_PERFORM_NOSLEEP(netinet6_nd6_send, ifp, ifp->if_label, m, + MAC_POLICY_PERFORM_NOSLEEP(netinet6_nd6_send, ifp, if_getmaclabel(ifp), m, mlabel); } diff --git a/sys/security/mac/mac_net.c b/sys/security/mac/mac_net.c index 372619c7b583..c21918c99e3e 100644 --- a/sys/security/mac/mac_net.c +++ b/sys/security/mac/mac_net.c @@ -143,9 +143,9 @@ mac_ifnet_init(struct ifnet *ifp) { if (mac_labeled & MPC_OBJECT_IFNET) - ifp->if_label = mac_ifnet_label_alloc(); + if_setmaclabel(ifp, mac_ifnet_label_alloc()); else - ifp->if_label = NULL; + if_setmaclabel(ifp, NULL); } int @@ -220,10 +220,10 @@ mac_ifnet_label_free(struct label *label) void mac_ifnet_destroy(struct ifnet *ifp) { - - if (ifp->if_label != NULL) { - mac_ifnet_label_free(ifp->if_label); - ifp->if_label = NULL; + struct label *label = if_getmaclabel(ifp); + if (label != NULL) { + mac_ifnet_label_free(label); + if_setmaclabel(ifp, NULL); } } @@ -308,7 +308,7 @@ mac_ifnet_create(struct ifnet *ifp) return; MAC_IFNET_LOCK(ifp, locked); - MAC_POLICY_PERFORM_NOSLEEP(ifnet_create, ifp, ifp->if_label); + MAC_POLICY_PERFORM_NOSLEEP(ifnet_create, ifp, if_getmaclabel(ifp)); MAC_IFNET_UNLOCK(ifp, locked); } @@ -345,7 +345,7 @@ mac_ifnet_create_mbuf_impl(struct ifnet *ifp, struct mbuf *m) label = mac_mbuf_to_label(m); MAC_IFNET_LOCK(ifp, locked); - MAC_POLICY_PERFORM_NOSLEEP(ifnet_create_mbuf, ifp, ifp->if_label, m, + MAC_POLICY_PERFORM_NOSLEEP(ifnet_create_mbuf, ifp, if_getmaclabel(ifp), m, label); MAC_IFNET_UNLOCK(ifp, locked); } @@ -366,7 +366,7 @@ mac_bpfdesc_check_receive(struct bpf_d *d, struct ifnet *ifp) MAC_IFNET_LOCK(ifp, locked); MAC_POLICY_CHECK_NOSLEEP(bpfdesc_check_receive, d, d->bd_label, ifp, - ifp->if_label); + if_getmaclabel(ifp)); MAC_CHECK_PROBE2(bpfdesc_check_receive, error, d, ifp); MAC_IFNET_UNLOCK(ifp, locked); @@ -387,7 +387,7 @@ mac_ifnet_check_transmit_impl(struct ifnet *ifp, struct mbuf *m) label = mac_mbuf_to_label(m); MAC_IFNET_LOCK(ifp, locked); - MAC_POLICY_CHECK_NOSLEEP(ifnet_check_transmit, ifp, ifp->if_label, m, + MAC_POLICY_CHECK_NOSLEEP(ifnet_check_transmit, ifp, if_getmaclabel(ifp), m, label); MAC_CHECK_PROBE2(ifnet_check_transmit, error, ifp, m); MAC_IFNET_UNLOCK(ifp, locked); @@ -425,7 +425,7 @@ mac_ifnet_ioctl_get(struct ucred *cred, struct ifreq *ifr, buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); intlabel = mac_ifnet_label_alloc(); MAC_IFNET_LOCK(ifp, locked); - mac_ifnet_copy_label(ifp->if_label, intlabel); + mac_ifnet_copy_label(if_getmaclabel(ifp), intlabel); MAC_IFNET_UNLOCK(ifp, locked); error = mac_ifnet_externalize_label(intlabel, elements, buffer, mac.m_buflen); @@ -486,14 +486,14 @@ mac_ifnet_ioctl_set(struct ucred *cred, struct ifreq *ifr, struct ifnet *ifp) MAC_IFNET_LOCK(ifp, locked); MAC_POLICY_CHECK_NOSLEEP(ifnet_check_relabel, cred, ifp, - ifp->if_label, intlabel); + if_getmaclabel(ifp), intlabel); if (error) { MAC_IFNET_UNLOCK(ifp, locked); mac_ifnet_label_free(intlabel); return (error); } - MAC_POLICY_PERFORM_NOSLEEP(ifnet_relabel, cred, ifp, ifp->if_label, + MAC_POLICY_PERFORM_NOSLEEP(ifnet_relabel, cred, ifp, if_getmaclabel(ifp), intlabel); MAC_IFNET_UNLOCK(ifp, locked); diff --git a/sys/security/mac_biba/mac_biba.c b/sys/security/mac_biba/mac_biba.c index 08df65cc289d..d011f7e19a56 100644 --- a/sys/security/mac_biba/mac_biba.c +++ b/sys/security/mac_biba/mac_biba.c @@ -1064,7 +1064,7 @@ biba_ifnet_create(struct ifnet *ifp, struct label *ifplabel) dest = SLOT(ifplabel); - if (ifp->if_type == IFT_LOOP || interfaces_equal != 0) { + if (if_gettype(ifp) == IFT_LOOP || interfaces_equal != 0) { type = MAC_BIBA_TYPE_EQUAL; goto set; } @@ -1091,7 +1091,7 @@ biba_ifnet_create(struct ifnet *ifp, struct label *ifplabel) if (len < IFNAMSIZ) { bzero(tifname, sizeof(tifname)); bcopy(q, tifname, len); - if (strcmp(tifname, ifp->if_xname) == 0) { + if (strcmp(tifname, if_name(ifp)) == 0) { type = MAC_BIBA_TYPE_HIGH; break; } diff --git a/sys/security/mac_ifoff/mac_ifoff.c b/sys/security/mac_ifoff/mac_ifoff.c index a19ddd34b22b..b52a70d3c7bf 100644 --- a/sys/security/mac_ifoff/mac_ifoff.c +++ b/sys/security/mac_ifoff/mac_ifoff.c @@ -90,10 +90,10 @@ ifnet_check_outgoing(struct ifnet *ifp) if (!ifoff_enabled) return (0); - if (ifoff_lo_enabled && ifp->if_type == IFT_LOOP) + if (ifoff_lo_enabled && if_gettype(ifp) == IFT_LOOP) return (0); - if (ifoff_other_enabled && ifp->if_type != IFT_LOOP) + if (ifoff_other_enabled && if_gettype(ifp) != IFT_LOOP) return (0); return (EPERM); @@ -105,10 +105,10 @@ ifnet_check_incoming(struct ifnet *ifp, int viabpf) if (!ifoff_enabled) return (0); - if (ifoff_lo_enabled && ifp->if_type == IFT_LOOP) + if (ifoff_lo_enabled && if_gettype(ifp) == IFT_LOOP) return (0); - if (ifoff_other_enabled && ifp->if_type != IFT_LOOP) + if (ifoff_other_enabled && if_gettype(ifp) != IFT_LOOP) return (0); if (viabpf && ifoff_bpfrecv_enabled) diff --git a/sys/security/mac_lomac/mac_lomac.c b/sys/security/mac_lomac/mac_lomac.c index dffd06d964a2..2384b590d1c8 100644 --- a/sys/security/mac_lomac/mac_lomac.c +++ b/sys/security/mac_lomac/mac_lomac.c @@ -1188,7 +1188,7 @@ lomac_ifnet_create(struct ifnet *ifp, struct label *ifplabel) dest = SLOT(ifplabel); - if (ifp->if_type == IFT_LOOP) { + if (if_gettype(ifp) == IFT_LOOP) { grade = MAC_LOMAC_TYPE_EQUAL; goto set; } @@ -1215,7 +1215,7 @@ lomac_ifnet_create(struct ifnet *ifp, struct label *ifplabel) if (len < IFNAMSIZ) { bzero(tifname, sizeof(tifname)); bcopy(q, tifname, len); - if (strcmp(tifname, ifp->if_xname) == 0) { + if (strcmp(tifname, if_name(ifp)) == 0) { grade = MAC_LOMAC_TYPE_HIGH; break; } diff --git a/sys/security/mac_mls/mac_mls.c b/sys/security/mac_mls/mac_mls.c index da9ed8a3e141..94d907efc7f1 100644 --- a/sys/security/mac_mls/mac_mls.c +++ b/sys/security/mac_mls/mac_mls.c @@ -1024,7 +1024,7 @@ mls_ifnet_create(struct ifnet *ifp, struct label *ifplabel) dest = SLOT(ifplabel); - if (ifp->if_type == IFT_LOOP) + if (if_gettype(ifp) == IFT_LOOP) type = MAC_MLS_TYPE_EQUAL; else type = MAC_MLS_TYPE_LOW; From nobody Tue Jan 31 20:03:16 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5ww44tLNz3c8Tp; Tue, 31 Jan 2023 20:03: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 4P5ww43rM3z3CrK; Tue, 31 Jan 2023 20:03:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pCP+owLcmq5ozTiEsZf00g8pv0H0YFhoFF3heh6gudI=; b=FEg59b7EqYfYaCtLVBeZD0Bf3StawxDwtTJYUn4mTutRwRklQ3UfVVd2DCUkcLsx3c/jv6 sLZ6J2J726CukFVdR8P9rQHa4Ph4SWzk1mZwcD40Vh8m2P8/AlGkjedSwOU/mYaXthtAqa igx0vC2RZ0y6hkASVRl8DIqC13acTt4tPxMoUcI3L9SuXIh08Q1RiUActpSQGojKzmwfpn T7KAcH3i2BpYQ9fZAciDWbaRyTlI1e3jDRh2VN1d3gEvPucdh+NPF4QR4rSNRtdLh8totp o/dAhcr2BJbBOKbrOchVDrznoSnbJ7igpwyS5hN9CfbIq6MO4CASrYkulU4MmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pCP+owLcmq5ozTiEsZf00g8pv0H0YFhoFF3heh6gudI=; b=P4qknnwVGUdip0CZlJdujoxYFbaTZd5JZQUEV8f1oJnshwTykezq9j9cXsFr3Fnq/0JUst lAFs+oFW2zxLlYjyDxMIHymxBqqgo/DeTNi2gywYUvQoqFxozcdR3YMHPsfMer8B/jHtmE q3is/78MBteL2XwKbl8dgYXq2YJGsATaKI4+dg59rN70uE1acYKVK25F3cWNy3mHaXYgP+ Wg4SG7VkXw3nc/D5mW7FosWzZoAxIZ9O8D3x2076SBf7g5oSCnBMTBQFT+mSCUFzTPdxpE BxOGNQQ+KwQfs/8DgjFn1JWq3Mg3odYJMyxRCd+5s6g4qWu27jydAqJyPM6ZJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195396; a=rsa-sha256; cv=none; b=LHWdn4KNeP1dAxjWA8Y2TRVNm4A6bFQFqTN+xg1b7ZLf1wiU+9baA5Vx5GBgz1OnMo6Gwu XAHERHl86MGRdQMkGrMkG0ZbJjqFt0HLRmiPppBvRMHWlgLl7cBm7OKKGwt3KSp2+GbVQb 43y3Zt7rUGZ4gjgenXRuUKXBI8p5d463FGK8UrhnbXGtFXX+651X1z48u4SoZCVTlwizCl WLkNUa5JrFShCdHXQshFgu2yyetu2g3naGCRydeeOzJuxFPP4/wxoV2EgwWxqOL0ljWdGg 9NXOWdCkP1roBNnKAVsw4Bhrmz3/93KtQlf6b1nQqUiDEw38QuQd7lO8wAMgTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5ww42bx3z129m; Tue, 31 Jan 2023 20:03:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3G0G024920; Tue, 31 Jan 2023 20:03:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3GsV024919; Tue, 31 Jan 2023 20:03:16 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:16 GMT Message-Id: <202301312003.30VK3GsV024919@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3d0d5b21c9b2 - main - IfAPI: Explicitly include in netstack List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3d0d5b21c9b2cfd7e48209340a090f63ca4bce03 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3d0d5b21c9b2cfd7e48209340a090f63ca4bce03 commit 3d0d5b21c9b2cfd7e48209340a090f63ca4bce03 Author: Justin Hibbits AuthorDate: 2023-01-23 15:05:29 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:16 +0000 IfAPI: Explicitly include in netstack Summary: In preparation of making if_t completely opaque outside of the netstack, explicitly include the header. will stop including the header in the future. Sponsored by: Juniper Networks, Inc. Reviewed by: glebius, melifaro Differential Revision: https://reviews.freebsd.org/D38200 --- sys/net/ifdi_if.m | 1 + sys/net/ifq.c | 1 + sys/net80211/ieee80211.c | 1 + sys/net80211/ieee80211_adhoc.c | 1 + sys/net80211/ieee80211_ddb.c | 6 +++--- sys/net80211/ieee80211_freebsd.c | 1 + sys/net80211/ieee80211_hostap.c | 1 + sys/net80211/ieee80211_input.c | 1 + sys/net80211/ieee80211_ioctl.c | 1 + sys/net80211/ieee80211_mesh.c | 1 + sys/net80211/ieee80211_output.c | 1 + sys/net80211/ieee80211_proto.c | 1 + sys/net80211/ieee80211_scan.c | 1 + sys/net80211/ieee80211_scan_sw.c | 1 + sys/net80211/ieee80211_sta.c | 1 + sys/net80211/ieee80211_wds.c | 1 + sys/netgraph/netflow/netflow.c | 1 + sys/netgraph/netflow/ng_netflow.c | 1 + sys/netgraph/ng_eiface.c | 1 + sys/netgraph/ng_ether.c | 1 + sys/netgraph/ng_gif.c | 1 + sys/netgraph/ng_iface.c | 1 + sys/netgraph/ng_source.c | 1 + sys/netinet/if_ether.c | 1 + sys/netinet/igmp.c | 1 + sys/netinet/in.c | 1 + sys/netinet/in_fib.c | 1 + sys/netinet/in_gif.c | 1 + sys/netinet/in_mcast.c | 1 + sys/netinet/in_pcb.c | 1 + sys/netinet/in_rmx.c | 1 + sys/netinet/ip_carp.c | 1 + sys/netinet/ip_divert.c | 1 + sys/netinet/ip_fastfwd.c | 1 + sys/netinet/ip_gre.c | 1 + sys/netinet/ip_icmp.c | 1 + sys/netinet/ip_input.c | 1 + sys/netinet/ip_mroute.c | 1 + sys/netinet/ip_output.c | 1 + sys/netinet/ip_reass.c | 1 + sys/netinet/netdump/netdump_client.c | 1 + sys/netinet/sctp_os_bsd.h | 1 + sys/netinet/tcp_lro.c | 1 + sys/netinet/tcp_offload.c | 1 + sys/netinet/tcp_ratelimit.c | 1 + sys/netinet/tcp_stacks/rack_bbr_common.c | 1 + sys/netinet/tcp_subr.c | 1 + sys/netinet/toecore.c | 1 + sys/netinet6/frag6.c | 1 + sys/netinet6/icmp6.c | 1 + sys/netinet6/in6.c | 1 + sys/netinet6/in6_fib.c | 1 + sys/netinet6/in6_gif.c | 1 + sys/netinet6/in6_ifattach.c | 1 + sys/netinet6/in6_mcast.c | 1 + sys/netinet6/in6_rmx.c | 1 + sys/netinet6/in6_src.c | 1 + sys/netinet6/ip6_fastfwd.c | 1 + sys/netinet6/ip6_forward.c | 1 + sys/netinet6/ip6_gre.c | 1 + sys/netinet6/ip6_mroute.c | 1 + sys/netinet6/ip6_output.c | 1 + sys/netinet6/mld6.c | 1 + sys/netinet6/nd6.c | 1 + sys/netinet6/nd6.h | 2 +- sys/netinet6/nd6_nbr.c | 1 + sys/netinet6/nd6_rtr.c | 1 + sys/netinet6/raw_ip6.c | 1 + sys/netinet6/scope6.c | 1 + sys/netinet6/send.c | 1 + sys/netipsec/ipsec_input.c | 1 + sys/netpfil/ipfilter/netinet/ip_compat.h | 1 + sys/netpfil/ipfilter/netinet/ip_log.c | 1 + sys/netpfil/ipfw/ip_dn_io.c | 1 + sys/netpfil/ipfw/ip_fw2.c | 1 + sys/netpfil/ipfw/ip_fw_bpf.c | 1 + sys/netpfil/ipfw/ip_fw_iface.c | 1 + sys/netpfil/ipfw/ip_fw_log.c | 1 + sys/netpfil/ipfw/ip_fw_nat.c | 1 + sys/netpfil/ipfw/nat64/nat64_translate.c | 1 + sys/netpfil/ipfw/nptv6/nptv6.c | 1 + sys/netpfil/pf/if_pflog.c | 1 + sys/netpfil/pf/if_pfsync.c | 1 + sys/netpfil/pf/pf.c | 1 + sys/netpfil/pf/pf_if.c | 1 + sys/netpfil/pf/pf_ioctl.c | 1 + 86 files changed, 88 insertions(+), 4 deletions(-) diff --git a/sys/net/ifdi_if.m b/sys/net/ifdi_if.m index 077b19dd7481..3a17f24fdf91 100644 --- a/sys/net/ifdi_if.m +++ b/sys/net/ifdi_if.m @@ -41,6 +41,7 @@ #include #include #include +#include #include INTERFACE ifdi; diff --git a/sys/net/ifq.c b/sys/net/ifq.c index 0e3159a75d48..c09d962e206a 100644 --- a/sys/net/ifq.c +++ b/sys/net/ifq.c @@ -40,6 +40,7 @@ #include #include +#include #include int diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c index 1034088c6fb6..fbf3e1ca01c8 100644 --- a/sys/net80211/ieee80211.c +++ b/sys/net80211/ieee80211.c @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/net80211/ieee80211_adhoc.c b/sys/net80211/ieee80211_adhoc.c index f591015ab3e0..4789bdd65aa1 100644 --- a/sys/net80211/ieee80211_adhoc.c +++ b/sys/net80211/ieee80211_adhoc.c @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/net80211/ieee80211_ddb.c b/sys/net80211/ieee80211_ddb.c index af4f8ea74799..b0e037d492fd 100644 --- a/sys/net80211/ieee80211_ddb.c +++ b/sys/net80211/ieee80211_ddb.c @@ -364,7 +364,7 @@ _db_show_vap(const struct ieee80211vap *vap, int showmesh, int showprocs) db_printf("(%p)", vap->iv_mesh); #endif db_printf(" state %s", ieee80211_state_name[vap->iv_state]); - db_printf(" ifp %p(%s)", vap->iv_ifp, vap->iv_ifp->if_xname); + db_printf(" ifp %p(%s)", vap->iv_ifp, if_name(vap->iv_ifp)); db_printf("\n"); db_printf("\tic %p", vap->iv_ic); @@ -540,7 +540,7 @@ _db_show_com(const struct ieee80211com *ic, int showvaps, int showsta, db_printf("COM: %p:", ic); TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) - db_printf(" %s(%p)", vap->iv_ifp->if_xname, vap); + db_printf(" %s(%p)", if_name(vap->iv_ifp), vap); db_printf("\n"); db_printf("\tsoftc %p", ic->ic_softc); db_printf("\tname %s", ic->ic_name); @@ -706,7 +706,7 @@ _db_show_all_vaps(void *arg, struct ieee80211com *ic) const struct ieee80211vap *vap; db_printf("%s: com %p vaps:", ic->ic_name, ic); TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) - db_printf(" %s(%p)", vap->iv_ifp->if_xname, vap); + db_printf(" %s(%p)", if_name(vap->iv_ifp), vap); db_printf("\n"); } else _db_show_com(ic, 1, 1, 1, 1); diff --git a/sys/net80211/ieee80211_freebsd.c b/sys/net80211/ieee80211_freebsd.c index 7158ada291ab..93b01af1d222 100644 --- a/sys/net80211/ieee80211_freebsd.c +++ b/sys/net80211/ieee80211_freebsd.c @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index 6c3bb44053f5..12b34b2e0509 100644 --- a/sys/net80211/ieee80211_hostap.c +++ b/sys/net80211/ieee80211_hostap.c @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index b7d9c6f9457e..78483a3ad2e1 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c index 839f965f542f..0fbbb74e1e65 100644 --- a/sys/net80211/ieee80211_ioctl.c +++ b/sys/net80211/ieee80211_ioctl.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #ifdef INET diff --git a/sys/net80211/ieee80211_mesh.c b/sys/net80211/ieee80211_mesh.c index f4f0d79b3ac3..100a0a385f84 100644 --- a/sys/net80211/ieee80211_mesh.c +++ b/sys/net80211/ieee80211_mesh.c @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index 07cc8ed1c3ed..bf3e48761684 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index 7e76a3ae9226..ec94f2cf7275 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include /* XXX for ether_sprintf */ #include diff --git a/sys/net80211/ieee80211_scan.c b/sys/net80211/ieee80211_scan.c index 50b3151063fa..fd387e68e39f 100644 --- a/sys/net80211/ieee80211_scan.c +++ b/sys/net80211/ieee80211_scan.c @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/net80211/ieee80211_scan_sw.c b/sys/net80211/ieee80211_scan_sw.c index 4c184095ad35..1456fafd60a1 100644 --- a/sys/net80211/ieee80211_scan_sw.c +++ b/sys/net80211/ieee80211_scan_sw.c @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/net80211/ieee80211_sta.c b/sys/net80211/ieee80211_sta.c index 719df1bcfacc..7dde2a609459 100644 --- a/sys/net80211/ieee80211_sta.c +++ b/sys/net80211/ieee80211_sta.c @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/net80211/ieee80211_wds.c b/sys/net80211/ieee80211_wds.c index 238b10a6e4ff..65a36a807d91 100644 --- a/sys/net80211/ieee80211_wds.c +++ b/sys/net80211/ieee80211_wds.c @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/netgraph/netflow/netflow.c b/sys/netgraph/netflow/netflow.c index 9c58674779ae..00fb0d9f68a7 100644 --- a/sys/netgraph/netflow/netflow.c +++ b/sys/netgraph/netflow/netflow.c @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netgraph/netflow/ng_netflow.c b/sys/netgraph/netflow/ng_netflow.c index ab0aff5cf7fc..fbb232b327d8 100644 --- a/sys/netgraph/netflow/ng_netflow.c +++ b/sys/netgraph/netflow/ng_netflow.c @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netgraph/ng_eiface.c b/sys/netgraph/ng_eiface.c index 5b12ecc70c11..1f4699d71fcb 100644 --- a/sys/netgraph/ng_eiface.c +++ b/sys/netgraph/ng_eiface.c @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c index 40e06604b8bb..b3f1e8762b3d 100644 --- a/sys/netgraph/ng_ether.c +++ b/sys/netgraph/ng_ether.c @@ -63,6 +63,7 @@ #include #include #include +#include #include #include #include diff --git a/sys/netgraph/ng_gif.c b/sys/netgraph/ng_gif.c index d4cb8922d1d6..aa2e57384b1e 100644 --- a/sys/netgraph/ng_gif.c +++ b/sys/netgraph/ng_gif.c @@ -84,6 +84,7 @@ #include #include #include +#include #include #include diff --git a/sys/netgraph/ng_iface.c b/sys/netgraph/ng_iface.c index e6871435fa88..2ba7a788633f 100644 --- a/sys/netgraph/ng_iface.c +++ b/sys/netgraph/ng_iface.c @@ -74,6 +74,7 @@ #include #include +#include #include #include #include diff --git a/sys/netgraph/ng_source.c b/sys/netgraph/ng_source.c index 0eee9ceb25c5..c04f477cd7f2 100644 --- a/sys/netgraph/ng_source.c +++ b/sys/netgraph/ng_source.c @@ -68,6 +68,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index 1c6c35f180aa..711f2ce153a8 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet/igmp.c b/sys/netinet/igmp.c index cebde1798c6d..394ee81d6941 100644 --- a/sys/netinet/igmp.c +++ b/sys/netinet/igmp.c @@ -72,6 +72,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include diff --git a/sys/netinet/in.c b/sys/netinet/in.c index b6b412042dad..a17e3cac8744 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet/in_fib.c b/sys/netinet/in_fib.c index 6f0e95bcf117..d84997deb29b 100644 --- a/sys/netinet/in_fib.c +++ b/sys/netinet/in_fib.c @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet/in_gif.c b/sys/netinet/in_gif.c index 6290de6cb31e..e43b4c645372 100644 --- a/sys/netinet/in_gif.c +++ b/sys/netinet/in_gif.c @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c index b2bfce038088..bbedbf8ceaa3 100644 --- a/sys/netinet/in_mcast.c +++ b/sys/netinet/in_mcast.c @@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index e7f425f8593a..0a99981d059b 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -78,6 +78,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet/in_rmx.c b/sys/netinet/in_rmx.c index 623e788eec91..8c3974e15ba3 100644 --- a/sys/netinet/in_rmx.c +++ b/sys/netinet/in_rmx.c @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 3846576b4482..22b256238774 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c index dd76a1792325..e570418ebc8e 100644 --- a/sys/netinet/ip_divert.c +++ b/sys/netinet/ip_divert.c @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include diff --git a/sys/netinet/ip_fastfwd.c b/sys/netinet/ip_fastfwd.c index ee97cb4af65a..121db3ddee3a 100644 --- a/sys/netinet/ip_fastfwd.c +++ b/sys/netinet/ip_fastfwd.c @@ -86,6 +86,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet/ip_gre.c b/sys/netinet/ip_gre.c index 12c13cbce2e7..f4be4252a822 100644 --- a/sys/netinet/ip_gre.c +++ b/sys/netinet/ip_gre.c @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index c108a8f3ab05..98f290486ec5 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c index b33d1e1b6697..b8fb3861c5b8 100644 --- a/sys/netinet/ip_input.c +++ b/sys/netinet/ip_input.c @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index 383f2dfc076e..6cabef8a1b16 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 375db580296e..739138a6f791 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet/ip_reass.c b/sys/netinet/ip_reass.c index 06cdbca2961c..5209dfb0d1cb 100644 --- a/sys/netinet/ip_reass.c +++ b/sys/netinet/ip_reass.c @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet/netdump/netdump_client.c b/sys/netinet/netdump/netdump_client.c index 95795c73f8d6..c2f10ba52253 100644 --- a/sys/netinet/netdump/netdump_client.c +++ b/sys/netinet/netdump/netdump_client.c @@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/netinet/sctp_os_bsd.h b/sys/netinet/sctp_os_bsd.h index d9b5c140f14c..80c187b3c5ef 100644 --- a/sys/netinet/sctp_os_bsd.h +++ b/sys/netinet/sctp_os_bsd.h @@ -73,6 +73,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet/tcp_lro.c b/sys/netinet/tcp_lro.c index 268be18edb37..f44d1a0848c3 100644 --- a/sys/netinet/tcp_lro.c +++ b/sys/netinet/tcp_lro.c @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet/tcp_offload.c b/sys/netinet/tcp_offload.c index b93d6027a01e..102a4935631c 100644 --- a/sys/netinet/tcp_offload.c +++ b/sys/netinet/tcp_offload.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet/tcp_ratelimit.c b/sys/netinet/tcp_ratelimit.c index ca619e66c07d..82aea5bdf0de 100644 --- a/sys/netinet/tcp_ratelimit.c +++ b/sys/netinet/tcp_ratelimit.c @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #define TCPSTATES /* for logging */ diff --git a/sys/netinet/tcp_stacks/rack_bbr_common.c b/sys/netinet/tcp_stacks/rack_bbr_common.c index d684132f80c3..83b3d74b8dcc 100644 --- a/sys/netinet/tcp_stacks/rack_bbr_common.c +++ b/sys/netinet/tcp_stacks/rack_bbr_common.c @@ -110,6 +110,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #if defined(IPSEC) || defined(IPSEC_SUPPORT) #include diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 99fcd1f90a8a..01fd5eed34c8 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -75,6 +75,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/netinet/toecore.c b/sys/netinet/toecore.c index 39423a425b36..c6af4a00c6c3 100644 --- a/sys/netinet/toecore.c +++ b/sys/netinet/toecore.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c index 9f12d4d691b6..d634f869acd5 100644 --- a/sys/netinet6/frag6.c +++ b/sys/netinet6/frag6.c @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 2cd54abbb76e..5c94a0c56be1 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -91,6 +91,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 0a00ea6b8be4..27dc3550177c 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -88,6 +88,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet6/in6_fib.c b/sys/netinet6/in6_fib.c index 8a0760aff02a..34aff5feda8e 100644 --- a/sys/netinet6/in6_fib.c +++ b/sys/netinet6/in6_fib.c @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet6/in6_gif.c b/sys/netinet6/in6_gif.c index 54cb81c6130f..04f136b6bed5 100644 --- a/sys/netinet6/in6_gif.c +++ b/sys/netinet6/in6_gif.c @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c index 629509f61ac1..b0b2e4e95985 100644 --- a/sys/netinet6/in6_ifattach.c +++ b/sys/netinet6/in6_ifattach.c @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet6/in6_mcast.c b/sys/netinet6/in6_mcast.c index 04c4f1aa9d93..4a141d984715 100644 --- a/sys/netinet6/in6_mcast.c +++ b/sys/netinet6/in6_mcast.c @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet6/in6_rmx.c b/sys/netinet6/in6_rmx.c index 5cd401611db9..7a1ca781d712 100644 --- a/sys/netinet6/in6_rmx.c +++ b/sys/netinet6/in6_rmx.c @@ -78,6 +78,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet6/in6_src.c b/sys/netinet6/in6_src.c index 7188282013cc..373f80b7ac19 100644 --- a/sys/netinet6/in6_src.c +++ b/sys/netinet6/in6_src.c @@ -88,6 +88,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet6/ip6_fastfwd.c b/sys/netinet6/ip6_fastfwd.c index e1c30629643e..7ecd08a4e450 100644 --- a/sys/netinet6/ip6_fastfwd.c +++ b/sys/netinet6/ip6_fastfwd.c @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet6/ip6_forward.c b/sys/netinet6/ip6_forward.c index 39c93ac35427..a95e58ba09a1 100644 --- a/sys/netinet6/ip6_forward.c +++ b/sys/netinet6/ip6_forward.c @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet6/ip6_gre.c b/sys/netinet6/ip6_gre.c index 2bae6d754a03..8c9f7f5f668c 100644 --- a/sys/netinet6/ip6_gre.c +++ b/sys/netinet6/ip6_gre.c @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include diff --git a/sys/netinet6/ip6_mroute.c b/sys/netinet6/ip6_mroute.c index 9465c6662018..e690cb64894f 100644 --- a/sys/netinet6/ip6_mroute.c +++ b/sys/netinet6/ip6_mroute.c @@ -108,6 +108,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index ebb7f7bc6ed1..bce5ed846227 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -92,6 +92,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet6/mld6.c b/sys/netinet6/mld6.c index f20348f653ef..63f4e33ac64d 100644 --- a/sys/netinet6/mld6.c +++ b/sys/netinet6/mld6.c @@ -84,6 +84,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index de35127bd17d..082266c84294 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/netinet6/nd6.h b/sys/netinet6/nd6.h index d653a432dbe4..76e91905bf5e 100644 --- a/sys/netinet6/nd6.h +++ b/sys/netinet6/nd6.h @@ -99,7 +99,7 @@ struct nd_ifinfo { #ifdef _KERNEL #define ND_IFINFO(ifp) \ - (((struct in6_ifextra *)(ifp)->if_afdata[AF_INET6])->nd_ifinfo) + (((struct in6_ifextra *)if_getafdata(ifp, AF_INET6))->nd_ifinfo) #define IN6_LINKMTU(ifp) \ ((ND_IFINFO(ifp)->linkmtu && ND_IFINFO(ifp)->linkmtu < (ifp)->if_mtu) \ ? ND_IFINFO(ifp)->linkmtu \ diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index cd7119c9ccbc..a4fb5f75fa93 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c index 793befc47aa5..dbdf12d310c6 100644 --- a/sys/netinet6/nd6_rtr.c +++ b/sys/netinet6/nd6_rtr.c @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet6/raw_ip6.c b/sys/netinet6/raw_ip6.c index 0ae5bbcc9218..9cfbbaedf51c 100644 --- a/sys/netinet6/raw_ip6.c +++ b/sys/netinet6/raw_ip6.c @@ -86,6 +86,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include diff --git a/sys/netinet6/scope6.c b/sys/netinet6/scope6.c index 7957cec44f79..c4eb9a4ab829 100644 --- a/sys/netinet6/scope6.c +++ b/sys/netinet6/scope6.c @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include diff --git a/sys/netinet6/send.c b/sys/netinet6/send.c index 0684e2eea22c..6d3496f5b1af 100644 --- a/sys/netinet6/send.c +++ b/sys/netinet6/send.c @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/netipsec/ipsec_input.c b/sys/netipsec/ipsec_input.c index 9feb0df8bd15..7abf74426853 100644 --- a/sys/netipsec/ipsec_input.c +++ b/sys/netipsec/ipsec_input.c @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/netpfil/ipfilter/netinet/ip_compat.h b/sys/netpfil/ipfilter/netinet/ip_compat.h index 170326dc33f1..8266f22a63a3 100644 --- a/sys/netpfil/ipfilter/netinet/ip_compat.h +++ b/sys/netpfil/ipfilter/netinet/ip_compat.h @@ -135,6 +135,7 @@ rw_runlock(&(x)->ipf_lk); \ *** 174 LINES SKIPPED *** From nobody Tue Jan 31 20:03:17 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5ww56Hqnz3c888; Tue, 31 Jan 2023 20:03: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 4P5ww550XPz3Crr; Tue, 31 Jan 2023 20:03:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uDPqowBnSSQuc+3rlDPGMNd217UBKWqO/g7lX9U0w/U=; b=iW1YxLJeCKYbJR/Bfyj4C5XLd0ElOeIoMrJ4W7ADy5uLdxRVsHA2ERbsI45fiZkqNI+rpq 984brgZKpRzrGuUgEmOCArAb1jMXVeRvk2ysKjN9CGe6PfRVjAtg3aPJ5o0TypLKQIEki/ Nf3IjFOJHtJbzY08liAJjEGaEHU0ST4I7tr8kIPtmbQEIbxbmMHyzepcA0UM6OAIzYXK6c wral3uGRMeQUaNgkzki2ZPTg/YrEtNi/g58AZmjeI8TY0yiPQjq08wY7SwdJz+56aDVBJr Nn3RFJMPH+XeEsJ31kd8AUnq2yXBROo08FS/HB/wRGGUkyRXfUvNHl2r8yBJjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uDPqowBnSSQuc+3rlDPGMNd217UBKWqO/g7lX9U0w/U=; b=DTrx149EU3POoL8wirbRCfa8ZwxBM7xurK/xiYaLHcTZXKRhNMLXNkZ8nkTpKK33CvuewR Su4Bn9N0iwmNTy/oikoDlP+H+spCEXnHzhi+LRT5wGK+wShH2/KHZRV9a7M+WF6+9zgR/w yQ0K5zQxINCs1LuRWsiT6xx8SywLJQxkL6rVZDkGOPsBdLamNvcWSY392Zy+qjsmh3BNl0 ZgnyCH1CNj2K7X0OefkzYH5mp6h2L6DjljwpNSqP/PescWjGcUNdfapntYSqIyordhB8oD a+uerUXgRFzl5lK40FLhYMDib24X8RkpHkVILTJKiyX5faeOKD2iEH3PL2+mXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195397; a=rsa-sha256; cv=none; b=hG1nF1amm282lnNyTA+q0f7Bxmtc44nYb8njZz2iPxRtkdoSPpdAdyoCL+rAIqxhZr/Gh1 zR/gBYZncBIwsHFypDM8CXJOCGurLpC2GKxyfSjswWLUbQO7+QHfKZU6DjGKQh+3OvNpyl x6e2GP+N4rS7Krb1EL2OhJ3m/BudPw8Ccj91EUoOGBG0Y79uFhbic5ZWLhyQZktPm1Kvim 6ndi40BQU0ChemVi2XNV8627W4o3TeCn4Unooqwv7bGX8ycvpD6MtNHOepEANVkTl4d2e7 OH2UKlYVKlngLS+ek4E8Lo+4683R6csdc1dx0iZsAh1QQn5tIZqG0wV8kU93sQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5ww53VB4z11dN; Tue, 31 Jan 2023 20:03:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3HIN024944; Tue, 31 Jan 2023 20:03:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3HEg024943; Tue, 31 Jan 2023 20:03:17 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:17 GMT Message-Id: <202301312003.30VK3HEg024943@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: c255d1a401c7 - main - IfAPI: Add if_llsoftc member accessors for TOEDEV List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c255d1a401c7ed736ba6bb7894deda584356bfaf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=c255d1a401c7ed736ba6bb7894deda584356bfaf commit c255d1a401c7ed736ba6bb7894deda584356bfaf Author: Justin Hibbits AuthorDate: 2023-01-23 15:11:02 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:16 +0000 IfAPI: Add if_llsoftc member accessors for TOEDEV Summary: Keep TOEDEV() macro for backwards compatibility, and add a SETTOEDEV() macro to complement with the new accessors. Sponsored by: Juniper Networks, Inc. Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D38199 --- sys/dev/cxgbe/tom/t4_tom.c | 2 +- sys/net/if.c | 12 ++++++++++++ sys/net/if_var.h | 5 ++++- sys/net/if_vlan.c | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/sys/dev/cxgbe/tom/t4_tom.c b/sys/dev/cxgbe/tom/t4_tom.c index 869373515a3a..aae78d99abef 100644 --- a/sys/dev/cxgbe/tom/t4_tom.c +++ b/sys/dev/cxgbe/tom/t4_tom.c @@ -1901,7 +1901,7 @@ t4_tom_activate(struct adapter *sc) for_each_port(sc, i) { for_each_vi(sc->port[i], v, vi) { - TOEDEV(vi->ifp) = &td->tod; + SETTOEDEV(vi->ifp, &td->tod); } } diff --git a/sys/net/if.c b/sys/net/if.c index a6cf6d050875..1a42b562190d 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4827,6 +4827,18 @@ if_gettype(if_t ifp) return (ifp->if_type); } +void * +if_getllsoftc(if_t ifp) +{ + return (ifp->if_llsoftc); +} + +void +if_setllsoftc(if_t ifp, void *llsoftc) +{ + ifp->if_llsoftc = llsoftc; +}; + #ifdef DDB static void if_show_ifnet(struct ifnet *ifp) diff --git a/sys/net/if_var.h b/sys/net/if_var.h index e9e6086bfa89..3b293cdff26f 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -412,7 +412,8 @@ EVENTHANDLER_DECLARE(group_change_event, group_change_event_handler_t); #define IF_MINMTU 72 #define IF_MAXMTU 65535 -#define TOEDEV(ifp) ((ifp)->if_llsoftc) +#define TOEDEV(ifp) if_getllsoftc(ifp) +#define SETTOEDEV(ifp, sc) if_setllsoftc((ifp), (sc)) /* * The ifaddr structure contains information about one address @@ -597,6 +598,8 @@ int if_togglehwassist(if_t ifp, int toggle_bits); int if_setsoftc(if_t ifp, void *softc); void *if_getsoftc(if_t ifp); int if_setflags(if_t ifp, int flags); +void if_setllsoftc(if_t ifp, void *softc); +void *if_getllsoftc(if_t ifp); int if_gethwaddr(const if_t ifp, struct ifreq *); int if_setmtu(if_t ifp, int mtu); int if_getmtu(const if_t ifp); diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index d908d97b6e6d..d8be44b105f1 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -1922,7 +1922,7 @@ vlan_capabilities(struct ifvlan *ifv) if (p->if_capabilities & IFCAP_VLAN_TOE) cap |= p->if_capabilities & IFCAP_TOE; if (p->if_capenable & IFCAP_VLAN_TOE) { - TOEDEV(ifp) = TOEDEV(p); + SETTOEDEV(ifp, TOEDEV(p)); ena |= mena & IFCAP_TOE; } From nobody Tue Jan 31 20:03:18 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5ww66HW3z3c8PV; Tue, 31 Jan 2023 20:03: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 4P5ww65STYz3CsN; Tue, 31 Jan 2023 20:03:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TojutR4JS7DmIzinHV3r9euDUM6Kv6esPMWmtB89sLY=; b=r2AkCSvlsLp+05N2gNHrp/JJ4tA94hZFxLFnM+gFn5JPkbzvseYto+bX1kneaEXzpnc7js OZg2Su1aAqct2OFz6ZsFBQwYGTP/F5zVURASiTXwDhymF6V6OFavdlLIWWxd1uwPLYtPl4 AP7j4NE696HUP/FjfEVp8SCZDiZOMudlQvEgd7nb9B3UeakCplA1LmJVUFohjp1dGRMC3L 4UK+/srlaCPQLxo/C6kQC7mv1Jxau9WRGwkOd/+qnfMbK2g8lcX5vbDXQRNk4W0KirhPtt Zf/ASdJ+l9pPA1Or+UB5ixQcXgGSeiqmy0IsKH6vm56nR7oyTvVpzsaKqH80Hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TojutR4JS7DmIzinHV3r9euDUM6Kv6esPMWmtB89sLY=; b=WS4/4iGK2TUFj19iIVbAMMLOSYekrcfgxi7V+y4LtmEZvhfEwuSzbpF0nE9AP2IwsjR4KW iTlffeixAFuv8H1kLud9OvNG29RfTV8QxVOWVCif4yjFD7cm2fo7ssr++9JRtfUJgwnhcL FreitLubpwUvi7AyVGSjSdkRIceeGLsginSKdwX0ZrCQ9039kfqfgitYdk1qK+GdzFwrBc JAkiyi8iXApqpgm+HyBnPKgVuuMjmhhPcvpkp1dgxr2dcBJ92WZwHlADEa4O+WphOG07ml SoCW3STj1UisUNrHOVaKB2o1l0JHNqvZVK1Fr/M6N6B6xvUTebP+I1h/60we3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195398; a=rsa-sha256; cv=none; b=i5SMlwiJd78JfKE8hzYNDCgT7ioJSVj7N3LC/pXViV7CtfETkoHZl9IE/VSTlisEacdO/+ g2GajD/jaFBai6/uSNNc1H1/Z9P0C8jyolWGeR6CEQoE7rLisjvbLOeWMPlYE78CUAAZC5 naiIFh++L6WWkoytZTelZivCZQQ61NIPlmRtBxtsD3Z6TJY5HYqQu9koWjASTiFeA/su4D AL0K21t1jSJRpIBdrGiGVIsPepGl3FzKSpiSzRLCLLVh1F1H9UpSV4xvuhUotgoYWrqxJz f44xpAbq4Km1D2S76UsxIFu++PyXyCEDp9A0BHueKlhJIn/YqaZP6tNhQBV4UQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5ww64Qwrz11kG; Tue, 31 Jan 2023 20:03:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3Im6024974; Tue, 31 Jan 2023 20:03:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3ICd024973; Tue, 31 Jan 2023 20:03:18 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:18 GMT Message-Id: <202301312003.30VK3ICd024973@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 9507d03bfe02 - main - IfAPI: Use the ifnet APIs in kern_poll() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9507d03bfe029c61f78854ed8579bda0e5620982 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=9507d03bfe029c61f78854ed8579bda0e5620982 commit 9507d03bfe029c61f78854ed8579bda0e5620982 Author: Justin Hibbits AuthorDate: 2023-01-24 21:27:24 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:16 +0000 IfAPI: Use the ifnet APIs in kern_poll() The only API used is if_name(). Sponsored by: Juniper Networks, Inc. --- sys/kern/kern_poll.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_poll.c b/sys/kern/kern_poll.c index fd1a30f0851f..8232f98f59ef 100644 --- a/sys/kern/kern_poll.c +++ b/sys/kern/kern_poll.c @@ -506,7 +506,7 @@ ether_poll_register(poll_handler_t *h, if_t ifp) if (pr[i].ifp == ifp && pr[i].handler != NULL) { mtx_unlock(&poll_mtx); log(LOG_DEBUG, "ether_poll_register: %s: handler" - " already registered\n", ifp->if_xname); + " already registered\n", if_name(ifp)); return (EEXIST); } @@ -536,7 +536,7 @@ ether_poll_deregister(if_t ifp) break; if (i == poll_handlers) { log(LOG_DEBUG, "ether_poll_deregister: %s: not found!\n", - ifp->if_xname); + if_name(ifp)); mtx_unlock(&poll_mtx); return (ENOENT); } From nobody Tue Jan 31 20:03:19 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5ww820yNz3c8RG; Tue, 31 Jan 2023 20:03: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 4P5ww76JHyz3CyJ; Tue, 31 Jan 2023 20:03:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xmsLXXz5KtwEePA1y1RIp9dbSm2630zj99zUZY7l35M=; b=KIqo9JMks+5gQ/FBFF4Hrz96eOoURlASuiU3E3Ckpi4I+8otDdq9OiAQH/k3BIuadPQHFL OgJDDCZwK+bi0vRD9wHDlvGQaoYIyAgVfWWMsT8kH8E2UWmgjxeRu0K41m60ddcm+YMPtY Fy9qAs3hUb2JNA6RgPiN1+dse6zqQphXBeNuE4sCXHsOPbxa5ti2ChlO74rcjzrcg84GuL FwV/RvjKez45sQcSaXaOzcGOG0OdNeVAMvm4pwTRP3PHR74ZtVMl27QV+5f2jG35R5c85F jqQ/JQDFS/lk4nDVHn+ltVfjla6NzL/lTeAsznacJkHPV64qTEAnnkDo4/26oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xmsLXXz5KtwEePA1y1RIp9dbSm2630zj99zUZY7l35M=; b=cxkJ2yvviNryG1Dy4OAU9aBwao9mWomIZGP9uZWFdVbJIyLjGsCLIvLIb48gBaUzKQD4Cp zzdpTp2KZ0fovxNxnC21MPZqqevu8TMmI1SF0SZET0fQjFJ7k0/vEvtq7aC3Dl003+XFaO aqJCM42RSbC+FwojaRxphCBnU+fL2+jEe2eMDBurbbiMwIaCVI4+XPUeEFpnZja7UKYczR gJplaVFQ1flE25P+HobQpXqVQuqNuCqq1UaPu26n6IMP07DSZJnaBttZjiTHBrxB5dMFVq DRhoxZ5BqG0jcoXruvzxczO8+3mLDz00tuNFLVMkEqUtUW0V53NoUK+jdQgI/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195399; a=rsa-sha256; cv=none; b=W/Q6xnwHxE12yoH/wXsKOIq5ldRlvF4Ov8ToDcSYIJgZZDlNabJYE7OH/J/Y5rVrLNTJdm 0XCfDUT/fo4S8ZgMAASNTXBuDvtjmXYvFhcz7PqBQCVI7OUC5ic2Noxb9N+ZGv2y2hX9o0 bIzCo389oiQdZaLs0eFEVqHHKT5Q/gA4cBNsxvBxJxDu4yUqLo1bGXz9bQEWzpiy+Rn+nQ P3XJhOIi88u5l4BPIa3TKhgP/752CDxeS1R6U2EU2HY0EzT6y5FQ3i5Ai7qIQdO5aQfF2M XsWVZ0n0K4q740Tz+vk6JN3/YvvVzqlsEwnsgj7G26K7BF3FmuL2LDmt49OjjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5ww75NWcz12KJ; Tue, 31 Jan 2023 20:03:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3JHi024998; Tue, 31 Jan 2023 20:03:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3JL1024997; Tue, 31 Jan 2023 20:03:19 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:19 GMT Message-Id: <202301312003.30VK3JL1024997@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 0d2684e15e41 - main - IfAPI: Add some more accessors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d2684e15e415cef652e0f75e88962a674bffe04 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=0d2684e15e415cef652e0f75e88962a674bffe04 commit 0d2684e15e415cef652e0f75e88962a674bffe04 Author: Justin Hibbits AuthorDate: 2023-01-24 21:12:08 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:17 +0000 IfAPI: Add some more accessors Summary: * if_setreassignfn for wireguard. * if_getinputfn() and if_getstartfn() for various drivers. Use the function descriptor typedefs for these and the setters. * vlantrunk accessor. This is used by VLAN_CAPABILITIES() used by several drivers, as well as directly by mxge(4). * if_pcp member accessor, used by cxgbe. * accessors for netmap adapter. Sponsored by: Juniper Networks, Inc. Reviewed By: glebius Differential Revision: https://reviews.freebsd.org/D38202 --- sys/net/if.c | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ sys/net/if_private.h | 3 +- sys/net/if_var.h | 24 ++++++++++-- sys/net/if_vlan_var.h | 4 +- 4 files changed, 126 insertions(+), 7 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 1a42b562190d..ac8b6963172d 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4616,6 +4616,18 @@ if_setsendqlen(if_t ifp, int tx_desc_count) return (0); } +void +if_setnetmapadapter(if_t ifp, struct netmap_adapter *na) +{ + ifp->if_netmap = na; +} + +struct netmap_adapter * +if_getnetmapadapter(if_t ifp) +{ + return (ifp->if_netmap); +} + int if_vlantrunkinuse(if_t ifp) { @@ -4759,6 +4771,12 @@ if_setinputfn(if_t ifp, if_input_fn_t input_fn) ((struct ifnet *)ifp)->if_input = input_fn; } +if_input_fn_t +if_getinputfn(if_t ifp) +{ + return (ifp->if_input); +} + void if_setioctlfn(if_t ifp, if_ioctl_fn_t ioctl_fn) { @@ -4777,12 +4795,24 @@ if_setstartfn(if_t ifp, if_start_fn_t start_fn) ((struct ifnet *)ifp)->if_start = (void *)start_fn; } +if_start_fn_t +if_getstartfn(if_t ifp) +{ + return (ifp->if_start); +} + void if_settransmitfn(if_t ifp, if_transmit_fn_t start_fn) { ((struct ifnet *)ifp)->if_transmit = start_fn; } +if_transmit_fn_t +if_gettransmitfn(if_t ifp) +{ + return (ifp->if_transmit); +} + void if_setqflushfn(if_t ifp, if_qflush_fn_t flush_fn) { @@ -4803,6 +4833,18 @@ if_setgetcounterfn(if_t ifp, if_get_counter_t fn) ifp->if_get_counter = fn; } +void +if_setreassignfn(if_t ifp, if_reassign_fn_t fn) +{ + ifp->if_reassign = fn; +} + +void +if_setratelimitqueryfn(if_t ifp, if_ratelimit_query_t fn) +{ + ifp->if_ratelimit_query = fn; +} + void if_setdebugnet_methods(if_t ifp, struct debugnet_methods *m) { @@ -4839,6 +4881,66 @@ if_setllsoftc(if_t ifp, void *llsoftc) ifp->if_llsoftc = llsoftc; }; +int +if_getlinkstate(if_t ifp) +{ + return (ifp->if_link_state); +} + +const uint8_t * +if_getbroadcastaddr(if_t ifp) +{ + return (ifp->if_broadcastaddr); +} + +int +if_getnumadomain(if_t ifp) +{ + return (ifp->if_numa_domain); +} + +uint64_t +if_getcounter(if_t ifp, ift_counter counter) +{ + return (ifp->if_get_counter(ifp, counter)); +} + +struct vnet * +if_getvnet(if_t ifp) +{ + return (ifp->if_vnet); +} + +void * +if_getafdata(if_t ifp, int af) +{ + return (ifp->if_afdata[af]); +} + +u_int +if_getfib(if_t ifp) +{ + return (ifp->if_fib); +} + +struct bpf_if * +if_getbpf(if_t ifp) +{ + return (ifp->if_bpf); +} + +struct ifvlantrunk * +if_getvlantrunk(if_t ifp) +{ + return (ifp->if_vlantrunk); +} + +uint8_t +if_getpcp(if_t ifp) +{ + return (ifp->if_pcp); +} + #ifdef DDB static void if_show_ifnet(struct ifnet *ifp) diff --git a/sys/net/if_private.h b/sys/net/if_private.h index 70212e79d077..64ebf83f5850 100644 --- a/sys/net/if_private.h +++ b/sys/net/if_private.h @@ -135,8 +135,7 @@ struct ifnet { if_qflush_fn_t if_qflush; /* flush any queue */ if_transmit_fn_t if_transmit; /* initiate output routine */ - void (*if_reassign) /* reassign to vnet routine */ - (struct ifnet *, struct vnet *, char *); + if_reassign_fn_t if_reassign; /* reassign to vnet routine */ if_get_counter_t if_get_counter; /* get counter values */ int (*if_requestencap) /* make link header from request */ (struct ifnet *, struct if_encap_req *); diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 3b293cdff26f..be7a5f059a7e 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -133,6 +133,7 @@ typedef int (*if_output_fn_t) typedef void (*if_qflush_fn_t)(if_t); typedef int (*if_transmit_fn_t)(if_t, struct mbuf *); typedef uint64_t (*if_get_counter_t)(if_t, ift_counter); +typedef void (*if_reassign_fn_t)(struct ifnet *, struct vnet *, char *); struct ifnet_hw_tsomax { u_int tsomaxbytes; /* TSO total burst length limit in bytes */ @@ -590,6 +591,7 @@ int if_setdev(if_t ifp, void *dev); int if_setdrvflagbits(if_t ifp, int if_setflags, int clear_flags); int if_getdrvflags(const if_t ifp); int if_setdrvflags(if_t ifp, int flags); +int if_getlinkstate(if_t ifp); int if_clearhwassist(if_t ifp); int if_sethwassistbits(if_t ifp, int toset, int toclear); int if_sethwassist(if_t ifp, int hwassist_bit); @@ -600,12 +602,16 @@ void *if_getsoftc(if_t ifp); int if_setflags(if_t ifp, int flags); void if_setllsoftc(if_t ifp, void *softc); void *if_getllsoftc(if_t ifp); +u_int if_getfib(if_t ifp); int if_gethwaddr(const if_t ifp, struct ifreq *); +const uint8_t *if_getbroadcastaddr(const if_t ifp); int if_setmtu(if_t ifp, int mtu); int if_getmtu(const if_t ifp); int if_getmtu_family(const if_t ifp, int family); int if_setflagbits(if_t ifp, int set, int clear); +int if_setflags(if_t ifp, int flags); int if_getflags(const if_t ifp); +int if_getnumadomain(if_t ifp); int if_sendq_empty(if_t ifp); int if_setsendqready(if_t ifp); int if_setsendqlen(if_t ifp, int tx_desc_count); @@ -615,6 +621,8 @@ int if_sethwtsomaxsegsize(if_t ifp, u_int if_hw_tsomaxsegsize); u_int if_gethwtsomax(const if_t ifp); u_int if_gethwtsomaxsegcount(const if_t ifp); u_int if_gethwtsomaxsegsize(const if_t ifp); +void if_setnetmapadapter(if_t ifp, struct netmap_adapter *na); +struct netmap_adapter *if_getnetmapadapter(if_t ifp); int if_input(if_t ifp, struct mbuf* sendmp); int if_sendq_prepend(if_t ifp, struct mbuf *m); struct mbuf *if_dequeue(if_t ifp); @@ -624,14 +632,20 @@ void if_setvtag(struct mbuf *m, u_int16_t tag); u_int16_t if_getvtag(struct mbuf *m); int if_vlantrunkinuse(if_t ifp); caddr_t if_getlladdr(const if_t ifp); +struct vnet *if_getvnet(const if_t ifp); void *if_gethandle(u_char); void if_bpfmtap(if_t ifp, struct mbuf *m); void if_etherbpfmtap(if_t ifp, struct mbuf *m); void if_vlancap(if_t ifp); int if_transmit(if_t ifp, struct mbuf *m); int if_init(if_t ifp, void *ctx); +uint64_t if_getcounter(if_t ifp, ift_counter counter); struct label *if_getmaclabel(if_t ifp); void if_setmaclabel(if_t ifp, struct label *label); +struct bpf_if *if_getbpf(if_t ifp); +uint8_t if_getpcp(if_t ifp); +struct ifvlantrunk *if_getvlantrunk(if_t ifp); +void *if_getafdata(if_t ifp, int); /* * Traversing through interface address lists. @@ -651,15 +665,19 @@ u_int if_foreach_addr_type(if_t ifp, int type, if_addr_cb_t cb, void *cb_arg); /* Functions */ void if_setinitfn(if_t ifp, if_init_fn_t); void if_setinputfn(if_t ifp, if_input_fn_t); +if_input_fn_t if_getinputfn(if_t ifp); void if_setioctlfn(if_t ifp, if_ioctl_fn_t); -void if_setoutputfn(if_t ifp, int(*) - (if_t, struct mbuf *, const struct sockaddr *, struct route *)); -void if_setstartfn(if_t ifp, void (*)(if_t)); +void if_setoutputfn(if_t ifp, if_output_fn_t); +void if_setstartfn(if_t ifp, if_start_fn_t); +if_start_fn_t if_getstartfn(if_t ifp); void if_settransmitfn(if_t ifp, if_transmit_fn_t); +if_transmit_fn_t if_gettransmitfn(if_t ifp); void if_setqflushfn(if_t ifp, if_qflush_fn_t); void if_setgetcounterfn(if_t ifp, if_get_counter_t); void if_setsndtagallocfn(if_t ifp, if_snd_tag_alloc_t); void if_setdebugnet_methods(struct ifnet *, struct debugnet_methods *); +void if_setreassignfn(if_t ifp, if_reassign_fn_t); +void if_setratelimitqueryfn(if_t ifp, if_ratelimit_query_t); /* TSO */ void if_hw_tsomax_common(if_t ifp, struct ifnet_hw_tsomax *); diff --git a/sys/net/if_vlan_var.h b/sys/net/if_vlan_var.h index b383d0898c9a..fb05cddc03bd 100644 --- a/sys/net/if_vlan_var.h +++ b/sys/net/if_vlan_var.h @@ -138,7 +138,7 @@ struct ether_8021q_tag { }; #define VLAN_CAPABILITIES(_ifp) do { \ - if ((_ifp)->if_vlantrunk != NULL) \ + if (if_getvlantrunk(_ifp) != NULL) \ (*vlan_trunk_cap_p)(_ifp); \ } while (0) @@ -154,7 +154,7 @@ struct ether_8021q_tag { (if_gettype(_ifp) == IFT_L2VLAN ? \ (*vlan_setcookie_p)((_ifp), (_cookie)) : EINVAL) #define VLAN_DEVAT(_ifp, _vid) \ - ((_ifp)->if_vlantrunk != NULL ? (*vlan_devat_p)((_ifp), (_vid)) : NULL) + (if_getvlantrunk(_ifp) != NULL ? (*vlan_devat_p)((_ifp), (_vid)) : NULL) extern void (*vlan_trunk_cap_p)(struct ifnet *); extern struct ifnet *(*vlan_trunkdev_p)(struct ifnet *); From nobody Tue Jan 31 20:03:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5ww92Fcjz3c8Tv; Tue, 31 Jan 2023 20:03:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5ww90XMMz3DCJ; Tue, 31 Jan 2023 20:03:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s1D68JQ/R2xj12DUN5w/rfJCYfQjbNfahE6LEyZ3tKo=; b=UNrD0xfK4kPFWR5ZM6N5IoHJeI5gVM5kVvWJnyv4ieXfk21Do29Pm4sCjjZz/7b+mnv+2k VuPHqv4BLhlWmBBjcOnMLtRN2iz+UPEALcnFWFO0eq1PSy+tla0UOBY1ZfwSu93UGcS+VW mhTci0BucUYcVL6VSzyYFKLqleWmOe+NsX+kq2G7IpPu2Dm0vlPeY7w6aUA9PhYMzinTC9 fTMWAxClJWVvqDDYFeExzhgNX1UGjQ104nJ4oS4u4vE/wZ7f8t5Gdyg3PwmsB6jRqzymLA G9noQ2wsEtRGRKujl4tthVA6guYe7W3SoJGw0APUQK3YtRiittzLeXlgLkdTYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195401; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s1D68JQ/R2xj12DUN5w/rfJCYfQjbNfahE6LEyZ3tKo=; b=VRkVsR6bt59RVtSIBshxVz0FoH8VPaXJbQdNGtPWqMecSjglcDqIfhMXTv9SjDOsU+X/Nn 60UfNLpqWjXPhSDJUe4ChLpXCh3KDLpElXEj2I0wQmgDYRVWIYSdBVK5Cibkh4duyIZR2o 1CmICvN7HZeBZJVKZzbDVx3v6tltemIE8Q8qEtdl3kopuO1BMW3nknlxDUfkYPHJqP8DXX HJY/NUuk3PaqDxQj3vmSEp9Sd0lz4rDn0BuWRRVpIz8VJ8hLzQp0NtrfJRyKYQ2rLHJuIc 76Iq/tiNq8Mw7zB8XsauZ8uP4yBIMbt64iq37y0a5YixvBktyfio59aJsG3Q3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195401; a=rsa-sha256; cv=none; b=etd5uW7lYFWY7P0SZ3kG3QbvL99GwrtDJZqiugcFKMBXglwr0/sQcbvQSczv/Sy5EqaxW0 GCmpi3ySeE8xv6fgTypXRHnspb3bLLHWu+hdbeVd/u3DRA26uTDaOwjjuVqFCp/nHWbCZG N50Yv8LrQ0oSbJVCedUHZ8LBlMdeFq6fvMURynRDdNJaBpOThHJHBh+MO3XejvRbp4bPvq 13nVLV4b0ww1LjHqOMsW/bZrjZbHvkdi7DejqRgiKv4WCmsEZOvqZVtoIk1GBNiwrbKKxt EWxgwtg80O3cI5Sc8noZ1Brhp/an1+0sfOuTt4R4SNdvquVUi2+HThdyL4Cf1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5ww86KjRz12NN; Tue, 31 Jan 2023 20:03:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3K3W025022; Tue, 31 Jan 2023 20:03:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3KXk025021; Tue, 31 Jan 2023 20:03:20 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:20 GMT Message-Id: <202301312003.30VK3KXk025021@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 31cfaf191b08 - main - IfAPI: Add l2com accessor for firewire. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 31cfaf191b0861d54ce8e212c77b458fd8fc018e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=31cfaf191b0861d54ce8e212c77b458fd8fc018e commit 31cfaf191b0861d54ce8e212c77b458fd8fc018e Author: Justin Hibbits AuthorDate: 2023-01-25 19:45:53 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:17 +0000 IfAPI: Add l2com accessor for firewire. Summary: Firewire is the only device driver that accesses the l2com member, all other accesses are handled within the netstack itself. Sponsored by: Juniper Networks, Inc. Reviewed by: glebius, melifaro Differential Revision: https://reviews.freebsd.org/D38203 --- sys/net/firewire.h | 2 +- sys/net/if.c | 6 ++++++ sys/net/if_var.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/net/firewire.h b/sys/net/firewire.h index dd7d23e49e73..527113aec720 100644 --- a/sys/net/firewire.h +++ b/sys/net/firewire.h @@ -131,7 +131,7 @@ struct fw_com { uint16_t fc_node; /* our nodeid */ struct fw_reass_list fc_frags; /* partial datagrams */ }; -#define IFP2FWC(ifp) ((struct fw_com *)(ifp)->if_l2com) +#define IFP2FWC(ifp) ((struct fw_com *)if_getl2com(ifp)) extern void firewire_input(struct ifnet *ifp, struct mbuf *m, uint16_t src); extern void firewire_ifattach(struct ifnet *, struct fw_hwaddr *); diff --git a/sys/net/if.c b/sys/net/if.c index ac8b6963172d..2ab12d1ac313 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4941,6 +4941,12 @@ if_getpcp(if_t ifp) return (ifp->if_pcp); } +void * +if_getl2com(if_t ifp) +{ + return (ifp->if_l2com); +} + #ifdef DDB static void if_show_ifnet(struct ifnet *ifp) diff --git a/sys/net/if_var.h b/sys/net/if_var.h index be7a5f059a7e..dbf8796865f0 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -644,6 +644,7 @@ struct label *if_getmaclabel(if_t ifp); void if_setmaclabel(if_t ifp, struct label *label); struct bpf_if *if_getbpf(if_t ifp); uint8_t if_getpcp(if_t ifp); +void *if_getl2com(if_t ifp); struct ifvlantrunk *if_getvlantrunk(if_t ifp); void *if_getafdata(if_t ifp, int); From nobody Tue Jan 31 20:03:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5wwB2L4Gz3c8Zr; Tue, 31 Jan 2023 20:03: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 4P5wwB14sNz3DJ7; Tue, 31 Jan 2023 20:03:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xqQQg0ob/sBoV8Bllcl5L2lOE4rGECOJgSYJ4EJU53U=; b=NHElda4yKcV1IopWi6mb6sqMx4dmrvhkdK2Obkko7PWcJacfFhFiJUIoCOyyrQHXMqBylB 8dmL4VMSMYtizoNMohW8hGTf5ZhgZnsLZi2n1SploZVkNf9yycB8I3eY615HKa6cb0FgiQ Ms6T7PieHHpYf8j/MpDB80AfpGCWdaDIJRci/aJY4ZMMCepaqRSSzgeWetYyhX2XBIz6QZ atWXDtnA36vr7ysP+I9cCy0D1ta1NwWMuw5Qz2ntUsZnGfocU7K7EgmCvnd5fdJcCl7eKQ 4EyAlPfWp6W/e7mqFO1iHzYhoRvGMxAhsIsVSaR++fogTpj5iEI4cM+4PfZQWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xqQQg0ob/sBoV8Bllcl5L2lOE4rGECOJgSYJ4EJU53U=; b=xMbroj2/G1EGXBipkFAmD6d6B6ytqv3u0Ci/Iq8aWRgT5CXaNSMiWKonN5C1Kh8H0GNQZU f+AANmJ2fr/K3F1r7IX1Q1q22a3vjmOaDV1+guMdj37GYUfEEEjtjZmWZvNmcyk5qXTJF8 YpXcdEs+W0caob17zKNeMRLvnkNeS7RmNy6XtoZ6eqoSMmY8g9QXBuZ6mVozIq+4mv8tV5 gxEgkE0+mS5G01InSl9IQGnmnnNhmpTP4/8i9AE1YD5qCeHlwlCCvLT8xJvKG0Kyiz1uRu EoV/cw27pOCoWclLnfIK7eH4H9AduRilnenRdimhUPVuhecqP2I156zJK7oFJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195402; a=rsa-sha256; cv=none; b=tj/CaEqxb8N3EqPjDRBKE90+/0rNvLd66PZH9hMCkWKlmv2ZKq1YTJ2LSbSBB66lgae3xI gcku51WmwcM+gsMzeCrhvSDHwz0hl5+lgtq1AMJX+1aQESXZHJQXQFNezXvnkvbwsd5qQ9 X9DQdAJlPR3WzWxE0a2MDgJWMk8qLJiut6ZqUyN0gjOIpdjtm83HmKqx6wqElXBPMgh8Tc oQDXoAY2ifnRgMjAXagVGN2rcTIRblu/+c3VHKpKDdhl9/ttm//HLZWiuo/m3tRlKsg5/9 /R6oMXHrtuBBTCNg18PxEUQ4HRJ+dfr4E4aIMXdbjhG9syt0C6qOpbp5Rpx32g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5wwB08tyz121n; Tue, 31 Jan 2023 20:03:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3LoS025046; Tue, 31 Jan 2023 20:03:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3L1Z025045; Tue, 31 Jan 2023 20:03:21 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:21 GMT Message-Id: <202301312003.30VK3L1Z025045@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: d79539e6f2ee - main - IfAPI: Add if_altq_is_enabled() interface. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d79539e6f2eea0d659b1a96e0447e2fa9e2122fa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=d79539e6f2eea0d659b1a96e0447e2fa9e2122fa commit d79539e6f2eea0d659b1a96e0447e2fa9e2122fa Author: Justin Hibbits AuthorDate: 2023-01-25 20:08:12 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:17 +0000 IfAPI: Add if_altq_is_enabled() interface. Summary: The only user of the ALTQ_IS_ENABLED() in a driver checks against the ifnet queue. Abstract that all out and present the interface to check if ALTQ is enabled on the interface. Sponsored by: Juniper Networks, Inc. Reviewed By: glebius Differential Revision: https://reviews.freebsd.org/D38204 --- sys/net/if.c | 6 ++++++ sys/net/if_var.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/sys/net/if.c b/sys/net/if.c index 2ab12d1ac313..951349b97ffb 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4905,6 +4905,12 @@ if_getcounter(if_t ifp, ift_counter counter) return (ifp->if_get_counter(ifp, counter)); } +bool +if_altq_is_enabled(if_t ifp) +{ + return (ALTQ_IS_ENABLED(&ifp->if_snd)); +} + struct vnet * if_getvnet(if_t ifp) { diff --git a/sys/net/if_var.h b/sys/net/if_var.h index dbf8796865f0..4c3d4138f7ec 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -646,6 +646,8 @@ struct bpf_if *if_getbpf(if_t ifp); uint8_t if_getpcp(if_t ifp); void *if_getl2com(if_t ifp); struct ifvlantrunk *if_getvlantrunk(if_t ifp); +bool if_altq_is_enabled(if_t ifp); + void *if_getafdata(if_t ifp, int); /* From nobody Tue Jan 31 20:03:23 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5wwC2PY7z3c8Pl; Tue, 31 Jan 2023 20:03: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 4P5wwC1STXz3DDL; Tue, 31 Jan 2023 20:03:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9DAFcN0IXbvg11EJP+iy+FkEW78LajXRAi9MT6T3r8I=; b=iewTz4AK4Z+opN4sqnFHGckalNsydB2Kj9RHoQnAzKGl5XjglYuMQLxV8m8cyhLh74VvCB E+qDGWWEgAez1QyGsBVDJJtJB+pJz5H7YJfIczCr5WchWh7wF5S5gjP0YNHuAbhuk5Ts4L n4f7+WVnd/iGu7RGBu9kQ0j5yK3Hk9bk3SHlSGslCD8veNtGAm0oYp9zlEboV3geZAaRkt xtH6DDKUmNeFD9QWrp6axzFodkWJCHVfVtW5rvdW14u9Xu+X6PmgYccaA4Ao8AT+4V7VWI MsQCh5N4pcGN8KlfgcvwuSR9D7lnQ+ifENuDwzP+PqdzI42i0Lvt8+Mn27Zi+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9DAFcN0IXbvg11EJP+iy+FkEW78LajXRAi9MT6T3r8I=; b=II49YZhMDDHWwp2wWftcKKZy8Qh9F/UYog3LBe0nj2YBfR1vuJ2zeJn/uRo3mNXIzmb25f w/LW5nXh4UEvvEZp10Q8wSIzdZPfAoRNPH3U45S5e5ag3KL5AvcjXBcEqfNHK8RP83yYXQ d5JsQTAz9DI5Fxn298D15nhYiCB0yCYPeBwQaP/6MKbSyGeZar6+s6KnF0tfBI/yUx/flK 0rS0uEQKU21D89oIeoJcJbmWtNbY9okJhdILkEazd0dT49J5sQ0qnjNe7lew33TDwlkca0 spWeNBaPjdLMUFWPmiuzcB1CXGKLal/zPqngqECJIZLLSfwUv5fmc3ZF15XRmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195403; a=rsa-sha256; cv=none; b=YzPDD02cS9kXekEJRGP61xR49I33txozUsMLndNhbhLE/K30PZZjT3xPAksYpzJwCgnM9C MFjS7vQdEByLkpw098c4rPdOtHwjsqLjNFtwryhLEY08ycdTvhOMD1ZdoRKzgvmqBxl7jC yHk0zx6MrwuU1ZrdlN2FECB8QISLoNIt5Jfr55CYonKnMWrTU0bhUOA3+cCGaqAl7akLtX wSjNBrss65Q3MJWVfoBb2OS0ITjZRGk5G6ACh9s7hGxC3vtshw6NIvMCxoaNzWTdrlDnn7 ZOfJcWb31l3PCNndj8BS9R4M33tLjS8kl5OKVWVlPigjcgPiZ7JOdy55bisTXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5wwC0YZ7z12L2; Tue, 31 Jan 2023 20:03:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3NYW025070; Tue, 31 Jan 2023 20:03:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3NJs025069; Tue, 31 Jan 2023 20:03:23 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:23 GMT Message-Id: <202301312003.30VK3NJs025069@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 4519a073c326 - main - Mechanically convert if_re(4) to DrvAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4519a073c326bf84a3618e3d66b0f11dc5906851 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=4519a073c326bf84a3618e3d66b0f11dc5906851 commit 4519a073c326bf84a3618e3d66b0f11dc5906851 Author: Justin Hibbits AuthorDate: 2022-02-25 19:11:53 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:18 +0000 Mechanically convert if_re(4) to DrvAPI Reviewed By: kevlo Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37790 --- sys/dev/re/if_re.c | 350 ++++++++++++++++++++++++++--------------------------- 1 file changed, 175 insertions(+), 175 deletions(-) diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 271a7f47b5e4..828dfc35004e 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -273,17 +273,17 @@ static __inline void re_fixup_rx static int re_rxeof (struct rl_softc *, int *); static void re_txeof (struct rl_softc *); #ifdef DEVICE_POLLING -static int re_poll (struct ifnet *, enum poll_cmd, int); -static int re_poll_locked (struct ifnet *, enum poll_cmd, int); +static int re_poll (if_t , enum poll_cmd, int); +static int re_poll_locked (if_t , enum poll_cmd, int); #endif static int re_intr (void *); static void re_intr_msi (void *); static void re_tick (void *); static void re_int_task (void *, int); -static void re_start (struct ifnet *); -static void re_start_locked (struct ifnet *); +static void re_start (if_t ); +static void re_start_locked (if_t ); static void re_start_tx (struct rl_softc *); -static int re_ioctl (struct ifnet *, u_long, caddr_t); +static int re_ioctl (if_t , u_long, caddr_t); static void re_init (void *); static void re_init_locked (struct rl_softc *); static void re_stop (struct rl_softc *); @@ -291,8 +291,8 @@ static void re_watchdog (struct rl_softc *); static int re_suspend (device_t); static int re_resume (device_t); static int re_shutdown (device_t); -static int re_ifmedia_upd (struct ifnet *); -static void re_ifmedia_sts (struct ifnet *, struct ifmediareq *); +static int re_ifmedia_upd (if_t ); +static void re_ifmedia_sts (if_t , struct ifmediareq *); static void re_eeprom_putbyte (struct rl_softc *, int); static void re_eeprom_getword (struct rl_softc *, int, u_int16_t *); @@ -616,14 +616,14 @@ static void re_miibus_statchg(device_t dev) { struct rl_softc *sc; - struct ifnet *ifp; + if_t ifp; struct mii_data *mii; sc = device_get_softc(dev); mii = device_get_softc(sc->rl_miibus); ifp = sc->rl_ifp; if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; sc->rl_flags &= ~RL_FLAG_LINK; @@ -669,7 +669,7 @@ re_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void re_set_rxmode(struct rl_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint32_t h, hashes[2] = { 0, 0 }; uint32_t rxfilt; @@ -683,8 +683,8 @@ re_set_rxmode(struct rl_softc *sc) else if ((sc->rl_flags & RL_FLAG_8168G_PLUS) != 0) rxfilt |= RL_RXCFG_EARLYOFFV2; - if (ifp->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) { - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & (IFF_ALLMULTI | IFF_PROMISC)) { + if (if_getflags(ifp) & IFF_PROMISC) rxfilt |= RL_RXCFG_RX_ALLPHYS; /* * Unlike other hardwares, we have to explicitly set @@ -774,7 +774,7 @@ re_reset(struct rl_softc *sc) static int re_diag(struct rl_softc *sc) { - struct ifnet *ifp = sc->rl_ifp; + if_t ifp = sc->rl_ifp; struct mbuf *m0; struct ether_header *eh; struct rl_desc *cur_rx; @@ -800,9 +800,9 @@ re_diag(struct rl_softc *sc) * - Leaves interrupts turned off */ - ifp->if_flags |= IFF_PROMISC; + if_setflagbit(ifp, IFF_PROMISC, 0); sc->rl_testmode = 1; - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); re_init_locked(sc); sc->rl_flags |= RL_FLAG_LINK; if (sc->rl_type == RL_8169) @@ -838,7 +838,7 @@ re_diag(struct rl_softc *sc) CSR_WRITE_2(sc, RL_ISR, 0xFFFF); RL_UNLOCK(sc); /* XXX: re_diag must not be called when in ALTQ mode */ - IF_HANDOFF(&ifp->if_snd, m0, ifp); + if_handoff(ifp, m0, ifp); RL_LOCK(sc); m0 = NULL; @@ -916,7 +916,7 @@ done: sc->rl_testmode = 0; sc->rl_flags &= ~RL_FLAG_LINK; - ifp->if_flags &= ~IFF_PROMISC; + if_setflagbit(ifp, 0, IFF_PROMISC); re_stop(sc); if (m0 != NULL) m_freem(m0); @@ -1214,7 +1214,7 @@ re_attach(device_t dev) u_char eaddr[ETHER_ADDR_LEN]; u_int16_t as[ETHER_ADDR_LEN / 2]; struct rl_softc *sc; - struct ifnet *ifp; + if_t ifp; const struct rl_hwrev *hw_rev; int capmask, error = 0, hwrev, i, msic, msixc, phy, reg, rid; @@ -1631,11 +1631,11 @@ re_attach(device_t dev) re_gmii_writereg(dev, 1, 0x0e, 0); } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = re_ioctl; - ifp->if_start = re_start; + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, re_ioctl); + if_setstartfn(ifp, re_start); /* * RTL8168/8111C generates wrong IP checksummed frame if the * packet has IP options so disable TX checksum offloading. @@ -1643,18 +1643,18 @@ re_attach(device_t dev) if (sc->rl_hwrev->rl_rev == RL_HWREV_8168C || sc->rl_hwrev->rl_rev == RL_HWREV_8168C_SPIN2 || sc->rl_hwrev->rl_rev == RL_HWREV_8168CP) { - ifp->if_hwassist = 0; - ifp->if_capabilities = IFCAP_RXCSUM | IFCAP_TSO4; + if_sethwassist(ifp, 0); + if_setcapabilities(ifp, IFCAP_RXCSUM | IFCAP_TSO4); } else { - ifp->if_hwassist = CSUM_IP | CSUM_TCP | CSUM_UDP; - ifp->if_capabilities = IFCAP_HWCSUM | IFCAP_TSO4; + if_sethwassist(ifp, CSUM_IP | CSUM_TCP | CSUM_UDP); + if_setcapabilities(ifp, IFCAP_HWCSUM | IFCAP_TSO4); } - ifp->if_hwassist |= CSUM_TSO; - ifp->if_capenable = ifp->if_capabilities; - ifp->if_init = re_init; - IFQ_SET_MAXLEN(&ifp->if_snd, RL_IFQ_MAXLEN); - ifp->if_snd.ifq_drv_maxlen = RL_IFQ_MAXLEN; - IFQ_SET_READY(&ifp->if_snd); + if_sethwassistbits(ifp, CSUM_TSO, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); + if_setinitfn(ifp, re_init); + if_setsendqlen(ifp, RL_IFQ_MAXLEN); + if_setsendqlen(ifp, RL_IFQ_MAXLEN); + if_setsendqready(ifp); NET_TASK_INIT(&sc->rl_inttask, 0, re_int_task, sc); @@ -1680,30 +1680,30 @@ re_attach(device_t dev) ether_ifattach(ifp, eaddr); /* VLAN capability setup */ - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING; - if (ifp->if_capabilities & IFCAP_HWCSUM) - ifp->if_capabilities |= IFCAP_VLAN_HWCSUM; + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING, 0); + if (if_getcapabilities(ifp) & IFCAP_HWCSUM) + if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWCSUM, 0); /* Enable WOL if PM is supported. */ if (pci_find_cap(sc->rl_dev, PCIY_PMG, ®) == 0) - ifp->if_capabilities |= IFCAP_WOL; - ifp->if_capenable = ifp->if_capabilities; - ifp->if_capenable &= ~(IFCAP_WOL_UCAST | IFCAP_WOL_MCAST); + if_setcapabilitiesbit(ifp, IFCAP_WOL, 0); + if_setcapenable(ifp, if_getcapabilities(ifp)); + if_setcapenablebit(ifp, 0, (IFCAP_WOL_UCAST | IFCAP_WOL_MCAST)); /* * Don't enable TSO by default. It is known to generate * corrupted TCP segments(bad TCP options) under certain * circumstances. */ - ifp->if_hwassist &= ~CSUM_TSO; - ifp->if_capenable &= ~(IFCAP_TSO4 | IFCAP_VLAN_HWTSO); + if_sethwassistbits(ifp, 0, CSUM_TSO); + if_setcapenablebit(ifp, 0, (IFCAP_TSO4 | IFCAP_VLAN_HWTSO)); #ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif /* * Tell the upper layer(s) we support long frames. * Must appear after the call to ether_ifattach() because * ether_ifattach() sets ifi_hdrlen to the default value. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); #ifdef DEV_NETMAP re_netmap_attach(sc); @@ -1766,7 +1766,7 @@ static int re_detach(device_t dev) { struct rl_softc *sc; - struct ifnet *ifp; + if_t ifp; int i, rid; sc = device_get_softc(dev); @@ -1776,7 +1776,7 @@ re_detach(device_t dev) /* These should only be active if attach succeeded */ if (device_is_attached(dev)) { #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(ifp); #endif RL_LOCK(sc); @@ -1799,7 +1799,7 @@ re_detach(device_t dev) * to invoke the re_tick() function that isn't there * anymore. */ - ifp->if_flags &= ~IFF_UP; + if_setflagbits(ifp, 0, IFF_UP); ether_ifdetach(ifp); } if (sc->rl_miibus) @@ -1924,7 +1924,7 @@ re_discard_rxbuf(struct rl_softc *sc, int idx) struct rl_rxdesc *rxd; uint32_t cmdstat; - if (sc->rl_ifp->if_mtu > RL_MTU && + if (if_getmtu(sc->rl_ifp) > RL_MTU && (sc->rl_flags & RL_FLAG_JUMBOV2) != 0) rxd = &sc->rl_ldata.rl_jrx_desc[idx]; else @@ -2163,7 +2163,7 @@ static int re_rxeof(struct rl_softc *sc, int *rx_npktsp) { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; int i, rxerr, total_len; struct rl_desc *cur_rx; u_int32_t rxstat, rxvlan; @@ -2176,7 +2176,7 @@ re_rxeof(struct rl_softc *sc, int *rx_npktsp) if (netmap_rx_irq(ifp, 0, &rx_npkts)) return 0; #endif /* DEV_NETMAP */ - if (ifp->if_mtu > RL_MTU && (sc->rl_flags & RL_FLAG_JUMBOV2) != 0) + if (if_getmtu(ifp) > RL_MTU && (sc->rl_flags & RL_FLAG_JUMBOV2) != 0) jumbo = 1; else jumbo = 0; @@ -2189,7 +2189,7 @@ re_rxeof(struct rl_softc *sc, int *rx_npktsp) for (i = sc->rl_ldata.rl_rx_prodidx; maxpkt > 0; i = RL_RX_DESC_NXT(sc, i)) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) break; cur_rx = &sc->rl_ldata.rl_rx_list[i]; rxstat = le32toh(cur_rx->rl_cmdstat); @@ -2335,7 +2335,7 @@ re_rxeof(struct rl_softc *sc, int *rx_npktsp) /* Do RX checksumming if enabled */ - if (ifp->if_capenable & IFCAP_RXCSUM) { + if (if_getcapenable(ifp) & IFCAP_RXCSUM) { if ((sc->rl_flags & RL_FLAG_DESCV2) == 0) { /* Check IP header checksum */ if (rxstat & RL_RDESC_STAT_PROTOID) @@ -2383,7 +2383,7 @@ re_rxeof(struct rl_softc *sc, int *rx_npktsp) m->m_flags |= M_VLANTAG; } RL_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); RL_LOCK(sc); rx_npkts++; } @@ -2407,7 +2407,7 @@ re_rxeof(struct rl_softc *sc, int *rx_npktsp) static void re_txeof(struct rl_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct rl_txdesc *txd; u_int32_t txstat; int cons; @@ -2456,7 +2456,7 @@ re_txeof(struct rl_softc *sc) if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); } sc->rl_ldata.rl_tx_free++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } sc->rl_ldata.rl_tx_considx = cons; @@ -2503,22 +2503,22 @@ re_tick(void *xsc) #ifdef DEVICE_POLLING static int -re_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +re_poll(if_t ifp, enum poll_cmd cmd, int count) { - struct rl_softc *sc = ifp->if_softc; + struct rl_softc *sc = if_getsoftc(ifp); int rx_npkts = 0; RL_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) rx_npkts = re_poll_locked(ifp, cmd, count); RL_UNLOCK(sc); return (rx_npkts); } static int -re_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count) +re_poll_locked(if_t ifp, enum poll_cmd cmd, int count) { - struct rl_softc *sc = ifp->if_softc; + struct rl_softc *sc = if_getsoftc(ifp); int rx_npkts; RL_LOCK_ASSERT(sc); @@ -2527,7 +2527,7 @@ re_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count) re_rxeof(sc, &rx_npkts); re_txeof(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) re_start_locked(ifp); if (cmd == POLL_AND_CHECK_STATUS) { /* also check status register */ @@ -2547,7 +2547,7 @@ re_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int count) */ if (status & RL_ISR_SYSTEM_ERR) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); re_init_locked(sc); } } @@ -2577,7 +2577,7 @@ static void re_int_task(void *arg, int npending) { struct rl_softc *sc; - struct ifnet *ifp; + if_t ifp; u_int16_t status; int rval = 0; @@ -2590,13 +2590,13 @@ re_int_task(void *arg, int npending) CSR_WRITE_2(sc, RL_ISR, status); if (sc->suspended || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { RL_UNLOCK(sc); return; } #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { RL_UNLOCK(sc); return; } @@ -2626,11 +2626,11 @@ re_int_task(void *arg, int npending) re_txeof(sc); if (status & RL_ISR_SYSTEM_ERR) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); re_init_locked(sc); } - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) re_start_locked(ifp); RL_UNLOCK(sc); @@ -2647,7 +2647,7 @@ static void re_intr_msi(void *xsc) { struct rl_softc *sc; - struct ifnet *ifp; + if_t ifp; uint16_t intrs, status; sc = xsc; @@ -2655,14 +2655,14 @@ re_intr_msi(void *xsc) ifp = sc->rl_ifp; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) { + if (if_getcapenable(ifp) & IFCAP_POLLING) { RL_UNLOCK(sc); return; } #endif /* Disable interrupts. */ CSR_WRITE_2(sc, RL_IMR, 0); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { RL_UNLOCK(sc); return; } @@ -2680,7 +2680,7 @@ re_intr_msi(void *xsc) if (status & (RL_ISR_TIMEOUT_EXPIRED | RL_ISR_RX_OK | RL_ISR_RX_ERR | RL_ISR_FIFO_OFLOW | RL_ISR_RX_OVERRUN)) { re_rxeof(sc, NULL); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { if (sc->rl_int_rx_mod != 0 && (status & (RL_ISR_RX_OK | RL_ISR_RX_ERR | RL_ISR_FIFO_OFLOW | RL_ISR_RX_OVERRUN)) != 0) { @@ -2712,12 +2712,12 @@ re_intr_msi(void *xsc) re_txeof(sc); if (status & RL_ISR_SYSTEM_ERR) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); re_init_locked(sc); } - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if (!if_sendq_empty(ifp)) re_start_locked(ifp); CSR_WRITE_2(sc, RL_IMR, intrs); } @@ -2917,11 +2917,11 @@ re_encap(struct rl_softc *sc, struct mbuf **m_head) } static void -re_start(struct ifnet *ifp) +re_start(if_t ifp) { struct rl_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); RL_LOCK(sc); re_start_locked(ifp); RL_UNLOCK(sc); @@ -2931,17 +2931,17 @@ re_start(struct ifnet *ifp) * Main transmit routine for C+ and gigE NICs. */ static void -re_start_locked(struct ifnet *ifp) +re_start_locked(if_t ifp) { struct rl_softc *sc; struct mbuf *m_head; int queued; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); #ifdef DEV_NETMAP /* XXX is this necessary ? */ - if (ifp->if_capenable & IFCAP_NETMAP) { + if (if_getcapenable(ifp) & IFCAP_NETMAP) { struct netmap_kring *kring = NA(ifp)->tx_rings[0]; if (sc->rl_ldata.rl_tx_prodidx != kring->nr_hwcur) { /* kick the tx unit */ @@ -2955,21 +2955,21 @@ re_start_locked(struct ifnet *ifp) } #endif /* DEV_NETMAP */ - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->rl_flags & RL_FLAG_LINK) == 0) return; - for (queued = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && + for (queued = 0; !if_sendq_empty(ifp) && sc->rl_ldata.rl_tx_free > 1;) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; if (re_encap(sc, &m_head) != 0) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -3088,7 +3088,7 @@ re_init(void *xsc) static void re_init_locked(struct rl_softc *sc) { - struct ifnet *ifp = sc->rl_ifp; + if_t ifp = sc->rl_ifp; struct mii_data *mii; uint32_t reg; uint16_t cfg; @@ -3098,7 +3098,7 @@ re_init_locked(struct rl_softc *sc) mii = device_get_softc(sc->rl_miibus); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; /* @@ -3113,7 +3113,7 @@ re_init_locked(struct rl_softc *sc) * For C+ mode, initialize the RX descriptors and mbufs. */ if ((sc->rl_flags & RL_FLAG_JUMBOV2) != 0) { - if (ifp->if_mtu > RL_MTU) { + if (if_getmtu(ifp) > RL_MTU) { if (re_jrx_list_init(sc) != 0) { device_printf(sc->rl_dev, "no memory for jumbo RX buffers\n"); @@ -3121,8 +3121,8 @@ re_init_locked(struct rl_softc *sc) return; } /* Disable checksum offloading for jumbo frames. */ - ifp->if_capenable &= ~(IFCAP_HWCSUM | IFCAP_TSO4); - ifp->if_hwassist &= ~(RE_CSUM_FEATURES | CSUM_TSO); + if_setcapenablebit(ifp, 0, (IFCAP_HWCSUM | IFCAP_TSO4)); + if_sethwassistbits(ifp, 0, (RE_CSUM_FEATURES | CSUM_TSO)); } else { if (re_rx_list_init(sc) != 0) { device_printf(sc->rl_dev, @@ -3131,7 +3131,7 @@ re_init_locked(struct rl_softc *sc) return; } } - re_set_jumbo(sc, ifp->if_mtu > RL_MTU); + re_set_jumbo(sc, if_getmtu(ifp) > RL_MTU); } else { if (re_rx_list_init(sc) != 0) { device_printf(sc->rl_dev, "no memory for RX buffers\n"); @@ -3140,7 +3140,7 @@ re_init_locked(struct rl_softc *sc) } if ((sc->rl_flags & RL_FLAG_PCIE) != 0 && pci_get_device(sc->rl_dev) != RT_DEVICEID_8101E) { - if (ifp->if_mtu > RL_MTU) + if (if_getmtu(ifp) > RL_MTU) pci_set_max_read_req(sc->rl_dev, 512); else pci_set_max_read_req(sc->rl_dev, 4096); @@ -3154,9 +3154,9 @@ re_init_locked(struct rl_softc *sc) * before all others. */ cfg = RL_CPLUSCMD_PCI_MRW; - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) cfg |= RL_CPLUSCMD_RXCSUM_ENB; - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) cfg |= RL_CPLUSCMD_VLANSTRIP; if ((sc->rl_flags & RL_FLAG_MACSTAT) != 0) { cfg |= RL_CPLUSCMD_MACSTAT_DIS; @@ -3180,9 +3180,9 @@ re_init_locked(struct rl_softc *sc) * Disable TSO if interface MTU size is greater than MSS * allowed in controller. */ - if (ifp->if_mtu > RL_TSO_MTU && (ifp->if_capenable & IFCAP_TSO4) != 0) { - ifp->if_capenable &= ~IFCAP_TSO4; - ifp->if_hwassist &= ~CSUM_TSO; + if (if_getmtu(ifp) > RL_TSO_MTU && (if_getcapenable(ifp) & IFCAP_TSO4) != 0) { + if_setcapenablebit(ifp, 0, IFCAP_TSO4); + if_sethwassistbits(ifp, 0, CSUM_TSO); } /* @@ -3192,7 +3192,7 @@ re_init_locked(struct rl_softc *sc) */ /* Copy MAC address on stack to align. */ bzero(idr, sizeof(idr)); - bcopy(IF_LLADDR(ifp), idr, ETHER_ADDR_LEN); + bcopy(if_getlladdr(ifp), idr, ETHER_ADDR_LEN); CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_WRITECFG); CSR_WRITE_4(sc, RL_IDR0, htole32(idr[0])); CSR_WRITE_4(sc, RL_IDR4, htole32(idr[1])); @@ -3262,7 +3262,7 @@ re_init_locked(struct rl_softc *sc) /* * Disable interrupts if we are polling. */ - if (ifp->if_capenable & IFCAP_POLLING) + if (if_getcapenable(ifp) & IFCAP_POLLING) CSR_WRITE_2(sc, RL_IMR, 0); else /* otherwise ... */ #endif @@ -3324,7 +3324,7 @@ re_init_locked(struct rl_softc *sc) * set maximum size of jumbo frame depending on * controller revisions. */ - if (ifp->if_mtu > RL_MTU) + if (if_getmtu(ifp) > RL_MTU) CSR_WRITE_2(sc, RL_MAXRXPKTLEN, sc->rl_hwrev->rl_max_mtu + ETHER_VLAN_ENCAP_LEN + ETHER_HDR_LEN + @@ -3346,8 +3346,8 @@ re_init_locked(struct rl_softc *sc) CSR_WRITE_1(sc, sc->rl_cfg1, CSR_READ_1(sc, sc->rl_cfg1) | RL_CFG1_DRVLOAD); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->rl_flags &= ~RL_FLAG_LINK; mii_mediachg(mii); @@ -3364,13 +3364,13 @@ re_init_locked(struct rl_softc *sc) * Set media options. */ static int -re_ifmedia_upd(struct ifnet *ifp) +re_ifmedia_upd(if_t ifp) { struct rl_softc *sc; struct mii_data *mii; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->rl_miibus); RL_LOCK(sc); error = mii_mediachg(mii); @@ -3383,12 +3383,12 @@ re_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -re_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +re_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct rl_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = device_get_softc(sc->rl_miibus); RL_LOCK(sc); @@ -3399,9 +3399,9 @@ re_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -re_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +re_ioctl(if_t ifp, u_long command, caddr_t data) { - struct rl_softc *sc = ifp->if_softc; + struct rl_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; struct mii_data *mii; int error = 0; @@ -3416,18 +3416,18 @@ re_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; } RL_LOCK(sc); - if (ifp->if_mtu != ifr->ifr_mtu) { - ifp->if_mtu = ifr->ifr_mtu; + if (if_getmtu(ifp) != ifr->ifr_mtu) { + if_setmtu(ifp, ifr->ifr_mtu); if ((sc->rl_flags & RL_FLAG_JUMBOV2) != 0 && - (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); re_init_locked(sc); } - if (ifp->if_mtu > RL_TSO_MTU && - (ifp->if_capenable & IFCAP_TSO4) != 0) { - ifp->if_capenable &= ~(IFCAP_TSO4 | - IFCAP_VLAN_HWTSO); - ifp->if_hwassist &= ~CSUM_TSO; + if (if_getmtu(ifp) > RL_TSO_MTU && + (if_getcapenable(ifp) & IFCAP_TSO4) != 0) { + if_setcapenablebit(ifp, 0, + IFCAP_TSO4 | IFCAP_VLAN_HWTSO); + if_sethwassistbits(ifp, 0, CSUM_TSO); } VLAN_CAPABILITIES(ifp); } @@ -3435,24 +3435,24 @@ re_ioctl(struct ifnet *ifp, u_long command, caddr_t data) break; case SIOCSIFFLAGS: RL_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { - if (((ifp->if_flags ^ sc->rl_if_flags) + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { + if (((if_getflags(ifp) ^ sc->rl_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) re_set_rxmode(sc); } else re_init_locked(sc); } else { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) re_stop(sc); } - sc->rl_if_flags = ifp->if_flags; + sc->rl_if_flags = if_getflags(ifp); RL_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: RL_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) re_set_rxmode(sc); RL_UNLOCK(sc); break; @@ -3465,7 +3465,7 @@ re_ioctl(struct ifnet *ifp, u_long command, caddr_t data) { int mask, reinit; - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + mask = ifr->ifr_reqcap ^ if_getcapenable(ifp); reinit = 0; #ifdef DEVICE_POLLING if (mask & IFCAP_POLLING) { @@ -3476,55 +3476,55 @@ re_ioctl(struct ifnet *ifp, u_long command, caddr_t data) RL_LOCK(sc); /* Disable interrupts */ CSR_WRITE_2(sc, RL_IMR, 0x0000); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); RL_UNLOCK(sc); } else { error = ether_poll_deregister(ifp); /* Enable interrupts. */ RL_LOCK(sc); CSR_WRITE_2(sc, RL_IMR, RL_INTRS_CPLUS); - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); RL_UNLOCK(sc); } } #endif /* DEVICE_POLLING */ RL_LOCK(sc); if ((mask & IFCAP_TXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_TXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_TXCSUM; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist |= RE_CSUM_FEATURES; + (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_TXCSUM); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassistbits(ifp, RE_CSUM_FEATURES, 0); else - ifp->if_hwassist &= ~RE_CSUM_FEATURES; + if_sethwassistbits(ifp, 0, RE_CSUM_FEATURES); reinit = 1; } if ((mask & IFCAP_RXCSUM) != 0 && - (ifp->if_capabilities & IFCAP_RXCSUM) != 0) { - ifp->if_capenable ^= IFCAP_RXCSUM; + (if_getcapabilities(ifp) & IFCAP_RXCSUM) != 0) { + if_togglecapenable(ifp, IFCAP_RXCSUM); reinit = 1; } if ((mask & IFCAP_TSO4) != 0 && - (ifp->if_capabilities & IFCAP_TSO4) != 0) { - ifp->if_capenable ^= IFCAP_TSO4; - if ((IFCAP_TSO4 & ifp->if_capenable) != 0) - ifp->if_hwassist |= CSUM_TSO; + (if_getcapabilities(ifp) & IFCAP_TSO4) != 0) { + if_togglecapenable(ifp, IFCAP_TSO4); + if ((IFCAP_TSO4 & if_getcapenable(ifp)) != 0) + if_sethwassistbits(ifp, CSUM_TSO, 0); else - ifp->if_hwassist &= ~CSUM_TSO; - if (ifp->if_mtu > RL_TSO_MTU && - (ifp->if_capenable & IFCAP_TSO4) != 0) { - ifp->if_capenable &= ~IFCAP_TSO4; - ifp->if_hwassist &= ~CSUM_TSO; + if_sethwassistbits(ifp, 0, CSUM_TSO); + if (if_getmtu(ifp) > RL_TSO_MTU && + (if_getcapenable(ifp) & IFCAP_TSO4) != 0) { + if_setcapenablebit(ifp, 0, IFCAP_TSO4); + if_sethwassistbits(ifp, 0, CSUM_TSO); } } if ((mask & IFCAP_VLAN_HWTSO) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTSO) != 0) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTSO) != 0) + if_togglecapenable(ifp, IFCAP_VLAN_HWTSO); if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && - (ifp->if_capabilities & IFCAP_VLAN_HWTAGGING) != 0) { - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + (if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { + if_togglecapenable(ifp, IFCAP_VLAN_HWTAGGING); /* TSO over VLAN requires VLAN hardware tagging. */ - if ((ifp->if_capenable & IFCAP_VLAN_HWTAGGING) == 0) - ifp->if_capenable &= ~IFCAP_VLAN_HWTSO; + if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) == 0) + if_setcapenablebit(ifp, 0, IFCAP_VLAN_HWTSO); reinit = 1; } if ((sc->rl_flags & RL_FLAG_JUMBOV2) != 0 && @@ -3532,16 +3532,16 @@ re_ioctl(struct ifnet *ifp, u_long command, caddr_t data) IFCAP_VLAN_HWTSO)) != 0) reinit = 1; if ((mask & IFCAP_WOL) != 0 && - (ifp->if_capabilities & IFCAP_WOL) != 0) { + (if_getcapabilities(ifp) & IFCAP_WOL) != 0) { if ((mask & IFCAP_WOL_UCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_UCAST; + if_togglecapenable(ifp, IFCAP_WOL_UCAST); if ((mask & IFCAP_WOL_MCAST) != 0) - ifp->if_capenable ^= IFCAP_WOL_MCAST; + if_togglecapenable(ifp, IFCAP_WOL_MCAST); if ((mask & IFCAP_WOL_MAGIC) != 0) - ifp->if_capenable ^= IFCAP_WOL_MAGIC; + if_togglecapenable(ifp, IFCAP_WOL_MAGIC); } - if (reinit && ifp->if_drv_flags & IFF_DRV_RUNNING) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (reinit && if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); re_init_locked(sc); } RL_UNLOCK(sc); @@ -3559,7 +3559,7 @@ re_ioctl(struct ifnet *ifp, u_long command, caddr_t data) static void re_watchdog(struct rl_softc *sc) { - struct ifnet *ifp; + if_t ifp; RL_LOCK_ASSERT(sc); @@ -3571,7 +3571,7 @@ re_watchdog(struct rl_softc *sc) if (sc->rl_ldata.rl_tx_free == sc->rl_ldata.rl_tx_desc_cnt) { if_printf(ifp, "watchdog timeout (missed Tx interrupts) " "-- recovering\n"); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) re_start_locked(ifp); return; } @@ -3580,9 +3580,9 @@ re_watchdog(struct rl_softc *sc) if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); re_rxeof(sc, NULL); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); re_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) re_start_locked(ifp); } @@ -3594,7 +3594,7 @@ static void re_stop(struct rl_softc *sc) { int i; - struct ifnet *ifp; + if_t ifp; struct rl_txdesc *txd; struct rl_rxdesc *rxd; @@ -3604,7 +3604,7 @@ re_stop(struct rl_softc *sc) sc->rl_watchdog_timer = 0; callout_stop(&sc->rl_stat_callout); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); #ifdef DEV_NETMAP netmap_disable_all_rings(ifp); @@ -3733,7 +3733,7 @@ static int re_resume(device_t dev) { struct rl_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); @@ -3754,7 +3754,7 @@ re_resume(device_t dev) re_clrwol(sc); /* reinitialize interface if necessary */ - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) re_init_locked(sc); sc->suspended = 0; @@ -3781,7 +3781,7 @@ re_shutdown(device_t dev) * interrupt comes in later on, which can happen in some * cases. */ - sc->rl_ifp->if_flags &= ~IFF_UP; + if_setflagbits(sc->rl_ifp, 0, IFF_UP); re_setwol(sc); RL_UNLOCK(sc); @@ -3859,7 +3859,7 @@ re_set_linkspeed(struct rl_softc *sc) static void re_setwol(struct rl_softc *sc) { - struct ifnet *ifp; + if_t ifp; int pmc; uint16_t pmstat; uint8_t v; @@ -3876,7 +3876,7 @@ re_setwol(struct rl_softc *sc) CSR_WRITE_1(sc, RL_GPIO, CSR_READ_1(sc, RL_GPIO) & ~0x01); } - if ((ifp->if_capenable & IFCAP_WOL) != 0) { + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) { if ((sc->rl_flags & RL_FLAG_8168G_PLUS) != 0) { /* Disable RXDV gate. */ CSR_WRITE_4(sc, RL_MISC, CSR_READ_4(sc, RL_MISC) & @@ -3894,31 +3894,31 @@ re_setwol(struct rl_softc *sc) /* Enable PME. */ v = CSR_READ_1(sc, sc->rl_cfg1); v &= ~RL_CFG1_PME; - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) v |= RL_CFG1_PME; CSR_WRITE_1(sc, sc->rl_cfg1, v); v = CSR_READ_1(sc, sc->rl_cfg3); v &= ~(RL_CFG3_WOL_LINK | RL_CFG3_WOL_MAGIC); - if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) v |= RL_CFG3_WOL_MAGIC; CSR_WRITE_1(sc, sc->rl_cfg3, v); v = CSR_READ_1(sc, sc->rl_cfg5); v &= ~(RL_CFG5_WOL_BCAST | RL_CFG5_WOL_MCAST | RL_CFG5_WOL_UCAST | RL_CFG5_WOL_LANWAKE); - if ((ifp->if_capenable & IFCAP_WOL_UCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_UCAST) != 0) v |= RL_CFG5_WOL_UCAST; - if ((ifp->if_capenable & IFCAP_WOL_MCAST) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL_MCAST) != 0) v |= RL_CFG5_WOL_MCAST | RL_CFG5_WOL_BCAST; - if ((ifp->if_capenable & IFCAP_WOL) != 0) + if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) v |= RL_CFG5_WOL_LANWAKE; CSR_WRITE_1(sc, sc->rl_cfg5, v); /* Config register write done. */ CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF); - if ((ifp->if_capenable & IFCAP_WOL) == 0 && + if ((if_getcapenable(ifp) & IFCAP_WOL) == 0 && (sc->rl_flags & RL_FLAG_PHYWAKE_PM) != 0) *** 60 LINES SKIPPED *** From nobody Tue Jan 31 20:03:24 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5wwD2twCz3c8hy; Tue, 31 Jan 2023 20:03: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 4P5wwD28HHz3D7L; Tue, 31 Jan 2023 20:03:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hnng0jJQPbQUy/KhPay0gmBOUnW9wPuNiiQFLi4s7/8=; b=eFeWRnjnmiOPvVGX1XqIAvseeGXEzZIH29b+j8YAlI0ey/E5plCzVG0HELT45/6U9TyGUM DlgPS81UnnjgAmyogKKDqoqJ89Le0TgTFOogrZz1m+pMN99GxtH+leawLTaaO2/sfaNjgs UvIJ7eSC5M8A0TqGnn7+lPhHBEWuIUYkl/V90qXa5+PaHOFgWcbpuvJ9oUDFMfWcHxJ5pF oCu/gZiy0Rp6/RAuxm5YimXxe1dVaGc0GKz0WLRGw1BHubvyTcldAoWc2oZDRkjNCnIYhv crnloxAIEWt2ODFLZ6+pHyTMEjPSH0B/a6EnfeV02s4st3ZvbgTOyiR/WzkPBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hnng0jJQPbQUy/KhPay0gmBOUnW9wPuNiiQFLi4s7/8=; b=uOqKg/Kno9rVKoqoRjRWwS6xt7t4JsszBolOnXbkReWml53kOQ1box1K1QibA4djbkdXWZ MWNfZnpFOwHsvmGo3sf0g4k6HZ3rPP0wzvunmT29pHS+XR0ymKqfdstTL1UaD5CxA8Pj09 cD982iiBc+l6in+Y5u0sFUB2BUtZnzPWSOtze+ozcVSUvjKVzoMs0RP2XKL27Snba2up0i 262x2FMUKBU5WDY9pcy1SR9H+PNnTkIQQqLY/SG0o1rDgrpwW5cMWFeVU3r7Mr5ON18dcb PcpfL4ZQ9TzuTVdhS54HA8LHhi4uzbNp33AiunPAtT5A94GuWQHo+aGEw6dPXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195404; a=rsa-sha256; cv=none; b=rXbBUY4rM4xYcSOVO+4lKpcujqkrl331RkMvpCWpxOsVv/Uz/KaFFgRn/SjdWNDOegV9k5 9TaTPH4GqCfSIhEp1M2bARMTSf3WvplurRK1VcOTOEhHHy3vEmjDjjqzObJVV4SdFUztI9 s5Dgi+R6s0aGJGFFDjijycOt3sNz6SF/8BMlinPxone0JUwrPiCIoZVKrGExL+DPTfc/xr wa6fCCxLNYoF0bfYhfNH949YsRqN5MUpnyjRwBDKl92HCx+4IakNJd1309kx68KpDm0JD9 swlhnS60f0Gi/IQ1w1NFN3gKaGy5/5QIqUIK72sJNlkKJctl8qGk/dF/AucVMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5wwD0sqCz11sl; Tue, 31 Jan 2023 20:03:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3OFF025101; Tue, 31 Jan 2023 20:03:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3OuW025100; Tue, 31 Jan 2023 20:03:24 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:24 GMT Message-Id: <202301312003.30VK3OuW025100@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 56c1eafe50e1 - main - IfAPI: Finish conversion of bnxt(4) to IfAPI. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 56c1eafe50e19e31cc30c3aa7fa90fc9f246e289 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=56c1eafe50e19e31cc30c3aa7fa90fc9f246e289 commit 56c1eafe50e19e31cc30c3aa7fa90fc9f246e289 Author: Justin Hibbits AuthorDate: 2023-01-23 15:07:58 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:18 +0000 IfAPI: Finish conversion of bnxt(4) to IfAPI. Sponsored by: Juniper Networks, Inc. --- sys/dev/bnxt/bnxt_sysctl.c | 4 ++-- sys/dev/bnxt/if_bnxt.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/bnxt/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_sysctl.c index 677dc2c1c0c1..1ed2502623d2 100644 --- a/sys/dev/bnxt/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_sysctl.c @@ -1227,8 +1227,8 @@ bnxt_create_config_sysctls_pre(struct bnxt_softc *softc) SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "vlan_strip", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, softc, 0, bnxt_vlan_strip_sysctl, "I", "strip VLAN tag in the RX path"); - SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "if_name", CTLFLAG_RD, - iflib_get_ifp(softc->ctx)->if_xname, 0, "interface name"); + SYSCTL_ADD_CONST_STRING(ctx, children, OID_AUTO, "if_name", CTLFLAG_RD, + if_name(iflib_get_ifp(softc->ctx)), "interface name"); SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "intr_coal_rx_usecs", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, softc, 0, diff --git a/sys/dev/bnxt/if_bnxt.c b/sys/dev/bnxt/if_bnxt.c index 6f45c0963d1d..54140b8c0010 100644 --- a/sys/dev/bnxt/if_bnxt.c +++ b/sys/dev/bnxt/if_bnxt.c @@ -1213,7 +1213,7 @@ struct bnxt_softc *bnxt_find_dev(uint32_t domain, uint32_t bus, uint32_t dev_fn, SLIST_FOREACH(sc, &pf_list, next) { /* get the softc reference based on device name */ - if (dev_name && !strncmp(dev_name, iflib_get_ifp(sc->softc->ctx)->if_xname, BNXT_MAX_STR)) { + if (dev_name && !strncmp(dev_name, if_name(iflib_get_ifp(sc->softc->ctx)), BNXT_MAX_STR)) { return sc->softc; } /* get the softc reference based on domain,bus,device,function */ From nobody Tue Jan 31 20:03:25 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5wwF3dyQz3c8XX; Tue, 31 Jan 2023 20:03: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 4P5wwF34K3z3DGy; Tue, 31 Jan 2023 20:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gtw3FkFMUd3m02Xu0CBQ+w86K6HkLHEdRMIpiwYDjQA=; b=IPxaatkWcdIinYd2qVrQgjeTQajuaNfe8IpOsY/kY37qstjW7a9RwZYT6CZ7TYNiQaQSt4 RFsWUBAXN5sx21Y4DOQDYM2m6x0m+EjQDOxs/LMzMgEualEYr1jOY5TPiagCMWX+XTBRaE rUarep87aUmaleZIR34ZjNMEis34U+DKhfxuwZcyX2g3QRFqxm0yQGz3Cmva46UTmFveBP VVqHodK4rVJyJ07GUS2DPTH6y+AmKnnbjF6OZtlNeBBk3nXpR4d168zNsOBdWcntKN6JsO 7EnlkuHADXfku72NksiITaqFo3dHrp87HgxfJrsnGAlVu0uPYbllu7pt+acrAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675195405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gtw3FkFMUd3m02Xu0CBQ+w86K6HkLHEdRMIpiwYDjQA=; b=o8HkwP5H1KXaDpZP8eBftVJdGSmlP4wRecIaXg+vvSt+xONEHi00AVrr0Lh1OpF4cwTFtH z1s3x12YTyX5ejf06wL0EvPMOZnHfQNVCME8nFUZ+2mi4oGjx0neG6MTT33717C27P600g ZYck0Y+eU8Ud2ED5xEfPW/a31pfzXGAJV8dyyWqUB/YTdgTet8aiKNVCRTcC0ICp0KxNV0 7+ZYKi6iBTOiIFopTmTCT0+m1eCuODQYyJ3+/oRrTeMSnkwYdBWl2XwZ/yMKhW5xzYBLvb xYF1ejI/aA8dcMsev3QM1bdq3r3KJoh4Q9iWAobk4tLTWaoe0+bw+6kOBk8BIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675195405; a=rsa-sha256; cv=none; b=gSJzv26iaFC81LXKvXI6klCrfoZBHyCsN2A+AfgqOrD2GFeJMijZpcD5+Yi1VNijkB01Ip TPg4X6zlYJFDBGA2vUtpdnIEwVG6LrBfP6M3IvlIrT1WoL5rMI1aWCc4Ywf+HH+p3LXCZO XQdPvO3qB4iLO9aJnxqvFCS41PEeSyHNUMyNAuaLveIstuRLXQjABPR4wk2x6P+3U42r3Y qT93mX9iF9tXHLCjRdppwygBJSn9pwJMaBVmVPDCx/9PYjzRnejrkJUNgxO04qmKFgtWPv M61k1DzT48UAWFnKLtEq8x7VxToMwRl06yneZMGBnXqN1JIQcFk0VJxghyQihA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5wwF28cXz12NP; Tue, 31 Jan 2023 20:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VK3PwM025125; Tue, 31 Jan 2023 20:03:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VK3PVH025124; Tue, 31 Jan 2023 20:03:25 GMT (envelope-from git) Date: Tue, 31 Jan 2023 20:03:25 GMT Message-Id: <202301312003.30VK3PVH025124@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 087f0d352ac6 - main - Mechanically convert bge(4) to DrvAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 087f0d352ac6e949a51b3e7e0f696d10844e8ada Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=087f0d352ac6e949a51b3e7e0f696d10844e8ada commit 087f0d352ac6e949a51b3e7e0f696d10844e8ada Author: Justin Hibbits AuthorDate: 2022-08-19 19:16:26 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 20:02:18 +0000 Mechanically convert bge(4) to DrvAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37842 --- sys/dev/bge/if_bge.c | 10 ++++++---- sys/dev/bge/if_bgereg.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index eb72af69a448..726f89379ad0 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -1922,6 +1922,7 @@ bge_blockinit(struct bge_softc *sc) { struct bge_rcb *rcb; bus_size_t vrcb; + caddr_t lladdr; bge_hostaddr taddr; uint32_t dmactl, rdmareg, val; int i, limit; @@ -2268,11 +2269,12 @@ bge_blockinit(struct bge_softc *sc) RCB_WRITE_4(sc, vrcb, bge_maxlen_flags, BGE_RCB_MAXLEN_FLAGS(sc->bge_return_ring_cnt, 0)); + lladdr = if_getlladdr(sc->bge_ifp); /* Set random backoff seed for TX */ CSR_WRITE_4(sc, BGE_TX_RANDOM_BACKOFF, - (IF_LLADDR(sc->bge_ifp)[0] + IF_LLADDR(sc->bge_ifp)[1] + - IF_LLADDR(sc->bge_ifp)[2] + IF_LLADDR(sc->bge_ifp)[3] + - IF_LLADDR(sc->bge_ifp)[4] + IF_LLADDR(sc->bge_ifp)[5]) & + (lladdr[0] + lladdr[1] + + lladdr[2] + lladdr[3] + + lladdr[4] + lladdr[5]) & BGE_TX_BACKOFF_SEED_MASK); /* Set inter-packet gap */ @@ -5450,7 +5452,7 @@ bge_init_locked(struct bge_softc *sc) (if_getcapenable(ifp) & IFCAP_VLAN_MTU ? ETHER_VLAN_ENCAP_LEN : 0)); /* Load our MAC address. */ - m = (uint16_t *)IF_LLADDR(sc->bge_ifp); + m = (uint16_t *)if_getlladdr(sc->bge_ifp); CSR_WRITE_4(sc, BGE_MAC_ADDR1_LO, htons(m[0])); CSR_WRITE_4(sc, BGE_MAC_ADDR1_HI, (htons(m[1]) << 16) | htons(m[2])); diff --git a/sys/dev/bge/if_bgereg.h b/sys/dev/bge/if_bgereg.h index 494b5f53694f..98cb76d96162 100644 --- a/sys/dev/bge/if_bgereg.h +++ b/sys/dev/bge/if_bgereg.h @@ -2942,7 +2942,7 @@ struct bge_bcom_hack { #define ASF_STACKUP 4 struct bge_softc { - struct ifnet *bge_ifp; /* interface info */ + if_t bge_ifp; /* interface info */ device_t bge_dev; struct mtx bge_mtx; device_t bge_miibus; From nobody Tue Jan 31 21:53:45 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMZ1vX0z3cPTm; Tue, 31 Jan 2023 21:53: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 4P5zMZ1M1Rz3mZc; Tue, 31 Jan 2023 21:53:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8wyMLloPH6qrSik+PyIak9o6CRW5X6ZMflrhOihayLQ=; b=FPxxX3Fcztgfs8xVjWxA+iFlQyBPWc7RUz8DJp2LvZ6Q3DxSkt8dBXzYtIEf6KB/DUAGhO DgxbTGB//w9rkYfVXJVtIwjBnKHv9OUI2tasiuXaTdbFNs43MrYa4A+s9gFy87jSdFwSe7 r8MxFNE19ru+qqzuoL/yn112dg1msidZEIrq1MPX57GGFcCuDcjdq9gCJuZmZYfTeQGvMO I77dBUTmkG77tnRIY98xojneb2d6Wnt5VreEtxHgx50rBoqc4nHG8GWQ+45iNpGeCpwBV8 +xDs4CP/S1yKPM2AUPN/RdmO6DMJwj5sT9/5S3DPswjO2yiO4j4ivrMIQfAW2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8wyMLloPH6qrSik+PyIak9o6CRW5X6ZMflrhOihayLQ=; b=pbW+1NLBVGGbilh5ID1irsU0RzLk65cxxH/4Uvt+MQ3+/EFwRO+BHO/NyU5w9QWf6MN+84 CS9sH7QMKZKqjJdwxt5/mAPlKwNfzosZvaMjy0j64TF3p9fPaAnYrxbhV2Rm3qT2zk0WhV Zz6Hm9s8rvWXcqmlZTTbC/OZOtqyC7dWTjfaS80dtyWxIGRYm9oVYcA3qc89HZA7zn+G16 DjaDxYFIIKjSYTIOEttY9TvdWYcfZpfxhu1QegYYawnp05cvythdG0e78Ph72mbgMvmQyE 1VVVs15LIs3JIsn5nvhtu5oG8lQIBQ45aqJW544NCjDPdEXG2MhyuG5U7Ud4kA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202026; a=rsa-sha256; cv=none; b=hoJBYYF0reFARfaRfr4glXQPucT/nOUd1t7ZZWL/WrSPlvuNt9ydpXsM+TUFejONE61IVH WChf0g1I2jFSMTkggJJQy6V6/StUr02ek35XybmUjhMdFRpmj+10GohDmwvFWSwKLnyFVb K7oy/utfA+OCwjEsiH7Yi3H6I3Tju4bJ/xjlNjrFDCHsZ+MCfKe6BO3lRKaCcdeZ4nLuEP oH7j4ONOHjQLaq291QdhWjpRKjNLFdTzKARVbMT/EJYUbNiOb/KEyMp6eE35D1+rXBxRku wo6JfI6PHIbQF5RlxBcjK4Ra2gYtDvmr98nAEXmu7xqDLdiEcQn+8xGydcaHdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMZ0NQhz14TS; Tue, 31 Jan 2023 21:53:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLrj1E080645; Tue, 31 Jan 2023 21:53:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLrjxP080644; Tue, 31 Jan 2023 21:53:45 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:45 GMT Message-Id: <202301312153.30VLrjxP080644@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 34d5a6a3dc6b - main - Last change for mgb(4) needed for IfAPI conversion List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 34d5a6a3dc6b8a29499b4723168d7450b17dfd01 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=34d5a6a3dc6b8a29499b4723168d7450b17dfd01 commit 34d5a6a3dc6b8a29499b4723168d7450b17dfd01 Author: Justin Hibbits AuthorDate: 2023-01-24 20:58:00 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:33 +0000 Last change for mgb(4) needed for IfAPI conversion Sponsored by: Juniper Networks, Inc. --- sys/dev/mgb/if_mgb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mgb/if_mgb.c b/sys/dev/mgb/if_mgb.c index 8c58b965b7df..3479ffb20095 100644 --- a/sys/dev/mgb/if_mgb.c +++ b/sys/dev/mgb/if_mgb.c @@ -513,7 +513,7 @@ mgb_media_change(if_t ifp) needs_reset = mii_mediachg(miid); if (needs_reset != 0) - ifp->if_init(ctx); + if_init(ifp, ctx); return (needs_reset); } From nobody Tue Jan 31 21:53:47 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMb2Wh2z3cPt8; Tue, 31 Jan 2023 21:53: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 4P5zMb244lz3m7h; Tue, 31 Jan 2023 21:53:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/RVBIRMEdrjTSj5NZtChEl/od/Omi/eTiIrTfaPeL1Y=; b=eaRcO7aGC9Y9IWPuxtbuqI/jPS7oujc/5H4RpAGWL9haqRaa6OEdvNJE4rezX3tbIjklfL /DcjJDlhb9VXZYv1yqQoh8OKD/4BLTlnui7AYzlwINBc5WqczHrmP/wyVg4wiQFYBnDzgA WiZlm7dA74hL4gdgFb26i0e8U42x8IBkMw3OZ0OZPDSZzZmexwvwu2vzL/nJGzWyz2If6f zKKuUL0quBQ3mAipI0KkvvaqLjz7b8YmSvyC5nbXeHtncmmrK9ZW8mwtJ9zZDJy2/TagDC 2yHReURdp3z5r7OOJMGUR+gTwkyutXyLo0RN1IjELHEWKnB6tq6hAzlGSVt1uA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202027; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/RVBIRMEdrjTSj5NZtChEl/od/Omi/eTiIrTfaPeL1Y=; b=ZoauZMbrCwUBc8HHgPTiKkVPIyFvuSHZMd5K9gtwf7W7Z/oIKS0WPd52qNfmKaqcmqi+ks ZkIgjzey9kFuYErtSvDcGaAZH5+sEnoXMA7bJ3wzfxOZkclRhXr3mdo2mnagfu0IuNdpHt 1jeWJ4v9dEGn2KM9iwd7oK5UdCaIzDae1mjo/IkNqi8pRkc7kh7iQ6602WJd5n4Mn9wUVT S4PChGjzRZrIDrYis/90gZf5rOVxOjWLXNBQvJ5IcS1EIvC6g6dFyqfSEltVkJoWyG2xOM 8xVHaR8Tq4MUrlihzl2rg2N2uhHPGBofJcuVbXoAH3cTWIr9hfKq1K+RvpOg0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202027; a=rsa-sha256; cv=none; b=dLOqziBMtR+VAhQZimBbBh6nwpUvPydtOw8BXP/7v+9fBTNj47Cj9SzH5sxQwqovFj5mWX O+BTbyIZzw0HIfPzMHB0tvplVbMbjsc2zJH/6H2zFpqYg25nGsobrv0D4bB0q9s71v/HjD Nk4DeVrctd6siFP5NfDXz78vxHbJONrJMlRwC+TZC+bl4ZXuMGkbAqXxtVa67FcYXaLpOT 1DGnrmf/zgOqR5eihHwgADsvpOCREErQ80l1F2IWvMK50fmV1SZ8WIrXPglPZzdTGgKghK PPFx6+820ftHwmPhyqrv/fwWm2DLh9FEiVL75INgEsKPKTDKb8/OtaJ/f9ZmyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMb11Zlz14HR; Tue, 31 Jan 2023 21:53:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLrlCE080669; Tue, 31 Jan 2023 21:53:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLrlkj080668; Tue, 31 Jan 2023 21:53:47 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:47 GMT Message-Id: <202301312153.30VLrlkj080668@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 74c592c04713 - main - etherswitch: Clean up whitespace after IfAPI conversion List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 74c592c047133cc6cecd7bbf5287dd285868c1b0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=74c592c047133cc6cecd7bbf5287dd285868c1b0 commit 74c592c047133cc6cecd7bbf5287dd285868c1b0 Author: Justin Hibbits AuthorDate: 2023-01-31 20:54:56 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:33 +0000 etherswitch: Clean up whitespace after IfAPI conversion Sponsored by: Juniper Networks, Inc. Fixes: 2e6a8c1ae --- sys/dev/etherswitch/arswitch/arswitch.c | 4 ++-- sys/dev/etherswitch/e6000sw/e6000sw.c | 4 ++-- sys/dev/etherswitch/e6000sw/e6060sw.c | 6 +++--- sys/dev/etherswitch/felix/felix.c | 4 ++-- sys/dev/etherswitch/infineon/adm6996fc.c | 6 +++--- sys/dev/etherswitch/ip17x/ip17x.c | 6 +++--- sys/dev/etherswitch/micrel/ksz8995ma.c | 6 +++--- sys/dev/etherswitch/rtl8366/rtl8366rb.c | 4 ++-- sys/dev/etherswitch/ukswitch/ukswitch.c | 6 +++--- 9 files changed, 23 insertions(+), 23 deletions(-) diff --git a/sys/dev/etherswitch/arswitch/arswitch.c b/sys/dev/etherswitch/arswitch/arswitch.c index 1f3d05611f0f..4703a73818a7 100644 --- a/sys/dev/etherswitch/arswitch/arswitch.c +++ b/sys/dev/etherswitch/arswitch/arswitch.c @@ -85,8 +85,8 @@ static int led_pattern_table[] = { static inline int arswitch_portforphy(int phy); static void arswitch_tick(void *arg); -static int arswitch_ifmedia_upd(if_t ); -static void arswitch_ifmedia_sts(if_t , struct ifmediareq *); +static int arswitch_ifmedia_upd(if_t); +static void arswitch_ifmedia_sts(if_t, struct ifmediareq *); static int ar8xxx_port_vlan_setup(struct arswitch_softc *sc, etherswitch_port_t *p); static int ar8xxx_port_vlan_get(struct arswitch_softc *sc, diff --git a/sys/dev/etherswitch/e6000sw/e6000sw.c b/sys/dev/etherswitch/e6000sw/e6000sw.c index 812c004a37c3..cb2d56e64812 100644 --- a/sys/dev/etherswitch/e6000sw/e6000sw.c +++ b/sys/dev/etherswitch/e6000sw/e6000sw.c @@ -136,8 +136,8 @@ static int e6000sw_vtu_flush(e6000sw_softc_t *); static int e6000sw_vtu_update(e6000sw_softc_t *, int, int, int, int, int); static __inline void e6000sw_writereg(e6000sw_softc_t *, int, int, int); static __inline uint32_t e6000sw_readreg(e6000sw_softc_t *, int, int); -static int e6000sw_ifmedia_upd(if_t ); -static void e6000sw_ifmedia_sts(if_t , struct ifmediareq *); +static int e6000sw_ifmedia_upd(if_t); +static void e6000sw_ifmedia_sts(if_t, struct ifmediareq *); static int e6000sw_atu_mac_table(device_t, e6000sw_softc_t *, struct atu_opt *, int); static int e6000sw_get_pvid(e6000sw_softc_t *, int, int *); diff --git a/sys/dev/etherswitch/e6000sw/e6060sw.c b/sys/dev/etherswitch/e6000sw/e6060sw.c index f53cca80c0a0..f21b7d2c24d0 100644 --- a/sys/dev/etherswitch/e6000sw/e6060sw.c +++ b/sys/dev/etherswitch/e6000sw/e6060sw.c @@ -150,8 +150,8 @@ struct e6060sw_softc { static inline int e6060sw_portforphy(struct e6060sw_softc *, int); static void e6060sw_tick(void *); -static int e6060sw_ifmedia_upd(if_t ); -static void e6060sw_ifmedia_sts(if_t , struct ifmediareq *); +static int e6060sw_ifmedia_upd(if_t); +static void e6060sw_ifmedia_sts(if_t, struct ifmediareq *); static void e6060sw_setup(device_t dev); static int e6060sw_read_vtu(device_t dev, int num, int *data1, int *data2); @@ -300,7 +300,7 @@ e6060sw_attach(device_t dev) e6060sw_setup(dev); - sc->ifp = malloc(sizeof(if_t ) * sc->numports, M_E6060SW, + sc->ifp = malloc(sizeof(if_t) * sc->numports, M_E6060SW, M_WAITOK | M_ZERO); sc->ifname = malloc(sizeof(char *) * sc->numports, M_E6060SW, M_WAITOK | M_ZERO); diff --git a/sys/dev/etherswitch/felix/felix.c b/sys/dev/etherswitch/felix/felix.c index fc846da32aa2..5a08da8fb1ff 100644 --- a/sys/dev/etherswitch/felix/felix.c +++ b/sys/dev/etherswitch/felix/felix.c @@ -88,8 +88,8 @@ static int felix_setup(felix_softc_t); static void felix_setup_port(felix_softc_t, int); static void felix_tick(void *); -static int felix_ifmedia_upd(if_t ); -static void felix_ifmedia_sts(if_t , struct ifmediareq *); +static int felix_ifmedia_upd(if_t); +static void felix_ifmedia_sts(if_t, struct ifmediareq *); static void felix_get_port_cfg(felix_softc_t, etherswitch_port_t *); static void felix_set_port_cfg(felix_softc_t, etherswitch_port_t *); diff --git a/sys/dev/etherswitch/infineon/adm6996fc.c b/sys/dev/etherswitch/infineon/adm6996fc.c index ec6f7c98b015..7b3c97a99303 100644 --- a/sys/dev/etherswitch/infineon/adm6996fc.c +++ b/sys/dev/etherswitch/infineon/adm6996fc.c @@ -122,8 +122,8 @@ struct adm6996fc_softc { static inline int adm6996fc_portforphy(struct adm6996fc_softc *, int); static void adm6996fc_tick(void *); -static int adm6996fc_ifmedia_upd(if_t ); -static void adm6996fc_ifmedia_sts(if_t , struct ifmediareq *); +static int adm6996fc_ifmedia_upd(if_t); +static void adm6996fc_ifmedia_sts(if_t, struct ifmediareq *); #define ADM6996FC_READREG(dev, x) \ MDIO_READREG(dev, ((x) >> 5), ((x) & 0x1f)); @@ -254,7 +254,7 @@ adm6996fc_attach(device_t dev) sc->info.es_nvlangroups = 16; sc->info.es_vlan_caps = ETHERSWITCH_VLAN_PORT | ETHERSWITCH_VLAN_DOT1Q; - sc->ifp = malloc(sizeof(if_t ) * sc->numports, M_ADM6996FC, + sc->ifp = malloc(sizeof(if_t) * sc->numports, M_ADM6996FC, M_WAITOK | M_ZERO); sc->ifname = malloc(sizeof(char *) * sc->numports, M_ADM6996FC, M_WAITOK | M_ZERO); diff --git a/sys/dev/etherswitch/ip17x/ip17x.c b/sys/dev/etherswitch/ip17x/ip17x.c index 7c6d253e7964..9bc3ca66da04 100644 --- a/sys/dev/etherswitch/ip17x/ip17x.c +++ b/sys/dev/etherswitch/ip17x/ip17x.c @@ -79,8 +79,8 @@ MALLOC_DECLARE(M_IP17X); MALLOC_DEFINE(M_IP17X, "ip17x", "ip17x data structures"); static void ip17x_tick(void *); -static int ip17x_ifmedia_upd(if_t ); -static void ip17x_ifmedia_sts(if_t , struct ifmediareq *); +static int ip17x_ifmedia_upd(if_t); +static void ip17x_ifmedia_sts(if_t, struct ifmediareq *); static void ip17x_identify(driver_t *driver, device_t parent) @@ -240,7 +240,7 @@ ip17x_attach(device_t dev) /* Always attach the cpu port. */ sc->phymask |= (1 << sc->cpuport); - sc->ifp = malloc(sizeof(if_t ) * sc->numports, M_IP17X, + sc->ifp = malloc(sizeof(if_t) * sc->numports, M_IP17X, M_WAITOK | M_ZERO); sc->pvid = malloc(sizeof(uint32_t) * sc->numports, M_IP17X, M_WAITOK | M_ZERO); diff --git a/sys/dev/etherswitch/micrel/ksz8995ma.c b/sys/dev/etherswitch/micrel/ksz8995ma.c index c7d3806fb558..6b7bbb3da767 100644 --- a/sys/dev/etherswitch/micrel/ksz8995ma.c +++ b/sys/dev/etherswitch/micrel/ksz8995ma.c @@ -173,8 +173,8 @@ struct ksz8995ma_softc { static inline int ksz8995ma_portforphy(struct ksz8995ma_softc *, int); static void ksz8995ma_tick(void *); -static int ksz8995ma_ifmedia_upd(if_t ); -static void ksz8995ma_ifmedia_sts(if_t , struct ifmediareq *); +static int ksz8995ma_ifmedia_upd(if_t); +static void ksz8995ma_ifmedia_sts(if_t, struct ifmediareq *); static int ksz8995ma_readreg(device_t dev, int addr); static int ksz8995ma_writereg(device_t dev, int addr, int value); static void ksz8995ma_portvlanreset(device_t dev); @@ -304,7 +304,7 @@ ksz8995ma_attach(device_t dev) sc->info.es_nvlangroups = 16; sc->info.es_vlan_caps = ETHERSWITCH_VLAN_PORT | ETHERSWITCH_VLAN_DOT1Q; - sc->ifp = malloc(sizeof(if_t ) * sc->numports, M_KSZ8995MA, + sc->ifp = malloc(sizeof(if_t) * sc->numports, M_KSZ8995MA, M_WAITOK | M_ZERO); sc->ifname = malloc(sizeof(char *) * sc->numports, M_KSZ8995MA, M_WAITOK | M_ZERO); diff --git a/sys/dev/etherswitch/rtl8366/rtl8366rb.c b/sys/dev/etherswitch/rtl8366/rtl8366rb.c index f171bbe25e31..7e64bc62bcca 100644 --- a/sys/dev/etherswitch/rtl8366/rtl8366rb.c +++ b/sys/dev/etherswitch/rtl8366/rtl8366rb.c @@ -126,8 +126,8 @@ static int smi_read(device_t dev, uint16_t addr, uint16_t *data, int sleep); static int smi_write(device_t dev, uint16_t addr, uint16_t data, int sleep); static int smi_rmw(device_t dev, uint16_t addr, uint16_t mask, uint16_t data, int sleep); static void rtl8366rb_tick(void *arg); -static int rtl8366rb_ifmedia_upd(if_t ); -static void rtl8366rb_ifmedia_sts(if_t , struct ifmediareq *); +static int rtl8366rb_ifmedia_upd(if_t); +static void rtl8366rb_ifmedia_sts(if_t, struct ifmediareq *); static void rtl8366rb_identify(driver_t *driver, device_t parent) diff --git a/sys/dev/etherswitch/ukswitch/ukswitch.c b/sys/dev/etherswitch/ukswitch/ukswitch.c index 5ec3a0db0d1e..7d4ab80b6667 100644 --- a/sys/dev/etherswitch/ukswitch/ukswitch.c +++ b/sys/dev/etherswitch/ukswitch/ukswitch.c @@ -97,8 +97,8 @@ struct ukswitch_softc { static inline int ukswitch_portforphy(struct ukswitch_softc *, int); static void ukswitch_tick(void *); -static int ukswitch_ifmedia_upd(if_t ); -static void ukswitch_ifmedia_sts(if_t , struct ifmediareq *); +static int ukswitch_ifmedia_upd(if_t); +static void ukswitch_ifmedia_sts(if_t, struct ifmediareq *); static int ukswitch_probe(device_t dev) @@ -201,7 +201,7 @@ ukswitch_attach(device_t dev) /* We do not support any vlan groups. */ sc->info.es_nvlangroups = 0; - sc->ifp = malloc(sizeof(if_t ) * sc->numports, M_UKSWITCH, + sc->ifp = malloc(sizeof(if_t) * sc->numports, M_UKSWITCH, M_WAITOK | M_ZERO); sc->ifname = malloc(sizeof(char *) * sc->numports, M_UKSWITCH, M_WAITOK | M_ZERO); From nobody Tue Jan 31 21:53:48 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMc3GhXz3cPtC; Tue, 31 Jan 2023 21:53: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 4P5zMc2txBz3mMx; Tue, 31 Jan 2023 21:53:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AqG2f8ksNK9RWJd5sYno9IG1SZcwyiQODibl8gUvfXk=; b=tdGkCX6mrmi+XYYMrFU5zzLYvDbdC9Jwn8WrvTwWX+cHVzv9vyks9+Hi79R8KXZTfUTF/p VsVkBQUu4MoijYLdmFd9YOjh5YFFg7/b32JL6q53AWfaqbnUqXP7QtpS/mtbo/cwp6JPKN 4Q+XZXrVqQn7JrSHpyevUza3TytSI/ZbptGUyn9nhqbVDF0ZCIbSBVJ91eDEs92IQjD0Pv T7iJabHHghJDIiDrHj4xfojOs3XoYCPwHYr3VMJvn2I0VOpMMQUrb+G2rlSQxsbBeOKaX8 iQXv+7Ria1DHhlJ3Z6HpXfZsrSJE1L+xM07bSaCX16zh9bUp/Y+cvzgQOpgG5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202028; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AqG2f8ksNK9RWJd5sYno9IG1SZcwyiQODibl8gUvfXk=; b=vCD7jsx0wMPovvFcyOpOMmMDNv1OzTnJAOmieaq/UNj9to80H7RYnZ0AFzNBpcpBuZNies MTLG1Z71iqKRjvVpNqdvBMCJ56cSMtPi4aPQxctfe3MeKj3nmKQu7hFRf9oNibjzn+QDXd Dods0R4lrPKvaWj2XlfMPcG/nYR6Ru72JWBsoljjV1oXlf43AlhAKKkS2PJY6gbCo9m8ZG ILYC/tkq97/Ybb1mpOjPE4IKSDhGqdqs5DNcXJ49eo8lVvj6qKoFdGhJxoeOlqcbergiTg 8kwdUcmq/N1y1yfWHLUK5TlFJH2/PuIccbSIuJLWwnq2L0d0awRpUUqlPp+RNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202028; a=rsa-sha256; cv=none; b=cs1qCO3VH0bOFvMXTQ9P9XHGEBVeyqNbKEGGGKuwUYu+od0AWyGSMStLeduYz5GAThGeqI HyO+IBrpeanRPVEfnrB82v2JeaiY1I7YFSjOZDxtL5i+arhsWuzTB4UaOvPE/54iVSa9Bs uaEo3zh65WJ2+eh0zOFiW54tF6+O6mFBgl4VgUY9rNlOwB8eEt8ca3Zz5Xl2xxdcfySt2q i/7lzA5XC4/QU9wju+Q8v9ZeYzf3YEWXted4D7nOv78WXgNSRt3BtBMss8jqkkzAwNzZNe JRhPSo7a7RYCc4dwE8fbfY9wvN94VD8x5U0A18KlgZr52adJj4LFuJsuTqJWxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMc1y17z14gP; Tue, 31 Jan 2023 21:53:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLrmnQ080693; Tue, 31 Jan 2023 21:53:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLrmlI080692; Tue, 31 Jan 2023 21:53:48 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:48 GMT Message-Id: <202301312153.30VLrmlI080692@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: ad06fc328365 - main - re(4): Fix whitespace from IfAPI conversion List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ad06fc328365fc7fff9c8adee43ad798a6c6a73e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=ad06fc328365fc7fff9c8adee43ad798a6c6a73e commit ad06fc328365fc7fff9c8adee43ad798a6c6a73e Author: Justin Hibbits AuthorDate: 2023-01-31 21:09:03 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:33 +0000 re(4): Fix whitespace from IfAPI conversion Fixes: 4519a073c326b Sponsored by: Juniper Networks, Inc. --- sys/dev/re/if_re.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 828dfc35004e..aaf3860fcc48 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -273,17 +273,17 @@ static __inline void re_fixup_rx static int re_rxeof (struct rl_softc *, int *); static void re_txeof (struct rl_softc *); #ifdef DEVICE_POLLING -static int re_poll (if_t , enum poll_cmd, int); -static int re_poll_locked (if_t , enum poll_cmd, int); +static int re_poll (if_t, enum poll_cmd, int); +static int re_poll_locked (if_t, enum poll_cmd, int); #endif static int re_intr (void *); static void re_intr_msi (void *); static void re_tick (void *); static void re_int_task (void *, int); -static void re_start (if_t ); -static void re_start_locked (if_t ); +static void re_start (if_t); +static void re_start_locked (if_t); static void re_start_tx (struct rl_softc *); -static int re_ioctl (if_t , u_long, caddr_t); +static int re_ioctl (if_t, u_long, caddr_t); static void re_init (void *); static void re_init_locked (struct rl_softc *); static void re_stop (struct rl_softc *); @@ -291,8 +291,8 @@ static void re_watchdog (struct rl_softc *); static int re_suspend (device_t); static int re_resume (device_t); static int re_shutdown (device_t); -static int re_ifmedia_upd (if_t ); -static void re_ifmedia_sts (if_t , struct ifmediareq *); +static int re_ifmedia_upd (if_t); +static void re_ifmedia_sts (if_t, struct ifmediareq *); static void re_eeprom_putbyte (struct rl_softc *, int); static void re_eeprom_getword (struct rl_softc *, int, u_int16_t *); From nobody Tue Jan 31 21:53:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMd5knwz3cPtJ; Tue, 31 Jan 2023 21:53: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 4P5zMd3dWQz3mKj; Tue, 31 Jan 2023 21:53:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mfa6cE5toL2CEZGNQLzdhEQiHExZubB5uedfuy26VAM=; b=sr6oy/WeC9S9E7vXsVSRswI044FievlJv10HitvaxaK5kfrO4SF3xqNmgKIorhS9zwgGKE ineUVDfbtd51d6NLjputKT1Bs8KSD0TJjeTBJEXsYOTpNx53pEyegNAP1unz6qNU3F4oiu Q79Vu8WLNrPoRkYxTZOIIRGVyMx7QnndCooOzMZLgcnYGUWSs2+ye+AQUk4/iRjT6V8BDU HalvaN2E6Hwqd/C11BCeVd+GGAktxi/t0LltO4/NLxBISU5jC3WumnhnN3uzfywENiX3F7 XTVY/SGK6Ou/HJCmS9pohDEGSpMRO/HFOzjsa4VXiRYUJRj9jj+ePjsq0fo+YQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mfa6cE5toL2CEZGNQLzdhEQiHExZubB5uedfuy26VAM=; b=YQAsJ86NAxW5W8FICiRSbSvCU8GZgqoAohf1dfWgViPlc5g30ZyveUh2TMUJOnO3T9Pr74 IjR7JTGNiMWx5LRYcXJgq38v3vfGLKLC5SotcNCE1SHb+xhoWGfEe/vw9kdvR6GXMZAJwr 3iRpwynIxKKU9WUYSkv6hn7fOR8PJAKPm35zTWMqoie8f6/LaoW/En8+8izHr2Kcm4x74E XurawzjSmBO9SkJhBd1LJhDjl0XwNXqxm0HAfcYGzLXeRSyP1kMJVm6trVuHCCQUaugOmO znkG2unwAnZsh4t4FJSBw9P8lKAK4Kch1hlJjoFin6jfi1YeWb5XBYjambErfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202029; a=rsa-sha256; cv=none; b=jGafc0m7fCLAPQWb0ijTa6+qSVcvG7dgYLY3mJVaM7cFERocXZ2mXto5G6e0mxVHWPhJG0 BAsST06DZCa7hBSMGmibWgNgeeEWitJhAl4eWLi2xTate7MplyIPm1C1HVOMeoKjklvhw3 OGwUjfRq1sIRF1MKFJ2GATxk1XLqG9v1kcMA5FM+lPdPna8KJHzf0nsX5CeMQuBqdc5m6p vNf8YGMgMfYaa9HOdy7/BEYZdeRVDLnp4a/Eqk0f4Ypo9+3GhzVSDn5AO4Cr38NfW3G2H4 +d5aSWbCsx1WqrBUyGxcWWfMQBIZeYA+l4CNk6hirEJdBjw7Dk1CEl366DTSqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMd2lGwz14Zf; Tue, 31 Jan 2023 21:53:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLrnhn080724; Tue, 31 Jan 2023 21:53:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLrnRH080723; Tue, 31 Jan 2023 21:53:49 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:49 GMT Message-Id: <202301312153.30VLrnRH080723@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: b7459fb0adaf - main - Mechanically convert genet(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b7459fb0adaf05268b5da9a8772a4fb0250bba65 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=b7459fb0adaf05268b5da9a8772a4fb0250bba65 commit b7459fb0adaf05268b5da9a8772a4fb0250bba65 Author: Justin Hibbits AuthorDate: 2022-08-19 16:03:42 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:34 +0000 Mechanically convert genet(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37832 --- sys/arm64/broadcom/genet/if_genet.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/arm64/broadcom/genet/if_genet.c b/sys/arm64/broadcom/genet/if_genet.c index 10ec4dde8955..1add2bb7fe3d 100644 --- a/sys/arm64/broadcom/genet/if_genet.c +++ b/sys/arm64/broadcom/genet/if_genet.c @@ -950,7 +950,7 @@ gen_setup_multi(void *arg, struct sockaddr_dl *sdl, u_int count) static void gen_setup_rxfilter(struct gen_softc *sc) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; uint32_t cmd, mdf_ctrl; u_int n; @@ -966,17 +966,17 @@ gen_setup_rxfilter(struct gen_softc *sc) n = if_llmaddr_count(ifp) + 2; if (n > GENET_MAX_MDF_FILTER) - ifp->if_flags |= IFF_ALLMULTI; + if_setflagbits(ifp, IFF_ALLMULTI, 0); else - ifp->if_flags &= ~IFF_ALLMULTI; + if_setflagbits(ifp, 0, IFF_ALLMULTI); - if ((ifp->if_flags & (IFF_PROMISC|IFF_ALLMULTI)) != 0) { + if ((if_getflags(ifp) & (IFF_PROMISC|IFF_ALLMULTI)) != 0) { cmd |= GENET_UMAC_CMD_PROMISC; mdf_ctrl = 0; } else { cmd &= ~GENET_UMAC_CMD_PROMISC; gen_setup_rxfilter_mdf(sc, 0, ether_broadcastaddr); - gen_setup_rxfilter_mdf(sc, 1, IF_LLADDR(ifp)); + gen_setup_rxfilter_mdf(sc, 1, if_getlladdr(ifp)); (void) if_foreach_llmaddr(ifp, gen_setup_multi, sc); mdf_ctrl = (__BIT(GENET_MAX_MDF_FILTER) - 1) &~ (__BIT(GENET_MAX_MDF_FILTER - n) - 1); @@ -998,7 +998,7 @@ gen_set_enaddr(struct gen_softc *sc) ifp = sc->ifp; /* Write our unicast address */ - enaddr = IF_LLADDR(ifp); + enaddr = if_getlladdr(ifp); /* Write hardware address */ val = enaddr[3] | (enaddr[2] << 8) | (enaddr[1] << 16) | (enaddr[0] << 24); @@ -1084,7 +1084,7 @@ gen_encap(struct gen_softc *sc, struct mbuf **mp) if (m->m_len == sizeof(struct ether_header)) { m = m_pullup(m, MIN(m->m_pkthdr.len, gen_tx_hdr_min)); if (m == NULL) { - if (sc->ifp->if_flags & IFF_DEBUG) + if (if_getflags(sc->ifp) & IFF_DEBUG) device_printf(sc->dev, "header pullup fail\n"); *mp = NULL; @@ -1098,7 +1098,7 @@ gen_encap(struct gen_softc *sc, struct mbuf **mp) csumdata = m->m_pkthdr.csum_data; M_PREPEND(m, sizeof(struct statusblock), M_NOWAIT); if (m == NULL) { - if (sc->ifp->if_flags & IFF_DEBUG) + if (if_getflags(sc->ifp) & IFF_DEBUG) device_printf(sc->dev, "prepend fail\n"); *mp = NULL; return (ENOMEM); @@ -1377,7 +1377,7 @@ gen_rxintr(struct gen_softc *sc, struct rx_queue *q) (GENET_RX_DESC_STATUS_SOP | GENET_RX_DESC_STATUS_EOP | GENET_RX_DESC_STATUS_RX_ERROR)) != (GENET_RX_DESC_STATUS_SOP | GENET_RX_DESC_STATUS_EOP)) { - if (ifp->if_flags & IFF_DEBUG) + if (if_getflags(ifp) & IFF_DEBUG) device_printf(sc->dev, "error/frag %x csum %x\n", status, sb->rxcsum); @@ -1388,7 +1388,7 @@ gen_rxintr(struct gen_softc *sc, struct rx_queue *q) error = gen_newbuf_rx(sc, q, index); if (error != 0) { if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); - if (ifp->if_flags & IFF_DEBUG) + if (if_getflags(ifp) & IFF_DEBUG) device_printf(sc->dev, "gen_newbuf_rx %d\n", error); /* reuse previous mbuf */ From nobody Tue Jan 31 21:53:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMf50C3z3cPqg; Tue, 31 Jan 2023 21:53: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 4P5zMf4dtlz3mch; Tue, 31 Jan 2023 21:53:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bh9NIqwRAxbgginYXgPtbvUCCsURJG6zV2PdaCuNToA=; b=kVw/fDvYveFMULSkYC7A0pF6lpTex+NO9hx0H0dMXEyn9pyKLQyYZEgxiDx2jAGQFefUDc aOe/hV/riUJXobozYfF+PQwW+pvq+NHQkaCTyIUji3HKnTXdJN8oAzfj3m39FYdxqTgS+C CH9aJ/UhxSfd7vbK8vfkwZrvSJO31ejrfWyGB5JND083L30dPjSUvAD1SRhbmHJ/nhmCbj r+hQMD8aeMn/OzdTTYhXRN5Rs+8JKAxf28keEFwgirq/9APHqtRH5w+opvbdpLZKj/cZLT TdK4bnmdTh5tLTe4Tpg2jUo3NNztchZXjH5VRP9J3fBRQ6OX0+jHAq+yFKBKQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bh9NIqwRAxbgginYXgPtbvUCCsURJG6zV2PdaCuNToA=; b=iiJg0s2I3uf1vZZih1go+Xw0C93orYgKoJox3Rmor5Ggqz888qL16qQOVEryLrpP7fLgha 26tRnjlikKPywFTI45I5CURqwV46mikhvA/UYlseB6ARmCYV+esb2gdzQBKqcX4hDx4Bf2 ja6UzuMUqCQU6FWw7wBidgm2tW6Cv4SDHwBSOzpuNUOM096uBxS2fl8/9hjJMvskzGH6vA 5Rtkfg5B7ND+iOUMzx+jl8pGSPptyqxmnhZNV0mOl/eo/VdDz0AELn7YIsXzE4g1De3nVh IlQBAaKzTRmdjcmVejE+mJi+szb224BA6FcjQ7dnMA05xFHJIt7iYPhmiBFQ7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202030; a=rsa-sha256; cv=none; b=CRjkRS90m18dftrV5azOWOw5AWSU6/4gJ7JHKKgDLesP583/mzS6lq5gXfXYFjm2IfV+te +551Zek90pBiTkF3IC0eCO7MgXq6+0kN62x7hcemFGDJMzuGvCuQi9fzkHENxZXi6a917n pkbEiwPwA7Xd2WqJrAAV2QXnGpnKzO9I6UKgnUxOnlH6ld/TuLSf/AvtTFjPRhTQvExncE 67QxCtAQVpse+NQBSYeCAlXwVFmNUWXtD/V48b++x0d2V8mgslsQYrJqlRWo8ZT/GUJRZM vDHExuSCq5FReuD/V7G0zcI+0+f1Lg3amzODpuNN3FTgJvlTvUZinPMnkFOPzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMf3kW1z14rk; Tue, 31 Jan 2023 21:53:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLrodu080752; Tue, 31 Jan 2023 21:53:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLrocC080751; Tue, 31 Jan 2023 21:53:50 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:50 GMT Message-Id: <202301312153.30VLrocC080751@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 98fe10c8fc08 - main - Mechanically convert mge(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 98fe10c8fc08df95937af51856f5b77ff470cc3a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=98fe10c8fc08df95937af51856f5b77ff470cc3a commit 98fe10c8fc08df95937af51856f5b77ff470cc3a Author: Justin Hibbits AuthorDate: 2022-08-19 16:04:55 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:34 +0000 Mechanically convert mge(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37833 --- sys/dev/mge/if_mge.c | 151 ++++++++++++++++++++++++------------------------ sys/dev/mge/if_mgevar.h | 2 +- 2 files changed, 76 insertions(+), 77 deletions(-) diff --git a/sys/dev/mge/if_mge.c b/sys/dev/mge/if_mge.c index cd49bd5200de..af244c590769 100644 --- a/sys/dev/mge/if_mge.c +++ b/sys/dev/mge/if_mge.c @@ -100,15 +100,15 @@ static int mge_miibus_writereg(device_t dev, int phy, int reg, int value); static int mge_mdio_readreg(device_t dev, int phy, int reg); static int mge_mdio_writereg(device_t dev, int phy, int reg, int value); -static int mge_ifmedia_upd(struct ifnet *ifp); -static void mge_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr); +static int mge_ifmedia_upd(if_t ifp); +static void mge_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr); static void mge_init(void *arg); static void mge_init_locked(void *arg); -static void mge_start(struct ifnet *ifp); -static void mge_start_locked(struct ifnet *ifp); +static void mge_start(if_t ifp); +static void mge_start_locked(if_t ifp); static void mge_watchdog(struct mge_softc *sc); -static int mge_ioctl(struct ifnet *ifp, u_long command, caddr_t data); +static int mge_ioctl(if_t ifp, u_long command, caddr_t data); static uint32_t mge_tfut_ipg(uint32_t val, int ver); static uint32_t mge_rx_ipg(uint32_t val, int ver); @@ -144,7 +144,7 @@ static void mge_get_dma_addr(void *arg, bus_dma_segment_t *segs, int nseg, static void mge_free_dma(struct mge_softc *sc); static void mge_free_desc(struct mge_softc *sc, struct mge_desc_wrapper* tab, uint32_t size, bus_dma_tag_t buffer_tag, uint8_t free_mbufs); -static void mge_offload_process_frame(struct ifnet *ifp, struct mbuf *frame, +static void mge_offload_process_frame(if_t ifp, struct mbuf *frame, uint32_t status, uint16_t bufsize); static void mge_offload_setup_descriptor(struct mge_softc *sc, struct mge_desc_wrapper *dw); @@ -441,7 +441,7 @@ mge_set_mac_address(struct mge_softc *sc) MGE_GLOBAL_LOCK_ASSERT(sc); - if_mac = (char *)IF_LLADDR(sc->ifp); + if_mac = (char *)if_getlladdr(sc->ifp); mac_l = (if_mac[4] << 8) | (if_mac[5]); mac_h = (if_mac[0] << 24)| (if_mac[1] << 16) | @@ -478,7 +478,7 @@ mge_set_prom_mode(struct mge_softc *sc, uint8_t queue) uint32_t reg_val, i; /* Enable or disable promiscuous mode as needed */ - if (sc->ifp->if_flags & IFF_PROMISC) { + if (sc->if_getflags(ifp) & IFF_PROMISC) { port_config = MGE_READ(sc, MGE_PORT_CONFIG); port_config |= PORT_CONFIG_UPM; MGE_WRITE(sc, MGE_PORT_CONFIG, port_config); @@ -739,15 +739,15 @@ mge_reinit_rx(struct mge_softc *sc) static poll_handler_t mge_poll; static int -mge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) +mge_poll(if_t ifp, enum poll_cmd cmd, int count) { - struct mge_softc *sc = ifp->if_softc; + struct mge_softc *sc = if_getsoftc(ifp); uint32_t int_cause, int_cause_ext; int rx_npkts = 0; MGE_RECEIVE_LOCK(sc); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { MGE_RECEIVE_UNLOCK(sc); return (rx_npkts); } @@ -782,7 +782,7 @@ mge_attach(device_t dev) { struct mge_softc *sc; struct mii_softc *miisc; - struct ifnet *ifp; + if_t ifp; uint8_t hwaddr[ETHER_ADDR_LEN]; int i, error, phy; @@ -857,27 +857,26 @@ mge_attach(device_t dev) } if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_softc = sc; - ifp->if_flags = IFF_SIMPLEX | IFF_MULTICAST | IFF_BROADCAST; - ifp->if_capabilities = IFCAP_VLAN_MTU; + if_setsoftc(ifp, sc); + if_setflags(ifp, IFF_SIMPLEX | IFF_MULTICAST | IFF_BROADCAST); + if_setcapabilities(ifp, IFCAP_VLAN_MTU); if (sc->mge_hw_csum) { - ifp->if_capabilities |= IFCAP_HWCSUM; - ifp->if_hwassist = MGE_CHECKSUM_FEATURES; + if_setcapabilitiesbit(ifp, IFCAP_HWCSUM, 0); + if_sethwassist(ifp, MGE_CHECKSUM_FEATURES); } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); #ifdef DEVICE_POLLING /* Advertise that polling is supported */ - ifp->if_capabilities |= IFCAP_POLLING; + if_setcapabilitiesbit(ifp, IFCAP_POLLING, 0); #endif - ifp->if_init = mge_init; - ifp->if_start = mge_start; - ifp->if_ioctl = mge_ioctl; + if_setinitfn(ifp, mge_init); + if_setstartfn(ifp, mge_start); + if_setioctlfn(ifp, mge_ioctl); - ifp->if_snd.ifq_drv_maxlen = MGE_TX_DESC_NUM - 1; - IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); - IFQ_SET_READY(&ifp->if_snd); + if_setsendqlen(ifp, MGE_TX_DESC_NUM - 1); + if_setsendqready(ifp); mge_get_mac_address(sc, hwaddr); ether_ifattach(ifp, hwaddr); @@ -985,12 +984,12 @@ mge_detach(device_t dev) } static void -mge_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +mge_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { struct mge_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); MGE_GLOBAL_LOCK(sc); if (!sc->phy_attached) { @@ -1044,9 +1043,9 @@ mge_set_port_serial_control(uint32_t media) } static int -mge_ifmedia_upd(struct ifnet *ifp) +mge_ifmedia_upd(if_t ifp) { - struct mge_softc *sc = ifp->if_softc; + struct mge_softc *sc = if_getsoftc(ifp); /* * Do not do anything for switch here, as updating media between @@ -1055,7 +1054,7 @@ mge_ifmedia_upd(struct ifnet *ifp) */ if (sc->phy_attached) { MGE_GLOBAL_LOCK(sc); - if (ifp->if_flags & IFF_UP) { + if (if_getflags(ifp) & IFF_UP) { sc->mge_media_status = sc->mii->mii_media.ifm_media; mii_mediachg(sc->mii); @@ -1201,15 +1200,15 @@ mge_init_locked(void *arg) * * ...only if polling is not turned on. Disable interrupts explicitly * if polling is enabled. */ - if (sc->ifp->if_capenable & IFCAP_POLLING) + if (sc->if_getcapenable(ifp) & IFCAP_POLLING) mge_intrs_ctrl(sc, 0); else #endif /* DEVICE_POLLING */ mge_intrs_ctrl(sc, 1); /* Activate network interface */ - sc->ifp->if_drv_flags |= IFF_DRV_RUNNING; - sc->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->wd_timer = 0; /* Schedule watchdog timeout */ @@ -1227,7 +1226,7 @@ mge_intr_rxtx(void *arg) MGE_GLOBAL_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->ifp->if_capenable & IFCAP_POLLING) { + if (sc->if_getcapenable(ifp) & IFCAP_POLLING) { MGE_GLOBAL_UNLOCK(sc); return; } @@ -1257,7 +1256,7 @@ static void mge_intr_err(void *arg) { struct mge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = arg; ifp = sc->ifp; @@ -1268,7 +1267,7 @@ static void mge_intr_misc(void *arg) { struct mge_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = arg; ifp = sc->ifp; @@ -1284,7 +1283,7 @@ mge_intr_rx(void *arg) { MGE_RECEIVE_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->ifp->if_capenable & IFCAP_POLLING) { + if (sc->if_getcapenable(ifp) & IFCAP_POLLING) { MGE_RECEIVE_UNLOCK(sc); return; } @@ -1323,7 +1322,7 @@ mge_intr_rx_check(struct mge_softc *sc, uint32_t int_cause, static int mge_intr_rx_locked(struct mge_softc *sc, int count) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; uint32_t status; uint16_t bufsize; struct mge_desc_wrapper* dw; @@ -1367,7 +1366,7 @@ mge_intr_rx_locked(struct mge_softc *sc, int count) bufsize); MGE_RECEIVE_UNLOCK(sc); - (*ifp->if_input)(ifp, mb); + if_input(ifp, mb); MGE_RECEIVE_LOCK(sc); rx_npkts++; } @@ -1391,7 +1390,7 @@ static void mge_intr_sum(void *arg) { struct mge_softc *sc = arg; - struct ifnet *ifp; + if_t ifp; ifp = sc->ifp; if_printf(ifp, "%s\n", __FUNCTION__); @@ -1406,7 +1405,7 @@ mge_intr_tx(void *arg) MGE_TRANSMIT_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->ifp->if_capenable & IFCAP_POLLING) { + if (sc->if_getcapenable(ifp) & IFCAP_POLLING) { MGE_TRANSMIT_UNLOCK(sc); return; } @@ -1425,7 +1424,7 @@ mge_intr_tx(void *arg) static void mge_intr_tx_locked(struct mge_softc *sc) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; struct mge_desc_wrapper *dw; struct mge_desc *desc; uint32_t status; @@ -1473,14 +1472,14 @@ mge_intr_tx_locked(struct mge_softc *sc) if (send) { /* Now send anything that was pending */ - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); mge_start_locked(ifp); } } static int -mge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +mge_ioctl(if_t ifp, u_long command, caddr_t data) { - struct mge_softc *sc = ifp->if_softc; + struct mge_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; int mask, error; uint32_t flags; @@ -1491,9 +1490,9 @@ mge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) case SIOCSIFFLAGS: MGE_GLOBAL_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - flags = ifp->if_flags ^ sc->mge_if_flags; + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + flags = if_getflags(ifp) ^ sc->mge_if_flags; if (flags & IFF_PROMISC) mge_set_prom_mode(sc, MGE_RX_DEFAULT_QUEUE); @@ -1503,29 +1502,29 @@ mge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) } else mge_init_locked(sc); } - else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) mge_stop(sc); - sc->mge_if_flags = ifp->if_flags; + sc->mge_if_flags = if_getflags(ifp); MGE_GLOBAL_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { MGE_GLOBAL_LOCK(sc); mge_setup_multicast(sc); MGE_GLOBAL_UNLOCK(sc); } break; case SIOCSIFCAP: - mask = ifp->if_capenable ^ ifr->ifr_reqcap; + mask = if_getcapenable(ifp) ^ ifr->ifr_reqcap; if (mask & IFCAP_HWCSUM) { - ifp->if_capenable &= ~IFCAP_HWCSUM; - ifp->if_capenable |= IFCAP_HWCSUM & ifr->ifr_reqcap; - if (ifp->if_capenable & IFCAP_TXCSUM) - ifp->if_hwassist = MGE_CHECKSUM_FEATURES; + if_setcapenablebit(ifp, 0, IFCAP_HWCSUM); + if_setcapenablebit(ifp, IFCAP_HWCSUM & ifr->ifr_reqcap, 0); + if (if_getcapenable(ifp) & IFCAP_TXCSUM) + if_sethwassist(ifp, MGE_CHECKSUM_FEATURES); else - ifp->if_hwassist = 0; + if_sethwassist(ifp, 0); } #ifdef DEVICE_POLLING if (mask & IFCAP_POLLING) { @@ -1536,13 +1535,13 @@ mge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) MGE_GLOBAL_LOCK(sc); mge_intrs_ctrl(sc, 0); - ifp->if_capenable |= IFCAP_POLLING; + if_setcapenablebit(ifp, IFCAP_POLLING, 0); MGE_GLOBAL_UNLOCK(sc); } else { error = ether_poll_deregister(ifp); MGE_GLOBAL_LOCK(sc); mge_intrs_ctrl(sc, 1); - ifp->if_capenable &= ~IFCAP_POLLING; + if_setcapenablebit(ifp, 0, IFCAP_POLLING); MGE_GLOBAL_UNLOCK(sc); } } @@ -1626,7 +1625,7 @@ mge_shutdown(device_t dev) MGE_GLOBAL_LOCK(sc); #ifdef DEVICE_POLLING - if (sc->ifp->if_capenable & IFCAP_POLLING) + if (sc->if_getcapenable(ifp) & IFCAP_POLLING) ether_poll_deregister(sc->ifp); #endif @@ -1719,7 +1718,7 @@ mge_tick(void *msc) static void mge_watchdog(struct mge_softc *sc) { - struct ifnet *ifp; + if_t ifp; ifp = sc->ifp; @@ -1735,9 +1734,9 @@ mge_watchdog(struct mge_softc *sc) } static void -mge_start(struct ifnet *ifp) +mge_start(if_t ifp) { - struct mge_softc *sc = ifp->if_softc; + struct mge_softc *sc = if_getsoftc(ifp); MGE_TRANSMIT_LOCK(sc); @@ -1747,23 +1746,23 @@ mge_start(struct ifnet *ifp) } static void -mge_start_locked(struct ifnet *ifp) +mge_start_locked(if_t ifp) { struct mge_softc *sc; struct mbuf *m0, *mtmp; uint32_t reg_val, queued = 0; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); MGE_TRANSMIT_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) return; for (;;) { /* Get packet from the queue */ - IF_DEQUEUE(&ifp->if_snd, m0); + m0 = if_dequeue(ifp); if (m0 == NULL) break; @@ -1786,8 +1785,8 @@ mge_start_locked(struct ifnet *ifp) /* Check for free descriptors */ if (sc->tx_desc_used_count + 1 >= MGE_TX_DESC_NUM) { - IF_PREPEND(&ifp->if_snd, m0); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m0); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -1809,7 +1808,7 @@ mge_start_locked(struct ifnet *ifp) static void mge_stop(struct mge_softc *sc) { - struct ifnet *ifp; + if_t ifp; volatile uint32_t reg_val, status; struct mge_desc_wrapper *dw; struct mge_desc *desc; @@ -1817,14 +1816,14 @@ mge_stop(struct mge_softc *sc) ifp = sc->ifp; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; /* Stop tick engine */ callout_stop(&sc->wd_callout); /* Disable interface */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->wd_timer = 0; /* Disable interrupts */ @@ -1891,12 +1890,12 @@ mge_suspend(device_t dev) } static void -mge_offload_process_frame(struct ifnet *ifp, struct mbuf *frame, +mge_offload_process_frame(if_t ifp, struct mbuf *frame, uint32_t status, uint16_t bufsize) { int csum_flags = 0; - if (ifp->if_capenable & IFCAP_RXCSUM) { + if (if_getcapenable(ifp) & IFCAP_RXCSUM) { if ((status & MGE_RX_L3_IS_IP) && (status & MGE_RX_IP_OK)) csum_flags |= CSUM_IP_CHECKED | CSUM_IP_VALID; @@ -2051,11 +2050,11 @@ static void mge_setup_multicast(struct mge_softc *sc) { struct mge_hash_maddr_ctx ctx; - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; static const uint8_t v = (MGE_RX_DEFAULT_QUEUE << 1) | 1; int i; - if (ifp->if_flags & IFF_ALLMULTI) { + if (if_getflags(ifp) & IFF_ALLMULTI) { for (i = 0; i < MGE_MCAST_REG_NUMBER; i++) ctx.smt[i] = ctx.omt[i] = (v << 24) | (v << 16) | (v << 8) | v; diff --git a/sys/dev/mge/if_mgevar.h b/sys/dev/mge/if_mgevar.h index 864677283970..0db1b7dc52a0 100644 --- a/sys/dev/mge/if_mgevar.h +++ b/sys/dev/mge/if_mgevar.h @@ -67,7 +67,7 @@ struct mge_desc_wrapper { }; struct mge_softc { - struct ifnet *ifp; /* per-interface network data */ + if_t ifp; /* per-interface network data */ phandle_t node; From nobody Tue Jan 31 21:53:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMg5B5Xz3cPpx; Tue, 31 Jan 2023 21:53: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 4P5zMg50Nfz3msj; Tue, 31 Jan 2023 21:53:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=12UoBr4H6vlf8IqGPP8QteI3+vMB9R1jEM5nibJ78kM=; b=bUE7o3XbUdVW+CMrVXFExv5GznjCThLVAepufoS0PQSLJ9jdihHpzqOsv3eOx18PbJGIU8 aBUAZ6takotBf+Vsj1PNjQOvyLQS1SZT/x0qeCnpaWGATA/ngR1KZ+nPs6sT1ADJMYpMfh 5DgssI+Kq+GV6LGZpj3cMbmXFnByaxuWF0JbrzUVoHqreDAXiJNi8qESXwl64KdyCPGCZB dAidyPjVOTVzBBANEa4R1vPCPWZtjX0oXpmLnNqwGEqSwKE2ccFVljXZuFWukRcJwYGUyW fQu0DshC1i55Qf2t1GyLSWwlSR7SGLMyU5UShEDt9KO8/Yr89b6WVZy96nnqvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=12UoBr4H6vlf8IqGPP8QteI3+vMB9R1jEM5nibJ78kM=; b=no5oBkgLpJtB5P1oAjPiAI8aV4Rmg14KArnTvpiEpo6br3SaEF6IwT+HAajZLoSP2DBOvI UMekHHeZoQNFRYDKjKigin/JumjOWp9svHJ53S0Dic6X34XqY8moFDanJtGV/OTj4iVZRk 1h1b0wkzfDF/LhulROTvSu03Vbti5B/xTS8O3Wi30SeBk8RFDcfG+gYo4d4QW+rCxR4nFQ FevFB8H3sppvC1k1zaxgcIkjZ2AfD3bmdL0y29s3VlRoFeC++bX9AW4Y/NgTKUlNqSAl/5 lrLL8wOCoO9BaVp73bTQaQ5fqn4bGZlO+9l1cVIkh2blx7crBrKtBWArsXNcLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202031; a=rsa-sha256; cv=none; b=wujrtxVy3yBv19HLvDC+8ba7ZW+ySQUblir0uiY9buvKkKkL+OVikno/QUrkqG69b2+Kog ZiyUSVU4hOA8hhDCPAwogrZPN8uMRJiBXul0hYJ/0BrSzmwuFho6I0X98VfuVaIJMkUrmf vqA5H2mKuwJbvoDeMAwMCd+6ak5zEbF3LSckj+3CY7k9D6RQ5cGzrgAHt831c7wHz+J/VE YXAEaaBYjYZvzUzAGo5JSDonCpVKz9ghvD2NTKGBIGlbzitKf+LHOK5zUV5QnGlfAwJQyg Ur2t49PfcNIuTatEKBjMpWh9DRV7sGYjH4LqRXOv9Ss8RCybOYuoEL4ewTugrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMg43zzz1534; Tue, 31 Jan 2023 21:53:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLrpvD080776; Tue, 31 Jan 2023 21:53:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLrpGO080775; Tue, 31 Jan 2023 21:53:51 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:51 GMT Message-Id: <202301312153.30VLrpGO080775@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 44e65355a35b - main - Mechanically convert if_cas(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 44e65355a35b99812a9655b31f2f54aed6d79292 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=44e65355a35b99812a9655b31f2f54aed6d79292 commit 44e65355a35b99812a9655b31f2f54aed6d79292 Author: Justin Hibbits AuthorDate: 2022-03-01 15:54:11 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:34 +0000 Mechanically convert if_cas(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37793 --- sys/dev/cas/if_cas.c | 177 ++++++++++++++++++++++++------------------------ sys/dev/cas/if_casvar.h | 2 +- 2 files changed, 89 insertions(+), 90 deletions(-) diff --git a/sys/dev/cas/if_cas.c b/sys/dev/cas/if_cas.c index b6792cbe097e..f106c606ffb1 100644 --- a/sys/dev/cas/if_cas.c +++ b/sys/dev/cas/if_cas.c @@ -141,10 +141,10 @@ static void cas_init_locked(struct cas_softc *sc); static void cas_init_regs(struct cas_softc *sc); static int cas_intr(void *v); static void cas_intr_task(void *arg, int pending __unused); -static int cas_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); +static int cas_ioctl(if_t ifp, u_long cmd, caddr_t data); static int cas_load_txmbuf(struct cas_softc *sc, struct mbuf **m_head); -static int cas_mediachange(struct ifnet *ifp); -static void cas_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr); +static int cas_mediachange(if_t ifp); +static void cas_mediastatus(if_t ifp, struct ifmediareq *ifmr); static void cas_meminit(struct cas_softc *sc); static void cas_mifinit(struct cas_softc *sc); static int cas_mii_readreg(device_t dev, int phy, int reg); @@ -163,8 +163,8 @@ static u_int cas_rxcompsize(u_int sz); static void cas_rxdma_callback(void *xsc, bus_dma_segment_t *segs, int nsegs, int error); static void cas_setladrf(struct cas_softc *sc); -static void cas_start(struct ifnet *ifp); -static void cas_stop(struct ifnet *ifp); +static void cas_start(if_t ifp); +static void cas_stop(if_t ifp); static void cas_suspend(struct cas_softc *sc); static void cas_tick(void *arg); static void cas_tint(struct cas_softc *sc); @@ -184,7 +184,7 @@ static int cas_attach(struct cas_softc *sc) { struct cas_txsoft *txs; - struct ifnet *ifp; + if_t ifp; int error, i; uint32_t v; @@ -192,16 +192,15 @@ cas_attach(struct cas_softc *sc) ifp = sc->sc_ifp = if_alloc(IFT_ETHER); if (ifp == NULL) return (ENOSPC); - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(sc->sc_dev), device_get_unit(sc->sc_dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_start = cas_start; - ifp->if_ioctl = cas_ioctl; - ifp->if_init = cas_init; - IFQ_SET_MAXLEN(&ifp->if_snd, CAS_TXQUEUELEN); - ifp->if_snd.ifq_drv_maxlen = CAS_TXQUEUELEN; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setstartfn(ifp, cas_start); + if_setioctlfn(ifp, cas_ioctl); + if_setinitfn(ifp, cas_init); + if_setsendqlen(ifp, CAS_TXQUEUELEN); + if_setsendqready(ifp); callout_init_mtx(&sc->sc_tick_ch, &sc->sc_mtx, 0); callout_init_mtx(&sc->sc_rx_ch, &sc->sc_mtx, 0); @@ -423,13 +422,13 @@ cas_attach(struct cas_softc *sc) /* * Tell the upper layer(s) we support long frames/checksum offloads. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities = IFCAP_VLAN_MTU; + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); + if_setcapabilities(ifp, IFCAP_VLAN_MTU); if ((sc->sc_flags & CAS_NO_CSUM) == 0) { - ifp->if_capabilities |= IFCAP_HWCSUM; - ifp->if_hwassist = CAS_CSUM_FEATURES; + if_setcapabilitiesbit(ifp, IFCAP_HWCSUM, 0); + if_sethwassist(ifp, CAS_CSUM_FEATURES); } - ifp->if_capenable = ifp->if_capabilities; + if_setcapenable(ifp, if_getcapabilities(ifp)); return (0); @@ -475,7 +474,7 @@ cas_attach(struct cas_softc *sc) static void cas_detach(struct cas_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; int i; ether_ifdetach(ifp); @@ -521,7 +520,7 @@ cas_detach(struct cas_softc *sc) static void cas_suspend(struct cas_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; CAS_LOCK(sc); cas_stop(ifp); @@ -531,7 +530,7 @@ cas_suspend(struct cas_softc *sc) static void cas_resume(struct cas_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; CAS_LOCK(sc); /* @@ -539,7 +538,7 @@ cas_resume(struct cas_softc *sc) * after power-on. */ sc->sc_flags &= ~CAS_INITED; - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) cas_init_locked(sc); CAS_UNLOCK(sc); } @@ -634,7 +633,7 @@ static void cas_tick(void *arg) { struct cas_softc *sc = arg; - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; uint32_t v; CAS_LOCK_ASSERT(sc, MA_OWNED); @@ -718,9 +717,9 @@ cas_reset(struct cas_softc *sc) } static void -cas_stop(struct ifnet *ifp) +cas_stop(if_t ifp) { - struct cas_softc *sc = ifp->if_softc; + struct cas_softc *sc = if_getsoftc(ifp); struct cas_txsoft *txs; #ifdef CAS_DEBUG @@ -756,7 +755,7 @@ cas_stop(struct ifnet *ifp) /* * Mark the interface down and cancel the watchdog timer. */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->sc_flags &= ~CAS_LINK; sc->sc_wdog_timer = 0; } @@ -967,12 +966,12 @@ cas_init(void *xsc) static void cas_init_locked(struct cas_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; uint32_t v; CAS_LOCK_ASSERT(sc, MA_OWNED); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; #ifdef CAS_DEBUG @@ -1170,8 +1169,8 @@ cas_init_locked(struct cas_softc *sc) if ((sc->sc_flags & CAS_REG_PLUS) != 0) CAS_WRITE_4(sc, CAS_RX_KICK2, CAS_NRXDESC2 - 4); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); mii_mediachg(sc->sc_mii); @@ -1326,7 +1325,7 @@ static void cas_init_regs(struct cas_softc *sc) { int i; - const u_char *laddr = IF_LLADDR(sc->sc_ifp); + const u_char *laddr = if_getlladdr(sc->sc_ifp); CAS_LOCK_ASSERT(sc, MA_OWNED); @@ -1408,9 +1407,9 @@ cas_init_regs(struct cas_softc *sc) static void cas_tx_task(void *arg, int pending __unused) { - struct ifnet *ifp; + if_t ifp; - ifp = (struct ifnet *)arg; + ifp = (if_t)arg; cas_start(ifp); } @@ -1433,15 +1432,15 @@ cas_txkick(struct cas_softc *sc) } static void -cas_start(struct ifnet *ifp) +cas_start(if_t ifp) { - struct cas_softc *sc = ifp->if_softc; + struct cas_softc *sc = if_getsoftc(ifp); struct mbuf *m; int kicked, ntx; CAS_LOCK(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->sc_flags & CAS_LINK) == 0) { CAS_UNLOCK(sc); return; @@ -1457,15 +1456,15 @@ cas_start(struct ifnet *ifp) #endif ntx = 0; kicked = 0; - for (; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && sc->sc_txfree > 1;) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + for (; !if_sendq_empty(ifp) && sc->sc_txfree > 1;) { + m = if_dequeue(ifp); if (m == NULL) break; if (cas_load_txmbuf(sc, &m) != 0) { if (m == NULL) break; - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - IFQ_DRV_PREPEND(&ifp->if_snd, m); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); + if_sendq_prepend(ifp, m); break; } if ((sc->sc_txnext % 4) == 0) { @@ -1500,7 +1499,7 @@ cas_start(struct ifnet *ifp) static void cas_tint(struct cas_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct cas_txsoft *txs; int progress; uint32_t txlast; @@ -1520,7 +1519,7 @@ cas_tint(struct cas_softc *sc) CAS_CDSYNC(sc, BUS_DMASYNC_POSTREAD); while ((txs = STAILQ_FIRST(&sc->sc_txdirtyq)) != NULL) { #ifdef CAS_DEBUG - if ((ifp->if_flags & IFF_DEBUG) != 0) { + if ((if_getflags(ifp) & IFF_DEBUG) != 0) { printf(" txsoft %p transmit chain:\n", txs); for (i = txs->txs_firstdesc;; i = CAS_NEXTTX(i)) { printf("descriptor %d: ", i); @@ -1592,7 +1591,7 @@ cas_tint(struct cas_softc *sc) if (progress) { /* We freed some descriptors, so reset IFF_DRV_OACTIVE. */ - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (STAILQ_EMPTY(&sc->sc_txdirtyq)) sc->sc_wdog_timer = 0; } @@ -1620,7 +1619,7 @@ static void cas_rint(struct cas_softc *sc) { struct cas_rxdsoft *rxds, *rxds2; - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct mbuf *m, *m2; uint64_t word1, word2, word3 __unused, word4; uint32_t rxhead; @@ -1672,7 +1671,7 @@ cas_rint(struct cas_softc *sc) WORDTOH(4); #ifdef CAS_DEBUG - if ((ifp->if_flags & IFF_DEBUG) != 0) { + if ((if_getflags(ifp) & IFF_DEBUG) != 0) { printf(" completion %d: ", sc->sc_rxcptr); PRINTWORD(1, '\t'); PRINTWORD(2, '\t'); @@ -1744,12 +1743,12 @@ cas_rint(struct cas_softc *sc) m->m_pkthdr.rcvif = ifp; m->m_pkthdr.len = m->m_len = len; if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) cas_rxcksum(m, CAS_GET(word4, CAS_RC4_TCP_CSUM)); /* Pass it on. */ CAS_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); CAS_LOCK(sc); } else if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); @@ -1828,12 +1827,12 @@ cas_rint(struct cas_softc *sc) m->m_pkthdr.rcvif = ifp; m->m_pkthdr.len = len; if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) cas_rxcksum(m, CAS_GET(word4, CAS_RC4_TCP_CSUM)); /* Pass it on. */ CAS_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); CAS_LOCK(sc); } else if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); @@ -1850,7 +1849,7 @@ cas_rint(struct cas_softc *sc) skip: cas_rxcompinit(&sc->sc_rxcomps[sc->sc_rxcptr]); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) break; } CAS_CDSYNC(sc, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); @@ -1918,7 +1917,7 @@ cas_add_rxdesc(struct cas_softc *sc, u_int idx) static void cas_eint(struct cas_softc *sc, u_int status) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; CAS_LOCK_ASSERT(sc, MA_OWNED); @@ -1936,9 +1935,9 @@ cas_eint(struct cas_softc *sc, u_int status) } printf("\n"); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); cas_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) taskqueue_enqueue(sc->sc_tq, &sc->sc_tx_task); } @@ -1962,12 +1961,12 @@ static void cas_intr_task(void *arg, int pending __unused) { struct cas_softc *sc = arg; - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; uint32_t status, status2; CAS_LOCK_ASSERT(sc, MA_NOTOWNED); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) return; status = CAS_READ_4(sc, CAS_STATUS); @@ -2054,10 +2053,10 @@ cas_intr_task(void *arg, int pending __unused) (CAS_INTR_TX_INT_ME | CAS_INTR_TX_ALL | CAS_INTR_TX_DONE)) != 0) cas_tint(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { CAS_UNLOCK(sc); return; - } else if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + } else if (!if_sendq_empty(ifp)) taskqueue_enqueue(sc->sc_tq, &sc->sc_tx_task); CAS_UNLOCK(sc); @@ -2084,7 +2083,7 @@ cas_intr_task(void *arg, int pending __unused) static void cas_watchdog(struct cas_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; CAS_LOCK_ASSERT(sc, MA_OWNED); @@ -2111,9 +2110,9 @@ cas_watchdog(struct cas_softc *sc) if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); /* Try to get more packets going. */ - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); cas_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) taskqueue_enqueue(sc->sc_tq, &sc->sc_tx_task); } @@ -2283,7 +2282,7 @@ static void cas_mii_statchg(device_t dev) { struct cas_softc *sc; - struct ifnet *ifp; + if_t ifp; int gigabit; uint32_t rxcfg, txcfg, v; @@ -2293,7 +2292,7 @@ cas_mii_statchg(device_t dev) CAS_LOCK_ASSERT(sc, MA_OWNED); #ifdef CAS_DEBUG - if ((ifp->if_flags & IFF_DEBUG) != 0) + if ((if_getflags(ifp) & IFF_DEBUG) != 0) device_printf(sc->sc_dev, "%s: status changen", __func__); #endif @@ -2355,11 +2354,11 @@ cas_mii_statchg(device_t dev) * hardware checksumming in half-duplex mode though. */ if ((IFM_OPTIONS(sc->sc_mii->mii_media_active) & IFM_FDX) == 0) { - ifp->if_capenable &= ~IFCAP_HWCSUM; - ifp->if_hwassist = 0; + if_setcapenablebit(ifp, 0, IFCAP_HWCSUM); + if_sethwassist(ifp, 0); } else if ((sc->sc_flags & CAS_NO_CSUM) == 0) { - ifp->if_capenable = ifp->if_capabilities; - ifp->if_hwassist = CAS_CSUM_FEATURES; + if_setcapenable(ifp, if_getcapabilities(ifp)); + if_sethwassist(ifp, CAS_CSUM_FEATURES); } if (sc->sc_variant == CAS_SATURN) { @@ -2392,7 +2391,7 @@ cas_mii_statchg(device_t dev) CAS_WRITE_4(sc, CAS_MAC_XIF_CONF, v); sc->sc_mac_rxcfg = rxcfg; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && (sc->sc_flags & CAS_LINK) != 0) { CAS_WRITE_4(sc, CAS_MAC_TX_CONF, txcfg | CAS_MAC_TX_CONF_EN); @@ -2402,9 +2401,9 @@ cas_mii_statchg(device_t dev) } static int -cas_mediachange(struct ifnet *ifp) +cas_mediachange(if_t ifp) { - struct cas_softc *sc = ifp->if_softc; + struct cas_softc *sc = if_getsoftc(ifp); int error; /* XXX add support for serial media. */ @@ -2416,12 +2415,12 @@ cas_mediachange(struct ifnet *ifp) } static void -cas_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +cas_mediastatus(if_t ifp, struct ifmediareq *ifmr) { - struct cas_softc *sc = ifp->if_softc; + struct cas_softc *sc = if_getsoftc(ifp); CAS_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { CAS_UNLOCK(sc); return; } @@ -2433,9 +2432,9 @@ cas_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -cas_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +cas_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct cas_softc *sc = ifp->if_softc; + struct cas_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; int error; @@ -2443,16 +2442,16 @@ cas_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) switch (cmd) { case SIOCSIFFLAGS: CAS_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->sc_ifflags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->sc_ifflags) & (IFF_ALLMULTI | IFF_PROMISC)) != 0) cas_setladrf(sc); else cas_init_locked(sc); - } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) cas_stop(ifp); - sc->sc_ifflags = ifp->if_flags; + sc->sc_ifflags = if_getflags(ifp); CAS_UNLOCK(sc); break; case SIOCSIFCAP: @@ -2462,17 +2461,17 @@ cas_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) CAS_UNLOCK(sc); break; } - ifp->if_capenable = ifr->ifr_reqcap; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist = CAS_CSUM_FEATURES; + if_setcapenable(ifp, ifr->ifr_reqcap); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassist(ifp, CAS_CSUM_FEATURES); else - ifp->if_hwassist = 0; + if_sethwassist(ifp, 0); CAS_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: CAS_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) cas_setladrf(sc); CAS_UNLOCK(sc); break; @@ -2481,7 +2480,7 @@ cas_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) (ifr->ifr_mtu > ETHERMTU_JUMBO)) error = EINVAL; else - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); break; case SIOCGIFMEDIA: case SIOCSIFMEDIA: @@ -2512,7 +2511,7 @@ cas_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void cas_setladrf(struct cas_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; int i; uint32_t hash[16]; uint32_t v; @@ -2534,11 +2533,11 @@ cas_setladrf(struct cas_softc *sc) "cannot disable RX MAC or hash filter\n"); v &= ~(CAS_MAC_RX_CONF_PROMISC | CAS_MAC_RX_CONF_PGRP); - if ((ifp->if_flags & IFF_PROMISC) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0) { v |= CAS_MAC_RX_CONF_PROMISC; goto chipit; } - if ((ifp->if_flags & IFF_ALLMULTI) != 0) { + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) { v |= CAS_MAC_RX_CONF_PGRP; goto chipit; } diff --git a/sys/dev/cas/if_casvar.h b/sys/dev/cas/if_casvar.h index 98a7bed3336d..54ce7b6357f4 100644 --- a/sys/dev/cas/if_casvar.h +++ b/sys/dev/cas/if_casvar.h @@ -128,7 +128,7 @@ struct cas_rxdsoft { * software state per device */ struct cas_softc { - struct ifnet *sc_ifp; + if_t sc_ifp; struct mtx sc_mtx; device_t sc_miibus; struct mii_data *sc_mii; /* MII media control */ From nobody Tue Jan 31 21:53:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMh68DMz3cPtP; Tue, 31 Jan 2023 21:53: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 4P5zMh5hMBz3n4g; Tue, 31 Jan 2023 21:53:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=11ud8F8Ghi4t8KyibceZbiBhctvGNACtBAob7afy9fY=; b=fVZmNWtYfOZ5FAJAllAPVL0NNgAbGLTAyLUrFyWpdT6cvdjysG3PeWLXolEE2+ZxaAnpng WcHrcL5kHXikLVouWm9H11goFerp1SXTHxrWptqocFMRNrJWYvAs+PV4bJash20SB0woz0 TSAoXZcusgcAmHjGwY+IvzFARZFhmX3rZcfwHpTN+JXmTutekfm/g+10rImHeb/c76TNAi TpltWNoWay8caogKt5WuX8c/JnTqP+nr51YmzLIoXZdZxhHKP7Kiy2pBafl9TA5N63z+Tn K9lh06l0YYVSDe94CMsBB/kYZSbfpaOWZvGaNbW6T7J8F9b8jtAaeB+KCtgT2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=11ud8F8Ghi4t8KyibceZbiBhctvGNACtBAob7afy9fY=; b=YBHLZ+lree123UfmqqGbXtB7Szg8UrnP+juu46NoFFhggQyl8mm4fLHFbOzaCOzEGcvFwd u/pdlvSYc1lhtWiJ7sTJP6BkCa4dxwkEOcZFE51HTXYEptgGOID3qlzZ1PaaeGgvcNgBiV 8CafNBht8Ikx/dnAUjKKwpXaENf4xHRppVuwyfQZq7qBj3MKQkHqcQ5fY2oQsEoF98oWBU n8AwhRElOiSsKdgJi70z1gAXp1rqSpVWr4Jdzheb4JE4y8ta2NMweyW2HoUxyoSePBDCi7 ZKrhELa0Wk3BDyaNvZ52Dgp1k4Jy0W8325AKre0aKAnwYrlQnQS/QTU3AvuNoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202032; a=rsa-sha256; cv=none; b=yDBAOl29FnwBUYnvtRKoxiwMk+tK8Y+P1Y/XwEmrqQD2ExKtwCytogHkYWhnqt8KRNJi3A Y7OLJgpXSMorQk34aK86z1mmGodYerOwo5AaA3Px6Jo4Be89T+uBel9MD8YU6GS/NFiVuU EHZgubTf0kbX0h/28wc8WA+EnKNzGczglL/R5q8AWcZmEGTKx7/oDfREglorVoGIfdLomG ew99eJM5JLCCA5yIIkStya7EChKLgpdhin+wUjTe/f/sMADUIsIqfLopIhGMYRcAdhoM/C fBPOjfMUBKCWuEV4UnHQnvQZoXBOVzQPv4N6+s9Y5G0g2x2PaRHpsJrZGoUmTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMh4pFhz14rl; Tue, 31 Jan 2023 21:53:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLrqKu080800; Tue, 31 Jan 2023 21:53:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLrqnt080799; Tue, 31 Jan 2023 21:53:52 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:52 GMT Message-Id: <202301312153.30VLrqnt080799@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3df047e3f3f8 - main - Mechanically convert ps3 if_glc(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3df047e3f3f88f5b108a53fae11c9ab9a97a4df7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3df047e3f3f88f5b108a53fae11c9ab9a97a4df7 commit 3df047e3f3f88f5b108a53fae11c9ab9a97a4df7 Author: Justin Hibbits AuthorDate: 2022-03-01 15:52:25 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:35 +0000 Mechanically convert ps3 if_glc(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37792 --- sys/powerpc/ps3/if_glc.c | 104 ++++++++++++++++++++++---------------------- sys/powerpc/ps3/if_glcreg.h | 2 +- 2 files changed, 52 insertions(+), 54 deletions(-) diff --git a/sys/powerpc/ps3/if_glc.c b/sys/powerpc/ps3/if_glc.c index b3e7048a63b2..2d8119d2ae36 100644 --- a/sys/powerpc/ps3/if_glc.c +++ b/sys/powerpc/ps3/if_glc.c @@ -64,8 +64,8 @@ static int glc_probe(device_t); static int glc_attach(device_t); static void glc_init(void *xsc); -static void glc_start(struct ifnet *ifp); -static int glc_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); +static void glc_start(if_t ifp); +static int glc_ioctl(if_t ifp, u_long cmd, caddr_t data); static void glc_set_multicast(struct glc_softc *sc); static int glc_add_rxbuf(struct glc_softc *sc, int idx); static int glc_add_rxbuf_dma(struct glc_softc *sc, int idx); @@ -74,8 +74,8 @@ static int glc_encap(struct glc_softc *sc, struct mbuf **m_head, static int glc_intr_filter(void *xsc); static void glc_intr(void *xsc); static void glc_tick(void *xsc); -static void glc_media_status(struct ifnet *ifp, struct ifmediareq *ifmr); -static int glc_media_change(struct ifnet *ifp); +static void glc_media_status(if_t ifp, struct ifmediareq *ifmr); +static int glc_media_change(if_t ifp); static MALLOC_DEFINE(M_GLC, "gelic", "PS3 GELIC ethernet"); @@ -145,7 +145,7 @@ glc_attach(device_t dev) lv1_net_stop_rx_dma(sc->sc_bus, sc->sc_dev, 0); sc->sc_ifp = if_alloc(IFT_ETHER); - sc->sc_ifp->if_softc = sc; + if_setsoftc(sc->sc_ifp, sc); /* * Get MAC address and VLAN id @@ -253,14 +253,14 @@ glc_attach(device_t dev) */ if_initname(sc->sc_ifp, device_get_name(dev), device_get_unit(dev)); - sc->sc_ifp->if_mtu = ETHERMTU; - sc->sc_ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - sc->sc_ifp->if_hwassist = CSUM_TCP | CSUM_UDP; - sc->sc_ifp->if_capabilities = IFCAP_HWCSUM | IFCAP_RXCSUM; - sc->sc_ifp->if_capenable = IFCAP_HWCSUM | IFCAP_RXCSUM; - sc->sc_ifp->if_start = glc_start; - sc->sc_ifp->if_ioctl = glc_ioctl; - sc->sc_ifp->if_init = glc_init; + if_setmtu(sc->sc_ifp, ETHERMTU); + if_setflags(sc->sc_ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_sethwassist(sc->sc_ifp, CSUM_TCP | CSUM_UDP); + if_setcapabilities(sc->sc_ifp, IFCAP_HWCSUM | IFCAP_RXCSUM); + if_setcapenable(sc->sc_ifp, IFCAP_HWCSUM | IFCAP_RXCSUM); + if_setstartfn(sc->sc_ifp, glc_start); + if_setioctlfn(sc->sc_ifp, glc_ioctl); + if_setinitfn(sc->sc_ifp, glc_init); ifmedia_init(&sc->sc_media, IFM_IMASK, glc_media_change, glc_media_status); @@ -272,12 +272,11 @@ glc_attach(device_t dev) ifmedia_add(&sc->sc_media, IFM_ETHER | IFM_AUTO, 0, NULL); ifmedia_set(&sc->sc_media, IFM_ETHER | IFM_AUTO); - IFQ_SET_MAXLEN(&sc->sc_ifp->if_snd, GLC_MAX_TX_PACKETS); - sc->sc_ifp->if_snd.ifq_drv_maxlen = GLC_MAX_TX_PACKETS; - IFQ_SET_READY(&sc->sc_ifp->if_snd); + if_setsendqlen(sc->sc_ifp, GLC_MAX_TX_PACKETS); + if_setsendqready(sc->sc_ifp); ether_ifattach(sc->sc_ifp, sc->sc_enaddr); - sc->sc_ifp->if_hwassist = 0; + if_sethwassist(sc->sc_ifp, 0); return (0); @@ -339,9 +338,9 @@ glc_init_locked(struct glc_softc *sc) device_printf(sc->sc_self, "lv1_net_start_rx_dma error: %d\n", error); - sc->sc_ifp->if_drv_flags |= IFF_DRV_RUNNING; - sc->sc_ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - sc->sc_ifpflags = sc->sc_ifp->if_flags; + if_setdrvflagbits(sc->sc_ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(sc->sc_ifp, 0, IFF_DRV_OACTIVE); + sc->sc_ifpflags = if_getflags(sc->sc_ifp); sc->sc_wdog_timer = 0; callout_reset(&sc->sc_tick_ch, hz, glc_tick, sc); @@ -395,9 +394,9 @@ glc_tick(void *xsc) } static void -glc_start_locked(struct ifnet *ifp) +glc_start_locked(if_t ifp) { - struct glc_softc *sc = ifp->if_softc; + struct glc_softc *sc = if_getsoftc(ifp); bus_addr_t first, pktdesc; int kickstart = 0; int error; @@ -406,15 +405,15 @@ glc_start_locked(struct ifnet *ifp) mtx_assert(&sc->sc_mtx, MA_OWNED); first = 0; - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) return; if (STAILQ_EMPTY(&sc->sc_txdirtyq)) kickstart = 1; - while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, mb_head); + while (!if_sendq_empty(ifp)) { + mb_head = if_dequeue(ifp); if (mb_head == NULL) break; @@ -422,8 +421,8 @@ glc_start_locked(struct ifnet *ifp) /* Check if the ring buffer is full */ if (sc->bsy_txdma_slots > 125) { /* Put the packet back and stop */ - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - IFQ_DRV_PREPEND(&ifp->if_snd, mb_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); + if_sendq_prepend(ifp, mb_head); break; } @@ -433,7 +432,7 @@ glc_start_locked(struct ifnet *ifp) mb_head = ether_vlanencap(mb_head, sc->sc_tx_vlan); if (glc_encap(sc, &mb_head, &pktdesc)) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -451,9 +450,9 @@ glc_start_locked(struct ifnet *ifp) } static void -glc_start(struct ifnet *ifp) +glc_start(if_t ifp) { - struct glc_softc *sc = ifp->if_softc; + struct glc_softc *sc = if_getsoftc(ifp); mtx_lock(&sc->sc_mtx); glc_start_locked(ifp); @@ -461,26 +460,26 @@ glc_start(struct ifnet *ifp) } static int -glc_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +glc_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct glc_softc *sc = ifp->if_softc; + struct glc_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; int err = 0; switch (cmd) { case SIOCSIFFLAGS: mtx_lock(&sc->sc_mtx); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->sc_ifpflags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->sc_ifpflags) & (IFF_ALLMULTI | IFF_PROMISC)) != 0) glc_set_multicast(sc); else glc_init_locked(sc); } - else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) glc_stop(sc); - sc->sc_ifpflags = ifp->if_flags; + sc->sc_ifpflags = if_getflags(ifp); mtx_unlock(&sc->sc_mtx); break; case SIOCADDMULTI: @@ -525,7 +524,7 @@ glc_add_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void glc_set_multicast(struct glc_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; int naddrs; /* Clear multicast filter */ @@ -535,7 +534,7 @@ glc_set_multicast(struct glc_softc *sc) lv1_net_add_multicast_address(sc->sc_bus, sc->sc_dev, 0xffffffffffffL, 0); - if ((ifp->if_flags & IFF_ALLMULTI) != 0) { + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) { lv1_net_add_multicast_address(sc->sc_bus, sc->sc_dev, 0, 1); } else { naddrs = if_foreach_llmaddr(ifp, glc_add_maddr, sc); @@ -711,7 +710,7 @@ glc_rxintr(struct glc_softc *sc) { int i, restart_rxdma, error; struct mbuf *m; - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; bus_dmamap_sync(sc->sc_dmadesc_tag, sc->sc_rxdmadesc_map, BUS_DMASYNC_POSTREAD); @@ -760,7 +759,7 @@ glc_rxintr(struct glc_softc *sc) m_adj(m, 2); mtx_unlock(&sc->sc_mtx); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); mtx_lock(&sc->sc_mtx); requeue: @@ -782,7 +781,7 @@ glc_rxintr(struct glc_softc *sc) static void glc_txintr(struct glc_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct glc_txsoft *txs; int progress = 0, kickstart = 0, error; @@ -840,11 +839,11 @@ glc_txintr(struct glc_softc *sc) * We freed some descriptors, so reset IFF_DRV_OACTIVE * and restart. */ - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->sc_wdog_timer = STAILQ_EMPTY(&sc->sc_txdirtyq) ? 0 : 5; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) && + !if_sendq_empty(ifp)) glc_start_locked(ifp); } } @@ -852,7 +851,7 @@ glc_txintr(struct glc_softc *sc) static int glc_intr_filter(void *xsc) { - struct glc_softc *sc = xsc; + struct glc_softc *sc = xsc; powerpc_sync(); atomic_set_64(&sc->sc_interrupt_status, *sc->sc_hwirq_status); @@ -862,7 +861,7 @@ glc_intr_filter(void *xsc) static void glc_intr(void *xsc) { - struct glc_softc *sc = xsc; + struct glc_softc *sc = xsc; uint64_t status, linkstat, junk; mtx_lock(&sc->sc_mtx); @@ -886,17 +885,16 @@ glc_intr(void *xsc) linkstat = (linkstat & GELIC_LINK_UP) ? LINK_STATE_UP : LINK_STATE_DOWN; - if (linkstat != sc->sc_ifp->if_link_state) - if_link_state_change(sc->sc_ifp, linkstat); + if_link_state_change(sc->sc_ifp, linkstat); } mtx_unlock(&sc->sc_mtx); } static void -glc_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +glc_media_status(if_t ifp, struct ifmediareq *ifmr) { - struct glc_softc *sc = ifp->if_softc; + struct glc_softc *sc = if_getsoftc(ifp); uint64_t status, junk; ifmr->ifm_status = IFM_AVALID; @@ -922,9 +920,9 @@ glc_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -glc_media_change(struct ifnet *ifp) +glc_media_change(if_t ifp) { - struct glc_softc *sc = ifp->if_softc; + struct glc_softc *sc = if_getsoftc(ifp); uint64_t mode, junk; int result; diff --git a/sys/powerpc/ps3/if_glcreg.h b/sys/powerpc/ps3/if_glcreg.h index dfd6a49126bb..84b319e5c839 100644 --- a/sys/powerpc/ps3/if_glcreg.h +++ b/sys/powerpc/ps3/if_glcreg.h @@ -65,7 +65,7 @@ struct glc_rxsoft { }; struct glc_softc { - struct ifnet *sc_ifp; + if_t sc_ifp; device_t sc_self; struct mtx sc_mtx; u_char sc_enaddr[ETHER_ADDR_LEN]; From nobody Tue Jan 31 21:53:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMk2F9Nz3cPfn; Tue, 31 Jan 2023 21:53: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 4P5zMj6kFqz3mtY; Tue, 31 Jan 2023 21:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iwK9T03r5U9cxRX0/b/XfFXu6JvBQ84GX5bkZoFHNxk=; b=OIrYpi7KPGq6RZYQoQm7fyno8SY+T0DJjZ87cnsUJafEbu+o1EM5gm7T9cDCgFBuUD0hWG j8QcPJin4RADvgJWs62suETKZoDZyo87gcADZiPGTfmikkzwa9tXj6ruvGtFyJ/W6K4AtE cH4ZJ1BtGJrCRyhzi2lnWhmqZ1RYAayKgko56MyQ2Mny5fey+6n5MQ4ffgHdn0wwvzeqeK QK6GzQ55Um+mfXk4PUoE0EnUzRxaLL/HIySDbk3e9+8DCFZWtPg4cSiWmp17vanlGOVj6Q ew52OwEtc0pOWpYmM2mvpBl39VNdx0x5sNFZuzeBZEbCPfASfD8/fiptB1dfXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iwK9T03r5U9cxRX0/b/XfFXu6JvBQ84GX5bkZoFHNxk=; b=AcDGNgLo2SdGaORA961j53jYTdZysbRihSu5z8z1CDyqdYAMWm28MJyhtiyVZEFRi+N0qA vRUpCtwbm2ZdeR2swbeONiViIeZjyG/KXf8agopzoywHuli4m+mKgJiseaXZP1UxYq4wlc QUp08xtn9U6qunqePQYIPvKC8rVTdnMJYPoIYm5qffbICeQk97i2siu5ukI0Z1REyi5wAp IDSGG7mO4yA02IZoogyxlxj9lZ40bImhFxmqTZfJWrr9n6OuyYkiNWfJmPeKBqQtag0Ot+ mn6LOqpbmSh3NvBMztBAHIAyUOMiCnNITDasX3eDG0dOAetb4UDoq5CkJHWeVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202033; a=rsa-sha256; cv=none; b=xvE5FdwcHCJMnJG19bvnF+tqHn0aA+H87Gs90xXy5VnTL1nRCa7qvUxn6mGm8wguK/DrIT IhmY/J6JokK5j9NoASt3DX0pm/ge1Qsgg0Edu4cCE9xT2ekF+r6fvYR10JoTAORGokiVMM UcxEXgrF4ydZkBzZQo2NeFuj0jnX5eKzR+OLWIEDyReMeS9tTkyq4qxFZkHmJA6MSSgRey x3JQ+oYVO9tp+XeKAHwvz0tV7v1OBuSIe3csvay+wnluD2dUVTcbha3HwtFomi8Z232FbE IYAfB2mEeNfPeIPfTlbe6N6VhoY+SkmxlcgiqhgQsXxHvsr8TFxCd/4XyyaOmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMj5m0jz14HS; Tue, 31 Jan 2023 21:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLrr7v080824; Tue, 31 Jan 2023 21:53:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLrrJD080823; Tue, 31 Jan 2023 21:53:53 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:53 GMT Message-Id: <202301312153.30VLrrJD080823@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 9f012efb63cb - main - Mechanically convert gem(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f012efb63cbe4fbcce1c58336d7fc97830650f8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=9f012efb63cbe4fbcce1c58336d7fc97830650f8 commit 9f012efb63cbe4fbcce1c58336d7fc97830650f8 Author: Justin Hibbits AuthorDate: 2022-03-01 19:55:31 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:35 +0000 Mechanically convert gem(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37809 --- sys/dev/gem/if_gem.c | 149 ++++++++++++++++++++++++------------------------ sys/dev/gem/if_gemvar.h | 6 +- 2 files changed, 77 insertions(+), 78 deletions(-) diff --git a/sys/dev/gem/if_gem.c b/sys/dev/gem/if_gem.c index 7d6f7cc8e3b7..2b0fc24c5d58 100644 --- a/sys/dev/gem/if_gem.c +++ b/sys/dev/gem/if_gem.c @@ -109,7 +109,7 @@ static void gem_eint(struct gem_softc *sc, u_int status); static void gem_init(void *xsc); static void gem_init_locked(struct gem_softc *sc); static void gem_init_regs(struct gem_softc *sc); -static int gem_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); +static int gem_ioctl(if_t ifp, u_long cmd, caddr_t data); static int gem_load_txmbuf(struct gem_softc *sc, struct mbuf **m_head); static int gem_meminit(struct gem_softc *sc); static void gem_mifinit(struct gem_softc *sc); @@ -125,9 +125,9 @@ static void gem_rint_timeout(void *arg); static inline void gem_rxcksum(struct mbuf *m, uint64_t flags); static void gem_rxdrain(struct gem_softc *sc); static void gem_setladrf(struct gem_softc *sc); -static void gem_start(struct ifnet *ifp); -static void gem_start_locked(struct ifnet *ifp); -static void gem_stop(struct ifnet *ifp, int disable); +static void gem_start(if_t ifp); +static void gem_start_locked(if_t ifp); +static void gem_stop(if_t ifp, int disable); static void gem_tick(void *arg); static void gem_tint(struct gem_softc *sc); static inline void gem_txkick(struct gem_softc *sc); @@ -150,7 +150,7 @@ int gem_attach(struct gem_softc *sc) { struct gem_txsoft *txs; - struct ifnet *ifp; + if_t ifp; int error, i, phy; uint32_t v; @@ -162,16 +162,15 @@ gem_attach(struct gem_softc *sc) if (ifp == NULL) return (ENOSPC); sc->sc_csum_features = GEM_CSUM_FEATURES; - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(sc->sc_dev), device_get_unit(sc->sc_dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_start = gem_start; - ifp->if_ioctl = gem_ioctl; - ifp->if_init = gem_init; - IFQ_SET_MAXLEN(&ifp->if_snd, GEM_TXQUEUELEN); - ifp->if_snd.ifq_drv_maxlen = GEM_TXQUEUELEN; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setstartfn(ifp, gem_start); + if_setioctlfn(ifp, gem_ioctl); + if_setinitfn(ifp, gem_init); + if_setsendqlen(ifp, GEM_TXQUEUELEN); + if_setsendqready(ifp); callout_init_mtx(&sc->sc_tick_ch, &sc->sc_mtx, 0); #ifdef GEM_RINT_TIMEOUT @@ -383,10 +382,10 @@ gem_attach(struct gem_softc *sc) /* * Tell the upper layer(s) we support long frames/checksum offloads. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_HWCSUM; - ifp->if_hwassist |= sc->sc_csum_features; - ifp->if_capenable |= IFCAP_VLAN_MTU | IFCAP_HWCSUM; + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU | IFCAP_HWCSUM, 0); + if_sethwassistbits(ifp, sc->sc_csum_features, 0); + if_setcapenablebit(ifp, IFCAP_VLAN_MTU | IFCAP_HWCSUM, 0); return (0); @@ -424,7 +423,7 @@ gem_attach(struct gem_softc *sc) void gem_detach(struct gem_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; int i; ether_ifdetach(ifp); @@ -459,7 +458,7 @@ gem_detach(struct gem_softc *sc) void gem_suspend(struct gem_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; GEM_LOCK(sc); gem_stop(ifp, 0); @@ -469,7 +468,7 @@ gem_suspend(struct gem_softc *sc) void gem_resume(struct gem_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; GEM_LOCK(sc); /* @@ -477,7 +476,7 @@ gem_resume(struct gem_softc *sc) * after power-on. */ sc->sc_flags &= ~GEM_INITED; - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) gem_init_locked(sc); GEM_UNLOCK(sc); } @@ -561,7 +560,7 @@ static void gem_tick(void *arg) { struct gem_softc *sc = arg; - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; uint32_t v; GEM_LOCK_ASSERT(sc, MA_OWNED); @@ -656,9 +655,9 @@ gem_rxdrain(struct gem_softc *sc) } static void -gem_stop(struct ifnet *ifp, int disable) +gem_stop(if_t ifp, int disable) { - struct gem_softc *sc = ifp->if_softc; + struct gem_softc *sc = if_getsoftc(ifp); struct gem_txsoft *txs; #ifdef GEM_DEBUG @@ -696,7 +695,7 @@ gem_stop(struct ifnet *ifp, int disable) /* * Mark the interface down and cancel the watchdog timer. */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->sc_flags &= ~GEM_LINK; sc->sc_wdog_timer = 0; } @@ -755,7 +754,7 @@ gem_reset_rxdma(struct gem_softc *sc) int i; if (gem_reset_rx(sc) != 0) { - sc->sc_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->sc_ifp, 0, IFF_DRV_RUNNING); return (gem_init_locked(sc)); } for (i = 0; i < GEM_NRXDESC; i++) @@ -944,12 +943,12 @@ gem_init(void *xsc) static void gem_init_locked(struct gem_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; uint32_t v; GEM_LOCK_ASSERT(sc, MA_OWNED); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) return; #ifdef GEM_DEBUG @@ -1091,8 +1090,8 @@ gem_init_locked(struct gem_softc *sc) /* step 15. Give the receiver a swift kick. */ GEM_BANK1_WRITE_4(sc, GEM_RX_KICK, GEM_NRXDESC - 4); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); mii_mediachg(sc->sc_mii); @@ -1248,7 +1247,7 @@ gem_load_txmbuf(struct gem_softc *sc, struct mbuf **m_head) static void gem_init_regs(struct gem_softc *sc) { - const u_char *laddr = IF_LLADDR(sc->sc_ifp); + const u_char *laddr = if_getlladdr(sc->sc_ifp); GEM_LOCK_ASSERT(sc, MA_OWNED); @@ -1321,9 +1320,9 @@ gem_init_regs(struct gem_softc *sc) } static void -gem_start(struct ifnet *ifp) +gem_start(if_t ifp) { - struct gem_softc *sc = ifp->if_softc; + struct gem_softc *sc = if_getsoftc(ifp); GEM_LOCK(sc); gem_start_locked(ifp); @@ -1349,15 +1348,15 @@ gem_txkick(struct gem_softc *sc) } static void -gem_start_locked(struct ifnet *ifp) +gem_start_locked(if_t ifp) { - struct gem_softc *sc = ifp->if_softc; + struct gem_softc *sc = if_getsoftc(ifp); struct mbuf *m; int kicked, ntx; GEM_LOCK_ASSERT(sc, MA_OWNED); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->sc_flags & GEM_LINK) == 0) return; @@ -1368,15 +1367,15 @@ gem_start_locked(struct ifnet *ifp) #endif ntx = 0; kicked = 0; - for (; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && sc->sc_txfree > 1;) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + for (; !if_sendq_empty(ifp) && sc->sc_txfree > 1;) { + m = if_dequeue(ifp); if (m == NULL) break; if (gem_load_txmbuf(sc, &m) != 0) { if (m == NULL) break; - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - IFQ_DRV_PREPEND(&ifp->if_snd, m); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); + if_sendq_prepend(ifp, m); break; } if ((sc->sc_txnext % 4) == 0) { @@ -1409,7 +1408,7 @@ gem_start_locked(struct ifnet *ifp) static void gem_tint(struct gem_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct gem_txsoft *txs; int progress; uint32_t txlast; @@ -1429,7 +1428,7 @@ gem_tint(struct gem_softc *sc) GEM_CDSYNC(sc, BUS_DMASYNC_POSTREAD); while ((txs = STAILQ_FIRST(&sc->sc_txdirtyq)) != NULL) { #ifdef GEM_DEBUG - if ((ifp->if_flags & IFF_DEBUG) != 0) { + if ((if_getflags(ifp) & IFF_DEBUG) != 0) { printf(" txsoft %p transmit chain:\n", txs); for (i = txs->txs_firstdesc;; i = GEM_NEXTTX(i)) { printf("descriptor %d: ", i); @@ -1507,7 +1506,7 @@ gem_tint(struct gem_softc *sc) * We freed some descriptors, so reset IFF_DRV_OACTIVE * and restart. */ - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); if (STAILQ_EMPTY(&sc->sc_txdirtyq)) sc->sc_wdog_timer = 0; gem_start_locked(ifp); @@ -1534,7 +1533,7 @@ gem_rint_timeout(void *arg) static void gem_rint(struct gem_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct mbuf *m; uint64_t rxstat; uint32_t rxcomp; @@ -1589,7 +1588,7 @@ gem_rint(struct gem_softc *sc) } #ifdef GEM_DEBUG - if ((ifp->if_flags & IFF_DEBUG) != 0) { + if ((if_getflags(ifp) & IFF_DEBUG) != 0) { printf(" rxsoft %p descriptor %d: ", &sc->sc_rxsoft[sc->sc_rxptr], sc->sc_rxptr); printf("gd_flags: 0x%016llx\t", @@ -1640,12 +1639,12 @@ gem_rint(struct gem_softc *sc) m->m_pkthdr.rcvif = ifp; m->m_pkthdr.len = m->m_len = GEM_RD_BUFLEN(rxstat); - if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) + if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0) gem_rxcksum(m, rxstat); /* Pass it on. */ GEM_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); GEM_LOCK(sc); } @@ -1786,7 +1785,7 @@ gem_intr(void *v) if ((status2 & (GEM_MAC_TX_UNDERRUN | GEM_MAC_TX_PKT_TOO_LONG)) != 0) { if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, 1); - sc->sc_ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(sc->sc_ifp, 0, IFF_DRV_RUNNING); gem_init_locked(sc); } } @@ -1812,7 +1811,7 @@ gem_intr(void *v) static int gem_watchdog(struct gem_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; GEM_LOCK_ASSERT(sc, MA_OWNED); @@ -1839,7 +1838,7 @@ gem_watchdog(struct gem_softc *sc) if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); /* Try to get more packets going. */ - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); gem_init_locked(sc); gem_start_locked(ifp); return (EJUSTRETURN); @@ -2019,7 +2018,7 @@ gem_mii_statchg(device_t dev) GEM_LOCK_ASSERT(sc, MA_OWNED); #ifdef GEM_DEBUG - if ((sc->sc_ifp->if_flags & IFF_DEBUG) != 0) + if ((sc->sc_if_getflags(ifp) & IFF_DEBUG) != 0) device_printf(sc->sc_dev, "%s: status change\n", __func__); #endif @@ -2104,7 +2103,7 @@ gem_mii_statchg(device_t dev) GEM_BANK1_WRITE_4(sc, GEM_MAC_XIF_CONFIG, v); sc->sc_mac_rxcfg = rxcfg; - if ((sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && + if ((if_getdrvflags(sc->sc_ifp) & IFF_DRV_RUNNING) != 0 && (sc->sc_flags & GEM_LINK) != 0) { GEM_BANK1_WRITE_4(sc, GEM_MAC_TX_CONFIG, txcfg | GEM_MAC_TX_ENABLE); @@ -2114,9 +2113,9 @@ gem_mii_statchg(device_t dev) } int -gem_mediachange(struct ifnet *ifp) +gem_mediachange(if_t ifp) { - struct gem_softc *sc = ifp->if_softc; + struct gem_softc *sc = if_getsoftc(ifp); int error; /* XXX add support for serial media. */ @@ -2128,12 +2127,12 @@ gem_mediachange(struct ifnet *ifp) } void -gem_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) +gem_mediastatus(if_t ifp, struct ifmediareq *ifmr) { - struct gem_softc *sc = ifp->if_softc; + struct gem_softc *sc = if_getsoftc(ifp); GEM_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { + if ((if_getflags(ifp) & IFF_UP) == 0) { GEM_UNLOCK(sc); return; } @@ -2145,9 +2144,9 @@ gem_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -gem_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +gem_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct gem_softc *sc = ifp->if_softc; + struct gem_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; int error; @@ -2155,28 +2154,28 @@ gem_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) switch (cmd) { case SIOCSIFFLAGS: GEM_LOCK(sc); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->sc_ifflags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->sc_ifflags) & (IFF_ALLMULTI | IFF_PROMISC)) != 0) gem_setladrf(sc); else gem_init_locked(sc); - } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) gem_stop(ifp, 0); - if ((ifp->if_flags & IFF_LINK0) != 0) + if ((if_getflags(ifp) & IFF_LINK0) != 0) sc->sc_csum_features |= CSUM_UDP; else sc->sc_csum_features &= ~CSUM_UDP; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist = sc->sc_csum_features; - sc->sc_ifflags = ifp->if_flags; + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassist(ifp, sc->sc_csum_features); + sc->sc_ifflags = if_getflags(ifp); GEM_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: GEM_LOCK(sc); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) gem_setladrf(sc); GEM_UNLOCK(sc); break; @@ -2186,11 +2185,11 @@ gem_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFCAP: GEM_LOCK(sc); - ifp->if_capenable = ifr->ifr_reqcap; - if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) - ifp->if_hwassist = sc->sc_csum_features; + if_setcapenable(ifp, ifr->ifr_reqcap); + if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) + if_sethwassist(ifp, sc->sc_csum_features); else - ifp->if_hwassist = 0; + if_sethwassist(ifp, 0); GEM_UNLOCK(sc); break; default: @@ -2218,7 +2217,7 @@ gem_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void gem_setladrf(struct gem_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; int i; uint32_t hash[16]; uint32_t v; @@ -2239,11 +2238,11 @@ gem_setladrf(struct gem_softc *sc) "cannot disable RX MAC or hash filter\n"); v &= ~(GEM_MAC_RX_PROMISCUOUS | GEM_MAC_RX_PROMISC_GRP); - if ((ifp->if_flags & IFF_PROMISC) != 0) { + if ((if_getflags(ifp) & IFF_PROMISC) != 0) { v |= GEM_MAC_RX_PROMISCUOUS; goto chipit; } - if ((ifp->if_flags & IFF_ALLMULTI) != 0) { + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) { v |= GEM_MAC_RX_PROMISC_GRP; goto chipit; } diff --git a/sys/dev/gem/if_gemvar.h b/sys/dev/gem/if_gemvar.h index f83ba9505b65..f5a212c5b4af 100644 --- a/sys/dev/gem/if_gemvar.h +++ b/sys/dev/gem/if_gemvar.h @@ -106,7 +106,7 @@ struct gem_rxsoft { * software state per device */ struct gem_softc { - struct ifnet *sc_ifp; + if_t sc_ifp; struct mtx sc_mtx; device_t sc_miibus; struct mii_data *sc_mii; /* MII media control */ @@ -269,8 +269,8 @@ void gem_intr(void *v); void gem_resume(struct gem_softc *sc); void gem_suspend(struct gem_softc *sc); -int gem_mediachange(struct ifnet *ifp); -void gem_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr); +int gem_mediachange(if_t ifp); +void gem_mediastatus(if_t ifp, struct ifmediareq *ifmr); /* MII methods & callbacks */ int gem_mii_readreg(device_t dev, int phy, int reg); From nobody Tue Jan 31 21:53:54 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMl1C6tz3cPZ0; Tue, 31 Jan 2023 21:53: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 4P5zMl0k7Bz3n0h; Tue, 31 Jan 2023 21:53:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kjBFPUS83sheN0b5/azM16tTuQGTF0fg2B59iaSTjSo=; b=Pzl8UWppVD0BY7wXfMNdw+Qgo9DU0iOXikF/KGEeWjYzyqBHOnE1AFcbe68cRsYm1M9u3B O/szapMjSFOdYZVVdzen6/hHlQWAY2RzpQkC1fwvaxttpiS0pLJ25GQ2xGTQNjbiHfL9Hw 9pCE4Xwpf4JsLQBbzt6+3/aSK4mm1m2OI0u0dl2A7WKMR9X7oyUo0VaA9jeVDBJnsiXzeL 0WpQOhK/ykuUZUwudBXwKnDPpvbeRWytF644kUaI4rIyMhO9IYb2Gpy8Zj1Rg0phTPe4O5 V+w43pNSyNy4otEgmBHAGE5P+n/ASFA0DC6oIeifmglhguN+7jCsTNt8lCPb1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kjBFPUS83sheN0b5/azM16tTuQGTF0fg2B59iaSTjSo=; b=ocXG9TqvF17c5oa/+1sciKV0e98bWZ3IfJNIih40+CZGiDOnA8m7o0ni5OApL3rrL3Dp0K xuFuiqaJXRt5lUEhd084mv4EvcTW5oXYk70XgrHDxz+qQ4tx+ETjH9iO7cYpIJSfGNyKam 5rof1KSl1FXvxoZeCFjkKeu0bWZwpfCZ/9goK231UuKZ7bXMWP9lKTM1XdAp70Mh98kr3v icQJZD6wAXouMfNUlldcbnXVLofaV3XArAioVZLD6pLSapWHQOy6Ge6RvGDm3k3GJKvuWR FlzuQmyjCCdVWRoVXmZAlH8/8RhvPrfdcwCUHqe0y0kZjl0Qjbk6CUbJtZNfUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202035; a=rsa-sha256; cv=none; b=W0m014DqIkFy1A/zFfLM7MwwImkn0uSWd7zxFu2O856DCAJZLFwJilukbJuq3EPLsaenAs 5ugm8ArCKWIlVix/MeWM3KaoC9+fwflJkXQOk9Z+ozQKOlDTDMkmfQsbVgyFCBtf+3RR3P f3DrcaZZl+eogxDTeXOa3Go3Ag5tHSsIqRUUzQdCW7XlvfXs745izlK6PndpJhbIFPr+CL JKM9sB+vhh2HAqnSfqb09B/PCgg1jWSLqMhkKSVYpKTIQDF6O8gWZ5Wke/IJp5bLEzTP28 jqkQjUH+hIf1f9uN9uXq0ZI6sOpWfkc7sbZ9vV+vtndVRyn+aDzfxUdhRq7udA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMk6nfzz14rm; Tue, 31 Jan 2023 21:53:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLrsm9080853; Tue, 31 Jan 2023 21:53:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLrse9080851; Tue, 31 Jan 2023 21:53:54 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:54 GMT Message-Id: <202301312153.30VLrse9080851@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 13f2ef1637bc - main - Mechanically convert mwl(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 13f2ef1637bc7da1e96253722afe42435fb37c59 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=13f2ef1637bc7da1e96253722afe42435fb37c59 commit 13f2ef1637bc7da1e96253722afe42435fb37c59 Author: Justin Hibbits AuthorDate: 2022-08-19 19:15:03 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:35 +0000 Mechanically convert mwl(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37840 --- sys/dev/mwl/if_mwl.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/sys/dev/mwl/if_mwl.c b/sys/dev/mwl/if_mwl.c index aa50d55c942f..8e7fa59fbc1e 100644 --- a/sys/dev/mwl/if_mwl.c +++ b/sys/dev/mwl/if_mwl.c @@ -98,7 +98,7 @@ static void mwl_start(struct mwl_softc *); static int mwl_transmit(struct ieee80211com *, struct mbuf *); static int mwl_raw_xmit(struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *); -static int mwl_media_change(struct ifnet *); +static int mwl_media_change(if_t); static void mwl_watchdog(void *); static int mwl_ioctl(struct ieee80211com *, u_long, void *); static void mwl_radar_proc(void *, int); @@ -1465,7 +1465,7 @@ mwl_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, } static int -mwl_media_change(struct ifnet *ifp) +mwl_media_change(if_t ifp) { struct ieee80211vap *vap; int error; @@ -1475,7 +1475,7 @@ mwl_media_change(struct ifnet *ifp) if (error != 0) return (error); - vap = ifp->if_softc; + vap = if_getsoftc(ifp); mwl_setrates(vap); return (0); } @@ -1735,14 +1735,14 @@ mwl_setmcastfilter(struct mwl_softc *sc) /* XXX Punt on ranges. */ if (nmc == MWL_HAL_MCAST_MAX || !IEEE80211_ADDR_EQ(enm->enm_addrlo, enm->enm_addrhi)) { - ifp->if_flags |= IFF_ALLMULTI; + if_setflagsbit(ifp, IFF_ALLMULTI, 0); return; } IEEE80211_ADDR_COPY(mp, enm->enm_addrlo); mp += IEEE80211_ADDR_LEN, nmc++; ETHER_NEXT_MULTI(estep, enm); } - ifp->if_flags &= ~IFF_ALLMULTI; + if_setflagsbit(ifp, 0, IFF_ALLMULTI); mwl_hal_setmcast(sc->sc_mh, nmc, macs); #endif } @@ -4088,7 +4088,7 @@ mwl_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) int error; DPRINTF(sc, MWL_DEBUG_STATE, "%s: %s: %s -> %s\n", - vap->iv_ifp->if_xname, __func__, + if_name(vap->iv_ifp), __func__, ieee80211_state_name[ostate], ieee80211_state_name[nstate]); callout_stop(&sc->sc_timer); @@ -4150,7 +4150,7 @@ mwl_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) DPRINTF(sc, MWL_DEBUG_STATE, "%s: %s(RUN): iv_flags 0x%08x bintvl %d bssid %s " "capinfo 0x%04x chan %d\n", - vap->iv_ifp->if_xname, __func__, vap->iv_flags, + if_name(vap->iv_ifp), __func__, vap->iv_flags, ni->ni_intval, ether_sprintf(ni->ni_bssid), ni->ni_capinfo, ieee80211_chan2ieee(ic, ic->ic_curchan)); @@ -4183,7 +4183,7 @@ mwl_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) break; case IEEE80211_M_STA: DPRINTF(sc, MWL_DEBUG_STATE, "%s: %s: aid 0x%x\n", - vap->iv_ifp->if_xname, __func__, ni->ni_associd); + if_name(vap->iv_ifp), __func__, ni->ni_associd); /* * Set state now that we're associated. */ @@ -4196,7 +4196,7 @@ mwl_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) break; case IEEE80211_M_WDS: DPRINTF(sc, MWL_DEBUG_STATE, "%s: %s: bssid %s\n", - vap->iv_ifp->if_xname, __func__, + if_name(vap->iv_ifp), __func__, ether_sprintf(ni->ni_bssid)); mwl_seteapolformat(vap); break; @@ -4729,9 +4729,9 @@ mwl_ioctl(struct ieee80211com *ic, u_long cmd, void *data) #if 0 /* NB: embed these numbers to get a consistent view */ sc->sc_stats.mst_tx_packets = - ifp->if_get_counter(ifp, IFCOUNTER_OPACKETS); + if_get_counter(ifp, IFCOUNTER_OPACKETS); sc->sc_stats.mst_rx_packets = - ifp->if_get_counter(ifp, IFCOUNTER_IPACKETS); + if_get_counter(ifp, IFCOUNTER_IPACKETS); #endif /* * NB: Drop the softc lock in case of a page fault; From nobody Tue Jan 31 21:53:56 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMm2CSFz3cPtS; Tue, 31 Jan 2023 21:53: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 4P5zMm1kGVz3msH; Tue, 31 Jan 2023 21:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CopJjF9DebWClMhEOKIQEJjAVFhzUWdG4QsFwvgYBIw=; b=EAP/SZsmkaD8bkkE01D02uVCu9GmR4HkX8dNTTT1yR5TkHR/K2g1+dK43QBAaNQ9LZDqSZ MqddBvtZxwxDx9u/8hB/qkmc2mM6qZI12OVzVOa5IVGs5Dhwwoj99yEXmL59g+ptqpX0mP h/Un+YqZk2EZ12wXfFEnYGhCouP9nu5heM5S1wrdMtJeU/hie3w8MJXFH/Hi6x3DlOZsqI fuqGp9qp6A3fhtnQ25j23o36GjB3XqzeryyzOCRJZBPRziVbxs9e8jmdm2AqYDS5c8+99s quhQIRkD01ojkyR0nU6Q4kLV6GY1ojSzohJzi1QGE3qkjNL8Ndx7mN06TlabWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CopJjF9DebWClMhEOKIQEJjAVFhzUWdG4QsFwvgYBIw=; b=H5bJteovihZn2LIGiKeqSuQECZNyktqXmp/VTUib+VqNQ/0CJ+Q7Zcdjkmf84TaK0hGG04 U7K5vVftxmGlrZfGF9g4PynoRpXo/q/94b/Ms2xJpadKAwtD+/C73RcqwTRctfa5qsynyX 2FGSe/cuxs9cR+seWJaU+J88nzPHC5YQBafN/LcJAuaWblFCNxB2CnDNZFEvaUGc27S7VM PTfyCcU6b9kCklOP6KahrgqbUp5mSehTLCAUOlZr2qfuVHNfYIVjt+l3wg/53IR3l0xH5g W3TEfbelkz4rw4Fes3JW06rk2wjDDXueIzv+cyy5jmno84M8wJZWN4bRSLR5Rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202036; a=rsa-sha256; cv=none; b=Xwwq3j9/iq+JAuPQmNGk6K2vnAcqhK3ENedZLrp6XXrQFyvHsGwoojo/bdwLhmyENH41bB guloegR3V+U3dCF9S7JMV7DXMQs30k/m5wCf4hbQC/9oEhrH8R2J+9VJNVWpYxWnVTGWe4 gA1Eisa68trL2ulBH4j2eQhgsg/o00unEEOWXBpt8Yv4kK2TlsQ6yYHM/VL1ovdG1Vlf7Q wWUR2YSo0nWrXn1X1ARok3ufjPCkHnzqIoLqimvovvSH47ca3i7QrT4stkZivtii/na9jv qpVhj0NvoExUXB0SCo4nSvbRlNEpPgq2zkTbYLifNqwxzpUxGglCvALV4oMQBA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMm0lgrz14TT; Tue, 31 Jan 2023 21:53:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLruBh080878; Tue, 31 Jan 2023 21:53:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLruXL080877; Tue, 31 Jan 2023 21:53:56 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:56 GMT Message-Id: <202301312153.30VLruXL080877@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: dc57ec3ca0fb - main - Mechanically convert ffec(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dc57ec3ca0fbd11d351a4ca1e305a29dd1dc74f5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=dc57ec3ca0fbd11d351a4ca1e305a29dd1dc74f5 commit dc57ec3ca0fbd11d351a4ca1e305a29dd1dc74f5 Author: Justin Hibbits AuthorDate: 2022-08-19 16:07:08 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:36 +0000 Mechanically convert ffec(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37836 --- sys/dev/ffec/if_ffec.c | 101 ++++++++++++++++++++++++------------------------- 1 file changed, 50 insertions(+), 51 deletions(-) diff --git a/sys/dev/ffec/if_ffec.c b/sys/dev/ffec/if_ffec.c index f98e408265fd..b6c5df376c46 100644 --- a/sys/dev/ffec/if_ffec.c +++ b/sys/dev/ffec/if_ffec.c @@ -152,7 +152,7 @@ struct ffec_softc { device_t dev; device_t miibus; struct mii_data * mii_softc; - struct ifnet *ifp; + if_t ifp; int if_flags; struct mtx mtx; struct resource *irq_res[MAX_IRQ_COUNT]; @@ -441,13 +441,13 @@ ffec_miibus_statchg(device_t dev) } static void -ffec_media_status(struct ifnet * ifp, struct ifmediareq *ifmr) +ffec_media_status(if_t ifp, struct ifmediareq *ifmr) { struct ffec_softc *sc; struct mii_data *mii; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); mii = sc->mii_softc; FFEC_LOCK(sc); mii_pollstat(mii); @@ -464,12 +464,12 @@ ffec_media_change_locked(struct ffec_softc *sc) } static int -ffec_media_change(struct ifnet * ifp) +ffec_media_change(if_t ifp) { struct ffec_softc *sc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); FFEC_LOCK(sc); error = ffec_media_change_locked(sc); @@ -519,7 +519,7 @@ static void ffec_clear_stats(struct ffec_softc *sc) static void ffec_harvest_stats(struct ffec_softc *sc) { - struct ifnet *ifp; + if_t ifp; ifp = sc->ifp; @@ -553,7 +553,7 @@ static void ffec_tick(void *arg) { struct ffec_softc *sc; - struct ifnet *ifp; + if_t ifp; int link_was_up; sc = arg; @@ -562,7 +562,7 @@ ffec_tick(void *arg) ifp = sc->ifp; - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) return; /* @@ -649,7 +649,7 @@ ffec_setup_txbuf(struct ffec_softc *sc, int idx, struct mbuf **mp) static void ffec_txstart_locked(struct ffec_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct mbuf *m; int enqueued; @@ -660,21 +660,21 @@ ffec_txstart_locked(struct ffec_softc *sc) ifp = sc->ifp; - if (ifp->if_drv_flags & IFF_DRV_OACTIVE) + if (if_getdrvflags(ifp) & IFF_DRV_OACTIVE) return; enqueued = 0; for (;;) { if (sc->txcount == (TX_DESC_COUNT-1)) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); + m = if_dequeue(ifp); if (m == NULL) break; if (ffec_setup_txbuf(sc, sc->tx_idx_head, &m) != 0) { - IFQ_DRV_PREPEND(&ifp->if_snd, m); + if_sendq_prepend(ifp, m); break; } BPF_MTAP(ifp, m); @@ -691,9 +691,9 @@ ffec_txstart_locked(struct ffec_softc *sc) } static void -ffec_txstart(struct ifnet *ifp) +ffec_txstart(if_t ifp) { - struct ffec_softc *sc = ifp->if_softc; + struct ffec_softc *sc = if_getsoftc(ifp); FFEC_LOCK(sc); ffec_txstart_locked(sc); @@ -703,7 +703,7 @@ ffec_txstart(struct ifnet *ifp) static void ffec_txfinish_locked(struct ffec_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct ffec_hwdesc *desc; struct ffec_bufmap *bmap; boolean_t retired_buffer; @@ -735,7 +735,7 @@ ffec_txfinish_locked(struct ffec_softc *sc) * the descriptor ring, go try to start some new output. */ if (retired_buffer) { - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); ffec_txstart_locked(sc); } @@ -858,7 +858,7 @@ ffec_rxfinish_onebuf(struct ffec_softc *sc, int len) bcopy(src, dst, len); m->m_data = dst; } - sc->ifp->if_input(sc->ifp, m); + if_input(sc->ifp, m); FFEC_LOCK(sc); @@ -991,7 +991,7 @@ ffec_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void ffec_setup_rxfilter(struct ffec_softc *sc) { - struct ifnet *ifp; + if_t ifp; uint8_t *eaddr; uint64_t ghash, ihash; @@ -1002,7 +1002,7 @@ ffec_setup_rxfilter(struct ffec_softc *sc) /* * Set the multicast (group) filter hash. */ - if ((ifp->if_flags & IFF_ALLMULTI)) + if ((if_getflags(ifp) & IFF_ALLMULTI)) ghash = 0xffffffffffffffffLLU; else { ghash = 0; @@ -1018,7 +1018,7 @@ ffec_setup_rxfilter(struct ffec_softc *sc) * seems to support the concept of MAC address aliases, does such a * thing even exist? */ - if ((ifp->if_flags & IFF_PROMISC)) + if ((if_getflags(ifp) & IFF_PROMISC)) ihash = 0xffffffffffffffffLLU; else { ihash = 0; @@ -1029,7 +1029,7 @@ ffec_setup_rxfilter(struct ffec_softc *sc) /* * Set the primary address. */ - eaddr = IF_LLADDR(ifp); + eaddr = if_getlladdr(ifp); WR4(sc, FEC_PALR_REG, (eaddr[0] << 24) | (eaddr[1] << 16) | (eaddr[2] << 8) | eaddr[3]); WR4(sc, FEC_PAUR_REG, (eaddr[4] << 24) | (eaddr[5] << 16)); @@ -1038,7 +1038,7 @@ ffec_setup_rxfilter(struct ffec_softc *sc) static void ffec_stop_locked(struct ffec_softc *sc) { - struct ifnet *ifp; + if_t ifp; struct ffec_hwdesc *desc; struct ffec_bufmap *bmap; int idx; @@ -1046,7 +1046,7 @@ ffec_stop_locked(struct ffec_softc *sc) FFEC_ASSERT_LOCKED(sc); ifp = sc->ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->tx_watchdog_count = 0; /* @@ -1101,7 +1101,7 @@ ffec_stop_locked(struct ffec_softc *sc) static void ffec_init_locked(struct ffec_softc *sc) { - struct ifnet *ifp = sc->ifp; + if_t ifp = sc->ifp; uint32_t maxbuf, maxfl, regval; FFEC_ASSERT_LOCKED(sc); @@ -1126,7 +1126,7 @@ ffec_init_locked(struct ffec_softc *sc) maxbuf = MCLBYTES - roundup(ETHER_ALIGN, sc->rxbuf_align); maxfl = min(maxbuf, 0x7ff); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; /* Mask all interrupts and clear all current interrupt status bits. */ @@ -1257,7 +1257,7 @@ ffec_init_locked(struct ffec_softc *sc) regval |= FEC_ECR_ETHEREN; WR4(sc, FEC_ECR_REG, regval); - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); /* * Call mii_mediachg() which will call back into ffec_miibus_statchg() to @@ -1326,23 +1326,23 @@ ffec_intr(void *arg) } static int -ffec_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +ffec_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct ffec_softc *sc; struct mii_data *mii; struct ifreq *ifr; int mask, error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); ifr = (struct ifreq *)data; error = 0; switch (cmd) { case SIOCSIFFLAGS: FFEC_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - if ((ifp->if_flags ^ sc->if_flags) & + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { + if ((if_getflags(ifp) ^ sc->if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) ffec_setup_rxfilter(sc); } else { @@ -1350,16 +1350,16 @@ ffec_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) ffec_init_locked(sc); } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) ffec_stop_locked(sc); } - sc->if_flags = ifp->if_flags; + sc->if_flags = if_getflags(ifp); FFEC_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { FFEC_LOCK(sc); ffec_setup_rxfilter(sc); FFEC_UNLOCK(sc); @@ -1373,10 +1373,10 @@ ffec_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case SIOCSIFCAP: - mask = ifp->if_capenable ^ ifr->ifr_reqcap; + mask = if_getcapenable(ifp) ^ ifr->ifr_reqcap; if (mask & IFCAP_VLAN_MTU) { /* No work to do except acknowledge the change took. */ - ifp->if_capenable ^= IFCAP_VLAN_MTU; + if_togglecapenable(ifp, IFCAP_VLAN_MTU); } break; @@ -1468,7 +1468,7 @@ static int ffec_attach(device_t dev) { struct ffec_softc *sc; - struct ifnet *ifp = NULL; + if_t ifp = NULL; struct mbuf *m; void *dummy; uintptr_t typeflags; @@ -1739,22 +1739,21 @@ ffec_attach(device_t dev) /* Set up the ethernet interface. */ sc->ifp = ifp = if_alloc(IFT_ETHER); - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_capabilities = IFCAP_VLAN_MTU; - ifp->if_capenable = ifp->if_capabilities; - ifp->if_start = ffec_txstart; - ifp->if_ioctl = ffec_ioctl; - ifp->if_init = ffec_init; - IFQ_SET_MAXLEN(&ifp->if_snd, TX_DESC_COUNT - 1); - ifp->if_snd.ifq_drv_maxlen = TX_DESC_COUNT - 1; - IFQ_SET_READY(&ifp->if_snd); - ifp->if_hdrlen = sizeof(struct ether_vlan_header); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setcapabilities(ifp, IFCAP_VLAN_MTU); + if_setcapenable(ifp, if_getcapabilities(ifp)); + if_setstartfn(ifp, ffec_txstart); + if_setioctlfn(ifp, ffec_ioctl); + if_setinitfn(ifp, ffec_init); + if_setsendqlen(ifp, TX_DESC_COUNT - 1); + if_setsendqready(ifp); + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); #if 0 /* XXX The hardware keeps stats we could use for these. */ - ifp->if_linkmib = &sc->mibdata; - ifp->if_linkmiblen = sizeof(sc->mibdata); + if_setlinkmib(ifp, &sc->mibdata); + if_setlinkmiblen(ifp, sizeof(sc->mibdata)); #endif /* Set up the miigasket hardware (if any). */ From nobody Tue Jan 31 21:58:08 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zSc3YkQz3cQFc; Tue, 31 Jan 2023 21:58: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 4P5zSc2xFtz3qWW; Tue, 31 Jan 2023 21:58:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F+FHjfkwBmK3uf3aoG6mfPT/ASsUfUlHiQk1xLgWddw=; b=ocLtP87cCGpoaU5btJZRoqJbwy8VbAm19utrq+N22UcFtnj0+Nz5j/IAlfiCxgWlnPkJFT gxkXj27u4PlyC03zvD13qkogU87al/Akwvz5cf+Vv9vO5gz/6Bo35zJQilahKYsKrjmsGg 92hQvx1EAxIQCcqVcqyQqASoZqkacy8sIvFeLF6WZF4vOkfyj2KPAvJxNGUlvWU7TfLlwo GcEpwcQGtv4Cg3LWnCzXh6k4yl8N6xJFwntsT0Uh+hWMGFwMGj+bODidINeoGLOGbHEANO hrDT298ocXxQ/L/0C5JKcmAtcOinyqfhSNR/HP02GY9V3rq+JznW8mGIa6rirg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F+FHjfkwBmK3uf3aoG6mfPT/ASsUfUlHiQk1xLgWddw=; b=o/BrWF0IkjNeKyEGluZux1h2y/m38ij2nqrTMBDG0rAJn2omPzyIbc+hfmzEg/CHYu+RL6 TrPV/PgsqUsVxhX3oU35ZTPgEQ03V4mBeQ92MRTPzHQcBGs/9IsuwC5NXlzAmZC5gBN1Km f3nx056H7gms6kD11mYj/igKIhzXemtNKmJGGI8M/GlmKaZmun1RnjfmUQGnkIVg1d4d0c Rb3knFE1QWc7LLinYAg3XBqX5EG8f/fmnb2WoPu9fMbhoJ6urLVJLhI+Dy2cwbsqbBbe/i R1u7u8cXycFQiiOz/YwiB3p6Vg6nCKiDokeLc83sdtHgG88Ez3H+aKfvP4qnUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202288; a=rsa-sha256; cv=none; b=RF6lq1GP780j1NFO/JafEVjm8zF4Wwhnp+TIrSJJQFjCtegzkMCMLAeVnqvC8WYS0zBmMh cD6B6K4YCXr0cyfzbZh+JONDpJgS8+1lJ510uAazSlsjEldrKOZe0pfWs1KpvnvusIF5zm T8duhlfoL7xUu4EAtJznoSShl+xbHdsbHE7YBYNW8lvkoikyyPYYelz9IMy0W6CzKfA60x oIuf/KUkiAAo9FQyK7DHe2MBTxA/Y3Sl8sClVy/9UK5P1pwbq7ebFZPuM9r9HkSl/1IcSA v5lTaviYrlAax7+3oyrD4M//S+eFOQ+4dNiTJanIHAYqZjfPyBRoP5LLyezG6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zSc1zNjz14gV; Tue, 31 Jan 2023 21:58:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLw8es081546; Tue, 31 Jan 2023 21:58:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLw8vx081545; Tue, 31 Jan 2023 21:58:08 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:58:08 GMT Message-Id: <202301312158.30VLw8vx081545@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Eric Joyner Subject: git: 53545967642d - main - vtd: Increase DRHD_MAX_UNITS List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: erj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 53545967642d850eee4f2dd9fa27cae52ae981b9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=53545967642d850eee4f2dd9fa27cae52ae981b9 commit 53545967642d850eee4f2dd9fa27cae52ae981b9 Author: Eric Joyner AuthorDate: 2023-01-30 21:34:03 +0000 Commit: Eric Joyner CommitDate: 2023-01-31 21:57:42 +0000 vtd: Increase DRHD_MAX_UNITS Observed on a couple Ice Lake-SP platforms (Intel Coyote Pass, Dell R750), there are more than 8 DRHD sections enumerated in the DMAR ACPI section. Since the previous limit was 8, this resulted in some of these not being parsed by vtd when the iommu is initialized; in this case when PCI devices are being passthru'd to a bhyve VM. This omission later causes a kernel panic later in initialization when devices could not be found in a valid DRHD scope because the DHRD containing the device's scope was not added to vtd. Signed-off-by: Eric Joyner PR: 268486 Sponsored by: Intel Corporation Reviewed by: rew@, corvink@ MFC after: 1 day Differential Revision: https://reviews.freebsd.org/D38285 --- sys/amd64/vmm/intel/vtd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/vmm/intel/vtd.c b/sys/amd64/vmm/intel/vtd.c index 21e81223f6ee..b860e4de3817 100644 --- a/sys/amd64/vmm/intel/vtd.c +++ b/sys/amd64/vmm/intel/vtd.c @@ -117,7 +117,7 @@ struct domain { static SLIST_HEAD(, domain) domhead; -#define DRHD_MAX_UNITS 8 +#define DRHD_MAX_UNITS 16 static ACPI_DMAR_HARDWARE_UNIT *drhds[DRHD_MAX_UNITS]; static int drhd_num; static struct vtdmap *vtdmaps[DRHD_MAX_UNITS]; From nobody Tue Jan 31 22:44:44 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P60VN2nCqz3cmbp; Tue, 31 Jan 2023 22:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P60VN2H9kz3xdR; Tue, 31 Jan 2023 22:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675205084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5lT6YAfU4itE9q5UQUm3J9kOrkw5PJLtuAuOS1eq74o=; b=jYGvkzdbp+RQMAxhDk9gwykM/k9yb9UbSIXEHNPcwri2J8UqFTjdpCWKwiZZlNVJHPE173 GlUeWb5C+M1BeibQ5TJT0fRFPwjpLH0WKn+4SeybFRx5IwC1IvUE+3+mf29sV7UX3S+MD9 Y8ovtQgGrMnUNq+EZYuDzs8BrS5qo4VFWhL4w3nr9ARrJYhUIu1h+4Z4K7P8bwLpsvIsRk U+wGnzZ7VuWWacj/RkzxI9bRJ0wdChifo02ju/e6OclpiC4r9ZImz3h/uS8f1xT95l+V1A 4U93avPK5LxxJ4SP8r0uBnVNZcBSyStIh/rLFTJsSxufUpiO9dV1ziu6tiCARg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675205084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5lT6YAfU4itE9q5UQUm3J9kOrkw5PJLtuAuOS1eq74o=; b=clh/Y8n7ASV/dyn38RRFI4y+W9sxw+X2U1Mu2pyrH3Fp+IRSh34MgC1OiMwyY3DkS/Quvf BcqBrpHtWhqsi04hKlW/63aWn1F93HcN/LjoxwWi/I1dClSHyOjx3KpT13G5Xn1Rs4+Mdz RGDSC0AKXApSBwFOp8c0qYyhh+kiyUvcyBalg9dzyMoLlqMrtawOoibqbxJn9cE2svrCBK 5HaIsHvNQ51vMUaZyd3jp89btErf1wqZR0QxjiF6YsFBBoH05oNNnGuxf07bfSo/nDNFDj Z9ji+EPzOC6724xcu3+m5eAIiAF15dlfgeMCATgYLXt3iMcp+by4/bZxcgIUig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675205084; a=rsa-sha256; cv=none; b=IAI+PtErta5FXd6vrR8WQ4/KFqL/16nkiNuL6ipHDnY+kr326hDlXvnGWl0wBJHmujPJ0o DxCvL53Kxnc3PPM2KxcEzabVy3Wi/bWf3QCG+fpUZ0Si28DS859D9oMW1U/qD9m/eBmm5P 6wuh1523QOf15Vt4zPSXQnkOkUUC+IPQV/1mVAllR1MZacOTexHjGGaHubBx2F3CfmMxi3 SCLnrHDGxhmlxufcQfBmO3CsfF3WzfSMg12n7JTslFt74+F3lgFlRCV0EJqP9+4DxbaGuQ RArxJ2QKwQQNY1DgciJ2OZOURvMdxxeFxcf12dM0hmn0Iuo0eO1imEsCTd7Pkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P60VN1Bg9z16DP; Tue, 31 Jan 2023 22:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VMiiQY052082; Tue, 31 Jan 2023 22:44:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VMiiuF052081; Tue, 31 Jan 2023 22:44:44 GMT (envelope-from git) Date: Tue, 31 Jan 2023 22:44:44 GMT Message-Id: <202301312244.30VMiiuF052081@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Subject: git: a83b3ec719eb - main - linuxkpi: list_sort()'s callback now takes list arguments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a83b3ec719eb6c53658656b7b90607564d3c64d3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dumbbell (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=a83b3ec719eb6c53658656b7b90607564d3c64d3 commit a83b3ec719eb6c53658656b7b90607564d3c64d3 Author: Jean-Sébastien Pédron AuthorDate: 2023-01-11 22:22:07 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-01-31 22:36:33 +0000 linuxkpi: list_sort()'s callback now takes list arguments This change breaks the API of `list_sort()`. `LINUXKPI_VERSION >= 51300` is used to keep the header compatible with both versions of the prototype. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38082 --- sys/compat/linuxkpi/common/include/linux/list.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/list.h b/sys/compat/linuxkpi/common/include/linux/list.h index 80ac57fecf6d..6ec715291807 100644 --- a/sys/compat/linuxkpi/common/include/linux/list.h +++ b/sys/compat/linuxkpi/common/include/linux/list.h @@ -504,7 +504,12 @@ static inline int list_is_last(const struct list_head *list, (pos) && ({ n = (pos)->member.next; 1; }); \ pos = hlist_entry_safe(n, typeof(*(pos)), member)) +#if defined(LINUXKPI_VERSION) && LINUXKPI_VERSION >= 51300 +extern void list_sort(void *priv, struct list_head *head, int (*cmp)(void *priv, + const struct list_head *a, const struct list_head *b)); +#else extern void list_sort(void *priv, struct list_head *head, int (*cmp)(void *priv, struct list_head *a, struct list_head *b)); +#endif #endif /* _LINUXKPI_LINUX_LIST_H_ */ From nobody Tue Jan 31 23:05:00 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P60xm4lNzz3cp5W; Tue, 31 Jan 2023 23:05: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 4P60xm4FyLz40Pt; Tue, 31 Jan 2023 23:05:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675206300; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sZvYvDnJLZPFqOgSicibOEklHCZuumFu4SVLuRn/yjk=; b=eF2n3mg44Q1vSXi3w9qeViOFjebwhX3/cmcdqIHDrdovTO85cJujIeupXz+PT7DgO1LNTk 8FIKf+xWDeLGVt6jqYgyM5avMQep8vMU6VF8dg3dZSzC4eBjfLZd0u/2UgTjul1x/Aomjd rJvIlccBGEkXU0rEUKDHoCwhgFYCQftHFKUPMvm2cgep6pxPTwcM+NHqxl+H0+7ua/ED3I ZHvYO5SfczP1/p5D5DhF0LOmB2t1WJFFZ/61EubTYMFPvROag2NuXwx+qBD94CVRBeTs97 Hh1g1vEo2SVwqR2zlIMl9wdURaZeZFSqVoXQcWTydg/71TFUaSLcogFafs1tmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675206300; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sZvYvDnJLZPFqOgSicibOEklHCZuumFu4SVLuRn/yjk=; b=eeDWqFOrhlXoNqLMr56fe+9KQ+E9cEjnLwXKKCFwJVns7abvh1Th69OkDN9Ml3jdij6bEL gnzC44nLltgexsbNwujs/rb3B6pQkrz67qoxFu8bbxDDI7AF6FxnXrIta9+IAn1Wbh2Q8f 8UzefNkQlFSp3HZsSKE/qIuFxxklhtkmz2qtDZRjF388Unxwmx3eRhfUUJiOUxWO0OaEG1 XYzuyxl6QO1oRIbUDEDLlUVQn4gv6qVESiYkR/+HwMqmuJL9rHhDL6qt2LHvNc8Fog4c3F lTRcU37Tr/tig8Co0Yi1byrRO98xbkdWzf530V9/dmURcfzYTs4X7u+FKqJGEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675206300; a=rsa-sha256; cv=none; b=rmrdYVPMgUiLTR2diVLPtjjPavEE23btGTHrqEUuF438nCrTz+1fR3UNs7nr+8fOvTW2iR HnBBaLCrpgBC1zRRJyi1eOw9Mp45RqJvDQoPoJb2QIVZzyUgW3I1YZ+OFKpp046eOQqEOa hjKnvt1v641ud2Gxn7nGbCGtA50Q+XGbLQTd9by29fFPhtoR3bNb0Ntyy3Gp16r10DChuw Tv0Ymka6OAbd9WuD+WWQnrZ3f3o5VNQEp5HW75CAnJkO63eCiaUnJ45a8l6Q68kWGaA61i RhjnCB5PMfpWmPsx0uL3KjzsXTwkGhllnNbbOcxTj0uT63II7241BtwXcHO+Mw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P60xm3JMHz16Ls; Tue, 31 Jan 2023 23:05:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VN50c0081097; Tue, 31 Jan 2023 23:05:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VN50Rc081096; Tue, 31 Jan 2023 23:05:00 GMT (envelope-from git) Date: Tue, 31 Jan 2023 23:05:00 GMT Message-Id: <202301312305.30VN50Rc081096@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 3dd980267f4e - main - LinuxKPI: 802.11: enhance lkpi_scan_ies_add() for HT and VHT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3dd980267f4e53df259eb6d322e7332a8bc5bb0a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3dd980267f4e53df259eb6d322e7332a8bc5bb0a commit 3dd980267f4e53df259eb6d322e7332a8bc5bb0a Author: Bjoern A. Zeeb AuthorDate: 2023-01-31 23:00:28 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-01-31 23:00:28 +0000 LinuxKPI: 802.11: enhance lkpi_scan_ies_add() for HT and VHT Add code (currently disabled by #ifdef) for HT and VHT to lkpi_scan_ies_add(). Switch to a local variable for ic given the new code also needs the value. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index cf0c1755c499..491002cd6df5 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -2484,11 +2484,13 @@ lkpi_scan_ies_add(uint8_t *p, struct ieee80211_scan_ies *scan_ies, { struct ieee80211_supported_band *supband; struct linuxkpi_ieee80211_channel *channels; + struct ieee80211com *ic; const struct ieee80211_channel *chan; const struct ieee80211_rateset *rs; uint8_t *pb; int band, i; + ic = vap->iv_ic; for (band = 0; band < NUM_NL80211_BANDS; band++) { if ((band_mask & (1 << band)) == 0) continue; @@ -2509,7 +2511,7 @@ lkpi_scan_ies_add(uint8_t *p, struct ieee80211_scan_ies *scan_ies, if (channels[i].flags & IEEE80211_CHAN_DISABLED) continue; - chan = ieee80211_find_channel(vap->iv_ic, + chan = ieee80211_find_channel(ic, channels[i].center_freq, 0); if (chan != NULL) break; @@ -2520,10 +2522,31 @@ lkpi_scan_ies_add(uint8_t *p, struct ieee80211_scan_ies *scan_ies, continue; pb = p; - rs = ieee80211_get_suprates(vap->iv_ic, chan); /* calls chan2mode */ + rs = ieee80211_get_suprates(ic, chan); /* calls chan2mode */ p = ieee80211_add_rates(p, rs); p = ieee80211_add_xrates(p, rs); +#if defined(LKPI_80211_HT) + if ((vap->iv_flags_ht & IEEE80211_FHT_HT) != 0) { + struct ieee80211_channel *c; + + c = ieee80211_ht_adjust_channel(ic, ic->ic_curchan, + vap->iv_flags_ht); + p = ieee80211_add_htcap_ch(p, vap, c); + } +#endif +#if defined(LKPI_80211_VHT) + if ((vap->iv_vht_flags & IEEE80211_FVHT_VHT) != 0) { + struct ieee80211_channel *c; + + c = ieee80211_ht_adjust_channel(ic, ic->ic_curchan, + vap->iv_flags_ht); + c = ieee80211_vht_adjust_channel(ic, c, + vap->iv_vht_flags); + p = ieee80211_add_vhtcap_ch(p, vap, c); + } +#endif + scan_ies->ies[band] = pb; scan_ies->len[band] = p - pb; } From nobody Tue Jan 31 23:14:05 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P618G04PWz3cqb4; Tue, 31 Jan 2023 23:14: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 4P618F6bFJz411f; Tue, 31 Jan 2023 23:14:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675206845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l/QJz3MFaQhWgT0yV3h2pfNyaaTm2SsYMIN9HMr6CWs=; b=IanuE6rGAX5m4wTxf0Xhjpp0DkVizR34Npydmbz+XshtQse6K3XMR4GKbUYrHqZyahxXlP Kl00tv8aUfiO7kRZh49iQx/NW9kcUdekj1pKrkdQcTTpZMWJ0cqNWP+DGYDITMSpXT6S3W W04EjJ26SUsFE6n7kwqRNZxo+3pa5NE4RMGN4Wz68ZiYRyrO46NDE2uog7U3ie9VGuBmO0 8yRltugAAmmm1SqlHNQUkAw/ZFVXV1a4NUmB/eCNVylFCbcm1FoHZMfk3oZIWoIvD+vj9g 0zp7cp85bVehjU/VrjJ8QyFhNJbDiiEiKW8bIkjqCpgbegPBUKSwpYmEfIHx7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675206845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l/QJz3MFaQhWgT0yV3h2pfNyaaTm2SsYMIN9HMr6CWs=; b=XImx0BauNYbPxYcFtw+Df5RD/4Z1PFJYT51x9SsIHDxPza7UWh9J+eEZbu8OBMJX1+yFE9 A1zaldgN47Bqxws/BC6dnFfx85NAIXvf5FTMrfQhdVPkyZBvxtK6vfGinFKbEdVBUIJLsP UnhGZhU8Z3r+WiJwDwa6W23OU4c6y6iU4Ycg8oIQgIwGlxOWLlVw3TC5LLKgma50UlwsUe eqDwh24BB7An1foIHn5TuZUCMUkl93aW0kfCHj8SR7xsvgHG9r+hLNyjgtRA5QxyIHfSks SbVxTPbsgFU2U/dD7/LDi6uLgbv0vBDAw3qF2Z2aD/OL6EZdinukzOZQAImWDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675206845; a=rsa-sha256; cv=none; b=ux9CEXJjxJcszAg+3bdAULK/gVv98qxdc+npNjxlR/6jVmDyA8ebEZxWoEJLw3+RYLxneZ eNnwTEL16GpQFrx+Xfw5HB72KXlMgyabJ+whuCYt0bV3AgIiExWZu8NewU11d1HqHOB6BB ESbLkHpZR66n0C8rPx5rDWGJ66S07zthHlDftCxPhyc+/G3Y1RrO86upSqy0s2J2NvLCyH B6bPYFZzghK+XxScok1o6BCLpJZ7SrmB8cm+M151t9ZsRmlkhLlmCsxMDbDEZU02Y0FWLt BppuF6FGmQlYN3zxqKqLn/EtQyzpvrX93owVPBtKNPI/XOyiZK9dQb/XSKjJwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P618F5dbTz16X9; Tue, 31 Jan 2023 23:14:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VNE5hu095108; Tue, 31 Jan 2023 23:14:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VNE5TN095107; Tue, 31 Jan 2023 23:14:05 GMT (envelope-from git) Date: Tue, 31 Jan 2023 23:14:05 GMT Message-Id: <202301312314.30VNE5TN095107@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: b0ddb44fd427 - main - LinuxKPI: 802.11: fix indent in lkpi_wake_tx_queues() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b0ddb44fd427d44b8153781ce9c461e393771aff Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b0ddb44fd427d44b8153781ce9c461e393771aff commit b0ddb44fd427d44b8153781ce9c461e393771aff Author: Bjoern A. Zeeb AuthorDate: 2023-01-31 23:12:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-01-31 23:12:30 +0000 LinuxKPI: 802.11: fix indent in lkpi_wake_tx_queues() Fix indentation in lkpi_wake_tx_queues(). No functional changes. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 491002cd6df5..dc158699f4cf 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -867,24 +867,24 @@ lkpi_wake_tx_queues(struct ieee80211_hw *hw, struct ieee80211_sta *sta, /* Wake up all queues to know they are allocated in the driver. */ for (tid = 0; tid < nitems(sta->txq); tid++) { - if (tid == IEEE80211_NUM_TIDS) { - IMPROVE("station specific?"); - if (!ieee80211_hw_check(hw, STA_MMPDU_TXQ)) - continue; - } else if (tid >= hw->queues) + if (tid == IEEE80211_NUM_TIDS) { + IMPROVE("station specific?"); + if (!ieee80211_hw_check(hw, STA_MMPDU_TXQ)) continue; + } else if (tid >= hw->queues) + continue; - if (sta->txq[tid] == NULL) - continue; + if (sta->txq[tid] == NULL) + continue; - ltxq = TXQ_TO_LTXQ(sta->txq[tid]); - if (dequeue_seen && !ltxq->seen_dequeue) - continue; + ltxq = TXQ_TO_LTXQ(sta->txq[tid]); + if (dequeue_seen && !ltxq->seen_dequeue) + continue; - if (no_emptyq && skb_queue_empty(<xq->skbq)) - continue; + if (no_emptyq && skb_queue_empty(<xq->skbq)) + continue; - lkpi_80211_mo_wake_tx_queue(hw, sta->txq[tid]); + lkpi_80211_mo_wake_tx_queue(hw, sta->txq[tid]); } } From nobody Tue Jan 31 23:34:33 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P61c10Ns3z3csFJ; Tue, 31 Jan 2023 23:34:41 +0000 (UTC) (envelope-from bz@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 4P61c0711Kz42Nn; Tue, 31 Jan 2023 23:34:40 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675208081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=kcbbn3VUjz6CKqueKXw33Wvi9iVrU11EqeJsBIkAbkM=; b=EQqXHR58aLazBpVU9S7/nVmd3eEE3ve07fg7SGSrLqEnILMtB4o2hhfuLJZ+bPSKEfWVLY Oy69QODekOOurCs9smBmcZb/COAuWXRETPeuXov6X9fq4bZTBK4EndS+cf/m+rWbpmv0Dz CWBTZqgPC0hiY13E2h9FAZBI/UnXZlyZoFK7GNw4NV7DyFrhEwvt+tl5vdB3TDS8n3bNPi SQcQERYa2k7e8/UN6h/Bk2Cam/GGW5sNudhvCjkOWlNJPm7enB5I+aX1iC2sd1/Mw/rmr6 RLSV9lgL1nfiTme1f0tjbz5Pakt/bFRInI/4Do0FJxi46i33xseXFv8EFOByJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675208081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=kcbbn3VUjz6CKqueKXw33Wvi9iVrU11EqeJsBIkAbkM=; b=lSYDC0Q6PooPRkLPbCOxnXVJdEsaYjCLDfQCDoqHtM7LF11S1oCjklG6zSZmM2A0JcHieH ISuIarPUsWxiFbgDNuK6PwZEwJpyIG6SOl6Z3o6yc1iV+HBWzrweY3PS7SUU3v1dhZyops JSxFh7GoEMjI3Fpi2vQVYTfJCuwP8c+QQPQUFhRy8jCtk9LTa0JIpWAc74FjnBRWFEomIt SrAi3OvMY8W0NvOdnzYG5fSugdxxm3YoO6GIvbnnMHiDanh0Pc8Z4Af/6MB+hV8m38DZKv SaKQEVfMZGc0iVp80sudnDbbGIAv6WF7QQ0c366OJkGlzw9PyC16Ck2d42O1Vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675208081; a=rsa-sha256; cv=none; b=MZHYa+r/ErgcmXxJ/wPld1eLBN/Dku7VJnrnl3vOTPGAq/7FPCUl6DIXU5AE94opKJopQS VKh4nI4bjQDiuBs6bmQFUZKTwQjY2Ag893MJKzxY40uqZqkOJRLqH3VFbOX4Gcuvfr4yll um3udXhjqaaitOhUTaVaRKuEeKiFRU1vKn7/eRENXnvoRoN0fIN/cng5NCuhFZAFInxEE6 SMoEwpIZYY29JnA6PgODLKicQa+5Yt2eliOQOL/CXBtNnhV8MfRirReHrbyOv0KbZNqmeN +d6fC6WM+Z+PxAdinJ8xz4cffG1qSnA7v580zl4Y9sk8U4dPG4/rkd5aLnho5Q== Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:13b:39f::9f:25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE Root Certificate Authority" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P61c04jkWzmsR; Tue, 31 Jan 2023 23:34:40 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 3159A8D4A15D; Tue, 31 Jan 2023 23:34:37 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 94E5C5C3A833; Tue, 31 Jan 2023 23:34:36 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id qN4pVnkKskVA; Tue, 31 Jan 2023 23:34:34 +0000 (UTC) Received: from strong-iwl0.sbone.de (strong-iwl0.sbone.de [IPv6:fde9:577b:c1a9:4902:b66b:fcff:fef3:e3d2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 317445C3A830; Tue, 31 Jan 2023 23:34:34 +0000 (UTC) Date: Tue, 31 Jan 2023 23:34:33 +0000 (UTC) From: "Bjoern A. Zeeb" To: =?UTF-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: a83b3ec719eb - main - linuxkpi: list_sort()'s callback now takes list arguments In-Reply-To: <202301312244.30VMiiuF052081@gitrepo.freebsd.org> Message-ID: References: <202301312244.30VMiiuF052081@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="1098556516-898116519-1675208074=:27118" X-ThisMailContainsUnwantedMimeParts: N This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1098556516-898116519-1675208074=:27118 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT On Tue, 31 Jan 2023, Jean-Sébastien Pédron wrote: > The branch main has been updated by dumbbell (ports committer): > > URL: https://cgit.FreeBSD.org/src/commit/?id=a83b3ec719eb6c53658656b7b90607564d3c64d3 > > commit a83b3ec719eb6c53658656b7b90607564d3c64d3 > Author: Jean-Sébastien Pédron > AuthorDate: 2023-01-11 22:22:07 +0000 > Commit: Jean-Sébastien Pédron > CommitDate: 2023-01-31 22:36:33 +0000 > > linuxkpi: list_sort()'s callback now takes list arguments Does that description miss a ... takes "const" list ... ? > This change breaks the API of `list_sort()`. `LINUXKPI_VERSION >= 51300` > is used to keep the header compatible with both versions of the > prototype. Given our internals half way through already dal with "const" I see little harm in making it const unconditionally. The actual LINUXKPI_VERSION check probably should be around the DECONST lines in linux_le_cmp() and in list_sort_thunk ; if we really wanted to not lose the "const" half way through for newer versions which are prepared for it. Non-const arguments passed in to list_sort() will still work and we can avoid having an extern with const but an implementation without (not sure why that's not giving warnings anyway). Or am I misreading the change? > Reviewed by: manu > Approved by: manu > Differential Revision: https://reviews.freebsd.org/D38082 > --- > sys/compat/linuxkpi/common/include/linux/list.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/sys/compat/linuxkpi/common/include/linux/list.h b/sys/compat/linuxkpi/common/include/linux/list.h > index 80ac57fecf6d..6ec715291807 100644 > --- a/sys/compat/linuxkpi/common/include/linux/list.h > +++ b/sys/compat/linuxkpi/common/include/linux/list.h > @@ -504,7 +504,12 @@ static inline int list_is_last(const struct list_head *list, > (pos) && ({ n = (pos)->member.next; 1; }); \ > pos = hlist_entry_safe(n, typeof(*(pos)), member)) > > +#if defined(LINUXKPI_VERSION) && LINUXKPI_VERSION >= 51300 > +extern void list_sort(void *priv, struct list_head *head, int (*cmp)(void *priv, > + const struct list_head *a, const struct list_head *b)); > +#else > extern void list_sort(void *priv, struct list_head *head, int (*cmp)(void *priv, > struct list_head *a, struct list_head *b)); > +#endif > > #endif /* _LINUXKPI_LINUX_LIST_H_ */ > -- Bjoern A. Zeeb r15:7 --1098556516-898116519-1675208074=:27118-- From nobody Tue Jan 31 23:39:30 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P61jh01Z0z3cssY; Tue, 31 Jan 2023 23:39:35 +0000 (UTC) (envelope-from bz@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 4P61jg6V5Wz4301; Tue, 31 Jan 2023 23:39:35 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675208375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=CirGHPCkSqZmimBn3kWCtQjkujzTDWlCM5PunMbbAo0=; b=S7wcEIuvCaBChcbeksDG9KewJP68ZpEB0yBe9ccrTSxiQe3ifxghrd4JuMVmUQgqrRBJFX gU+ZV6xQjVP5J60o+M3vt8zfHXwR0mhJ9sZXHqW3o+gkZrCVpN3yC4x7Q2K25idcsZjsF3 l6XP3r1KhPczoDGpy/5QcqAEL4jSZWWeBJxi7W0EYJbyiohP702g7mIB4dhOsrbBHYQ1zb D55EUbn01XmYX0ZoWDr3qPqy3OlSJfEDcG4CPxTEHO7CO50erNcgOkFFwXq71lRbm6NOuR zn1+NO/u3qGf9/MO+SEXEc0YS0dz+qAhhJJdFXLVy7NLv8o3R9GT7i346ljF0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675208375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=CirGHPCkSqZmimBn3kWCtQjkujzTDWlCM5PunMbbAo0=; b=xtLtvnSmfEx8yeDmm0MHpDEUOm+8xWQgPSDTMAqTBxLgRyvjLRYayj8/mzTp3uYygJtWlB pkZORTaUKbH/owzdoJfQX+MzGuySjomECGrt7aOPOAaWapBg0ahg9PNIHqXUBY6CNRYkVj TBxtzqOwb4ao7iTQI+zgPNkPkib+Oq7jiJQ+AdH1kvWBBdTog8Du/xhtGu4D9HgArDPfQ8 SDPaC9zWDAH+cSWxRL32dSVdVpJgOAN7PK5+ArWI6nWtEBFS55YDXipdXEkP6o2hnLFwRs ZTWyN49RqcYnf+8Ju6+ec33klocovtZKTpECajArKCC9vTsYHSnUtEoNBvRyiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675208375; a=rsa-sha256; cv=none; b=ZGl2aWil7pKck7tCxZCLpcS/LxMaWEv2fU1+AcsWmZPKfqCIHqCWoWUc4q1P4NPYtkLCcV 1DSS6CNy4QjFW0OF/qJJKVFV1wX0IUg6GSDbpw2UpDNuKjp31RR1E/7tSwfjl3l1CNPpQR BZuFbHVhF3X9Joap2pgZG92KHnpces1slWZbXFe0VTzvGCl/usQBw8dgdPp35oF1x6neBO NnRKFfDbWvoYfVKOMis9AOHp18QfB5zq7y2UGFCUMxh0k51u+2nRlY1QlQts1eqpplKIrG 2VcTKp5bAy1bPw2kd6+56Uc+DCry9MAetzr5RqtfludivL919bY80DT0MN3+qQ== Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:13b:39f::9f:25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE Root Certificate Authority" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P61jg499NzmdL; Tue, 31 Jan 2023 23:39:35 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 2ADAC8D4A15D; Tue, 31 Jan 2023 23:39:34 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 5E6E05C3A833; Tue, 31 Jan 2023 23:39:33 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id B_nZrfQtirvn; Tue, 31 Jan 2023 23:39:31 +0000 (UTC) Received: from strong-iwl0.sbone.de (strong-iwl0.sbone.de [IPv6:fde9:577b:c1a9:4902:b66b:fcff:fef3:e3d2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 306745C3A830; Tue, 31 Jan 2023 23:39:31 +0000 (UTC) Date: Tue, 31 Jan 2023 23:39:30 +0000 (UTC) From: "Bjoern A. Zeeb" To: =?UTF-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: a83b3ec719eb - main - linuxkpi: list_sort()'s callback now takes list arguments In-Reply-To: Message-ID: References: <202301312244.30VMiiuF052081@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="1098556516-623335687-1675208371=:27118" X-ThisMailContainsUnwantedMimeParts: N This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1098556516-623335687-1675208371=:27118 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT On Tue, 31 Jan 2023, Bjoern A. Zeeb wrote: > On Tue, 31 Jan 2023, Jean-Sébastien Pédron wrote: > >> The branch main has been updated by dumbbell (ports committer): >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=a83b3ec719eb6c53658656b7b90607564d3c64d3 >> >> commit a83b3ec719eb6c53658656b7b90607564d3c64d3 >> Author: Jean-Sébastien Pédron >> AuthorDate: 2023-01-11 22:22:07 +0000 >> Commit: Jean-Sébastien Pédron >> CommitDate: 2023-01-31 22:36:33 +0000 >> >> linuxkpi: list_sort()'s callback now takes list arguments > > Does that description miss a ... takes "const" list ... ? > >> This change breaks the API of `list_sort()`. `LINUXKPI_VERSION >= 51300` >> is used to keep the header compatible with both versions of the >> prototype. > > Given our internals half way through already dal with "const" I see > little harm in making it const unconditionally. The actual > LINUXKPI_VERSION check probably should be around the DECONST lines in > linux_le_cmp() and in list_sort_thunk ; if we really wanted to not > lose the "const" half way through for newer versions which are prepared > for it. > > Non-const arguments passed in to list_sort() will still work and we can > avoid having an extern with const but an implementation without (not > sure why that's not giving warnings anyway). > > Or am I misreading the change? Never mind, I did. Too late. We could still fully pass the const through but that'll indeed need more #ifdef to the implementation. /bz > >> Reviewed by: manu >> Approved by: manu >> Differential Revision: https://reviews.freebsd.org/D38082 >> --- >> sys/compat/linuxkpi/common/include/linux/list.h | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/sys/compat/linuxkpi/common/include/linux/list.h >> b/sys/compat/linuxkpi/common/include/linux/list.h >> index 80ac57fecf6d..6ec715291807 100644 >> --- a/sys/compat/linuxkpi/common/include/linux/list.h >> +++ b/sys/compat/linuxkpi/common/include/linux/list.h >> @@ -504,7 +504,12 @@ static inline int list_is_last(const struct list_head >> *list, >> (pos) && ({ n = (pos)->member.next; 1; }); \ >> pos = hlist_entry_safe(n, typeof(*(pos)), member)) >> >> +#if defined(LINUXKPI_VERSION) && LINUXKPI_VERSION >= 51300 >> +extern void list_sort(void *priv, struct list_head *head, int (*cmp)(void >> *priv, >> + const struct list_head *a, const struct list_head *b)); >> +#else >> extern void list_sort(void *priv, struct list_head *head, int (*cmp)(void >> *priv, >> struct list_head *a, struct list_head *b)); >> +#endif >> >> #endif /* _LINUXKPI_LINUX_LIST_H_ */ >> > > -- Bjoern A. Zeeb r15:7 --1098556516-623335687-1675208371=:27118-- From nobody Wed Feb 1 02:23:26 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P65Lk2BJ5z3bVPb; Wed, 1 Feb 2023 02:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P65Lk1j58z4FH4; Wed, 1 Feb 2023 02:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675218206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w+o52oufw4e2Z2xIKG3ZmNwdvcqfcX1wGNgmFhwOSBk=; b=dH+xqGVstW6Ca1cKMn5vymrOppafuXSfoH6wVun8V6KXrbzxzgCiLtMdAiU/LHJM+XeVND To9OAbTtrz7SdFx4fchuql43M/ukSOqhywgrQZuaP/PvN2w3qav3jRxvCPFlzx3Rxdoklo JqAOuTYWbIDdBDfGlOOwCiSUL/q00R5t+clYOXsk9UCQsViGTywcszD8HOVgvAyIQi8tVl dsTs3D5cKq/pZX0aOfLhdpFC6AzDwytRitFmTs/Qp5vTksB38UzGtPTrCzrCYIYXD8O+GC B3xL67TsE7BRaY2Sak5YHrSMrplbRo4+AbnIcQriSm4e/AcMityOSJ7ugKqVSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675218206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w+o52oufw4e2Z2xIKG3ZmNwdvcqfcX1wGNgmFhwOSBk=; b=CmPjemv1PSSQaG6BpMuRMKab8kRTzn/gk50/gmFml4lSLq15G/ufYDShgcMCQrD21S+87p 4x/LUlBKdvZ0hDbPOorh4edcPvPouhknfDAC9OOXxKYyBPTr8qc1ovAPsdN//y/n880bPN Zpe55otNfy/Vei3stxd1ytsSjIess5EYfO5tlvlkXZ/lwF2Df6mucYvaaDEuBFv02xC6c4 EPbSwDAUD9g3kVTufLoq6k871kuuDHNtGc3/4P3/Pg441mmt2m/CJez4lm7sGt8ABdKLdC LyonPY28LKkjpiUNDicCZs8yZabzlUlwmTBxzbtRcITE4KrYR2+ANU7fBa9eKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675218206; a=rsa-sha256; cv=none; b=jCWczaqrhnYxGouOIDcb7IT7K5TywekqRQk7KmEpTyeteP9EwMVmrknEMLeSkHq0hS+nE4 y5tnFpuNCjHftUNgTiCvzPvuA0hA39DPdSH+Zh5hIrFAWTKB1XscWdlUZ+G20CgGymk4Sl CFmmQ07sVyMGGrT7WUzzojQ4TLre7mKDsT/OlCvB3BWO7rrvhaTk8HcQxWEit2zLWXuSjA qwyW3SzgfFFr5TCxdjgJTWO4QVt+kxaY3pj7mfcOp7Zbeoob3PZlNovGRgANzww9fjgrAM qYJ1dPqMt4qvAIwpH1hw1kiUiin3jwCKx0V2n+xCEESNR9tBILCgpFbJUQQVpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P65Lk0k9Pz1C1X; Wed, 1 Feb 2023 02:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3112NQn2063279; Wed, 1 Feb 2023 02:23:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3112NQNq063278; Wed, 1 Feb 2023 02:23:26 GMT (envelope-from git) Date: Wed, 1 Feb 2023 02:23:26 GMT Message-Id: <202302010223.3112NQNq063278@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gregory Neil Shapiro Subject: git: 38c2f8fe6207 - main - Note upgrade to sendmail 8.17.1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gshapiro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 38c2f8fe6207ec50088f9efc36d66776b0608137 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by gshapiro: URL: https://cgit.FreeBSD.org/src/commit/?id=38c2f8fe6207ec50088f9efc36d66776b0608137 commit 38c2f8fe6207ec50088f9efc36d66776b0608137 Author: Gregory Neil Shapiro AuthorDate: 2023-02-01 02:22:39 +0000 Commit: Gregory Neil Shapiro CommitDate: 2023-02-01 02:22:39 +0000 Note upgrade to sendmail 8.17.1 --- contrib/sendmail/FREEBSD-upgrade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/sendmail/FREEBSD-upgrade b/contrib/sendmail/FREEBSD-upgrade index 334151cdc71b..fdc3b429b551 100644 --- a/contrib/sendmail/FREEBSD-upgrade +++ b/contrib/sendmail/FREEBSD-upgrade @@ -1,6 +1,6 @@ $FreeBSD$ -sendmail 8.16.1 +sendmail 8.17.1 originals can be found at: ftp://ftp.sendmail.org/pub/sendmail/ For the import of sendmail, the following directories were renamed: @@ -81,4 +81,4 @@ infrastructure in FreeBSD: usr.sbin/mailwrapper/Makefile gshapiro@FreeBSD.org -15-July-2020 +31-January-2022 From nobody Wed Feb 1 02:23:27 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P65Ll3RfWz3bVHx; Wed, 1 Feb 2023 02:23: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 4P65Ll2rjKz4FTx; Wed, 1 Feb 2023 02:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675218207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oDvjTtaZNYDAn+V3WEuQTDMP8HZ+uBw3jjv6n2Aqp6E=; b=LSeK2BYub6rSukeRDNDISQb2HnqLLdvSpNcyfAdxxQEiH/th3Vw6qkQhhFgoEzvaC0fPJz 6cSd8Ut+KYZNFZhwT2XcvthUtBmKzApeiSLHuCOGqMYkxlReVQtGlXmm65CJknqJ5zWTJU sfd8Z+eXI0QMwv0Szdc8xNKhPEBOLgz+mcnG9NN+WZtwJn5RG5wLt83J+ug0hqEchnuQRk tjugtvDjIzvjGnM15UPm7jNaAVbKL+Fj2hoMmNGD3G7UQjoMuykemfjTGeokobC36seszL MMGkmHUL3jXCGT9VUbTAEnQ44UGi5PlrhLjiLOJq8fR9bOB1c6D1c7sjE+bB3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675218207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oDvjTtaZNYDAn+V3WEuQTDMP8HZ+uBw3jjv6n2Aqp6E=; b=il9BhBwU38pTJIqDLj5wa2xZ+2UGaY1X75jLynrT/+r2PlII8AnlrXmsy/4D7SkIlZT52S D3NOmFbNAF4mryQtsi/g698e3fJVCW6BmkLNDgtlHZkFV3RJDkHGTmVI5fMlXqWoE9S9kN Y4ANuAot9y7l7ZDDNXVhN5nfPvEWXRLqlpDxJU9yJG1bX6TMmErYGBZ3MYPPpOLxkXJBdp 0MPuei4eL/O2o9KCOYLBbLHGqCd+xo4c9/9+TfZjxZC/HXT7qtRCdX2YCZ4VV5T+H3W0HU wZpIMVx2n7piqGhwnb4DhIs+Sr/79m+Tdq/f8F2gdd3I73nfZhfDrgKx6QtXbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675218207; a=rsa-sha256; cv=none; b=ugEQG5XfhfVJBRyyq9vhhcsUXpzbS1Q/+vZgiS/yt7ecvKt2izYwMXBRS8/Sehnqpc+J5I dJfX4gRT7G08NFJxNuVVuIkMPeQF6TjRhE4Anc1MdHYzgPB0zsKaFflEDULUc1IfV4uyv+ UU6wuUMOaicO5458obCYOicgP1aaE1/XSscT+arxFkkZiyq/12lClC093mdBpxgvUs2QG7 hcYhsP9B1QjEfeW7JsZk/Y/MWEG7nKHf0Cyok5MedLj/55nDLpTGwOTo2ZM+BXdHTLsE0V fbdxzBFlvi22qPzKpaziPQTGE8ck8hhcKocKYNKRiN/3lf0+C1p1A8RDXo+GGQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P65Ll1r8Yz1CD8; Wed, 1 Feb 2023 02:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3112NRc0063303; Wed, 1 Feb 2023 02:23:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3112NRJO063302; Wed, 1 Feb 2023 02:23:27 GMT (envelope-from git) Date: Wed, 1 Feb 2023 02:23:27 GMT Message-Id: <202302010223.3112NRJO063302@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gregory Neil Shapiro Subject: git: 17c8213559cd - main - Note upgrade to sendmail 8.17.1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gshapiro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 17c8213559cdcdcc6b8b8f179df2eb101d1148c4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by gshapiro: URL: https://cgit.FreeBSD.org/src/commit/?id=17c8213559cdcdcc6b8b8f179df2eb101d1148c4 commit 17c8213559cdcdcc6b8b8f179df2eb101d1148c4 Author: Gregory Neil Shapiro AuthorDate: 2023-02-01 02:23:02 +0000 Commit: Gregory Neil Shapiro CommitDate: 2023-02-01 02:23:02 +0000 Note upgrade to sendmail 8.17.1 --- RELNOTES | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RELNOTES b/RELNOTES index 8a51e2a772c2..92ab27e4be46 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,9 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +2fb4f839f3fc,d89513ed2050,3413ee88c39d,f97a19ecb985,021562c5020d,431d2a81d421: + sendmail has been updated to the latest upstream version (8.17.1). + 4a30d7bb373c,d670a8f7c596,af01b4722577,4e240e55d818: The growfs(7) script can now add a swap partition at the end of the expansion area, and does so by default if there is no existing From nobody Wed Feb 1 06:51:56 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6CJp4ZvGz3cLQh; Wed, 1 Feb 2023 06:52:10 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4P6CJp06M9z3DN3; Wed, 1 Feb 2023 06:52:09 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.16.1/8.16.1) with ESMTPS id 3116puAs009130 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 1 Feb 2023 08:51:59 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 3116puAs009130 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 3116puWU009129; Wed, 1 Feb 2023 08:51:56 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 1 Feb 2023 08:51:56 +0200 From: Konstantin Belousov To: John Baldwin Cc: Gleb Smirnoff , Brooks Davis , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: fa1d803c0f65 - main - epoch: replace hand coded assertion Message-ID: References: <202301201805.30KI5Ht0099187@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Rspamd-Queue-Id: 4P6CJp06M9z3DN3 X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Tue, Jan 31, 2023 at 10:30:49AM -0800, John Baldwin wrote: > On 1/30/23 2:31 PM, Konstantin Belousov wrote: > > On Mon, Jan 30, 2023 at 11:22:05AM -0800, Gleb Smirnoff wrote: > > > Brooks, John, Kostik, > > > > > > On Fri, Jan 20, 2023 at 06:05:17PM +0000, Brooks Davis wrote: > > > B> The branch main has been updated by brooks: > > > B> > > > B> URL: https://cgit.FreeBSD.org/src/commit/?id=fa1d803c0f652d72840a3c59139baf9d30792860 > > > B> > > > B> commit fa1d803c0f652d72840a3c59139baf9d30792860 > > > B> Author: Brooks Davis > > > B> AuthorDate: 2023-01-20 18:03:39 +0000 > > > B> Commit: Brooks Davis > > > B> CommitDate: 2023-01-20 18:04:40 +0000 > > > B> > > > B> epoch: replace hand coded assertion > > > B> > > > B> The assertion is equivalent to kstack_contains() so use that rather > > > B> than spelling it out. > > > B> > > > B> Suggested by: jhb > > > B> Reviewed by: jhb > > > B> MFC after: 1 week > > > B> Sponsored by: DARPA, AFRL > > > B> Differential Revision: https://reviews.freebsd.org/D38107 > > > B> --- > > > B> sys/kern/subr_epoch.c | 4 +--- > > > B> 1 file changed, 1 insertion(+), 3 deletions(-) > > > B> > > > B> diff --git a/sys/kern/subr_epoch.c b/sys/kern/subr_epoch.c > > > B> index 100221cd62f9..98a560e44c9d 100644 > > > B> --- a/sys/kern/subr_epoch.c > > > B> +++ b/sys/kern/subr_epoch.c > > > B> @@ -468,9 +468,7 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) > > > B> > > > B> MPASS(cold || epoch != NULL); > > > B> td = curthread; > > > B> - MPASS((vm_offset_t)et >= td->td_kstack && > > > B> - (vm_offset_t)et + sizeof(struct epoch_tracker) <= > > > B> - td->td_kstack + td->td_kstack_pages * PAGE_SIZE); > > > B> + MPASS(kstack_contains(td, (vm_offset_t)et, sizeof(*et))); > > > B> > > > B> INIT_CHECK(epoch); > > > B> MPASS(epoch->e_flags & EPOCH_PREEMPT); > > > > > > At Netflix we are currently using more strict assertion: > > > > > > Check the epoch tracker not against the whole stack size, but against > > > the legitimate part of the stack. While here add the same check for > > > the epoch exit. The bug we are going to catch most likely is associated > > > with incorrect exit. > > > diff --git a/FreeBSD/sys/kern/subr_epoch.c b/FreeBSD/sys/kern/subr_epoch.c > > > index b457b070cb65..b345719eb406 100644 > > > --- a/FreeBSD/sys/kern/subr_epoch.c > > > +++ b/FreeBSD/sys/kern/subr_epoch.c > > > @@ -420,7 +420,8 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) > > > MPASS(cold || epoch != NULL); > > > MPASS(epoch->e_flags & EPOCH_PREEMPT); > > > td = curthread; > > > - MPASS((vm_offset_t)et >= td->td_kstack && > > > + MPASS((vm_offset_t)et + sizeof(struct epoch_tracker) >= > > > + (vm_offset_t)__builtin_frame_address(0) && > > > (vm_offset_t)et + sizeof(struct epoch_tracker) <= > > > td->td_kstack + td->td_kstack_pages * PAGE_SIZE); > > > @@ -457,8 +458,13 @@ _epoch_exit_preempt(epoch_t epoch, epoch_tracker_t et EPOCH_FILE_LINE) > > > struct epoch_record *er; > > > struct thread *td; > > > - INIT_CHECK(epoch); > > > td = curthread; > > > + MPASS((vm_offset_t)et + sizeof(struct epoch_tracker) >= > > > + (vm_offset_t)__builtin_frame_address(0) && > > > + (vm_offset_t)et + sizeof(struct epoch_tracker) <= > > > + td->td_kstack + td->td_kstack_pages * PAGE_SIZE); > > > + > > > + INIT_CHECK(epoch); > > > critical_enter(); > > > sched_unpin(); > > > THREAD_SLEEPING_OK(); > > > > > > > > > What do you guys think on legitimacy of the improved assertion that uses > > > compiler built to get the current top of stack and makes the assertion even > > > stricter? > > > > > > I think in FreeBSD we should at least add the MPASS(kstack_contains(td, ...) > > > assertion to the epoch exit. > > > > The __builtin_frame_address() is somewhat weird thing, e.g. it assumes > > that the local function frame is contiguous, and static. Also I do not > > see a guarantee that any local variable address is higher that the value > > returned from the builtin. > > Though in these cases the pointer value (et) is not a local variable on > this frame, but should be in an earlier frame (usually the callers). > > > I would be happier if you added a per-arch primitive that reads the stack > > pointer. This helper can be used by GET_STACK_USAGE() as well. > > > > Also typical arch puts at least the thread' pcb on top of the stack, so > > the assertion could be improved by not allowing the address to fall into > > pcb, or FPU save area on i386. > > kstack_contains arguably should exclude the pcb as well as it is typically > used in stack unwinders to validate frame pointers. I think the only reason > for pcbs to be in the kstack at all is to simplify swapping, and if we > ever decided to drop kstack swapping it would be nicer to allocate the pcb > separate from the kstack IMO. Apparently pcb is not on kstack for amd64, I completely forgot that. I did the fixes both for kstack_contains() and GET_STACK_USAGE() in D38320. From nobody Wed Feb 1 12:27:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6LlZ5CF3z3c5bX; Wed, 1 Feb 2023 12:27: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 4P6LlZ4fmSz45Q1; Wed, 1 Feb 2023 12:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675254442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VwxxHwdrIuwVNXmqBeWxOwUqti5PDcB7jWeU93EQYsk=; b=DkzLvWUJOK4rqpRaNsdZhkGVllGYQNCgIgu6gSuoqZXUm0KHpZSKNt4DcDNloCpFttL3jb p5ShUVocEcfjYU9yafs2SJuWaP48FiXsXoM3IGn14t7pID7JTPoBNiHfUFVEoqyqf6qQqk f5LP2rfa9QHy7rkiL28gBYGFVfNcIgK1m3jxgG/YFqDxG8KA/yIfYQXQx95EuCrPuq31w1 CG6qmjYnXYcrjoZGy4J6ujPu+gMeRpRrl4mdlVzLcvpB2Z9tAs7wobEYQRov/jZ+qjkvf4 DxDEriuMXvPHOHsp8CXBnSEQIIqcjEA59uzc4ftx4nhe4Uvob1w2kXz+tmnZ+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675254442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VwxxHwdrIuwVNXmqBeWxOwUqti5PDcB7jWeU93EQYsk=; b=LRTIUjF2hw2p0lvlDX499Mj+Qq5D3BwCXlsfA3a50XSWz2zkuv+K2ARp3r2gjrnJpbC8Ra lBduEU+MMo+kk3FY527QFJeq+sUlE3rujllIunOj8eGQgWaysEBu7pm98WwydXUrgUlB2V Y48R/O9k/7KcnzVYApuuqULNz/3yjBDY/YcYVJoyHUebqhmW7GpXXTPneo9IypGtEKeOpL N57lRG9JcKnZLZ7hL/35VNAHMPGyWd+vrOZHXNLroIpnklOY1lQUn5kXqaAEFXxPNXylMU fSv4QIwSJLkcAswIu+LxHrqtuARKxxR7s3ebLDyGRLvkDCjMG9g/0e6bXpSo7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675254442; a=rsa-sha256; cv=none; b=ZSQsnKqkShG2NwADm7geO8PcEEkuTnNXFUR2Yz+Ijsc5cviZTfWRYVs5FoOAMyNbVvFBnH 0gRoOYEZO+KSUUyjNX9rGJAIV3Ytqnuq7mzKlSHxlQPuGp0rP5P1sFD5cBj34dEJDH0jtD q3vOk8PWoFhU0Ny4ZgALvTiT6T05tpt6UpANelEJe3LnfN7al2v+xHhumBsn8+u901dDfS 7ZPrBYuqRtJGrf0O4LxUadqpmyATfSFWH7G2mfzJlbl8h/ATvMDFB4xT1TW77dEdMBm5mq BqxsTaVqpFTbrHw6U7A6zLeCM+oklGMtiZ/aFNRRCYnQuzTwu/eayv8SVjn/nQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6LlZ3jsvzDj2; Wed, 1 Feb 2023 12:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311CRMD2017682; Wed, 1 Feb 2023 12:27:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311CRMjk017681; Wed, 1 Feb 2023 12:27:22 GMT (envelope-from git) Date: Wed, 1 Feb 2023 12:27:22 GMT Message-Id: <202302011227.311CRMjk017681@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 892feec2211d - main - vmm: avoid spurious rendezvous List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 892feec2211d0dbd58252a34d78dbcb2d5dd7593 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=892feec2211d0dbd58252a34d78dbcb2d5dd7593 commit 892feec2211d0dbd58252a34d78dbcb2d5dd7593 Author: Corvin Köhne AuthorDate: 2022-11-15 10:53:49 +0000 Commit: Corvin Köhne CommitDate: 2023-02-01 11:36:36 +0000 vmm: avoid spurious rendezvous A vcpu only checks if a rendezvous is in progress or not to decide if it should handle a rendezvous. This could lead to spurios rendezvous where a vcpu tries a handle a rendezvous it isn't part of. This situation is properly handled by vm_handle_rendezvous but it could potentially degrade the performance. Avoid that by an early check if the vcpu is part of the rendezvous or not. At the moment, rendezvous are only used to spin up application processors and to send ioapic interrupts. Spinning up application processors is done in the guest boot phase by sending INIT SIPI sequences to single vcpus. This is known to cause spurious rendezvous and only occurs in the boot phase. Sending ioapic interrupts is rare because modern guest will use msi and the rendezvous is always send to all vcpus. Reviewed by: jhb MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D37390 --- sys/amd64/include/vmm.h | 14 ++++++++++---- sys/amd64/vmm/amd/svm.c | 2 +- sys/amd64/vmm/intel/vmx.c | 2 +- sys/amd64/vmm/vmm.c | 3 ++- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 67730cc22980..bd6510b92527 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -159,7 +159,7 @@ struct pmap; enum snapshot_req; struct vm_eventinfo { - void *rptr; /* rendezvous cookie */ + cpuset_t *rptr; /* rendezvous cookie */ int *sptr; /* suspend cookie */ int *iptr; /* reqidle cookie */ }; @@ -331,10 +331,16 @@ void vm_await_start(struct vm *vm, const cpuset_t *waiting); #endif /* _SYS__CPUSET_H_ */ static __inline int -vcpu_rendezvous_pending(struct vm_eventinfo *info) +vcpu_rendezvous_pending(struct vcpu *vcpu, struct vm_eventinfo *info) { - - return (*((uintptr_t *)(info->rptr)) != 0); + /* + * This check isn't done with atomic operations or under a lock because + * there's no need to. If the vcpuid bit is set, the vcpu is part of a + * rendezvous and the bit won't be cleared until the vcpu enters the + * rendezvous. On rendezvous exit, the cpuset is cleared and the vcpu + * will see an empty cpuset. So, the races are harmless. + */ + return (CPU_ISSET(vcpu_vcpuid(vcpu), info->rptr)); } static __inline int diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index 2448501401e3..ee1154ef85b6 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -2053,7 +2053,7 @@ svm_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) break; } - if (vcpu_rendezvous_pending(evinfo)) { + if (vcpu_rendezvous_pending(vcpu->vcpu, evinfo)) { enable_gintr(); vm_exit_rendezvous(vcpu->vcpu, state->rip); break; diff --git a/sys/amd64/vmm/intel/vmx.c b/sys/amd64/vmm/intel/vmx.c index 4b65e254cc91..fa94c707001c 100644 --- a/sys/amd64/vmm/intel/vmx.c +++ b/sys/amd64/vmm/intel/vmx.c @@ -3071,7 +3071,7 @@ vmx_run(void *vcpui, register_t rip, pmap_t pmap, struct vm_eventinfo *evinfo) break; } - if (vcpu_rendezvous_pending(evinfo)) { + if (vcpu_rendezvous_pending(vcpu->vcpu, evinfo)) { enable_intr(); vm_exit_rendezvous(vcpu->vcpu, rip); break; diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 24f97a9244f0..7327bf6f40be 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -1438,6 +1438,7 @@ vm_handle_rendezvous(struct vcpu *vcpu) if (CPU_CMP(&vm->rendezvous_req_cpus, &vm->rendezvous_done_cpus) == 0) { VMM_CTR0(vcpu, "Rendezvous completed"); + CPU_ZERO(&vm->rendezvous_req_cpus); vm->rendezvous_func = NULL; wakeup(&vm->rendezvous_func); break; @@ -1858,7 +1859,7 @@ vm_run(struct vcpu *vcpu, struct vm_exit *vme_user) pmap = vmspace_pmap(vm->vmspace); vme = &vcpu->exitinfo; - evinfo.rptr = &vm->rendezvous_func; + evinfo.rptr = &vm->rendezvous_req_cpus; evinfo.sptr = &vm->suspend; evinfo.iptr = &vcpu->reqidle; restart: From nobody Wed Feb 1 15:09:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6QM61GCdz3cRp6; Wed, 1 Feb 2023 15:09: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 4P6QM60l0yz4LdQ; Wed, 1 Feb 2023 15:09:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675264194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B+jLfdaBYq5RfiF4Hy0AXRnTtzeUm+vagDwHfxQmeqs=; b=RZmkY/gNCa+KsmXUvmP5j98RqoaQFCmrRv+Gszcib6jhcgW7dN0sNStmVB7JAjWg2nMJkI YvrilJ7EcUYOjuq7fuB+Ig5Tc11IU3/wD4nOSJXQILmK6I9hicJn+qYrNiDoTfqDx2IyOx tAJRV3Fs1kz/ZunqSGs9zw5+Stai4Xa2mr+zJNnAUxZTn83xKHKQWlZdWAiBvpaLBWkmA1 23AP0uf1vSaub8W3gUxDTjeP1AaiXu63eg8c7u4O4/iCfob0QBcVLaIgglpYSCTcinoL/x apA1hTJknZ9NNr2gvtztmMNSHTmQAKReIh5rYeoVQKWgf7kOwfT0O7aMlHck1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675264194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B+jLfdaBYq5RfiF4Hy0AXRnTtzeUm+vagDwHfxQmeqs=; b=fcu0JnjOgvg5hyT+CN97KBrAWoEyQO1tXH+i04BsurZIO4pDTfk+FNweHgbHv/Jk+uH9mr UBzjN5tdfDZbiq0hgQLdNcOok2hRi18sRsB1RZZEDtZ8S6D/x3QuNgN8M3gN1tu5s4G3hH 7q4766442SqmJMr3ov6/mLBxn2hsFP33YC48guiDAC0vunBjZiYzKn2524S0foqLFM2ifD zR7WfT9hysvML4oGLRHTCsAuo2avzrROdTsaRAUpWNzElWul4w0S02HjjXV1cJXUvtMktB bNiB/ICZEYlm6XYTMMzUR4REq4FWyuii62w9nVGEkfPlpMr0qx89RBX6ywI0kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675264194; a=rsa-sha256; cv=none; b=OSKRy/rOdZ9yV/eAe+ydervDIbPbvXVsXkYnMRUoxOdK09b1t2kyfgxIPSZkA5eXOj2PMC 3xJueJydKziPQXQ+zATsVd5eds0SmE2bEgo/VesuxDQpOwYtdxuzWeXZKbg1Fy5oNJexCL a5TjJVrxRbHNNhvWz3z978Mzk8Z6LLWk/OmucB3GP1jUbNKDKagpvYzJIIkccOYW0ohGc3 eWTkLYzzKtCV1S+ua47a1QViyvNCMsLXSR1/few2okXQISdXsnYIAJF0/OAob/ji5W+6Xf u5SP7Xdd+oTLyMV0ns8T2iTwS0DYQ4Cmt/3IZ0WMj9zMtnh09CN7jUAn1tYxUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6QM56v5PzJcs; Wed, 1 Feb 2023 15:09:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311F9r5Y046151; Wed, 1 Feb 2023 15:09:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311F9r9g046150; Wed, 1 Feb 2023 15:09:53 GMT (envelope-from git) Date: Wed, 1 Feb 2023 15:09:53 GMT Message-Id: <202302011509.311F9r9g046150@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 197947e0a3b2 - main - ifconfig.8: Improve readability of vlanproto's description List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 197947e0a3b27b0eb455fdcd29def867efe582e6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by 0mp (doc, ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=197947e0a3b27b0eb455fdcd29def867efe582e6 commit 197947e0a3b27b0eb455fdcd29def867efe582e6 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2022-08-19 16:17:44 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-02-01 15:06:45 +0000 ifconfig.8: Improve readability of vlanproto's description Sponsored by: Klara Inc. MFC after: 1 week --- sbin/ifconfig/ifconfig.8 | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8 index c7729dd338e1..98d2899f1b93 100644 --- a/sbin/ifconfig/ifconfig.8 +++ b/sbin/ifconfig/ifconfig.8 @@ -28,7 +28,7 @@ .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 .\" $FreeBSD$ .\" -.Dd July 11, 2022 +.Dd February 1, 2023 .Dt IFCONFIG 8 .Os .Sh NAME @@ -2880,17 +2880,15 @@ must both be set at the same time. .It Cm vlanproto Ar vlan_proto Set the VLAN encapsulation protocol to .Ar vlan_proto . -Supported encapsulation protocols are currently -.Dq 802.1Q -and -.Dq 802.1ad . -The default encapsulation protocol is -.Dq 802.1Q . -The -.Dq 802.1ad -protocol is also commonly known as -.Dq QinQ ; -either name can be used. +Supported encapsulation protocols are currently: +.Bl -tag +.It Cm 802.1Q +Default. +.It Cm 802.1ad +.It Cm QinQ +Same as +.Cm 802.1ad . +.El .It Cm vlanpcp Ar priority_code_point Priority code point .Pq Dv PCP From nobody Wed Feb 1 15:17:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6QWk46z0z3cSWN; Wed, 1 Feb 2023 15:17: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 4P6QWk3YKLz4MWM; Wed, 1 Feb 2023 15:17:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675264642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xaVWLbIyn1KTQYWPRSmqMHjDVaFArZxEGBugP0a4Oi4=; b=QOaK52HYMFiz4IDz6vuNNV6U9uoMqk/88fxApLyF4ZcFNQLkw4tuO1uCFtu3vwtFDUWrrB 0nolTPraIyMCYS9Lp0FpK3VvNErZktYPmgJOVmej0PeIDvV7uE9SMrVnO3A+aGeKWvdJdX BigsS/DbE4+UPE6EE0ni+wtI3oU6Gtx8UHczBWsFcwzTPb6myZI6PgO7NJZOzDhmH60om7 DM7lnzCq+eB/rb53x1I0eVCIKm3TlaXBSDwoTQ/7JUjbX7p8HHh+RuLxyTml7HtPuk53BK GwgxuyXDZ/xTIQD+uXo9q/6lFGBVV4/+eBWsYnNteL49DR6r1z+FJno3VFiv/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675264642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xaVWLbIyn1KTQYWPRSmqMHjDVaFArZxEGBugP0a4Oi4=; b=KhvXceGmN2stin5aHxXkw04zLd6x5FNgdGW+nUht0sJ6H0Z4BVzykNtwPtn98bBgOPQcqc 7mYnEIjp96/N8+h3p9+wYwy87508fWVswoGWt1R4KMmlZeCENnKw5yxulhDe7vxhM6ShOt B8SxqgSSvxiUCTn6JycTogiFfV+AQjusiW4w7jwUIwmobhWIrh5DRdzcCD6IhnQlt5Abud vdqHsNQ3nYtbgyiiHM20VnXf/VQIQ6fslcSdaL8cbil6/GNB6mNGa/R9ujoV+YlXihgQwx YfAenDDmO5M+GgLDvEfETV1cc/zwi6dGydLrCSbgw98D+/cAiDdH0VZsqFY5Ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675264642; a=rsa-sha256; cv=none; b=IC7LzgTDph1VF3ftCaulWvHgSSzaRNjiKpwxpnkdAPRMTLjL+hAX1mhMksG0iRu4AoBKuR Y3LdcuvzCrX7K18eKoJ4cN95iOhv10OsOpvHUY3+33/VIa430OUM+F0x+t5pwrraXyfHVN 1ePDsyIaCNpbbQ4iB5Y89rYO4OaadYzjLPbJ0RdtpbvSRh0ho//DeMkeeUIVGP8xV+xX1j RJjAZ/QpIP1tZ2n43SLVrnog+2eUUioZbSSNPcldAAbB3H/nNAalqyj6ycOfvi8HmSWmSR LhHHKMOv1o25Y2lF6z0A7Qd0qeOzldS73R7XmBxXnN3+hb4T3Jk+lIkWoNiR5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6QWk2LwGzK1m; Wed, 1 Feb 2023 15:17:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311FHMWV059836; Wed, 1 Feb 2023 15:17:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311FHM2G059835; Wed, 1 Feb 2023 15:17:22 GMT (envelope-from git) Date: Wed, 1 Feb 2023 15:17:22 GMT Message-Id: <202302011517.311FHM2G059835@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 5c32146723ef - main - amd64: Eliminate write only cpu_fxsr. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 5c32146723ef88b07506c081653898cd2f293a52 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=5c32146723ef88b07506c081653898cd2f293a52 commit 5c32146723ef88b07506c081653898cd2f293a52 Author: Dmitry Chagin AuthorDate: 2023-02-01 15:17:06 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-01 15:17:06 +0000 amd64: Eliminate write only cpu_fxsr. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D38289 MFC after: 1 week --- sys/amd64/amd64/initcpu.c | 2 +- sys/i386/i386/npx.c | 1 + sys/i386/include/md_var.h | 1 + sys/x86/include/x86_var.h | 1 - sys/x86/x86/identcpu.c | 1 - 5 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/amd64/amd64/initcpu.c b/sys/amd64/amd64/initcpu.c index cddf8502437e..16780a9e069b 100644 --- a/sys/amd64/amd64/initcpu.c +++ b/sys/amd64/amd64/initcpu.c @@ -279,7 +279,7 @@ initializecpu(void) cr4 = rcr4(); if ((cpu_feature & CPUID_XMM) && (cpu_feature & CPUID_FXSR)) { cr4 |= CR4_FXSR | CR4_XMM; - cpu_fxsr = hw_instruction_sse = 1; + hw_instruction_sse = 1; } if (cpu_stdext_feature & CPUID_STDEXT_FSGSBASE) cr4 |= CR4_FSGSBASE; diff --git a/sys/i386/i386/npx.c b/sys/i386/i386/npx.c index 2e3c21583d88..3d4f2f2a60c8 100644 --- a/sys/i386/i386/npx.c +++ b/sys/i386/i386/npx.c @@ -175,6 +175,7 @@ SYSCTL_INT(_hw, OID_AUTO, lazy_fpu_switch, CTLFLAG_RWTUN | CTLFLAG_NOFETCH, &lazy_fpu_switch, 0, "Lazily load FPU context after context switch"); +u_int cpu_fxsr; /* SSE enabled */ int use_xsave; uint64_t xsave_mask; static uma_zone_t fpu_save_area_zone; diff --git a/sys/i386/include/md_var.h b/sys/i386/include/md_var.h index 88b036a9cc24..d4fa7668b5f3 100644 --- a/sys/i386/include/md_var.h +++ b/sys/i386/include/md_var.h @@ -36,6 +36,7 @@ #include +extern u_int cpu_fxsr; extern u_int cyrix_did; #if defined(I586_CPU) && !defined(NO_F00F_HACK) extern int has_f00f_bug; diff --git a/sys/x86/include/x86_var.h b/sys/x86/include/x86_var.h index 38a332e36078..343fa02a1cf5 100644 --- a/sys/x86/include/x86_var.h +++ b/sys/x86/include/x86_var.h @@ -53,7 +53,6 @@ extern u_int cpu_stdext_feature; extern u_int cpu_stdext_feature2; extern u_int cpu_stdext_feature3; extern uint64_t cpu_ia32_arch_caps; -extern u_int cpu_fxsr; extern u_int cpu_high; extern u_int cpu_id; extern u_int cpu_max_ext_state_size; diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 7b2d32d9c7a3..70bca3559555 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -106,7 +106,6 @@ u_int cpu_procinfo; /* HyperThreading Info / Brand Index / CLFUSH */ u_int cpu_procinfo2; /* Multicore info */ char cpu_vendor[20]; /* CPU Origin code */ u_int cpu_vendor_id; /* CPU vendor ID */ -u_int cpu_fxsr; /* SSE enabled */ u_int cpu_mxcsr_mask; /* Valid bits in mxcsr */ u_int cpu_clflush_line_size = 32; u_int cpu_stdext_feature; /* %ebx */ From nobody Wed Feb 1 15:40:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6R2x3mZwz3cWMG; Wed, 1 Feb 2023 15:40: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 4P6R2x3Lyqz4NyB; Wed, 1 Feb 2023 15:40:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675266057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bP5jSjHHasDoeFqaEBsFQJJ8RmCwPTPUQ4h+Q9uhPag=; b=qi8AOGi3YB8DuY2ehuCuzpvJVU6oXZ0HsIwEuclPDPJYdhtZDJpbJbEkVTRYvMZqa2Pbe+ 1b6iKuNmwcomTx3pVOnG/sDUFP3FJuQoLeuKld71+1eBgM/8546ykPe7P/n7vzVrIw2o/U z46ZghRQ+sP56X0fyCWT4Y6P3Rkg982qkczus1RhUnrXs42/lEDKGc95bm29vs/8rrtWUy ZFWWasSZGwusziKTAMJ7hzQU+j78JGr+KgWRtuJW5QtFwgtgdTj4PwV2it+mijgNVVAZ5d 1PqDhYQD88YOuezsuRwsiFfHZwzFHqXzuUhhsk20YiGA1asUaIa5qYvEhvmn0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675266057; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bP5jSjHHasDoeFqaEBsFQJJ8RmCwPTPUQ4h+Q9uhPag=; b=Lq88YzzrXY4Encroe0Dc9UxypQPKPmVFoB5/kH6xf6b26gLeqWkheqXGyFm6tonxucSeSG bG9Ib+NVIrjevKnVZsvPo+q/oR8TRNbP3rUstbAMlp5w5x1QS9CyA5i9OZGaXR2GpIDDpq ItMo/1iDqiVRR81j8MQq4czIarQQ98QS/PeOH8FM3njvyFuBv081TMyDNOTz8hHGxvPRrv CpNc25bbroW8A/RPTqhi34gp8aNPUIIdv4mMFpgPPozL56NQeu6n76kvvhmE3LeRfyI3FI 4m7a8csIjMauTmeohogKnZ1PKLKtfWFdvZHcoyRit8oX+ZpCyjfTNFhG1nJKhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675266057; a=rsa-sha256; cv=none; b=LhvAHqIimxyknjo1ae14wnoJcG7nCboAd9dpKBsjk/qT/OGvpbdoFglrcTEw2zpvcKpx+s rF6hwTN8etEHR70fbki24cdlu7SxhmrbAQhUGiMRI1/sFbNicXBLZzAcyHRFdygfzE1VBQ 2zKdSrh3NnlgEQLSyMW7p+4Es1yVWO5MIoOcmoOC0Qm7Wdvmox1ZqbT/V0xsviHCWdeC96 0Bb3MQDhulI7zpEvir2BmbFz78wLdTXpX0UXoroTCOo7MkUslXGK+RdhjwvzGw8tyBlH3h kF6ZLKbFc599M7OvcqTGF+Q1DXEWI+v6FYNEdSmfX8mTT8eBiy671qhWRIQYXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6R2x2PBKzKD8; Wed, 1 Feb 2023 15:40:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311Fevpn099591; Wed, 1 Feb 2023 15:40:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311FevoJ099590; Wed, 1 Feb 2023 15:40:57 GMT (envelope-from git) Date: Wed, 1 Feb 2023 15:40:57 GMT Message-Id: <202302011540.311FevoJ099590@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wei Hu Subject: git: db247798c564 - main - arm64: Hyper-V: vPCI: SPI MSI mapping for gic v3 acpi in arm64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: whu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: db247798c564021f216803296c07360ddbf2d5e8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by whu: URL: https://cgit.FreeBSD.org/src/commit/?id=db247798c564021f216803296c07360ddbf2d5e8 commit db247798c564021f216803296c07360ddbf2d5e8 Author: Wei Hu AuthorDate: 2023-02-01 15:00:18 +0000 Commit: Wei Hu CommitDate: 2023-02-01 15:40:08 +0000 arm64: Hyper-V: vPCI: SPI MSI mapping for gic v3 acpi in arm64 Microsoft Azure Hyper-V uses SPI to map MSI in ARM64, instead of using LPI IDS. To enable that we need to have gic registered with ACPI_MSI_XREF and gic acpi to map SPI for MSI. This is the 1st of the three patchs to enable Hyper-V vPCI support in arm64. Reviewed by: andrew, emaste, whu Tested by: Souradeep Chakrabarti Obtained from: Souradeep Chakrabarti Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D37763 --- sys/arm64/arm64/gic_v3.c | 7 +++++++ sys/arm64/arm64/gic_v3_acpi.c | 18 +++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/gic_v3.c b/sys/arm64/arm64/gic_v3.c index c26158e4035c..07ef8454afcf 100644 --- a/sys/arm64/arm64/gic_v3.c +++ b/sys/arm64/arm64/gic_v3.c @@ -382,6 +382,13 @@ gic_v3_attach(device_t dev) mtx_init(&sc->gic_mbi_mtx, "GICv3 mbi lock", NULL, MTX_DEF); if (sc->gic_mbi_start > 0) { + if (!sc->gic_mbi_end) { + /* + * This is to address SPI based msi ranges, where + * SPI range is not specified in ACPI + */ + sc->gic_mbi_end = sc->gic_nirqs - 1; + } gic_v3_reserve_msi_range(dev, sc->gic_mbi_start, sc->gic_mbi_end - sc->gic_mbi_start); diff --git a/sys/arm64/arm64/gic_v3_acpi.c b/sys/arm64/arm64/gic_v3_acpi.c index d6d5640f9daa..e4a48ea32ca2 100644 --- a/sys/arm64/arm64/gic_v3_acpi.c +++ b/sys/arm64/arm64/gic_v3_acpi.c @@ -50,6 +50,8 @@ __FBSDID("$FreeBSD$"); #define GICV3_PRIV_VGIC 0x80000000 #define GICV3_PRIV_FLAGS 0x80000000 +#define HV_MSI_SPI_START 64 +#define HV_MSI_SPI_LAST 0 struct gic_v3_acpi_devinfo { struct gic_v3_devinfo di_gic_dinfo; @@ -319,7 +321,10 @@ gic_v3_acpi_attach(device_t dev) err = gic_v3_acpi_count_regions(dev); if (err != 0) goto count_error; - + if (vm_guest == VM_GUEST_HV) { + sc->gic_mbi_start = HV_MSI_SPI_START; + sc->gic_mbi_end = HV_MSI_SPI_LAST; + } err = gic_v3_attach(dev); if (err != 0) goto error; @@ -330,6 +335,17 @@ gic_v3_acpi_attach(device_t dev) err = ENXIO; goto error; } + /* + * Registering for MSI with SPI rnage, as this is + * required for Hyper-V GIC to work in ARM64. + */ + if (vm_guest == VM_GUEST_HV) { + err = intr_msi_register(dev, ACPI_MSI_XREF); + if (err) { + device_printf(dev, "could not register MSI\n"); + goto error; + } + } if (intr_pic_claim_root(dev, ACPI_INTR_XREF, arm_gic_v3_intr, sc, GIC_LAST_SGI - GIC_FIRST_SGI + 1) != 0) { From nobody Wed Feb 1 16:01:55 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6RW757q9z3cYbc; Wed, 1 Feb 2023 16:01:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P6RW74fb0z4Q5y; Wed, 1 Feb 2023 16:01:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675267315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GPlNP7OftzsohOw4hq0/00ixvMSzIGE7Qjnlxia/bHc=; b=pHunOYTSbORaGoSekvhJiCjM/3oA9sdHgZvXGC368/8mi/xYIMzth5DtaCgpgSYBeHpN2h hEaQRa9WrsDEBxfZO16CdiVA4SyeDr8kftXkaCkAfH7xIFyISPO4eN8JC4LbYSEvsU7vUH eIimO/FsMLd9hiyf8NvSsEWcJeY49Flod7BRL84X0Zqeq45g7M+6Bt+7udWV+98ReS7rez yVP5HM2F+QjhmEOsEwanrhNHst7q6L0yZ/xrqfsUNfMCqdBsC5/u/UoVMDKjcnCHj8cOgh TM+rg9g2T2kcDsxiCJ7gUJJskKtW8JECCTS01Kb6waAatQnoGXt2eNkhUVWhAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675267315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GPlNP7OftzsohOw4hq0/00ixvMSzIGE7Qjnlxia/bHc=; b=TzN7x9U9jt8ijLJaoBQtYsut4DwlsvBWae5H5jboO4SAPRITVHRiz3oIEf0lR7073cxk7N YgQQAhY8dfLbHCfHfgbysvgjcQka1TJzh2y6B/I3J3Sa/zumnMzdAZOTcrOw+MMJ8zodgy HFgh2uWgCvWIKFDLMvFLROUV6Ajb6saRHKSG5UFGhOjPAwu2PH/Pspyv2W1GW4uGWGyR5w xSDMNLmHSaFufRxo5+ecVi2GiP+11d4hBY91dPv/WF7VT0BZlVPAg0lK2BRpcIAlHNjT53 MSVw5GJAJkaOQXNRgNx6OnxjugJpiHS5LUCNOI9JYZ6WFE5gFZZmMFOKJD+O5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675267315; a=rsa-sha256; cv=none; b=raBMF0235csGNpVGzCiLlhMp1u4G1tXGRJe8vquOvIWhcAmZ6cIuv2EpX10fOth3Y+ICgU u517rcm0B3jSbS28hc97YNSRpBrdHwx2Y6Vka0G/ncpFPS0yNxbLIZ17QzUr0+pIb2c23l nHSpLTROl25hxuduTxf5RRxUzpz1uHDrHTGXwwFVUQ4P9eEdpCfSh7QtKjYU3qsz2Pgvpn 2zmFtEt6dou7pm3uLXlsLddoX6OM9kAg7Ej0IAAx7wzaTUIYIj57FeuApBnrom4P/zAa1s sDlg0vLsPY5846fIMQqhirQvJABcMGrZ18uVh3meolZbYNeyOPzaroKZ/hisEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6RW73hxZzKRn; Wed, 1 Feb 2023 16:01:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311G1tmi026687; Wed, 1 Feb 2023 16:01:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311G1tQY026686; Wed, 1 Feb 2023 16:01:55 GMT (envelope-from git) Date: Wed, 1 Feb 2023 16:01:55 GMT Message-Id: <202302011601.311G1tQY026686@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wei Hu Subject: git: 6e5b082cab8d - main - arm64: Hyper-V: vPCI: Adding Hyper-V PCI protocol 1.4 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: whu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6e5b082cab8d9dd0eb0bce65cf8cf268f11c7a25 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by whu: URL: https://cgit.FreeBSD.org/src/commit/?id=6e5b082cab8d9dd0eb0bce65cf8cf268f11c7a25 commit 6e5b082cab8d9dd0eb0bce65cf8cf268f11c7a25 Author: Wei Hu AuthorDate: 2023-02-01 15:55:03 +0000 Commit: Wei Hu CommitDate: 2023-02-01 16:00:10 +0000 arm64: Hyper-V: vPCI: Adding Hyper-V PCI protocol 1.4 This is enabling the PCI protocol 1.4 and corresponding structures in order to support arm64 Hyper-V. This is the 2nd of the three patches to enable Hyper-V vPCI support in arm64. Reviewed by: whu Tested by: Souradeep Chakrabarti Obtained from: Souradeep Chakrabarti Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D37780 --- sys/dev/hyperv/pcib/vmbus_pcib.c | 83 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 80 insertions(+), 3 deletions(-) diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c b/sys/dev/hyperv/pcib/vmbus_pcib.c index 98e1320e4379..ca495dab9516 100644 --- a/sys/dev/hyperv/pcib/vmbus_pcib.c +++ b/sys/dev/hyperv/pcib/vmbus_pcib.c @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD$"); #ifdef NEW_PCIB +#include "opt_acpi.h" #include #include @@ -50,6 +51,9 @@ __FBSDID("$FreeBSD$"); #include #include +#if defined(__aarch64__) +#include +#endif #include #include #include @@ -62,10 +66,16 @@ __FBSDID("$FreeBSD$"); #include #include #include "pcib_if.h" - +#if defined(__i386__) || defined(__amd64__) #include #include - +#endif +#if defined(__aarch64__) +#include +#include +#include +#include +#endif #include #include #include @@ -142,7 +152,7 @@ wait_for_completion_timeout(struct completion *c, int timeout) return (ret); } -#define PCI_MAKE_VERSION(major, minor) ((uint32_t)(((major) << 16) | (major))) +#define PCI_MAKE_VERSION(major, minor) ((uint32_t)(((major) << 16) | (minor))) enum { PCI_PROTOCOL_VERSION_1_1 = PCI_MAKE_VERSION(1, 1), @@ -182,6 +192,12 @@ enum pci_message_type { PCI_QUERY_PROTOCOL_VERSION = PCI_MESSAGE_BASE + 0x13, PCI_CREATE_INTERRUPT_MESSAGE = PCI_MESSAGE_BASE + 0x14, PCI_DELETE_INTERRUPT_MESSAGE = PCI_MESSAGE_BASE + 0x15, + PCI_RESOURCES_ASSIGNED2 = PCI_MESSAGE_BASE + 0x16, + PCI_CREATE_INTERRUPT_MESSAGE2 = PCI_MESSAGE_BASE + 0x17, + PCI_DELETE_INTERRUPT_MESSAGE2 = PCI_MESSAGE_BASE + 0x18, /* unused */ + PCI_BUS_RELATIONS2 = PCI_MESSAGE_BASE + 0x19, + PCI_RESOURCES_ASSIGNED3 = PCI_MESSAGE_BASE + 0x1A, + PCI_CREATE_INTERRUPT_MESSAGE3 = PCI_MESSAGE_BASE + 0x1B, PCI_MESSAGE_MAXIMUM }; @@ -223,6 +239,22 @@ struct pci_func_desc { uint32_t ser; /* serial number */ } __packed; +struct pci_func_desc2 { + uint16_t v_id; /* vendor ID */ + uint16_t d_id; /* device ID */ + uint8_t rev; + uint8_t prog_intf; + uint8_t subclass; + uint8_t base_class; + uint32_t subsystem_id; + union win_slot_encoding wslot; + uint32_t ser; /* serial number */ + uint32_t flags; + uint16_t virtual_numa_node; + uint16_t reserved; +} __packed; + + struct hv_msi_desc { uint8_t vector; uint8_t delivery_mode; @@ -231,6 +263,15 @@ struct hv_msi_desc { uint64_t cpu_mask; } __packed; +struct hv_msi_desc3 { + uint32_t vector; + uint8_t delivery_mode; + uint8_t reserved; + uint16_t vector_count; + uint16_t processor_count; + uint16_t processor_array[32]; +} __packed; + struct tran_int_desc { uint16_t reserved; uint16_t vector_count; @@ -288,6 +329,12 @@ struct pci_bus_relations { struct pci_func_desc func[0]; } __packed; +struct pci_bus_relations2 { + struct pci_incoming_message incoming; + uint32_t device_count; + struct pci_func_desc2 func[0]; +} __packed; + #define MAX_NUM_BARS (PCIR_MAX_BAR_0 + 1) struct pci_q_res_req_response { struct vmbus_chanpkt_hdr hdr; @@ -303,12 +350,26 @@ struct pci_resources_assigned { uint32_t reserved[4]; } __packed; +struct pci_resources_assigned2 { + struct pci_message message_type; + union win_slot_encoding wslot; + uint8_t memory_range[0x14][6]; /* not used here */ + uint32_t msi_descriptor_count; + uint8_t reserved[70]; +} __packed; + struct pci_create_interrupt { struct pci_message message_type; union win_slot_encoding wslot; struct hv_msi_desc int_desc; } __packed; +struct pci_create_interrupt3 { + struct pci_message message_type; + union win_slot_encoding wslot; + struct hv_msi_desc3 int_desc; +} __packed; + struct pci_create_int_response { struct pci_response response; uint32_t reserved; @@ -356,12 +417,28 @@ struct hv_pcibus { struct mtx config_lock; /* Avoid two threads writing index page */ struct mtx device_list_lock; /* Protect lists below */ + uint32_t protocol_version; TAILQ_HEAD(, hv_pci_dev) children; TAILQ_HEAD(, hv_dr_state) dr_list; volatile int detaching; }; +struct hv_pcidev_desc { + uint16_t v_id; /* vendor ID */ + uint16_t d_id; /* device ID */ + uint8_t rev; + uint8_t prog_intf; + uint8_t subclass; + uint8_t base_class; + uint32_t subsystem_id; + union win_slot_encoding wslot; + uint32_t ser; /* serial number */ + uint32_t flags; + uint16_t virtual_numa_node; +} __packed; + + struct hv_pci_dev { TAILQ_ENTRY(hv_pci_dev) link; From nobody Wed Feb 1 16:02:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6RWX0WvMz3cYfk; Wed, 1 Feb 2023 16:02: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 4P6RWX04pCz3Bpk; Wed, 1 Feb 2023 16:02:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675267336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sYGytH+f4tLgDN5cg8FcqKImo5nIzNUsoCbjiPietEQ=; b=ogF1Lns7JYxTHuEWEXB9aLZs3R/mkake/H/b9Km4u/vjyUGjidl99MDd+lWI4ICg87vpmQ c4DoaTrxkSmZybx5Kol5HOevcP7gmedvx1e5SEAgnisHKMxfmtkh6xv4aRIZMWR0PdMGXq 9pUNCtKdPGSpnvbWYrkYL4Yzy9pBx3ckgcYtye4dbNda/wqzGnDPsF/Gnpn6XroLJiaXFD OHOSpci/gx/rl/G27uRAfjtlx5v1PpPZ2DawEQdOVv3OhQn6SN2e6HJZnwD5aN905Qmwf7 kZC1P7CyUMx4U8QGvtlavNF6dGbmRyVqlhVRvksCNp5EylVkSHdg12o385fvow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675267336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sYGytH+f4tLgDN5cg8FcqKImo5nIzNUsoCbjiPietEQ=; b=sATZ9u8cL/V5b35bsTeCmgSWyOAPPELRgRvoyVlspSXN9kcip4+RLU8IP2WkplFpxF4ZDM L7oRJ9vpDA+b3qb9KYPIoP9Aw0wJ1XIuVuQuu4bY78kEZuTDQxNh3JCUUPhpYAHO/FXJUI NPS3hcJlnxOyEIGRl0OFPWo0y0csoumJV3IlgmHlH+FqYEGeUQ4WseS2VTy+oVGOWGtUop PT0fAq4SKbG7YOR/7sO0Iwz488r/j3amWeQpzLmvoEocotBt1opkTOnddJqSqDw3Ww3s6Q /idWMzDb/STiUkvq3KFez9VbkhNL2H1Jwc1CChz9QeB1XCfoj+nDKPP2FxdjAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675267336; a=rsa-sha256; cv=none; b=q61xd/3e34A9Kwy5B+RK6mbd7NZnvL618GZdDCGANsh/w2pM4VRZYscbs4WU5N6xwnNjdw uS0OQiIhYpUe92xotStDpURiyj5VBQSGStDmY3fuRuyyKfCwqgXxdpUksVOuC4xB6vVfH2 svVeoHjuuI4LAqd8A5AQiFnz+yEQbJeUMOz6+73HasrVbzrlJWF5fUsSmpknawJ8aq9ABf jCBxc8c2T8i2WRog2HbPHGGTxwYl8bWNH/eVu5txOquJ4gXX63FbLNjoUca51bMGpBhC7n 3AUNPe196LZwK3rApuTmNtOIhifms6bv8S0zTbmZTdNmeq35eZUQcoGPgIuuYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6RWW6FvWzL7B; Wed, 1 Feb 2023 16:02:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311G2FBa027950; Wed, 1 Feb 2023 16:02:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311G2Fp5027949; Wed, 1 Feb 2023 16:02:15 GMT (envelope-from git) Date: Wed, 1 Feb 2023 16:02:15 GMT Message-Id: <202302011602.311G2Fp5027949@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: c0a4a7bb942f - main - qat: Fixed Coverity reported issue List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c0a4a7bb942fd3302f0093e4353820916d3661d1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c0a4a7bb942fd3302f0093e4353820916d3661d1 commit c0a4a7bb942fd3302f0093e4353820916d3661d1 Author: Krzysztof Zdziarski AuthorDate: 2023-02-01 15:06:11 +0000 Commit: Mark Johnston CommitDate: 2023-02-01 16:02:08 +0000 qat: Fixed Coverity reported issue This patch provides fixes for following Coverity issues: CID 1504073 CID 1504075 CID 1504076 CID 1504077 Patch co-authored by: Krzysztof Zdziarski Patch co-authored by: Michal Gulbicki Patch co-authored by: Julian Grajkowski Patch co-authored by: Piotr Kasierski Patch co-authored by: Lukasz Kolodzinski Patch co-authored by: Karol Grzadziel Fixes: a977168c48d4 ("qat: Add Intel® 4xxx Series platform support") Reviewed by: markj Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D38339 --- sys/dev/qat/qat_api/common/compression/dc_datapath.c | 14 ++++++-------- sys/dev/qat/qat_common/adf_hw_arbiter.c | 3 ++- sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/sys/dev/qat/qat_api/common/compression/dc_datapath.c b/sys/dev/qat/qat_api/common/compression/dc_datapath.c index 2e1f9ff96bd8..526954e15227 100644 --- a/sys/dev/qat/qat_api/common/compression/dc_datapath.c +++ b/sys/dev/qat/qat_api/common/compression/dc_datapath.c @@ -152,6 +152,7 @@ dcCompression_ProcessCallback(void *pRespMsg) if (NULL != pOpData) { verifyHwIntegrityCrcs = pOpData->verifyHwIntegrityCrcs; + integrityCrcCheck = pOpData->integrityCrcCheck; } hdrFlags = pCompRespMsg->comn_resp.hdr_flags; @@ -175,10 +176,9 @@ dcCompression_ProcessCallback(void *pRespMsg) (pService->pDcDpCb)(pResponse); } else { /* Free the memory pool */ - if (NULL != pCookie) { - Lac_MemPoolEntryFree(pCookie); - pCookie = NULL; - } + Lac_MemPoolEntryFree(pCookie); + pCookie = NULL; + if (NULL != pCbFunc) { pCbFunc(callbackTag, status); } @@ -432,10 +432,8 @@ dcCompression_ProcessCallback(void *pRespMsg) } /* Free the memory pool */ - if (NULL != pCookie) { - Lac_MemPoolEntryFree(pCookie); - pCookie = NULL; - } + Lac_MemPoolEntryFree(pCookie); + pCookie = NULL; if (NULL != pCbFunc) { pCbFunc(callbackTag, status); diff --git a/sys/dev/qat/qat_common/adf_hw_arbiter.c b/sys/dev/qat/qat_common/adf_hw_arbiter.c index e89a5f6ce68c..827d612e2c22 100644 --- a/sys/dev/qat/qat_common/adf_hw_arbiter.c +++ b/sys/dev/qat/qat_common/adf_hw_arbiter.c @@ -193,7 +193,7 @@ adf_exit_arb(struct adf_accel_dev *accel_dev) void adf_disable_arb(struct adf_accel_dev *accel_dev) { - struct adf_hw_csr_ops *csr_ops = GET_CSR_OPS(accel_dev); + struct adf_hw_csr_ops *csr_ops; struct resource *csr; unsigned int i; @@ -201,6 +201,7 @@ adf_disable_arb(struct adf_accel_dev *accel_dev) return; csr = accel_dev->transport->banks[0].csr_addr; + csr_ops = GET_CSR_OPS(accel_dev); /* Disable arbitration on all rings */ for (i = 0; i < GET_MAX_BANKS(accel_dev); i++) diff --git a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c index 1c8c9a2fda4c..002ea6d5d876 100644 --- a/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c +++ b/sys/dev/qat/qat_hw/qat_4xxx/adf_4xxx_hw_data.c @@ -747,7 +747,7 @@ static bool check_accel_unit_service(enum adf_accel_unit_services au_srv, enum adf_cfg_service_type ring_srv) { - if ((au_srv & ADF_ACCEL_SERVICE_NULL) && ring_srv == NA) + if ((ADF_ACCEL_SERVICE_NULL == au_srv) && ring_srv == NA) return true; if ((au_srv & ADF_ACCEL_COMPRESSION) && ring_srv == COMP) return true; From nobody Wed Feb 1 16:30:48 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6S8T1Dmjz3cdlt; Wed, 1 Feb 2023 16:30: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 4P6S8T0pwZz3FVW; Wed, 1 Feb 2023 16:30:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675269049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YRSclsu4ctPZZJyiduZLSPaFW6A2/sRFIPs0B7nRJaE=; b=CtwU2rqwaauzoUukZp0ZsKfPhAT3axBiCNyXVEL0lhvxF8kUOTU8PMFXWBI6owvzas2D3x yEuSWXz8Xqg0nmxaSJQgdfRUJHBauwZcnQJmexFcyBwK1D81kLo5D6fO/5mNBuFeVpU1L6 6AVwrEosn+iwa3ZRfLy9kN85BIM7IsWD+MdWZQb7DJECrY+439yfBJh98wmo5yMC0iCKrk LL7axb2Xy2yz3MXsuDt08WiYtygCsA6Nhzu9+o9tUNEuljHz/fGCG6sHuQi52UaYXagsLU 9tpdr2MaboAY2qPl7th/h9VFkZREkREN6cSIIxNues0Jj8NhoC83g4rftUwD1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675269049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YRSclsu4ctPZZJyiduZLSPaFW6A2/sRFIPs0B7nRJaE=; b=At4Y3pzSqNHCHgqq8+h8TqNo9gFVxipCpZ27FLUP2AK6+0KbrBXjB6cDQsRuOwvW4TPeuq WGo5avjwgWA3fWfd7hoEgATi1HCdifE7Pn2QBl0tnI9PTR8ffLhW+bPgR/x2nC3wsIG+Ap Y0I75WX3m3nChb26a/LsWeeadVo4GpJPbxyGoRRa5yVCAW2638Q9LlSJ243axfyHoFSQOW MSKKJTHIdS/bjLrqCFmlZ+Pexlbnd4oJfGouavhQUYTWm9o73ptOF8owNoOKSm0+nMn2EY YCH/N8e0gdx+nf9Gbl6NaGR7tBoJOPp34W+DttQKqMibbDHoVkhEiKaP5WhaLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675269049; a=rsa-sha256; cv=none; b=Yx0hxtdAO1tu7ly41H7oAK3KQmKqOcMZtxFl0kIPrqi3f3QAmDPnyNZMgrCUrU/47+iL3L 098tGVBco6ah1G0s1Spr16wzFrp7ex5gFQX6idkkmadMHs1HQjURASUwErQ3WvCteXsbJd VO2K8SDgRZq9GW4UvxIz8F5FBzu7l/k2dPtHjac1fL8qjR/wggGmV3YY5KQJhuZh8w+2/Y Zz+ZOvSpxSXzoIUG7kTIGbmKFXVQ22apjHn0aBgKijey4TrcOksldqlULeK2H6KatbuI6J bHTOFt64djFd/oq8V1N+qNBZ2q47n+YwGgr6eICbHwiKsV1oZm1ZAyUTXleuxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6S8S70pFzLRV; Wed, 1 Feb 2023 16:30:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311GUmtZ068107; Wed, 1 Feb 2023 16:30:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311GUmt1068106; Wed, 1 Feb 2023 16:30:48 GMT (envelope-from git) Date: Wed, 1 Feb 2023 16:30:48 GMT Message-Id: <202302011630.311GUmt1068106@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan=20E=C3=9Fer?= Subject: git: 1e0853ee8403 - main - sys/kbio.h: support Unicode key codes in vt keymap files List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e0853ee84031e4131a0b8cc8737696f199d3d4c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=1e0853ee84031e4131a0b8cc8737696f199d3d4c commit 1e0853ee84031e4131a0b8cc8737696f199d3d4c Author: Stefan Eßer AuthorDate: 2023-02-01 16:24:18 +0000 Commit: Stefan Eßer CommitDate: 2023-02-01 16:24:18 +0000 sys/kbio.h: support Unicode key codes in vt keymap files Some keyboard definitions return Unicode characters that cannot be represented in the 8 bits provided by an u_char. Extend then width of the keycode entries to 16 bits to allow for all keycodes currently defined in share/vt/keymaps/*,kbd. Reported by: yuri@aetern.org MFC after: 3 days --- sys/sys/kbio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h index 7f17bda76c51..b0779f5ed114 100644 --- a/sys/sys/kbio.h +++ b/sys/sys/kbio.h @@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t; struct acc_t { u_char accchar; - u_char map[NUM_ACCENTCHARS][2]; + u_short map[NUM_ACCENTCHARS][2]; }; struct accentmap { From nobody Wed Feb 1 16:38:11 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6SK15K0jz3cg2C for ; Wed, 1 Feb 2023 16:38:13 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P6SK13H8Lz3HLw for ; Wed, 1 Feb 2023 16:38:13 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f54.google.com with SMTP id q10so17886236wrm.4 for ; Wed, 01 Feb 2023 08:38:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+B0bEiMBX/tOySysOiWbG7Q3J19t6PZyhYWVbxTYV1I=; b=D8dz8hycpTN+Pg6fLYR2MTdukgDGzEmTZwZuIkO7iiN4BXeXJ2GFYZKGZvm3RovUZj Xa4RmNGyfMatc/c4/TPF5m5ZDHpLGKqCjwvmSRcCWGSHFtoISIjZ1zsNVSuVR6aknoYQ bvzOhHR5yV7L3dobcFYAIMFX0YGFv6eFRmdj7ULLcQcmcHAPAxPDM7WSgxWmuKm4esEf 7nWM1cgCKR1iIIqK1JXsLhBWCPpXJlf2pxRxCoGSQkU6XgDgFlAVw/lfs2otCl7QmOVw IzARfTMV1N4rK7vFLVg6cV2b/C+AODsreWGxdlhIshiaqtjy5jvfrb6Oqm7aJVseknXd aluw== X-Gm-Message-State: AO0yUKWdaFXiraZI5ln4i5lXtxuKkBqB+I2XcMURmq2/8RJgp8zP94zu bCur0CyGbWxKvL0hRtxsloGc4A== X-Google-Smtp-Source: AK7set+g5zU8eOs0APyEB+uK6F7kLvWLfRMnaEA0ag35J0N6N4OXulcsA7CJyUPECjWmvgG1e2J1Fg== X-Received: by 2002:a5d:4651:0:b0:2bf:d333:219d with SMTP id j17-20020a5d4651000000b002bfd333219dmr2681608wrs.17.1675269492134; Wed, 01 Feb 2023 08:38:12 -0800 (PST) Received: from smtpclient.apple (global-5-143.n-2.net.cam.ac.uk. [131.111.5.143]) by smtp.gmail.com with ESMTPSA id t8-20020a5d6908000000b002bc7e5a1171sm18013406wru.116.2023.02.01.08.38.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Feb 2023 08:38:11 -0800 (PST) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: 6e5b082cab8d - main - arm64: Hyper-V: vPCI: Adding Hyper-V PCI protocol 1.4 From: Jessica Clarke In-Reply-To: <202302011601.311G1tQY026686@gitrepo.freebsd.org> Date: Wed, 1 Feb 2023 16:38:11 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <928C844E-EBB1-4AFF-968C-46D387E954BA@freebsd.org> References: <202302011601.311G1tQY026686@gitrepo.freebsd.org> To: Wei Hu X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4P6SK13H8Lz3HLw X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 1 Feb 2023, at 16:01, Wei Hu wrote: >=20 > The branch main has been updated by whu: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D6e5b082cab8d9dd0eb0bce65cf8cf268= f11c7a25 >=20 > commit 6e5b082cab8d9dd0eb0bce65cf8cf268f11c7a25 > Author: Wei Hu > AuthorDate: 2023-02-01 15:55:03 +0000 > Commit: Wei Hu > CommitDate: 2023-02-01 16:00:10 +0000 >=20 > arm64: Hyper-V: vPCI: Adding Hyper-V PCI protocol 1.4 >=20 > This is enabling the PCI protocol 1.4 and corresponding structures > in order to support arm64 Hyper-V. >=20 > This is the 2nd of the three patches to enable Hyper-V vPCI support > in arm64. >=20 > Reviewed by: whu > Tested by: Souradeep Chakrabarti > Obtained from: Souradeep Chakrabarti > Sponsored by: Microsoft > Differential Revision: https://reviews.freebsd.org/D37780 > --- > sys/dev/hyperv/pcib/vmbus_pcib.c | 83 = ++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 80 insertions(+), 3 deletions(-) >=20 > diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c = b/sys/dev/hyperv/pcib/vmbus_pcib.c > index 98e1320e4379..ca495dab9516 100644 > --- a/sys/dev/hyperv/pcib/vmbus_pcib.c > +++ b/sys/dev/hyperv/pcib/vmbus_pcib.c > @@ -28,6 +28,7 @@ > __FBSDID("$FreeBSD$"); >=20 > #ifdef NEW_PCIB > +#include "opt_acpi.h" >=20 > #include > #include > @@ -50,6 +51,9 @@ __FBSDID("$FreeBSD$"); > #include > #include >=20 > +#if defined(__aarch64__) > +#include > +#endif > #include > #include > #include > @@ -62,10 +66,16 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include "pcib_if.h" > - > +#if defined(__i386__) || defined(__amd64__) > #include > #include > - > +#endif > +#if defined(__aarch64__) > +#include > +#include > +#include > +#include > +#endif > #include > #include > #include > @@ -142,7 +152,7 @@ wait_for_completion_timeout(struct completion *c, = int timeout) > return (ret); > } >=20 > -#define PCI_MAKE_VERSION(major, minor) ((uint32_t)(((major) << 16) | = (major))) > +#define PCI_MAKE_VERSION(major, minor) ((uint32_t)(((major) << 16) | = (minor))) >=20 > enum { > PCI_PROTOCOL_VERSION_1_1 =3D PCI_MAKE_VERSION(1, 1), > @@ -182,6 +192,12 @@ enum pci_message_type { > PCI_QUERY_PROTOCOL_VERSION =3D PCI_MESSAGE_BASE + 0x13, > PCI_CREATE_INTERRUPT_MESSAGE =3D PCI_MESSAGE_BASE + 0x14, > PCI_DELETE_INTERRUPT_MESSAGE =3D PCI_MESSAGE_BASE + 0x15, > + PCI_RESOURCES_ASSIGNED2 =3D PCI_MESSAGE_BASE + 0x16, > + PCI_CREATE_INTERRUPT_MESSAGE2 =3D PCI_MESSAGE_BASE + 0x17, > + PCI_DELETE_INTERRUPT_MESSAGE2 =3D PCI_MESSAGE_BASE + 0x18, /* = unused */ > + PCI_BUS_RELATIONS2 =3D PCI_MESSAGE_BASE + 0x19, > + PCI_RESOURCES_ASSIGNED3 =3D PCI_MESSAGE_BASE + 0x1A, > + PCI_CREATE_INTERRUPT_MESSAGE3 =3D PCI_MESSAGE_BASE + 0x1B, > PCI_MESSAGE_MAXIMUM > }; >=20 > @@ -223,6 +239,22 @@ struct pci_func_desc { > uint32_t ser; /* serial number */ > } __packed; >=20 > +struct pci_func_desc2 { > + uint16_t v_id; /* vendor ID */ > + uint16_t d_id; /* device ID */ > + uint8_t rev; > + uint8_t prog_intf; > + uint8_t subclass; > + uint8_t base_class; > + uint32_t subsystem_id; > + union win_slot_encoding wslot; > + uint32_t ser; /* serial number */ > + uint32_t flags; > + uint16_t virtual_numa_node; > + uint16_t reserved; > +} __packed; > + > + > struct hv_msi_desc { > uint8_t vector; > uint8_t delivery_mode; > @@ -231,6 +263,15 @@ struct hv_msi_desc { > uint64_t cpu_mask; > } __packed; >=20 > +struct hv_msi_desc3 { > + uint32_t vector; > + uint8_t delivery_mode; > + uint8_t reserved; > + uint16_t vector_count; > + uint16_t processor_count; > + uint16_t processor_array[32]; > +} __packed; > + > struct tran_int_desc { > uint16_t reserved; > uint16_t vector_count; > @@ -288,6 +329,12 @@ struct pci_bus_relations { > struct pci_func_desc func[0]; > } __packed; >=20 > +struct pci_bus_relations2 { > + struct pci_incoming_message incoming; > + uint32_t device_count; > + struct pci_func_desc2 func[0]; > +} __packed; > + > #define MAX_NUM_BARS (PCIR_MAX_BAR_0 + 1) > struct pci_q_res_req_response { > struct vmbus_chanpkt_hdr hdr; > @@ -303,12 +350,26 @@ struct pci_resources_assigned { > uint32_t reserved[4]; > } __packed; >=20 > +struct pci_resources_assigned2 { > + struct pci_message message_type; > + union win_slot_encoding wslot; > + uint8_t memory_range[0x14][6]; /* not used here */ > + uint32_t msi_descriptor_count; > + uint8_t reserved[70]; > +} __packed; > + > struct pci_create_interrupt { > struct pci_message message_type; > union win_slot_encoding wslot; > struct hv_msi_desc int_desc; > } __packed; >=20 > +struct pci_create_interrupt3 { > + struct pci_message message_type; > + union win_slot_encoding wslot; > + struct hv_msi_desc3 int_desc; > +} __packed; > + > struct pci_create_int_response { > struct pci_response response; > uint32_t reserved; > @@ -356,12 +417,28 @@ struct hv_pcibus { >=20 > struct mtx config_lock; /* Avoid two threads writing index page = */ > struct mtx device_list_lock; /* Protect lists below */ > + uint32_t protocol_version; > TAILQ_HEAD(, hv_pci_dev) children; > TAILQ_HEAD(, hv_dr_state) dr_list; >=20 > volatile int detaching; > }; >=20 > +struct hv_pcidev_desc { > + uint16_t v_id; /* vendor ID */ > + uint16_t d_id; /* device ID */ > + uint8_t rev; > + uint8_t prog_intf; > + uint8_t subclass; > + uint8_t base_class; > + uint32_t subsystem_id; > + union win_slot_encoding wslot; > + uint32_t ser; /* serial number */ > + uint32_t flags; > + uint16_t virtual_numa_node; > +} __packed; The indentation for these structs is all over the place. > + > + Extra blank line. Jess > struct hv_pci_dev { > TAILQ_ENTRY(hv_pci_dev) link; >=20 From nobody Wed Feb 1 16:40:37 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6SMr3F9gz3cgPy for ; Wed, 1 Feb 2023 16:40:40 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P6SMr0b2Qz3Hyr for ; Wed, 1 Feb 2023 16:40:40 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f51.google.com with SMTP id n28-20020a05600c3b9c00b003ddca7a2bcbso1933685wms.3 for ; Wed, 01 Feb 2023 08:40:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yh63ssaPQorriw9zVvpx1cgx9O0eIwZvjJdJEXSVrIw=; b=20seautLqf9JnwgrVHrv2ovE3m67gECskAww5tGzuft/CfHSXGhGcB7IGW8n0nDSBa VHSAhawnPFe8uWeIPHBPNg+Fa4BHKulTKABkk3AF/oX9FGVXRzfhenHd0N5kHP/AZHIJ rOkdAALw+RkTRewRk+Xvfr33FtfMSn6knd8F1E92GOez6VsXyP9QDD4BNO6j16FnWb7l XLWdQBNNjGhXhfwLaPR309WZP76n/Ms7zLSx0RlLPgS5MIQk6Vn6JaFnyJT7M2oMTf7N ZCKJIw9Pq06OrJu42EAzNuP2XYw/Kx8vd6YbFVlc9XIXw0jwEpgI6oG78Rk8sc+oT8Hy /LKg== X-Gm-Message-State: AO0yUKVXmy3vpUo0hqlF9N4dHpYorwhMjcpXhjzt0vkMp806LT+a4KOH 6Ba96ZdG6BC69XIC7P3OZpERlsBhybPkZM06PFUa1A== X-Google-Smtp-Source: AK7set+cSP8z+8n5HexGrPZvKzIKud+n77Gt339H9yeJwJ9Nz3TEfExdz0G+raxLytMiYdPvaNBTJg== X-Received: by 2002:a05:600c:3acc:b0:3dd:1ac1:2572 with SMTP id d12-20020a05600c3acc00b003dd1ac12572mr2964647wms.1.1675269638660; Wed, 01 Feb 2023 08:40:38 -0800 (PST) Received: from smtpclient.apple (global-5-143.n-2.net.cam.ac.uk. [131.111.5.143]) by smtp.gmail.com with ESMTPSA id bg21-20020a05600c3c9500b003db06493ee7sm2604521wmb.47.2023.02.01.08.40.38 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Feb 2023 08:40:38 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: 1e0853ee8403 - main - sys/kbio.h: support Unicode key codes in vt keymap files From: Jessica Clarke In-Reply-To: <202302011630.311GUmt1068106@gitrepo.freebsd.org> Date: Wed, 1 Feb 2023 16:40:37 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202302011630.311GUmt1068106@gitrepo.freebsd.org> To: =?utf-8?Q?Stefan_E=C3=9Fer?= X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4P6SMr0b2Qz3Hyr X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 1 Feb 2023, at 16:30, Stefan E=C3=9Fer wrote: >=20 > The branch main has been updated by se: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D1e0853ee84031e4131a0b8cc8737696f= 199d3d4c >=20 > commit 1e0853ee84031e4131a0b8cc8737696f199d3d4c > Author: Stefan E=C3=9Fer > AuthorDate: 2023-02-01 16:24:18 +0000 > Commit: Stefan E=C3=9Fer > CommitDate: 2023-02-01 16:24:18 +0000 >=20 > sys/kbio.h: support Unicode key codes in vt keymap files >=20 > Some keyboard definitions return Unicode characters that cannot be > represented in the 8 bits provided by an u_char. >=20 > Extend then width of the keycode entries to 16 bits to allow for = all > keycodes currently defined in share/vt/keymaps/*,kbd. >=20 > Reported by: yuri@aetern.org > MFC after: 3 days > --- > sys/sys/kbio.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h > index 7f17bda76c51..b0779f5ed114 100644 > --- a/sys/sys/kbio.h > +++ b/sys/sys/kbio.h > @@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t; >=20 > struct acc_t { > u_char accchar; > - u_char map[NUM_ACCENTCHARS][2]; > + u_short map[NUM_ACCENTCHARS][2]; This breaks ABI for [GP]IO_DEADKEYMAP. Jess > }; >=20 > struct accentmap { From nobody Wed Feb 1 17:00:45 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6Sq12r3hz3cjFb; Wed, 1 Feb 2023 17: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 4P6Sq12gJWz3L9H; Wed, 1 Feb 2023 17: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=1675270845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FVqoVtmRBm1mi3QsZx4m/rQ30M88JZSaJGDKYrB5i0M=; b=yAjewk27J2/kAuNVv8bFzT58AUQupZxvP0/Oa1dAFiWBMEOUB7gKzhyaKt/p/1zXtLB7ny RYq/9ZQjX4kgvZRbwhETJjqn3wQZw5Mzv1iuszOnTyx0cWDVEZ+tXuepIKIekHexrpzPFT pm7oC829iplAh8yFgoIz8phL5Fv3Y7A06C1fhM7wBxDdktSY4Gp298EQw2vEVhb1/ObyaQ F8/0W0lHS70bguZkbP4UytW20H1rysql2Bf+UMnReyYXxsg8si0pewoqrjtans4/jwGdZx Ay5CEPlpD3/rTuytR68wi05VLtQn5i0EkMhhwCwrSW5FTLWdsoA8N/HranRSCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675270845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FVqoVtmRBm1mi3QsZx4m/rQ30M88JZSaJGDKYrB5i0M=; b=DgBjn3rEZIvdLTayqr6t9aV5vlp2MlOMKS1YrUJ4ojVF9gzHpty3msy3gYa36CbFEQ42BY 901Wi2ujeJkrXlf/wakRCV/nxlMJnDEwGMsqI2C8ay/f/wPbjbZhjkYSRvVEWkxDyjAGov pWtUHDcdGWASo0kwDV8j7/OqA6XGM45Q0pMsnrlt7rdG3/uk0Mp/7JT+s3K0X9nlqLMSJp YYvgaCT95YuBz2MPY07B8P9wJjaaUp7GU3RnA98SoAcrUGGJpqUvU544oeJKjU24rPetGH j61m8cbnVX/Zl/cTCEr922tgLnwzG4I8dME9HCglvZ5qmPepcf1UtbWoNGFhPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675270845; a=rsa-sha256; cv=none; b=XPT4f3mN4mxKQRTKIzYdZx8GgU3i4Cg5/jSOhr6SfVUmQ5BkjyfkX/D3XieecQpk2dHSvg OsKJfV/qrjG+pt5Dlddm1O2H3jTubk2WBFwJbNGEFiSpdq73oN8TXYJGtFyeOBZ1Okayii VnFX81xj8ERzj37DwKXHEc5I063psGuYax3ocTDrJxc7+Ia641q5DzrtiFxctpZ6n+6MrG dG97TyftfVFiVpr8QlrTnqWYuYSjasGsnhx8mEFSn3T3V1JNy+m5MyU6+287EZonn/8xJn kyF/gzAv+lObDLIklAvlyIc2nJ2nE+MOD601woonFHB9V5Zqd186AbTW1FwklA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6Sq11kNTzM0l; Wed, 1 Feb 2023 17:00:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311H0jm6011163; Wed, 1 Feb 2023 17:00:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311H0jw0011162; Wed, 1 Feb 2023 17:00:45 GMT (envelope-from git) Date: Wed, 1 Feb 2023 17:00:45 GMT Message-Id: <202302011700.311H0jw0011162@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wei Hu Subject: git: ea11861e434a - main - arm64: Hyper-V: vPCI: Enabling v-PCI in FreeBSD in ARM64 Hyper-V List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: whu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea11861e434aab78d750545b10609ce7a7845d5d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by whu: URL: https://cgit.FreeBSD.org/src/commit/?id=ea11861e434aab78d750545b10609ce7a7845d5d commit ea11861e434aab78d750545b10609ce7a7845d5d Author: Wei Hu AuthorDate: 2023-02-01 16:48:26 +0000 Commit: Wei Hu CommitDate: 2023-02-01 16:59:27 +0000 arm64: Hyper-V: vPCI: Enabling v-PCI in FreeBSD in ARM64 Hyper-V This patch does remaining enablement in hyperv vpci driver to work on arm64 Hyper-V. For that it required to use PCI protocol 1.4 and corresponding different PCI message handling. Also new MSI allocation, MSI-X mapping, release. This is the last patch of total three patches to enalbe Hyper-V vPCI support in arm64. Reviewed by: whu Tested by: Souradeep Chakrabarti Obtained from: Souradeep Chakrabarti Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D37958 --- sys/dev/hyperv/pcib/vmbus_pcib.c | 271 +++++++++++++++++++++++++++++++-------- 1 file changed, 214 insertions(+), 57 deletions(-) diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c b/sys/dev/hyperv/pcib/vmbus_pcib.c index ca495dab9516..4904423b3262 100644 --- a/sys/dev/hyperv/pcib/vmbus_pcib.c +++ b/sys/dev/hyperv/pcib/vmbus_pcib.c @@ -101,7 +101,11 @@ init_completion(struct completion *c) mtx_init(&c->lock, "hvcmpl", NULL, MTX_DEF); c->done = 0; } - +static void +reinit_completion(struct completion *c) +{ + c->done = 0; +} static void free_completion(struct completion *c) { @@ -152,11 +156,17 @@ wait_for_completion_timeout(struct completion *c, int timeout) return (ret); } +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) #define PCI_MAKE_VERSION(major, minor) ((uint32_t)(((major) << 16) | (minor))) -enum { +enum pci_protocol_version_t { PCI_PROTOCOL_VERSION_1_1 = PCI_MAKE_VERSION(1, 1), - PCI_PROTOCOL_VERSION_CURRENT = PCI_PROTOCOL_VERSION_1_1 + PCI_PROTOCOL_VERSION_1_4 = PCI_MAKE_VERSION(1, 4), +}; + +static enum pci_protocol_version_t pci_protocol_versions[] = { + PCI_PROTOCOL_VERSION_1_4, + PCI_PROTOCOL_VERSION_1_1, }; #define PCI_CONFIG_MMIO_LENGTH 0x2000 @@ -201,6 +211,8 @@ enum pci_message_type { PCI_MESSAGE_MAXIMUM }; +#define STATUS_REVISION_MISMATCH 0xC0000059 + /* * Structures defining the virtual PCI Express protocol. */ @@ -313,7 +325,6 @@ struct pci_packet { struct pci_version_request { struct pci_message message_type; uint32_t protocol_version; - uint32_t is_last_attempt:1; uint32_t reservedz:31; } __packed; @@ -442,7 +453,7 @@ struct hv_pcidev_desc { struct hv_pci_dev { TAILQ_ENTRY(hv_pci_dev) link; - struct pci_func_desc desc; + struct hv_pcidev_desc desc; bool reported_missing; @@ -470,7 +481,7 @@ struct hv_dr_work { struct hv_dr_state { TAILQ_ENTRY(hv_dr_state) link; uint32_t device_count; - struct pci_func_desc func[0]; + struct hv_pcidev_desc func[0]; }; struct hv_irq_desc { @@ -657,7 +668,7 @@ hv_pci_delete_device(struct hv_pci_dev *hpdev) } static struct hv_pci_dev * -new_pcichild_device(struct hv_pcibus *hbus, struct pci_func_desc *desc) +new_pcichild_device(struct hv_pcibus *hbus, struct hv_pcidev_desc *desc) { struct hv_pci_dev *hpdev; struct pci_child_message *res_req; @@ -841,7 +852,7 @@ pci_devices_present_work(void *arg, int pending __unused) struct hv_pcibus *hbus; uint32_t child_no; bool found; - struct pci_func_desc *new_desc; + struct hv_pcidev_desc *new_desc; struct hv_pci_dev *hpdev, *tmp_hpdev; struct completion *query_comp; bool need_rescan = false; @@ -956,7 +967,37 @@ hv_pci_devices_present(struct hv_pcibus *hbus, dr->device_count = relations->device_count; if (dr->device_count != 0) memcpy(dr->func, relations->func, - sizeof(struct pci_func_desc) * dr->device_count); + sizeof(struct hv_pcidev_desc) * dr->device_count); + + mtx_lock(&hbus->device_list_lock); + TAILQ_INSERT_TAIL(&hbus->dr_list, dr, link); + mtx_unlock(&hbus->device_list_lock); + + dr_wrk = malloc(sizeof(*dr_wrk), M_DEVBUF, M_WAITOK | M_ZERO); + dr_wrk->bus = hbus; + TASK_INIT(&dr_wrk->task, 0, pci_devices_present_work, dr_wrk); + taskqueue_enqueue(hbus->sc->taskq, &dr_wrk->task); +} + +static void +hv_pci_devices_present2(struct hv_pcibus *hbus, + struct pci_bus_relations2 *relations) +{ + struct hv_dr_state *dr; + struct hv_dr_work *dr_wrk; + unsigned long dr_size; + + if (hbus->detaching && relations->device_count > 0) + return; + + dr_size = offsetof(struct hv_dr_state, func) + + (sizeof(struct pci_func_desc2) * relations->device_count); + dr = malloc(dr_size, M_DEVBUF, M_WAITOK | M_ZERO); + + dr->device_count = relations->device_count; + if (dr->device_count != 0) + memcpy(dr->func, relations->func, + sizeof(struct pci_func_desc2) * dr->device_count); mtx_lock(&hbus->device_list_lock); TAILQ_INSERT_TAIL(&hbus->dr_list, dr, link); @@ -1024,6 +1065,7 @@ vmbus_pcib_on_channel_callback(struct vmbus_channel *chan, void *arg) struct pci_response *response; struct pci_incoming_message *new_msg; struct pci_bus_relations *bus_rel; + struct pci_bus_relations2 *bus_rel2; struct pci_dev_incoming *dev_msg; struct hv_pci_dev *hpdev; @@ -1044,7 +1086,8 @@ vmbus_pcib_on_channel_callback(struct vmbus_channel *chan, void *arg) } /* alloc new buffer */ - buffer = malloc(bytes_rxed, M_DEVBUF, M_WAITOK | M_ZERO); + buffer = + malloc(bytes_rxed, M_DEVBUF, M_WAITOK | M_ZERO); bufferlen = bytes_rxed; continue; @@ -1085,6 +1128,20 @@ vmbus_pcib_on_channel_callback(struct vmbus_channel *chan, void *arg) hv_pci_devices_present(hbus, bus_rel); break; + case PCI_BUS_RELATIONS2: + bus_rel2 = (struct pci_bus_relations2 *)buffer; + + if (bus_rel2->device_count == 0) + break; + + if (bytes_rxed < + offsetof(struct pci_bus_relations2, func) + + (sizeof(struct pci_func_desc2) * + (bus_rel2->device_count))) + break; + + hv_pci_devices_present2(hbus, bus_rel2); + case PCI_EJECT: dev_msg = (struct pci_dev_incoming *)buffer; hpdev = get_pcichild_wslot(hbus, @@ -1112,7 +1169,9 @@ vmbus_pcib_on_channel_callback(struct vmbus_channel *chan, void *arg) } static int -hv_pci_protocol_negotiation(struct hv_pcibus *hbus) +hv_pci_protocol_negotiation(struct hv_pcibus *hbus, + enum pci_protocol_version_t version[], + int num_version) { struct pci_version_request *version_req; struct hv_pci_compl comp_pkt; @@ -1121,6 +1180,7 @@ hv_pci_protocol_negotiation(struct hv_pcibus *hbus) uint8_t buffer[sizeof(struct pci_version_request)]; } ctxt; int ret; + int i; init_completion(&comp_pkt.host_event); @@ -1128,30 +1188,44 @@ hv_pci_protocol_negotiation(struct hv_pcibus *hbus) ctxt.pkt.compl_ctxt = &comp_pkt; version_req = (struct pci_version_request *)&ctxt.pkt.message; version_req->message_type.type = PCI_QUERY_PROTOCOL_VERSION; - version_req->protocol_version = PCI_PROTOCOL_VERSION_CURRENT; - version_req->is_last_attempt = 1; - ret = vmbus_chan_send(hbus->sc->chan, VMBUS_CHANPKT_TYPE_INBAND, - VMBUS_CHANPKT_FLAG_RC, version_req, sizeof(*version_req), - (uint64_t)(uintptr_t)&ctxt.pkt); - if (!ret) - ret = wait_for_response(hbus, &comp_pkt.host_event); + for(i=0; i< num_version; i++) { + version_req->protocol_version = version[i]; + ret = vmbus_chan_send(hbus->sc->chan, + VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC, + version_req, sizeof(*version_req), + (uint64_t)(uintptr_t)&ctxt.pkt); + if (!ret) + ret = wait_for_response(hbus, &comp_pkt.host_event); - if (ret) { - device_printf(hbus->pcib, - "vmbus_pcib failed to request version: %d\n", - ret); - goto out; - } + if (ret) { + device_printf(hbus->pcib, + "vmbus_pcib failed to request version: %d\n", + ret); + goto out; + } - if (comp_pkt.completion_status < 0) { - device_printf(hbus->pcib, - "vmbus_pcib version negotiation failed: %x\n", - comp_pkt.completion_status); - ret = EPROTO; - } else { - ret = 0; + if (comp_pkt.completion_status >= 0) { + hbus->protocol_version = version[i]; + device_printf(hbus->pcib, + "PCI VMBus using version 0x%x\n", + hbus->protocol_version); + ret = 0; + goto out; + } + + if (comp_pkt.completion_status != STATUS_REVISION_MISMATCH) { + device_printf(hbus->pcib, + "vmbus_pcib version negotiation failed: %x\n", + comp_pkt.completion_status); + ret = EPROTO; + goto out; + } + reinit_completion(&comp_pkt.host_event); } + + device_printf(hbus->pcib, + "PCI pass-trhpugh VSP failed to find supported version\n"); out: free_completion(&comp_pkt.host_event); return (ret); @@ -1226,13 +1300,17 @@ static int hv_send_resources_allocated(struct hv_pcibus *hbus) { struct pci_resources_assigned *res_assigned; + struct pci_resources_assigned2 *res_assigned2; struct hv_pci_compl comp_pkt; struct hv_pci_dev *hpdev; struct pci_packet *pkt; uint32_t wslot; int ret = 0; + size_t size_res; - pkt = malloc(sizeof(*pkt) + sizeof(*res_assigned), + size_res = (hbus->protocol_version < PCI_PROTOCOL_VERSION_1_4) + ? sizeof(*res_assigned) : sizeof(*res_assigned2); + pkt = malloc(sizeof(*pkt) + size_res, M_DEVBUF, M_WAITOK | M_ZERO); for (wslot = 0; wslot < 256; wslot++) { @@ -1242,17 +1320,27 @@ hv_send_resources_allocated(struct hv_pcibus *hbus) init_completion(&comp_pkt.host_event); - memset(pkt, 0, sizeof(*pkt) + sizeof(*res_assigned)); + memset(pkt, 0, sizeof(*pkt) + size_res); pkt->completion_func = hv_pci_generic_compl; pkt->compl_ctxt = &comp_pkt; - res_assigned = (struct pci_resources_assigned *)&pkt->message; - res_assigned->message_type.type = PCI_RESOURCES_ASSIGNED; - res_assigned->wslot.val = hpdev->desc.wslot.val; + if (hbus->protocol_version < PCI_PROTOCOL_VERSION_1_4) { + res_assigned = + (struct pci_resources_assigned *)&pkt->message; + res_assigned->message_type.type = + PCI_RESOURCES_ASSIGNED; + res_assigned->wslot.val = hpdev->desc.wslot.val; + } else { + res_assigned2 = + (struct pci_resources_assigned2 *)&pkt->message; + res_assigned2->message_type.type = + PCI_RESOURCES_ASSIGNED2; + res_assigned2->wslot.val = hpdev->desc.wslot.val; + } ret = vmbus_chan_send(hbus->sc->chan, VMBUS_CHANPKT_TYPE_INBAND, VMBUS_CHANPKT_FLAG_RC, - &pkt->message, sizeof(*res_assigned), + &pkt->message, size_res, (uint64_t)(uintptr_t)pkt); if (!ret) ret = wait_for_response(hbus, &comp_pkt.host_event); @@ -1582,7 +1670,8 @@ vmbus_pcib_attach(device_t dev) if (ret) goto free_res; - ret = hv_pci_protocol_negotiation(hbus); + ret = hv_pci_protocol_negotiation(hbus, pci_protocol_versions, + ARRAY_SIZE(pci_protocol_versions)); if (ret) goto vmbus_close; @@ -1744,6 +1833,9 @@ vmbus_pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, if (res == NULL && start + count - 1 == end) res = bus_generic_alloc_resource(dev, child, type, rid, start, end, count, flags); + if (res) { + device_printf(dev,"vmbus_pcib_alloc_resource is successful\n"); + } return (res); } @@ -1820,31 +1912,62 @@ static int vmbus_pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs) { +#if defined(__amd64__) || defined(__i386__) return (PCIB_ALLOC_MSI(device_get_parent(pcib), dev, count, maxcount, irqs)); +#endif +#if defined(__aarch64__) + return (intr_alloc_msi(pcib, dev, ACPI_MSI_XREF, count, maxcount, + irqs)); +#endif } static int vmbus_pcib_release_msi(device_t pcib, device_t dev, int count, int *irqs) { +#if defined(__amd64__) || defined(__i386__) return (PCIB_RELEASE_MSI(device_get_parent(pcib), dev, count, irqs)); +#endif +#if defined(__aarch64__) + return(intr_release_msi(pcib, dev, ACPI_MSI_XREF, count, irqs)); +#endif } static int vmbus_pcib_alloc_msix(device_t pcib, device_t dev, int *irq) { +#if defined(__aarch64__) + int ret; +#if defined(INTRNG) + ret = intr_alloc_msix(pcib, dev, ACPI_MSI_XREF, irq); + return ret; +#else + return (ENXIO); +#endif +#else return (PCIB_ALLOC_MSIX(device_get_parent(pcib), dev, irq)); +#endif /* __aarch64__ */ } static int vmbus_pcib_release_msix(device_t pcib, device_t dev, int irq) { +#if defined(__aarch64__) + return (intr_release_msix(pcib, dev, ACPI_MSI_XREF, irq)); +#else return (PCIB_RELEASE_MSIX(device_get_parent(pcib), dev, irq)); +#endif /* __aarch64__ */ } -#define MSI_INTEL_ADDR_DEST 0x000ff000 -#define MSI_INTEL_DATA_INTVEC IOART_INTVEC /* Interrupt vector. */ -#define MSI_INTEL_DATA_DELFIXED IOART_DELFIXED +#if defined(__aarch64__) +#define MSI_INTEL_ADDR_DEST 0x00000000 +#define MSI_INTEL_DATA_DELFIXED 0x0 +#endif +#if defined(__amd64__) || defined(__i386__) +#define MSI_INTEL_ADDR_DEST 0x000ff000 +#define MSI_INTEL_DATA_INTVEC IOART_INTVEC /* Interrupt vector. */ +#define MSI_INTEL_DATA_DELFIXED IOART_DELFIXED +#endif static int vmbus_pcib_map_msi(device_t pcib, device_t child, int irq, @@ -1860,22 +1983,28 @@ vmbus_pcib_map_msi(device_t pcib, device_t child, int irq, unsigned int vector; struct vmbus_pcib_softc *sc = device_get_softc(pcib); - struct pci_create_interrupt *int_pkt; struct compose_comp_ctxt comp; struct { struct pci_packet pkt; - uint8_t buffer[sizeof(struct pci_create_interrupt)]; + union { + struct pci_create_interrupt v1; + struct pci_create_interrupt3 v3; + }int_pkts; } ctxt; - int ret; + uint32_t size; devfn = PCI_DEVFN(pci_get_slot(child), pci_get_function(child)); hpdev = get_pcichild_wslot(sc->hbus, devfn_to_wslot(devfn)); if (!hpdev) return (ENOENT); - - ret = PCIB_MAP_MSI(device_get_parent(pcib), child, irq, +#if defined(__aarch64__) + ret = intr_map_msi(pcib, child, ACPI_MSI_XREF, irq, &v_addr, &v_data); +#else + ret = PCIB_MAP_MSI(device_get_parent(pcib), child, irq, + &v_addr, &v_data); +#endif if (ret) return (ret); @@ -1887,26 +2016,50 @@ vmbus_pcib_map_msi(device_t pcib, device_t child, int irq, } } +#if defined(__aarch64__) + cpu = 0; + vcpu_id = VMBUS_GET_VCPU_ID(device_get_parent(pcib), pcib, cpu); + vector = v_data; +#else cpu = (v_addr & MSI_INTEL_ADDR_DEST) >> 12; vcpu_id = VMBUS_GET_VCPU_ID(device_get_parent(pcib), pcib, cpu); vector = v_data & MSI_INTEL_DATA_INTVEC; +#endif init_completion(&comp.comp_pkt.host_event); memset(&ctxt, 0, sizeof(ctxt)); ctxt.pkt.completion_func = hv_pci_compose_compl; ctxt.pkt.compl_ctxt = ∁ - - int_pkt = (struct pci_create_interrupt *)&ctxt.pkt.message; - int_pkt->message_type.type = PCI_CREATE_INTERRUPT_MESSAGE; - int_pkt->wslot.val = hpdev->desc.wslot.val; - int_pkt->int_desc.vector = vector; - int_pkt->int_desc.vector_count = 1; - int_pkt->int_desc.delivery_mode = MSI_INTEL_DATA_DELFIXED; - int_pkt->int_desc.cpu_mask = 1ULL << vcpu_id; - + switch (hpdev->hbus->protocol_version) { + case PCI_PROTOCOL_VERSION_1_1: + ctxt.int_pkts.v1.message_type.type = + PCI_CREATE_INTERRUPT_MESSAGE; + ctxt.int_pkts.v1.wslot.val = hpdev->desc.wslot.val; + ctxt.int_pkts.v1.int_desc.vector = vector; + ctxt.int_pkts.v1.int_desc.vector_count = 1; + ctxt.int_pkts.v1.int_desc.delivery_mode = + MSI_INTEL_DATA_DELFIXED; + ctxt.int_pkts.v1.int_desc.cpu_mask = 1ULL << vcpu_id; + size = sizeof(ctxt.int_pkts.v1); + break; + + case PCI_PROTOCOL_VERSION_1_4: + ctxt.int_pkts.v3.message_type.type = + PCI_CREATE_INTERRUPT_MESSAGE3; + ctxt.int_pkts.v3.wslot.val = hpdev->desc.wslot.val; + ctxt.int_pkts.v3.int_desc.vector = vector; + ctxt.int_pkts.v3.int_desc.vector_count = 1; + ctxt.int_pkts.v3.int_desc.reserved = 0; + ctxt.int_pkts.v3.int_desc.delivery_mode = + MSI_INTEL_DATA_DELFIXED; + ctxt.int_pkts.v3.int_desc.processor_count = 1; + ctxt.int_pkts.v3.int_desc.processor_array[0] = vcpu_id; + size = sizeof(ctxt.int_pkts.v3); + break; + } ret = vmbus_chan_send(sc->chan, VMBUS_CHANPKT_TYPE_INBAND, - VMBUS_CHANPKT_FLAG_RC, int_pkt, sizeof(*int_pkt), + VMBUS_CHANPKT_FLAG_RC, &ctxt.int_pkts, size, (uint64_t)(uintptr_t)&ctxt.pkt); if (ret) { free_completion(&comp.comp_pkt.host_event); @@ -1916,8 +2069,12 @@ vmbus_pcib_map_msi(device_t pcib, device_t child, int irq, wait_for_completion(&comp.comp_pkt.host_event); free_completion(&comp.comp_pkt.host_event); - if (comp.comp_pkt.completion_status < 0) + if (comp.comp_pkt.completion_status < 0) { + device_printf(pcib, + "vmbus_pcib_map_msi completion_status %d\n", + comp.comp_pkt.completion_status); return (EPROTO); + } *addr = comp.int_desc.address; *data = comp.int_desc.data; From nobody Wed Feb 1 17:17:56 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6TBz3v1fz3bGNW; Wed, 1 Feb 2023 17:18:03 +0000 (UTC) (envelope-from weh@microsoft.com) Received: from APC01-PSA-obe.outbound.protection.outlook.com (mail-psaapc01on2129.outbound.protection.outlook.com [40.107.255.129]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P6TBy6SkSz3MhL; Wed, 1 Feb 2023 17:18:02 +0000 (UTC) (envelope-from weh@microsoft.com) Authentication-Results: mx1.freebsd.org; none ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W5NriNcZE45+0Z7h86karspbQoii4LQFLD28E3ydhWcPAGSoTkoLpqDwp+p7yLK7/TH60nOBqr8Xg+DC2Gn1vzCNakVDKE74accYvZ7rbEP+Qmmw7WYXc1igVv60i+PtIhcYkvkYhjIa13XTdYNWw74A6aQV3zAQS/Il3z5umu1Ljvegdmb6SEUFG955klIDWQwuhHmZtg6YxTPuiWiXr+9QKsFAHahTp2I2P8vJ5HEpwyn0038I2Oi5rvudzTZDawpLHu/gf+S8Zq+AoHM7EoTFqsCfu4O1oPrrm5m91FTDhVmEAz+4B77LAMt+A/1bHDw8NavGsEL8PfvW6Nnczg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TSylnbtwpD7KlKsy96DdeKXxwMIZZGTTDJHseIZAdhI=; b=AeuD+JHTrnZqKLYCOG60g/m+cOOBmYz4R45m5IWIGay4+95Mbxpu6BSafHCv78U+0CW1ahtTpoZXD9DXMisvzPYHUZNAT8IdTk4T/3Ak9Pwtx+DJxalC1y1TDG10qncdy0S7gJEEKWmTR4mHq4yb3rAffj9RdXdgQv8zprrKOdcR4NIDJPt3Pk0Wt7NB1M7iabn7v8ekh7HVykm2eOP1pTsRhJZq17wL95ERkEmUuueo1nnxnZtFTNYSWsF893XSfjw1Ap7LR4ZKwDjzumSytFzQc/xaA9o+nNsS4ihuLbUULrxY7ksoPSbyOv5cY4BuhorBhkOpPuGFDFbWJ2aPoQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TSylnbtwpD7KlKsy96DdeKXxwMIZZGTTDJHseIZAdhI=; b=hyZfXsSywVgwO6LqFLTbHSD4f7qcqFGRTfdhNNEQTJc5Y9zPVxemJ2x+u9g0qovF+7rJdcyDs33cfjoNr3XTznSTePAEWCh0zwU8q11iFAryT4CPrIGLbxS5AQeVFLV9d1VniaJvSxb9PNCawuVUi5oXvOS0HzJ63o3ngZbTlwg= Received: from SI2P153MB0441.APCP153.PROD.OUTLOOK.COM (2603:1096:4:fc::7) by SI2P153MB0745.APCP153.PROD.OUTLOOK.COM (2603:1096:4:1fd::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.5; Wed, 1 Feb 2023 17:17:57 +0000 Received: from SI2P153MB0441.APCP153.PROD.OUTLOOK.COM ([fe80::de4c:b059:b7d1:4edc]) by SI2P153MB0441.APCP153.PROD.OUTLOOK.COM ([fe80::de4c:b059:b7d1:4edc%3]) with mapi id 15.20.6086.006; Wed, 1 Feb 2023 17:17:56 +0000 From: Wei Hu To: Jessica Clarke , Wei Hu CC: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: RE: git: 6e5b082cab8d - main - arm64: Hyper-V: vPCI: Adding Hyper-V PCI protocol 1.4 Thread-Topic: git: 6e5b082cab8d - main - arm64: Hyper-V: vPCI: Adding Hyper-V PCI protocol 1.4 Thread-Index: AQHZNlagTN+oEbMEIUWWzzx0RNGcIK66SneAgAAK+dA= Date: Wed, 1 Feb 2023 17:17:56 +0000 Message-ID: References: <202302011601.311G1tQY026686@gitrepo.freebsd.org> <928C844E-EBB1-4AFF-968C-46D387E954BA@freebsd.org> In-Reply-To: <928C844E-EBB1-4AFF-968C-46D387E954BA@freebsd.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=f97c38be-6c7c-40ef-97aa-4aa5b6b68095;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2023-02-01T17:17:27Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SI2P153MB0441:EE_|SI2P153MB0745:EE_ x-ms-office365-filtering-correlation-id: d2aee8f8-de43-4751-e506-08db047842e1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4YPLuXjmR6I+xFOE8dCVISO6ucyEeFW0bzsppQbm0HYSyeKUSsuTC4WMYiBRK41ItKQge3TVQHyXtOCIe4B+ddkuFSOdPsDGNCNe76aZaMJYWHzxPToaABWVKEG+3FP0NM13IuN7uCW1U2WpHEtn95S9tqf9j4j36jSy7TeTn7skb+5QrIGex9T3yIk++mR9W2j3sCJ3+Bxq2Xb+yz9kf+pG6dSScpl7aVdlA8zEWdiLImPWKtTJVcs4iKVotjcIJXzI/Hxa5blqXEtslEqmy+hriQVeN0E/FOEJfngN6hY0M7RZ4C9tj/2oAmK0hnB+mJk35mvEaZNqG1Fiv5Wdz7k9ChRe34shD7nUch7qFqQss+24MN0XIiBQ9eNGTpLwzp8uZqNdLhoBH24XSg75LiRFm+Q6IO8FSUe4zZzjJD+0LRPVaEEtnKclISexkFMqEYZP9WcLr+cw1lRXJglx3tSJmqW2rTHanEY07i4kEavEjW1Gkkz+KQ6Ro+t1aZBovpHzU/+tdVVYMmOpgdR7DX0JYbzlX5TQIp8kgIacbJNz8Foq6ckgulO+zgLBJU+1KqqqNJdWl0tEQc/GDIZqL1GQMTD47cZlqUF9+Y8ZYHasqgGz8s8t+uy4M7BHLQeGBoQLdQ38kM4VL52COc9F0NCod8HGXJdiUlUaDsKTu3W/fRO6/uLKqPUKKGTt3BCAcUfi0ohtyZmkMTPZmr4GH542BETF4oxgidWPm779CR9WAdpmLafY+kZyHWB4mtNY x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SI2P153MB0441.APCP153.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(376002)(366004)(396003)(39860400002)(346002)(451199018)(186003)(8936002)(41300700001)(6506007)(9686003)(53546011)(83380400001)(38100700002)(122000001)(76116006)(450100002)(66946007)(64756008)(66556008)(86362001)(33656002)(4326008)(55016003)(5660300002)(52536014)(7696005)(66446008)(8676002)(71200400001)(966005)(478600001)(54906003)(110136005)(82960400001)(66476007)(82950400001)(38070700005)(316002)(8990500004)(2906002)(10290500003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?f61NB4wMXUFdwKHHs6IbRY1O6PsFlUg7+5OKMWK6HTEyuamXqRZ14GgNikWm?= =?us-ascii?Q?Y5DtgAEgvh6WU6YWvgDfkhnTHgaSCiYC6bts46g5vJZ7DF26SIor1+9FoiBb?= =?us-ascii?Q?Hgjm/Z+EgQu39s4m2/0VyGqMlUuuy3IsZe52Ma8T2wFe6U53SGPyVfXo5J4n?= =?us-ascii?Q?aVXFXYxxx5ZVrzj7Nvl8g1ou9PHoyBUyxm5BrvEffD5v8RxFk3ozQMXqQXQ7?= =?us-ascii?Q?ZYXNhBC3scDpfv+DqXvy/jYfvYLJRZWOjLrxLNqD8Jd3HbjmITVqWeQRdg5V?= =?us-ascii?Q?IGkblYJ4YkwV2FTTCy/9YiJKpUA/XrebP0mUdh0Ngflr3CpoiGsX+2kL4+wT?= =?us-ascii?Q?9nsTnpLZoGTt79NLyWVipDWKM6Re5bZhYVKnvpS7ZMnPFDW1M3k1R04dehsi?= =?us-ascii?Q?6TsIJSw6SnTRUIz6Bhjni5t+RB/d6GPRkzKPK/6xmJIEgVqK/4SHBR0xE0oc?= =?us-ascii?Q?LOY1E2z3DO3MTF2DQPqYFW+VqzJP6/peQkP5jSAyQOWVG8jdMadq+C99sYIq?= =?us-ascii?Q?bsiSZUK8cI48WLaDym0bgdTMl7IvxerHjuM+r0ozUw3uKQeFWWU/MUwYSjQX?= =?us-ascii?Q?hTmY4lQ8WUfnFfY98ajmaSBoa2Xs1c9bvJQfRFU2w2KvjfwsEkK1yXT6uRQj?= =?us-ascii?Q?E/VZJuUo9hP1fS98C+UP+/cDh38ULb0Y4UZxibj8g82nCb+cCjY/IN9FDqKQ?= =?us-ascii?Q?odWfA1WPxzPZqDuIm8yf1VEb6mtd/+yKujXJovijMY33RsCg+M/9sya7Ug+D?= =?us-ascii?Q?xbWzZs1paujW3vNal4w4JE4aPcmIscNomNQAp/6LpTwSx9zIzw/+OHuiI/Dm?= =?us-ascii?Q?k6f1La3STRz2VCQdp5D+9pumKJnKkrLaTXXWS5V5A6bHGBmUaNALEkuScwZT?= =?us-ascii?Q?ZxZlP7dWfFhe7oP2WXBRX8gn/0uH6W8jmMMT60mYtDzSnTbDXtTqWRKRjdfb?= =?us-ascii?Q?5R9D0qcV98Gg98Rjzm21+J4UUiFSybT2xTteTvYqrQY0pofi4bCTpaxoszIi?= =?us-ascii?Q?2BtCtVi+Q4/a6LztWw4wTvsyq6yJO4QIAZEN8LkVeZIUjlmV9h3No+/nfE7i?= =?us-ascii?Q?UBJjag8dymYZ3w8ToqukfPH800iGRq0X8NXwHX80qI2netEGFQGbdr9kRusn?= =?us-ascii?Q?mQGOrniBkCm3dyq/fyMfSWVHNhRAnXouKnRzOElzh4qNdmM9SUyf02rEPQta?= =?us-ascii?Q?5PuyJi09WHAnx0UX4w0v9/rbT9wKc7Mb6jTUKS3Sn0lnfU8uJeECsmgAl3Uo?= =?us-ascii?Q?MaxRZ+WI0DHFlE8pbUfxQb7533ScokDYgEfzMCaGatXdxfztvy6m3F+s0TG2?= =?us-ascii?Q?fKfS8XjDW9Y2tetkiSAknDlGBP4dlMVcl7C6QoK1Mgq6nHCh1jKsEi9+GUhX?= =?us-ascii?Q?KsPpOFwTLX6Fy/7qRbUxxGHjYAO8aWVE3r7Qa8lnkzjB5wAyLM8rBbEhq3T3?= =?us-ascii?Q?4j+Q4asPMwSLj/jPmVuoucOEYa7Caa3dvg5lq1ZnFzOF05NUThcuOrJJq58K?= =?us-ascii?Q?f5NITJotCcjx8NMPFB6s+TZtxzL77iX88QjWd+3ByXwQiybm0MLaKSORMcue?= =?us-ascii?Q?cCHUB6/lss2LEhc5zoYg2yU8q15Q0TmdIGSvSgzzLiJVQEJRbll8lpxHIkPc?= =?us-ascii?Q?qw=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SI2P153MB0441.APCP153.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: d2aee8f8-de43-4751-e506-08db047842e1 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2023 17:17:56.7120 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bPOuHuBcO59sTHDEY/0AYb2xUKmLWfNwCl+rN0hNFrzmgRn2a23vKFmUHEOff4Zr6ZCTWvpr1w9/mecjSewibA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2P153MB0745 X-Rspamd-Queue-Id: 4P6TBy6SkSz3MhL X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N Thanks. Will fix them in next commit. Wei > -----Original Message----- > From: Jessica Clarke > Sent: Thursday, February 2, 2023 12:38 AM > To: Wei Hu > Cc: src-committers@freebsd.org; dev-commits-src-all@freebsd.org; dev- > commits-src-main@freebsd.org > Subject: Re: git: 6e5b082cab8d - main - arm64: Hyper-V: vPCI: Adding Hype= r- > V PCI protocol 1.4 >=20 > On 1 Feb 2023, at 16:01, Wei Hu wrote: > > > > The branch main has been updated by whu: > > > > URL: > > > https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fcgit > > .freebsd.org%2Fsrc%2Fcommit%2F%3Fid%3D6e5b082cab8d9dd0eb0bce65c > f8cf268 > > > f11c7a25&data=3D05%7C01%7Cweh%40microsoft.com%7C5e862bbad0c64aacf > dda08db > > > 0472b73a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6381086630 > 000855 > > > 14%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM > zIiLCJBTiI > > > 6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3DnZ7DxHuR7YTM% > 2BDn5ScYzqI > > rgAg0TCe%2BSlVTDISCpyPw%3D&reserved=3D0 > > > > commit 6e5b082cab8d9dd0eb0bce65cf8cf268f11c7a25 > > Author: Wei Hu > > AuthorDate: 2023-02-01 15:55:03 +0000 > > Commit: Wei Hu > > CommitDate: 2023-02-01 16:00:10 +0000 > > > > arm64: Hyper-V: vPCI: Adding Hyper-V PCI protocol 1.4 > > > > This is enabling the PCI protocol 1.4 and corresponding structures > > in order to support arm64 Hyper-V. > > > > This is the 2nd of the three patches to enable Hyper-V vPCI support > > in arm64. > > > > Reviewed by: whu > > Tested by: Souradeep Chakrabarti > > Obtained from: Souradeep Chakrabarti > > Sponsored by: Microsoft > > Differential Revision: > > > https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Frevi > > > ews.freebsd.org%2FD37780&data=3D05%7C01%7Cweh%40microsoft.com%7C5 > e862bba > > > d0c64aacfdda08db0472b73a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7 > C0%7C > > > 638108663000085514%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwM > DAiLCJQIjo > > > iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3DX > FPmBJGt > > joHQkFE%2Bh0OxZ8GKruZwcR%2FSgWeREsFnxoc%3D&reserved=3D0 > > --- > > sys/dev/hyperv/pcib/vmbus_pcib.c | 83 > > ++++++++++++++++++++++++++++++++++++++-- > > 1 file changed, 80 insertions(+), 3 deletions(-) > > > > diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c > > b/sys/dev/hyperv/pcib/vmbus_pcib.c > > index 98e1320e4379..ca495dab9516 100644 > > --- a/sys/dev/hyperv/pcib/vmbus_pcib.c > > +++ b/sys/dev/hyperv/pcib/vmbus_pcib.c > > @@ -28,6 +28,7 @@ > > __FBSDID("$FreeBSD$"); > > > > #ifdef NEW_PCIB > > +#include "opt_acpi.h" > > > > #include > > #include > > @@ -50,6 +51,9 @@ __FBSDID("$FreeBSD$"); #include > > #include > > > > +#if defined(__aarch64__) > > +#include > > +#endif > > #include > > #include > > #include > > @@ -62,10 +66,16 @@ __FBSDID("$FreeBSD$"); #include > > #include #include > > "pcib_if.h" > > - > > +#if defined(__i386__) || defined(__amd64__) > > #include > > #include > > - > > +#endif > > +#if defined(__aarch64__) > > +#include > > +#include > > +#include > > +#include > > +#endif > > #include #include > > > > #include @@ -142,7 +152,7 @@ > > wait_for_completion_timeout(struct completion *c, int timeout) > > return (ret); > > } > > > > -#define PCI_MAKE_VERSION(major, minor) ((uint32_t)(((major) << 16) | > > (major))) > > +#define PCI_MAKE_VERSION(major, minor) ((uint32_t)(((major) << 16) | > > +(minor))) > > > > enum { > > PCI_PROTOCOL_VERSION_1_1 =3D PCI_MAKE_VERSION(1, 1), @@ - > 182,6 +192,12 > > @@ enum pci_message_type { > > PCI_QUERY_PROTOCOL_VERSION =3D PCI_MESSAGE_BASE + 0x13, > > PCI_CREATE_INTERRUPT_MESSAGE =3D PCI_MESSAGE_BASE + 0x14, > > PCI_DELETE_INTERRUPT_MESSAGE =3D PCI_MESSAGE_BASE + 0x15, > > + PCI_RESOURCES_ASSIGNED2 =3D PCI_MESSAGE_BASE + 0x16, > > + PCI_CREATE_INTERRUPT_MESSAGE2 =3D PCI_MESSAGE_BASE + 0x17, > > + PCI_DELETE_INTERRUPT_MESSAGE2 =3D PCI_MESSAGE_BASE + 0x18, > /* unused */ > > + PCI_BUS_RELATIONS2 =3D PCI_MESSAGE_BASE + 0x19, > > + PCI_RESOURCES_ASSIGNED3 =3D PCI_MESSAGE_BASE + 0x1A, > > + PCI_CREATE_INTERRUPT_MESSAGE3 =3D PCI_MESSAGE_BASE + 0x1B, > > PCI_MESSAGE_MAXIMUM > > }; > > > > @@ -223,6 +239,22 @@ struct pci_func_desc { > > uint32_t ser; /* serial number */ > > } __packed; > > > > +struct pci_func_desc2 { > > + uint16_t v_id; /* vendor ID */ > > + uint16_t d_id; /* device ID */ > > + uint8_t rev; > > + uint8_t prog_intf; > > + uint8_t subclass; > > + uint8_t base_class; > > + uint32_t subsystem_id; > > + union win_slot_encoding wslot; > > + uint32_t ser; /* serial number */ > > + uint32_t flags; > > + uint16_t virtual_numa_node; > > + uint16_t reserved; > > +} __packed; > > + > > + > > struct hv_msi_desc { > > uint8_t vector; > > uint8_t delivery_mode; > > @@ -231,6 +263,15 @@ struct hv_msi_desc { > > uint64_t cpu_mask; > > } __packed; > > > > +struct hv_msi_desc3 { > > + uint32_t vector; > > + uint8_t delivery_mode; > > + uint8_t reserved; > > + uint16_t vector_count; > > + uint16_t processor_count; > > + uint16_t processor_array[32]; > > +} __packed; > > + > > struct tran_int_desc { > > uint16_t reserved; > > uint16_t vector_count; > > @@ -288,6 +329,12 @@ struct pci_bus_relations { > > struct pci_func_desc func[0]; > > } __packed; > > > > +struct pci_bus_relations2 { > > + struct pci_incoming_message incoming; > > + uint32_t device_count; > > + struct pci_func_desc2 func[0]; > > +} __packed; > > + > > #define MAX_NUM_BARS (PCIR_MAX_BAR_0 + 1) > > struct pci_q_res_req_response { > > struct vmbus_chanpkt_hdr hdr; > > @@ -303,12 +350,26 @@ struct pci_resources_assigned { > > uint32_t reserved[4]; > > } __packed; > > > > +struct pci_resources_assigned2 { > > + struct pci_message message_type; > > + union win_slot_encoding wslot; > > + uint8_t memory_range[0x14][6]; /* not used here */ > > + uint32_t msi_descriptor_count; > > + uint8_t reserved[70]; > > +} __packed; > > + > > struct pci_create_interrupt { > > struct pci_message message_type; > > union win_slot_encoding wslot; > > struct hv_msi_desc int_desc; > > } __packed; > > > > +struct pci_create_interrupt3 { > > + struct pci_message message_type; > > + union win_slot_encoding wslot; > > + struct hv_msi_desc3 int_desc; > > +} __packed; > > + > > struct pci_create_int_response { > > struct pci_response response; > > uint32_t reserved; > > @@ -356,12 +417,28 @@ struct hv_pcibus { > > > > struct mtx config_lock; /* Avoid two threads writing index page */ > > struct mtx device_list_lock; /* Protect lists below */ > > + uint32_t protocol_version; > > TAILQ_HEAD(, hv_pci_dev) children; > > TAILQ_HEAD(, hv_dr_state) dr_list; > > > > volatile int detaching; > > }; > > > > +struct hv_pcidev_desc { > > + uint16_t v_id; /* vendor ID */ > > + uint16_t d_id; /* device ID */ > > + uint8_t rev; > > + uint8_t prog_intf; > > + uint8_t subclass; > > + uint8_t base_class; > > + uint32_t subsystem_id; > > + union win_slot_encoding wslot; > > + uint32_t ser; /* serial number */ > > + uint32_t flags; > > + uint16_t virtual_numa_node; > > +} __packed; >=20 > The indentation for these structs is all over the place. >=20 > > + > > + >=20 > Extra blank line. >=20 > Jess >=20 > > struct hv_pci_dev { > > TAILQ_ENTRY(hv_pci_dev) link; > > From nobody Wed Feb 1 17:23:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6TKg6HjWz3bH7f; Wed, 1 Feb 2023 17:23: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 4P6TKg5gkWz3NQm; Wed, 1 Feb 2023 17:23:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675272231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EUGafuCkKwkDl63Cg7h3e8Y1u2fJanVM3p9l1jz76z0=; b=emaMFbu6W7HzHvIJeRjYfdbvgqaLHkBENKci7uotznfQognN2XfPaV0ybDx3Wpm8V8F+yG MGBMaIddg9E2ho9CG0Uy+9sxmuPORT4StY/OaZAv8Q90Cx5Krm3rQqi8xHqAJmIj+mMMaz SMmaMq41/N//ROOnPr+WzZwMLRUZn9ghvZYJ4l8MSM6BLntcZI2lmycrCtqAya37N/EDg1 TQL64mgbL/KNvC+cW9i0sX3J3eprwWttSxAetCMoPvbDlL+6VL/ev5iiRSbq+l9ldm8nMI MluVDuwevtTZgRw61C2T9Lotzrh8PBWHqhRhCcLAbZarB4YwI5SQsTWBSErZEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675272231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EUGafuCkKwkDl63Cg7h3e8Y1u2fJanVM3p9l1jz76z0=; b=be72qrZJbs2GnxcLBUWaFNKWsBTs0mPpsaIH3dJmiizUwQaifspyb4HQxte+x2+onZTwwJ 190Da6T7Pzs+IzDTXpDjmoXj3cqufP1ULfj3i19cbBczrcEW0f7aKX+0UCLi3OKiMMAZuz 40eCmOksPUxwbj8LKYY2MmRR132+sfrSi6wyFR8oSRERF/ZmIyzoz+YmAnivmeSnyh1rKW 8/awZSPafEz1ZU+mPdMQW2k2O831iIKBcxs/9ZC2m8cUc9ZQrj3dQaWwwutYlTni1CR+zi MaPbguUUG/kd8TOzGzJeNzcrEoc6exOQt2RKMYTvEuguC/aRQbTFMeZxSmc17g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675272231; a=rsa-sha256; cv=none; b=twMQ7Po9RqdDiObj2fsOalMYxjiqH/XO5WkacAGw3BKBbLiqXdFayotuWNEOv16rF+u/m7 O8OYL7Gf6+5lbWpej4ZBkjDRys4NADgfM8I/q+YczrgG7sD04lis5Nwz9NjOARmNoEVkt8 Gma0dlClYuvO9FUW1tZoXYRraJX6IXhFs28XZ2WNukTSyef82UvCEOqMn9RSPdkHZs7xFF UfJCwf1v6/P66FC8nlUQyZdCTUx4zAUUemAf5X1yB0NL5n7yE/TQMeswwYVVCQiguFZi25 CFOvZz9Qi+oYWCv/QIcpUnQEk2n7w68OjQhQFru9o5Z+H+ycGNUFid1LKMLWRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6TKg4l4RzN72; Wed, 1 Feb 2023 17:23:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311HNpOl044290; Wed, 1 Feb 2023 17:23:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311HNpJA044289; Wed, 1 Feb 2023 17:23:51 GMT (envelope-from git) Date: Wed, 1 Feb 2023 17:23:51 GMT Message-Id: <202302011723.311HNpJA044289@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: f051d72314f8 - main - hyperv: Build and install where supported List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f051d72314f8eb174fe69e62a997c9ed23ff84a1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f051d72314f8eb174fe69e62a997c9ed23ff84a1 commit f051d72314f8eb174fe69e62a997c9ed23ff84a1 Author: Warner Losh AuthorDate: 2023-02-01 17:21:24 +0000 Commit: Warner Losh CommitDate: 2023-02-01 17:21:57 +0000 hyperv: Build and install where supported Remove the hard-coded dependency on HYPERV being only x86. Instead, 100% rely on MK_HYPERV. It's always right (since it's marked BROKEN (so set to "no") on architectures we don't support). Sponsored by: Netflix Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D38306 --- lib/libc/x86/sys/Makefile.inc | 1 + libexec/Makefile | 5 +++++ libexec/Makefile.amd64 | 5 ----- libexec/Makefile.i386 | 5 ----- usr.sbin/Makefile | 1 + usr.sbin/Makefile.amd64 | 3 --- usr.sbin/Makefile.i386 | 3 --- 7 files changed, 7 insertions(+), 16 deletions(-) diff --git a/lib/libc/x86/sys/Makefile.inc b/lib/libc/x86/sys/Makefile.inc index 382b52dd9065..571e01441a1b 100644 --- a/lib/libc/x86/sys/Makefile.inc +++ b/lib/libc/x86/sys/Makefile.inc @@ -10,6 +10,7 @@ SRCS+= \ MAN+= \ pkru.3 +# Note: vdso support for hyperv only on amd64 .if ${MACHINE_CPUARCH} == "amd64" && ${MK_HYPERV} != "no" CFLAGS+= -DWANT_HYPERV .endif diff --git a/libexec/Makefile b/libexec/Makefile index 8d7565fe3ee5..057bad07de5b 100644 --- a/libexec/Makefile +++ b/libexec/Makefile @@ -10,6 +10,7 @@ SUBDIR= ${_atf} \ ${_dma} \ flua \ getty \ + ${_hyperv} \ ${_mail.local} \ ${_makewhatis.local} \ ${_mknetid} \ @@ -64,6 +65,10 @@ _comsat= comsat _dma= dma .endif +.if ${MK_HYPERV} != "no" +_hyperv+= hyperv +.endif + .if ${MK_NIS} != "no" _mknetid= mknetid _ypxfr= ypxfr diff --git a/libexec/Makefile.amd64 b/libexec/Makefile.amd64 deleted file mode 100644 index 1092a29a2a33..000000000000 --- a/libexec/Makefile.amd64 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -.if ${MK_HYPERV} != "no" -SUBDIR+= hyperv -.endif diff --git a/libexec/Makefile.i386 b/libexec/Makefile.i386 deleted file mode 100644 index 1092a29a2a33..000000000000 --- a/libexec/Makefile.i386 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -.if ${MK_HYPERV} != "no" -SUBDIR+= hyperv -.endif diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile index 603733db9664..e2f382303d6e 100644 --- a/usr.sbin/Makefile +++ b/usr.sbin/Makefile @@ -140,6 +140,7 @@ SUBDIR.${MK_FLOPPY}+= fdwrite SUBDIR.${MK_FREEBSD_UPDATE}+= freebsd-update SUBDIR.${MK_GSSAPI}+= gssd SUBDIR.${MK_GPIO}+= gpioctl +SUBDIR.${MK_HYPERV}+= hyperv SUBDIR.${MK_INET6}+= ip6addrctl SUBDIR.${MK_INET6}+= mld6query SUBDIR.${MK_INET6}+= ndp diff --git a/usr.sbin/Makefile.amd64 b/usr.sbin/Makefile.amd64 index 1f15259eb1ac..1191b5d6814e 100644 --- a/usr.sbin/Makefile.amd64 +++ b/usr.sbin/Makefile.amd64 @@ -23,9 +23,6 @@ SUBDIR+= boot0cfg SUBDIR+= btxld .endif SUBDIR+= cpucontrol -.if ${MK_HYPERV} != "no" -SUBDIR+= hyperv -.endif SUBDIR+= lptcontrol SUBDIR+= mptable SUBDIR+= spkrtest diff --git a/usr.sbin/Makefile.i386 b/usr.sbin/Makefile.i386 index 4705fcadb36f..2941eb514900 100644 --- a/usr.sbin/Makefile.i386 +++ b/usr.sbin/Makefile.i386 @@ -12,9 +12,6 @@ SUBDIR+= boot0cfg SUBDIR+= btxld .endif SUBDIR+= cpucontrol -.if ${MK_HYPERV} != "no" -SUBDIR+= hyperv -.endif SUBDIR+= lptcontrol SUBDIR+= mptable SUBDIR+= pnpinfo From nobody Wed Feb 1 17:35:29 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6Tb55B17z3bJbK; Wed, 1 Feb 2023 17:35: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 4P6Tb54dXFz3QhL; Wed, 1 Feb 2023 17:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675272929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=egmZZsZTdsiTdTjgAb18/QQdO9c5XVTMLEmQXd2NMSU=; b=gJu260C3BIEtSQNo4zO6ByMHSZLSaRjG+s/KqyN8tQIknWSmuI2TDhgKQGmTiZhVTCItKL kapvDTvkTyEqfqDIOmm2XZ9Q7VDRTAI1WbDsn697c/HkaN9rM4ql22Vhy2gjI/OqPeCiEp /svJXd+cgGsj/cQa8L4hK7+3KVK+4WF1SjpVflcffLx2GhBI3RMo2JJKK+16OUm6BX56vb xiYA5J5hHpk3ZOshqKVp0CSWMbo8ZMI9mwoxvxLL/FP2ouofnk/XydOuwn7w3QQlaCf+aa g4Z0LcGsk9Fo4Ri0bPDFddGRXQE0T4VS6IqqJOoz4vXf2Vz+X0A2/8u/Y5+nRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675272929; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=egmZZsZTdsiTdTjgAb18/QQdO9c5XVTMLEmQXd2NMSU=; b=GAj98znAxIHFarOwSwMyodQoI1CFTzjHNdeZFlkyvrWwR0AgsAWZQFU1kJms/GPhwNyYIu sNWNYHd/5816dPYzl6RPM3noZK5K2q1J28IOGHeMgW1Pj3pDKdwabJsyetbysQYksKUZPd V2RDBNeNf/fqSiKuUZHSWE8EbGPLBx2gkGfXQJGxs0sWQlk0xA06B04LMLZTd8dAaeOiVf lNGVmyLC7uwIg7Lt4XGOmfE9G0iMZUb7WKMB0kMu4MXjJyv6fSQw7xFFtjjPOUPg2iqnvd VDeP4LDy+Vc/OVH8PU+OwypWlaWowfRq8hgW6L1GBIFJXg6c+xVyN3Y/HfKFqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675272929; a=rsa-sha256; cv=none; b=F6ij8NHfsHE31JBaeo6OkDbIkskzNAyVeSei3YtboYXYCOtY6MDdQMLvshkDz/wBAoi3Ab kvVEEiWIXeqSqc1r5uIv2D6btti1vajonXacmQGhouSbbzFjyPZWZTBiFyr0Tb1FVEUE6f Bfo6RsPwd1286nt9hhnxI3oeHczwx/2DDibn+6d0srVEeLVZl2YWFmdTVMrXkTMwqSqJ7Y zy16MruNRvGaWP9XtPWVwqsAwuJGE9X+lMXuD/E7cfLTSeEtC5v6FFnKWtsokV8HePVnmJ nOVg+CXCpXSSGGR9pRouUTzwNwa3IvCQoboHt6S/Yps8uczLEVhrRl09+d3YPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6Tb53fplzMhN; Wed, 1 Feb 2023 17:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311HZTtL058684; Wed, 1 Feb 2023 17:35:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311HZTOh058683; Wed, 1 Feb 2023 17:35:29 GMT (envelope-from git) Date: Wed, 1 Feb 2023 17:35:29 GMT Message-Id: <202302011735.311HZTOh058683@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wei Hu Subject: git: c75ae5221677 - main - arm64: Hyper-V: vPCI: Fix typo and some indentations List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: whu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c75ae52216771fe4de6ec8688107f5d6c20db5e8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by whu: URL: https://cgit.FreeBSD.org/src/commit/?id=c75ae52216771fe4de6ec8688107f5d6c20db5e8 commit c75ae52216771fe4de6ec8688107f5d6c20db5e8 Author: Wei Hu AuthorDate: 2023-02-01 17:21:12 +0000 Commit: Wei Hu CommitDate: 2023-02-01 17:34:19 +0000 arm64: Hyper-V: vPCI: Fix typo and some indentations Fix a typo and some indentation errors in the previous commits. Reported by: jrtc27 Fixes: db247798c5640 ("arm64: Hyper-V: vPCI: SPI MSI mapping for gic v3 acpi in arm64") Fixes: 6e5b082cab8d9 ("arm64: Hyper-V: vPCI: Adding Hyper-V PCI protocol 1.4") Sponsored by: Microsoft --- sys/arm64/arm64/gic_v3_acpi.c | 2 +- sys/dev/hyperv/pcib/vmbus_pcib.c | 43 ++++++++++++++++++++-------------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/sys/arm64/arm64/gic_v3_acpi.c b/sys/arm64/arm64/gic_v3_acpi.c index e4a48ea32ca2..38f8b310e055 100644 --- a/sys/arm64/arm64/gic_v3_acpi.c +++ b/sys/arm64/arm64/gic_v3_acpi.c @@ -336,7 +336,7 @@ gic_v3_acpi_attach(device_t dev) goto error; } /* - * Registering for MSI with SPI rnage, as this is + * Registering for MSI with SPI range, as this is * required for Hyper-V GIC to work in ARM64. */ if (vm_guest == VM_GUEST_HV) { diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c b/sys/dev/hyperv/pcib/vmbus_pcib.c index 4904423b3262..6d0601fd2d3f 100644 --- a/sys/dev/hyperv/pcib/vmbus_pcib.c +++ b/sys/dev/hyperv/pcib/vmbus_pcib.c @@ -259,11 +259,11 @@ struct pci_func_desc2 { uint8_t subclass; uint8_t base_class; uint32_t subsystem_id; - union win_slot_encoding wslot; + union win_slot_encoding wslot; uint32_t ser; /* serial number */ - uint32_t flags; - uint16_t virtual_numa_node; - uint16_t reserved; + uint32_t flags; + uint16_t virtual_numa_node; + uint16_t reserved; } __packed; @@ -341,9 +341,9 @@ struct pci_bus_relations { } __packed; struct pci_bus_relations2 { - struct pci_incoming_message incoming; - uint32_t device_count; - struct pci_func_desc2 func[0]; + struct pci_incoming_message incoming; + uint32_t device_count; + struct pci_func_desc2 func[0]; } __packed; #define MAX_NUM_BARS (PCIR_MAX_BAR_0 + 1) @@ -362,11 +362,11 @@ struct pci_resources_assigned { } __packed; struct pci_resources_assigned2 { - struct pci_message message_type; - union win_slot_encoding wslot; - uint8_t memory_range[0x14][6]; /* not used here */ - uint32_t msi_descriptor_count; - uint8_t reserved[70]; + struct pci_message message_type; + union win_slot_encoding wslot; + uint8_t memory_range[0x14][6]; /* not used here */ + uint32_t msi_descriptor_count; + uint8_t reserved[70]; } __packed; struct pci_create_interrupt { @@ -436,20 +436,19 @@ struct hv_pcibus { }; struct hv_pcidev_desc { - uint16_t v_id; /* vendor ID */ - uint16_t d_id; /* device ID */ - uint8_t rev; - uint8_t prog_intf; - uint8_t subclass; - uint8_t base_class; - uint32_t subsystem_id; + uint16_t v_id; /* vendor ID */ + uint16_t d_id; /* device ID */ + uint8_t rev; + uint8_t prog_intf; + uint8_t subclass; + uint8_t base_class; + uint32_t subsystem_id; union win_slot_encoding wslot; - uint32_t ser; /* serial number */ + uint32_t ser; /* serial number */ uint32_t flags; - uint16_t virtual_numa_node; + uint16_t virtual_numa_node; } __packed; - struct hv_pci_dev { TAILQ_ENTRY(hv_pci_dev) link; From nobody Wed Feb 1 17:39:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6Th555dvz3bJwS; Wed, 1 Feb 2023 17:39: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 4P6Th54YjVz3R81; Wed, 1 Feb 2023 17:39:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675273189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PZjUcu/Rl6P2CQlUI0cFl6unJBb+jHdzn18oBY2s7kM=; b=XehhMaSjhf1UBPoTA/IxELlDKSlWYzY+l9cTTaesBYMViYpjFUuucSFvyLF5/DDguNoQHq X2dEQTFDM2o+15gei4KUPah7FBZD7K3vIwLhyEKxLXf0t0NOaZmzJcuFofC1nbZkUfUUXO tBDikBPLUTvrJDp3RDba/634ApiBotFhEZKb+6bNTohoXLpnPOSH8SMNpFDcjGCeM96R73 S+ivSzH3fRiYEAyD/LzO5ve2QPX0mkSVplKmbHKs/9FqJqaAINnXpYCFjvsDePiT7tmVaX 7DrgJruRgTfK3YOa1p2p1WiFObXwGYo4AYYgTzCmMElmgLM5Xl7Suxms1R+uSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675273189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PZjUcu/Rl6P2CQlUI0cFl6unJBb+jHdzn18oBY2s7kM=; b=WjNjwpbf0+2ewW232Cb3QTAX6XNxtI5wge/RmZNVO68reZsMiraBhNiZsrT1C7HLxziRVC xC8HC9IMbmxJ0W18gWL4ptjegZBh3dHIXiE/IVAXy15bQbD1z4nKeBBWlpScsOLAJfmcY0 ilfo4bAQDxfpq+ijdDOS8pG0sQPzHGR/YY274PxF+4yaXf4eNnVcBlGTW0sC8N6hFZsjrA qOKc0DDo5k+Rhvlf38S8+XDpvRNjOgO18bF8w1FPqXaOkqk2ew4ueWLOJZ41EEi6xU/Cam jU3Ra2ElGHmqJpiPea3ycA8GGPhscXQbReTqZVBn+3MT+lCPPfmK9QDfGHmb5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675273189; a=rsa-sha256; cv=none; b=ErHBvE67L6YRk3qECgAcrWUy43Fy4FqfO29X0s1g48IGNEPjZ0Z/fYD9XRJ/peDl9+rDTq CJDZJA4wqrPkxev3hZFF/Rh3/iWdgcmDj9vj++3IaJFtCQKiZl9UsC4Qyc1QkaBR6TwKgE XYi+wk09rfx2kcqxbrwqNB1zgn3dJ/U8bttWL7pTps2QXYrokBlPa77uJjpog6MqDdWJaY A/AsQNUh1O+iX0wSw+/PCITaln2wbPnB6kTJyGXmalZ7ksya6BiGa/9JevodeO4UWh4daz MehKilj0sS8MCOlSf81BpRV0FGwvO2yQyY3RrIoqzFJJhrZYqZsVdREa7zytaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6Th53dMRzN8j; Wed, 1 Feb 2023 17:39:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311HdnuW059314; Wed, 1 Feb 2023 17:39:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311HdnfE059313; Wed, 1 Feb 2023 17:39:49 GMT (envelope-from git) Date: Wed, 1 Feb 2023 17:39:49 GMT Message-Id: <202302011739.311HdnfE059313@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 5ebea466dc02 - main - inpcb: add myself to the copyright notice List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5ebea466dc02f28573af96033f2651fc8dc04c0f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=5ebea466dc02f28573af96033f2651fc8dc04c0f commit 5ebea466dc02f28573af96033f2651fc8dc04c0f Author: Gleb Smirnoff AuthorDate: 2023-02-01 17:35:25 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-01 17:39:25 +0000 inpcb: add myself to the copyright notice for the SMR synchronization in late 2021 and following cleanups --- sys/netinet/in_pcb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 0a99981d059b..baac2f131df4 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -5,6 +5,7 @@ * The Regents of the University of California. * Copyright (c) 2007-2009 Robert N. M. Watson * Copyright (c) 2010-2011 Juniper Networks, Inc. + * Copyright (c) 2021-2022 Gleb Smirnoff * All rights reserved. * * Portions of this software were developed by Robert N. M. Watson under From nobody Wed Feb 1 17:39:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6Th66FXVz3bJrK; Wed, 1 Feb 2023 17:39: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 4P6Th65VfXz3R8W; Wed, 1 Feb 2023 17:39:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675273190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DmZwA3TPCFWQy0RcUzPbK5rhT3lrvwCtcPEtC7xrqbY=; b=YTESidK4l3fpWOw3QWwk21RhQlm437Is2pc1Tb2IMnXgllWmSh9iDl5Es5sgXaWk1VfbZC cD7BNzL6jem/AWTfezIXFU2R+crIe1e5q4MgKBKGulD7Fn8898NvC035wl90Ar161s71gP M+kkTvvtTruOxbbRxO2g2c2yJ5UsGL/3h5hmhdDTIuKKrV6WBR6QuEo7HK4PTEPeiG39mK w21N+OwlVQYMKsK16wFoLhO32TBRdszfKrAJQ4BPtIefR0x1okQ3iDiWFY6OArsWUswjqd hXHaQIi8FkR/ulGUpEZglULltZz/WjoP/V+fMEYLxlLIMwnlIjsRiBaVtAzwWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675273190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DmZwA3TPCFWQy0RcUzPbK5rhT3lrvwCtcPEtC7xrqbY=; b=cQvA602/WymmAJzELfpUGsztfAIHoCTEtAJmEy9Fs+jt95mQSB7AQcPkctQuU2n1waEqnK C0/1eTlje0OuKaK/BoTIzTC6ok6FCz4UrC94WsmoqHQuk+MsssRtt8Ffnoo5W4p2C4/1Ml RCaumZzNWhDvdEEEggz5yxrhuSqdfSqe3hKVJFB7pO+0+1IDVINO0IW5HgPm4UEv3PZwsc WhfqolJICkjgT9AnuwfHnJA2FNitbXmQTFqKMislpxQxoMme+9kPy8UiQDJf2KdG3gAPx2 g9uXs6qKaQKYeL4qVVbz9jTHDFAU9d0kCpL54XKcubCGoCJfkUl8x3FslMGEqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675273190; a=rsa-sha256; cv=none; b=t92wU1yxB2LxDnRjtqWK4CfrnKlq2WqzMYW8lJwv+REr6euaPJMetRQ4nFjqcKMaZIU20O DbfAPX5s8O7Jgz7lSYsGcd062R1Eh8suGRdl9TbPzCHfFBb8pKL3zAIa5F8BKFwrPgEVkJ ++x6guojQvpye63kEn71NjpsqOvb0mqsmpfBDirjT33+edRtdTJ4iVB68pnJ83XAgp4i7n Y/MH+U7zAFZCqiwJM6DL5kKfHdQeMy5o+Ly0KjwkN5I8AG7QOgwPaVOX9wPw1EEAz52Gbf DN9tR1KLoOuYkXfqrggcxAFz0lWeCFyAC91EtqAAW68XjkcHN4bQJ+0m+83XLA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6Th64bBwzNPp; Wed, 1 Feb 2023 17:39:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311Hdod6059338; Wed, 1 Feb 2023 17:39:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311HdoJT059337; Wed, 1 Feb 2023 17:39:50 GMT (envelope-from git) Date: Wed, 1 Feb 2023 17:39:50 GMT Message-Id: <202302011739.311HdoJT059337@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: fd5329879947 - main - unix: add myself to the copyright notice List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fd53298799473575e36083c428982a4ba1a5353f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=fd53298799473575e36083c428982a4ba1a5353f commit fd53298799473575e36083c428982a4ba1a5353f Author: Gleb Smirnoff AuthorDate: 2023-02-01 17:37:35 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-01 17:39:28 +0000 unix: add myself to the copyright notice for the new implementation of PF_UNIX/SOCK_DGRAM --- sys/kern/uipc_usrreq.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 0c6d41ddca10..8f86bdb48c69 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -5,6 +5,7 @@ * The Regents of the University of California. All Rights Reserved. * Copyright (c) 2004-2009 Robert N. M. Watson All Rights Reserved. * Copyright (c) 2018 Matthew Macy + * Copyright (c) 2022 Gleb Smirnoff * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From nobody Wed Feb 1 18:57:23 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6WPb472tz3bV9j; Wed, 1 Feb 2023 18:57: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 4P6WPb3WsRz3n82; Wed, 1 Feb 2023 18:57:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675277843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fAWXNAMTb2fjV9xNKNGoNeyyYaFLAd3FGgwHzlX/PZo=; b=HHe9O5JpTABlUzTYd0upm+Z3yKn2iKBoUDZAWU5140rlF0WPwzWdzMHC0z5GzQl40917k0 txuXYF5J6Uxu5NehPJ2T9lARo2b9HfUzZHmgz8jhdyoGW5CBO74cJzVUrv6R/AKNPY+ydr eit7AeA9q1AGtSXbydle02yT6GGtiYrxkk4LT55TSqwzSqq9VIX/zMsF5nJvgSJCjV+TqF gZcvO+9z9kKb3I8Hn1hYVZPn1UWTFDHEoZr9+dKlImoyY7hcNWP8wwgLprDu6JqZ9fR9uc X9JXSUJlWKQ/m4vwycnydMxhLxo/Ga10cOBKskgcoTBTT5GsapaKUeb8Rlro5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675277843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fAWXNAMTb2fjV9xNKNGoNeyyYaFLAd3FGgwHzlX/PZo=; b=olEI9VZ1XLZjrJWsbcnz2iOGZIKIlFMPMzH0JujqYukm49Y9+sEyDcl0r3/9BFjQ1x/Yfm 3RHn6v2oh+bMdqUp4/++U1+2ed+Kj5ckoZStZEaGe7uqZ5HgZjUfQKDUdsPoX3nadbvHdS sG0yYnuBXpSKazrLpR1Qy4Vnw7MULpEfaQo5HbGZa1MN5ZDJI4QhiaV4KMbAOK3diDYrWj hYjNAuzhBDam9+nUuL2lD2nAZLNntS464EuK3HnyAfJsibl2mHeU+kJmm3Woqgbpq2nN93 G25pqQ+ntzCsB4yaJvKaDuy5U10FjemAQjYpFb1r4m6hXHmzWoFU0Me99wJ69w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675277843; a=rsa-sha256; cv=none; b=NtzWGKEK4RkAldJwglsx7sbJEDqe7X/0XS7UEm3N1MWKLLIZkSnh4oHC8+AZBBOgQ/ek5c bFBNaAZcWrlKzxEv2Z/5XkE2GC7z804Gm1WSOgjEQSHwo1HP+A186YJpyQtJfowOB37x8I nqGeY+oDXEVfzWqyTpR0DTMflF5ekNU4ohFrP+bMwDwCcKuTdpH0TVlVeanHBDPMvMcx6A 9y6ARgkYRldmCWwqUJ1OFm97Umfav3Rwvj/cq7DtWVPOt2vCN0vIAv8J5a9/yFnTyc35/k z5Q7oBp1MAKH2CSZD1OLMS5HSQt85xzNf2HuaHnA2unvWMBUPZrMrwxKZ4LqdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6WPb2ZfzzQ7t; Wed, 1 Feb 2023 18:57:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311IvNtC072583; Wed, 1 Feb 2023 18:57:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311IvNEX072582; Wed, 1 Feb 2023 18:57:23 GMT (envelope-from git) Date: Wed, 1 Feb 2023 18:57:23 GMT Message-Id: <202302011857.311IvNEX072582@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 575e48f1c4eb - main - linux(4): Deduplicate MI futex structures. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 575e48f1c4eb05fe8df6aaeb5f55e17c63a02639 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=575e48f1c4eb05fe8df6aaeb5f55e17c63a02639 commit 575e48f1c4eb05fe8df6aaeb5f55e17c63a02639 Author: Dmitry Chagin AuthorDate: 2023-02-01 18:57:04 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-01 18:57:04 +0000 linux(4): Deduplicate MI futex structures. MFC after: 1 week --- sys/amd64/linux/linux.h | 11 ----------- sys/amd64/linux32/linux.h | 11 ----------- sys/arm64/linux/linux.h | 11 ----------- sys/compat/linux/linux_futex.h | 11 +++++++++++ sys/i386/linux/linux.h | 11 ----------- sys/i386/linux/linux_copyout.c | 1 + 6 files changed, 12 insertions(+), 44 deletions(-) diff --git a/sys/amd64/linux/linux.h b/sys/amd64/linux/linux.h index c9e28f20ef94..b31b520cb573 100644 --- a/sys/amd64/linux/linux.h +++ b/sys/amd64/linux/linux.h @@ -277,17 +277,6 @@ struct l_ifconf { #define linux_copyout_rusage(r, u) copyout(r, u, sizeof(*r)) -/* robust futexes */ -struct linux_robust_list { - l_uintptr_t next; -}; - -struct linux_robust_list_head { - struct linux_robust_list list; - l_long futex_offset; - l_uintptr_t pending_list; -}; - /* This corresponds to 'struct user_regs_struct' in Linux. */ struct linux_pt_regset { l_ulong r15; diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index 7909c9c2081b..c77897344506 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -442,17 +442,6 @@ int linux32_copyinuio(struct l_iovec32 *iovp, l_ulong iovcnt, int linux_copyout_rusage(struct rusage *ru, void *uaddr); #endif /* _KERNEL */ -/* robust futexes */ -struct linux_robust_list { - l_uintptr_t next; -}; - -struct linux_robust_list_head { - struct linux_robust_list list; - l_long futex_offset; - l_uintptr_t pending_list; -}; - /* This corresponds to 'struct user_regs_struct32' in Linux. */ struct linux_pt_regset32 { l_uint ebx; diff --git a/sys/arm64/linux/linux.h b/sys/arm64/linux/linux.h index fe9c9b23e552..8ecadff2e220 100644 --- a/sys/arm64/linux/linux.h +++ b/sys/arm64/linux/linux.h @@ -217,17 +217,6 @@ struct l_ifreq { #define linux_copyout_rusage(r, u) copyout(r, u, sizeof(*r)) -/* robust futexes */ -struct linux_robust_list { - l_uintptr_t next; -}; - -struct linux_robust_list_head { - struct linux_robust_list list; - l_long futex_offset; - l_uintptr_t pending_list; -}; - struct linux_pt_regset { l_ulong x[31]; l_ulong sp; diff --git a/sys/compat/linux/linux_futex.h b/sys/compat/linux/linux_futex.h index 189db4e17c4f..53fe1bfd0955 100644 --- a/sys/compat/linux/linux_futex.h +++ b/sys/compat/linux/linux_futex.h @@ -79,6 +79,17 @@ #define FUTEX_TID_MASK 0x3fffffff #define FUTEX_BITSET_MATCH_ANY 0xffffffff +/* robust futexes */ +struct linux_robust_list { + l_uintptr_t next; +}; + +struct linux_robust_list_head { + struct linux_robust_list list; + l_long futex_offset; + l_uintptr_t pending_list; +}; + int futex_xchgl(int oparg, uint32_t *uaddr, int *oldval); int futex_addl(int oparg, uint32_t *uaddr, int *oldval); int futex_orl(int oparg, uint32_t *uaddr, int *oldval); diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 86fca2976f83..c651da6b5857 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -395,15 +395,4 @@ struct l_desc_struct { #define linux_copyout_rusage(r, u) copyout(r, u, sizeof(*r)) -/* robust futexes */ -struct linux_robust_list { - struct linux_robust_list *next; -}; - -struct linux_robust_list_head { - struct linux_robust_list list; - l_long futex_offset; - struct linux_robust_list *pending_list; -}; - #endif /* !_I386_LINUX_H_ */ diff --git a/sys/i386/linux/linux_copyout.c b/sys/i386/linux/linux_copyout.c index 6dc98bc8bf5d..5672787d5df7 100644 --- a/sys/i386/linux/linux_copyout.c +++ b/sys/i386/linux/linux_copyout.c @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include From nobody Wed Feb 1 21:08:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6ZK05YsWz3c29t; Wed, 1 Feb 2023 21:08: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 4P6ZK056Ycz44SM; Wed, 1 Feb 2023 21:08:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675285716; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eeDmd5GvwI0aqzibl8xCS5oHNWwScEQJNSaY85YiL00=; b=hOumVagkBrKqwf03cvup6lxbMMcpfpJp5T8BWnJflbZ4wddHee3TZCGGh1M/na9IoOwo+o eMnjQ0MgufkZGvgXbb3RZgA1FUp1Vy+elvW4k0JJzRXpBSdiE9defLuVMVF+vJjvzki7q+ 8eERNA4lINwl0pjaIN+C4p8O0cIClPhn9LIGy4OBY0CRm/bpEbqorI+mmaQOdmsSgV1L7T pIGPurjsCQr9r9ISxUy8mZLHccXxMImJFGxCYXipEy0qgHyIiklMPCL2WvI9jQ+36kNfyP eap8nY09nnn2sQAckIUwqsqWINnC0FRwzC54sdIFSJUwStOPOV4x5nHlv8OV9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675285716; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eeDmd5GvwI0aqzibl8xCS5oHNWwScEQJNSaY85YiL00=; b=QVNJsAmNCSuNXIdzcOMRLpYi9/wAc1UrEyoylDMcIllOQvn13Ls75Ylw+8HbWjFX/KCTnI LDWEtUo8qv/UltQLPLAANoPtkSpOHEnNGygeirT5K/XvB8XbKaJPeNS8xQ/72Mr9GvSKJQ G3Sug9U24PC84Gp+QQbceZYP4qUDW2JsQ89bMyN8MIXkzttl+KqVZtcx8xdtl+GhRLpxU9 WsaN4W1qi68QWZ38k68jVAZ57KIUgeSNuVJ5XFvgbVJzvpuBQ+MQMl2HtDTSco63tgArhX FqJnogQ2TweevhqJbSQqzenPigckUUTyttKQS5n7cZmDwxfCwgmtrkJft3V2Ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675285716; a=rsa-sha256; cv=none; b=CK/Y6GbphkL06yCPAE/V6VBs7jF1auJUDQQbnXaH0SYT+gFxYDuor/s1WKD9+DrSCjkeZ1 xsNV2pi9zG1G9Um7yi7pzO3IqD3OqtemRPPJDPXFT2WbGDJ79RUwKWfF406ox8BwVmApQb QExILhlTlYNP6XZn3e+54LAYJ1R94jrJL+dInyG495a6NHX6penVjkLtvY1w6HvTM2BiH+ XSN4Nld6RqDeFpzXcB4tJ129K2mDg3Hu1/eT47QBRuwe9B6EhOBJgdBaTdkN2K543bHZMc Zr57htuxqRB6Fkc4uCtJxuxBdEbMUD+W7r5IBkNVudXeaPhFn5Z14wiCJmkGCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6ZK049yWzSvT; Wed, 1 Feb 2023 21:08:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311L8a6w058821; Wed, 1 Feb 2023 21:08:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311L8asf058820; Wed, 1 Feb 2023 21:08:36 GMT (envelope-from git) Date: Wed, 1 Feb 2023 21:08:36 GMT Message-Id: <202302012108.311L8asf058820@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: a0102dee34bc - main - sockets: in sousrsend() pass down the error to aio(4) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a0102dee34bce26b4a178bcc35bd153c3361fd97 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=a0102dee34bce26b4a178bcc35bd153c3361fd97 commit a0102dee34bce26b4a178bcc35bd153c3361fd97 Author: Gleb Smirnoff AuthorDate: 2023-02-01 21:03:10 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-01 21:03:10 +0000 sockets: in sousrsend() pass down the error to aio(4) This somewhat undermines the initial goal of sousrsend() to have all the special error handling for a write on a socket in a single place. The aio(4) needs to see EWOULDBLOCK to re-schedule the job. Because aio(4) handles return from soreceive() and sousrsend() with the same code, we can't check for (error == 0 && done < job_nbytes). Keeping this exclusion for aio(4) seems a lesser evil. Fixes: 7a2c93b86ef75390a60a4b4d6e3911b36221dfbe --- sys/kern/uipc_socket.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index b7e43d496d1d..9b7f63a81617 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -1861,8 +1861,15 @@ sousrsend(struct socket *so, struct sockaddr *addr, struct uio *uio, td); CURVNET_RESTORE(); if (error != 0) { + /* + * Clear transient errors for stream protocols if they made + * some progress. Make exclusion for aio(4) that would + * schedule a new write in case of EWOULDBLOCK and clear + * error itself. See soaio_process_job(). + */ if (uio->uio_resid != len && (so->so_proto->pr_flags & PR_ATOMIC) == 0 && + userproc == NULL && (error == ERESTART || error == EINTR || error == EWOULDBLOCK)) error = 0; From nobody Wed Feb 1 21:54:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6bL43pmmz3c7WB; Wed, 1 Feb 2023 21:54: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 4P6bL43N36z4C9b; Wed, 1 Feb 2023 21:54:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675288476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ub48WpkBAtvdzuadcrhy488d/MhJ3ZEpF2WDLhUtGKs=; b=P4dmvkO2rHyYKsSinIX6jNmrcIgvls2TdEtaxA33lTc1ExVVcKYlKJfxnjkG35gb8mnA70 Vp9IIQ5cZiYxcFWLssw36TpSLF2MQY39we5FJazxkI3fLoSJ05IJmOD2aUEgx5yq+9O82e IOfowrItjogQ6wyGWCIjwEJFQc5kFXAH5MsDRAHc0LDWBF0IdCLHXmq8WWj/ZKnAMnSK0w TUjxC7JHmzVupgImLYt92dFvbQb9cafDyKQH6fpsnPxpY8SnroTyAYS8gRKeBEBUHcrMbO xdnVfrAblaB6eQO9pfzb8RQTpNkHiBOlQquhGigfgKRCCBv61vfxQab1E779JQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675288476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ub48WpkBAtvdzuadcrhy488d/MhJ3ZEpF2WDLhUtGKs=; b=B1H9gpz9MwTIyZ/OSJzgCTCu+kmOW0V0dHjo290rsKnlDCy5ZjQmJogCeuDH9QTovQHvjd E8pAyaQClzDFQ3FxC0WPh89FPuekDiJydss/pD8LC7NpOqi8t4e3LeJD+UG1OkkDM30fY3 87hbHrr6uwc7VwyJnWaKxg5nzTFPKP2bjdgN0oP369A95xsKm1yCG47f+FHrUGbcEM3fdf ClZDiJlsSSxZz6BHCIE1scZKikAVRSIRFMPtDc516RkYEVWE01uSa3mcBt7IDpUvQeFzNz UQzUmlT4DQlEa63LF2TkuwsS6BNbft2tYkiDz+CHJsP9EWubDZ78wXveQGc6NA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675288476; a=rsa-sha256; cv=none; b=UFEMM1dw0tv6T01zDipDDanXGPUcL9iD2YN+tP39dR4qmaTG2VI3EEa4j+GQE+li287UZJ R3OckWgdLnOway9QgltOHrO4RCqxh9HM5nLvKth9Mebo3Kc8wmRNMzuvBW6qn9O+OxnY2o nWqDuK3xTJfHnKyYYP8UZISmpjLDA4DpY/Soq2TWTdD7YwScMZ6mYWVBLVuN/11dMOi6QI wrbt4zZbDWtZ7MTtOQ7A33lM7po6hFaM4xnxGgkeZ3tZz97mrZIsn4xXtlAibHGI+OBhMZ LZEPz/lTDUciJKAAez18G01FZzq4XnKKz6QIiknpW28LAcbpbybogCChgQzs+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 4P6bL42NbNzVs3; Wed, 1 Feb 2023 21:54:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311Lsa30028475; Wed, 1 Feb 2023 21:54:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311LsaJx028474; Wed, 1 Feb 2023 21:54:36 GMT (envelope-from git) Date: Wed, 1 Feb 2023 21:54:36 GMT Message-Id: <202302012154.311LsaJx028474@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 6cc52efa13ed - main - arm_smcc_1_2_*: Don't trash SP and X19 if no return value structure. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6cc52efa13ed180c35232b833d38cf288679b2db Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6cc52efa13ed180c35232b833d38cf288679b2db commit 6cc52efa13ed180c35232b833d38cf288679b2db Author: John Baldwin AuthorDate: 2023-02-01 21:54:09 +0000 Commit: John Baldwin CommitDate: 2023-02-01 21:54:09 +0000 arm_smcc_1_2_*: Don't trash SP and X19 if no return value structure. Jumping direct to ret was not restoring the saved value of x19 and was also not adjusting sp to discard the two saved registers. Reviewed by: andrew Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D37922 --- sys/dev/psci/smccc_arm64.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/psci/smccc_arm64.S b/sys/dev/psci/smccc_arm64.S index 41e602563222..1d05855acdf3 100644 --- a/sys/dev/psci/smccc_arm64.S +++ b/sys/dev/psci/smccc_arm64.S @@ -77,8 +77,8 @@ ENTRY(arm_smccc_1_2_\insn) stp x12, x13, [x19, #16 * 6] stp x14, x15, [x19, #16 * 7] stp x16, x17, [x19, #16 * 8] - ldp xzr, x19, [sp], #16 -1: ret +1: ldp xzr, x19, [sp], #16 + ret END(arm_smccc_1_2\insn) .endm /* int arm_smccc_1_2_*(const struct arm_smccc_1_2_regs *args, From nobody Wed Feb 1 23:41:33 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6djT4M5Zz3cMWn; Wed, 1 Feb 2023 23:41:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P6djT4BD6z3N3M; Wed, 1 Feb 2023 23:41:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fPIbFn2LvhY3BEcCP6tM1D4GrIuGgSBhcKdXa2ANvdk=; b=CdlOBOFK7ex40FZRhg8PsQmMPHjjjISkpKZhrEXdVl55QXlFC0WshMKccjNuH6m+EJJtqP St8xmfHrCtZaRLZ7TOwQsIFldRjdG7Ksc6h+Ha3/yltqIkrrEo9Oal7lc512QmUAlsHQgp 54Nj0MfGWVqiB5vHmXd3zuzYYLAliPy6rYfFogQhWATBJ5baJKnM35e/Y7Efl7ISu8OFwS S1ViYhuOnZZix5rLxR97LPONJhGV8t+8By9xKd+Bqft2g/8r5KRE5o37MRCaJWsIeS3FxM qXE2vP4CqsAVZA+YU/sDOjmECtkIcf+l8xDAiW8nLB/zbt2OlkXK6V78oi7G6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fPIbFn2LvhY3BEcCP6tM1D4GrIuGgSBhcKdXa2ANvdk=; b=cSyCqnIfYxu6ylnxCVeW7VjvNVdHjFuxXxJxE7pKfiB5YaI5bVfCOrFlnGrI0wC/LU2FB3 7gW0fW6LKCudmhBOb8Cd9KUa7eGfExMelc14JV5ksRWnlb29RXJat5NKMzbx3aIZ6aUa3V AUc4wb7LslpHgMVnT67ZA6kVs+LbH2EYV6b0kwdvLVp2mqkCxIpfB58lC6WgE3qdnChezr pigfZHx4SMq/wpHzQhH3qwuSBuK+HBumPgZBy1LKiRsuOGsKPB9WOcIr/k1bbS9cQT8Ec2 kWsjq8WU41IdHDpTlBWeTNqSVxwsjA2ZkCS/jeg+kgffsfiProSbxYsXKmHhvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675294893; a=rsa-sha256; cv=none; b=dUoO6tHk+KKuCTGzW7isKTMhu71QzzRrzN3aZSztN/kjAfFg1+914Sq6fUUCHvs3vPiBTW fAFlnpV4TndmTopKMMh/JHUtqf6rXnDU3OEkOPpNzWS6gz0FCav94kT11rXDhpGqlH02in GDrkSCz1i9+/McS11uTVzyD4tXkiLJTihuPQ7CHlbom6VHfFBpimqtlWiMq+VVsgHZMeRd f5LgwHlNV4j5AWj86JBvi16D2utwDC1H/U/LAvKfSWYDsMCFoh3h3mjTRpZSnaFwEOL2SS iP81aMFpAU4F42tizOxQlXxQQ872fjmXl0jbUbYcMRxNLDPUAlrxR8VMf7H8Ig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6djT3DvtzYSb; Wed, 1 Feb 2023 23:41:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311NfXbH088865; Wed, 1 Feb 2023 23:41:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311NfXpd088864; Wed, 1 Feb 2023 23:41:33 GMT (envelope-from git) Date: Wed, 1 Feb 2023 23:41:33 GMT Message-Id: <202302012341.311NfXpd088864@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 2555f175b368 - main - Move kstack_contains() and GET_STACK_USAGE() to MD machine/stack.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2555f175b368569dd98e1bd2b6bd095c933faed7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2555f175b368569dd98e1bd2b6bd095c933faed7 commit 2555f175b368569dd98e1bd2b6bd095c933faed7 Author: Konstantin Belousov AuthorDate: 2023-01-31 22:47:40 +0000 Commit: Konstantin Belousov CommitDate: 2023-02-01 22:59:26 +0000 Move kstack_contains() and GET_STACK_USAGE() to MD machine/stack.h Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38320 --- sys/amd64/include/proc.h | 9 --------- sys/amd64/include/stack.h | 24 ++++++++++++++++++++++++ sys/arm/arm/ptrace_machdep.c | 1 + sys/arm/include/proc.h | 11 ----------- sys/arm/include/stack.h | 19 +++++++++++++++++++ sys/arm64/arm64/debug_monitor.c | 1 + sys/arm64/arm64/elf32_machdep.c | 1 + sys/arm64/arm64/freebsd32_machdep.c | 1 + sys/arm64/arm64/ptrace_machdep.c | 1 + sys/arm64/include/proc.h | 12 ------------ sys/arm64/include/stack.h | 18 ++++++++++++++++++ sys/arm64/linux/linux_sysvec.c | 2 +- sys/ddb/db_ps.c | 2 ++ sys/geom/geom_io.c | 1 + sys/i386/include/proc.h | 7 ------- sys/i386/include/stack.h | 23 +++++++++++++++++++++++ sys/kern/subr_epoch.c | 2 ++ sys/netgraph/ng_base.c | 2 ++ sys/powerpc/include/proc.h | 12 ------------ sys/powerpc/include/stack.h | 19 +++++++++++++++++++ sys/riscv/include/proc.h | 11 ----------- sys/riscv/include/stack.h | 19 +++++++++++++++++++ sys/sys/proc.h | 7 ------- sys/x86/x86/stack_machdep.c | 2 +- 24 files changed, 136 insertions(+), 71 deletions(-) diff --git a/sys/amd64/include/proc.h b/sys/amd64/include/proc.h index 6181df35261e..8015fe5da81a 100644 --- a/sys/amd64/include/proc.h +++ b/sys/amd64/include/proc.h @@ -97,15 +97,6 @@ struct mdproc { #ifdef _KERNEL -/* Get the current kernel thread stack usage. */ -#define GET_STACK_USAGE(total, used) do { \ - struct thread *td = curthread; \ - (total) = td->td_kstack_pages * PAGE_SIZE; \ - (used) = (char *)td->td_kstack + \ - td->td_kstack_pages * PAGE_SIZE - \ - (char *)&td; \ -} while (0) - struct proc_ldt *user_ldt_alloc(struct proc *, int); void user_ldt_free(struct thread *); struct sysarch_args; diff --git a/sys/amd64/include/stack.h b/sys/amd64/include/stack.h index 091ae33893d4..ff21ee28b5a3 100644 --- a/sys/amd64/include/stack.h +++ b/sys/amd64/include/stack.h @@ -3,4 +3,28 @@ */ /* $FreeBSD$ */ +#ifndef _MACHINE_STACK_H_ +#define _MACHINE_STACK_H_ + #include + +#ifdef _SYS_PROC_H_ + +/* Get the current kernel thread stack usage. */ +#define GET_STACK_USAGE(total, used) do { \ + struct thread *td = curthread; \ + (total) = td->td_kstack_pages * PAGE_SIZE; \ + (used) = (char *)td->td_kstack + \ + td->td_kstack_pages * PAGE_SIZE - \ + (char *)&td; \ +} while (0) + +static __inline bool +kstack_contains(struct thread *td, vm_offset_t va, size_t len) +{ + return (va >= td->td_kstack && va + len >= va && + va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); +} +#endif /* _SYS_PROC_H_ */ + +#endif diff --git a/sys/arm/arm/ptrace_machdep.c b/sys/arm/arm/ptrace_machdep.c index 3edadbd72ddf..a347a1dfac95 100644 --- a/sys/arm/arm/ptrace_machdep.c +++ b/sys/arm/arm/ptrace_machdep.c @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef VFP #include #endif diff --git a/sys/arm/include/proc.h b/sys/arm/include/proc.h index 76b05b335420..9db28358cc39 100644 --- a/sys/arm/include/proc.h +++ b/sys/arm/include/proc.h @@ -56,15 +56,4 @@ struct mdproc { #define KINFO_PROC_SIZE 816 -#ifdef _KERNEL -#include - -/* Get the current kernel thread stack usage. */ -#define GET_STACK_USAGE(total, used) do { \ - struct thread *td = curthread; \ - (total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \ - (used) = td->td_kstack + (total) - (vm_offset_t)&td; \ -} while (0) - -#endif /* _KERNEL */ #endif /* !_MACHINE_PROC_H_ */ diff --git a/sys/arm/include/stack.h b/sys/arm/include/stack.h index 4bc384f775bc..e8d130517be5 100644 --- a/sys/arm/include/stack.h +++ b/sys/arm/include/stack.h @@ -63,6 +63,25 @@ struct linker_file; void unwind_module_loaded(struct linker_file *); void unwind_module_unloaded(struct linker_file *); +#ifdef _SYS_PROC_H_ + +#include + +/* Get the current kernel thread stack usage. */ +#define GET_STACK_USAGE(total, used) do { \ + struct thread *td = curthread; \ + (total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \ + (used) = td->td_kstack + (total) - (vm_offset_t)&td; \ +} while (0) + +static __inline bool +kstack_contains(struct thread *td, vm_offset_t va, size_t len) +{ + return (va >= td->td_kstack && va + len >= va && + va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); +} +#endif /* _SYS_PROC_H_ */ + #endif #endif /* !_MACHINE_STACK_H_ */ diff --git a/sys/arm64/arm64/debug_monitor.c b/sys/arm64/arm64/debug_monitor.c index 2ec76c9a2f33..52bcf1e5e603 100644 --- a/sys/arm64/arm64/debug_monitor.c +++ b/sys/arm64/arm64/debug_monitor.c @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef DDB #include diff --git a/sys/arm64/arm64/elf32_machdep.c b/sys/arm64/arm64/elf32_machdep.c index 627973ecfd3d..7b346ed81b2c 100644 --- a/sys/arm64/arm64/elf32_machdep.c +++ b/sys/arm64/arm64/elf32_machdep.c @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #ifdef VFP #include #endif diff --git a/sys/arm64/arm64/freebsd32_machdep.c b/sys/arm64/arm64/freebsd32_machdep.c index 9b62802efbc5..5fadef74df87 100644 --- a/sys/arm64/arm64/freebsd32_machdep.c +++ b/sys/arm64/arm64/freebsd32_machdep.c @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef VFP #include #endif diff --git a/sys/arm64/arm64/ptrace_machdep.c b/sys/arm64/arm64/ptrace_machdep.c index 01135978b39a..079391ac102c 100644 --- a/sys/arm64/arm64/ptrace_machdep.c +++ b/sys/arm64/arm64/ptrace_machdep.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include /* Only used to get/set 32bits VFP regs */ int diff --git a/sys/arm64/include/proc.h b/sys/arm64/include/proc.h index 15361a0e3788..9a22fe43833a 100644 --- a/sys/arm64/include/proc.h +++ b/sys/arm64/include/proc.h @@ -72,16 +72,4 @@ struct mdproc { #define KINFO_PROC_SIZE 1088 #define KINFO_PROC32_SIZE 816 -#ifdef _KERNEL - -#include - -#define GET_STACK_USAGE(total, used) do { \ - struct thread *td = curthread; \ - (total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \ - (used) = td->td_kstack + (total) - (vm_offset_t)&td; \ -} while (0) - -#endif - #endif /* !_MACHINE_PROC_H_ */ diff --git a/sys/arm64/include/stack.h b/sys/arm64/include/stack.h index 4b1d190df595..4c4c41bf9516 100644 --- a/sys/arm64/include/stack.h +++ b/sys/arm64/include/stack.h @@ -39,4 +39,22 @@ struct unwind_state { bool unwind_frame(struct thread *, struct unwind_state *); +#ifdef _SYS_PROC_H_ + +#include + +#define GET_STACK_USAGE(total, used) do { \ + struct thread *td = curthread; \ + (total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \ + (used) = td->td_kstack + (total) - (vm_offset_t)&td; \ +} while (0) + +static __inline bool +kstack_contains(struct thread *td, vm_offset_t va, size_t len) +{ + return (va >= td->td_kstack && va + len >= va && + va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); +} +#endif /* _SYS_PROC_H_ */ + #endif /* !_MACHINE_STACK_H_ */ diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index 41ac2912be29..9a82dc94b6ac 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -71,7 +71,7 @@ __FBSDID("$FreeBSD$"); #include #include - +#include #ifdef VFP #include #endif diff --git a/sys/ddb/db_ps.c b/sys/ddb/db_ps.c index a5245528ca83..5d713264d975 100644 --- a/sys/ddb/db_ps.c +++ b/sys/ddb/db_ps.c @@ -49,6 +49,8 @@ __FBSDID("$FreeBSD$"); #include +#include + #define PRINT_NONE 0 #define PRINT_ARGS 1 diff --git a/sys/geom/geom_io.c b/sys/geom/geom_io.c index 20e31b9b921b..777f698b6f1f 100644 --- a/sys/geom/geom_io.c +++ b/sys/geom/geom_io.c @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include diff --git a/sys/i386/include/proc.h b/sys/i386/include/proc.h index 7affe60edab9..d693500f2c3e 100644 --- a/sys/i386/include/proc.h +++ b/sys/i386/include/proc.h @@ -66,13 +66,6 @@ struct mdproc { #include -/* Get the current kernel thread stack usage. */ -#define GET_STACK_USAGE(total, used) do { \ - struct thread *td = curthread; \ - (total) = (vm_offset_t)get_pcb_td(td) - td->td_kstack; \ - (used) = (vm_offset_t)get_pcb_td(td) - (vm_offset_t)&td; \ -} while (0) - void set_user_ldt(struct mdproc *); struct proc_ldt *user_ldt_alloc(struct mdproc *, int); void user_ldt_free(struct thread *); diff --git a/sys/i386/include/stack.h b/sys/i386/include/stack.h index 091ae33893d4..773aca1c66d9 100644 --- a/sys/i386/include/stack.h +++ b/sys/i386/include/stack.h @@ -3,4 +3,27 @@ */ /* $FreeBSD$ */ +#ifndef _MACHINE_STACK_H_ +#define _MACHINE_STACK_H_ + #include + +#ifdef _SYS_PROC_H_ + +/* Get the current kernel thread stack usage. */ +#define GET_STACK_USAGE(total, used) do { \ + struct thread *td = curthread; \ + (total) = (vm_offset_t)get_pcb_td(td) - td->td_kstack; \ + (used) = (vm_offset_t)get_pcb_td(td) - (vm_offset_t)&td; \ +} while (0) + +static __inline bool +kstack_contains(struct thread *td, vm_offset_t va, size_t len) +{ + return (va >= td->td_kstack && va + len >= va && + va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); +} + +#endif /* _SYS_PROC_H_ */ + +#endif diff --git a/sys/kern/subr_epoch.c b/sys/kern/subr_epoch.c index 98a560e44c9d..2a0144412399 100644 --- a/sys/kern/subr_epoch.c +++ b/sys/kern/subr_epoch.c @@ -56,6 +56,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include + #include #ifdef __amd64__ diff --git a/sys/netgraph/ng_base.c b/sys/netgraph/ng_base.c index 092231850f18..205b6041053b 100644 --- a/sys/netgraph/ng_base.c +++ b/sys/netgraph/ng_base.c @@ -66,6 +66,8 @@ #include #include +#include + #include #include diff --git a/sys/powerpc/include/proc.h b/sys/powerpc/include/proc.h index 2c6a00536b8a..0f8d36bfe856 100644 --- a/sys/powerpc/include/proc.h +++ b/sys/powerpc/include/proc.h @@ -59,16 +59,4 @@ struct mdproc { #define KINFO_PROC_SIZE 816 #endif -#ifdef _KERNEL - -#include - -/* Get the current kernel thread stack usage. */ -#define GET_STACK_USAGE(total, used) do { \ - struct thread *td = curthread; \ - (total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \ - (used) = td->td_kstack + (total) - (vm_offset_t)&td; \ -} while (0) -#endif - #endif /* !_MACHINE_PROC_H_ */ diff --git a/sys/powerpc/include/stack.h b/sys/powerpc/include/stack.h index c433a9fe09eb..953afd6f0aa4 100644 --- a/sys/powerpc/include/stack.h +++ b/sys/powerpc/include/stack.h @@ -33,4 +33,23 @@ extern int trapexit[]; extern int asttrapexit[]; extern int end[]; +#ifdef _SYS_PROC_H_ + +#include + +/* Get the current kernel thread stack usage. */ +#define GET_STACK_USAGE(total, used) do { \ + struct thread *td = curthread; \ + (total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \ + (used) = td->td_kstack + (total) - (vm_offset_t)&td; \ +} while (0) + +static __inline bool +kstack_contains(struct thread *td, vm_offset_t va, size_t len) +{ + return (va >= td->td_kstack && va + len >= va && + va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); +} +#endif /* _SYS_PROC_H_ */ + #endif /* !_MACHINE_STACK_H_ */ diff --git a/sys/riscv/include/proc.h b/sys/riscv/include/proc.h index 648c529f4322..ce0a62675308 100644 --- a/sys/riscv/include/proc.h +++ b/sys/riscv/include/proc.h @@ -45,15 +45,4 @@ struct mdproc { #define KINFO_PROC_SIZE 1088 -#ifdef _KERNEL -#include - -/* Get the current kernel thread stack usage. */ -#define GET_STACK_USAGE(total, used) do { \ - struct thread *td = curthread; \ - (total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \ - (used) = td->td_kstack + (total) - (vm_offset_t)&td; \ -} while (0) - -#endif /* _KERNEL */ #endif /* !_MACHINE_PROC_H_ */ diff --git a/sys/riscv/include/stack.h b/sys/riscv/include/stack.h index 82f851096d7b..566081c3ebd0 100644 --- a/sys/riscv/include/stack.h +++ b/sys/riscv/include/stack.h @@ -48,4 +48,23 @@ struct unwind_state { bool unwind_frame(struct thread *, struct unwind_state *); +#ifdef _SYS_PROC_H_ + +#include + +/* Get the current kernel thread stack usage. */ +#define GET_STACK_USAGE(total, used) do { \ + struct thread *td = curthread; \ + (total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \ + (used) = td->td_kstack + (total) - (vm_offset_t)&td; \ +} while (0) + +static __inline bool +kstack_contains(struct thread *td, vm_offset_t va, size_t len) +{ + return (va >= td->td_kstack && va + len >= va && + va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); +} +#endif /* _SYS_PROC_H_ */ + #endif /* !_MACHINE_STACK_H_ */ diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 2da5d8edee6d..2ad4505405c8 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -1324,13 +1324,6 @@ curthread_pflags2_restore(int save) curthread->td_pflags2 &= save; } -static __inline bool -kstack_contains(struct thread *td, vm_offset_t va, size_t len) -{ - return (va >= td->td_kstack && va + len >= va && - va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); -} - static __inline __pure2 struct td_sched * td_get_sched(struct thread *td) { diff --git a/sys/x86/x86/stack_machdep.c b/sys/x86/x86/stack_machdep.c index 1243137d2ea0..5d7dfd251b0d 100644 --- a/sys/x86/x86/stack_machdep.c +++ b/sys/x86/x86/stack_machdep.c @@ -45,7 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include #ifdef __i386__ #define PCB_FP(pcb) ((pcb)->pcb_ebp) From nobody Wed Feb 1 23:41:34 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6djV5hPkz3cMS9; Wed, 1 Feb 2023 23:41:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P6djV53Cxz3NDL; Wed, 1 Feb 2023 23:41:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HtvqKzWVjGqHvlDbAsNHcLQrPQ0L7IkxIUPfm+Lq0II=; b=niem7KcZWmqoClftoJFVNVBDuK+CSQLZI6bV4EpeaMzU9a920BlNhLw2jbkyLepmt1ywJR EctfZgNaQY7WWVjF2m6q+JFSuv7SoyLWEH7H+rOkDupN3lljpyGhQRtx9kZszZNwkRd/I6 YMMCot8o9teobcE47FCF5vHhpEky86cFkQQDzO1Xfkq7c/1etSpTnWeTLuw4mZLnNBEpYg jhnrYDoR8QOoz1YILeL3HdcLPs05YFbc/+Jd0VV2fi0d8k+hq159WOd02QnJgKbMKt9Mda EtS2zXJeGMtZPI++p0FY8uJHJF+XX6TWwl9AyjcTyoTA7LZZu6f7B4w6ZbiwFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HtvqKzWVjGqHvlDbAsNHcLQrPQ0L7IkxIUPfm+Lq0II=; b=H4XhRQokvkCDntu4d/O3Sp6YAo73lWTSAGEgzzW9UY5pck9sRArEZi3+7ru+zOQ7zDxNEY Wj22s8qbrT4FCzqoZD9LvqfsRHdUGymCYenEGCDL+XTPjmWEnwnT6IR7Sauh07iT+ycMm2 Le0IHSvMWgMtDVhuMcoxMYCucWl5fgG1zT4E9FxSdNcO3+KXRovSlQsxvJlEtDCjJgCeoF jgZqwM+UhMYw2Klbme9T5Ag4U9f3w95fD36yaD65qyTPNkOZ88Qti4cSAzVEWVHT49YVk+ YVLJ0HYvk6hxFWqn70XSJC4uQmrybvE7YZiCCrmZZ2WYLg/PBZV9qSOIr6OcUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675294894; a=rsa-sha256; cv=none; b=H0CadybXADTZWcV8F/kqSqgCkiGUcS0sIEG3kMo9O8pX38RqFFdWiAOxqbyocWbnTiUqI+ TIvFVaKEevSArXy4N9u0sqFNHKWsJ3Qy6uYU7eCakzNJzVRHfNs/L/Y8zi+VIelAo/E8sC knqyoKIgri/hU8rBVY5eOkV8pDz6cB1yIC591K1nX05XhtO/3YsgZDyaJMIgXfNIFwlZMw dpMCXYcm3DWePW35L1Mp+E2yj8jaszgNVoZ+5FfE5ZuXx524uFt+VPtQAFC0uuwJrSGr6Y 8KQL2sHN2BxUta8vIDlJp7CTsvy5G3nnAobTi9GPrGRtC9QQDSbHTRxEJCXdSA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6djV48m7zYBR; Wed, 1 Feb 2023 23:41:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311NfYcu088889; Wed, 1 Feb 2023 23:41:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311NfYVS088888; Wed, 1 Feb 2023 23:41:34 GMT (envelope-from git) Date: Wed, 1 Feb 2023 23:41:34 GMT Message-Id: <202302012341.311NfYVS088888@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 7c567fcc5650 - main - i386 kstack_contains(): account for pcb/fpu save area List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c567fcc56508aa31ae58779e8633e25e8077acd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7c567fcc56508aa31ae58779e8633e25e8077acd commit 7c567fcc56508aa31ae58779e8633e25e8077acd Author: Konstantin Belousov AuthorDate: 2023-01-31 23:43:23 +0000 Commit: Konstantin Belousov CommitDate: 2023-02-01 22:59:26 +0000 i386 kstack_contains(): account for pcb/fpu save area Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38320 --- sys/i386/include/stack.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/i386/include/stack.h b/sys/i386/include/stack.h index 773aca1c66d9..3bc1e1a3997f 100644 --- a/sys/i386/include/stack.h +++ b/sys/i386/include/stack.h @@ -21,7 +21,7 @@ static __inline bool kstack_contains(struct thread *td, vm_offset_t va, size_t len) { return (va >= td->td_kstack && va + len >= va && - va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); + va + len <= (vm_offset_t)get_pcb_td(td)); } #endif /* _SYS_PROC_H_ */ From nobody Wed Feb 1 23:41:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6djX0dVfz3cMZR; Wed, 1 Feb 2023 23:41: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 4P6djW6dlrz3NWC; Wed, 1 Feb 2023 23:41:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BwZa9GFq2tV3/edstqMXXMCS/mWQp2E5s8g8+82U6Pc=; b=SvU0zvLq4JVoff9uvnRxlGhQn6FyDjxi9HvHfRRXTwwHD6rvNYwDbuHxoNojllwQxjKXNl lr3KmLlt3XML5C5qo+CZC7FJbiDI6O/ZXxLblFaClT0kwLLrEYgh6Z269X6hFlki2o63vi Xc28j8oeDnjs5oTc9/kjUC9MQoXh0lA/nvbAuAbOFd1n8jKsVJKHEBSVkFqJ6JbuC2k2z3 ijbOr6x/lkevXJbugjd6BH5D4+JeiSISbht2juN8eM9EwyGoWW7jNCN+M6Cm85MftmujP2 bt9WgjPbTFX5xkAOkCinf8l0KhwC7RM0VRkGFjB25vI0IKIouGANBZ4+Us6ZUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BwZa9GFq2tV3/edstqMXXMCS/mWQp2E5s8g8+82U6Pc=; b=eoiJ3lsbR/MpGXPuA7aW7vLwFOf8Nhrfxg7A45Jzm97s0KYqE+QPdqqp6rKA2ViZ2ZbZ1e D2wAxlT+iIB0lQXxPOWf2BeznaezKAZeWsBx83VKXddEJO+iYCobj6NWlIYC5kYm2Jvpuu PV84lwFM+p7OJAUOT/VGDSYggO7oVFfkUSSwJE58MfftXySDfTG/IuU5nrkWbSxewylR/T qTM9WyjkyOq2+FUGeyEhxAFIaMcRq+ileMDO+VAIa24XooIMZzBnJyPVKOK5iqGGX44QOm FREW7pDIyM9cSmN2W7O7IdVVaaQ48/ayxCVZnD2mh8AtKU62GOn/YYQQIYVXuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675294896; a=rsa-sha256; cv=none; b=HWre2h3ORt0m6SYMfi50uZcBUO2QJI26LYoNAzeN3IaWGE3Ql+VOWhd7iqeeAZUspzNR1T jYRvL84fc889hFZ3gy0vokKW+MjYAMO4K7VST949tzlYDJIX1uu7/iHqmitZxdoVbx0bkS OHP9p5E6PIm3NXAyfvixFD+yXzpJEPD5KUflbI+0/AT2ohNBAbGCD+TtADu2djJnCqZSlX Vmi4Wt1QWTapmy0TXJjBt/+KlAs0BDhUJ6L0vhTSXB+iKugbRMd2FpDFH55fehpd47qeb7 na9jzCSKpKYOX5zj2oZmjbpCGW3Cjxcmk4HcyASEkavwkqu3qv0t7btRd0DWtg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6djW56jczYSc; Wed, 1 Feb 2023 23:41:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311NfZDX088921; Wed, 1 Feb 2023 23:41:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311NfZck088920; Wed, 1 Feb 2023 23:41:35 GMT (envelope-from git) Date: Wed, 1 Feb 2023 23:41:35 GMT Message-Id: <202302012341.311NfZck088920@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 3f08bd565341 - main - i386 trap_check_kstack(): use kstack_contains() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f08bd565341dabe22884051014d1e981b433768 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3f08bd565341dabe22884051014d1e981b433768 commit 3f08bd565341dabe22884051014d1e981b433768 Author: Konstantin Belousov AuthorDate: 2023-02-01 00:30:20 +0000 Commit: Konstantin Belousov CommitDate: 2023-02-01 22:59:27 +0000 i386 trap_check_kstack(): use kstack_contains() Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38320 --- sys/i386/i386/trap.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c index a4decc4976dc..f4f6e7109a16 100644 --- a/sys/i386/i386/trap.c +++ b/sys/i386/i386/trap.c @@ -205,8 +205,7 @@ trap_check_kstack(void) stk = read_esp(); if (stk >= PMAP_TRM_MIN_ADDRESS) panic("td %p stack %#x in trampoline", td, stk); - if (stk < td->td_kstack || stk >= td->td_kstack + - ptoa(td->td_kstack_pages)) + if (!kstack_contains(td, stk, 0)) panic("td %p stack %#x not in kstack VA %#x %d", td, stk, td->td_kstack, td->td_kstack_pages); } From nobody Wed Feb 1 23:41:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6djY1K3fz3cMSM; Wed, 1 Feb 2023 23:41: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 4P6djY04kQz3NfG; Wed, 1 Feb 2023 23:41:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SO53E5dSnM5P/Rt+Y92eGQawH1ZxBJSBiya2gRBcFJ0=; b=SGD92aUWuxYG1OdQTQrzIpXRRKMauzBuRhmtC4O8vvYmWpqAd898N2z1aQ70/X+pAp+DSm vmH9xt2wQGFyKhp4vV51QlW8qEb0wydf/6NhU8OdRSDpys+GycMVBDhvPhzUbwjLOE7eBh ZJn/GX8lcVzFC33yaPwL/H5IghVpJoXv5/McEYarii9X2tDAKKBcz6vlmulDPakCwQAC+z ZYQ334wgZaurF3c/lvFVNbhpRzlu1rHev387ZTZ0LJ5MiFb7g1UzW4a9BdmhiR4cIGr/Ux U/t82FSCt/1+UQfeYLOqwQFVRGROydlXn+RYBwlD4nw9vxsHmMqrn1Mx/vyW6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SO53E5dSnM5P/Rt+Y92eGQawH1ZxBJSBiya2gRBcFJ0=; b=yNLbt6jKveATxGHfW+x2JB+rxSvzcGEP21cJ7wkDdCXezGLwVeqjOor8W77bPqHAkrxAyE xH+hQgFUHfqkieAE87LYmyki5zaunjFWMzKIR2ZSDojZUGB6f9ey9P6Z5YEx307yj0VNEu +Uz0fIkm1xsYe2IY6bwPeD9S9GAD8ZXpRTl6ypgtwv6eo8CJ72ed6M5scWFQCU4aa9YEJa sTuS9YUJbWSRTlZ50YinBPvoB2xaf8L7ngAMfNViRR2yUoprNYWak07183FVr6J1/FwmK8 K3qgXdZ1Ni+4ez1+fsmOy4ojKiw6T8ZxwFdH0Nw7CNcS4V50j/hJAShhRWXz+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675294897; a=rsa-sha256; cv=none; b=d16xmS+FaP6Hg7QslUUCqmB6+hXuVsetVx4JnBoYdffCrgYx4d4ll42lVD0ruVY5JUnkf0 pkkhWt+nCuxk9htdWMYoqTzWxGbFFYcw5o28ZFZRPl0vYiTziSjbTkYoP8FUTqDTgvFNWq vjJsAtBnytXZJs7joahcvqouFoO4Q8x9GYYK9+EC1HYDrelT/fFPoIeD3kDoYhUzeKgTU1 H90olHBuMiJyngHIu5YGII/WVEbzYDzgFE0CSfqQINfV8yHQtL2fTzbnpLIVQw9bGmHg9k lVApMoKYtdEHGsZLhLQKgbjd6nfYPVK/u8BZ0YUXC3hQ20I9A0MUefFYLtdNpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6djX63b0zYDf; Wed, 1 Feb 2023 23:41:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311NfaWC088948; Wed, 1 Feb 2023 23:41:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311NfaHR088947; Wed, 1 Feb 2023 23:41:36 GMT (envelope-from git) Date: Wed, 1 Feb 2023 23:41:36 GMT Message-Id: <202302012341.311NfaHR088947@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 83a49712afa2 - main - kstack_contains(): account for struct pcb on stack List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 83a49712afa276b7f320e0dd669c8dfd33f9a5ac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=83a49712afa276b7f320e0dd669c8dfd33f9a5ac commit 83a49712afa276b7f320e0dd669c8dfd33f9a5ac Author: Konstantin Belousov AuthorDate: 2023-01-31 23:49:54 +0000 Commit: Konstantin Belousov CommitDate: 2023-02-01 22:59:27 +0000 kstack_contains(): account for struct pcb on stack for arm64, arm, powerpc, and riscv Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38320 --- sys/arm/include/stack.h | 3 ++- sys/arm64/include/stack.h | 3 ++- sys/powerpc/include/stack.h | 3 ++- sys/riscv/include/stack.h | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/arm/include/stack.h b/sys/arm/include/stack.h index e8d130517be5..748ef35a444e 100644 --- a/sys/arm/include/stack.h +++ b/sys/arm/include/stack.h @@ -78,7 +78,8 @@ static __inline bool kstack_contains(struct thread *td, vm_offset_t va, size_t len) { return (va >= td->td_kstack && va + len >= va && - va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); + va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE - + sizeof(struct pcb)); } #endif /* _SYS_PROC_H_ */ diff --git a/sys/arm64/include/stack.h b/sys/arm64/include/stack.h index 4c4c41bf9516..58fb2cf0e8a5 100644 --- a/sys/arm64/include/stack.h +++ b/sys/arm64/include/stack.h @@ -53,7 +53,8 @@ static __inline bool kstack_contains(struct thread *td, vm_offset_t va, size_t len) { return (va >= td->td_kstack && va + len >= va && - va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); + va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE - + sizeof(struct pcb)); } #endif /* _SYS_PROC_H_ */ diff --git a/sys/powerpc/include/stack.h b/sys/powerpc/include/stack.h index 953afd6f0aa4..53ea0fc3bc54 100644 --- a/sys/powerpc/include/stack.h +++ b/sys/powerpc/include/stack.h @@ -48,7 +48,8 @@ static __inline bool kstack_contains(struct thread *td, vm_offset_t va, size_t len) { return (va >= td->td_kstack && va + len >= va && - va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); + va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE - + sizeof(struct pcb)); } #endif /* _SYS_PROC_H_ */ diff --git a/sys/riscv/include/stack.h b/sys/riscv/include/stack.h index 566081c3ebd0..1f6907742b6a 100644 --- a/sys/riscv/include/stack.h +++ b/sys/riscv/include/stack.h @@ -63,7 +63,8 @@ static __inline bool kstack_contains(struct thread *td, vm_offset_t va, size_t len) { return (va >= td->td_kstack && va + len >= va && - va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE); + va + len <= td->td_kstack + td->td_kstack_pages * PAGE_SIZE - + sizeof(struct pcb)); } #endif /* _SYS_PROC_H_ */ From nobody Wed Feb 1 23:41:37 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6djZ1yKXz3cMGC; Wed, 1 Feb 2023 23:41: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 4P6djZ0hxPz3Nhm; Wed, 1 Feb 2023 23:41:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H9bWSPTVtenUPrC1OKFMy3BrCUbJY5dLI8CnvfK9iCY=; b=kEiw9QkaopLtgYGdvYJVFUUk/DF93ZCbjGneS3V2M5GD4QyLLOPsLC2hGO4jUtZmaEBDgz fVO1Yts607lOmbPECBdj6w5NTJvu8U1+fV5EWie+Ocz5+tuNl/XB0/ndV8Ft6M3zhJ3ym3 bzO3eTU8XoRRbNkyPqMR7GEGJSzcbTedTr+8de3Kj50VXKn/WpMbMi7Sp4d2GRPS2+b+oP PP1SAaF0eDrEqjB3XvzYPCTJjg9VJ+cIMMv9vAWa4Aghk4ZgYy7euHEnEzO9DA4TmId+mz 40AQonF96JKrHGz1mCa8SwG5Ncm4q/I0I5Pvez9vATCr5T4v0Gve9bjQ9Rh7Kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H9bWSPTVtenUPrC1OKFMy3BrCUbJY5dLI8CnvfK9iCY=; b=X+tW4Fh82AV9T/gsq454IX/ROuci0aIRljesF/1ubmEVV4sUrhCvdGsCSMbFWSg82l7Dvn ET0LsCRIIZHqiUybyUTe5DoSgKD/qJ1EzbSHxWcfHXOen44LXOd43rZ28J0R43tk5omlHa 6H7Hrubcwyc9tDfAHVpI/UB6PwHBvygBPjehJ+1L1xZ+9VB5/NQg/1f1qissN6mahktxwV NH4As4KKIoN8dPwp7IGceOpbjy3OWqdpihlJw9S28Flkl5CTrmyUPN4+NvGMntRoMlZtsd /W+cDdN0MdfzTc/EeJYujepw8gW+Xzvkl0pp90zp3gGbpng/7XALI5jQN2NSQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675294898; a=rsa-sha256; cv=none; b=CCDih1gF4saO6lQjM3UM8KnvGFXcUecLZFyOegxrdZ2/VeRuT/i+RwQlwTsaqho9Tc3MQV t4lDWbY82miDk8+RrY/Y+g6k33mix1ij7hCnwQRTLamKaeZSI8tlfhjtg332b0ndUrYJw1 czeeaLqPpjk61/PFR1ZphBy+Esrrz0tjqJU6fHeW6Spbjx52rrBbgMl22TNmhQjY/9rY0o hjPbKTzjpVIS1vudb9TCJSXqtQrEFoF9cU92UMXVPj6URRt5kA8vDd+z1y0KeR0CiAjSVR Q1sq2DzGV+rnGsyZH88HNOnoUeAqmEqa/KVMciJVRW1nw6smgpG1L4gccBKbeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6djY6gkmzYNX; Wed, 1 Feb 2023 23:41:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311Nfbsf088974; Wed, 1 Feb 2023 23:41:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311NfbLO088973; Wed, 1 Feb 2023 23:41:37 GMT (envelope-from git) Date: Wed, 1 Feb 2023 23:41:37 GMT Message-Id: <202302012341.311NfbLO088973@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 3cf37d1251bf - main - libthr: add pshared_destroy() helper List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3cf37d1251bf71b2171e67af8f2ca43cbe3d874d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3cf37d1251bf71b2171e67af8f2ca43cbe3d874d commit 3cf37d1251bf71b2171e67af8f2ca43cbe3d874d Author: Konstantin Belousov AuthorDate: 2023-02-01 21:06:04 +0000 Commit: Konstantin Belousov CommitDate: 2023-02-01 22:59:27 +0000 libthr: add pshared_destroy() helper Rewviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38345 --- lib/libthr/thread/thr_pshared.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/libthr/thread/thr_pshared.c b/lib/libthr/thread/thr_pshared.c index d0219d0488f4..37b44ab73582 100644 --- a/lib/libthr/thread/thr_pshared.c +++ b/lib/libthr/thread/thr_pshared.c @@ -213,6 +213,17 @@ pshared_clean(void *key, void *val) _umtx_op(NULL, UMTX_OP_SHM, UMTX_SHM_DESTROY, key, NULL); } +static void +pshared_destroy(struct pthread *curthread, void *key) +{ + void *val; + + pshared_wlock(curthread); + val = pshared_remove(key); + pshared_unlock(curthread); + pshared_clean(key, val); +} + void * __thr_pshared_offpage(void *key, int doalloc) { @@ -248,13 +259,9 @@ void __thr_pshared_destroy(void *key) { struct pthread *curthread; - void *val; curthread = _get_curthread(); - pshared_wlock(curthread); - val = pshared_remove(key); - pshared_unlock(curthread); - pshared_clean(key, val); + pshared_destroy(curthread, key); pshared_gc(curthread); } From nobody Wed Feb 1 23:41:38 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6djb4xyXz3cMX6; Wed, 1 Feb 2023 23:41: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 4P6djb1Qxpz3NVR; Wed, 1 Feb 2023 23:41:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SyP4R68ctwuKvDKW11N2M8BKcyN9Xl3+4BAawgsFTbI=; b=Nn4GanKGknWQNP3qSEtzbtsFne/nHBApfN07eURC08+S9IDLBrgjMqUp1eIEWI4GmIyRQy 8r/V2Khq2QEhM8ptlelCOQQ3JvjfRuPeQePiw8NXB1XtRL9RJHQXhPbhuauSU7ZL7PJabG AA4MjiT5Ylqm8Wi7UJ2QDaH64N0Nh6fX2Kt91tYMkV6qvqTIMUnw0jA5a9kFWd2FMIY5dg DaP2n9XTy0qjO8q3Iu1gB7M4fnPb6L4aP0E6SCt5/8fzRByDCIqqT9Qvu9QCQr9UvF7xDf 5F2osqV36lsnSFn76PDreK+xM95L4ZNQr0ik37HqbbD8iu1Dbj7U3L7Q7TxFYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675294899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SyP4R68ctwuKvDKW11N2M8BKcyN9Xl3+4BAawgsFTbI=; b=DoazvZ2/EfhZAjfaW9aWddW6sc9Aqt4SrOujrbUOyEsWUsdP2pG6SGfyKEiJIYQn+gTPty pHxmIiepy5VoNKzKxWq1r3Aud9zTEomFXjjIs9aFmJhE0fxtawHCpwx8Qn4Me8jbvsemPA /tXKXgnt2Wt2FWXZ9Dkq1zoRfz7ue4588KO35LirJIfYDvt2lCp5lk9Vgy0sBeC/B8dfaS GD3beLGF3Ve8akyaDctSvlI9R7LaHYjUUT/bBftSqwhC+2L3ePqmFCcTkKZvpTwkn1i3uw qRJaKNlXTPeJAT3EUz1jr20nenvs3M53MnH1ve7PP9df0OHHvM1iHC9A53gGdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675294899; a=rsa-sha256; cv=none; b=Pqxk1X+QIVd07lBWGphvk4+ofCGAb8S7wONuKpA+rfd0Lc/zArfB3ga5HjWJB+QYxg4c06 9z7qbPSotdmXBx/X3092mJ333rRdixIgFYv88+26P3rfnsq33LYiDJ6RsdyDPVDbaIKvHY ukp4QkBSFqVBe4hT8DNu8/GipXGpY4ACM1oDksoG9tutYQ3YTtO1BrZNLM3+9nhCMIyCZ2 BFt1zuhKt7g0WEJIkJpcfTRhynKehAi5OpBnQpWcbt8Wi4hcTGfGb9j0KSViuwgcxNmvAR A4nQcsexcoSSQucK/jfJ2ORaSSWfKtLY2FcW7SQh0FMAke4crwZIIOtQbU44dA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6djb0XgrzYWY; Wed, 1 Feb 2023 23:41:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 311NfcsE089004; Wed, 1 Feb 2023 23:41:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 311NfcIQ089003; Wed, 1 Feb 2023 23:41:38 GMT (envelope-from git) Date: Wed, 1 Feb 2023 23:41:38 GMT Message-Id: <202302012341.311NfcIQ089003@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 25c862ae503a - main - libthr pshared: correct a bug in allocation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 25c862ae503a1c99458f4e055fd50c878fadbea3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=25c862ae503a1c99458f4e055fd50c878fadbea3 commit 25c862ae503a1c99458f4e055fd50c878fadbea3 Author: Konstantin Belousov AuthorDate: 2023-02-01 20:12:45 +0000 Commit: Konstantin Belousov CommitDate: 2023-02-01 22:59:27 +0000 libthr pshared: correct a bug in allocation When __thr_pshared_offpage() is called for allocation, it must not use the cached offpage for the key. Instead, the cached offpage must be unmapped and removed from the cache, if any. It is legitimate for the user code to unmap the shared lock object without destroying it, and then mapping something over the freed VA to carry another shared lock. In this case the cached offpage must be un-cached. PR: 269277 Reported by: rau8344@gmail.com Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38345 --- lib/libthr/thread/thr_pshared.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/libthr/thread/thr_pshared.c b/lib/libthr/thread/thr_pshared.c index 37b44ab73582..446e9983bcae 100644 --- a/lib/libthr/thread/thr_pshared.c +++ b/lib/libthr/thread/thr_pshared.c @@ -232,11 +232,16 @@ __thr_pshared_offpage(void *key, int doalloc) int fd, ins_done; curthread = _get_curthread(); - pshared_rlock(curthread); - res = pshared_lookup(key); - pshared_unlock(curthread); - if (res != NULL) - return (res); + if (doalloc) { + pshared_destroy(curthread, key); + res = NULL; + } else { + pshared_rlock(curthread); + res = pshared_lookup(key); + pshared_unlock(curthread); + if (res != NULL) + return (res); + } fd = _umtx_op(NULL, UMTX_OP_SHM, doalloc ? UMTX_SHM_CREAT : UMTX_SHM_LOOKUP, key, NULL); if (fd == -1) From nobody Thu Feb 2 00:03:25 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6fBj6l1nz3cQ13; Thu, 2 Feb 2023 00:03: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 4P6fBj6HKfz3k23; Thu, 2 Feb 2023 00:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675296205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K8cawiDNUUwmcDQHfvdEg16McDR10f2NgJmeGoeMCaU=; b=FCv1AYW3/w3X+mpDd/APTMDfI9TLns8AeOFFGIyq8gPAl2A5GML1y+ZLKH5q3AfjYyIawB WCYcJL31S7fpn/B3kF7oVq181VKURECPuLZpt9vUUedEkPttK+twlc2M4ZJxG30n1eelPL 73+G15LSwEJ8F1vVWElGtDRttmzDljt7fNlutCktzxUJkv3nbr93u2D+f4zrcFZhWeATx8 CiTYUNMZcmelWwX0FZ3OGC7VDvJ5JFiKhD/QTIs8rnlWn9+hUAK9zPpzxY0pXd+3ZQ0Cw5 gfGHFpj9+0sAXDUggK9Tlf3j4yeTG070vPvMGcvOiGilOoDyZ81ctTJ5989r+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675296205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K8cawiDNUUwmcDQHfvdEg16McDR10f2NgJmeGoeMCaU=; b=cF9c3ouZVhxwHcCQcR0ys1R0612Q9sjdBmchGOsOMWuHiWXH8TV+Tqzwv4gHiNySmKU9we JZDQVWmjrVbSza7yaRfHfscnKAv5nyC/5elDHPvYwnVvH/6dKQG/iSVMa2jMo+lpQT3mCe xcdQ3i9J8Z9ETnV7fD0t1URj67X2QWs5VhIAZ1Gmu7sjuvjnImUouM8x/DJR7N3uuODLfw lFI6FJxnU+ZDujPr1IcDesQwRniKnsg/v+Ga/B0sJMijsPNNnN2Tgyr1tLi1ctriihtuD+ WgEYImaSQZbEvE2T2LpW8zxuhzA369q1OdEduEjsjPn1pycYgX8/0XBDezcMpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675296205; a=rsa-sha256; cv=none; b=nf0z1ezdaKeFIuRPdzfLk26RoY/HhxIzbTAgL1K0FuE5ZytjOLm88LxeEce+aXJcPrCy36 KPzeiEk0icykGoq/6sXvA/wejOQt/9Z6byzfLbkH2WSWuPxToev2tLKRCwGedUmiuRw8lJ MswaJi/RtI3SJVSKmir/hQc5wWWSfxv7VVr3xTIAA5pBLP5yVUmRSue1i0mC57s0kZPZ+I Wj2Vv3ZkyKnMK628HSXc1Gg5XVye/L3icRE4yyz/8ttuKZVfTdGdowUg+66e58PCovs23k GP5dXGZzZAQwm4ss5RyYs/50jYLW7I9t+xLxEDGpKEwUS72jAW0uilwHq7LVUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6fBj5NCMzZ1X; Thu, 2 Feb 2023 00:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31203PqP020221; Thu, 2 Feb 2023 00:03:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31203P9g020220; Thu, 2 Feb 2023 00:03:25 GMT (envelope-from git) Date: Thu, 2 Feb 2023 00:03:25 GMT Message-Id: <202302020003.31203P9g020220@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 99187c3a44c2 - main - prison_check_nfsd: Add check for enforce_statfs != 0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 99187c3a44c2c3e168e462a30d45af075748195f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=99187c3a44c2c3e168e462a30d45af075748195f commit 99187c3a44c2c3e168e462a30d45af075748195f Author: Rick Macklem AuthorDate: 2023-02-02 00:02:20 +0000 Commit: Rick Macklem CommitDate: 2023-02-02 00:02:20 +0000 prison_check_nfsd: Add check for enforce_statfs != 0 Since mountd(8) will not be able to do exports when running in a vnet prison if enforce_statfs is set to 0, add a check for this to prison_check_nfsd(). Reviewed by: jamie, markj MFC after: 2 months Differential Revision: https://reviews.freebsd.org/D38189 --- sys/kern/kern_jail.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 0820de9d5ac0..4c1e3ff40c58 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -3491,6 +3491,8 @@ prison_check(struct ucred *cred1, struct ucred *cred2) * - The root directory (pr_root) of the prison must be * a file system mount point, so the mountd can hang * export information on it. + * - The prison's enforce_statfs cannot be 0, so that + * mountd(8) can do exports. */ bool prison_check_nfsd(struct ucred *cred) @@ -3502,6 +3504,8 @@ prison_check_nfsd(struct ucred *cred) return (false); if ((cred->cr_prison->pr_root->v_vflag & VV_ROOT) == 0) return (false); + if (cred->cr_prison->pr_enforce_statfs == 0) + return (false); return (true); } From nobody Thu Feb 2 07:25:47 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6r176CVWz3c7Kp; Thu, 2 Feb 2023 07:25: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 4P6r175Vm2z4P9b; Thu, 2 Feb 2023 07:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675322747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vlm8n0vRlOtxa7009uCh581rSJ059EzDf2dCQm38NR8=; b=W74z3oiVkv6pOUdIc0xWS2Xoo2r0SCAXLLgvf4aLmoVO2hneaa45bpKqFcOX1BasTGmc13 jrX6YDChR+WADNK8rCZ8awBA7uQyrv1w4m/+jYqbyBNU4vRab+wCuXgaNxMy6Pb5uFEDVP 1IyHYPFIvX7SEIx5P6+m5ZLKWLMhzqb5OV32MyxHNpWoPI4fI2mZ5/JvuDiSQS2abQtJ5z h6i6Wbf8SZNWB5VlyHnMtg2jzWclBcHK44XIqjffNgxMYizRDhtsNZUfz0Xt6e0mS55rte bItpkhFPDOpXaVhZfGiFakOe2Ebdmw865HAFgL+5xkFMmBiSaCbZ6ahscHpuRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675322747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vlm8n0vRlOtxa7009uCh581rSJ059EzDf2dCQm38NR8=; b=OeP/rL32Qk4oUJivnuzF9vi6UnyLliYgOHWt6AbcVMcUGFSjkKiZ5mQvWHCaDHMB7YPIuF UdBTg4LpnikQRjw/o6uINFgkUhZJXQyKIV8GtrJ42Cbvi4QWMM6aFFXjkc+HVi2DtnjDqG AM2UGj/pDKV+KPhiOk+b1cwhAj7G7FRPKjcxFCCf4o5fv4XGOVfL6FPZR5x/x8NhWJn0WM YtQPrjpe0sfHbU2Gb+ANKF1YzxfIfIVLABc2XLKdBOQxIlQmyLlIQAnSbOwK0AtvegNE9F Yhz4ky9Ya0TxlVOZ9TvPeOGa9C116ceKkthtV1ktQ2OE8aqAqqkdWeHqHUf+kA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675322747; a=rsa-sha256; cv=none; b=D2DTABQardT6MmrA57IijecN5tHSnZ1Rnz6DTbUoxmYhLie4sf17NM7nYGrZQQhbBFsEYu MOJiJEH1BDA6jrILxv23Wz8xtxiptvfO9CXyD5TwzPSqgES4MP+pk7RUD6ZmOZzKdADyG2 5DZWsgEdncic3foqk0XLvF6URN0tzeNNw7/OlNijKPkBhmBCuny7e3UDyg1FNRP3FIszmz 6m0mdX3q96RJlx8prPMHTaIzZ7Wh5hgM7wJJgJ1VszuMAiXblDYAWh2F6S/JTQSDA/YJRY bu5j1o6qOqyruS0Z55Wi3VJWRyItewti+XXhlq9s08N3RBz0D4ofTtG9IZaqHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6r174Sx7zmHs; Thu, 2 Feb 2023 07:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3127Pleb046634; Thu, 2 Feb 2023 07:25:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3127PlLK046633; Thu, 2 Feb 2023 07:25:47 GMT (envelope-from git) Date: Thu, 2 Feb 2023 07:25:47 GMT Message-Id: <202302020725.3127PlLK046633@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 55f1ca209d37 - main - atrtc: expose power loss as sysctl List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 55f1ca209d37d7b5a6faf57b23c7341cb7f84ee6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=55f1ca209d37d7b5a6faf57b23c7341cb7f84ee6 commit 55f1ca209d37d7b5a6faf57b23c7341cb7f84ee6 Author: Corvin Köhne AuthorDate: 2022-12-08 07:28:42 +0000 Commit: Corvin Köhne CommitDate: 2023-02-02 07:25:08 +0000 atrtc: expose power loss as sysctl Exposing the a power loss of the rtc as an sysctl makes it easier to detect an empty cmos battery. Reviewed by: manu MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38325 --- sys/x86/isa/atrtc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/x86/isa/atrtc.c b/sys/x86/isa/atrtc.c index 33eb9a4bbdf0..81ba400619cc 100644 --- a/sys/x86/isa/atrtc.c +++ b/sys/x86/isa/atrtc.c @@ -62,6 +62,11 @@ __FBSDID("$FreeBSD$"); #include #endif +/* tunable to detect a power loss of the rtc */ +static bool atrtc_power_lost = false; +SYSCTL_BOOL(_machdep, OID_AUTO, atrtc_power_lost, CTLFLAG_RD, &atrtc_power_lost, + false, "RTC lost power on last power cycle (probably caused by an emtpy cmos battery)"); + /* * atrtc_lock protects low-level access to individual hardware registers. * atrtc_time_lock protects the entire sequence of accessing multiple registers @@ -600,6 +605,7 @@ atrtc_gettime(device_t dev, struct timespec *ts) /* Look if we have a RTC present and the time is valid */ if (!(rtcin(RTC_STATUSD) & RTCSD_PWR)) { + atrtc_power_lost = true; device_printf(dev, "WARNING: Battery failure indication\n"); return (EINVAL); } From nobody Thu Feb 2 07:43:31 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6rPf6JkTz3cB0Q for ; Thu, 2 Feb 2023 07:43:34 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P6rPf1H9lz3J6p for ; Thu, 2 Feb 2023 07:43:34 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com; dmarc=none Received: by mail-wm1-f54.google.com with SMTP id k8-20020a05600c1c8800b003dc57ea0dfeso3069170wms.0 for ; Wed, 01 Feb 2023 23:43:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jRKwkJRLOvKbYmAAfG36JmRByCtbyvzlxd+eNqry3Z0=; b=Cp11aRehiugLvm0dFkGtkis59KtZXloX8zQ/0g082pZA+j43VDfokHDidn8rN5he77 wIgvwtKq7tvCWTs2I7AQi43G/xDd+XF8inB/mSG3RcnNI2ReC5z0Xkr+xFTjoHfDTsJu Vg7kydBqdjzhKf/UwG5sBCLmkv+KvtIT2EIdUAlMPVJWVT+X+ZY0tMSJk+GKkHv1hj0u yofoT4pOuyXWdFIS1e5XfY8+sCsMMBL8DtGTJWUyp9jcANSx54Owc+G3giHqhYCVBuNI cTkITabG7iMJjKS09hmMO2i2wJcxT5cJMtOE1HosFELcqeqLmKf2mnzzzaOB9ZtmUabF P7tA== X-Gm-Message-State: AO0yUKV1RYkf/YQzaZLwjOH7FM3reoPWi8oyOSRys44OG/UehNUuq7lx +EwoYK9owic8eVeFqcTBI+jl1g== X-Google-Smtp-Source: AK7set/bFQYfJ+Wh6zXnKyUdG7hcPnTkNOVUnIgGwDLoPeSmI/gjsW0Z+l4W9UNVWgtoruCU0kM5XA== X-Received: by 2002:a05:600c:1e8d:b0:3df:deb5:6ff5 with SMTP id be13-20020a05600c1e8d00b003dfdeb56ff5mr493107wmb.24.1675323812328; Wed, 01 Feb 2023 23:43:32 -0800 (PST) Received: from smtpclient.apple (global-5-143.n-2.net.cam.ac.uk. [131.111.5.143]) by smtp.gmail.com with ESMTPSA id h14-20020a05600c314e00b003db0b0cc2afsm4278810wmo.30.2023.02.01.23.43.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Feb 2023 23:43:31 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: 1e0853ee8403 - main - sys/kbio.h: support Unicode key codes in vt keymap files From: Jessica Clarke In-Reply-To: Date: Thu, 2 Feb 2023 07:43:31 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <84830C1A-149F-4B05-99DC-1E0B50C8B59A@freebsd.org> References: <202302011630.311GUmt1068106@gitrepo.freebsd.org> To: =?utf-8?Q?Stefan_E=C3=9Fer?= X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Spamd-Result: default: False [-2.32 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.82)[-0.824]; MV_CASE(0.50)[]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_THREE(0.00)[4]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TO_DN_EQ_ADDR_SOME(0.00)[]; DMARC_NA(0.00)[freebsd.org]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.54:from]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FREEFALL_USER(0.00)[jrtc27]; MIME_TRACE(0.00)[0:+]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; R_DKIM_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.128.54:from] X-Rspamd-Queue-Id: 4P6rPf1H9lz3J6p X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N On 1 Feb 2023, at 16:40, Jessica Clarke wrote: >=20 > On 1 Feb 2023, at 16:30, Stefan E=C3=9Fer wrote: >>=20 >> The branch main has been updated by se: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D1e0853ee84031e4131a0b8cc8737696f= 199d3d4c >>=20 >> commit 1e0853ee84031e4131a0b8cc8737696f199d3d4c >> Author: Stefan E=C3=9Fer >> AuthorDate: 2023-02-01 16:24:18 +0000 >> Commit: Stefan E=C3=9Fer >> CommitDate: 2023-02-01 16:24:18 +0000 >>=20 >> sys/kbio.h: support Unicode key codes in vt keymap files >>=20 >> Some keyboard definitions return Unicode characters that cannot be >> represented in the 8 bits provided by an u_char. >>=20 >> Extend then width of the keycode entries to 16 bits to allow for = all >> keycodes currently defined in share/vt/keymaps/*,kbd. >>=20 >> Reported by: yuri@aetern.org >> MFC after: 3 days >> --- >> sys/sys/kbio.h | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >>=20 >> diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h >> index 7f17bda76c51..b0779f5ed114 100644 >> --- a/sys/sys/kbio.h >> +++ b/sys/sys/kbio.h >> @@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t; >>=20 >> struct acc_t { >> u_char accchar; >> - u_char map[NUM_ACCENTCHARS][2]; >> + u_short map[NUM_ACCENTCHARS][2]; >=20 > This breaks ABI for [GP]IO_DEADKEYMAP. Ping. This is important, especially with the MFC after. This should be reverted and re-landed with compat IMO. Jess >> }; >>=20 >> struct accentmap { From nobody Thu Feb 2 07:49:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6rYD4BHFz3cBgP; Thu, 2 Feb 2023 07:50:08 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mx.blih.net (mx.blih.net [212.83.155.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx.blih.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P6rYC5c2Mz3JlV; Thu, 2 Feb 2023 07:50:07 +0000 (UTC) (envelope-from manu@bidouilliste.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bidouilliste.com; s=mx; t=1675324198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=iSznAFW/+ODvDw4t4HYeoLxLAGUeWcVzYO3Vw6d31uY=; b=qBqBnm1vMr0u9xWPdaxyqLpo+A4z3zMe2DmlMg6cecriFhL2ARkr9+CIk9KMt/VAEC6d4o pJGuVhDwq842LqjrSvlf8yChLpZXyMTNry0DDD7l8vxI/oAmwW6hjioBI5VJpPAgpkxnpb +32Y8J5MHv4ysghyPeIvy3i/+wBhwW8= Received: from skull.home.blih.net (lfbn-lyo-1-2174-135.w90-66.abo.wanadoo.fr [90.66.97.135]) by mx.blih.net (OpenSMTPD) with ESMTPSA id 06ed253e (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Thu, 2 Feb 2023 07:49:58 +0000 (UTC) Date: Thu, 2 Feb 2023 08:49:57 +0100 From: Emmanuel Vadot To: Jessica Clarke Cc: Stefan =?ISO-8859-1?Q?E=DFer?= , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: 1e0853ee8403 - main - sys/kbio.h: support Unicode key codes in vt keymap files Message-Id: <20230202084957.631788fd720591beb675acd3@bidouilliste.com> In-Reply-To: <84830C1A-149F-4B05-99DC-1E0B50C8B59A@freebsd.org> References: <202302011630.311GUmt1068106@gitrepo.freebsd.org> <84830C1A-149F-4B05-99DC-1E0B50C8B59A@freebsd.org> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; amd64-portbld-freebsd14.0) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4P6rYC5c2Mz3JlV X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:12876, ipnet:212.83.128.0/19, country:FR] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Thu, 2 Feb 2023 07:43:31 +0000 Jessica Clarke wrote: > On 1 Feb 2023, at 16:40, Jessica Clarke wrote: > >=20 > > On 1 Feb 2023, at 16:30, Stefan E=DFer wrote: > >>=20 > >> The branch main has been updated by se: > >>=20 > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3D1e0853ee84031e4131a0b8c= c8737696f199d3d4c > >>=20 > >> commit 1e0853ee84031e4131a0b8cc8737696f199d3d4c > >> Author: Stefan E=DFer > >> AuthorDate: 2023-02-01 16:24:18 +0000 > >> Commit: Stefan E=DFer > >> CommitDate: 2023-02-01 16:24:18 +0000 > >>=20 > >> sys/kbio.h: support Unicode key codes in vt keymap files > >>=20 > >> Some keyboard definitions return Unicode characters that cannot be > >> represented in the 8 bits provided by an u_char. > >>=20 > >> Extend then width of the keycode entries to 16 bits to allow for all > >> keycodes currently defined in share/vt/keymaps/*,kbd. > >>=20 > >> Reported by: yuri@aetern.org > >> MFC after: 3 days > >> --- > >> sys/sys/kbio.h | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >>=20 > >> diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h > >> index 7f17bda76c51..b0779f5ed114 100644 > >> --- a/sys/sys/kbio.h > >> +++ b/sys/sys/kbio.h > >> @@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t; > >>=20 > >> struct acc_t { > >> u_char accchar; > >> - u_char map[NUM_ACCENTCHARS][2]; > >> + u_short map[NUM_ACCENTCHARS][2]; > >=20 > > This breaks ABI for [GP]IO_DEADKEYMAP. >=20 > Ping. This is important, especially with the MFC after. >=20 > This should be reverted and re-landed with compat IMO. >=20 > Jess Also more importantly it should be discussed. Are we sure that this modification will be enough for all keymaps ? > >> }; > >>=20 > >> struct accentmap { >=20 --=20 Emmanuel Vadot From nobody Thu Feb 2 08:10:03 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P6s0C3mgnz3cDrC; Thu, 2 Feb 2023 08:10: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 4P6s0C2JFdz3LvB; Thu, 2 Feb 2023 08:10:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675325403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LDNed+f6ZnrfCey0qcqOdw6tQD2+G3yjU9bQRy0DPyY=; b=yt8WtMSVX00lX2/jYWCF+OgN7pHsogQaLVAZzE0hAAtJWFmhBgv2UkYSWP5n5l7Poh//ZR 3j8G4GC7mZJoL9P2ESaNmCI5me9WQSdNg76VP8rJ9yNIPg/GGZgcv1Djo7rLSIe9RzESB/ NEYXAND127I7AgvJNpoUJXvMCdLmvdXOinfvRTLreck3y+t6VDihP7CFYGGMP5LKP9/KDd p1aPYW3tsv7HrLJQEOWi0docDTZxSetjnddrm+wwdRfQpNfLa8GovOa1qx6W4xZ6k3NnKM 1p8yH6IIdnx7KFvelDTLmvT/yQ1vsb1pQ8cREDMj56PsMZ0AqM/48NqNOTYPSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675325403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LDNed+f6ZnrfCey0qcqOdw6tQD2+G3yjU9bQRy0DPyY=; b=HA/HMiNcPIQFl4KX/K2ydbhBQbHBy+hZEPsKL1pU3X4FM0eW/8xKkkjMQmIwWT8+Ylnu65 el9joM5aGr0sb13y2Fj1F1nqGmLACS6tlwKhztYTXENCACUOU9Yo9kBELEl2GdL1a9U7k8 P651efzlqAGXWZWWv8S9yl+Yh3WloL+8CT7+wUKzYXkzgluQiiY6WKYfAnCCLMCkuT5yZA 1l8610RQcwSAsF0r5fgcWyWPAnF3gI5ebw7F+AQQQxvjybFRYSScxGBsDNVOtbmRtTBaTQ FQUhOLWS8BMO5W9eayLjQi3s1X+mHgRBlX1apsmly5S9Wh8KBfy+0E1R/ZZ84A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675325403; a=rsa-sha256; cv=none; b=L/pjZE6iSoi6IMT7NCpA9WGLhQi2IWU0HqtuoJZzG4Xxv94u1qDUpW1RfQHcVGHpiEPH7I MGVCovyDWkRpZoYhG/yNmdap6j+flOqDS+AGK9tQKrQljYlTdc1KSjp/XNIYag89rUA57Y LtvTS9poNn5a0gN4QHTW8iOWCw2EooTkB52nwonFD7/zRUdHbRbXEbHF5fblUEfoW2/XqC wudEMqDgCMLphhTF/zvaBX9UeaCJ0NYrPUGsNcoEjIgUHNdndkfVQva0xQctmXXAg8i6cf YmI7RO/CLRmI1je489LlpBcx+NmEHVTKDUUjlybkzUTLcIhd/vpwuzMozeG70g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P6s0C1F9TznMn; Thu, 2 Feb 2023 08:10:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3128A3eZ008064; Thu, 2 Feb 2023 08:10:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3128A3Ln008061; Thu, 2 Feb 2023 08:10:03 GMT (envelope-from git) Date: Thu, 2 Feb 2023 08:10:03 GMT Message-Id: <202302020810.3128A3Ln008061@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Stefan=20E=C3=9Fer?= Subject: git: f7e5465cb597 - main - Revert "sys/kbio.h: support Unicode key codes in vt keymap files" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: se X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f7e5465cb597d213ddff93e957d16f84cdc26951 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=f7e5465cb597d213ddff93e957d16f84cdc26951 commit f7e5465cb597d213ddff93e957d16f84cdc26951 Author: Stefan Eßer AuthorDate: 2023-02-02 08:05:43 +0000 Commit: Stefan Eßer CommitDate: 2023-02-02 08:05:43 +0000 Revert "sys/kbio.h: support Unicode key codes in vt keymap files" It has been pointed out, that this change causes ABI breakage for [GP]IO_DEADKEYMAP. I'll create a review on phabricator. Since the 8 bit limit on keycodes causes issues for certain keymaps, a fix should be committed in time to allow a MFC to 13.2. This reverts commit 1e0853ee84031e4131a0b8cc8737696f199d3d4c. Reported by: Jessica Clarke --- sys/sys/kbio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h index b0779f5ed114..7f17bda76c51 100644 --- a/sys/sys/kbio.h +++ b/sys/sys/kbio.h @@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t; struct acc_t { u_char accchar; - u_short map[NUM_ACCENTCHARS][2]; + u_char map[NUM_ACCENTCHARS][2]; }; struct accentmap { From nobody Thu Feb 2 14:46:38 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P71nq0k7rz3fK2w; Thu, 2 Feb 2023 14:46: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 4P71nq0Bqzz4krt; Thu, 2 Feb 2023 14:46:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+A60CP4PgzHIDOo6iApJLMuAWSsRdlUbT0KvvZrsNeU=; b=JNopZbNiCXptX2TzywN0c4Vbxz3cSi57BgqdKrL86/Q2a6kzVW/96t72m12f+6EfqLBd2v BrF7t3pbWQjuuMAJ4j/sx9XOVd8IXVJ8AHt89ARXJrwsBjqXdCaaz07wZ0gSLFXFNCEUli bnYWrVDW/u+pRwFLts2aMnUDk7WGKG7o/08jG2TPan0y+XQ2Ul2FwMm4NwUPugdDkYZC8h wKvo1qTLoVArK53vgmLcYDSb+Y6tVRUUkzwZuxu5zYa40aalQYE5MwFxgNXmLkGbtvkBlw msMCBgE3EcIz/RL9r/vYfZVI1EcyLVwpXU2tLjzm2tt/UKrknLcTUX5Lqz846w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+A60CP4PgzHIDOo6iApJLMuAWSsRdlUbT0KvvZrsNeU=; b=B1oe5ezw0YtN7fDawwytA9xUIqFBEQt44gJOKZsvTWtg/g5UTd7eJOwvg1ojQLboAeDk/3 BBHBpycXPGvFymKBpNtvHaFBTR8IUfwvmM+I6rXvMjCowIvShvYhSZoztfLOVG7N/WOOJi 6MbPbLA3TtdIVgtlP2dhr6b/QR7Hg18SITfFrhKSvseCL8jyVY56+yg3bBaHVKY3YLAo3g hySesQJw5ekQR/k9uX3d9r3XlAghOinK1GTJlRkvEaNjnwrnw3qV9Hm1js4xAh1jQA7Up8 gEJjdotT2uBIcab9rcmUL/pLRBuO6k8hfDycvcv7J26e6jMYAwFFALv2tvpZcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675349199; a=rsa-sha256; cv=none; b=MiSJzQI/VdlCDwFvAt0QOm7Qoe78LO8oNcm/nf6usGAXl1HYiq0545htwXHPRhHBwk+VT2 y3+m36Kl8j692K3UIYY7F91wuQeT3ogUO9hRiCGtRiHO7LY7u0bLoMgMJNRFb4VGD6e1tk Tf+RW7cMdShmavY7YzH5DKjWS2Zv1EtxE/BI+IDiTBZa6vD1mvtCTwFsaZ+9lWw+qw7YKv BJm5p1e6gMFYP42SJ1mc56og6I5mSH4xMjHvwQWN7eZA164PC8w74l937GCo8a/j6I1iby /zt4f5JAQkavSOC+rJHGCH3L1KwasNIgrYiuSakCIPAUf8HShTNnRaWFGpsSPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P71np6N2Lzy4l; Thu, 2 Feb 2023 14:46:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312EkcTT077174; Thu, 2 Feb 2023 14:46:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312EkcDd077173; Thu, 2 Feb 2023 14:46:38 GMT (envelope-from git) Date: Thu, 2 Feb 2023 14:46:38 GMT Message-Id: <202302021446.312EkcDd077173@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 606d0e4a9a86 - main - libc: Add tests for strchrnul(3). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 606d0e4a9a862a7b4e3469a084834ca0e888afa4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=606d0e4a9a862a7b4e3469a084834ca0e888afa4 commit 606d0e4a9a862a7b4e3469a084834ca0e888afa4 Author: Dag-Erling Smørgrav AuthorDate: 2023-02-01 20:06:20 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-02 14:45:45 +0000 libc: Add tests for strchrnul(3). MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D38286 --- contrib/netbsd-tests/lib/libc/string/t_strchr.c | 12 +- contrib/netbsd-tests/lib/libc/string/t_strchrnul.c | 293 +++++++++++++++++++++ lib/libc/tests/string/Makefile | 1 + 3 files changed, 300 insertions(+), 6 deletions(-) diff --git a/contrib/netbsd-tests/lib/libc/string/t_strchr.c b/contrib/netbsd-tests/lib/libc/string/t_strchr.c index 5dd9a62213ab..4bc304e71267 100644 --- a/contrib/netbsd-tests/lib/libc/string/t_strchr.c +++ b/contrib/netbsd-tests/lib/libc/string/t_strchr.c @@ -1,4 +1,4 @@ -/* $NetBSD: t_strchr.c,v 1.2 2017/01/10 15:34:49 christos Exp $ */ +/* $NetBSD: t_strchr.c,v 1.3 2023/01/30 19:49:49 christos Exp $ */ /* * Written by J.T. Conklin @@ -247,7 +247,7 @@ ATF_TC_BODY(strchr_basic, tc) }; dl_handle = dlopen(NULL, RTLD_LAZY); - strchr_fn = dlsym(dl_handle, "test_strlen"); + strchr_fn = dlsym(dl_handle, "test_strchr"); if (!strchr_fn) strchr_fn = strchr; @@ -269,11 +269,11 @@ ATF_TC_BODY(strchr_basic, tc) /* Then for the '/' in the strings */ verify_strchr(buf + a, '/', t, a); - /* check zero extension of char arg */ - verify_strchr(buf + a, 0xffffff00 | '/', t, a); + /* check zero extension of char arg */ + verify_strchr(buf + a, 0xffffff00 | '/', t, a); - /* Replace all the '/' with 0xff */ - while ((off = slow_strchr(buf + a, '/')) != NULL) + /* Replace all the '/' with 0xff */ + while ((off = slow_strchr(buf + a, '/')) != NULL) *off = 0xff; buf[a + len] = 0xff; diff --git a/contrib/netbsd-tests/lib/libc/string/t_strchrnul.c b/contrib/netbsd-tests/lib/libc/string/t_strchrnul.c new file mode 100644 index 000000000000..62ac702523aa --- /dev/null +++ b/contrib/netbsd-tests/lib/libc/string/t_strchrnul.c @@ -0,0 +1,293 @@ +/* $NetBSD: t_strchrnul.c,v 1.1 2023/01/30 19:49:49 christos Exp $ */ + +/* + * Written by J.T. Conklin + * Public domain. + */ + +#include +#include +#include +#include +#include +#include + +static char *slow_strchrnul(char *, int); +static void verify_strchrnul(char *, int, unsigned int, unsigned int); + +char * (*volatile strchrnul_fn)(const char *, int); + +static char * +slow_strchrnul(char *buf, int ch) +{ + unsigned char c = 1; + + ch &= 0xff; + + for (; ; buf++) { + c = *buf; + if (c == ch || c == 0) + return buf; + } +} + +static void +verify_strchrnul(char *buf, int ch, unsigned int t, unsigned int a) +{ + const char *off, *ok_off; + + off = strchrnul_fn(buf, ch); + ok_off = slow_strchrnul(buf, ch); + if (off == ok_off) + return; + + fprintf(stderr, "test_strchrnul(\"%s\", %#x) gave %zd not %zd (test %d, " + "alignment %d)\n", + buf, ch, off ? off - buf : -1, ok_off ? ok_off - buf : -1, t, a); + + atf_tc_fail("Check stderr for details"); +} + +ATF_TC(strchrnul_basic); +ATF_TC_HEAD(strchrnul_basic, tc) +{ + + atf_tc_set_md_var(tc, "descr", "Test strchrnul(3) results"); +} + +ATF_TC_BODY(strchrnul_basic, tc) +{ + void *dl_handle; + char *off; + char buf[32]; + unsigned int t, a; + + const char *tab[] = { + "", + "a", + "aa", + "abc", + "abcd", + "abcde", + "abcdef", + "abcdefg", + "abcdefgh", + + "/", + "//", + "/a", + "/a/", + "/ab", + "/ab/", + "/abc", + "/abc/", + "/abcd", + "/abcd/", + "/abcde", + "/abcde/", + "/abcdef", + "/abcdef/", + "/abcdefg", + "/abcdefg/", + "/abcdefgh", + "/abcdefgh/", + + "a/", + "a//", + "a/a", + "a/a/", + "a/ab", + "a/ab/", + "a/abc", + "a/abc/", + "a/abcd", + "a/abcd/", + "a/abcde", + "a/abcde/", + "a/abcdef", + "a/abcdef/", + "a/abcdefg", + "a/abcdefg/", + "a/abcdefgh", + "a/abcdefgh/", + + "ab/", + "ab//", + "ab/a", + "ab/a/", + "ab/ab", + "ab/ab/", + "ab/abc", + "ab/abc/", + "ab/abcd", + "ab/abcd/", + "ab/abcde", + "ab/abcde/", + "ab/abcdef", + "ab/abcdef/", + "ab/abcdefg", + "ab/abcdefg/", + "ab/abcdefgh", + "ab/abcdefgh/", + + "abc/", + "abc//", + "abc/a", + "abc/a/", + "abc/ab", + "abc/ab/", + "abc/abc", + "abc/abc/", + "abc/abcd", + "abc/abcd/", + "abc/abcde", + "abc/abcde/", + "abc/abcdef", + "abc/abcdef/", + "abc/abcdefg", + "abc/abcdefg/", + "abc/abcdefgh", + "abc/abcdefgh/", + + "abcd/", + "abcd//", + "abcd/a", + "abcd/a/", + "abcd/ab", + "abcd/ab/", + "abcd/abc", + "abcd/abc/", + "abcd/abcd", + "abcd/abcd/", + "abcd/abcde", + "abcd/abcde/", + "abcd/abcdef", + "abcd/abcdef/", + "abcd/abcdefg", + "abcd/abcdefg/", + "abcd/abcdefgh", + "abcd/abcdefgh/", + + "abcde/", + "abcde//", + "abcde/a", + "abcde/a/", + "abcde/ab", + "abcde/ab/", + "abcde/abc", + "abcde/abc/", + "abcde/abcd", + "abcde/abcd/", + "abcde/abcde", + "abcde/abcde/", + "abcde/abcdef", + "abcde/abcdef/", + "abcde/abcdefg", + "abcde/abcdefg/", + "abcde/abcdefgh", + "abcde/abcdefgh/", + + "abcdef/", + "abcdef//", + "abcdef/a", + "abcdef/a/", + "abcdef/ab", + "abcdef/ab/", + "abcdef/abc", + "abcdef/abc/", + "abcdef/abcd", + "abcdef/abcd/", + "abcdef/abcde", + "abcdef/abcde/", + "abcdef/abcdef", + "abcdef/abcdef/", + "abcdef/abcdefg", + "abcdef/abcdefg/", + "abcdef/abcdefgh", + "abcdef/abcdefgh/", + + "abcdefg/", + "abcdefg//", + "abcdefg/a", + "abcdefg/a/", + "abcdefg/ab", + "abcdefg/ab/", + "abcdefg/abc", + "abcdefg/abc/", + "abcdefg/abcd", + "abcdefg/abcd/", + "abcdefg/abcde", + "abcdefg/abcde/", + "abcdefg/abcdef", + "abcdefg/abcdef/", + "abcdefg/abcdefg", + "abcdefg/abcdefg/", + "abcdefg/abcdefgh", + "abcdefg/abcdefgh/", + + "abcdefgh/", + "abcdefgh//", + "abcdefgh/a", + "abcdefgh/a/", + "abcdefgh/ab", + "abcdefgh/ab/", + "abcdefgh/abc", + "abcdefgh/abc/", + "abcdefgh/abcd", + "abcdefgh/abcd/", + "abcdefgh/abcde", + "abcdefgh/abcde/", + "abcdefgh/abcdef", + "abcdefgh/abcdef/", + "abcdefgh/abcdefg", + "abcdefgh/abcdefg/", + "abcdefgh/abcdefgh", + "abcdefgh/abcdefgh/", + }; + + dl_handle = dlopen(NULL, RTLD_LAZY); + strchrnul_fn = dlsym(dl_handle, "test_strchrnul"); + if (!strchrnul_fn) + strchrnul_fn = strchrnul; + + for (a = 3; a < 3 + sizeof(long); ++a) { + /* Put char and a \0 before the buffer */ + buf[a-1] = '/'; + buf[a-2] = '0'; + buf[a-3] = 0xff; + for (t = 0; t < (sizeof(tab) / sizeof(tab[0])); ++t) { + int len = strlen(tab[t]) + 1; + memcpy(&buf[a], tab[t], len); + + /* Put the char we are looking for after the \0 */ + buf[a + len] = '/'; + + /* Check search for NUL at end of string */ + verify_strchrnul(buf + a, 0, t, a); + + /* Then for the '/' in the strings */ + verify_strchrnul(buf + a, '/', t, a); + + /* check zero extension of char arg */ + verify_strchrnul(buf + a, 0xffffff00 | '/', t, a); + + /* Replace all the '/' with 0xff */ + while (*(off = slow_strchrnul(buf + a, '/')) != '\0') + *off = 0xff; + + buf[a + len] = 0xff; + + /* Check we can search for 0xff as well as '/' */ + verify_strchrnul(buf + a, 0xff, t, a); + } + } + (void)dlclose(dl_handle); +} + +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, strchrnul_basic); + + return atf_no_error(); +} diff --git a/lib/libc/tests/string/Makefile b/lib/libc/tests/string/Makefile index eacf7e15c27c..5d1944113a1a 100644 --- a/lib/libc/tests/string/Makefile +++ b/lib/libc/tests/string/Makefile @@ -18,6 +18,7 @@ NETBSD_ATF_TESTS_C+= memmem_test NETBSD_ATF_TESTS_C+= memset_test NETBSD_ATF_TESTS_C+= strcat_test NETBSD_ATF_TESTS_C+= strchr_test +NETBSD_ATF_TESTS_C+= strchrnul_test NETBSD_ATF_TESTS_C+= strcmp_test NETBSD_ATF_TESTS_C+= strcpy_test NETBSD_ATF_TESTS_C+= strcspn_test From nobody Thu Feb 2 14:46:39 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P71nr1pp7z3fJxG; Thu, 2 Feb 2023 14:46: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 4P71nr12Xmz4fkC; Thu, 2 Feb 2023 14:46:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mAvyhJUOgDe2RWO7otur73dRMncgQFULO8WwxwNRNsM=; b=pIJok1rLYuKKMHSAcra0/YklDBeJWiXNOpY8pjteJh6izYETBA47EKVPPPSxViV9RxnBow 6FfSuNKG+TaNK4rueLZn2i3EgsWyUW8hEWRuq0aDeoEHcUxdzgatTFPkpkWNLzVzLEzaKS M11vDGWqMAZ2Qfxzo3+0G1XhNZvqf8rbkb2leLRlDbwW2Lya4NEVzvdzmoc91YSCcG4g6i YrCJrw1hocosi712FdYFIyDY+7EAOF/8oeo3XWZvbAx6uVtXYJlyOB/Q9WjbzzEDOX5GVt Oco3OSd6HZrSBT7Ogy2XZY4A7Tc1/9u6WwOzyK24z0xe2YO+U7xr6t9dutV5HA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mAvyhJUOgDe2RWO7otur73dRMncgQFULO8WwxwNRNsM=; b=UhWBFbLa1MsJ0cq2ZEZmbIpASc34TLhisGLhhZognfwcpKnC8+hSeC4pkZ9E7SC6AeiTzX Ek1z3WU5dHK4sizrjWZwbf5hkyuPail6ULr5UtP4O9a6us4Mcgf0OEkpDF10F9A5IXOnN1 SCY+9JcWmoso6pnHhe65/ZNooNbJxDY/MOkjgEIIhGoWBguw5P9XH0pbWPAPSiJodNrwsD fsHYEd04CSQsFR5Pa6yHlAVNDjIcJqbQ5quZtnD5l1ELcrZVH+saPIiQSZ0Yq2fMOTXQSu uuya/n9iY2aGHHXft3IZtMgPDzi6zi5lXFiODDUMBpbSJ9lGNRufbJAtQVUqeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675349200; a=rsa-sha256; cv=none; b=caaXHgASW2eDafKUJht80bt3blqKW5xrEkbBbnIxg6n/5G+neaTEdxxzkQcFCbTcalvClY LiI4caCjxZJNBGIyDV0Gq7hsq5q7PsMqpZ/SFie+5p164L6JRmTbS5qjWpv2v/M0cVFFEl fFSe6flGwPj0RQCS5HiGtcz1Q5z7nf9w/+xjAgid98SSK3L5tuun+ja0JRiOHCnQen8Xh8 Izis48FwOgs0MKdOt2KBOU/IQIljcE9u9gEPVFZFImukC8UQNu+WEWhm64nLWARaTth0k0 d0LlhmzzhT2ZbQplD0EYUGQw9QC7sVlpNmY7nfv4KmYg1/Jur5aEnn3TpG9xtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P71nr043Qzy4m; Thu, 2 Feb 2023 14:46:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312Ekdh5077209; Thu, 2 Feb 2023 14:46:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312EkdBq077208; Thu, 2 Feb 2023 14:46:39 GMT (envelope-from git) Date: Thu, 2 Feb 2023 14:46:39 GMT Message-Id: <202302021446.312EkdBq077208@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 822fa7ae1e3e - main - cp: Add tests involving sparse files. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 822fa7ae1e3e7ed277e47e6de355387e524c6ee4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=822fa7ae1e3e7ed277e47e6de355387e524c6ee4 commit 822fa7ae1e3e7ed277e47e6de355387e524c6ee4 Author: Dag-Erling Smørgrav AuthorDate: 2023-02-01 20:06:24 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-02 14:45:55 +0000 cp: Add tests involving sparse files. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D38290 --- bin/cp/tests/cp_test.sh | 90 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/bin/cp/tests/cp_test.sh b/bin/cp/tests/cp_test.sh index 7362168d7303..932bd2221ba3 100755 --- a/bin/cp/tests/cp_test.sh +++ b/bin/cp/tests/cp_test.sh @@ -199,6 +199,91 @@ recursive_link_Lflag_body() '(' ! -L foo-mirror/foo/baz ')' } +file_is_sparse() +{ + atf_check test "$(stat -f "%b" "$1")" != "$(stat -f "%z" "$1")" +} + +files_are_equal() +{ + atf_check test "$(stat -f "%d %i" "$1")" != "$(stat -f "%d %i" "$2")" + atf_check cmp "$1" "$2" +} + +atf_test_case sparse_leading_hole +sparse_leading_hole_body() +{ + # A one-megabyte hole followed by one megabyte of data + truncate -s 1M foo + seq -f%015g 65536 >>foo + file_is_sparse foo + + atf_check cp foo bar + files_are_equal foo bar + file_is_sparse bar +} + +atf_test_case sparse_multiple_holes +sparse_multiple_holes_body() +{ + # Three one-megabyte blocks of data preceded, separated, and + # followed by one-megabyte holes + truncate -s 1M foo + seq -f%015g >>foo + truncate -s 3M foo + seq -f%015g >>foo + truncate -s 5M foo + seq -f%015g >>foo + truncate -s 7M foo + file_is_sparse foo + + atf_check cp foo bar + files_are_equal foo bar + file_is_sparse bar +} + +atf_test_case sparse_only_hole +sparse_only_hole_body() +{ + # A one-megabyte hole + truncate -s 1M foo + file_is_sparse foo + + atf_check cp foo bar + files_are_equal foo bar + file_is_sparse bar +} + +atf_test_case sparse_to_dev +sparse_to_dev_body() +{ + # Three one-megabyte blocks of data preceded, separated, and + # followed by one-megabyte holes + truncate -s 1M foo + seq -f%015g >>foo + truncate -s 3M foo + seq -f%015g >>foo + truncate -s 5M foo + seq -f%015g >>foo + truncate -s 7M foo + file_is_sparse foo + + atf_check -o file:foo cp foo /dev/stdout +} + +atf_test_case sparse_trailing_hole +sparse_trailing_hole_body() +{ + # One megabyte of data followed by a one-megabyte hole + seq -f%015g 65536 >foo + truncate -s 2M foo + file_is_sparse foo + + atf_check cp foo bar + files_are_equal foo bar + file_is_sparse bar +} + atf_test_case standalone_Pflag standalone_Pflag_body() { @@ -221,5 +306,10 @@ atf_init_test_cases() atf_add_test_case recursive_link_dflt atf_add_test_case recursive_link_Hflag atf_add_test_case recursive_link_Lflag + atf_add_test_case sparse_leading_hole + atf_add_test_case sparse_multiple_holes + atf_add_test_case sparse_only_hole + atf_add_test_case sparse_to_dev + atf_add_test_case sparse_trailing_hole atf_add_test_case standalone_Pflag } From nobody Thu Feb 2 14:46:41 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P71ns2Rx6z3fK13; Thu, 2 Feb 2023 14:46:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P71ns1cMhz4l1M; Thu, 2 Feb 2023 14:46:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jDcPxhk6rvqWw09tEcmCA0MJgrZUWdeFutvgjIrhRYI=; b=hqAGGMZEwpTUVA83moGHNbzB43kUhvvU1SFCPaUn1O2BnJ2kaMNPt4bQmQl0YlzwjsKUUY yeAt6jA3qgfRMs1XNRfhpMgClIbDxwqL4lADSSux3CmHsNAoixZaFtInoipj01oBzvF7SO T3dSuBWibeR4bejTpjOwyHue3l4AZrm8UAadFkd4WZ/txO0YlzAIJcjk7c0W8rnp7pNLZ4 kRKuoWT8AMqkra3SJEVTl4Cx6haG0QGieDYoAv5jFNLrLPoufhU1TbLkw+Q2BmWtrt8cf7 GULBArIW0r4ULpVakPtguiF4EOvxqtGNRiSJZieiY9vyz4pLhGxeHuA+Ib7ReQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jDcPxhk6rvqWw09tEcmCA0MJgrZUWdeFutvgjIrhRYI=; b=vZjnBs3xlA/qy7dyrohwD5DaCWn+3g6SWMbFZB13a5IJXYSm0OM16EOjsvc12keQRSikX7 KUHJ4Z/Pd8O0mIZdzf0pM8ntC7dfi4iqfDAOVTmZpZ5VXD6kN/y0uFwdu8Dy+2PxlEIY11 pah0bkXaQSFT5ZbLMBLcjVA+E8fLpj099x8ZKeMVDaTk0LApMzYwGgjGDWkYBxGa+2UsOp ZyyveCBwdGmQUoL6Fz3upTPCfcLb8K7hTPJ/CAsRfBGJruk7gbjpOry+9y0iGZeqS34NGP CbbVDrG5otIdw6Cnqiv3r1pr5vq1YhiR3bIbwvvYNnq0tBlQ82GSHiKjUZP/YQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675349201; a=rsa-sha256; cv=none; b=MU2z7yji3N59E3eiKig5dexGXzWBtd61p2UHTrjKV9BUHHNnJr7K6YhoYBvMVfuDbZapHE zjNQd00T3PtGas8afjzx0KNbzNfx+CYKXV6wwzi7BX+/8naCtnMAPR5d3w1DqiUhFmK4/d 10Bask+2zb87WqDDsaq3AgCwNvMPRbQoRAbYZhw8CDTI8A9lrC4PxpOhINhMO8Pi4OqRSI PwpdNxZ7qGOiTPA71eMX6TtYSFlexr5eZdG5dlVOzHXw8MuhDqEGgrV+j0MzrD/HZC6pmT M/hf/aEGDhkmIhIpM9PH1pfoIRwodAABw8vu2dOcqYmz3+IhTl5CC95bGc/bMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P71ns0fYZzy4n; Thu, 2 Feb 2023 14:46:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312Ekfpn077241; Thu, 2 Feb 2023 14:46:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312EkfiB077240; Thu, 2 Feb 2023 14:46:41 GMT (envelope-from git) Date: Thu, 2 Feb 2023 14:46:41 GMT Message-Id: <202302021446.312EkfiB077240@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 6c85042afcbb - main - cp: Simplify the common case. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6c85042afcbbf4cd0fb7e7c03226c7249081e690 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=6c85042afcbbf4cd0fb7e7c03226c7249081e690 commit 6c85042afcbbf4cd0fb7e7c03226c7249081e690 Author: Dag-Erling Smørgrav AuthorDate: 2023-02-01 20:06:28 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-02 14:46:04 +0000 cp: Simplify the common case. * The allocated buffer is only used in the fallback case, so move it there. The argument for passing it in from the caller was that if malloc(3) were to fail, we'd want it to fail before we started copying anything, but firstly, it was already not in the right place to ensure that, and secondly, malloc(3) never fails (except in very contrived circumstances, such as an unreasonable RLIMIT_AS or RLIMIT_DATA). * Remove the mmap(2) option. It is almost never beneficial, especially when the alternative is copy_file_range(2), and it adds needless complexity and indentation. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: rmacklem, mav Differential Revision: https://reviews.freebsd.org/D38291 --- bin/cp/Makefile | 2 +- bin/cp/utils.c | 122 +++++++++++++++----------------------------------------- 2 files changed, 34 insertions(+), 90 deletions(-) diff --git a/bin/cp/Makefile b/bin/cp/Makefile index 0c4c7b5eff53..a73ee5447769 100644 --- a/bin/cp/Makefile +++ b/bin/cp/Makefile @@ -6,7 +6,7 @@ PACKAGE=runtime PROG= cp SRCS= cp.c utils.c -CFLAGS+= -DVM_AND_BUFFER_CACHE_SYNCHRONIZED -D_ACL_PRIVATE +CFLAGS+= -D_ACL_PRIVATE HAS_TESTS= SUBDIR.${MK_TESTS}= tests diff --git a/bin/cp/utils.c b/bin/cp/utils.c index 07de0495ba9e..a3a498714f43 100644 --- a/bin/cp/utils.c +++ b/bin/cp/utils.c @@ -41,9 +41,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED -#include -#endif #include #include @@ -75,11 +72,22 @@ __FBSDID("$FreeBSD$"); #define BUFSIZE_SMALL (MAXPHYS) static ssize_t -copy_fallback(int from_fd, int to_fd, char *buf, size_t bufsize) +copy_fallback(int from_fd, int to_fd) { + static char *buf = NULL; + static size_t bufsize; ssize_t rcount, wresid, wcount = 0; char *bufp; + if (buf == NULL) { + if (sysconf(_SC_PHYS_PAGES) > PHYSPAGES_THRESHOLD) + bufsize = MIN(BUFSIZE_MAX, MAXPHYS * 8); + else + bufsize = BUFSIZE_SMALL; + buf = malloc(bufsize); + if (buf == NULL) + err(1, "Not enough memory"); + } rcount = read(from_fd, buf, bufsize); if (rcount <= 0) return (rcount); @@ -96,16 +104,10 @@ copy_fallback(int from_fd, int to_fd, char *buf, size_t bufsize) int copy_file(const FTSENT *entp, int dne) { - static char *buf = NULL; - static size_t bufsize; struct stat *fs; ssize_t wcount; off_t wtotal; int ch, checkch, from_fd, rval, to_fd; -#ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED - size_t wresid; - char *bufp, *p; -#endif int use_copy_file_range = 1; from_fd = to_fd = -1; @@ -174,89 +176,31 @@ copy_file(const FTSENT *entp, int dne) rval = 0; if (!lflag && !sflag) { - /* - * Mmap and write if less than 8M (the limit is so we don't - * totally trash memory on big files. This is really a minor - * hack, but it wins some CPU back. - * Some filesystems, such as smbnetfs, don't support mmap, - * so this is a best-effort attempt. - */ -#ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED - if (S_ISREG(fs->st_mode) && fs->st_size > 0 && - fs->st_size <= 8 * 1024 * 1024 && - (p = mmap(NULL, (size_t)fs->st_size, PROT_READ, - MAP_SHARED, from_fd, (off_t)0)) != MAP_FAILED) { - wtotal = 0; - for (bufp = p, wresid = fs->st_size; ; - bufp += wcount, wresid -= (size_t)wcount) { - wcount = write(to_fd, bufp, wresid); - if (wcount <= 0) - break; - wtotal += wcount; - if (info) { - info = 0; - (void)fprintf(stderr, - "%s -> %s %3d%%\n", - entp->fts_path, to.p_path, - cp_pct(wtotal, fs->st_size)); + wtotal = 0; + do { + if (use_copy_file_range) { + wcount = copy_file_range(from_fd, NULL, + to_fd, NULL, SSIZE_MAX, 0); + if (wcount < 0 && errno == EINVAL) { + /* Prob a non-seekable FD */ + use_copy_file_range = 0; } - if (wcount >= (ssize_t)wresid) - break; } - if (wcount != (ssize_t)wresid) { - warn("%s", to.p_path); - rval = 1; + if (!use_copy_file_range) { + wcount = copy_fallback(from_fd, to_fd); } - /* Some systems don't unmap on close(2). */ - if (munmap(p, fs->st_size) < 0) { - warn("%s", entp->fts_path); - rval = 1; - } - } else -#endif - { - if (buf == NULL) { - /* - * Note that buf and bufsize are static. If - * malloc() fails, it will fail at the start - * and not copy only some files. - */ - if (sysconf(_SC_PHYS_PAGES) > - PHYSPAGES_THRESHOLD) - bufsize = MIN(BUFSIZE_MAX, MAXPHYS * 8); - else - bufsize = BUFSIZE_SMALL; - buf = malloc(bufsize); - if (buf == NULL) - err(1, "Not enough memory"); - } - wtotal = 0; - do { - if (use_copy_file_range) { - wcount = copy_file_range(from_fd, NULL, - to_fd, NULL, SSIZE_MAX, 0); - if (wcount < 0 && errno == EINVAL) { - /* Prob a non-seekable FD */ - use_copy_file_range = 0; - } - } - if (!use_copy_file_range) { - wcount = copy_fallback(from_fd, to_fd, - buf, bufsize); - } - wtotal += wcount; - if (info) { - info = 0; - (void)fprintf(stderr, - "%s -> %s %3d%%\n", - entp->fts_path, to.p_path, - cp_pct(wtotal, fs->st_size)); - } - } while (wcount > 0); - if (wcount < 0) { - warn("%s", entp->fts_path); - rval = 1; + wtotal += wcount; + if (info) { + info = 0; + (void)fprintf(stderr, + "%s -> %s %3d%%\n", + entp->fts_path, to.p_path, + cp_pct(wtotal, fs->st_size)); } + } while (wcount > 0); + if (wcount < 0) { + warn("%s", entp->fts_path); + rval = 1; } } else if (lflag) { if (link(entp->fts_path, to.p_path)) { From nobody Thu Feb 2 14:59:04 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P72492B7hz3fkJm; Thu, 2 Feb 2023 14:59: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 4P72490pj5z3F3j; Thu, 2 Feb 2023 14:59:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dc8Y5a0xWIOPZuKQ9xBm70I1Bj9sM/DfSmfAaXAoFTE=; b=kQLrb9nwzmUit6PRlzccvOA+ibYYxzqpadPFllIIwCUWgDGTKfEUP1NvRMBgb875d11NKt 6DFpGOF3m9FQyv1xh8WpZbGPIyOapUlwA26JHG+k57ik25jR+av6AmrNqPEuREmC3XXl5+ onQitbp6qk4ElNxYXja5TbNMS13ANF9aje7lqIirs9H3+pWddwNH15vLEVClH1S/qLAkxX EveneEKZeZkA4EpjOi/QStnEoVrKziGd/cy3k1nOTX1rURI7+utx07ZgTLjT1HGt6Sn0cX kuBHsOMNyj4ANaFbQ3dkLkU3WT7jf6w/Cxgua/WNdMnQX3fVvpNP/itbWoNLiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dc8Y5a0xWIOPZuKQ9xBm70I1Bj9sM/DfSmfAaXAoFTE=; b=RZTZz2FvGm+ECDa9/wdZbjCv7yduTHP38dGikKUzjQBj0rn4tpRmFoTWeVxYtlvIUFX4sA hEyqieCiGw4izxEs/c8t3S/9QvYkM40uAxzjJNnoQCR4Rehc9RQvqPP13JInGVpAQnxNyd O7at2Pc3mQRVCm1K7mkzovqbtPc0wyLe0Ypea3BuFvEbeo2E2+E5mA6chz7/F5rthgxqDE v7z35HEXUZrN7M0oNdlaMAhhcTvBJdndEHIceSgMfIifTcR7hEx3bAqIrKMZ1yRpehBFCo /dzrRB5j2XNrikr7Z1IFKeXiQX8un6gk7buZEN4l5J1SyKwYII6pXK1fIQ427g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675349945; a=rsa-sha256; cv=none; b=DWaFvPpkCFIqOgQDDKf6LEHYBUiqxk11936Kz5gUWs8ql5sGi1l2cq8R46k01NoE8HG8tE SE+Tz4bER+aJtE0ybW7eW91TJkjvdbF5PQ50UK+cJQNtyRvt6j+75c40R66TpX6cUm7gkH uvAzp6ThQNNeg5PEnIZeWD2uLhvkLjXbxxqpGsxgWpf3JZ06Znsxmivrs6nkXzoyNWpPba wSvcOdtVrjj2WKYrEcWE6tivqkP6u5HLZVS20/PTTdRjhx0FrU58n88cFtyALTrzzZTKTk rFv0pEGD1oX3r5p6b4XR4crd0gekB2NwImXgYSDKDtImz1We2dAB3YOPuuaqig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P72486lB2zyS3; Thu, 2 Feb 2023 14:59:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312Ex4JS092037; Thu, 2 Feb 2023 14:59:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312Ex4q1092036; Thu, 2 Feb 2023 14:59:04 GMT (envelope-from git) Date: Thu, 2 Feb 2023 14:59:04 GMT Message-Id: <202302021459.312Ex4q1092036@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 7446514533a4 - main - linux(4): Microoptimize linux_elf.h for future use. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 7446514533a40b376eaeb349ea33531ce9c711c2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=7446514533a40b376eaeb349ea33531ce9c711c2 commit 7446514533a40b376eaeb349ea33531ce9c711c2 Author: Dmitry Chagin AuthorDate: 2023-02-02 14:58:06 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-02 14:58:06 +0000 linux(4): Microoptimize linux_elf.h for future use. In order to reduce code duplication move coredump support definitions into the appropriate header and hide private definitions. MFC after: 1 week --- sys/amd64/linux/linux_sysvec.c | 1 + sys/amd64/linux32/linux32_sysvec.c | 1 + sys/arm64/linux/linux_sysvec.c | 3 +++ sys/compat/linux/linux_elf.c | 28 ++++++++++++++++++++++++---- sys/compat/linux/linux_elf.h | 30 ++++++++---------------------- sys/compat/linux/linux_emul.h | 6 ------ 6 files changed, 37 insertions(+), 32 deletions(-) diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index 2a9e4909340b..3a2757338c89 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -76,6 +76,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c index 15caa5a2c2cc..9f681a85647e 100644 --- a/sys/amd64/linux32/linux32_sysvec.c +++ b/sys/amd64/linux32/linux32_sysvec.c @@ -82,6 +82,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index 9a82dc94b6ac..eafdbcbabff8 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -29,6 +29,8 @@ #include __FBSDID("$FreeBSD$"); +#define __ELF_WORD_SIZE 64 + #include #include #include @@ -59,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include diff --git a/sys/compat/linux/linux_elf.c b/sys/compat/linux/linux_elf.c index b02b6e2cc777..e73dbdae888e 100644 --- a/sys/compat/linux/linux_elf.c +++ b/sys/compat/linux/linux_elf.c @@ -61,11 +61,31 @@ __FBSDID("$FreeBSD$"); #include #endif #include -#include -#include -/* This adds "linux32_" and "linux64_" prefixes. */ -#define __linuxN(x) __CONCAT(__CONCAT(__CONCAT(linux,__ELF_WORD_SIZE),_),x) +struct l_elf_siginfo { + l_int si_signo; + l_int si_code; + l_int si_errno; +}; + +typedef struct linux_pt_regset l_elf_gregset_t; + +struct linux_elf_prstatus { + struct l_elf_siginfo pr_info; + l_short pr_cursig; + l_ulong pr_sigpend; + l_ulong pr_sighold; + l_pid_t pr_pid; + l_pid_t pr_ppid; + l_pid_t pr_pgrp; + l_pid_t pr_sid; + l_timeval pr_utime; + l_timeval pr_stime; + l_timeval pr_cutime; + l_timeval pr_cstime; + l_elf_gregset_t pr_reg; + l_int pr_fpvalid; +}; #define LINUX_NT_AUXV 6 diff --git a/sys/compat/linux/linux_elf.h b/sys/compat/linux/linux_elf.h index 4bb9318e360b..18d229d8481e 100644 --- a/sys/compat/linux/linux_elf.h +++ b/sys/compat/linux/linux_elf.h @@ -28,29 +28,15 @@ #ifndef _COMPAT_LINUX_ELF_H_ #define _COMPAT_LINUX_ELF_H_ -struct l_elf_siginfo { - l_int si_signo; - l_int si_code; - l_int si_errno; -}; +struct note_info_list; -typedef struct linux_pt_regset l_elf_gregset_t; +/* Linux core notes are labeled "CORE" */ +#define LINUX_ABI_VENDOR "CORE" -struct linux_elf_prstatus { - struct l_elf_siginfo pr_info; - l_short pr_cursig; - l_ulong pr_sigpend; - l_ulong pr_sighold; - l_pid_t pr_pid; - l_pid_t pr_ppid; - l_pid_t pr_pgrp; - l_pid_t pr_sid; - l_timeval pr_utime; - l_timeval pr_stime; - l_timeval pr_cutime; - l_timeval pr_cstime; - l_elf_gregset_t pr_reg; - l_int pr_fpvalid; -}; +/* This adds "linux32_" and "linux64_" prefixes. */ +#define __linuxN(x) __CONCAT(__CONCAT(__CONCAT(linux,__ELF_WORD_SIZE),_),x) + +void __linuxN(prepare_notes)(struct thread *, struct note_info_list *, + size_t *); #endif diff --git a/sys/compat/linux/linux_emul.h b/sys/compat/linux/linux_emul.h index 9b552ab9c720..fde97c01895f 100644 --- a/sys/compat/linux/linux_emul.h +++ b/sys/compat/linux/linux_emul.h @@ -33,10 +33,6 @@ #define _LINUX_EMUL_H_ struct image_params; -struct note_info_list; - -/* Linux core notes are labeled "CORE" */ -#define LINUX_ABI_VENDOR "CORE" /* * modeled after similar structure in NetBSD @@ -61,8 +57,6 @@ void linux_schedtail(struct thread *); void linux_on_exec(struct proc *, struct image_params *); void linux_thread_dtor(struct thread *); int linux_common_execve(struct thread *, struct image_args *); -void linux32_prepare_notes(struct thread *, struct note_info_list *, size_t *); -void linux64_prepare_notes(struct thread *, struct note_info_list *, size_t *); /* process emuldata flags */ #define LINUX_XDEPR_REQUEUEOP 0x00000001 /* uses deprecated From nobody Thu Feb 2 14:59:05 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P724B4PXvz3fkgZ; Thu, 2 Feb 2023 14:59: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 4P724B1qrwz3FH3; Thu, 2 Feb 2023 14:59:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aFAnT17RSM0SIRsC+7JA+9Ho0akZ84647ZeSEh3kp8Y=; b=gtCfo8wBBugmtAVIhndm5F665IQa3mvi5TRKU89FjZVSXxywkPQDz+wrHkpUQcyeGPWM7F RICLKRJlwtHlJTFVLjGb+qGQZTkO+/LSX0h/cwQNJMrgsagRkfJMlalIcnqQgMUcWDfVrx Uo2L6C9dgH1LR0JOrhV6ZttuYcfJ5rJ7mo7FFZPDKea+c/ZruITdspV8S4D+HFO6mGQKJX ll20zNOwQd/A4sUtzhvjNg4OaC5HPsJ6npXx/9yNtUd018iMQ3l01VSwQnsTvOaO45WoaR T19SmbRjTJXPjjuzjllwTaRUq5mOGTEArarEoTrfc9jZlQsbuoAzj9s6ZpP/ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aFAnT17RSM0SIRsC+7JA+9Ho0akZ84647ZeSEh3kp8Y=; b=RvEOLKjAcEz334bYtcLRC/Y3CbqecWmUezALBFSnUTlaSufok8Z660xofmTXwQ70zvBdlQ j+AX379pMcv7vn5AnUucaXppZ5C8GJ0Q9m1eL8s/aTVr6D7T3tcmQL2r6p5n/vGXuvl1NK tOuPfrd/8wA5OBP7nY4Qqu6P7L3fBUYU1yY/uennOpvmrEl3dwM2hIr0FrPjOlL4kzg8mH 2udtGDOdHlAkUEiFEVH6IHXulWJKNun6Sic8LMz7MJNWdYKdC2XAjbD6En7eH2iSvdNfzu DqwlyUbDMcu9KUfCZ5DX9oW3yApzkO6EOp6ZiC7bAfR3Je+GX6sigmpBE+IgAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675349946; a=rsa-sha256; cv=none; b=CnFm5Gf5JXLED9vPkmcMKQd0g6iUyWrnxQcEQYTNMFU0j+SJvCIXdlZSr+Bd2lb8sRve6M IDYg2H51yDVPTDyzHQGE6Cg17e//ZjHOM+JZRxjGhatUj72hRv0fQEBsO4hbGeAJpDlx+h KFrlbopFk52gS36jr+Z5Pbrkx33AgUrwVvyBKKql9zFfiosqlnLjP4moT1BOtjCv7uaXUD YKAvjU2b3kq6EqDMniBYp4eVDkzCY4wCabSs9mk2iwlEPqlYF9nzOoNzOrCZ32RPvcUBYC fTxuaK4QtS09aXeWi/huI0+efknsTf6SfPuHOAyH3xL6XpSfErv/T0h7cvha9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P724B0P1nzyQ9; Thu, 2 Feb 2023 14:59:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312Ex586092061; Thu, 2 Feb 2023 14:59:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312Ex5sW092060; Thu, 2 Feb 2023 14:59:05 GMT (envelope-from git) Date: Thu, 2 Feb 2023 14:59:05 GMT Message-Id: <202302021459.312Ex5sW092060@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 6f8439db241c - main - linux(4): Use COMPAT_LINUX32 enstead of __ELF_WORD_SIZE. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 6f8439db241c7409275d77f5376e8505967bef67 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=6f8439db241c7409275d77f5376e8505967bef67 commit 6f8439db241c7409275d77f5376e8505967bef67 Author: Dmitry Chagin AuthorDate: 2023-02-02 14:58:06 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-02 14:58:06 +0000 linux(4): Use COMPAT_LINUX32 enstead of __ELF_WORD_SIZE. COMPAT_LINUX32 option is defined for case when building 32-bit Linuxulator for the 64-bit host. Usage of __ELF_WORD_SIZE is wrong here as it is equal to 32 on i386 too. MFC after: 1 week --- sys/compat/linux/linux_elf.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/compat/linux/linux_elf.c b/sys/compat/linux/linux_elf.c index e73dbdae888e..1da919f02a81 100644 --- a/sys/compat/linux/linux_elf.c +++ b/sys/compat/linux/linux_elf.c @@ -53,7 +53,7 @@ __FBSDID("$FreeBSD$"); #include -#if __ELF_WORD_SIZE == 32 +#ifdef COMPAT_LINUX32 #define linux_pt_regset linux_pt_regset32 #define bsd_to_linux_regset bsd_to_linux_regset32 #include @@ -135,7 +135,7 @@ __linuxN(prepare_notes)(struct thread *td, struct note_info_list *list, } typedef struct linux_elf_prstatus linux_elf_prstatus_t; -#if __ELF_WORD_SIZE == 32 +#ifdef COMPAT_LINUX32 typedef struct prpsinfo32 linux_elf_prpsinfo_t; typedef struct fpreg32 linux_elf_prfpregset_t; #else @@ -212,7 +212,7 @@ __linuxN(note_prstatus)(void *arg, struct sbuf *sb, size_t *sizep) { struct thread *td; linux_elf_prstatus_t *status; -#if __ELF_WORD_SIZE == 32 +#ifdef COMPAT_LINUX32 struct reg32 pr_reg; #else struct reg pr_reg; @@ -229,7 +229,7 @@ __linuxN(note_prstatus)(void *arg, struct sbuf *sb, size_t *sizep) status->pr_cursig = td->td_proc->p_sig; status->pr_pid = td->td_tid; -#if __ELF_WORD_SIZE == 32 +#ifdef COMPAT_LINUX32 fill_regs32(td, &pr_reg); #else fill_regs(td, &pr_reg); @@ -251,7 +251,7 @@ __linuxN(note_fpregset)(void *arg, struct sbuf *sb, size_t *sizep) if (sb != NULL) { KASSERT(*sizep == sizeof(*fpregset), ("invalid size")); fpregset = malloc(sizeof(*fpregset), M_TEMP, M_ZERO | M_WAITOK); -#if __ELF_WORD_SIZE == 32 +#ifdef COMPAT_LINUX32 fill_fpregs32(td, fpregset); #else fill_fpregs(td, fpregset); From nobody Thu Feb 2 14:59:07 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P724C3b7pz3fkWD; Thu, 2 Feb 2023 14:59: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 4P724C2Qrsz3FHJ; Thu, 2 Feb 2023 14:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uP5R896jY4JGSUpwzjMcAhTyH25AzIEg4FAHlSK8VbU=; b=TshsbbyoRzG0Y0Harnf65P36uX7plXOM8QpTnYRxzxMiSA4hZPa0asffFkpiwfaQyBqxDs MBff8WzbtE8sp0svWzennTN+tot/VA3Rwi8IqNwqYau8geRXN1IRN5RV7wEW7Z2ycu62i3 2TGw3uqi90lebNfIq0fPEYJxcC3i7+tTof5D7pvD1ihPvuBmR7hZw1B8fk5dNKnQXmDLgg HpKR4vgSq8f3/Gf0i+O9lTcXcz+NyeuABHrqGxbdO3q0R+Ne66gZZFdAmtaGvg0S2SLelN NAL+2MEHIujOPCHB1c3eYE0IIJa+uzsnrdRHGiDDmUwFxYKwu+TqPXjUjxAzgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uP5R896jY4JGSUpwzjMcAhTyH25AzIEg4FAHlSK8VbU=; b=TbZdLNXqaE3ACw4wte2Fdd3VKcbwgU72gUPhKsewCfxP5d4gMS3TN2LtK+f+eGhth+xIuj YuX2dGcUgBOLDj3MLIpvMQoplKqcsw8wguBA7Dz+nCHSwx828PWK1J0auZXVmEyFuWieso fDozKY8jojILT1eKqAjJcauYFmVkZLWtwCWWryabFOuYGERIakS5gjVVx2raMrnLKzs1m1 lXLLEQbQWP0HIP6H/QOUv+2e+PevY9B5d8jjkC+XlEE6TySViJB/mMmzOyLa6I/254JPFF z4EBWITnvJ+n2oO3KBci2FmuAPtQPz7j9aQFMxsq3vre50sLUSpKTWW3jPX7qA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675349947; a=rsa-sha256; cv=none; b=SbYgsocO8MH5M5neyi03mIqUzJQwBOwkax+mITehHWrz/2LSkrfYU9u5X3nV4G0iVScdhZ pyfS55mKHuw0IcFUsW9PC8xF1jI9fUais4iAG2UREvLDodZkE5fN+g4TSjs/TzhWxW/xt2 LMqNsS/4msLPiuj8PM/bTZojCyur1i3uGHrcDNsgu3yLC1SKbmFDqe6XO/c+kDPnLzZ6NA EUBHeVbimURdq7bXwGbdyOlUhdi4zhDgiHchxZcT5E/tj6HLfHV+vUUlsB0whkyHrrqQYm KrxoNLlHFouHR56kUzDUIjhd0z+LBoaw6l0daFlwpIw32NB6VioalH1uENO3FQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P724C1GMpzyQB; Thu, 2 Feb 2023 14:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312Ex7pY092086; Thu, 2 Feb 2023 14:59:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312Ex78F092085; Thu, 2 Feb 2023 14:59:07 GMT (envelope-from git) Date: Thu, 2 Feb 2023 14:59:07 GMT Message-Id: <202302021459.312Ex78F092085@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: cc1b0f7d9626 - main - linux(4): Add coredump support to i386. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: cc1b0f7d9626bbd116429014444cbf61edf708a2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=cc1b0f7d9626bbd116429014444cbf61edf708a2 commit cc1b0f7d9626bbd116429014444cbf61edf708a2 Author: Dmitry Chagin AuthorDate: 2023-02-02 14:58:06 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-02 14:58:06 +0000 linux(4): Add coredump support to i386. MFC after: 1 week --- sys/i386/linux/linux.h | 28 ++++++++++++++++++++++++++++ sys/i386/linux/linux_machdep.c | 26 ++++++++++++++++++++++++++ sys/i386/linux/linux_sysvec.c | 9 ++++++--- sys/modules/linux/Makefile | 2 +- 4 files changed, 61 insertions(+), 4 deletions(-) diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index c651da6b5857..43bf3ca126b6 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -395,4 +395,32 @@ struct l_desc_struct { #define linux_copyout_rusage(r, u) copyout(r, u, sizeof(*r)) +/* This corresponds to 'struct user_regs_struct' in Linux. */ +struct linux_pt_regset { + l_uint ebx; + l_uint ecx; + l_uint edx; + l_uint esi; + l_uint edi; + l_uint ebp; + l_uint eax; + l_uint ds; + l_uint es; + l_uint fs; + l_uint gs; + l_uint orig_eax; + l_uint eip; + l_uint cs; + l_uint eflags; + l_uint esp; + l_uint ss; +}; + +#ifdef _KERNEL +struct reg; + +void bsd_to_linux_regset(const struct reg *b_reg, + struct linux_pt_regset *l_regset); +#endif /* _KERNEL */ + #endif /* !_I386_LINUX_H_ */ diff --git a/sys/i386/linux/linux_machdep.c b/sys/i386/linux/linux_machdep.c index dc156dbd673d..fb42c3e9df84 100644 --- a/sys/i386/linux/linux_machdep.c +++ b/sys/i386/linux/linux_machdep.c @@ -60,6 +60,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include + #include #include #include @@ -675,3 +677,27 @@ linux_mq_getsetattr(struct thread *td, struct linux_mq_getsetattr_args *args) return (ENOSYS); #endif } + +void +bsd_to_linux_regset(const struct reg *b_reg, + struct linux_pt_regset *l_regset) +{ + + l_regset->ebx = b_reg->r_ebx; + l_regset->ecx = b_reg->r_ecx; + l_regset->edx = b_reg->r_edx; + l_regset->esi = b_reg->r_esi; + l_regset->edi = b_reg->r_edi; + l_regset->ebp = b_reg->r_ebp; + l_regset->eax = b_reg->r_eax; + l_regset->ds = b_reg->r_ds; + l_regset->es = b_reg->r_es; + l_regset->fs = b_reg->r_fs; + l_regset->gs = b_reg->r_gs; + l_regset->orig_eax = b_reg->r_eax; + l_regset->eip = b_reg->r_eip; + l_regset->cs = b_reg->r_cs; + l_regset->eflags = b_reg->r_eflags; + l_regset->esp = b_reg->r_esp; + l_regset->ss = b_reg->r_ss; +} diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index f67b19725cdf..f478255dff69 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -29,6 +29,8 @@ #include __FBSDID("$FreeBSD$"); +#define __ELF_WORD_SIZE 32 + #include #include #include @@ -65,6 +67,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -804,9 +807,9 @@ struct sysentvec elf_linux_sysvec = { .sv_szsigcode = &linux_szsigcode, .sv_name = "Linux ELF32", .sv_coredump = elf32_coredump, - .sv_elf_core_osabi = ELFOSABI_FREEBSD, - .sv_elf_core_abi_vendor = FREEBSD_ABI_VENDOR, - .sv_elf_core_prepare_notes = elf32_prepare_notes, + .sv_elf_core_osabi = ELFOSABI_NONE, + .sv_elf_core_abi_vendor = LINUX_ABI_VENDOR, + .sv_elf_core_prepare_notes = __linuxN(prepare_notes), .sv_imgact_try = linux_exec_imgact_try, .sv_minsigstksz = LINUX_MINSIGSTKSZ, .sv_minuser = VM_MIN_ADDRESS, diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile index ac5b30b19265..db87f66474b5 100644 --- a/sys/modules/linux/Makefile +++ b/sys/modules/linux/Makefile @@ -12,6 +12,7 @@ CFLAGS+=-DCOMPAT_FREEBSD32 -DCOMPAT_LINUX32 KMOD= linux SRCS= linux${SFX}_dummy_machdep.c \ + linux_elf32.c \ linux_event.c \ linux_file.c \ linux_fork.c \ @@ -47,7 +48,6 @@ VDSODEPS=linux_vdso_gettc_x86.inc .endif .if ${MACHINE_CPUARCH} == "amd64" SRCS+= linux${SFX}_support.S -SRCS+= linux_elf32.c .else SRCS+= linux_copyout.c .endif From nobody Thu Feb 2 14:59:08 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P724D5YvPz3fkJq; Thu, 2 Feb 2023 14:59: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 4P724D3MjVz3FDj; Thu, 2 Feb 2023 14:59:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j7K6iUBKiVBTZnZ1z6h1XtyB8x9Z106k8BrbwWnitrI=; b=FflV2AaAs16tuRdpMdlPX+q31jHP1DnPlJrpvcl7XIajCdPEs5bnqcaRqdiQ7wfMh0lLWE 63qifOOkKQ9V5x/QX2AGnih+JVOPQXkkk9Ht54fU7G80/7/tMGJX2xIyIpkqcpl4rASTJV wHMnmhUkYclx4V7LbBwOy0Q2S6ALVMm8b+j8XQ9LL3/X38gjyOk9fzE6G9YbS5RfloSKzN h6YLIfPFHBVpTsizjprgvE19cWUiPZE+fuhxswUIYY0gPHJwKUklS6XpRykFvl0QEX26Ck /qZ0uH4U+Bgh0+M1spveUPAHBfvUlPI322YMkkg4XNHYI9f6q4SpKkwB/X/tfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j7K6iUBKiVBTZnZ1z6h1XtyB8x9Z106k8BrbwWnitrI=; b=NuNbL4TxJMxYPPaywBppn8VIqzAf3a7v+ohakIn+Eb8tCuw7l8wpgUQ0p54J+UrqAp2HeY 9fKwfUIZVq/WqP8Au0l+KRC2USgHMvQVMnzi7XvmcePlX6vTcLOyZcTZbGFaDD+GDGI0Ds N7pQcYBM4cCLL+kczpM64GtVo5seRI2/gABIYIiacjtVQWuHDMmC5Tj3lyjyDTmmFo5Re5 /oXSjeckd5OJsrqSMOH9uoczHe4Jf0oSr0A8c1JBpxWWA8tffxrYKHdY9a6q2gttn+lr4O wZ70vKIBZL8vkEToso9TVQstYYf/re7VkUmmd2aifdKmjE6VBkdO/aqAIE12cw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675349948; a=rsa-sha256; cv=none; b=xql6NMOzx34d/Q78C5nfiVN+fuJs2ptpNwdFuBdPXXSc3cLYYgbiyO8vOG5w0TyzASpSzr KtmEHIKD8WkznWKvrBfNnWja40zdbEB5sVttStnhXxz22CFW7VUsX8HNWCoSqfb7VLlzgG cg2hXsI0WyqTIf3/xXo9lJLOSNqi0A5vbyxcxlB95PKLA+cxLyEI0W5Yoby89fV/CKHxho /7RNkSGqvFQdTxVididZd2WvuBYsmdGVJzzsyQ8HZZXEzbT/BYw6U35iTNnOdrvR/Yy3OJ fkEphQ7ICTDlbuUxtFd4fDg/P6AeRyN/KFUaund/So9N1ownrj3rjgx0LTYJ6w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P724D2TWFzyQC; Thu, 2 Feb 2023 14:59:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312Ex8wq092110; Thu, 2 Feb 2023 14:59:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312Ex8jW092109; Thu, 2 Feb 2023 14:59:08 GMT (envelope-from git) Date: Thu, 2 Feb 2023 14:59:08 GMT Message-Id: <202302021459.312Ex8jW092109@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 9e550625f867 - main - linux(4): Deduplicate linux_fixup_elf(). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 9e550625f867a23ea3d87a77aa3c216b79ecd790 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=9e550625f867a23ea3d87a77aa3c216b79ecd790 commit 9e550625f867a23ea3d87a77aa3c216b79ecd790 Author: Dmitry Chagin AuthorDate: 2023-02-02 14:58:07 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-02 14:58:07 +0000 linux(4): Deduplicate linux_fixup_elf(). Use native routines to fixup initial process stack. On Arm64 linux_elf_fixup() is noop, as it do the stack fixup (room for argc) in the linux_copyout_strings(). MFC after: 1 week --- sys/amd64/linux/linux_sysvec.c | 18 +----------------- sys/amd64/linux32/linux32_sysvec.c | 17 +---------------- sys/i386/linux/linux_sysvec.c | 17 +---------------- 3 files changed, 3 insertions(+), 49 deletions(-) diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index 3a2757338c89..12a673d87c96 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -117,8 +117,6 @@ SET_DECLARE(linux_ioctl_handler_set, struct linux_ioctl_handler); static int linux_copyout_strings(struct image_params *imgp, uintptr_t *stack_base); -static int linux_fixup_elf(uintptr_t *stack_base, - struct image_params *iparams); static bool linux_trans_osrel(const Elf_Note *note, int32_t *osrel); static void linux_vdso_install(const void *param); static void linux_vdso_deinstall(const void *param); @@ -270,20 +268,6 @@ linux_copyout_auxargs(struct image_params *imgp, uintptr_t base) return (error); } -static int -linux_fixup_elf(uintptr_t *stack_base, struct image_params *imgp) -{ - Elf_Addr *base; - - base = (Elf64_Addr *)*stack_base; - base--; - if (suword(base, (uint64_t)imgp->args->argc) == -1) - return (EFAULT); - - *stack_base = (uintptr_t)base; - return (0); -} - /* * Copy strings out to the new process address space, constructing new arg * and env vector tables. Return a pointer to the base so that it can be used @@ -705,7 +689,7 @@ linux_vsyscall(struct thread *td) struct sysentvec elf_linux_sysvec = { .sv_size = LINUX_SYS_MAXSYSCALL, .sv_table = linux_sysent, - .sv_fixup = linux_fixup_elf, + .sv_fixup = __elfN(freebsd_fixup), .sv_sendsig = linux_rt_sendsig, .sv_sigcode = &_binary_linux_vdso_so_o_start, .sv_szsigcode = &linux_szsigcode, diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c index 9f681a85647e..c28f1c396d36 100644 --- a/sys/amd64/linux32/linux32_sysvec.c +++ b/sys/amd64/linux32/linux32_sysvec.c @@ -118,8 +118,6 @@ extern const char *linux32_syscallnames[]; SET_DECLARE(linux_ioctl_handler_set, struct linux_ioctl_handler); -static int linux_fixup_elf(uintptr_t *stack_base, - struct image_params *iparams); static int linux_copyout_strings(struct image_params *imgp, uintptr_t *stack_base); static void linux_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask); @@ -210,19 +208,6 @@ linux_copyout_auxargs(struct image_params *imgp, uintptr_t base) return (error); } -static int -linux_fixup_elf(uintptr_t *stack_base, struct image_params *imgp) -{ - Elf32_Addr *base; - - base = (Elf32_Addr *)*stack_base; - base--; - if (suword32(base, (uint32_t)imgp->args->argc) == -1) - return (EFAULT); - *stack_base = (uintptr_t)base; - return (0); -} - static void linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) { @@ -858,7 +843,7 @@ linux32_fixlimit(struct rlimit *rl, int which) struct sysentvec elf_linux_sysvec = { .sv_size = LINUX32_SYS_MAXSYSCALL, .sv_table = linux32_sysent, - .sv_fixup = linux_fixup_elf, + .sv_fixup = elf32_freebsd_fixup, .sv_sendsig = linux_sendsig, .sv_sigcode = &_binary_linux32_vdso_so_o_start, .sv_szsigcode = &linux_szsigcode, diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index f478255dff69..a4bbf8333f58 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -105,8 +105,6 @@ SET_DECLARE(linux_ioctl_handler_set, struct linux_ioctl_handler); static int linux_fixup(uintptr_t *stack_base, struct image_params *iparams); -static int linux_fixup_elf(uintptr_t *stack_base, - struct image_params *iparams); static void linux_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask); static void linux_exec_setregs(struct thread *td, struct image_params *imgp, uintptr_t stack); @@ -203,19 +201,6 @@ linux_copyout_auxargs(struct image_params *imgp, uintptr_t base) return (error); } -static int -linux_fixup_elf(uintptr_t *stack_base, struct image_params *imgp) -{ - register_t *base; - - base = (register_t *)*stack_base; - base--; - if (suword(base, (register_t)imgp->args->argc) == -1) - return (EFAULT); - *stack_base = (uintptr_t)base; - return (0); -} - /* * Copied from kern/kern_exec.c */ @@ -801,7 +786,7 @@ INIT_SYSENTVEC(aout_sysvec, &linux_sysvec); struct sysentvec elf_linux_sysvec = { .sv_size = LINUX_SYS_MAXSYSCALL, .sv_table = linux_sysent, - .sv_fixup = linux_fixup_elf, + .sv_fixup = __elfN(freebsd_fixup), .sv_sendsig = linux_sendsig, .sv_sigcode = &_binary_linux_vdso_so_o_start, .sv_szsigcode = &linux_szsigcode, From nobody Thu Feb 2 14:59:09 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P724F5xHBz3fkfH; Thu, 2 Feb 2023 14:59: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 4P724F3w49z3FDy; Thu, 2 Feb 2023 14:59:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vq+D4x/fTuNTLNw74RNiMsitzbTzQSEiTWqKA7pA8J4=; b=f7ZTmrGeZ6VBvcXmtgJQtyJLvypLeyf73zS7eH/RCLrLcSK7nQxs1m46Nu+tg1dVkFxLJ8 iM3eun0S7kCIsODnyDf10DwRX+I4ZScrmtm/im2DU1DEmYDHo6FvzNXAayDHVAi2vBEqxQ 8P43cIPMSs1O4SAaSK2HvF8crS/KkBGhrurFPSP2jqtSg2Dt1pqrDlNNgoc0j+Dy8Y7xB2 MUSTLwjnwMBr+ryQvAeUPM+KTBxIMY4mn5llny9cs/anlG/vryTA4rYWUanrHm5jqSkmNt of50J9nmiTKCZLgbHCxIsEjHsHRt2OO41PeWnf+cZALnBELsEd0/SaTnll3sRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vq+D4x/fTuNTLNw74RNiMsitzbTzQSEiTWqKA7pA8J4=; b=YJ+9oYkFtxRzDs+4vIvcpNn86niCW/IcuuEwlkmiB8fbBXWTiWm1kBKmbvRILtvW8T+5Oe Yyxp8XqPGwQDP6kgVrR7foblkOYTqYOzERvvVcRYPZFiTfg8M4Z7JCSoBv3td5j9d9c7bR Q5CQP+wdEl2sgERRBihsKKsKG/JEA1GVk/LnWTQt6SgYFHCra5tL/mgWPxAwBrN1+jNG2s gmTSh+XmFvJXI3gQRjE5sTkVxJgU8rMdPMc6p1OM4XlaHET8PpncAy4Yp9dcHuBhNrxu5N B3yNZ7PUgjJyqp//0a1WxjdY9ipM8NjOt5QlNY58v98MU+E9vim1PDwiJxvAQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675349949; a=rsa-sha256; cv=none; b=bnXtEeBpAcJ5kCJ/dQ+NjtsBDDAGDhu9PsqTz/MZKAxUzQceADDWofXB4J8WknqkBcHqjk Krv/SCsjxt4fScWy6gChLPjxxum3Bxuy6lHs8QAlf0Z8Aib89Tx81IAHfaSnWpOqVDpOs9 +DikQ9DpDM/TjfY67+35Cbt0JZ7L3gMgQ94s6tzuXBBxe9kfSdt2YiQ7meA4/4EyMJleje vwjqao5Dtyio6lkVqk4djR3J3LKS5SnXcw/KbSghoZGeX/Smnv3XZEy0sEfi3wkqZkiZ6e GdQB9/R0OfbPE1ScnGNAc0Zgi1ThH04mN4xYdNdDLMlbCkGDUANg2WCDLLj5AA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P724F2wFmzyS4; Thu, 2 Feb 2023 14:59:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312Ex9A8092141; Thu, 2 Feb 2023 14:59:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312Ex9fH092140; Thu, 2 Feb 2023 14:59:09 GMT (envelope-from git) Date: Thu, 2 Feb 2023 14:59:09 GMT Message-Id: <202302021459.312Ex9fH092140@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 6039e966ff27 - main - linux(4): Deduplicate linux_copyout_strings(). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 6039e966ff276ff6bcb57f2f70e7d8ff376b24fd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=6039e966ff276ff6bcb57f2f70e7d8ff376b24fd commit 6039e966ff276ff6bcb57f2f70e7d8ff376b24fd Author: Dmitry Chagin AuthorDate: 2023-02-02 14:58:07 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-02 14:58:07 +0000 linux(4): Deduplicate linux_copyout_strings(). It is still present in the 32-bit Linuxulator on amd64. MFC after: 1 week --- sys/amd64/linux/linux_sysvec.c | 130 +--------------------------------- sys/arm64/linux/linux_sysvec.c | 143 +------------------------------------- sys/compat/linux/linux_elf.c | 153 +++++++++++++++++++++++++++++++++++++++++ sys/compat/linux/linux_elf.h | 1 + sys/i386/linux/linux_sysvec.c | 122 +------------------------------- 5 files changed, 158 insertions(+), 391 deletions(-) diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index 12a673d87c96..b42c90abc07d 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -115,8 +115,6 @@ extern const char *linux_syscallnames[]; SET_DECLARE(linux_ioctl_handler_set, struct linux_ioctl_handler); -static int linux_copyout_strings(struct image_params *imgp, - uintptr_t *stack_base); static bool linux_trans_osrel(const Elf_Note *note, int32_t *osrel); static void linux_vdso_install(const void *param); static void linux_vdso_deinstall(const void *param); @@ -268,132 +266,6 @@ linux_copyout_auxargs(struct image_params *imgp, uintptr_t base) return (error); } -/* - * Copy strings out to the new process address space, constructing new arg - * and env vector tables. Return a pointer to the base so that it can be used - * as the initial stack pointer. - */ -static int -linux_copyout_strings(struct image_params *imgp, uintptr_t *stack_base) -{ - int argc, envc, error; - char **vectp; - char *stringp; - uintptr_t destp, ustringp; - struct ps_strings *arginfo; - char canary[LINUX_AT_RANDOM_LEN]; - size_t execpath_len; - struct proc *p; - - p = imgp->proc; - arginfo = (struct ps_strings *)PROC_PS_STRINGS(p); - destp = (uintptr_t)arginfo; - - if (imgp->execpath != NULL && imgp->auxargs != NULL) { - execpath_len = strlen(imgp->execpath) + 1; - destp -= execpath_len; - destp = rounddown2(destp, sizeof(void *)); - imgp->execpathp = (void *)destp; - error = copyout(imgp->execpath, imgp->execpathp, execpath_len); - if (error != 0) - return (error); - } - - /* Prepare the canary for SSP. */ - arc4rand(canary, sizeof(canary), 0); - destp -= roundup(sizeof(canary), sizeof(void *)); - imgp->canary = (void *)destp; - error = copyout(canary, imgp->canary, sizeof(canary)); - if (error != 0) - return (error); - - /* Allocate room for the argument and environment strings. */ - destp -= ARG_MAX - imgp->args->stringspace; - destp = rounddown2(destp, sizeof(void *)); - ustringp = destp; - - if (imgp->auxargs) { - /* - * Allocate room on the stack for the ELF auxargs - * array. It has LINUX_AT_COUNT entries. - */ - destp -= LINUX_AT_COUNT * sizeof(Elf64_Auxinfo); - destp = rounddown2(destp, sizeof(void *)); - } - - vectp = (char **)destp; - - /* - * Allocate room for the argv[] and env vectors including the - * terminating NULL pointers. - */ - vectp -= imgp->args->argc + 1 + imgp->args->envc + 1; - - /* - * Starting with 2.24, glibc depends on a 16-byte stack alignment. - * One "long argc" will be prepended later. - */ - vectp = (char **)((((uintptr_t)vectp + 8) & ~0xF) - 8); - - /* vectp also becomes our initial stack base. */ - *stack_base = (uintptr_t)vectp; - - stringp = imgp->args->begin_argv; - argc = imgp->args->argc; - envc = imgp->args->envc; - - /* Copy out strings - arguments and environment. */ - error = copyout(stringp, (void *)ustringp, - ARG_MAX - imgp->args->stringspace); - if (error != 0) - return (error); - - /* Fill in "ps_strings" struct for ps, w, etc. */ - if (suword(&arginfo->ps_argvstr, (long)(intptr_t)vectp) != 0 || - suword(&arginfo->ps_nargvstr, argc) != 0) - return (EFAULT); - - /* Fill in argument portion of vector table. */ - for (; argc > 0; --argc) { - if (suword(vectp++, ustringp) != 0) - return (EFAULT); - while (*stringp++ != 0) - ustringp++; - ustringp++; - } - - /* A null vector table pointer separates the argp's from the envp's. */ - if (suword(vectp++, 0) != 0) - return (EFAULT); - - if (suword(&arginfo->ps_envstr, (long)(intptr_t)vectp) != 0 || - suword(&arginfo->ps_nenvstr, envc) != 0) - return (EFAULT); - - /* Fill in environment portion of vector table. */ - for (; envc > 0; --envc) { - if (suword(vectp++, ustringp) != 0) - return (EFAULT); - while (*stringp++ != 0) - ustringp++; - ustringp++; - } - - /* The end of the vector table is a null pointer. */ - if (suword(vectp, 0) != 0) - return (EFAULT); - - if (imgp->auxargs) { - vectp++; - error = imgp->sysent->sv_copyout_auxargs(imgp, - (uintptr_t)vectp); - if (error != 0) - return (error); - } - - return (0); -} - /* * Reset registers to default values on exec. */ @@ -707,7 +579,7 @@ struct sysentvec elf_linux_sysvec = { .sv_psstringssz = sizeof(struct ps_strings), .sv_stackprot = VM_PROT_ALL, .sv_copyout_auxargs = linux_copyout_auxargs, - .sv_copyout_strings = linux_copyout_strings, + .sv_copyout_strings = __linuxN(copyout_strings), .sv_setregs = linux_exec_setregs, .sv_fixlimit = NULL, .sv_maxssiz = NULL, diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index eafdbcbabff8..169dafe26ed2 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -105,10 +105,6 @@ extern const char *linux_syscallnames[]; SET_DECLARE(linux_ioctl_handler_set, struct linux_ioctl_handler); -static int linux_copyout_strings(struct image_params *imgp, - uintptr_t *stack_base); -static int linux_elf_fixup(uintptr_t *stack_base, - struct image_params *iparams); static bool linux_trans_osrel(const Elf_Note *note, int32_t *osrel); static void linux_vdso_install(const void *param); static void linux_vdso_deinstall(const void *param); @@ -127,7 +123,6 @@ LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); /* DTrace probes */ LIN_SDT_PROBE_DEFINE0(sysvec, linux_exec_setregs, todo); LIN_SDT_PROBE_DEFINE0(sysvec, linux_copyout_auxargs, todo); -LIN_SDT_PROBE_DEFINE0(sysvec, linux_elf_fixup, todo); LINUX_VDSO_SYM_CHAR(linux_platform); LINUX_VDSO_SYM_INTPTR(kern_timekeep_base); @@ -225,140 +220,6 @@ linux_copyout_auxargs(struct image_params *imgp, uintptr_t base) return (error); } -static int -linux_elf_fixup(uintptr_t *stack_base, struct image_params *imgp) -{ - - LIN_SDT_PROBE0(sysvec, linux_elf_fixup, todo); - - return (0); -} - -/* - * Copy strings out to the new process address space, constructing new arg - * and env vector tables. Return a pointer to the base so that it can be used - * as the initial stack pointer. - * LINUXTODO: deduplicate against other linuxulator archs - */ -static int -linux_copyout_strings(struct image_params *imgp, uintptr_t *stack_base) -{ - char **vectp; - char *stringp; - uintptr_t destp, ustringp; - struct ps_strings *arginfo; - char canary[LINUX_AT_RANDOM_LEN]; - size_t execpath_len; - struct proc *p; - int argc, envc, error; - - p = imgp->proc; - arginfo = (struct ps_strings *)PROC_PS_STRINGS(p); - destp = (uintptr_t)arginfo; - - if (imgp->execpath != NULL && imgp->auxargs != NULL) { - execpath_len = strlen(imgp->execpath) + 1; - destp -= execpath_len; - destp = rounddown2(destp, sizeof(void *)); - imgp->execpathp = (void *)destp; - error = copyout(imgp->execpath, imgp->execpathp, execpath_len); - if (error != 0) - return (error); - } - - /* Prepare the canary for SSP. */ - arc4rand(canary, sizeof(canary), 0); - destp -= roundup(sizeof(canary), sizeof(void *)); - imgp->canary = (void *)destp; - error = copyout(canary, imgp->canary, sizeof(canary)); - if (error != 0) - return (error); - - /* Allocate room for the argument and environment strings. */ - destp -= ARG_MAX - imgp->args->stringspace; - destp = rounddown2(destp, sizeof(void *)); - ustringp = destp; - - if (imgp->auxargs) { - /* - * Allocate room on the stack for the ELF auxargs - * array. It has up to LINUX_AT_COUNT entries. - */ - destp -= LINUX_AT_COUNT * sizeof(Elf64_Auxinfo); - destp = rounddown2(destp, sizeof(void *)); - } - - vectp = (char **)destp; - - /* - * Allocate room for argc and the argv[] and env vectors including the - * terminating NULL pointers. - */ - vectp -= 1 + imgp->args->argc + 1 + imgp->args->envc + 1; - vectp = (char **)STACKALIGN(vectp); - - /* vectp also becomes our initial stack base. */ - *stack_base = (uintptr_t)vectp; - - stringp = imgp->args->begin_argv; - argc = imgp->args->argc; - envc = imgp->args->envc; - - /* Copy out strings - arguments and environment. */ - error = copyout(stringp, (void *)ustringp, - ARG_MAX - imgp->args->stringspace); - if (error != 0) - return (error); - - /* Fill in "ps_strings" struct for ps, w, etc. */ - if (suword(&arginfo->ps_argvstr, (long)(intptr_t)vectp) != 0 || - suword(&arginfo->ps_nargvstr, argc) != 0) - return (EFAULT); - - if (suword(vectp++, argc) != 0) - return (EFAULT); - - /* Fill in argument portion of vector table. */ - for (; argc > 0; --argc) { - if (suword(vectp++, ustringp) != 0) - return (EFAULT); - while (*stringp++ != 0) - ustringp++; - ustringp++; - } - - /* A null vector table pointer separates the argp's from the envp's. */ - if (suword(vectp++, 0) != 0) - return (EFAULT); - - if (suword(&arginfo->ps_envstr, (long)(intptr_t)vectp) != 0 || - suword(&arginfo->ps_nenvstr, envc) != 0) - return (EFAULT); - - /* Fill in environment portion of vector table. */ - for (; envc > 0; --envc) { - if (suword(vectp++, ustringp) != 0) - return (EFAULT); - while (*stringp++ != 0) - ustringp++; - ustringp++; - } - - /* The end of the vector table is a null pointer. */ - if (suword(vectp, 0) != 0) - return (EFAULT); - - if (imgp->auxargs) { - vectp++; - error = imgp->sysent->sv_copyout_auxargs(imgp, - (uintptr_t)vectp); - if (error != 0) - return (error); - } - - return (0); -} - /* * Reset registers to default values on exec. */ @@ -554,7 +415,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) struct sysentvec elf_linux_sysvec = { .sv_size = LINUX_SYS_MAXSYSCALL, .sv_table = linux_sysent, - .sv_fixup = linux_elf_fixup, + .sv_fixup = __elfN(freebsd_fixup), .sv_sendsig = linux_rt_sendsig, .sv_sigcode = &_binary_linux_vdso_so_o_start, .sv_szsigcode = &linux_szsigcode, @@ -572,7 +433,7 @@ struct sysentvec elf_linux_sysvec = { .sv_psstringssz = sizeof(struct ps_strings), .sv_stackprot = VM_PROT_READ | VM_PROT_WRITE, .sv_copyout_auxargs = linux_copyout_auxargs, - .sv_copyout_strings = linux_copyout_strings, + .sv_copyout_strings = __linuxN(copyout_strings), .sv_setregs = linux_exec_setregs, .sv_fixlimit = NULL, .sv_maxssiz = NULL, diff --git a/sys/compat/linux/linux_elf.c b/sys/compat/linux/linux_elf.c index 1da919f02a81..3e0582e2b8c3 100644 --- a/sys/compat/linux/linux_elf.c +++ b/sys/compat/linux/linux_elf.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -50,6 +51,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include + +#include +#include +#include #include @@ -61,6 +67,7 @@ __FBSDID("$FreeBSD$"); #include #endif #include +#include struct l_elf_siginfo { l_int si_signo; @@ -312,3 +319,149 @@ __linuxN(note_nt_auxv)(void *arg, struct sbuf *sb, size_t *sizep) PRELE(p); } } + +/* + * Copy strings out to the new process address space, constructing new arg + * and env vector tables. Return a pointer to the base so that it can be used + * as the initial stack pointer. + */ +int +__linuxN(copyout_strings)(struct image_params *imgp, uintptr_t *stack_base) +{ + char canary[LINUX_AT_RANDOM_LEN]; + char **vectp; + char *stringp; + uintptr_t destp, ustringp; + struct ps_strings *arginfo; + struct proc *p; + size_t execpath_len; + int argc, envc; + int error; + + p = imgp->proc; + destp = PROC_PS_STRINGS(p); + arginfo = imgp->ps_strings = (void *)destp; + + /* + * Copy the image path for the rtld. + */ + if (imgp->execpath != NULL && imgp->auxargs != NULL) { + execpath_len = strlen(imgp->execpath) + 1; + destp -= execpath_len; + destp = rounddown2(destp, sizeof(void *)); + imgp->execpathp = (void *)destp; + error = copyout(imgp->execpath, imgp->execpathp, execpath_len); + if (error != 0) + return (error); + } + + /* + * Prepare the canary for SSP. + */ + arc4rand(canary, sizeof(canary), 0); + destp -= sizeof(canary); + imgp->canary = (void *)destp; + error = copyout(canary, imgp->canary, sizeof(canary)); + if (error != 0) + return (error); + imgp->canarylen = sizeof(canary); + + /* + * Allocate room for the argument and environment strings. + */ + destp -= ARG_MAX - imgp->args->stringspace; + destp = rounddown2(destp, sizeof(void *)); + ustringp = destp; + + if (imgp->auxargs) { + /* + * Allocate room on the stack for the ELF auxargs + * array. It has up to LINUX_AT_COUNT entries. + */ + destp -= LINUX_AT_COUNT * sizeof(Elf_Auxinfo); + destp = rounddown2(destp, sizeof(void *)); + } + + vectp = (char **)destp; + + /* + * Allocate room for the argv[] and env vectors including the + * terminating NULL pointers. + */ + vectp -= imgp->args->argc + 1 + imgp->args->envc + 1; + + /* + * Starting with 2.24, glibc depends on a 16-byte stack alignment. + */ + vectp = (char **)((((uintptr_t)vectp + 8) & ~0xF) - 8); + + /* + * vectp also becomes our initial stack base + */ + *stack_base = (uintptr_t)vectp; + + stringp = imgp->args->begin_argv; + argc = imgp->args->argc; + envc = imgp->args->envc; + + /* + * Copy out strings - arguments and environment. + */ + error = copyout(stringp, (void *)ustringp, + ARG_MAX - imgp->args->stringspace); + if (error != 0) + return (error); + + /* + * Fill in "ps_strings" struct for ps, w, etc. + */ + imgp->argv = vectp; + if (suword(&arginfo->ps_argvstr, (long)(intptr_t)vectp) != 0 || + suword32(&arginfo->ps_nargvstr, argc) != 0) + return (EFAULT); + + /* + * Fill in argument portion of vector table. + */ + for (; argc > 0; --argc) { + if (suword(vectp++, ustringp) != 0) + return (EFAULT); + while (*stringp++ != 0) + ustringp++; + ustringp++; + } + + /* a null vector table pointer separates the argp's from the envp's */ + if (suword(vectp++, 0) != 0) + return (EFAULT); + + imgp->envv = vectp; + if (suword(&arginfo->ps_envstr, (long)(intptr_t)vectp) != 0 || + suword32(&arginfo->ps_nenvstr, envc) != 0) + return (EFAULT); + + /* + * Fill in environment portion of vector table. + */ + for (; envc > 0; --envc) { + if (suword(vectp++, ustringp) != 0) + return (EFAULT); + while (*stringp++ != 0) + ustringp++; + ustringp++; + } + + /* end of vector table is a null pointer */ + if (suword(vectp, 0) != 0) + return (EFAULT); + + if (imgp->auxargs) { + vectp++; + error = imgp->sysent->sv_copyout_auxargs(imgp, + (uintptr_t)vectp); + if (error != 0) + return (error); + } + + return (0); +} diff --git a/sys/compat/linux/linux_elf.h b/sys/compat/linux/linux_elf.h index 18d229d8481e..e0905983070b 100644 --- a/sys/compat/linux/linux_elf.h +++ b/sys/compat/linux/linux_elf.h @@ -38,5 +38,6 @@ struct note_info_list; void __linuxN(prepare_notes)(struct thread *, struct note_info_list *, size_t *); +int __linuxN(copyout_strings)(struct image_params *, uintptr_t *); #endif diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index a4bbf8333f58..aaf52b873258 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -111,8 +111,6 @@ static void linux_exec_setregs(struct thread *td, static void linux_exec_sysvec_init(void *param); static int linux_on_exec_vmspace(struct proc *p, struct image_params *imgp); -static int linux_copyout_strings(struct image_params *imgp, - uintptr_t *stack_base); static void linux_set_fork_retval(struct thread *td); static bool linux_trans_osrel(const Elf_Note *note, int32_t *osrel); static void linux_vdso_install(const void *param); @@ -201,124 +199,6 @@ linux_copyout_auxargs(struct image_params *imgp, uintptr_t base) return (error); } -/* - * Copied from kern/kern_exec.c - */ -static int -linux_copyout_strings(struct image_params *imgp, uintptr_t *stack_base) -{ - int argc, envc, error; - char **vectp; - char *stringp; - uintptr_t destp, ustringp; - struct ps_strings *arginfo; - char canary[LINUX_AT_RANDOM_LEN]; - size_t execpath_len; - struct proc *p; - - p = imgp->proc; - arginfo = (struct ps_strings *)PROC_PS_STRINGS(p); - destp = (uintptr_t)arginfo; - - if (imgp->execpath != NULL && imgp->auxargs != NULL) { - execpath_len = strlen(imgp->execpath) + 1; - destp -= execpath_len; - destp = rounddown2(destp, sizeof(void *)); - imgp->execpathp = (void *)destp; - error = copyout(imgp->execpath, imgp->execpathp, execpath_len); - if (error != 0) - return (error); - } - - /* Prepare the canary for SSP. */ - arc4rand(canary, sizeof(canary), 0); - destp -= roundup(sizeof(canary), sizeof(void *)); - imgp->canary = (void *)destp; - error = copyout(canary, imgp->canary, sizeof(canary)); - if (error != 0) - return (error); - - /* Allocate room for the argument and environment strings. */ - destp -= ARG_MAX - imgp->args->stringspace; - destp = rounddown2(destp, sizeof(void *)); - ustringp = destp; - - if (imgp->auxargs) { - /* - * Allocate room on the stack for the ELF auxargs - * array. It has LINUX_AT_COUNT entries. - */ - destp -= LINUX_AT_COUNT * sizeof(Elf32_Auxinfo); - destp = rounddown2(destp, sizeof(void *)); - } - - vectp = (char **)destp; - - /* - * Allocate room for the argv[] and env vectors including the - * terminating NULL pointers. - */ - vectp -= imgp->args->argc + 1 + imgp->args->envc + 1; - - /* vectp also becomes our initial stack base. */ - *stack_base = (uintptr_t)vectp; - - stringp = imgp->args->begin_argv; - argc = imgp->args->argc; - envc = imgp->args->envc; - - /* Copy out strings - arguments and environment. */ - error = copyout(stringp, (void *)ustringp, - ARG_MAX - imgp->args->stringspace); - if (error != 0) - return (error); - - /* Fill in "ps_strings" struct for ps, w, etc. */ - if (suword(&arginfo->ps_argvstr, (long)(intptr_t)vectp) != 0 || - suword(&arginfo->ps_nargvstr, argc) != 0) - return (EFAULT); - - /* Fill in argument portion of vector table. */ - for (; argc > 0; --argc) { - if (suword(vectp++, ustringp) != 0) - return (EFAULT); - while (*stringp++ != 0) - ustringp++; - ustringp++; - } - - /* A null vector table pointer separates the argp's from the envp's. */ - if (suword(vectp++, 0) != 0) - return (EFAULT); - - if (suword(&arginfo->ps_envstr, (long)(intptr_t)vectp) != 0 || - suword(&arginfo->ps_nenvstr, envc) != 0) - return (EFAULT); - - /* Fill in environment portion of vector table. */ - for (; envc > 0; --envc) { - if (suword(vectp++, ustringp) != 0) - return (EFAULT); - while (*stringp++ != 0) - ustringp++; - ustringp++; - } - - /* The end of the vector table is a null pointer. */ - if (suword(vectp, 0) != 0) - return (EFAULT); - - if (imgp->auxargs) { - vectp++; - error = imgp->sysent->sv_copyout_auxargs(imgp, - (uintptr_t)vectp); - if (error != 0) - return (error); - } - - return (0); -} - static void linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) { @@ -804,7 +684,7 @@ struct sysentvec elf_linux_sysvec = { .sv_psstringssz = sizeof(struct ps_strings), .sv_stackprot = VM_PROT_ALL, .sv_copyout_auxargs = linux_copyout_auxargs, - .sv_copyout_strings = linux_copyout_strings, + .sv_copyout_strings = __linuxN(copyout_strings), .sv_setregs = linux_exec_setregs, .sv_fixlimit = NULL, .sv_maxssiz = NULL, From nobody Thu Feb 2 14:59:10 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P724G6V55z3fjDt; Thu, 2 Feb 2023 14:59: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 4P724G4h73z3FLT; Thu, 2 Feb 2023 14:59:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vHWh9tQL/7/WBmfDo6UmKm2JOi5Xaz8gHFfU7Gu17f0=; b=pOM8NFCrplKqnF7i5HozQh/jKaA+9cPlXaZrE+HL+kP2zYRZBGQQqV+WqDGK/irYzpmd41 NZ1dGg3zzvJsPFi1c3DtryZS65f932fsNH2mmLUszSrUAd8IGFthGtEMW06xz6mwxwz8SL 994vvzkPCl2NukuRam5d6cRMnfQIkwdYDKDDdLBeaTsUokRlUjz4ijk+TSk4wo0oACbq7k u1VNxEWilD9itXId5Cp4030rlXRR9dNxgTWKokWznfbvS5a7VCOOgtndNqD0tivjh0Tb0/ /eZtDCMrFUUww/ywVdaePp6rsySkvqLPeOOmjb5oMdkKsZqpelG8HJJy/+BR5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675349950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vHWh9tQL/7/WBmfDo6UmKm2JOi5Xaz8gHFfU7Gu17f0=; b=CYrdjmABwLPntYLvuJCYM2LfGDsHV6yjyMNGjUHDh709CgTCU1SBiC66wnQY5E6ZkS6hjI KhjqRpyd23u7WfEfwMzd/tm1xm/voBwpSljtjh5qUvKR2wNKJ9PTHGtHyrl72ViKuPvgr1 R0+a82+hlb/hfMSSys/Xj1Am6wVGPJcBGxUoZ/xm1IHns0JxLqAt7URie3HI2w7L1TmjHM PJF2WgLCeaF9J25rBFvtYus9GeR/O3CNmH9eSY8V3i+e2XVHcINq1RfvJPS/7SGmCsTn+q 3/th9P21uPS2k+mnpvgUi0w9Coiuuz3a7LZ2GkVUYFF6VcEziTRpscJE8t+i4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675349950; a=rsa-sha256; cv=none; b=QVLJciRK/TeB+xpZ2ItM7dnZTVD4qn9RCSPhyFrKBZ0KeAovP2+WYdOLuHwa7RqkqIu5Pa LrO/ZGqzB7nBzOySuw1L7pI+RS8VN5MzBQO9mB8hN72sC10ltWoX3LZ1GsWLa3Z84wLyAE hgaB2g8Y6H6hOeNZAM2sbqxA6E57EEHpmvdZlGnJsmhXIjJ557dO8e5Cr2pCvqkV/L4Mqq Z8uSFMeJvByI3FYfD9A2QwfRy1l3fNihq7vK6q/hp2GZn6FWxAfRHrJV64n0ACAsZ7W6FT YDNcdsw/bpVSfzArcc/yV5RKckTW5CDqZTEkXTODex8w6TdzLvnqRr/joUr8WQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P724G3pFZzyYG; Thu, 2 Feb 2023 14:59:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312ExApe092165; Thu, 2 Feb 2023 14:59:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312ExAQE092164; Thu, 2 Feb 2023 14:59:10 GMT (envelope-from git) Date: Thu, 2 Feb 2023 14:59:10 GMT Message-Id: <202302021459.312ExAQE092164@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 95b8603427d5 - main - linux(4): Deduplicate linux_trans_osrel(). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 95b8603427d5759c5d6090ffaacfaf7f3b8fb926 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=95b8603427d5759c5d6090ffaacfaf7f3b8fb926 commit 95b8603427d5759c5d6090ffaacfaf7f3b8fb926 Author: Dmitry Chagin AuthorDate: 2023-02-02 14:58:07 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-02 14:58:07 +0000 linux(4): Deduplicate linux_trans_osrel(). MFC after: 1 week --- sys/amd64/linux/linux_sysvec.c | 31 ++----------------------------- sys/amd64/linux32/linux32_sysvec.c | 29 +---------------------------- sys/arm64/linux/linux_sysvec.c | 22 ---------------------- sys/compat/linux/linux_elf.c | 23 +++++++++++++++++++++++ sys/compat/linux/linux_elf.h | 5 +++++ sys/i386/linux/linux_sysvec.c | 27 --------------------------- 6 files changed, 31 insertions(+), 106 deletions(-) diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index b42c90abc07d..96cdf5e5c818 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -115,7 +115,6 @@ extern const char *linux_syscallnames[]; SET_DECLARE(linux_ioctl_handler_set, struct linux_ioctl_handler); -static bool linux_trans_osrel(const Elf_Note *note, int32_t *osrel); static void linux_vdso_install(const void *param); static void linux_vdso_deinstall(const void *param); static void linux_vdso_reloc(char *mapping, Elf_Addr offset); @@ -737,37 +736,11 @@ linux_vdso_reloc(char *mapping, Elf_Addr offset) } } -static char GNULINUX_ABI_VENDOR[] = "GNU"; -static int GNULINUX_ABI_DESC = 0; - -static bool -linux_trans_osrel(const Elf_Note *note, int32_t *osrel) -{ - const Elf32_Word *desc; - uintptr_t p; - - p = (uintptr_t)(note + 1); - p += roundup2(note->n_namesz, sizeof(Elf32_Addr)); - - desc = (const Elf32_Word *)p; - if (desc[0] != GNULINUX_ABI_DESC) - return (false); - - /* - * For Linux we encode osrel using the Linux convention of - * (version << 16) | (major << 8) | (minor) - * See macro in linux_mib.h - */ - *osrel = LINUX_KERNVER(desc[1], desc[2], desc[3]); - - return (true); -} - static Elf_Brandnote linux64_brandnote = { - .hdr.n_namesz = sizeof(GNULINUX_ABI_VENDOR), + .hdr.n_namesz = sizeof(GNU_ABI_VENDOR), .hdr.n_descsz = 16, .hdr.n_type = 1, - .vendor = GNULINUX_ABI_VENDOR, + .vendor = GNU_ABI_VENDOR, .flags = BN_TRANSLATE_OSREL, .trans_osrel = linux_trans_osrel }; diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c index c28f1c396d36..6e40a6a82a39 100644 --- a/sys/amd64/linux32/linux32_sysvec.c +++ b/sys/amd64/linux32/linux32_sysvec.c @@ -127,7 +127,6 @@ static void linux_exec_sysvec_init(void *param); static int linux_on_exec_vmspace(struct proc *p, struct image_params *imgp); static void linux32_fixlimit(struct rlimit *rl, int which); -static bool linux32_trans_osrel(const Elf_Note *note, int32_t *osrel); static void linux_vdso_install(const void *param); static void linux_vdso_deinstall(const void *param); static void linux_vdso_reloc(char *mapping, Elf_Addr offset); @@ -1016,39 +1015,13 @@ linux_vdso_reloc(char *mapping, Elf_Addr offset) } } -static char GNU_ABI_VENDOR[] = "GNU"; -static int GNULINUX_ABI_DESC = 0; - -static bool -linux32_trans_osrel(const Elf_Note *note, int32_t *osrel) -{ - const Elf32_Word *desc; - uintptr_t p; - - p = (uintptr_t)(note + 1); - p += roundup2(note->n_namesz, sizeof(Elf32_Addr)); - - desc = (const Elf32_Word *)p; - if (desc[0] != GNULINUX_ABI_DESC) - return (false); - - /* - * For Linux we encode osrel using the Linux convention of - * (version << 16) | (major << 8) | (minor) - * See macro in linux_mib.h - */ - *osrel = LINUX_KERNVER(desc[1], desc[2], desc[3]); - - return (true); -} - static Elf_Brandnote linux32_brandnote = { .hdr.n_namesz = sizeof(GNU_ABI_VENDOR), .hdr.n_descsz = 16, /* XXX at least 16 */ .hdr.n_type = 1, .vendor = GNU_ABI_VENDOR, .flags = BN_TRANSLATE_OSREL, - .trans_osrel = linux32_trans_osrel + .trans_osrel = linux_trans_osrel }; static Elf32_Brandinfo linux_brand = { diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c index 169dafe26ed2..48b4305c5fe4 100644 --- a/sys/arm64/linux/linux_sysvec.c +++ b/sys/arm64/linux/linux_sysvec.c @@ -105,7 +105,6 @@ extern const char *linux_syscallnames[]; SET_DECLARE(linux_ioctl_handler_set, struct linux_ioctl_handler); -static bool linux_trans_osrel(const Elf_Note *note, int32_t *osrel); static void linux_vdso_install(const void *param); static void linux_vdso_deinstall(const void *param); static void linux_vdso_reloc(char *mapping, Elf_Addr offset); @@ -571,27 +570,6 @@ linux_vdso_reloc(char *mapping, Elf_Addr offset) } } -static char GNU_ABI_VENDOR[] = "GNU"; -static int GNU_ABI_LINUX = 0; - -/* LINUXTODO: deduplicate */ -static bool -linux_trans_osrel(const Elf_Note *note, int32_t *osrel) -{ - const Elf32_Word *desc; - uintptr_t p; - - p = (uintptr_t)(note + 1); - p += roundup2(note->n_namesz, sizeof(Elf32_Addr)); - - desc = (const Elf32_Word *)p; - if (desc[0] != GNU_ABI_LINUX) - return (false); - - *osrel = LINUX_KERNVER(desc[1], desc[2], desc[3]); - return (true); -} - static Elf_Brandnote linux64_brandnote = { .hdr.n_namesz = sizeof(GNU_ABI_VENDOR), .hdr.n_descsz = 16, diff --git a/sys/compat/linux/linux_elf.c b/sys/compat/linux/linux_elf.c index 3e0582e2b8c3..43df9508d470 100644 --- a/sys/compat/linux/linux_elf.c +++ b/sys/compat/linux/linux_elf.c @@ -67,6 +67,7 @@ __FBSDID("$FreeBSD$"); #include #endif #include +#include #include struct l_elf_siginfo { @@ -465,3 +466,25 @@ __linuxN(copyout_strings)(struct image_params *imgp, uintptr_t *stack_base) return (0); } + +bool +linux_trans_osrel(const Elf_Note *note, int32_t *osrel) +{ + const Elf32_Word *desc; + uintptr_t p; + + p = (uintptr_t)(note + 1); + p += roundup2(note->n_namesz, sizeof(Elf32_Addr)); + + desc = (const Elf32_Word *)p; + if (desc[0] != GNU_ABI_LINUX) + return (false); + /* + * For Linux we encode osrel using the Linux convention of + * (version << 16) | (major << 8) | (minor) + * See macro in linux_mib.h + */ + *osrel = LINUX_KERNVER(desc[1], desc[2], desc[3]); + + return (true); +} diff --git a/sys/compat/linux/linux_elf.h b/sys/compat/linux/linux_elf.h index e0905983070b..87b21c4a14b2 100644 --- a/sys/compat/linux/linux_elf.h +++ b/sys/compat/linux/linux_elf.h @@ -33,11 +33,16 @@ struct note_info_list; /* Linux core notes are labeled "CORE" */ #define LINUX_ABI_VENDOR "CORE" +/* Elf notes */ +#define GNU_ABI_VENDOR "GNU" +#define GNU_ABI_LINUX 0 + /* This adds "linux32_" and "linux64_" prefixes. */ #define __linuxN(x) __CONCAT(__CONCAT(__CONCAT(linux,__ELF_WORD_SIZE),_),x) void __linuxN(prepare_notes)(struct thread *, struct note_info_list *, size_t *); int __linuxN(copyout_strings)(struct image_params *, uintptr_t *); +bool linux_trans_osrel(const Elf_Note *note, int32_t *osrel); #endif diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index aaf52b873258..9e2939ee4213 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -112,7 +112,6 @@ static void linux_exec_sysvec_init(void *param); static int linux_on_exec_vmspace(struct proc *p, struct image_params *imgp); static void linux_set_fork_retval(struct thread *td); -static bool linux_trans_osrel(const Elf_Note *note, int32_t *osrel); static void linux_vdso_install(const void *param); static void linux_vdso_deinstall(const void *param); static void linux_vdso_reloc(char *mapping, Elf_Addr offset); @@ -840,32 +839,6 @@ linux_vdso_reloc(char *mapping, Elf_Addr offset) } } -static char GNU_ABI_VENDOR[] = "GNU"; -static int GNULINUX_ABI_DESC = 0; - -static bool -linux_trans_osrel(const Elf_Note *note, int32_t *osrel) -{ - const Elf32_Word *desc; - uintptr_t p; - - p = (uintptr_t)(note + 1); - p += roundup2(note->n_namesz, sizeof(Elf32_Addr)); - - desc = (const Elf32_Word *)p; - if (desc[0] != GNULINUX_ABI_DESC) - return (false); - - /* - * For Linux we encode osrel using the Linux convention of - * (version << 16) | (major << 8) | (minor) - * See macro in linux_mib.h - */ - *osrel = LINUX_KERNVER(desc[1], desc[2], desc[3]); - - return (true); -} - static Elf_Brandnote linux_brandnote = { .hdr.n_namesz = sizeof(GNU_ABI_VENDOR), .hdr.n_descsz = 16, /* XXX at least 16 */ From nobody Thu Feb 2 15:17:25 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P72TL16wKz3flBr; Thu, 2 Feb 2023 15:17: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 4P72TL0VMcz3Hxs; Thu, 2 Feb 2023 15:17:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675351046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YDcJpGIZMiB0K9smgmNAvL0xwKsUFL6JVirDMDH1WJM=; b=qdFtjr5XPzDssB6DCuk1OBfhKAw9W6fkojC9SIvrniOrkevHLyPTHxzO6UIllILDxsBzLa 0QQhejiIiRBsSBUP0Gw93H8B2Zw/CDWW/RCIcPpHdJU/CfiaJpyykOCKpnttyHM4ja93Y8 oAvHa7oAJMZ4OTRppEQVDRg2k0kvsrxHvFANeBhhwtU4hY/kxlm25r09lhUK+TA0RazAov Pmp3AKst2mVo+8OwKtTsPUvbx/gWURiP2KQ6HfAinZbYWIVLO2THfEKV6v1lbBYoJ0Vxqo DYkqixE9Gdt9It1O724QAXCmvy/fgzIwiMAf/ear3czaHseePHCe8FqQ5qyn7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675351046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YDcJpGIZMiB0K9smgmNAvL0xwKsUFL6JVirDMDH1WJM=; b=a/sdHVH9QHVUnFK1uI/a1skz0GEZU9/Q4FvuEXHvefOP26HrC2ckqPBdfapNLdPUyh45D2 Eir4Q6x5heHpSdX/4hTB3dA5flLsDA0+76X7LtU9R1UOdX4lJR6oPuWei39I7ufgS+B0sg DWhb9i9AXYio/I3xWHx/dyfDDN1eJCNvFICseJLsx77T8NS4BNUOY25sdpcS54hqEUsla2 pim/GZBWpa4DS8MU1OgJOkB5t03Ss6fyV0OOWx3qkm3BjHCB01szOABpCXPxCADchSPPU/ 6v3b6/XuGwWx3Fvlm+guNBOR1poKCk+qaWdSO71Iqb/4VO03LqjZlLvdUR97Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675351046; a=rsa-sha256; cv=none; b=siGpXSde9UC9X+lJ3tGfVG8OE8Sm5mX+txKcdGqEovKZhoVKh+aNUYDcx0ncLJZ1PQSoVl pECRZFxLJmEe/1fAjnZ+sf9+wh/HXnYdk/Jov6y0uxSwpqRSKVgV7nVAB2u+jPBUoq0Egq +2Sj8rTkiqen8iVoncUNW6cG4T4r6TmKXAEdM2mewchC/Wft9FlHT6LQH/07wDHqbFtC2N IbKelrgegY52l2PR0Z4FkpDCwoBpRaiV6U7xTsZe2WK+2qrK8cp/1ElQ1LpCCLroUtTOHO BfXOnk3Q7ICBR0G2SkTIi9fPe/Ap3WVGvi02CpNEAIoHkk8LRru89jrFKW1PKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P72TK6ZJRz107s; Thu, 2 Feb 2023 15:17:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312FHP7p020966; Thu, 2 Feb 2023 15:17:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312FHPAK020965; Thu, 2 Feb 2023 15:17:25 GMT (envelope-from git) Date: Thu, 2 Feb 2023 15:17:25 GMT Message-Id: <202302021517.312FHPAK020965@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Gallatin Subject: git: 8de48df35c3b - main - ixgbe: Do not count L3/L4 checksum errors as input errors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8de48df35c3bf4800176b7aa54c75a01864d458b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=8de48df35c3bf4800176b7aa54c75a01864d458b commit 8de48df35c3bf4800176b7aa54c75a01864d458b Author: Andrew Gallatin AuthorDate: 2023-02-02 15:02:44 +0000 Commit: Andrew Gallatin CommitDate: 2023-02-02 15:14:12 +0000 ixgbe: Do not count L3/L4 checksum errors as input errors NIC input errors have traditionally indicated problems at the link level (crc errors, runts, etc). People tend to build monitoring infrastructure around such errors in order to monitor for bad network hardware. When L3/L4 checksum errors are included in the category of input errors, it breaks such monitoring, as these errors can originate anywhere on the internet, and do not necessarily indicate faulty local network hardware. Reviewed by: erj, glebius Differential Revision: https://reviews.freebsd.org/D38346 Sponsored by: Netflix --- sys/dev/ixgbe/if_ix.c | 5 ----- sys/dev/ixgbe/ixgbe.h | 1 - 2 files changed, 6 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 4f6faeec4296..8df0e59a8346 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -1577,19 +1577,14 @@ ixgbe_update_stats_counters(struct ixgbe_softc *sc) * Aggregate following types of errors as RX errors: * - CRC error count, * - illegal byte error count, - * - checksum error count, * - missed packets count, * - length error count, * - undersized packets count, * - fragmented packets count, * - oversized packets count, * - jabber count. - * - * Ignore XEC errors for 82599 to workaround errata about - * UDP frames with zero checksum. */ IXGBE_SET_IERRORS(sc, stats->crcerrs + stats->illerrc + - (hw->mac.type != ixgbe_mac_82599EB ? stats->xec : 0) + stats->mpc[0] + stats->rlec + stats->ruc + stats->rfc + stats->roc + stats->rjc); } /* ixgbe_update_stats_counters */ diff --git a/sys/dev/ixgbe/ixgbe.h b/sys/dev/ixgbe/ixgbe.h index 0f81a0a2c2da..83a51b4d15e7 100644 --- a/sys/dev/ixgbe/ixgbe.h +++ b/sys/dev/ixgbe/ixgbe.h @@ -507,7 +507,6 @@ struct ixgbe_softc { "\nSum of the following RX errors counters:\n" \ " * CRC errors,\n" \ " * illegal byte error count,\n" \ - " * checksum error count,\n" \ " * missed packet count,\n" \ " * length error count,\n" \ " * undersized packets count,\n" \ From nobody Thu Feb 2 16:48:25 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P74VL30f4z3kM4V; Thu, 2 Feb 2023 16:48: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 4P74VL1zXkz3nVr; Thu, 2 Feb 2023 16:48:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675356506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PZyyLv9BLmjGlG80/ghQs/L2chKc8q9Mcu83uJ/iBN4=; b=NOibg8mgMmo+HFRYa3jMda0UnrDtFzFCYQ6SwerA6NnxzuC4yGUmwsFZ9piN8RKmPjGAUd O5CZ7TI3aT+pOw15vbaGJUxmPOLftPh3AQGBIHN/0ltcrlvmUduM2O+sKY2uqsRS8gkAgI uJwlro15qyy1K/g40N/xfjrVG1wwHzjz0BcDwCSe/51da5nSh13QBA2Y2cMa7w8vbsu4KV dZqJJVi0UYRHU4pH1+hN3gKfxYIYmpaHXa0+QpwrMCKGa87xuRaQPPAsF7Kvyt76CM75Wt Z1Q5dijdFa0sZQHEMZ8VdBW1VgcyJcL/yNgotiDBb1cPvTMk/MhPBXOnOOmSOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675356506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PZyyLv9BLmjGlG80/ghQs/L2chKc8q9Mcu83uJ/iBN4=; b=N84ytO1b9kDulRAU/wgkYUssfPysB2cxz7JQ5DOfEQJZ0SLrn29nJCaDjV2OHvXR4pFyu+ AkYs5I70eU7uGMJITIae8Jib0nKYMtzuq38QNzGItUGQlnK+t3dGZsQVaQyBBLpAGCTkHD IBYYkZ9WOvyCUIIsTxSbPs2khqlLrZAZVuRMh0i5DfXcomVKTPWZc41Y++svu6ogPJp1xK UtdJT16BFMkKFwoZNoGWHRhym9BE/6WsMfqKkQRHdNGmlqZfu9js+1uOGox4NwHJf1kyRa 26iI2BGESs1ULp2mDlRlmHhN6TxvsYRbXkkxODtMzt5ZhXLASCBUncmIXLMJFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675356506; a=rsa-sha256; cv=none; b=PtG4+ubV4u1++peIRQaJuYQSeMyY57m/YyV7Tgxf1nWuAXwB0JSl9hpnvweIIl8mM6tR9a W8+xT3WKPxg+iUUf2xlK/i/JO5Nf2xHj5WSEIv/Vk3Fu7KsJ+5oJT2Uq3jGJbJ/2ALmBAU YI7n6kUJuO2nP9aevzRst2jfTtqy69QIS0LSlPhFRcHG79jd4S1Wb4vLiwJHy0tfeYrhBr mFrvT8wXMa9KkyKt50flZUa894lqR049jJjDPrpyMQI/LLfgK6F0/SBYnyxRzqK2cTAvDz 2jKE1RWGUOSiBi1LgEXCSOJAE4kExTYoty1mMA8DcxzmVyBl4AATTQBE1asWOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P74VL0gndz124W; Thu, 2 Feb 2023 16:48:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312GmP7E049700; Thu, 2 Feb 2023 16:48:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312GmPHd049699; Thu, 2 Feb 2023 16:48:25 GMT (envelope-from git) Date: Thu, 2 Feb 2023 16:48:25 GMT Message-Id: <202302021648.312GmPHd049699@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 03d6e03851c6 - main - Check for the IORT before adding the ITS driver List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 03d6e03851c6e8068a07bcbfbd1bb619a8baa963 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=03d6e03851c6e8068a07bcbfbd1bb619a8baa963 commit 03d6e03851c6e8068a07bcbfbd1bb619a8baa963 Author: Andrew Turner AuthorDate: 2022-12-19 14:19:26 +0000 Commit: Andrew Turner CommitDate: 2023-02-02 16:43:15 +0000 Check for the IORT before adding the ITS driver Before adding the ITS interrupt controller driver to handle MSI/MSI-X interrupts check if it is present in the IO Remapping Table (IORT). If not don't attach as devices expect to use this table to find the correct MSI interrupt controller. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D37772 --- sys/arm64/arm64/gic_v3_acpi.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/sys/arm64/arm64/gic_v3_acpi.c b/sys/arm64/arm64/gic_v3_acpi.c index 38f8b310e055..090c61429441 100644 --- a/sys/arm64/arm64/gic_v3_acpi.c +++ b/sys/arm64/arm64/gic_v3_acpi.c @@ -1,5 +1,6 @@ /*- * Copyright (c) 2016 The FreeBSD Foundation + * Copyright (c) 2022 Arm Ltd * * This software was developed by Andrew Turner under * the sponsorship of the FreeBSD Foundation. @@ -393,23 +394,25 @@ gic_v3_add_children(ACPI_SUBTABLE_HEADER *entry, void *arg) dev = arg; sc = device_get_softc(dev); + di = malloc(sizeof(*di), M_GIC_V3, M_WAITOK | M_ZERO); + err = acpi_iort_its_lookup(gict->TranslationId, &xref, &pxm); + if (err != 0) { + free(di, M_GIC_V3); + return; + } + child = device_add_child(dev, "its", -1); - if (child == NULL) + if (child == NULL) { + free(di, M_GIC_V3); return; + } - di = malloc(sizeof(*di), M_GIC_V3, M_WAITOK | M_ZERO); + di->di_gic_dinfo.gic_domain = pxm; + di->di_gic_dinfo.msi_xref = xref; resource_list_init(&di->di_rl); resource_list_add(&di->di_rl, SYS_RES_MEMORY, 0, gict->BaseAddress, gict->BaseAddress + 128 * 1024 - 1, 128 * 1024); - err = acpi_iort_its_lookup(gict->TranslationId, &xref, &pxm); - if (err == 0) { - di->di_gic_dinfo.gic_domain = pxm; - di->di_gic_dinfo.msi_xref = xref; - } else { - di->di_gic_dinfo.gic_domain = -1; - di->di_gic_dinfo.msi_xref = ACPI_MSI_XREF; - } sc->gic_nchildren++; device_set_ivars(child, di); } From nobody Thu Feb 2 16:48:27 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P74VM68MLz3kLWd; Thu, 2 Feb 2023 16:48:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P74VM2XLkz3nfl; Thu, 2 Feb 2023 16:48:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675356507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XVfRNZZwSnCka6C7/hzdys9LP+xyAbL1aTUihPikoSQ=; b=y2Ci52Ngmn+5Q5nZi1HNmNpxJfntPOacaDTZHhlckUsOvRqfK+GU5CD9AB8tRQinIpu1ly DhZyOSi1hnX7W2Lb6JeTI1YhVlvKw+lw2MHq7paA6uAYW7tgXPTs9sDnXIPmjRgkyIva67 eaiFuau++lkupZcSSNHIuYE0BdETSLSEXhUTANsiebj8X1SCrq1RByPVqDuykGzCauPchW 7/t4fQrkaNLr4+mbS6CwRfKjXm8NxVk4xxSrA/AO6CC4a6e1FyJcDOP+jS45N4tT59idqM ALi0Qymca9A2E6wIAqKUsVk+6xbT2LeJ/lDYlE4UegNKRDk/kskW4s8e1lSzog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675356507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XVfRNZZwSnCka6C7/hzdys9LP+xyAbL1aTUihPikoSQ=; b=iPm2XT2IP+ua/K61DnDjz7mtpKfaRdW+e/2Zj5eGE5dtflZsN2jnioc6I0zNymSaOBNX6n KQr6haIv2P+Yhr1LZwR6wfOMKe5WzsA1Rl6Y7SlUkg9iZ3GAaAfCCWTvDqU62YvcVmy6Pp OIt0nAMNmddcDdHeh/bt2P1HQoux3bpFl/GDaACr0WSMWA4Zv7v3JoLVPRXu1JCY/iFKGv Taa7QHc8WrWHkPEX4H2EiAl8ADQzU7dCTnz+1N1/y4shQr7cRBan8ntaODxDyPmDAH3TVt AVJmnUcHOv3OE5jH0BJOlH7uEww/zv6QHMU+iEgSQDbZ1TJkP7pQw7CzsNSFNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675356507; a=rsa-sha256; cv=none; b=iEULFzdYWfwr8uyHBAoi5Mp27rs0NCvqXtk5iVcbe/nykc1mR+4U+0rs+2R2w8FYNk84dX 0z6VGG7zZwGjaDcaYff+FdK99+crRhTYFQHh4AotU9nyr15GY4X6bsJ7bFyuwLEB0TObBL kEwrA51FkiCy6PB3yk7dJ5IpY3MG/mx4tl1PHPgXUxTJqB2lytRGKkdg+m0HlHVY3y0jxm hFqCdzdbEraSgY7Lj+uw0M4UuJyepEjJfah8yWNkPUNN+I2nhgCGzKsF/HUeyZrNi9JDmr hZkPhYLtemOj6whm6nQqurxO28vjpu5JvUPmSZNm3TpMZKfj5Bn0Gfotf/sdMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P74VM191sz124X; Thu, 2 Feb 2023 16:48:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312GmRJx049724; Thu, 2 Feb 2023 16:48:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312GmRfB049723; Thu, 2 Feb 2023 16:48:27 GMT (envelope-from git) Date: Thu, 2 Feb 2023 16:48:27 GMT Message-Id: <202302021648.312GmRfB049723@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 22e4897422a0 - main - Limit where we disable the Arm generic timer List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 22e4897422a055b7a15be5984fbc4bb97f432e79 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=22e4897422a055b7a15be5984fbc4bb97f432e79 commit 22e4897422a055b7a15be5984fbc4bb97f432e79 Author: Andrew Turner AuthorDate: 2023-02-02 16:26:25 +0000 Commit: Andrew Turner CommitDate: 2023-02-02 16:43:15 +0000 Limit where we disable the Arm generic timer Only disable the Arm generic timer on arm64 when entering the kernel through EL2. There is no guarantee it will be enabled if we are running under a hypervisor. Sponsored by: Arm Ltd --- sys/arm/arm/generic_timer.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index 0556643032c2..b19248327683 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -54,15 +54,13 @@ __FBSDID("$FreeBSD$"); #include #include #include + #include #include #include +#include #include -#if defined(__arm__) -#include /* For arm_set_delay */ -#endif - #if defined(__aarch64__) #include #endif @@ -138,11 +136,13 @@ static struct timecounter arm_tmr_timecount = { #define get_el1(x) cp15_## x ##_get() #define set_el0(x, val) cp15_## x ##_set(val) #define set_el1(x, val) cp15_## x ##_set(val) +#define HAS_PHYS true #else /* __aarch64__ */ #define get_el0(x) READ_SPECIALREG(x ##_el0) #define get_el1(x) READ_SPECIALREG(x ##_el1) #define set_el0(x, val) WRITE_SPECIALREG(x ##_el0, val) #define set_el1(x, val) WRITE_SPECIALREG(x ##_el1, val) +#define HAS_PHYS has_hyp() #endif static int @@ -521,8 +521,8 @@ arm_tmr_attach(device_t dev) if (sc->res[GT_VIRT] != NULL) arm_tmr_disable(false); /* And the physical */ - if (sc->res[GT_PHYS_SECURE] != NULL || - sc->res[GT_PHYS_NONSECURE] != NULL) + if ((sc->res[GT_PHYS_SECURE] != NULL || + sc->res[GT_PHYS_NONSECURE] != NULL) && HAS_PHYS) arm_tmr_disable(true); arm_tmr_timecount.tc_frequency = sc->clkfreq; From nobody Thu Feb 2 16:48:28 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P74VN4RLlz3kLnV; Thu, 2 Feb 2023 16:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P74VN38Dmz3nwN; Thu, 2 Feb 2023 16:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675356508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AEwBYvgCNhpDFDddllPz7JZOcTtYZ2YkLzttrSdqd3o=; b=sZRhwOvOw8ib+cpf21lpM945SltLg584WtX4qPNMc1qHwe3JqznyQLoQo4ElzAzi/O6SxE iU/s1r2n8+hwlZSvp/13ngy6kNnNFyu1oZxctq5AsDvlZTwoi4Qiq7HmV6hCt+Y806pZpq kQmr78JV1pqnGUEV1V/T1p8o0KGjlZth9VrNfmLuEzNNFuJkUShHgThgxi6ip/ftoZype/ SsI5IgdyDDPd8f6Q7kB973thPWBzD4zBvdDavH9IG63dPq6lIOlQGBBarOIQRwWTZMiJ70 /43LmZ2XG/RpcHvjnyHAmlV6kn5ickfgfokK/dnbJHU3B1jhe73ZfEEnKOYzxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675356508; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AEwBYvgCNhpDFDddllPz7JZOcTtYZ2YkLzttrSdqd3o=; b=Y6knjIKnGTcrWiKrltJYl/GIqt8tT0hSDfAmK32aNKhBxVOD0iFjmk6YnaUZOGftuBkDlG tczfPezLGlMU6JHOk9QRjeJfU8049WW4ADa8mQVUTV85rZ///BlmIUXk/5VJs0GatNpdnl 1GR5xgMxstWLTtDnbf69p4fxAlAA0ExpPVwX2G+3nnk2keZ6dtM7CUtf8FvxBDtUBFIpXL nG7/De9XdtXYMTSD2TZhHHSXCs8rFvuk0XfLfO3mYwGjI+gUGoS3Ej8PwTS3E+23pc95mE /6VtE0gPSHJIz8pIRSfn449d6kOHIEq+3I3Y5B6jyT0WoXab58y+mgacY/NkTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675356508; a=rsa-sha256; cv=none; b=mI+ZqotL31Ju7jRPvUGta6/oW8G1Q+YsOd7oaGMdPbu8XbXm9Li6/dnaHD8zzaZ3SdoLNi pB5X8gc+nHFywM0FeaUz0f1Z6x3rJtRmG1gHRVmCXaPtzb2TxdHKhv48x2E9OMPg6uGtMC IEAYw2GOj4dySJKODOXkxpYC+qkObixNu1Zwf1R0SvN4A4oqqUpa7Pg14cKugkuY/uFmeq c1s/adP+FiiyNOtmZj8z9M+EiIH7KWIljKd36lg0J/JJyrYudec6fjUdfmnxBYlN6w8kyR I8hbiPG6/0n5j371b7jsCC5nDUSuIVreSP5S0/9HWrR9sga6UNYO1o7Uc7oOkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P74VN260wz126g; Thu, 2 Feb 2023 16:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312GmSPJ049748; Thu, 2 Feb 2023 16:48:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312GmSXI049747; Thu, 2 Feb 2023 16:48:28 GMT (envelope-from git) Date: Thu, 2 Feb 2023 16:48:28 GMT Message-Id: <202302021648.312GmSXI049747@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: f29942229d24 - main - Read the arm64 far early in el0 exceptions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f29942229d24ebb8b98f8c5d02f3c8632648007e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f29942229d24ebb8b98f8c5d02f3c8632648007e commit f29942229d24ebb8b98f8c5d02f3c8632648007e Author: Andrew Turner AuthorDate: 2023-01-25 17:47:39 +0000 Commit: Andrew Turner CommitDate: 2023-02-02 16:43:15 +0000 Read the arm64 far early in el0 exceptions When handling userspace exceptions on arm64 we need to dereference the current thread pointer. If this is being promoted/demoted there is a small window where it will cause another exception to be hit. As this second exception will set the fault address register we will read the incorrect value in the userspace exception handler. Fix this be always reading the fault address before dereferencing the current thread pointer. Reported by: olivier@ Reviewed by: markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D38196 --- sys/arm64/arm64/exception.S | 15 +++++++++++++++ sys/arm64/arm64/trap.c | 26 +++++++------------------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/sys/arm64/arm64/exception.S b/sys/arm64/arm64/exception.S index 4a74358afeb9..55bac5e5228a 100644 --- a/sys/arm64/arm64/exception.S +++ b/sys/arm64/arm64/exception.S @@ -212,10 +212,25 @@ ENTRY(handle_el1h_irq) END(handle_el1h_irq) ENTRY(handle_el0_sync) + /* + * Read the fault address early. The current thread structure may + * be transiently unmapped if it is part of a memory range being + * promoted or demoted to/from a superpage. As this involves a + * break-before-make sequence there is a short period of time where + * an access will raise an exception. If this happens the fault + * address will be changed to the kernel address so a later read of + * far_el1 will give the wrong value. + * + * The earliest memory access that could trigger a fault is in a + * function called by the save_registers macro so this is the latest + * we can read the userspace value. + */ + mrs x19, far_el1 save_registers 0 ldr x0, [x18, #PC_CURTHREAD] mov x1, sp str x1, [x0, #TD_FRAME] + mov x2, x19 bl do_el0_sync do_ast restore_registers 0 diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 4e54a06548cc..1b33d7aa60c4 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -76,7 +76,7 @@ __FBSDID("$FreeBSD$"); /* Called from exception.S */ void do_el1h_sync(struct thread *, struct trapframe *); -void do_el0_sync(struct thread *, struct trapframe *); +void do_el0_sync(struct thread *, struct trapframe *, uint64_t far); void do_el0_error(struct trapframe *); void do_serror(struct trapframe *); void unhandled_exception(struct trapframe *); @@ -559,11 +559,11 @@ do_el1h_sync(struct thread *td, struct trapframe *frame) } void -do_el0_sync(struct thread *td, struct trapframe *frame) +do_el0_sync(struct thread *td, struct trapframe *frame, uint64_t far) { pcpu_bp_harden bp_harden; uint32_t exception; - uint64_t esr, far; + uint64_t esr; int dfsc; /* Check we have a sane environment when entering from userland */ @@ -573,27 +573,15 @@ do_el0_sync(struct thread *td, struct trapframe *frame) esr = frame->tf_esr; exception = ESR_ELx_EXCEPTION(esr); - switch (exception) { - case EXCP_INSN_ABORT_L: - far = READ_SPECIALREG(far_el1); - + if (exception == EXCP_INSN_ABORT_L && far > VM_MAXUSER_ADDRESS) { /* * Userspace may be trying to train the branch predictor to * attack the kernel. If we are on a CPU affected by this * call the handler to clear the branch predictor state. */ - if (far > VM_MAXUSER_ADDRESS) { - bp_harden = PCPU_GET(bp_harden); - if (bp_harden != NULL) - bp_harden(); - } - break; - case EXCP_UNKNOWN: - case EXCP_DATA_ABORT_L: - case EXCP_DATA_ABORT: - case EXCP_WATCHPT_EL0: - far = READ_SPECIALREG(far_el1); - break; + bp_harden = PCPU_GET(bp_harden); + if (bp_harden != NULL) + bp_harden(); } intr_enable(); From nobody Thu Feb 2 17:20:13 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P75C13c0jz3kNQ6; Thu, 2 Feb 2023 17:20: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 4P75C12rhwz3tZ9; Thu, 2 Feb 2023 17:20:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675358413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=22gh5Q9roBT03SloyqJVFycaKqZ+OEYcpjTaM7YJITI=; b=C0cpdc//+1nCRYLt3efUxH+wPuVJ3vfjvc8TJw4XggW3nyIhxACh7LEwwN0psGjJaxlyB1 m8WYwyXWu4MbhYh5mgePOqJGMwaHfaX/9LpTSB32tORMG7JoZGWPMDyJN7bNsECgwSazHp kEXNvPHEfgRQHQpEic6J8EzUynlq8CrqO25awfktQ9skrwL44olLxDnOkI+c6kQLhBiGvw jMjoPz+3SBMAprKEO+Rwv1OKf9ldwvryyw4HjxiRuNdjKmA9SMC+UiLruNY1qPwA6nMIEU CsUxK6YeGGWIS7/Cjcl061jjZa/FYDmD1VIjSgZKkh9IkApzt2xjnwQdmAA6kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675358413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=22gh5Q9roBT03SloyqJVFycaKqZ+OEYcpjTaM7YJITI=; b=JCZqiDm0eTSoxPRvnFVb3ZW3FGBTENOkUfRcpQdlGu2QgmV+boFaFfALeI5ycDzpFUpNEI poCdFATH4xjWSdMSM5nejbfNeBcu30SNIdI5KQNaPTkxiOXTDDSV+1f6ZG25G1Sspoje4m KBOewJQ1cXG1zFe6AHOzXZg6CskEjLzZlh47R8nAKg3R6pc+7qrxvBE9noBNLt7qzySLDY 1XG8nKLtPWzyVOakB8wdwenvTjKfweBjMnLXyIiEdrxRkrYKNIrZFDIxnSbjkQ439D3UfQ 4i7g/QuUMs8wbIgNrwkJ8UUq5xloA5uQTJZ9apxl9K9Ii/xYQZRR4PSWa4xNEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675358413; a=rsa-sha256; cv=none; b=Dd1EuJEBMz7ox/mGl6RM8eT3sMi+yViR+xZvFNrkDjSN9w1IEzumMpwBJpW+vqKKoxXFlY VMQPrsUFJAh5lwNGOgFslaVRP3OtjCXLf6WYEBvN9u31km0IvAwhP62o/pxiXTumutrAiL kbkaLwrMYrk2zWSHeLl/ikUjlv7Z5C8jdTdIRYCSWqV63j4PU8Wd/5tYa5MbbCuuTi+vRh n43A7MF4bTDpybz8XvCm6KAhNhMsuoKzvf1GYT70tYk7BZ5z6BKtgNuS5MbWIxx24mpzkQ 4/huOP29jOmQ78zPTZmOdEkxwvz9S5/WOjQj9ulg0OikSEb7lbBRNQ0G7D38zw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P75C11TH3z12tM; Thu, 2 Feb 2023 17:20:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312HKDYs099245; Thu, 2 Feb 2023 17:20:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312HKDQG099212; Thu, 2 Feb 2023 17:20:13 GMT (envelope-from git) Date: Thu, 2 Feb 2023 17:20:13 GMT Message-Id: <202302021720.312HKDQG099212@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 69d94f4c7608 - main - Add tarfs, a filesystem backed by tarballs. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 69d94f4c7608e41505996559367450706e91fbb8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=69d94f4c7608e41505996559367450706e91fbb8 commit 69d94f4c7608e41505996559367450706e91fbb8 Author: Dag-Erling Smørgrav AuthorDate: 2023-02-02 17:18:41 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-02 17:19:29 +0000 Add tarfs, a filesystem backed by tarballs. Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: pauamma, imp Differential Revision: https://reviews.freebsd.org/D37753 --- etc/mtree/BSD.tests.dist | 2 + share/man/man5/Makefile | 1 + share/man/man5/tarfs.5 | 103 ++++ sys/conf/files | 4 + sys/conf/options | 4 + sys/fs/tarfs/tarfs.h | 254 +++++++++ sys/fs/tarfs/tarfs_dbg.h | 65 +++ sys/fs/tarfs/tarfs_io.c | 727 +++++++++++++++++++++++ sys/fs/tarfs/tarfs_subr.c | 603 ++++++++++++++++++++ sys/fs/tarfs/tarfs_vfsops.c | 1173 ++++++++++++++++++++++++++++++++++++++ sys/fs/tarfs/tarfs_vnops.c | 642 +++++++++++++++++++++ sys/kern/subr_witness.c | 6 + sys/modules/Makefile | 1 + sys/modules/tarfs/Makefile | 23 + tests/sys/fs/Makefile | 1 + tests/sys/fs/tarfs/Makefile | 10 + tests/sys/fs/tarfs/mktar.c | 238 ++++++++ tests/sys/fs/tarfs/tarfs_test.sh | 54 ++ 18 files changed, 3911 insertions(+) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index 0d05ecaf06fc..b4b18997b7f9 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -757,6 +757,8 @@ fs fusefs .. + tarfs + .. tmpfs .. .. diff --git a/share/man/man5/Makefile b/share/man/man5/Makefile index 2d49d981c2f9..f6e91e4ed00b 100644 --- a/share/man/man5/Makefile +++ b/share/man/man5/Makefile @@ -70,6 +70,7 @@ MAN= acct.5 \ style.Makefile.5 \ style.mdoc.5 \ sysctl.conf.5 \ + tarfs.5 \ tmpfs.5 \ unionfs.5 diff --git a/share/man/man5/tarfs.5 b/share/man/man5/tarfs.5 new file mode 100644 index 000000000000..b25131c323c1 --- /dev/null +++ b/share/man/man5/tarfs.5 @@ -0,0 +1,103 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2022 Klara, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd February 2, 2023 +.Dt TARFS 5 +.Os +.Sh NAME +.Nm tarfs +.Nd tarball filesystem +.Sh SYNOPSIS +To compile this driver into the kernel, place the following line in +your kernel configuration file: +.Bd -ragged -offset indent +.Cd "options TARFS" +.Ed +.Pp +Alternatively, to load the driver as a module at boot time, place the +following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +tarfs_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver implementes a read-only filesystem backed by a +.Xr tar 5 +file. +Currently, only POSIX archives, optionally compressed with +.Xr zstd 1 , +are supported. +.Pp +The preferred I/O size for +.Nm +filesystems can be adjusted using the +.Va vfs.tarfs.ioshift +sysctl setting and tunable. +Setting it to 0 will reset it to its default value. +Note that changes to this setting only apply to filesystems mounted +after the change. +.Sh DIAGNOSTICS +If enabled by the +.Dv TARFS_DEBUG +kernel option, the +.Va vfs.tarfs.debug +sysctl setting can be used to control debugging output from the +.Nm +driver. +Debugging output for individual sections of the driver can be enabled +by adding together the relevant values from the table below. +.Bl -column Value Description +.It 0x01 Ta Memory allocations +.It 0x02 Ta Checksum calculations +.It 0x04 Ta Filesystem operations (vfsops) +.It 0x08 Ta Path lookups +.It 0x10 Ta File operations (vnops) +.It 0x20 Ta General I/O +.It 0x40 Ta Decompression +.It 0x80 Ta Decompression index +.It 0x100 Ta Sparse file mapping +.El +.Sh SEE ALSO +.Xr tar 1 , +.Xr zstd 1 , +.Xr fstab 5 , +.Xr tar 5 , +.Xr mount 8 , +.Xr sysctl 8 +.Sh HISTORY +.An -nosplit +The +.Nm +driver was developed by +.An Stephen J. Kiernan Aq Mt stevek@FreeBSD.org +and +.An Dag-Erling Smørgrav Aq Mt des@FreeBSD.org +for Juniper Networks and Klara Systems. +This manual page was written by +.An Dag-Erling Smørgrav Aq Mt des@FreeBSD.org +for Juniper Networks and Klara Systems. diff --git a/sys/conf/files b/sys/conf/files index 6cb4abcd9223..08966a9b46e4 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3615,6 +3615,10 @@ fs/smbfs/smbfs_smb.c optional smbfs fs/smbfs/smbfs_subr.c optional smbfs fs/smbfs/smbfs_vfsops.c optional smbfs fs/smbfs/smbfs_vnops.c optional smbfs +fs/tarfs/tarfs_io.c optional tarfs compile-with "${NORMAL_C} -I$S/contrib/zstd/lib/freebsd" +fs/tarfs/tarfs_subr.c optional tarfs +fs/tarfs/tarfs_vfsops.c optional tarfs +fs/tarfs/tarfs_vnops.c optional tarfs fs/udf/osta.c optional udf fs/udf/udf_iconv.c optional udf_iconv fs/udf/udf_vfsops.c optional udf diff --git a/sys/conf/options b/sys/conf/options index 1f5003507539..3b2be66ba602 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -265,6 +265,7 @@ NULLFS opt_dontuse.h PROCFS opt_dontuse.h PSEUDOFS opt_dontuse.h SMBFS opt_dontuse.h +TARFS opt_dontuse.h TMPFS opt_dontuse.h UDF opt_dontuse.h UNIONFS opt_dontuse.h @@ -273,6 +274,9 @@ ZFS opt_dontuse.h # Pseudofs debugging PSEUDOFS_TRACE opt_pseudofs.h +# Tarfs debugging +TARFS_DEBUG opt_tarfs.h + # In-kernel GSS-API KGSSAPI opt_kgssapi.h KGSSAPI_DEBUG opt_kgssapi.h diff --git a/sys/fs/tarfs/tarfs.h b/sys/fs/tarfs/tarfs.h new file mode 100644 index 000000000000..dffd60ee6d8a --- /dev/null +++ b/sys/fs/tarfs/tarfs.h @@ -0,0 +1,254 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2013 Juniper Networks, Inc. + * Copyright (c) 2022-2023 Klara, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _FS_TARFS_TARFS_H_ +#define _FS_TARFS_TARFS_H_ + +#ifndef _KERNEL +#error Should only be included by kernel +#endif + +MALLOC_DECLARE(M_TARFSMNT); +MALLOC_DECLARE(M_TARFSNODE); +MALLOC_DECLARE(M_TARFSNAME); + +#ifdef SYSCTL_DECL +SYSCTL_DECL(_vfs_tarfs); +#endif + +struct componentname; +struct mount; +struct vnode; + +/* + * Internal representation of a tarfs file system node. + */ +struct tarfs_node { + TAILQ_ENTRY(tarfs_node) entries; + TAILQ_ENTRY(tarfs_node) dirents; + + struct mtx lock; + + struct vnode *vnode; + struct tarfs_mount *tmp; + enum vtype type; + ino_t ino; + off_t offset; + size_t size; + size_t physize; + char *name; + size_t namelen; + + /* Node attributes */ + uid_t uid; + gid_t gid; + mode_t mode; + unsigned int flags; + nlink_t nlink; + struct timespec atime; + struct timespec mtime; + struct timespec ctime; + struct timespec birthtime; + unsigned long gen; + + /* Block map */ + size_t nblk; + struct tarfs_blk *blk; + + struct tarfs_node *parent; + union { + /* VDIR */ + struct { + TAILQ_HEAD(, tarfs_node) dirhead; + off_t lastcookie; + struct tarfs_node *lastnode; + } dir; + + /* VLNK */ + struct { + char *name; + size_t namelen; + } link; + + /* VBLK or VCHR */ + dev_t rdev; + + /* VREG */ + struct tarfs_node *other; + }; +}; + +/* + * Entry in sparse file block map. + */ +struct tarfs_blk { + off_t i; /* input (physical) offset */ + off_t o; /* output (logical) offset */ + size_t l; /* length */ +}; + +/* + * Decompression buffer. + */ +#define TARFS_ZBUF_SIZE 1048576 +struct tarfs_zbuf { + u_char buf[TARFS_ZBUF_SIZE]; + size_t off; /* offset of contents */ + size_t len; /* length of contents */ +}; + +/* + * Internal representation of a tarfs mount point. + */ +struct tarfs_mount { + TAILQ_HEAD(, tarfs_node) allnodes; + struct mtx allnode_lock; + + struct tarfs_node *root; + struct vnode *vp; + struct mount *vfs; + ino_t ino; + struct unrhdr *ino_unr; + size_t iosize; + size_t nblocks; + size_t nfiles; + time_t mtime; /* default mtime for directories */ + + struct tarfs_zio *zio; + struct vnode *znode; +}; + +struct tarfs_zio { + struct tarfs_mount *tmp; + + /* decompression state */ +#ifdef ZSTDIO + struct tarfs_zstd *zstd; /* decompression state (zstd) */ +#endif + off_t ipos; /* current input position */ + off_t opos; /* current output position */ + + /* index of compression frames */ + unsigned int curidx; /* current index position*/ + unsigned int nidx; /* number of index entries */ + unsigned int szidx; /* index capacity */ + struct tarfs_idx { off_t i, o; } *idx; +}; + +struct tarfs_fid { + u_short len; /* length of data in bytes */ + u_short data0; /* force alignment */ + ino_t ino; + unsigned long gen; +}; + +#define TARFS_NODE_LOCK(tnp) \ + mtx_lock(&(tnp)->lock) +#define TARFS_NODE_UNLOCK(tnp) \ + mtx_unlock(&(tnp)->lock) +#define TARFS_ALLNODES_LOCK(tnp) \ + mtx_lock(&(tmp)->allnode_lock) +#define TARFS_ALLNODES_UNLOCK(tnp) \ + mtx_unlock(&(tmp)->allnode_lock) + +/* + * Data and metadata within tar files are aligned on 512-byte boundaries, + * to match the block size of the magnetic tapes they were originally + * intended for. + */ +#define TARFS_BSHIFT 9 +#define TARFS_BLOCKSIZE (size_t)(1U << TARFS_BSHIFT) +#define TARFS_BLKOFF(l) ((l) % TARFS_BLOCKSIZE) +#define TARFS_BLKNUM(l) ((l) >> TARFS_BSHIFT) +#define TARFS_SZ2BLKS(sz) (((sz) + TARFS_BLOCKSIZE - 1) / TARFS_BLOCKSIZE) + +/* + * Our preferred I/O size. + */ +extern unsigned int tarfs_ioshift; +#define TARFS_IOSHIFT_MIN TARFS_BSHIFT +#define TARFS_IOSHIFT_DEFAULT PAGE_SHIFT +#define TARFS_IOSHIFT_MAX PAGE_SHIFT + +#define TARFS_ROOTINO ((ino_t)3) +#define TARFS_ZIOINO ((ino_t)4) +#define TARFS_MININO ((ino_t)65535) + +#define TARFS_COOKIE_DOT 0 +#define TARFS_COOKIE_DOTDOT 1 +#define TARFS_COOKIE_EOF OFF_MAX + +#define TARFS_ZIO_NAME ".tar" +#define TARFS_ZIO_NAMELEN (sizeof(TARFS_ZIO_NAME) - 1) + +extern struct vop_vector tarfs_vnodeops; + +static inline +struct tarfs_mount * +MP_TO_TARFS_MOUNT(struct mount *mp) +{ + + MPASS(mp != NULL && mp->mnt_data != NULL); + return (mp->mnt_data); +} + +static inline +struct tarfs_node * +VP_TO_TARFS_NODE(struct vnode *vp) +{ + + MPASS(vp != NULL && vp->v_data != NULL); + return (vp->v_data); +} + +int tarfs_alloc_node(struct tarfs_mount *tmp, const char *name, + size_t namelen, enum vtype type, off_t off, size_t sz, + time_t mtime, uid_t uid, gid_t gid, mode_t mode, + unsigned int flags, const char *linkname, dev_t rdev, + struct tarfs_node *parent, struct tarfs_node **node); +int tarfs_load_blockmap(struct tarfs_node *tnp, size_t realsize); +void tarfs_dump_tree(struct tarfs_node *tnp); +void tarfs_free_node(struct tarfs_node *tnp); +struct tarfs_node * + tarfs_lookup_dir(struct tarfs_node *tnp, off_t cookie); +struct tarfs_node * + tarfs_lookup_node(struct tarfs_node *tnp, struct tarfs_node *f, + struct componentname *cnp); +void tarfs_print_node(struct tarfs_node *tnp); +int tarfs_read_file(struct tarfs_node *tnp, size_t len, struct uio *uiop); + +int tarfs_io_init(struct tarfs_mount *tmp); +int tarfs_io_fini(struct tarfs_mount *tmp); +int tarfs_io_read(struct tarfs_mount *tmp, bool raw, + struct uio *uiop); +ssize_t tarfs_io_read_buf(struct tarfs_mount *tmp, bool raw, + void *buf, off_t off, size_t len); +unsigned int + tarfs_strtofflags(const char *str, char **end); + +#endif /* _FS_TARFS_TARFS_H_ */ diff --git a/sys/fs/tarfs/tarfs_dbg.h b/sys/fs/tarfs/tarfs_dbg.h new file mode 100644 index 000000000000..45d11d679719 --- /dev/null +++ b/sys/fs/tarfs/tarfs_dbg.h @@ -0,0 +1,65 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2013 Juniper Networks, Inc. + * Copyright (c) 2022 Klara, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _FS_TARFS_TARFS_DBG_H_ +#define _FS_TARFS_TARFS_DBG_H_ + +#ifndef _KERNEL +#error Should only be included by kernel +#endif + +#ifdef TARFS_DEBUG +extern int tarfs_debug; + +#define TARFS_DEBUG_ALLOC 0x01 +#define TARFS_DEBUG_CHECKSUM 0x02 +#define TARFS_DEBUG_FS 0x04 +#define TARFS_DEBUG_LOOKUP 0x08 +#define TARFS_DEBUG_VNODE 0x10 +#define TARFS_DEBUG_IO 0x20 +#define TARFS_DEBUG_ZIO 0x40 +#define TARFS_DEBUG_ZIDX 0x80 +#define TARFS_DEBUG_MAP 0x100 + +#define TARFS_DPF(category, fmt, ...) \ + do { \ + if ((tarfs_debug & TARFS_DEBUG_##category) != 0) \ + printf(fmt, ## __VA_ARGS__); \ + } while (0) +#define TARFS_DPF_IFF(category, cond, fmt, ...) \ + do { \ + if ((cond) \ + && (tarfs_debug & TARFS_DEBUG_##category) != 0) \ + printf(fmt, ## __VA_ARGS__); \ + } while (0) +#else +#define TARFS_DPF(category, fmt, ...) +#define TARFS_DPF_IFF(category, cond, fmt, ...) +#endif + +#endif /* _FS_TARFS_TARFS_DBG_H_ */ diff --git a/sys/fs/tarfs/tarfs_io.c b/sys/fs/tarfs/tarfs_io.c new file mode 100644 index 000000000000..b957ac11ff51 --- /dev/null +++ b/sys/fs/tarfs/tarfs_io.c @@ -0,0 +1,727 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2013 Juniper Networks, Inc. + * Copyright (c) 2022-2023 Klara, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "opt_tarfs.h" +#include "opt_zstdio.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef ZSTDIO +#define ZSTD_STATIC_LINKING_ONLY +#include +#endif + +#include +#include + +#ifdef TARFS_DEBUG +SYSCTL_NODE(_vfs_tarfs, OID_AUTO, zio, CTLFLAG_RD, 0, + "Tar filesystem decompression layer"); +COUNTER_U64_DEFINE_EARLY(tarfs_zio_inflated); +SYSCTL_COUNTER_U64(_vfs_tarfs_zio, OID_AUTO, inflated, CTLFLAG_RD, + &tarfs_zio_inflated, "Amount of compressed data inflated."); +COUNTER_U64_DEFINE_EARLY(tarfs_zio_consumed); +SYSCTL_COUNTER_U64(_vfs_tarfs_zio, OID_AUTO, consumed, CTLFLAG_RD, + &tarfs_zio_consumed, "Amount of compressed data consumed."); +COUNTER_U64_DEFINE_EARLY(tarfs_zio_bounced); +SYSCTL_COUNTER_U64(_vfs_tarfs_zio, OID_AUTO, bounced, CTLFLAG_RD, + &tarfs_zio_bounced, "Amount of decompressed data bounced."); + +static int +tarfs_sysctl_handle_zio_reset(SYSCTL_HANDLER_ARGS) +{ + unsigned int tmp; + int error; + + tmp = 0; + if ((error = SYSCTL_OUT(req, &tmp, sizeof(tmp))) != 0) + return (error); + if (req->newptr != NULL) { + if ((error = SYSCTL_IN(req, &tmp, sizeof(tmp))) != 0) + return (error); + counter_u64_zero(tarfs_zio_inflated); + counter_u64_zero(tarfs_zio_consumed); + counter_u64_zero(tarfs_zio_bounced); + } + return (0); +} + +SYSCTL_PROC(_vfs_tarfs_zio, OID_AUTO, reset, + CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RW, + NULL, 0, tarfs_sysctl_handle_zio_reset, "IU", + "Reset compression counters."); +#endif + +MALLOC_DEFINE(M_TARFSZSTATE, "tarfs zstate", "tarfs decompression state"); +MALLOC_DEFINE(M_TARFSZBUF, "tarfs zbuf", "tarfs decompression buffers"); + +#define XZ_MAGIC (uint8_t[]){ 0xfd, 0x37, 0x7a, 0x58, 0x5a } +#define ZLIB_MAGIC (uint8_t[]){ 0x1f, 0x8b, 0x08 } +#define ZSTD_MAGIC (uint8_t[]){ 0x28, 0xb5, 0x2f, 0xfd } + +#ifdef ZSTDIO +struct tarfs_zstd { + ZSTD_DStream *zds; +}; +#endif + +/* XXX review use of curthread / uio_td / td_cred */ + +/* + * Reads from the tar file according to the provided uio. If the archive + * is compressed and raw is false, reads the decompressed stream; + * otherwise, reads directly from the original file. Returns 0 on success + * and a positive errno value on failure. + */ +int +tarfs_io_read(struct tarfs_mount *tmp, bool raw, struct uio *uiop) +{ + void *rl = NULL; + off_t off = uiop->uio_offset; + size_t len = uiop->uio_resid; + int error; + + if (raw || tmp->znode == NULL) { + rl = vn_rangelock_rlock(tmp->vp, off, off + len); + error = vn_lock(tmp->vp, LK_SHARED); + if (error == 0) { + error = VOP_READ(tmp->vp, uiop, + IO_DIRECT|IO_NODELOCKED, + uiop->uio_td->td_ucred); + VOP_UNLOCK(tmp->vp); + } + vn_rangelock_unlock(tmp->vp, rl); + } else { + error = vn_lock(tmp->znode, LK_EXCLUSIVE); + if (error == 0) { + error = VOP_READ(tmp->znode, uiop, + IO_DIRECT | IO_NODELOCKED, + uiop->uio_td->td_ucred); + VOP_UNLOCK(tmp->znode); + } + } + TARFS_DPF(IO, "%s(%zu, %zu) = %d (resid %zd)\n", __func__, + (size_t)off, len, error, uiop->uio_resid); + return (error); +} + +/* + * Reads from the tar file into the provided buffer. If the archive is + * compressed and raw is false, reads the decompressed stream; otherwise, + * reads directly from the original file. Returns the number of bytes + * read on success, 0 on EOF, and a negative errno value on failure. + */ +ssize_t +tarfs_io_read_buf(struct tarfs_mount *tmp, bool raw, + void *buf, off_t off, size_t len) +{ + struct uio auio; + struct iovec aiov; + ssize_t res; + int error; + + if (len == 0) { + TARFS_DPF(IO, "%s(%zu, %zu) null\n", __func__, + (size_t)off, len); + return (0); + } + aiov.iov_base = buf; + aiov.iov_len = len; + auio.uio_iov = &aiov; + auio.uio_iovcnt = 1; + auio.uio_offset = off; + auio.uio_segflg = UIO_SYSSPACE; + auio.uio_rw = UIO_READ; + auio.uio_resid = len; + auio.uio_td = curthread; + error = tarfs_io_read(tmp, raw, &auio); + if (error != 0) { + TARFS_DPF(IO, "%s(%zu, %zu) error %d\n", __func__, + (size_t)off, len, error); + return (-error); + } + res = len - auio.uio_resid; + if (res == 0 && len != 0) { + TARFS_DPF(IO, "%s(%zu, %zu) eof\n", __func__, + (size_t)off, len); + } else { + TARFS_DPF(IO, "%s(%zu, %zu) read %zd | %*D\n", __func__, + (size_t)off, len, res, + (int)(res > 8 ? 8 : res), (uint8_t *)buf, " "); + } + return (res); +} + +#ifdef ZSTDIO +static void * +tarfs_zstate_alloc(void *opaque, size_t size) +{ + + (void)opaque; + return (malloc(size, M_TARFSZSTATE, M_WAITOK)); +} +#endif + +#ifdef ZSTDIO +static void +tarfs_zstate_free(void *opaque, void *address) +{ + + (void)opaque; + free(address, M_TARFSZSTATE); +} +#endif + +#ifdef ZSTDIO +static ZSTD_customMem tarfs_zstd_mem = { + tarfs_zstate_alloc, + tarfs_zstate_free, + NULL, +}; +#endif + +/* + * Updates the decompression frame index, recording the current input and + * output offsets in a new index entry, and growing the index if + * necessary. + */ +static void +tarfs_zio_update_index(struct tarfs_zio *zio, off_t i, off_t o) +{ + + if (++zio->curidx >= zio->nidx) { + if (++zio->nidx > zio->szidx) { + zio->szidx *= 2; + zio->idx = realloc(zio->idx, + zio->szidx * sizeof(*zio->idx), + M_TARFSZSTATE, M_ZERO | M_WAITOK); + TARFS_DPF(ALLOC, "%s: resized zio index\n", __func__); + } + zio->idx[zio->curidx].i = i; + zio->idx[zio->curidx].o = o; + TARFS_DPF(ZIDX, "%s: index %u = i %zu o %zu\n", __func__, + zio->curidx, (size_t)zio->idx[zio->curidx].i, + (size_t)zio->idx[zio->curidx].o); + } + MPASS(zio->idx[zio->curidx].i == i); + MPASS(zio->idx[zio->curidx].o == o); +} + +/* + * VOP_ACCESS for zio node. + */ +static int +tarfs_zaccess(struct vop_access_args *ap) +{ + struct vnode *vp = ap->a_vp; + struct tarfs_zio *zio = vp->v_data; + struct tarfs_mount *tmp = zio->tmp; + accmode_t accmode = ap->a_accmode; + int error = EPERM; + + if (accmode == VREAD) { + error = vn_lock(tmp->vp, LK_SHARED); + if (error == 0) { + error = VOP_ACCESS(tmp->vp, accmode, ap->a_cred, ap->a_td); + VOP_UNLOCK(tmp->vp); + } + } + TARFS_DPF(ZIO, "%s(%d) = %d\n", __func__, accmode, error); + return (error); +} + +/* + * VOP_GETATTR for zio node. + */ +static int +tarfs_zgetattr(struct vop_getattr_args *ap) +{ + struct vattr va; + struct vnode *vp = ap->a_vp; + struct tarfs_zio *zio = vp->v_data; + struct tarfs_mount *tmp = zio->tmp; + struct vattr *vap = ap->a_vap; + int error = 0; + + VATTR_NULL(vap); + error = vn_lock(tmp->vp, LK_SHARED); + if (error == 0) { + error = VOP_GETATTR(tmp->vp, &va, ap->a_cred); + VOP_UNLOCK(tmp->vp); + if (error == 0) { + vap->va_type = VREG; + vap->va_mode = va.va_mode; + vap->va_nlink = 1; + vap->va_gid = va.va_gid; + vap->va_uid = va.va_uid; + vap->va_fsid = vp->v_mount->mnt_stat.f_fsid.val[0]; + vap->va_fileid = TARFS_ZIOINO; + vap->va_size = zio->idx[zio->nidx - 1].o; + vap->va_blocksize = vp->v_mount->mnt_stat.f_iosize; + vap->va_atime = va.va_atime; + vap->va_ctime = va.va_ctime; + vap->va_mtime = va.va_mtime; + vap->va_birthtime = tmp->root->birthtime; + vap->va_bytes = va.va_bytes; + } + } + TARFS_DPF(ZIO, "%s() = %d\n", __func__, error); + return (error); +} + +#ifdef ZSTDIO +/* + * VOP_READ for zio node, zstd edition. + */ +static int +tarfs_zread_zstd(struct tarfs_zio *zio, struct uio *uiop) +{ + void *ibuf = NULL, *obuf = NULL, *rl = NULL; + struct uio auio; + struct iovec aiov; + struct tarfs_mount *tmp = zio->tmp; + struct tarfs_zstd *zstd = zio->zstd; + struct thread *td = curthread; + ZSTD_inBuffer zib; + ZSTD_outBuffer zob; + off_t zsize; + off_t ipos, opos; + size_t ilen, olen; + size_t zerror; + off_t off = uiop->uio_offset; + size_t len = uiop->uio_resid; + size_t resid = uiop->uio_resid; + size_t bsize; + int error; + bool reset = false; + + /* do we have to rewind? */ + if (off < zio->opos) { + while (zio->curidx > 0 && off < zio->idx[zio->curidx].o) + zio->curidx--; + reset = true; + } + /* advance to the nearest index entry */ + if (off > zio->opos) { + // XXX maybe do a binary search instead + while (zio->curidx < zio->nidx - 1 && + off >= zio->idx[zio->curidx + 1].o) { + zio->curidx++; + reset = true; + } + } + /* reset the decompression stream if needed */ + if (reset) { + zio->ipos = zio->idx[zio->curidx].i; + zio->opos = zio->idx[zio->curidx].o; + ZSTD_resetDStream(zstd->zds); + TARFS_DPF(ZIDX, "%s: skipping to index %u = i %zu o %zu\n", __func__, + zio->curidx, (size_t)zio->ipos, (size_t)zio->opos); + } else { + TARFS_DPF(ZIDX, "%s: continuing at i %zu o %zu\n", __func__, + (size_t)zio->ipos, (size_t)zio->opos); + } + + /* + * Set up a temporary buffer for compressed data. Use the size + * recommended by the zstd library; this is usually 128 kB, but + * just in case, make sure it's a multiple of the page size and no + * larger than MAXBSIZE. + */ + bsize = roundup(ZSTD_CStreamOutSize(), PAGE_SIZE); + if (bsize > MAXBSIZE) + bsize = MAXBSIZE; + ibuf = malloc(bsize, M_TEMP, M_WAITOK); + zib.src = NULL; + zib.size = 0; + zib.pos = 0; + + /* + * Set up the decompression buffer. If the target is not in + * kernel space, we will have to set up a bounce buffer. + * + * TODO: to avoid using a bounce buffer, map destination pages + * using vm_fault_quick_hold_pages(). + */ + MPASS(zio->opos <= off); + MPASS(uiop->uio_iovcnt == 1); + MPASS(uiop->uio_iov->iov_len >= len); + if (uiop->uio_segflg == UIO_SYSSPACE) { + zob.dst = uiop->uio_iov->iov_base; + } else { + TARFS_DPF(ALLOC, "%s: allocating %zu-byte bounce buffer\n", + __func__, len); + zob.dst = obuf = malloc(len, M_TEMP, M_WAITOK); + } + zob.size = len; + zob.pos = 0; + + /* lock tarball */ + rl = vn_rangelock_rlock(tmp->vp, zio->ipos, OFF_MAX); + error = vn_lock(tmp->vp, LK_SHARED); + if (error != 0) { + goto fail_unlocked; + } + /* check size */ + error = vn_getsize_locked(tmp->vp, &zsize, td->td_ucred); + if (error != 0) { + goto fail; + } + if (zio->ipos >= zsize) { + /* beyond EOF */ + goto fail; + } + + while (resid > 0) { + if (zib.pos == zib.size) { + /* request data from the underlying file */ + aiov.iov_base = ibuf; + aiov.iov_len = bsize; + auio.uio_iov = &aiov; + auio.uio_iovcnt = 1; + auio.uio_offset = zio->ipos; + auio.uio_segflg = UIO_SYSSPACE; + auio.uio_rw = UIO_READ; + auio.uio_resid = aiov.iov_len; + auio.uio_td = td; + error = VOP_READ(tmp->vp, &auio, + IO_DIRECT | IO_NODELOCKED, + td->td_ucred); + if (error != 0) + goto fail; + TARFS_DPF(ZIO, "%s: req %zu+%zu got %zu+%zu\n", __func__, + (size_t)zio->ipos, bsize, + (size_t)zio->ipos, bsize - auio.uio_resid); + zib.src = ibuf; + zib.size = bsize - auio.uio_resid; + zib.pos = 0; + } + MPASS(zib.pos <= zib.size); + if (zib.pos == zib.size) { + TARFS_DPF(ZIO, "%s: end of file after i %zu o %zu\n", __func__, + (size_t)zio->ipos, (size_t)zio->opos); + goto fail; + } + if (zio->opos < off) { + /* to be discarded */ + zob.size = min(off - zio->opos, len); + zob.pos = 0; *** 3111 LINES SKIPPED *** From nobody Thu Feb 2 17:22:06 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P75FB6D68z3kNn1; Thu, 2 Feb 2023 17: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 4P75FB5gxPz3vf6; Thu, 2 Feb 2023 17: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=1675358526; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TE9ObSjOJJ/Ke6jgzCnGJRO6vBiL7p+FwfctdnwezuI=; b=HW5VxxcVI40BaqgPhg+eaG4aJctuYsg1q+HktcB+DIHA9eVYgRXQvhQSQbAkVmL9UewuAr O3HraIER4Sne+KAKA5Ogt4m5yP2fI7C9OhOk1F3pXtxaTNP/e0xM7YhPGuozYh1KCECIWH kKKl3P6jcODRB+l8hOnUew5URhuwx3kBEh5tygmgDm2P9VTI0/5iRL3EGCQucdAhKRj/7J 602DMM4oTf82M/ZLFGOAZNW5UOhYe5K3a8tldal4UPYEARtx2n8JDnlj3HSxQveQp7FY+k Yw+TGl5aNW+E6MXKzNCuYxIudp5MrFCWpVJg+DPUPMohKw09bS9All/X5SzlFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675358526; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TE9ObSjOJJ/Ke6jgzCnGJRO6vBiL7p+FwfctdnwezuI=; b=QJEF07/HyzDlfAcDvsapMKboG1y/ZNQ4dk6VYXH74WyGjSEGJ9uWcEe4fCso/cShnZKnOi SWMIOktnJIHqjZy0JLKnHQVz07NMx5RDz99IV7YlDYlg/BEuaJQoYXXuI9Bw6nslqFHK0/ Qjqsdvglib+8WCvy7mN+e+YDOSDMBj4uVQMLVTyZGm6sY1Xzwo87K550V4W6ojWMMcNUyI yGBs4goZMwatGYkaK07G6MepakL8Z/spwJ/dmm7x//3pe5ez2mhYReZClIdPxP0QXbAVEq oxcfWA74XjEMagsC74VMHaC0xUaP1FT8QRYCKE8YIndIy0abjn8v2B4qRxCjBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675358526; a=rsa-sha256; cv=none; b=NpziC5AaqRYg1RsWhIYeZjDtLzdqDdtxXsaasJKpA3w3zIclQIbqHiOcXHyqkq4hINOV/S d0Mcp4VBgQ4vKuNfPJ3fJH9rUIkywrg1oi3qPlB328cvT9jPLv+E2ZgJHObooXI6woiN5j LQw17GKt9/ylcOvY6hUc6aANlczZasmwywd2wsRKk1732tyMF21uFAcyZGFoz2qubh/Iv2 BADsQshXLUQ2cQZwHEBeZfH7R8OPQCHeBTVz1/zVOh9eIhtn8u/JuHybitGmOpf6lZUuNt c34g6w9svLguKsB1a897Z9Wgdt0yROTxXIkBjoTmvV9Wn866aaxTtGNrtwRaKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P75FB4mm4z12xP; Thu, 2 Feb 2023 17:22:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312HM6m1004596; Thu, 2 Feb 2023 17:22:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312HM6Zx004595; Thu, 2 Feb 2023 17:22:06 GMT (envelope-from git) Date: Thu, 2 Feb 2023 17:22:06 GMT Message-Id: <202302021722.312HM6Zx004595@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: a95cb95e12e5 - main - linux(4): Preserve fpu fxsave state across signal delivery on amd64. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: a95cb95e12e537dbe70f9de18cc0fe98e4a5ebf5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=a95cb95e12e537dbe70f9de18cc0fe98e4a5ebf5 commit a95cb95e12e537dbe70f9de18cc0fe98e4a5ebf5 Author: Dmitry Chagin AuthorDate: 2023-02-02 17:21:37 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-02 17:21:37 +0000 linux(4): Preserve fpu fxsave state across signal delivery on amd64. PR: 240768 Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D38302 MFC after: 1 week --- sys/amd64/linux/linux_sysvec.c | 70 ++++++++++++++++++++++++++++++++++---- sys/x86/linux/linux_x86_sigframe.h | 7 ++-- 2 files changed, 68 insertions(+), 9 deletions(-) diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index 96cdf5e5c818..c75dc6a26437 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -319,21 +319,22 @@ int linux_rt_sigreturn(struct thread *td, struct linux_rt_sigreturn_args *args) { struct proc *p; - struct l_ucontext uc; + struct l_rt_sigframe sf; struct l_sigcontext *context; struct trapframe *regs; + mcontext_t mc; unsigned long rflags; sigset_t bmask; - int error; + int error, i; ksiginfo_t ksi; regs = td->td_frame; - error = copyin((void *)regs->tf_rbx, &uc, sizeof(uc)); + error = copyin((void *)regs->tf_rbx, &sf, sizeof(sf)); if (error != 0) return (error); p = td->td_proc; - context = &uc.uc_mcontext; + context = &sf.sf_uc.uc_mcontext; rflags = context->sc_rflags; /* @@ -372,7 +373,7 @@ linux_rt_sigreturn(struct thread *td, struct linux_rt_sigreturn_args *args) return (EINVAL); } - linux_to_bsd_sigset(&uc.uc_sigmask, &bmask); + linux_to_bsd_sigset(&sf.sf_uc.uc_sigmask, &bmask); kern_sigprocmask(td, SIG_SETMASK, &bmask, NULL, 0); regs->tf_rdi = context->sc_rdi; @@ -396,6 +397,37 @@ linux_rt_sigreturn(struct thread *td, struct linux_rt_sigreturn_args *args) regs->tf_err = context->sc_err; regs->tf_rflags = rflags; + if (sf.sf_uc.uc_mcontext.sc_fpstate != NULL) { + struct savefpu *svfp = (struct savefpu *)mc.mc_fpstate; + + bzero(&mc, sizeof(mc)); + mc.mc_ownedfp = _MC_FPOWNED_FPU; + mc.mc_fpformat = _MC_FPFMT_XMM; + + svfp->sv_env.en_cw = sf.sf_fs.cwd; + svfp->sv_env.en_sw = sf.sf_fs.swd; + svfp->sv_env.en_tw = sf.sf_fs.twd; + svfp->sv_env.en_opcode = sf.sf_fs.fop; + svfp->sv_env.en_rip = sf.sf_fs.rip; + svfp->sv_env.en_rdp = sf.sf_fs.rdp; + svfp->sv_env.en_mxcsr = sf.sf_fs.mxcsr; + svfp->sv_env.en_mxcsr_mask = sf.sf_fs.mxcsr_mask; + /* FPU registers */ + for (i = 0; i < nitems(svfp->sv_fp); ++i) + bcopy(&sf.sf_fs.st[i], svfp->sv_fp[i].fp_acc.fp_bytes, + sizeof(svfp->sv_fp[i].fp_acc.fp_bytes)); + /* SSE registers */ + for (i = 0; i < nitems(svfp->sv_xmm); ++i) + bcopy(&sf.sf_fs.xmm[i], svfp->sv_xmm[i].xmm_bytes, + sizeof(svfp->sv_xmm[i].xmm_bytes)); + error = set_fpcontext(td, &mc, NULL, 0); + if (error != 0) { + uprintf("pid %d comm %s linux can't restore fpu state %d\n", + p->p_pid, p->p_comm, error); + return (error); + } + } + set_pcb_flags(td->td_pcb, PCB_FULL_IRET); return (EJUSTRETURN); } @@ -414,8 +446,10 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) struct sigacts *psp; caddr_t sp; struct trapframe *regs; + struct savefpu *svfp; + mcontext_t mc; int sig, code; - int oonstack, issiginfo; + int oonstack, issiginfo, i; td = curthread; p = td->td_proc; @@ -477,6 +511,29 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) mtx_unlock(&psp->ps_mtx); PROC_UNLOCK(p); + get_fpcontext(td, &mc, NULL, NULL); + KASSERT(mc.mc_fpformat != _MC_FPFMT_NODEV, ("fpu not present")); + svfp = (struct savefpu *)mc.mc_fpstate; + + sf.sf_fs.cwd = svfp->sv_env.en_cw; + sf.sf_fs.swd = svfp->sv_env.en_sw; + sf.sf_fs.twd = svfp->sv_env.en_tw; + sf.sf_fs.fop = svfp->sv_env.en_opcode; + sf.sf_fs.rip = svfp->sv_env.en_rip; + sf.sf_fs.rdp = svfp->sv_env.en_rdp; + sf.sf_fs.mxcsr = svfp->sv_env.en_mxcsr; + sf.sf_fs.mxcsr_mask = svfp->sv_env.en_mxcsr_mask; + /* FPU registers */ + for (i = 0; i < nitems(svfp->sv_fp); ++i) + bcopy(svfp->sv_fp[i].fp_acc.fp_bytes, &sf.sf_fs.st[i], + sizeof(svfp->sv_fp[i].fp_acc.fp_bytes)); + /* SSE registers */ + for (i = 0; i < nitems(svfp->sv_xmm); ++i) + bcopy(svfp->sv_xmm[i].xmm_bytes, &sf.sf_fs.xmm[i], + sizeof(svfp->sv_xmm[i].xmm_bytes)); + sf.sf_uc.uc_mcontext.sc_fpstate = (struct l_fpstate *)((caddr_t)sfp + + offsetof(struct l_rt_sigframe, sf_fs)); + /* Translate the signal. */ sig = bsd_to_linux_signal(sig); /* Fill in POSIX parts. */ @@ -490,6 +547,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) sigexit(td, SIGILL); } + fpstate_drop(td); /* Build the argument list for the signal handler. */ regs->tf_rdi = sig; /* arg 1 in %rdi */ regs->tf_rax = 0; diff --git a/sys/x86/linux/linux_x86_sigframe.h b/sys/x86/linux/linux_x86_sigframe.h index 75d9a104a345..74e7a36e2e71 100644 --- a/sys/x86/linux/linux_x86_sigframe.h +++ b/sys/x86/linux/linux_x86_sigframe.h @@ -138,10 +138,10 @@ struct l_fpstate { u_int64_t rdp; u_int32_t mxcsr; u_int32_t mxcsr_mask; - u_int32_t st_space[32]; - u_int32_t xmm_space[64]; + u_int8_t st[8][16]; + u_int8_t xmm[16][16]; u_int32_t reserved2[24]; -}; +} __aligned(16); struct l_sigcontext { l_ulong sc_r8; @@ -189,6 +189,7 @@ struct l_ucontext { struct l_rt_sigframe { struct l_ucontext sf_uc; struct l_siginfo sf_si; + struct l_fpstate sf_fs; }; #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ From nobody Thu Feb 2 17:22:07 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P75FD0hPFz3kNNT; Thu, 2 Feb 2023 17:22: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 4P75FC6NKDz3vvs; Thu, 2 Feb 2023 17:22:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675358527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1FOgRrXmCCczMr/3NUkfAtbqG7/SFInFasxA3k2CItk=; b=C7KNQrZbhnu+YQH1c+DcvNyXFbaVz6x8RKy95ZyEHYg6UjB9bB84Wn23rLDj4ZU1Bd5ZRK 9Ig8M9adjij5cAlHEh76L1RUg21hKcO9vpJwaHQ5EDG5lhMJynzE3NbmbfoYfpPwVqMRlh n9UaXxc9AilBhx4ZbKjkBpg0bWUbc903INbuCIPy6zJaF4suZCIpkndgHdwenAUMTv6BLB 7CaOSTkTX6I8HuVlXKpMMx1hgZl+OYWVrHUE7pTRNq+DM635eooIQaE784fdVMLK6wkuGh JTntVOhD65I+woY2uQ+6PfJzERPqSzHV6bZV6XAISpEphD1S2vGyr27ZFvXxHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675358527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1FOgRrXmCCczMr/3NUkfAtbqG7/SFInFasxA3k2CItk=; b=ncDYPPeCtoqYHIhcJeRvNhBsXuyyK7hqtr0ys1huviuwXdnkYeNp5/WSSFjgJ0RcL0Fdpi yoEfLDsIlrxKi4B+Ordf249iu/1OFTH2sTSaTovEXsTUDFyF4NA8J2bfnV6TC0PdZj6k8q WPG5YUCG0GR6mZvPKw59odOgu74vywawZnRoSzku1FpgD97En8BtoQRvw7/4TAYep35gqY vwGNNZXMPIyb7YlTNV2DMEkoxixPXvoqIHaU2ZxAJyWefd7JRnKUp5ow8VdY9103sxTQob 5/qfRDOV9lhlCqVJfL2umNsNhhHptp6zIvFgjCClWMocZBTNmp30ZYVeJ19shg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675358527; a=rsa-sha256; cv=none; b=avtQfwV56IPDSQapwbYz7gClDRSkLjzju+vUJDl16+ZEZ2HxroQAnb9wPwDoDH+M+3YmO4 Ec+Xqjs4K9G1MXNyGCzz7fN5Rf1IMB7C5Yp6c/3834NvylxI3CgMHJUVXuhGXtGc8aG20E 4GAdMY2bEeP56eWdp7IrzQIfK6mGiAUbilAuBrVH5f0k6vQPYVT2xdyGLygbgUjY7mX6Ft oXkYjcwjR1nGLmuNvg8Xh14P1HUjiLCyifB4+1KWKw1F5fPfE8MkVJJ1HkK94LZlbofGe5 jxf7zsKXQ8OVWWVlFR9aX9PW6R95ApSvhs6uTsHrfKbLI3r678wZJ85jZNVgtw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P75FC5T8Hz12xQ; Thu, 2 Feb 2023 17:22:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312HM794004621; Thu, 2 Feb 2023 17:22:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312HM723004620; Thu, 2 Feb 2023 17:22:07 GMT (envelope-from git) Date: Thu, 2 Feb 2023 17:22:07 GMT Message-Id: <202302021722.312HM723004620@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 6ad07a4b2bdf - main - linux(4): Microoptimize rt_sendsig() on amd64. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 6ad07a4b2bdf0856545ff8495a7b3396695814fa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=6ad07a4b2bdf0856545ff8495a7b3396695814fa commit 6ad07a4b2bdf0856545ff8495a7b3396695814fa Author: Dmitry Chagin AuthorDate: 2023-02-02 17:21:37 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-02 17:21:37 +0000 linux(4): Microoptimize rt_sendsig() on amd64. Drop proc lock earlier, before copying user stuff. Pointed out by: kib Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D38326 MFC after: 1 week --- sys/amd64/linux/linux_sysvec.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index c75dc6a26437..e8a22b60e66f 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -465,16 +465,29 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) LINUX_CTR4(rt_sendsig, "%p, %d, %p, %u", catcher, sig, mask, code); - /* Save user context. */ bzero(&sf, sizeof(sf)); - bsd_to_linux_sigset(mask, &sf.sf_uc.uc_sigmask); - sf.sf_uc.uc_mcontext.sc_mask = sf.sf_uc.uc_sigmask; - sf.sf_uc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); sf.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size; sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) ? ((oonstack) ? LINUX_SS_ONSTACK : 0) : LINUX_SS_DISABLE; + /* Allocate space for the signal handler context. */ + if ((td->td_pflags & TDP_ALTSTACK) != 0 && !oonstack && + SIGISMEMBER(psp->ps_sigonstack, sig)) { + sp = (caddr_t)td->td_sigstk.ss_sp + td->td_sigstk.ss_size; + } else + sp = (caddr_t)regs->tf_rsp - 128; + + mtx_unlock(&psp->ps_mtx); + PROC_UNLOCK(p); + + /* Make room, keeping the stack aligned. */ + sp -= sizeof(struct l_rt_sigframe); + sfp = (struct l_rt_sigframe *)((unsigned long)sp & ~0xFul); + + /* Save user context. */ + bsd_to_linux_sigset(mask, &sf.sf_uc.uc_sigmask); + sf.sf_uc.uc_mcontext.sc_mask = sf.sf_uc.uc_sigmask; sf.sf_uc.uc_mcontext.sc_rdi = regs->tf_rdi; sf.sf_uc.uc_mcontext.sc_rsi = regs->tf_rsi; sf.sf_uc.uc_mcontext.sc_rdx = regs->tf_rdx; @@ -498,19 +511,6 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) sf.sf_uc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); sf.sf_uc.uc_mcontext.sc_cr2 = (register_t)ksi->ksi_addr; - /* Allocate space for the signal handler context. */ - if ((td->td_pflags & TDP_ALTSTACK) != 0 && !oonstack && - SIGISMEMBER(psp->ps_sigonstack, sig)) { - sp = (caddr_t)td->td_sigstk.ss_sp + td->td_sigstk.ss_size; - } else - sp = (caddr_t)regs->tf_rsp - 128; - sp -= sizeof(struct l_rt_sigframe); - /* Align to 16 bytes. */ - sfp = (struct l_rt_sigframe *)((unsigned long)sp & ~0xFul); - - mtx_unlock(&psp->ps_mtx); - PROC_UNLOCK(p); - get_fpcontext(td, &mc, NULL, NULL); KASSERT(mc.mc_fpformat != _MC_FPFMT_NODEV, ("fpu not present")); svfp = (struct savefpu *)mc.mc_fpstate; From nobody Thu Feb 2 17:22:08 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P75FF0wYzz3kNbY; Thu, 2 Feb 2023 17:22: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 4P75FF0NxPz3vyY; Thu, 2 Feb 2023 17:22:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675358529; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p/cEGT0G2zih7I6n85OJSkSiLSxCoYAOYbCbq7smTOo=; b=wLj6P/NHaZIsb/Sc3KeGwbW9UOG7LFaSwPkiQYhCrbPQDyS8YKIw5tJIDxjDzWm7dnHZ75 k3152ygpSGvC5PF0k1suI3D78Iifz0Qe8Dr4E5AttZ402BhjdWYGNq1F6bNza/NPbJbPhi oT+vEzAPjMZmo4oN3oMCyagB9dRWOdjFLjn+Egm0RGaC3pTn9ONnZiPAlfLKy4Ko0JvRSL bfICIqDzY5hdoM+BBPXwmoCnK0g/RRGA94zkTmGywM0CCRv02fzoM7fMEcVFPjegv0cAr3 +E0L0EaMSHKQ2AIFD9C0JMAkYGa1pYUK07x8bQxiJKJJ9ChndjciYyFbmnFENA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675358529; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p/cEGT0G2zih7I6n85OJSkSiLSxCoYAOYbCbq7smTOo=; b=kwUM/Y6+UAGa7kWEOvAE1e++IZgiu6wxC/S90W3Y/8NpUQMgxpRcum/3Ov5fXjNhaK7Q+W Zy0TZQBj6LDeWQKsZg+2qbdgF9ung5sboWU2iMEDePoIeVvt+E66VZIyrRMppcJvPprPxm sOW/LWexckr3M/ZjuyH2NOGF0CXR2ydZWaD5pPzrZg8hqvf4AkcPfQckT5PDj6rg7r7/gP BSVrnvaXwFTAMAHWoyBEjwL7kC1+zdtWnyqvMB+Eznc6V6oR5Z8XuNxeJU8tMC8NTG8kRj xfENFLaifs05V4Fkuwb0QrtGZFsgHgmMQQ5WkghAC1qMJJrvChG7WOOu8J0J2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675358529; a=rsa-sha256; cv=none; b=YM7jiwa1M7MrAB62j3R/Svr1Cg5+5MZGn2WwyKOnzFV1ZXVc9vUS0KcZAOdPkAiC2BlwwJ lRjPgLVKmQuy5MNQ3gOi3zc00ntF1eTcPSD9kxA+zrHaLwH7ly0lyyqV1WnLCWLe0rhLNC e3eBlJcwgkZKIEHNaKokvvasY2EdxQcJahLSRUIHyTeQsd+mdE4N663PcWwIKz5a3BNYI7 OqUNyYizXpx7nrsw9HRKI26zy0unR9yJsLo72gU6TwqFU4A2CbKkKb4JJ7wYKehf5O17Jd tQ7Df//ZzVHWvKQK/roywIW0Iha9KhuVN0WRiY7b3bBVNWkU1Z7etboyM1tTCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P75FD6Wyhz12v0; Thu, 2 Feb 2023 17:22:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312HM8tR004649; Thu, 2 Feb 2023 17:22:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312HM8KV004648; Thu, 2 Feb 2023 17:22:08 GMT (envelope-from git) Date: Thu, 2 Feb 2023 17:22:08 GMT Message-Id: <202302021722.312HM8KV004648@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: ce20c00e858f - main - linux(4): Remove stale comment that no longer applies. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: ce20c00e858f209f42d404eca597553e461e0892 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=ce20c00e858f209f42d404eca597553e461e0892 commit ce20c00e858f209f42d404eca597553e461e0892 Author: Dmitry Chagin AuthorDate: 2023-02-02 17:21:37 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-02 17:21:37 +0000 linux(4): Remove stale comment that no longer applies. MFC after: 1 week --- sys/amd64/linux/linux_sysvec.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index e8a22b60e66f..ed62b2313cba 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -312,8 +312,6 @@ linux_exec_setregs(struct thread *td, struct image_params *imgp, /* * Copied from amd64/amd64/machdep.c - * - * XXX fpu state need? don't think so */ int linux_rt_sigreturn(struct thread *td, struct linux_rt_sigreturn_args *args) From nobody Thu Feb 2 17:23:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P75HD1952z3kNVl; Thu, 2 Feb 2023 17:23: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 4P75HD0ftwz3wmH; Thu, 2 Feb 2023 17:23:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675358632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2yMhXiOHuX3hKP5u2aSrOXQxrYLtuZnjsWHKNa46qCI=; b=FYuNzF6eRyyw0J7ZmWIHRwCinwlTRPRZfm5s/Yo+tCU4v/UAsCt/L3FPvpe+JMSzsT0WK7 hp1c400f8+Zx0RNbD9HFtA9Ua/zlPvj2g7+yJNySkKcOUErnSucWxPWIGShQKRtgf4o6kx zD9WYWpNN2+Ct9dQwomUIDs7IsCeoOZBM9go8DqVfUJgvV3lP4ssGVv6U3lOeYPkcG3jTG 8j9Hpj3kfrgUurIL3eoVApelyhVo2BGj/ZA64l6l7txIj5ykBstjfgK7C1yaMTnmeBUTqY MS5OLRqr+SojzK6A76Knhv5EIJAIHfIsmmFJkmd0SI08+Taqdslu9Hh8YmvrWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675358632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2yMhXiOHuX3hKP5u2aSrOXQxrYLtuZnjsWHKNa46qCI=; b=kUc8wk+qK1V8QzohG9N78C9TaQ5lfYZrIomWfsktxkChR6TEMzcntvQtSF1Q8eGIWLh+Sz 3dG0LtjaVNbgkA1E5zgDcwBLVz8tym+bx/eLvWeGM7iClEGR7gtcUrmkjTJk2JGDX1Ayhb ZgMZVOzjEldHH0HzSa0ivdTT1iOYaiTud3SFFRG1k5J82Kl4Ye08RVv3Ih8q0pY6jS/QVN QOTakqDrnf1iLs0UrBKxqM+a5LDS1WU+aboBmduHNQyPotiHXvSyLqNwmXl9YcVYsx1oyg ORmXaKZu8IiBbuPh+FWVsgSyNOV3eU3RkqgY6oVqrxkGUAMTPNVVYL/RDnDbbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675358632; a=rsa-sha256; cv=none; b=kM742w6l7QEfmv9LKdDFfQVIBF0N4yXOAnvK0G9aLtaak+jnLrkw06FY62WYecyTLihzqv bwx0N3K1bjLixAjr7CfkyZnclF8zXs7cjidlU9bn4REi1TEQacPeI0giE1KUM0Sj/Z4XRn uh7e8rtwP9uyv/mqSDmA+eF5eYBcT35r93akQ98sJNvy8HaLBQs3Kd4qLmWsQid1CYRsc6 EU5eFfIbYBObeUbrgo20SWMqrgviouh6K/Q3dzUlaMOkZGhNLnamkeCJLdMPeEbKwFgkEl n/ugyCXTamnQWrz7UDr2VfsXCmGFFOfKD6pw8swPKFrD9aWrJcTuqDHJU3wiFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P75HC6kt9z12fd; Thu, 2 Feb 2023 17:23:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312HNpBl007039; Thu, 2 Feb 2023 17:23:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312HNpJi007038; Thu, 2 Feb 2023 17:23:51 GMT (envelope-from git) Date: Thu, 2 Feb 2023 17:23:51 GMT Message-Id: <202302021723.312HNpJi007038@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 0f031350f32b - main - rescue: Fix link order of SSL libraries and fetch. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f031350f32b8760e0843a6476d67aa21116103b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=0f031350f32b8760e0843a6476d67aa21116103b commit 0f031350f32b8760e0843a6476d67aa21116103b Author: John Baldwin AuthorDate: 2023-02-02 17:23:02 +0000 Commit: John Baldwin CommitDate: 2023-02-02 17:23:02 +0000 rescue: Fix link order of SSL libraries and fetch. ld.bfd requires libraries to be linked in order. libssl requires libcrypto. libfetch requires libssl. To fix the latter, move fetch up above tar rather than listing the ssl libraries twice. Reviewed by: delphij Fixes: ea34aa4780e5 rescue: Add fetch(1) to the rescue tool. Differential Revision: https://reviews.freebsd.org/D38304 --- rescue/rescue/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rescue/rescue/Makefile b/rescue/rescue/Makefile index 6093cf6609d1..2360bf83b781 100644 --- a/rescue/rescue/Makefile +++ b/rescue/rescue/Makefile @@ -212,16 +212,16 @@ CRUNCH_PROGS_usr.bin+= zstd CRUNCH_ALIAS_zstd= unzstd zstdcat zstdmt CRUNCH_LIBS+= ${LDADD_zstd} +CRUNCH_PROGS_usr.bin+= fetch +CRUNCH_LIBS+= -lfetch + CRUNCH_PROGS_usr.bin+= tar CRUNCH_LIBS+= -larchive .if ${MK_OPENSSL} != "no" -CRUNCH_LIBS+= -lcrypto -lssl +CRUNCH_LIBS+= -lssl -lcrypto .endif CRUNCH_LIBS+= -lmd -CRUNCH_PROGS_usr.bin+= fetch -CRUNCH_LIBS+= -lfetch - .if ${MK_NETCAT} != "no" CRUNCH_PROGS_usr.bin+= nc .endif From nobody Thu Feb 2 17:35:31 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P75Xg52r0z3kPJC; Thu, 2 Feb 2023 17:35: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 4P75Xg4Z9Cz3xrY; Thu, 2 Feb 2023 17:35:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675359331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D/yapCJU9sqR/DmQhJw3VnAJ7D6jx//SAd+rKbzT9Uk=; b=OfFUvg7rCDZhLjepvcsfvlzfvSWLgim9O94IrvcrlA+wHKRjz1E3QlywWP5c3N3R1TVOIi qMlfF0eLbUJfYlCPUt83F14OU2gj9a8mBb5jzrMt/MvSBvADARGiWwxrF4ktFl8OI4Y8T7 WnFVi560U0hTrjQaMtJALHoOPDd3FWAGAyRw8OiPnaeQ3+Jo3CUiBn0R5gvVRuFpuyDx1v TgQRyz9xYUdwPfLS2+aKMeNvV3nuNJ/1BBokGl0r+6/RBHPd20AL3FESahfpl0Nl5pnwC6 qM2SqmvAlwZ2MqMIDRe3g4ozhCBMnKI5b8Q79pZka395sHuiXoxMv6g7s8UfQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675359331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D/yapCJU9sqR/DmQhJw3VnAJ7D6jx//SAd+rKbzT9Uk=; b=dvebI6uozdj2joy12KeAn42khLFQDL2zoYLWolFSTYqKtFKCAzEzUHcuSsi5tcxGff/GKR MAdJPnnNxtVtsG4HwCuOZUjsbcfFqVx8OlmDRx8VZZjaxfdHyEbKzE2pvLr5fq+BIoKxtx sAif3PltT7S3LmuwWFkkFJU+5rHjovylDjJr46wrZC61sk6anTQ2WlrsneABXlEpjldkZL WtGQatXHiC+VaywOrqcnijL9NWqKafWka5yGqSGrfhpVZPWYKoxx3CotO7mLLisiBhh69k 0oUT6TwUvy6/lUjY+F3Jldl2JIn6co38q9Ui1NaRyMQ95QUBQy+WYx0i66Is8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675359331; a=rsa-sha256; cv=none; b=cnQCfFAEVXm4ipNejqlylvbiqjQZOkJ29FrWD+9TPWZpAuOkk4Yt1WlMSZkL7bwFQLdQ6T Pxwc4tP9RoOAL/zkMtwlyEBRk1F+xuo99LmPUUKM+Ot3R8AYL4ro8VF6GkEXUPkTAYdjxP NB38CgW/2LfGUVLbyE/zESq4qTSkO4EjwDA4xlnXtKtjiyQzDZhWxwcPTn4KLiiHUsIVXG /t0pJ05UXCr2w5tcul978FyWS+CqoT8DTqjy9XVpuMnSzsbB1KsfgGd9IlHunAvHtupo65 QI/YorrqqkFYLDICuEbxVOTaVzHzZsBLEqVkDzuU+SaVrxtX51b4nr2Aic26cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P75Xg3FHXz12g7; Thu, 2 Feb 2023 17:35:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312HZVLN021410; Thu, 2 Feb 2023 17:35:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312HZVgk021409; Thu, 2 Feb 2023 17:35:31 GMT (envelope-from git) Date: Thu, 2 Feb 2023 17:35:31 GMT Message-Id: <202302021735.312HZVgk021409@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: e7ab133648a1 - main - timeout: Move from /usr/bin to /bin List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e7ab133648a168c4bf7c11da840663c5581771d8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by 0mp (doc, ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=e7ab133648a168c4bf7c11da840663c5581771d8 commit e7ab133648a168c4bf7c11da840663c5581771d8 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2023-02-01 15:24:59 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-02-02 17:34:35 +0000 timeout: Move from /usr/bin to /bin timeout(1) is used by /etc/rc.d/zfskeys. Unfortunately, having timeout(1) installed in /usr/bin causes problems when /usr is an encrypted ZFS partition. Implementing timeout(1) in sh(1) is not trivial. A more elegant solution is to move timeout(1) to /bin so that it is available to early services in the boot process. PR: 265221 Reviewed by: allanjude, des, imp Approved by: allanjude, des, imp Reported by: Ivan Fixes: 33ff39796ffe Add zfskeys rc.d script for auto-loading encryption keys MFC after: 1 week Relnotes: yes Sponsored by: Modirum MDPay Sponsored by: Klara Inc. Differential Revision: https://reviews.freebsd.org/D38344 --- ObsoleteFiles.inc | 4 ++++ bin/Makefile | 1 + {usr.bin => bin}/timeout/Makefile | 2 ++ {usr.bin => bin}/timeout/Makefile.depend | 0 {usr.bin => bin}/timeout/tests/Makefile | 0 {usr.bin => bin}/timeout/tests/Makefile.depend | 0 {usr.bin => bin}/timeout/tests/timeout_test.sh | 0 {usr.bin => bin}/timeout/timeout.1 | 0 {usr.bin => bin}/timeout/timeout.c | 0 etc/mtree/BSD.tests.dist | 4 ++-- usr.bin/Makefile | 1 - 11 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index bf96963c3e73..ed6d929dd79b 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20230201: timeout moved from /usr/bin to /bin +OLD_FILES+=usr/tests/usr.bin/timeout/Kyuafile +OLD_FILES+=usr/tests/usr.bin/timeout/timeout_test + # 20230124: rtalloc.9 removed OLD_FILES+=usr/share/man/man9/rtalloc.9.gz diff --git a/bin/Makefile b/bin/Makefile index 3ad97ac8d624..cdd96d0b84e8 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -38,6 +38,7 @@ SUBDIR= cat \ stty \ sync \ test \ + timeout \ uuidgen SUBDIR.${MK_SENDMAIL}+= rmail diff --git a/usr.bin/timeout/Makefile b/bin/timeout/Makefile similarity index 69% rename from usr.bin/timeout/Makefile rename to bin/timeout/Makefile index fc1c87edfb7a..2eb88d6827fa 100644 --- a/usr.bin/timeout/Makefile +++ b/bin/timeout/Makefile @@ -4,6 +4,8 @@ PROG= timeout +SYMLINKS= ../..${BINDIR}/timeout /usr/bin/timeout + HAS_TESTS= SUBDIR.${MK_TESTS}+= tests diff --git a/usr.bin/timeout/Makefile.depend b/bin/timeout/Makefile.depend similarity index 100% rename from usr.bin/timeout/Makefile.depend rename to bin/timeout/Makefile.depend diff --git a/usr.bin/timeout/tests/Makefile b/bin/timeout/tests/Makefile similarity index 100% rename from usr.bin/timeout/tests/Makefile rename to bin/timeout/tests/Makefile diff --git a/usr.bin/timeout/tests/Makefile.depend b/bin/timeout/tests/Makefile.depend similarity index 100% rename from usr.bin/timeout/tests/Makefile.depend rename to bin/timeout/tests/Makefile.depend diff --git a/usr.bin/timeout/tests/timeout_test.sh b/bin/timeout/tests/timeout_test.sh similarity index 100% rename from usr.bin/timeout/tests/timeout_test.sh rename to bin/timeout/tests/timeout_test.sh diff --git a/usr.bin/timeout/timeout.1 b/bin/timeout/timeout.1 similarity index 100% rename from usr.bin/timeout/timeout.1 rename to bin/timeout/timeout.1 diff --git a/usr.bin/timeout/timeout.c b/bin/timeout/timeout.c similarity index 100% rename from usr.bin/timeout/timeout.c rename to bin/timeout/timeout.c diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index b4b18997b7f9..910db16f0d15 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -62,6 +62,8 @@ .. test .. + timeout + .. .. cddl lib @@ -1106,8 +1108,6 @@ .. tar .. - timeout - .. tr .. truncate diff --git a/usr.bin/Makefile b/usr.bin/Makefile index a53d908d454b..cb7d414c81f8 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -152,7 +152,6 @@ SUBDIR= alias \ tcopy \ tee \ time \ - timeout \ tip \ top \ touch \ From nobody Thu Feb 2 17:41:33 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P75gf12trz3kPCr; Thu, 2 Feb 2023 17:41:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P75gf06jcz40n0; Thu, 2 Feb 2023 17:41:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675359694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xmys3Njz4jqVOir1v7eNRATtc08vvvyQo56vhCEE4ug=; b=XtQC9ps3ZRIZ5moPdFCl0+0BusRof9ee+F33kQ55GrVYwdCdwPUIZFb3RQBhvIWNaUZ7dY jMZ+TcVtSF+h1j/UIIijWVRfh1CGba705A3Czzr0C6M2f4nJbUYbMD+LejIXmF36zdNu+n UyfGxJvIHHfO9UtMelXiwjkUEPbnX17MUebhNRkab3WQJyy0Y+HrPnONXS9BivV0jfEaEq /TkqSp1HigGlzF0S/WCf/NIPJmT4GC1h6n7HY4wgRUD5ogNd7oTKtLsUP8KC5ikQO81wtw 92or4JBayeAJ2q6b+sLazwRWkjX97dzWOULJqZPCQXjghSYmR0POj7o0UHwz2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675359694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xmys3Njz4jqVOir1v7eNRATtc08vvvyQo56vhCEE4ug=; b=NqfDEzIPXWSZq1XV6X38x26FfZUf4pDCBQyiwayxFKDqhdsCNc8rbZpFU87MoW9lK+yRNr Rfg/VLdNkDKeiQNH6eNP82SvwXb+Q1JmhKDZBfAQ6kilDpgvWpGjKfzrZ+xXRtR/lQH+MT eko5HYS/Ogym4niUwXwaHzoWiR6gDls5ie6IZ6PQqWT0AkC/06/rSGkZEOZKAxvy3JHzGv vUXv0lx9PGE6vC83kFag2pCuQNQQ9B36vLSr5lz7jOu0c9nO9bZXvq0IEucwm2RjTrH1Ls K+T/6gTbXaxzPY7Q8HhiGswuAgmrMF/5SZsFiJRbbQ51adtECIlrXhbgxVh5nw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675359694; a=rsa-sha256; cv=none; b=sZVYt4J26/Q+8WlYvXUwc5C1ZAgaYCvKZoEwlwE+TFz6ExFfPdhLfgbseAhi0ho6x2io/n EoQrUwqPbo+ysf9VZ3hi2aTwRV0c/SJOdPrfl54fPLkI4zTPryb6s/5mLO92itJDA61qky W44jN5wf9R38YSbvhpJnK2xkCP23wZd9ty//zgtz0RWzbfeUPqbXh7H5pPcmzBGR0/wyWv Hbk15gkb9SZfR4lzdgZEGrNTbEzEtHfn4ys1b579K+bAjtRfge/STNDKQjwWz4Lks2Jh0F We+PWkyT5E7eK9jeKT4UOiP/dNN4nlhFAus8lqy/BN+tXp2K099Id8TOb3kZxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P75gd5zYwz131k; Thu, 2 Feb 2023 17:41:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312HfXAe033291; Thu, 2 Feb 2023 17:41:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312HfXf9033290; Thu, 2 Feb 2023 17:41:33 GMT (envelope-from git) Date: Thu, 2 Feb 2023 17:41:33 GMT Message-Id: <202302021741.312HfXf9033290@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: c941e8c65d9d - main - ipfilter: Correctly type ipf_pullup() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c941e8c65d9df878136dc5d51d70256d33f7769f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=c941e8c65d9df878136dc5d51d70256d33f7769f commit c941e8c65d9df878136dc5d51d70256d33f7769f Author: Cy Schubert AuthorDate: 2023-01-31 19:09:00 +0000 Commit: Cy Schubert CommitDate: 2023-02-02 17:41:22 +0000 ipfilter: Correctly type ipf_pullup() ipf_pullup() outputs a pointer to ip_t. Though returning a pointer to void does work, it is imprecise and not completely correct. MFC after: 1 week --- sys/netpfil/ipfilter/netinet/ip_fil.h | 2 +- sys/netpfil/ipfilter/netinet/ip_fil_freebsd.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/netpfil/ipfilter/netinet/ip_fil.h b/sys/netpfil/ipfilter/netinet/ip_fil.h index 85a79eda1172..002ddfdc8348 100644 --- a/sys/netpfil/ipfilter/netinet/ip_fil.h +++ b/sys/netpfil/ipfilter/netinet/ip_fil.h @@ -1700,7 +1700,7 @@ extern int ipf_outobj(ipf_main_softc_t *, void *, void *, int); extern int ipf_outobjk(ipf_main_softc_t *, ipfobj_t *, void *); extern int ipf_outobjsz(ipf_main_softc_t *, void *, void *, int, int); -extern void *ipf_pullup(mb_t *, fr_info_t *, int); +extern ip_t *ipf_pullup(mb_t *, fr_info_t *, int); extern int ipf_resolvedest(ipf_main_softc_t *, char *, struct frdest *, int); extern int ipf_resolvefunc(ipf_main_softc_t *, void *); diff --git a/sys/netpfil/ipfilter/netinet/ip_fil_freebsd.c b/sys/netpfil/ipfilter/netinet/ip_fil_freebsd.c index b2ee855c3854..0dfc23d3dd1f 100644 --- a/sys/netpfil/ipfilter/netinet/ip_fil_freebsd.c +++ b/sys/netpfil/ipfilter/netinet/ip_fil_freebsd.c @@ -1178,17 +1178,17 @@ mbufchainlen(struct mbuf *m0) /* We assume that 'xmin' is a pointer to a buffer that is part of the chain */ /* of buffers that starts at *fin->fin_mp. */ /* ------------------------------------------------------------------------ */ -void * +ip_t * ipf_pullup(mb_t *xmin, fr_info_t *fin, int len) { int dpoff, ipoff; mb_t *m = xmin; - char *ip; + ip_t *ip; if (m == NULL) return (NULL); - ip = (char *)fin->fin_ip; + ip = fin->fin_ip; if ((fin->fin_flx & FI_COALESCE) != 0) return (ip); @@ -1233,6 +1233,7 @@ ipf_pullup(mb_t *xmin, fr_info_t *fin, int len) #endif } else { + m = m_pullup(m, len); } if (n != NULL) @@ -1259,9 +1260,9 @@ ipf_pullup(mb_t *xmin, fr_info_t *fin, int len) m = m->m_next; } fin->fin_m = m; - ip = MTOD(m, char *) + ipoff; + ip = MTOD(m, ip_t *) + ipoff; - fin->fin_ip = (ip_t *)ip; + fin->fin_ip = ip; if (fin->fin_dp != NULL) fin->fin_dp = (char *)fin->fin_ip + dpoff; if (fin->fin_fraghdr != NULL) From nobody Thu Feb 2 17:41:34 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P75gh09HBz3kPP5; Thu, 2 Feb 2023 17:41: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 4P75gg3Ykyz40yM; Thu, 2 Feb 2023 17:41:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675359695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YEP15gX/N8nJ7a5end5gW9gspxFWNfCG/laqHK+4nhs=; b=cP1w3s+GUxIZwWsXMPbAkvtnrEkfYTXSpYAkPdVl4XSCzNweeMwoGeOxax7rmaRogyqW3A u3OXSGa2o+hhKayFIBgj3CNpktvUwCfkeM8OtV03rPWlk8/gP2EAEbDmqOPLclJdvrTGIT bV0Wy7er3RrsHc7eJEqtD5YsZfRadKHgWpGeBXGwAKH5sSmNut688WHL93+Hov3ulJTBEe C3oJlKli3VFskfFynin6xvAX0rxy4cJnPo1w7mJx7HmMcXh9Q7yUjp/chs4+YDIN24APdl 615CxnbICQ1XZVcoYox61UFotSlsqLbzyDcEkuyDSV35K1o5Ekcr+hAfvvUi5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675359695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YEP15gX/N8nJ7a5end5gW9gspxFWNfCG/laqHK+4nhs=; b=m8JbJkXQHKimUAUoBLsBnXlJYgRF9Ra4mRp+1M8mYagJ5KjASDG7KsXViv1U9l3BpK5+2M DmWvb6uO+Bg3Rs2dAqusXqNmXEkbjDmNixPJrK0/qp9iNOlH76nYjzdWku7FWJEHB0rG6q NnG9OwpBvIw29tDzhFUB5x3cVKb1ZgFF/5PT6NTVbB4cyvmX2/5lb+vWPmFhIHPqxzQrc7 Fs6YWIzQoL1ZxsAZ318nNs+qT/lyigMKxisAXsn3ar0UZrxHqQeqr3SivdwaIJi2taX2mW MOgG7Tw30p3CJCzNObiT91iCBCKz8bNyJ+WWY8Gh35Zf7W9azcUkg1iRHb/32g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675359695; a=rsa-sha256; cv=none; b=S3O8ddHTomQn3rltap+0uM1aN3VoynsDDNev4qiXyVnORjisjzcbVq8Tj2igi/aaZcdsqV 2JflhpiNL1P8MZMhlZ/rURa8opEMkbeQ6RQUzS+kidgxtPpBUIzI0T+80xsg/H9MOoPS8w p84nrO5pV0ijGtDrotJDQngY3lrLduaa1ptoialh2i4IA1M/R39RcIuFlUpoDqeO7UyTNl vQO6wapz7hTHX6lNbeh08Pz6IkST6vbyCGFnDSUoQWOGUlMsparv3v06lVkgInjLrKzrDP hBSzKaMAcUWgmZLk2mrpjDftf+XG7CB+wiumhh16YBQ1slFdCpmGljpLC/Rt4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P75gf6sjcz13rQ; Thu, 2 Feb 2023 17:41:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312HfYdA033319; Thu, 2 Feb 2023 17:41:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312HfYUj033318; Thu, 2 Feb 2023 17:41:34 GMT (envelope-from git) Date: Thu, 2 Feb 2023 17:41:34 GMT Message-Id: <202302021741.312HfYUj033318@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: 79f7745c098a - main - ipfilter: Fix use after free on packet with broken lengths List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 79f7745c098a766d34a4e072cdd1a06e6d0829d5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=79f7745c098a766d34a4e072cdd1a06e6d0829d5 commit 79f7745c098a766d34a4e072cdd1a06e6d0829d5 Author: Cy Schubert AuthorDate: 2023-02-02 00:49:08 +0000 Commit: Cy Schubert CommitDate: 2023-02-02 17:41:22 +0000 ipfilter: Fix use after free on packet with broken lengths Under the scenario with a packet with length of 67 bytes, a header length using the default of 20 bytes and a TCP data offset (th_off) of 48 will cause m_pullup() to fail to make sure bytes are arragned contiguously. m_pullup() will free the mbuf chain and return a null. ipfilter stores the resultant mbuf address (or the resulting NULL) in its fr_info_t structure. Unfortuntely the eroneous packet is not flagged for drop. This results in a kernel page fault at line 410 of sys/netinet/ip_fastfwd.c as it tries to use a now previously freed, by m_pullup(), mbuf. PR: 266442 Reported by: Robert Morris MFC after: 1 week --- sys/netpfil/ipfilter/netinet/fil.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/ipfilter/netinet/fil.c b/sys/netpfil/ipfilter/netinet/fil.c index 5ced528d1263..6fcfd3cea301 100644 --- a/sys/netpfil/ipfilter/netinet/fil.c +++ b/sys/netpfil/ipfilter/netinet/fil.c @@ -1113,8 +1113,10 @@ ipf_pr_pullup(fr_info_t *fin, int plen) if (M_LEN(fin->fin_m) < plen + fin->fin_ipoff) { #if defined(_KERNEL) if (ipf_pullup(fin->fin_m, fin, plen) == NULL) { - DT(ipf_pullup_fail); + DT1(ipf_pullup_fail, fr_info_t *, fin); LBUMP(ipf_stats[fin->fin_out].fr_pull[1]); + fin->fin_reason = FRB_PULLUP; + fin->fin_flx |= FI_BAD; return (-1); } LBUMP(ipf_stats[fin->fin_out].fr_pull[0]); @@ -1127,6 +1129,7 @@ ipf_pr_pullup(fr_info_t *fin, int plen) *fin->fin_mp = NULL; fin->fin_m = NULL; fin->fin_ip = NULL; + fin->fin_flx |= FI_BAD; return (-1); #endif } @@ -3180,6 +3183,14 @@ finished: SPL_X(s); + if (fin->fin_m == NULL && fin->fin_flx & FI_BAD && + fin->fin_reason == FRB_PULLUP) { + /* m_pullup() has freed the mbuf */ + LBUMP(ipf_stats[out].fr_blocked[fin->fin_reason]); + return (-1); + } + + #ifdef _KERNEL if (FR_ISPASS(pass)) return (0); From nobody Thu Feb 2 18:21:46 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P76Z31Tmhz3kRRl; Thu, 2 Feb 2023 18:21: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 4P76Z311jzz451V; Thu, 2 Feb 2023 18:21:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675362107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PwrDEsLQ88Ye1bF3xA91ts+b7UU7EUIPjNHRPgzwAGo=; b=BJTbHbQlu/VvFEL19uZtub5+B7agM1pSTAai9z9kCHyLr4jwW1hQe81KAUstrLtTSX2d2Q 2rOz6HPMHeVFa7uU9DPKJbbHln8CETSrobrP5SThl5w71PsQri0fb2MkSZithi9tbhyuTA AdUq9Pa45Dgz8zk/15+QXB5HwFVNvZGS/Zu/4qu8dyD1Idzpc9Kxo5HFjTDsBT670Eax+G Na2R0lb3xO004Wc1/cyf8nkQDHIPcfSeA2SeOMSzvNu5pNFcxjdXlXKOXY5IWFmt4w4zqh yrb9T1EltXRp/mtCjs7wtkG+yFr8DsQFRMYLM9W2Zn5TFm5rhKXrjfP/s22OPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675362107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PwrDEsLQ88Ye1bF3xA91ts+b7UU7EUIPjNHRPgzwAGo=; b=RTwBpUKgb+uSWIWeWqJSVKnEp+mEe+ntD1E1RKOQH5KeOy6qBmR9Rj3eGAwVyCiR5ZdIgB +kbVwVITWZAaBwTkWa8ACiHxUZG7gsHsgMXiCcv1HgAdcL/cOghhr4Bk0fTWxGfZQy99r9 BSFNtzPD3iAMrlP0G8jJnDilZFcHaJ1JMOC0KGR3/m2j7BXs42shQa75zO8qwSfxmT/rRV CDXnvEutu8ZiliRtjBcu6dScI6rATJDDxP/f7DFOJzIgpCzgfUHVx4b6WxKit0Iscauvzi ZB84hha+EDlahPl/HlWAMFaDU7JqEWLG+fM/kaNwC0TZNQRbh9/GgKc8GkpbRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675362107; a=rsa-sha256; cv=none; b=hFl1o4rtXUQl0N+DdirYRHv20StZ1cC1+504ws9Zz88Rd1GjU/CV01GhiW/1w7qag3xWpl Ieml0qAeUdHmuI/wyCxcB0WGpEB/F4QXf6bdj7tr1e2b6LA56nHO8SKeLSTrq16QZyd62f bv2Y0WL15rQex8TuSa/V6/huNDpDzp/H5kxR4kcSmT0drkyOS7QBh9t5cHmAg0Rc8gG4dj 8OuKuf02FkJAs0keC2amH9nB55Cd15h0TygxHxrliiIrZ7q8PjN4atbmE66fMkVEGiUVlS TXgksAG1Qzzxsxot/JMDBS1Rgi8SKQtegoAl3DpzH+ieJgpX0vA3fsP7Os7QnA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P76Z304Ywz13xP; Thu, 2 Feb 2023 18:21:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312ILkmL091809; Thu, 2 Feb 2023 18:21:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312ILkNc091808; Thu, 2 Feb 2023 18:21:46 GMT (envelope-from git) Date: Thu, 2 Feb 2023 18:21:46 GMT Message-Id: <202302021821.312ILkNc091808@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: a9e062971923 - main - gh-bc: don't force CFLAGS to -O0 -g List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a9e062971923059e8323fac78971a43f8082bd72 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a9e062971923059e8323fac78971a43f8082bd72 commit a9e062971923059e8323fac78971a43f8082bd72 Author: Dimitry Andric AuthorDate: 2023-02-02 18:20:16 +0000 Commit: Dimitry Andric CommitDate: 2023-02-02 18:20:18 +0000 gh-bc: don't force CFLAGS to -O0 -g Otherwise, CFLAGS passed in via bsd.sys.mk or the user's environment are not respected, and this leads to link errors on riscv64sf. --- usr.bin/gh-bc/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/gh-bc/Makefile b/usr.bin/gh-bc/Makefile index de0c8f36bbc8..a3e3bfd5aab2 100644 --- a/usr.bin/gh-bc/Makefile +++ b/usr.bin/gh-bc/Makefile @@ -33,7 +33,7 @@ CATALOGS+= zh_CN.UTF-8 zh_CN.eucCN zh_CN.GB18030 zh_CN.GB2312 zh_CN.GBK NLSNAME= bc NLSSRCDIR= ${BCDIR}/locales -CFLAGS=-g -O0 +#CFLAGS=-g -O0 CFLAGS+= -DBC_DEFAULT_BANNER=0 CFLAGS+= -DBC_DEFAULT_DIGIT_CLAMP=0 CFLAGS+= -DBC_DEFAULT_EXPR_EXIT=1 From nobody Thu Feb 2 20:07:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P78w72c5hz3kWp9; Thu, 2 Feb 2023 20:07: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 4P78w722F9z4H2f; Thu, 2 Feb 2023 20:07:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675368455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EJpvE8p+2Lfnuqw0GA2WcgadN9Fh99dDfOkHt3rqU6U=; b=wa7DgKj/AUhUsDL5LEo2NhrVb3tLugpBErAXN5wz1K6xPMqTzpMtI6mNOFBf/68kKbqcpF vLUZJ4DLSDF8SAqslfgFuATaKxNrJD6ehwWmn4shr2JOI6TM4DDtTSRKEmYGglnDtU5DVY ufc1egJ0KvjWGhLk1hT+8c2KAakmdQp4zPx9bFy514MfnF9mV+BSFVwfc7DYuN5XMQIe+h eaRou6VcvUfelFduoB70eqiBmJbIWnVfW2uWhMHJY51NuugFJfq/b+JYEth8pTSTerPY4T 3aFT2/trIbNCHvS2Gtf2nt6BDKMWhyChEZ78W8EFESnez/oyakmhiOX+sGdYdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675368455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EJpvE8p+2Lfnuqw0GA2WcgadN9Fh99dDfOkHt3rqU6U=; b=CDAfLBB/XHUAVCdP5JwSKlggDvjD8V2d3+5vmQMC1n8IBO7k3WshbB0cEP6gS/LxFgsKG4 FYH4bWtFCCDZ2707EtCuw49YKJhxZvMchAD/4Kbw3QsfBbHIITpE56PuG9mC0w0srBcSKe zgdIlU/tDUDsPvquStuxQXcySA8Pg1tzfTy9lLvU6Sxxw5sh4++rMlQevp39kdZh/sGaeJ KnPq9wQU/ULOE5GBc5fOs4WZctSmYsl/9Xyknu1pcRqgl7IG30FOHUtpKD70QD+b8wRSSe gWAa1jrwJZPMii9uqrqcuf+pNMpvdUfqzTCR0RZV8qooi1KqLTCGxVkVGkl9gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675368455; a=rsa-sha256; cv=none; b=WLi4YS10i5ffMVbdyZDps+32F7SyG3q3HmANQ6N1YcK4pXVZFL1cOplhxUkDVZLnQ8VVsk hktey1k5fMLZbcY1vts9QgtzXkiCBAV3sGsN1dKAwml+XQUmR9lIB8zwATsZVLByVUuIGu CMKpJFxlZhL+fdFpAT7VwXKweeWMhGHvKdEyVMjAIla1p2RcesD4hTtbGJ0RGaQTayRekz /JMA5bohjLLYi60hagjBdbBVmpjCf7fZAS7O7LIwTkCwsweEEKdFBOMv1C/Y3QKZGa6S5Z +0yHVgrVtHLDbFkgS2uqa30axQEvgDhhZJBgUJsn/8QYu8FOK+Se+MKTEpioyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P78w70yJlz171Q; Thu, 2 Feb 2023 20:07:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312K7ZFG036041; Thu, 2 Feb 2023 20:07:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312K7ZvP036040; Thu, 2 Feb 2023 20:07:35 GMT (envelope-from git) Date: Thu, 2 Feb 2023 20:07:35 GMT Message-Id: <202302022007.312K7ZvP036040@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: ce18e1939438 - main - stand: only compute symidx on x86 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ce18e1939438eb4160c6b7d91437a90393eba9ac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ce18e1939438eb4160c6b7d91437a90393eba9ac commit ce18e1939438eb4160c6b7d91437a90393eba9ac Author: Warner Losh AuthorDate: 2023-02-02 20:03:10 +0000 Commit: Warner Losh CommitDate: 2023-02-02 20:04:05 +0000 stand: only compute symidx on x86 We only use symidx on x86, so only compute it on x86 to fix a set but not used warning on aarch64. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38246 --- stand/common/reloc_elf.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/stand/common/reloc_elf.c b/stand/common/reloc_elf.c index 262091b9f6c6..f143b20eee5c 100644 --- a/stand/common/reloc_elf.c +++ b/stand/common/reloc_elf.c @@ -56,7 +56,10 @@ __elfN(reloc)(struct elf_file *ef, symaddr_fn *symaddr, const void *reldata, __ELF_WORD_SIZE == 64 Elf64_Addr *where, val; Elf_Addr addend, addr; - Elf_Size rtype, symidx; + Elf_Size rtype; +#if defined(__amd64__) || defined(__i386__) + Elf_Size symidx; +#endif const Elf_Rel *rel; const Elf_Rela *rela; @@ -67,7 +70,9 @@ __elfN(reloc)(struct elf_file *ef, symaddr_fn *symaddr, const void *reldata, dataaddr); addend = 0; rtype = ELF_R_TYPE(rel->r_info); +#if defined(__amd64__) || defined(__i386__) symidx = ELF_R_SYM(rel->r_info); +#endif addend = 0; break; case ELF_RELOC_RELA: @@ -76,7 +81,9 @@ __elfN(reloc)(struct elf_file *ef, symaddr_fn *symaddr, const void *reldata, dataaddr); addend = rela->r_addend; rtype = ELF_R_TYPE(rela->r_info); +#if defined(__amd64__) || defined(__i386__) symidx = ELF_R_SYM(rela->r_info); +#endif break; default: return (EINVAL); From nobody Thu Feb 2 20:07:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P78w83Tqkz3kX9m; Thu, 2 Feb 2023 20:07:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P78w82yrXz4H7H; Thu, 2 Feb 2023 20:07:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675368456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TeuOFbd6IgUwL3tmIKqsnxV9W1gpG4V5vAJj5RS0sJs=; b=uYvXX6tzju/opUZ6Zc/zWyXt99JGBaAY50Jue/74A+5qDeEFY15anzGuHZ42ZM0FKgUCdK hVV/aJ2U1+YdA+y/q1SSDRXxR5AdiQUDTOoNgNKWNXRzMpseWHqK/abQiQTEeRi1924D4C oFSj9c1i0mAw4s85pKULTrCHdboskuodKDdup53A9Ol9eixMXpZoeAWCZcefZrj7YWdKxc aHYjy5RleokPStdE93b/VMLvS+selAM28Qqp6SEm5q3ZNnP7ax3BB6ETNXmKKvplgeH/Dn BgsaSP03A54JYO7WkcdE8i9FQ/FXd9Lo/0j+6MS8wjOCsxQEukY5Ho6dfTcjsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675368456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TeuOFbd6IgUwL3tmIKqsnxV9W1gpG4V5vAJj5RS0sJs=; b=G68I2mVDQUAvsGZDZ4qMsCdvi0CQzVPOeB3fE4CG1vWWQoezO87TsE9ZJiASo794WEmUv0 GiYlUVTJmSAHzTzGzcg2AQjNYv/W5J9vOt+pTVt9qirqp57d5yD8Ailf1x2qNzHhhIQk6L jVuLF0ITfW7x6SnYNMFnywWWYIcmdrEaU6LZ1jZ0fRwWEX2Zl30dhc9FnKw1rbhMNaJO8c Af2x5tQnFC5fCtdzhhroVTe7jlktn8nZWXG0NeP/ORtt4n4nF9CsHRKmErQ+jSM35uZwDB D13AiGh528aPwqoh4yZLomnpsjl8BoBVmE1VfibRd9E066G3GnRsWaMZTVhnyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675368456; a=rsa-sha256; cv=none; b=rFSvLI8oZTUap9Z2LhrVDBYmyVD6hmOcu77H4I/LFxFgOHlkeRJUwGVsjsjH0C7sqGKuCC v/JIJ59fLjAbVGlbdT0U9zbbSDhOZ/z5rXIdwNPC5gXUOuAM0ABaO8mlCqF+1bgZowwI2/ nwohqUIKxNsF+XJPDJ4JVa7LFqtq7Dex2dr77PAvzXsCh6n6AWgeKJ372xxs0Nzej36F4K M1FbJoiVIZ7JjXMLgUWvbvKkB1FcBwl3oMIhzbKSIDzjGHUvh7q2wYUzMjErwqAI5RwJ5D UpRtX3S/LIXt98qac1f1loqDwjXK508nozd3Z0/PiFheV7EMbyCgtQ1R837b3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P78w81tLpz171R; Thu, 2 Feb 2023 20:07:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312K7amj036071; Thu, 2 Feb 2023 20:07:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312K7akx036070; Thu, 2 Feb 2023 20:07:36 GMT (envelope-from git) Date: Thu, 2 Feb 2023 20:07:36 GMT Message-Id: <202302022007.312K7akx036070@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 9fb276ea8001 - main - kboot: Trim initial allocation to 64MB List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9fb276ea800171b2065994b532931eb684777120 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9fb276ea800171b2065994b532931eb684777120 commit 9fb276ea800171b2065994b532931eb684777120 Author: Warner Losh AuthorDate: 2023-02-02 20:03:28 +0000 Commit: Warner Losh CommitDate: 2023-02-02 20:04:05 +0000 kboot: Trim initial allocation to 64MB We only need 64MB to read off ZFS pools. Since Linux doesn't do ovecommit by default, the extra 64MB is 64MB less we can allocate for things like RAM disks. Sponsored by: Netflix Reviewed by: kevans, andrew Differential Revision: https://reviews.freebsd.org/D38268 --- stand/kboot/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 52c135f78582..7144f081e4dd 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -151,7 +151,7 @@ int main(int argc, const char **argv) { void *heapbase; - const size_t heapsize = 128*1024*1024; + const size_t heapsize = 64*1024*1024; const char *bootdev; archsw.arch_getdev = kboot_getdev; @@ -167,7 +167,7 @@ main(int argc, const char **argv) do_init(); /* - * Setup the heap 15MB should be plenty + * Setup the heap, 64MB is minimum for ZFS booting */ heapbase = host_getmem(heapsize); setheap(heapbase, heapbase + heapsize); From nobody Thu Feb 2 20:07:37 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P78w965sNz3kWx1; Thu, 2 Feb 2023 20:07: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 4P78w94Gd0z4H9j; Thu, 2 Feb 2023 20:07:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675368457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kyL+GJzSQVQ7SZ4Dk40gRQ0rVRr3CzSUlkPmu+pFpAU=; b=LP4oPLSlAYQlXPi6Qr1U5ansbmf1NnNQLP+SmdOPd6ZDRWlUpizHezgPjkqasOxdCSGIer wjE7hKcdMKV9i1Mak93/tfNXbbk+AdUPW8X56D3e5wQYXZ5ij4OSa8QAWR8jWgT9GxhC4R KV73JNcwFVdvHUFY3EFyAGE7WT8VcOgvy4smRgAQXps/nCTmMvwRkpmfLkBb08gkFW3O1n 4q2LiiEDlyUXRtyl7KlGG5rRUn+f0Nw1yZhzmdjo4zxYWJEO6naiUgGO2jUflb2S6oWBM0 hQW0MySHdLJdJKIENek8B74E3EJKgBHixGgg6e5GrBNFLH2yZxoqxx+SZaVHyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675368457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kyL+GJzSQVQ7SZ4Dk40gRQ0rVRr3CzSUlkPmu+pFpAU=; b=m85NEXx2YGUQmok1IJrhLy15aJbKwHp9XtSSDhGGqlIg3W0XQ5dSgoKlxCx+kneV4K3zlO pGdaM2ewPA4LzYVGjru173Cn3W/p0QwP3PHclavVMmto6bqNDikfyLslK57F+hVXILY80j I7uakdFWGnPdNKVsL9YhfaRRYKEF57Jstv+io4hY5v6WNJXGjn0BhQU80b4TcEp6ambW34 yTUEMfoZf23v2qQdRZlVLgCB0uKGqw2tYQ+hdZvIINQBHndf+PvhdkxPQ9M854r6gDocld BqMiOOZxTDdK72k1UchxcfHSpnMIG/3qKaUFwfEMGilxa7lKuFz5TuINrYOeiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675368457; a=rsa-sha256; cv=none; b=ncq9dubMmUWwzyiJHrvw/30gNfCzzaVh7j24UCrhSNCJwuh2UXSnFoln9V89UlqhJEwGcp 8BR9fY2IfB2Dhi9MbUBSELNPf2BDCPVYydZixSxVahXkFCu3Alf+RvAXa+I7YYOWU5wOU/ bjse7tL9oDG84oaF0folWcPM9FJ2xf9s0V6rbI2EwjBdj5U/6i5BOsy9vVDemqqMfvWH1V hUWNZRloTM6SJudJ7PssHVaJ23JkhK+yBcvsq7m25PlQD3JrPvXPD3nAaCvMtIsSRhZmvV iz8OdrqdEgrYw0w8uZFmJK4JoUh8EtlAY+VJvdfqmz7KWFtYQL0urMU2o6S/9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P78w92pmwz16Wt; Thu, 2 Feb 2023 20:07:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312K7bXv036102; Thu, 2 Feb 2023 20:07:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312K7bdw036101; Thu, 2 Feb 2023 20:07:37 GMT (envelope-from git) Date: Thu, 2 Feb 2023 20:07:37 GMT Message-Id: <202302022007.312K7bdw036101@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 81d71f94cabc - main - kboot: Fix hostdisk fmtdev List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81d71f94cabcef8f88637f426bcd8379f9448fd9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=81d71f94cabcef8f88637f426bcd8379f9448fd9 commit 81d71f94cabcef8f88637f426bcd8379f9448fd9 Author: Warner Losh AuthorDate: 2023-02-02 20:03:39 +0000 Commit: Warner Losh CommitDate: 2023-02-02 20:04:06 +0000 kboot: Fix hostdisk fmtdev The device name was totally wrong. It should be "/dev/mumble:" not just "mumble". Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D38318 --- stand/kboot/hostdisk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index fab4ee04bb6b..3c924293223a 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -429,8 +429,10 @@ done: static char * hostdisk_fmtdev(struct devdesc *vdev) { + static char name[DEV_DEVLEN]; - return ((char *)hd_name(dev2hd(vdev))); + snprintf(name, sizeof(name), "%s:", dev2hd(vdev)->hd_dev); + return (name); } static bool From nobody Thu Feb 2 20:10:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P78zK6wtHz3kX2w; Thu, 2 Feb 2023 20: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 4P78zK5csnz4JSj; Thu, 2 Feb 2023 20: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=1675368621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tQA8ZNZBHk9+cQkuGKKCLPN7qx5jI8fkk5J0WdENT3c=; b=Be5XCzV2AUTeH0YpcIkP9A7xAnvCxgl6+csgWme4Qr++WptsOQBh541QFbULdHRZwdPQ5Z 3XZY7n1IqHnPB+at0KVpfNOOfB6nIZQZOwb8vTuu95VPwjPf81u5H4Uhorh7o8zn4PTjw3 sVR68B9IIIznXXe4meagjiyXnd+t6Nw+ja1YGxFTo7oTrzCbF+es3pSmZ6pu3g5j2uKGt/ nde/vbUIuEzrR0WTvBOh67/Z5HAT2iSZp85SHnj+n/tlabqroerDaq2PQO2B7a4GzhaeVN fNRYsedC8gOhzAD+bbhDFezVIq0Ha8/rd8P+QKhtGnCyyua/2JQ8Slqld/VQkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675368621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tQA8ZNZBHk9+cQkuGKKCLPN7qx5jI8fkk5J0WdENT3c=; b=O9u8O+YDPwEyZwjevSsmV5opqxD33vL+71G7pYnXTApG3d8sbzM1+KEqujBCNWU6VULU0i mFDviuTI2VVw82m28u5qUKKS24mljx13bA183adaaHOT/LOrH2Tcf6vV7292Y+Eflj5smR ae1sMkVnVExkwffDAXN3QG85ns+0VPgl9Dbd6jCVDFjEYDywjKa40f8Tv+pQ61r1bPcwqj 7XIIMTYY/Bn5RXOa8fY2rxJBN3yzFLA+X1Tk4FHmmb5AXKJFpCCyiJGxjSOKz/hOX2q17D IcyHH2SdBA7/7nxyegXdjgrecD9GykGZL6xOq7rtzN7OK4Ap01IdVwExBHhWqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675368621; a=rsa-sha256; cv=none; b=npFvx8h9I1D3YPjx1f1Dm2NZe6R3PtiAmwjS7TkkkA3mnqcY7cE2cawws2Fs5m3uLISmfp VVq7BJKxYan6B1Hk68uPQxzHxgMzATceMJcfYzmu5RKXuzU3jy6FRfdC2Npl8QpJDMgjfG qhTjyhGRnmLCobbTVjEhvm+x1EqftCxIgE6WQOXX0BxJwloQRiivgKjHL99GHCkkFH7YjV mLQtwEvwZJc4oQMKKAjvG2q0RLN/BFtRbeFrLtNQyHPalLvwhPgxshblKaecxbD+GISNPG L1+Od3H1BVVq6PgeKT3SIk05isZcf20zd6dIm1CiY8Jm0qoTvaTUmrh3VbW03A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P78zK42xnz16tD; Thu, 2 Feb 2023 20:10:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312KALEE044885; Thu, 2 Feb 2023 20:10:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312KALBP044884; Thu, 2 Feb 2023 20:10:21 GMT (envelope-from git) Date: Thu, 2 Feb 2023 20:10:21 GMT Message-Id: <202302022010.312KALBP044884@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 2e1edd04eb01 - main - kboot: For hostfs, return better errors from read, where possible. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e1edd04eb01bac15628185686cbf615d80de7de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2e1edd04eb01bac15628185686cbf615d80de7de commit 2e1edd04eb01bac15628185686cbf615d80de7de Author: Warner Losh AuthorDate: 2023-02-02 20:06:24 +0000 Commit: Warner Losh CommitDate: 2023-02-02 20:06:31 +0000 kboot: For hostfs, return better errors from read, where possible. Translate the Linux error return from read to a FreeBSD errno. We use a simplified translation: 1-34 are the same between the systems, so any of those will be returned directly. All other errno map to EINVAL. This will suffice for some code that reads /dev/mem in producing the right diagnostic. A fully generalized version is much harder. Linux has a number of errno that don't translate well and has architecture dependent encodings. Avoid this mess with a simple macro for now. Add comment explaining why we use the simple method we do. Sponsored by: Netflix Reviewed by: kevans, andrew Differential Revision: https://reviews.freebsd.org/D38265 --- stand/kboot/host_syscall.h | 10 ++++++++++ stand/kboot/hostfs.c | 5 ++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 38f0fb04aa95..75394afcde6c 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -206,4 +206,14 @@ ssize_t host_write(int fd, const void *buf, size_t nbyte); host_mmap(0, size, HOST_PROT_READ | HOST_PROT_WRITE, \ HOST_MAP_PRIVATE | HOST_MAP_ANONYMOUS, -1, 0); +/* + * Translate Linux errno to FreeBSD errno. The two system have idenitcal errors + * for 1-34. After that, they differ. Linux also has errno that don't map + * exactly to FreeBSD's errno, plus the Linux errno are arch dependent > + * 34. Since we just need to do this for simple cases, use the simple mapping + * function where -1 to -34 are translated to 1 to 34 and all others are EINVAL. + * Pass the linux return value, which will be the -errno. + */ +#define host_to_stand_errno(e) ((-e) > 34 ? EINVAL : (-e)) + #endif diff --git a/stand/kboot/hostfs.c b/stand/kboot/hostfs.c index 08f532999abe..02afa885d833 100644 --- a/stand/kboot/hostfs.c +++ b/stand/kboot/hostfs.c @@ -112,9 +112,8 @@ hostfs_read(struct open_file *f, void *start, size_t size, size_t *resid) ssize_t sz; sz = host_read(hf->hf_fd, start, size); - if (sz < 0) { - return (EINVAL); - } + if (sz < 0) + return (host_to_stand_errno(sz)); *resid = size - sz; return (0); From nobody Thu Feb 2 20:16:27 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P796M3VCsz3kXPY; Thu, 2 Feb 2023 20:16: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 4P796M2zq5z4KNm; Thu, 2 Feb 2023 20:16:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675368987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3KrIAXjmIaBKP0soxwlMga0U+vHOQkeNbA25zLEXVng=; b=hs5hGvBrloRdwhRN4XbpHGBZXL3BTdgvkmOiPlsBY0bI4maBDls4t04BralXI+leq4zwZq v3KV9I71jAENw+TXT7+zDrWOYOW15PQVGVqv0HjJyHQ86iHtSj8xjGSmep6Its5YBsUwkV RB0j1+pH9K/8weEo0iOYMvXILbNBOSOOn4RagL/H85wrQoXxVS9/V7fH/wJZcq1fLb07KO vnFuVOKm/aokNLgnh44AbDgxq9V6vK4smaUaypaMc5K5AWgbhSHUBPu1ZWdeanDQAmWRGU 4Wx1tH8++h5rdSrRhjIErfZh/0gXRqQelj3LjxKJHtjYD72zGXSn6Hvaeqi5mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675368987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3KrIAXjmIaBKP0soxwlMga0U+vHOQkeNbA25zLEXVng=; b=SpwzkjEFHBc5/QTisXm9B2qOSgADX2D9138KW9wIor2FDznRQ+anelVzWT+IFk9wxUGzCe t0xdC3HwAtK1mq3nlcjzcMCtufTnhI0taMmMV5lu0nqqTMuteIqLoSUw1ffe7DggMnFw6T Kklq34/qKToqZ3NydU/jRbwik4hrQr46sBmhu8pCnrGuXxW443FyAtBo+xrAQuDDM236uU vCdaeliMGXUDJhwkQYK4uIE5rUaBcUulImdtIUjBw3Jp4PHaoT5/+Wm7XPOy6YViPjOLOP VBLhmCGp2w++greU5udfcLaNuSWzg9CunKUbYDP00mAPPUNq30wtC2qA7UQrIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675368987; a=rsa-sha256; cv=none; b=XQv+U4uVLlyler84Qs6lWiPirK99KOlvPGLQ6zJrNCeGCeeWIg6H87ebvOERDZOmTrP/3g J5Xx7RrEQoNFnmeZ7CvfFWIYgteelru/G1NmuYIjEmitkyk7aASMjXvSb3eKvp2B4bHZZj edVuUSdZBPpz/raI4yc59zH1kNG0MZ46p79s3uAua2+IVomZs3TL9HNhDKsOknlNCesstd hLlgnIl8MouM5rFUbBdpZ6cMD2XxPNxXjwZ4130Ra5RN8BwiEBlDZdCcixmYy4PU2rF8Se eM8xCNfupYi2wJaAS0OF+v+l7o2xPkYkiaXFAqj4jzCzUFWUoQanVAOpwIDYEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P796M1xqPz16w0; Thu, 2 Feb 2023 20:16:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312KGRwx049881; Thu, 2 Feb 2023 20:16:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312KGRRU049880; Thu, 2 Feb 2023 20:16:27 GMT (envelope-from git) Date: Thu, 2 Feb 2023 20:16:27 GMT Message-Id: <202302022016.312KGRRU049880@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 7da605ec03c1 - main - kboot: Parse memory usage List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7da605ec03c14362c3e957989b59b3084e28697b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7da605ec03c14362c3e957989b59b3084e28697b commit 7da605ec03c14362c3e957989b59b3084e28697b Author: Warner Losh AuthorDate: 2023-02-02 20:11:57 +0000 Commit: Warner Losh CommitDate: 2023-02-02 20:11:57 +0000 kboot: Parse memory usage To properly size segments, we have to know how much memory we have in the system, as well as how much this process can allocate. Due to our inability to overcommit, we need to know how much memory is available. commit_limit is the grand total allowed. committed_as is the current memory used. mem_avail is what Linux tells us is available. Find these from /proc/meminfo. We'll use them later to allocate the biggest possible segment sizes, but for now print the raw numbers. Sponsored by: Netflix Reviewed by: kevans (earlier version) Differential Revision: https://reviews.freebsd.org/D38267 --- stand/kboot/main.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 7144f081e4dd..0076db13b589 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -50,6 +50,45 @@ static void kboot_zfs_probe(void); extern int command_fdt_internal(int argc, char *argv[]); +static uint64_t commit_limit; +static uint64_t committed_as; +static uint64_t mem_avail; + +static void +memory_limits(void) +{ + int fd; + char buf[128]; + + /* + * To properly size the slabs, we need to find how much memory we can + * commit to using. commit_limit is the max, while commited_as is the + * current total. We can use these later to allocate the largetst amount + * of memory possible so we can support larger ram disks than we could + * by using fixed segment sizes. We also grab the memory available so + * we don't use more than 49% of that. + */ + fd = open("host:/proc/meminfo", O_RDONLY); + if (fd != -1) { + while (fgetstr(buf, sizeof(buf), fd) > 0) { + if (strncmp(buf, "MemAvailable:", 13) == 0) { + mem_avail = strtoll(buf + 13, NULL, 0); + mem_avail <<= 10; /* Units are kB */ + } else if (strncmp(buf, "CommitLimit:", 12) == 0) { + commit_limit = strtoll(buf + 13, NULL, 0); + commit_limit <<= 10; /* Units are kB */ + } else if (strncmp(buf, "Committed_AS:", 13) == 0) { + committed_as = strtoll(buf + 14, NULL, 0); + committed_as <<= 10; /* Units are kB */ + } + } + } + printf("Commit limit: %lld Committed bytes %lld Available %lld\n", + (long long)commit_limit, (long long)committed_as, + (long long)mem_avail); + close(fd); +} + /* * NB: getdev should likely be identical to this most places, except maybe * we should move to storing the length of the platform devdesc. @@ -217,6 +256,8 @@ main(int argc, const char **argv) setenv("LINES", "24", 1); setenv("usefdt", "1", 1); + memory_limits(); + /* * Find acpi, if it exists */ From nobody Thu Feb 2 20:39:40 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P79d845qcz3kYQj; Thu, 2 Feb 2023 20: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 4P79d83WQkz4NRC; Thu, 2 Feb 2023 20: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=1675370380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KbBeYwOyEJEg88qP0iuTjJ91wQqfZ/am42wEttf/QS8=; b=AsJTLAiiMTpivy0uLFtZS0E8qzKGZ149Xx+pSaTv4iQc3+dR9GaEVgozxnucWaiaNlA2i9 yLcDRkw9EebG2HmqZcHGz70RhR5hasYt9MIE74nKIO+i03ys6dMHRdVW3LZNjRSCGwAJGw qN45753+1q6vQXszf74J8iltruvIBcLMdTeJW3i0nOsUoDrr6v32wRH1aVfhRgVmIMUjAA 2t/tSkVFtR7cdvGX1QCqqVKYk6WSv5/Ak0cs4vnUFnGDZiHPB2eCEXOOfaezTIewcEb5yn PbSHZ3zwZW5MocIBXQrNaoV7hL8uBaxHsxthBiuZ8Mh5PGcxk5wH4MLTjuE+4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675370380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KbBeYwOyEJEg88qP0iuTjJ91wQqfZ/am42wEttf/QS8=; b=v2hq89ja9gpWew5SdK+SmmMw/ssRa6Vw2YvdRDhhj/M4O1ut58dNTj5Cx9Rs11sQxw3PHe QYihBS45drlcPiVJlaR02rj/51ztq/sWOSnrcCs6r3dMkdjDoYMUuors9jioc1xz4wkg45 NsxJAtQGeFqum240qCOgKTzejabLRsDf813Uev41Xpq3wRVnXGUScqWuXe8ZB/pQ2joDbA O9Ffk9gV7sBMh2/ZyXQxGldf/N1KN1kdcYoX972gy4/UGrM2lD1WbTJRpFTq1nz/SrW7Es kd3JLD0KJXWtYUItX27g8YwIHDifJQWm3piVQmmgDI0i1s+FWlHi2qX0J2Ukvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675370380; a=rsa-sha256; cv=none; b=Hg0TdjkoufoBmOMhQ7jTItzqD+vGhn4be4Izj+sD16aWpst7+gO7e2CnyU8Eaj3CeISvQg 0GDoOpum2/DMzl87+7DnzfBgK0F8jyRAP4RBUVGQK6GxGqVhsptVViBj47Utk9OJMD6UCv KMlOx989cqFQ8OKuAdebLxEC+s9zdvMqsQaHxZHWSAzv5mRrl/9IpobdAifwG9mnohKPMC CQaaK3QAcMPpfhoDeUrFgLGxnWfGb8+jNtrzFOi9ryzhBUZNUYGSVDIrvxe/u5S0hYLAbU /cOB7aFKsaSvipi0t/Kd7+pOM2nPX79AOU3Q3dB143oSuntfM6DDbJ3ID3MshA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P79d82XQFz17C3; Thu, 2 Feb 2023 20:39:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312Kdei0078660; Thu, 2 Feb 2023 20:39:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312KdedK078659; Thu, 2 Feb 2023 20:39:40 GMT (envelope-from git) Date: Thu, 2 Feb 2023 20:39:40 GMT Message-Id: <202302022039.312KdedK078659@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: fb53e7adaf5b - main - tarfs: Fix 32-bit build. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb53e7adaf5b45ca08f650babc40077deff5e9af Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=fb53e7adaf5b45ca08f650babc40077deff5e9af commit fb53e7adaf5b45ca08f650babc40077deff5e9af Author: Dag-Erling Smørgrav AuthorDate: 2023-02-02 20:36:01 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-02 20:39:10 +0000 tarfs: Fix 32-bit build. Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. --- sys/fs/tarfs/tarfs_subr.c | 6 +++--- sys/fs/tarfs/tarfs_vfsops.c | 4 ++-- sys/fs/tarfs/tarfs_vnops.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/fs/tarfs/tarfs_subr.c b/sys/fs/tarfs/tarfs_subr.c index d4bd4e702e08..0aec225dead9 100644 --- a/sys/fs/tarfs/tarfs_subr.c +++ b/sys/fs/tarfs/tarfs_subr.c @@ -137,7 +137,7 @@ tarfs_print_node(struct tarfs_node *tnp) printf("\tvnode %p\n", tnp->vnode); printf("\ttmp %p\n", tnp->tmp); printf("\ttype %d\n", tnp->type); - printf("\tino %lu\n", tnp->ino); + printf("\tino %lu\n", (unsigned long)tnp->ino); printf("\tsize %zu\n", tnp->size); printf("\tname %s\n", (tnp->name == NULL) ? "<>" : tnp->name); @@ -146,7 +146,7 @@ tarfs_print_node(struct tarfs_node *tnp) printf("\tgid %d\n", tnp->gid); printf("\tmode o%o\n", tnp->mode); printf("\tflags %u\n", tnp->flags); - printf("\tnlink %lu\n", tnp->nlink); + printf("\tnlink %lu\n", (unsigned long)tnp->nlink); printf("\tatime %d\n", (int)tnp->atime.tv_sec); printf("\tmtime %d\n", (int)tnp->mtime.tv_sec); printf("\tctime %d\n", (int)tnp->ctime.tv_sec); @@ -162,7 +162,7 @@ tarfs_print_node(struct tarfs_node *tnp) break; case VBLK: case VCHR: - printf("\trdev %lu\n", tnp->rdev); + printf("\trdev %lu\n", (unsigned long)tnp->rdev); break; default: break; diff --git a/sys/fs/tarfs/tarfs_vfsops.c b/sys/fs/tarfs/tarfs_vfsops.c index fe135116c985..a45f005a2bd1 100644 --- a/sys/fs/tarfs/tarfs_vfsops.c +++ b/sys/fs/tarfs/tarfs_vfsops.c @@ -522,8 +522,8 @@ again: /* extended header? */ if (hdrp->typeflag[0] == TAR_TYPE_GLOBAL_EXTHDR) { - printf("%s: unsupported global extended header at %zd\n", - __func__, TARFS_BLOCKSIZE * (blknum - 1)); + printf("%s: unsupported global extended header at %zu\n", + __func__, (size_t)(TARFS_BLOCKSIZE * (blknum - 1))); error = EFTYPE; goto bad; } diff --git a/sys/fs/tarfs/tarfs_vnops.c b/sys/fs/tarfs/tarfs_vnops.c index a40499982229..a70a077424b4 100644 --- a/sys/fs/tarfs/tarfs_vnops.c +++ b/sys/fs/tarfs/tarfs_vnops.c @@ -255,7 +255,7 @@ tarfs_readdir(struct vop_readdir_args *ap) struct vnode *vp; struct uio *uio; int *eofflag; - u_long **cookies; + uint64_t **cookies; int *ncookies; off_t off; u_int idx, ndirents; @@ -542,7 +542,7 @@ tarfs_print(struct vop_print_args *ap) tnp = VP_TO_TARFS_NODE(vp); printf("tag tarfs, tarfs_node %p, links %lu\n", - tnp, tnp->nlink); + tnp, (unsigned long)tnp->nlink); printf("\tmode 0%o, owner %d, group %d, size %zd\n", tnp->mode, tnp->uid, tnp->gid, tnp->size); From nobody Thu Feb 2 21:00:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7B5m5hyWz3kZXc for ; Thu, 2 Feb 2023 21:01:00 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7B5m0rnwz3CDn for ; Thu, 2 Feb 2023 21:01:00 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f50.google.com with SMTP id m7so2869807wru.8 for ; Thu, 02 Feb 2023 13:01:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cOPccTmJBPWYMWyYcjL0vd/g/3abasYNhmnkW55Esns=; b=GfF4zRYIxAMIpjKxEAFZzcmYymjWQdRhZTwACohavIa4XmEschmhoCMZ0OQ0gji0Am X5twXsmyI7pjSTQB3KFrijdpq49fbUJu5b524qbMzV3tjNjBhC4r0mB9xdcaTk4n4r8M 9FOp2G7f/IrYvX3QlWfffm8Fmg01AGQWW3hwLYRIpd8/a3r7eV0COZBRf32VtZIugCMV +iLsm7uyMZUH78eOwfkZnxiy9mfb92L5kxOy5+Hk8v0khSQcC2uNGbJpKC8oBc4Hxfm+ Ffe4MM6PT430Peujdql78qRerJ8Dx5INLKnxlNN3MuxLnDG3j5ovwuu1GyRPnCpVd0bo w2Fw== X-Gm-Message-State: AO0yUKWcl1w2T8Sw6uPbvkj1Ldui0x4QpuQ+XpouY7PNCN1uBn5sj3UI n/2mtGoIBjA/jvrpo2TzkmgSzA== X-Google-Smtp-Source: AK7set8EGCuB48KNCJidZMHaO0A44hnd3JJQao92w1HUTzXgcQpE7+YbEKaTS3vkqEw78GjshGutmQ== X-Received: by 2002:a5d:44d1:0:b0:2bf:bc0a:361d with SMTP id z17-20020a5d44d1000000b002bfbc0a361dmr6210996wrr.31.1675371658591; Thu, 02 Feb 2023 13:00:58 -0800 (PST) Received: from smtpclient.apple (global-5-143.n-2.net.cam.ac.uk. [131.111.5.143]) by smtp.gmail.com with ESMTPSA id bj24-20020a0560001e1800b002bded7da2b8sm364891wrb.102.2023.02.02.13.00.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 Feb 2023 13:00:58 -0800 (PST) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: f29942229d24 - main - Read the arm64 far early in el0 exceptions From: Jessica Clarke In-Reply-To: <202302021648.312GmSXI049747@gitrepo.freebsd.org> Date: Thu, 2 Feb 2023 21:00:57 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <0E3AAA1E-0B3E-4C4F-A425-CEE13BAE8723@freebsd.org> References: <202302021648.312GmSXI049747@gitrepo.freebsd.org> To: Andrew Turner X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4P7B5m0rnwz3CDn X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 2 Feb 2023, at 16:48, Andrew Turner wrote: >=20 > The branch main has been updated by andrew: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Df29942229d24ebb8b98f8c5d02f3c863= 2648007e >=20 > commit f29942229d24ebb8b98f8c5d02f3c8632648007e > Author: Andrew Turner > AuthorDate: 2023-01-25 17:47:39 +0000 > Commit: Andrew Turner > CommitDate: 2023-02-02 16:43:15 +0000 >=20 > Read the arm64 far early in el0 exceptions >=20 > When handling userspace exceptions on arm64 we need to dereference = the > current thread pointer. If this is being promoted/demoted there is = a > small window where it will cause another exception to be hit. As = this > second exception will set the fault address register we will read = the > incorrect value in the userspace exception handler. >=20 > Fix this be always reading the fault address before dereferencing = the > current thread pointer. >=20 > Reported by: olivier@ > Reviewed by: markj > Sponsored by: Arm Ltd > Differential Revision: https://reviews.freebsd.org/D38196 > --- > sys/arm64/arm64/exception.S | 15 +++++++++++++++ > sys/arm64/arm64/trap.c | 26 +++++++------------------- > 2 files changed, 22 insertions(+), 19 deletions(-) >=20 > diff --git a/sys/arm64/arm64/exception.S b/sys/arm64/arm64/exception.S > index 4a74358afeb9..55bac5e5228a 100644 > --- a/sys/arm64/arm64/exception.S > +++ b/sys/arm64/arm64/exception.S > @@ -212,10 +212,25 @@ ENTRY(handle_el1h_irq) > END(handle_el1h_irq) >=20 > ENTRY(handle_el0_sync) > + /* > + * Read the fault address early. The current thread structure = may > + * be transiently unmapped if it is part of a memory range being > + * promoted or demoted to/from a superpage. As this involves a > + * break-before-make sequence there is a short period of time = where > + * an access will raise an exception. If this happens the fault > + * address will be changed to the kernel address so a later read = of > + * far_el1 will give the wrong value. > + * > + * The earliest memory access that could trigger a fault is in a > + * function called by the save_registers macro so this is the = latest > + * we can read the userspace value. > + */ > + mrs x19, far_el1 > save_registers 0 > ldr x0, [x18, #PC_CURTHREAD] > mov x1, sp > str x1, [x0, #TD_FRAME] > + mov x2, x19 > bl do_el0_sync > do_ast > restore_registers 0 > diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c > index 4e54a06548cc..1b33d7aa60c4 100644 > --- a/sys/arm64/arm64/trap.c > +++ b/sys/arm64/arm64/trap.c > @@ -76,7 +76,7 @@ __FBSDID("$FreeBSD$"); >=20 > /* Called from exception.S */ > void do_el1h_sync(struct thread *, struct trapframe *); This did not address my feedback regarding EL1 debug exceptions also clobbering FAR. Jess > -void do_el0_sync(struct thread *, struct trapframe *); > +void do_el0_sync(struct thread *, struct trapframe *, uint64_t far); > void do_el0_error(struct trapframe *); > void do_serror(struct trapframe *); > void unhandled_exception(struct trapframe *); > @@ -559,11 +559,11 @@ do_el1h_sync(struct thread *td, struct trapframe = *frame) > } >=20 > void > -do_el0_sync(struct thread *td, struct trapframe *frame) > +do_el0_sync(struct thread *td, struct trapframe *frame, uint64_t far) > { > pcpu_bp_harden bp_harden; > uint32_t exception; > - uint64_t esr, far; > + uint64_t esr; > int dfsc; >=20 > /* Check we have a sane environment when entering from userland = */ > @@ -573,27 +573,15 @@ do_el0_sync(struct thread *td, struct trapframe = *frame) >=20 > esr =3D frame->tf_esr; > exception =3D ESR_ELx_EXCEPTION(esr); > - switch (exception) { > - case EXCP_INSN_ABORT_L: > - far =3D READ_SPECIALREG(far_el1); > - > + if (exception =3D=3D EXCP_INSN_ABORT_L && far > = VM_MAXUSER_ADDRESS) { > /* > * Userspace may be trying to train the branch predictor = to > * attack the kernel. If we are on a CPU affected by = this > * call the handler to clear the branch predictor state. > */ > - if (far > VM_MAXUSER_ADDRESS) { > - bp_harden =3D PCPU_GET(bp_harden); > - if (bp_harden !=3D NULL) > - bp_harden(); > - } > - break; > - case EXCP_UNKNOWN: > - case EXCP_DATA_ABORT_L: > - case EXCP_DATA_ABORT: > - case EXCP_WATCHPT_EL0: > - far =3D READ_SPECIALREG(far_el1); > - break; > + bp_harden =3D PCPU_GET(bp_harden); > + if (bp_harden !=3D NULL) > + bp_harden(); > } > intr_enable(); >=20 From nobody Thu Feb 2 21:11:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7BLK0PnWz3kb55; Thu, 2 Feb 2023 21:11: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 4P7BLJ711Cz3DNv; Thu, 2 Feb 2023 21:11:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675372313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XTXDWnjpCjtMtLTkP2cyraEcT9S6e2HrysOgO+MUigY=; b=YOisT6EB7+7jKbvte6yiyZtlS4ZxNCwKQJRol+pUvvRdutRCZLgrIqLzSlXpyGpEy/dXid YB4Tp2UQMaXnQK1JKHzAT0piwVY0r1I5f1t2DfKMBEZ0uovMd2TohfZFZ9MH54/sXKCF6z TTTOMlLN9q/Hbv6z3L7whkY5XJW8yZBCZmmTlJGwlxlPam+SY/eQkJyJ7+kdDqfnKxisQB x9/uRoD5SWESeCJJ1gv7pCVal1SdZgaSK5tEIpVW3PCz85P1bvoI6GQBE9HNS6q3x0oIUD XVhvafrAnF2lEto2Kf2ujMzvjkL+J290QoLzxA6g4vg/7UlILGNNNZvteqdLIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675372313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XTXDWnjpCjtMtLTkP2cyraEcT9S6e2HrysOgO+MUigY=; b=Xq8vKAb2c/R3q4X2LfQciqOPD4BHuNpniM8XeaU8Sbn8u/GP+gJ0pcK5x1/PGip6fUF/vS X1EfWJrtCZdgRkoIPi2JNKWXJGkc5TUi56/iVkoy7SRByuBI6qwT0y9ZOKso3ucxVcm4QV KwelR7A/J65elMDe8+ujtto0MGbqbrLkv+Y5vfWshMmiM9fbjjLFEYlGdyDwcoUl7G71+v qaOTeeouG5LmHRZB7VqbDTs+A4amUqtMatqxRM446d1lrmjv5mXS4qkI45n6xggSRWrlSK n/crI8x+IOiBg2KrfhSMb2G2g6o+Cd/WZ5tzGrtm6lYDJ+E8hZ1UILk7RIJtjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675372313; a=rsa-sha256; cv=none; b=jF4jtp10HbyhJfreCbaBmDj8AIwLG82d7ca3VpfT8pYst+R5vTW+Ediq/zN8ZPnJEyEy5E 85boxLyqJYJ1GLIM9BTooW1NJ4k4zdcELQi9+B49+I15Qo4JDNr6d1r9EA8B93LM25jrCo qx46TXzAL6U0zxRoMm8nBX+TyHbFT9wCtQE/HtMQLEWyM4//26J77UGGZg0ZeYVh0pg7Tu mwFUHnE18lSxfq0vaTWB+RIa8k6JlLdzJ+hUAKGMLIBthswCDRwCFmuK+tJkRFHgpfxjrX lo3mBNiZO/wGbhdetLsR+VJTb2Eggz16UxAo61R4T5PNHUsURXYelwiTbKF8Cg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7BLJ5ykFz18JK; Thu, 2 Feb 2023 21:11:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312LBq3N033942; Thu, 2 Feb 2023 21:11:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312LBqAc033941; Thu, 2 Feb 2023 21:11:52 GMT (envelope-from git) Date: Thu, 2 Feb 2023 21:11:52 GMT Message-Id: <202302022111.312LBqAc033941@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 63c7a483e552 - main - kboot: Assert errno is negative List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 63c7a483e55274a824e564e308215cc0f0aee6aa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=63c7a483e55274a824e564e308215cc0f0aee6aa commit 63c7a483e55274a824e564e308215cc0f0aee6aa Author: Warner Losh AuthorDate: 2023-02-02 21:08:03 +0000 Commit: Warner Losh CommitDate: 2023-02-02 21:09:55 +0000 kboot: Assert errno is negative When converting from a Linux error to a FreeBSD errno, assert that the value passed in is negative, as is Linux's custom. Suggested by: brooks Sponsored by: Netflix Reviewed by: tsoome, brooks Differential Revision: https://reviews.freebsd.org/D38357 --- stand/kboot/host_syscall.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index 75394afcde6c..64288f48e6f0 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -29,6 +29,7 @@ #define _HOST_SYSCALL_H #include +#include long host_syscall(int number, ...); @@ -214,6 +215,12 @@ ssize_t host_write(int fd, const void *buf, size_t nbyte); * function where -1 to -34 are translated to 1 to 34 and all others are EINVAL. * Pass the linux return value, which will be the -errno. */ -#define host_to_stand_errno(e) ((-e) > 34 ? EINVAL : (-e)) +static __inline int +host_to_stand_errno(int e) +{ + assert(e < 0); + + return((-e) > 34 ? EINVAL : (-e)); +} #endif From nobody Thu Feb 2 21:11:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7BLL1TT2z3kb18; Thu, 2 Feb 2023 21:11: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 4P7BLL0Thnz3DGQ; Thu, 2 Feb 2023 21:11:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675372314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rRhezI3ZelGzc2rvP2zf0cVCFBreZDczEvF+I3rQ17c=; b=coIOIi3QhI/mW+w1zy5p7XsSM8OU9VIV8qrrftcmBgPJI6pkhdk5yZbp6sNtZczWKgNny5 Iwts0WdEUv8nfrttwH0OwN6K+nzO6c5IRIDbwu2A6aaGoA7M8/Jff4ptQ80H/0GZ75oHyH 5TwFRbmcrRCUk+dyKETOJg3g3ABV7fHFb6xXRZUGCqniusRtKuhmblmO/f20j/25MoXbvO kKI9ujFsu2Us6Zh4kOOQXArY29+waTxlpkQC1yk88dMTytO5MwTLC1WnxuNM7DrcOF5qHH 9g6TlzxcKzOi9EsmmjRYPgwiJUffcLvAo0BHX8Bmlo2LG3RoksC2u0JSun4ubQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675372314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rRhezI3ZelGzc2rvP2zf0cVCFBreZDczEvF+I3rQ17c=; b=Y4H/0q7noySeCn4D3P7GGZRw/NpnHXsx4gj73lk7P9wvixEs5kmUO/KF2sn0Iu62X0Cy6n zVGGhQkTn6Dp5frIU6gcO37E6YU5luyWyQqT3dvn4iJowE0EMpvUXf22G/b6JLFH+g30Bp p+WSeipSi79QQJSAb/pFgNF76dDTfFCUa3oB/lSSYEJnyswsRmwJCX9wNcDQ0gYw35FIwG paTrp8r9HursLanSHb+Iozu3yup+Vj/aq/JMq+X23JybEUOQK1b9tI/IOheThMmMo+9kY5 WAB4jHuRos5PgvCd9IHvQGyM54IDMNEzSyIELE+LS+mnl496iZfKR/+SgLnG2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675372314; a=rsa-sha256; cv=none; b=lskTgVK7jCWKZtZzH2xXIPmOVdj/UFRfkAMcwW0gV083/WIOHKEpBZYMWwIDVYysCmoR3g KfGRDshJ94WltJnYz9SFd8WdinFcMcP48ja+qscOr2ZT5SWR/K0UkV85GxONI2pxmTuMPh tuKLs/KrtGZUvqGv6qcmSOscDzLyfylIAqfIfiDcls10ee1GYflEHxLvBNyFIfXty83Ij1 WVr51wwht9nhKdZk6sbMSJoW2CPP33n6pINW+mOL6fgOpS53l+LmjeOWv+biNZlJixGhT/ WJfY2eOt53MSU+vOVHda13F9k8ePqza60KOxymomgGdaT7MHNAwMCwHEdPY4Ag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7BLK6cyBz18JM; Thu, 2 Feb 2023 21:11:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312LBrv8033968; Thu, 2 Feb 2023 21:11:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312LBrbH033967; Thu, 2 Feb 2023 21:11:53 GMT (envelope-from git) Date: Thu, 2 Feb 2023 21:11:53 GMT Message-Id: <202302022111.312LBrbH033967@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: ab926ba4c3a5 - main - kboot: Remove kboot_loadaddr List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ab926ba4c3a59f1f43a9266046cb1e0903171aa6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ab926ba4c3a59f1f43a9266046cb1e0903171aa6 commit ab926ba4c3a59f1f43a9266046cb1e0903171aa6 Author: Warner Losh AuthorDate: 2023-02-02 21:08:15 +0000 Commit: Warner Losh CommitDate: 2023-02-02 21:09:55 +0000 kboot: Remove kboot_loadaddr Turns out that the loadaddr interface is not sufficiently expressive to do the loading we need to do. Instead, we'll emulate some of its features with inline math in copyin/copyout. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38260 --- stand/kboot/main.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 0076db13b589..e8320503647f 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -44,7 +44,6 @@ ssize_t kboot_copyin(const void *src, vm_offset_t dest, const size_t len); ssize_t kboot_copyout(vm_offset_t src, void *dest, const size_t len); ssize_t kboot_readin(readin_handle_t fd, vm_offset_t dest, const size_t len); int kboot_autoload(void); -uint64_t kboot_loadaddr(u_int type, void *data, uint64_t addr); static void kboot_kseg_get(int *nseg, void **ptr); static void kboot_zfs_probe(void); @@ -198,7 +197,6 @@ main(int argc, const char **argv) archsw.arch_copyout = kboot_copyout; archsw.arch_readin = kboot_readin; archsw.arch_autoload = kboot_autoload; - archsw.arch_loadaddr = kboot_loadaddr; archsw.arch_kexec_kseg_get = kboot_kseg_get; archsw.arch_zfs_probe = kboot_zfs_probe; @@ -417,18 +415,6 @@ kboot_autoload(void) return (0); } -uint64_t -kboot_loadaddr(u_int type, void *data, uint64_t addr) -{ - - if (type == LOAD_ELF) - addr = roundup(addr, PAGE_SIZE); - else - addr += kboot_get_phys_load_segment(); - - return (addr); -} - static void kboot_kseg_get(int *nseg, void **ptr) { From nobody Thu Feb 2 21:44:19 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7C3l3TPZz3kcVt; Thu, 2 Feb 2023 21:44: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 4P7C3l2gHvz3H0g; Thu, 2 Feb 2023 21:44:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675374259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4npJndY9pG8VwbPjSMLIqkdOYcddWWUFTWtPzjLqFq0=; b=rWyEnovg9rYnXC9+u6Qd+VJLpCJSHTx59iHRQAPh7W4zHlLXbf40Rjb7o6YuInpztqEfvg lD3JJnim0uBdy8MmawrlzVgcuwnVMsVtqq7QWQc8ClgnFDJfwPBJmRphdOBIkHsdYcezvu CXmiS/IJNBEhEPa445NiPdeg80woUL2Tg5sO8U/+pcmvXu1vjuOvOCHN4tS4UuTf1QkR4T yNhqSoCyjhy6ePJqkTwzGicXRY+nOozlq4F2wL2jepOitdh+FU6yBj0B4jpabxeJl2MAq0 TUfgSLo5QUjqlQsKhLNO8quyzTfi5EsMfU6TsCZ3HipZPiZ3s2CkNcOB8QNHfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675374259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4npJndY9pG8VwbPjSMLIqkdOYcddWWUFTWtPzjLqFq0=; b=JfzLgEzuhTkFmtGjKH0qW60FTNXQ+O7EBdaQdvns2zYfxFCYvknHLU8iPn/hy9qVFTCMVG Lteaxwv3YFuJ1zcU1Fn3YVxcZz2+rJ5olEx1VHitWY/fJ9+xSRMpQOAwX7sp4InaA6m9Hw BTVFfaa4eh585RWagWRwXSEjewtM6bDs8N1PkLM1ZtthQGEDHGjfYfOHLtEdfa+bwTuSfb 8SplkdTcfV4zKWX0Nk6hrzHHMt+9qUYirzJtR+RhvTarKhtAgs4auZd7Ez0ssrbmM97L41 fEL3BfTnFltiNeLCcEXjbHEkjz4wnl1XTLEUuDQRVCOpk8k6PziFqcbRvu+VXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675374259; a=rsa-sha256; cv=none; b=H8Vfv5G5mhOlKRQTjkqhb9IZ+E/BT7mbenlQqGNrgGcy5TmFxfWuzmdoMPkiagfEBq15r8 K3uxqTlp1jURbtMTiz0DQp8jpqiP3evvdtDeb9dL1P1nYfl4oN4zkh52Z5b2xkQt/FVdSI 2kWXLy9JZBaghH98TIjW+YgOtpmA45DS3h2LfDox9HW5RUwPp6ZaAdIT/BXqhfOKAgTqRv 6rOfpoqKcdbchZHSVbhWLnlM5uh4tcHYtR8clqp/Ucazkt204tzD+TSWU4Mi3icHno9gZE YPoLCZaZ2dRQnCcmJfvcUHDYNWJQRIHE+kykurfeUDcFwsr1NI7N5fG/WyDrDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7C3l1Fkmz19MX; Thu, 2 Feb 2023 21:44:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312LiJ2G077352; Thu, 2 Feb 2023 21:44:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312LiJiF077351; Thu, 2 Feb 2023 21:44:19 GMT (envelope-from git) Date: Thu, 2 Feb 2023 21:44:19 GMT Message-Id: <202302022144.312LiJiF077351@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 7b2f1a7fe944 - main - sctp: improve delivery of stream reset notifications List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b2f1a7fe9445ea318f34bd3db971076b61ef831 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=7b2f1a7fe9445ea318f34bd3db971076b61ef831 commit 7b2f1a7fe9445ea318f34bd3db971076b61ef831 Author: Michael Tuexen AuthorDate: 2023-02-02 13:46:10 +0000 Commit: Michael Tuexen CommitDate: 2023-02-02 13:46:10 +0000 sctp: improve delivery of stream reset notifications Two functions are not called via sctp_ulp_notify() and therefore need additional checks when being called. Reported by: syzbot+eb888d3a5a6c54413de5@syzkaller.appspotmail.com MFC after: 3 days --- sys/netinet/sctputil.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/sys/netinet/sctputil.c b/sys/netinet/sctputil.c index 677040cd1d31..f4b6ca8c0836 100644 --- a/sys/netinet/sctputil.c +++ b/sys/netinet/sctputil.c @@ -3815,10 +3815,17 @@ sctp_notify_stream_reset_add(struct sctp_tcb *stcb, uint16_t numberin, uint16_t struct sctp_stream_change_event *stradd; if ((stcb == NULL) || - (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_STREAM_CHANGEEVNT))) { + (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) || + (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) || + (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET)) { + /* If the socket is gone we are out of here. */ + return; + } + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_STREAM_CHANGEEVNT)) { /* event not enabled */ return; } + if ((stcb->asoc.peer_req_out) && flag) { /* Peer made the request, don't tell the local user */ stcb->asoc.peer_req_out = 0; @@ -3871,10 +3878,17 @@ sctp_notify_stream_reset_tsn(struct sctp_tcb *stcb, uint32_t sending_tsn, uint32 struct sctp_assoc_reset_event *strasoc; if ((stcb == NULL) || - (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_ASSOC_RESETEVNT))) { + (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) || + (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) || + (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET)) { + /* If the socket is gone we are out of here. */ + return; + } + if (sctp_stcb_is_feature_off(stcb->sctp_ep, stcb, SCTP_PCB_FLAGS_ASSOC_RESETEVNT)) { /* event not enabled */ return; } + m_notify = sctp_get_mbuf_for_msg(sizeof(struct sctp_assoc_reset_event), 0, M_NOWAIT, 1, MT_DATA); if (m_notify == NULL) /* no space left */ From nobody Thu Feb 2 22:26:30 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7D0Q6DL9z3kdZd; Thu, 2 Feb 2023 22:26: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 4P7D0Q5kZHz3KT5; Thu, 2 Feb 2023 22:26:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675376790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IBpPZ1F2o7OKtfKaDaDPk4oXmxXp9sMlFMIXKJ92qgw=; b=WOZxox/4X0YkEF6l4JA7963indG+DxZWSQzFg5/0PynB4xcRMooTa/QeKS8L1jAapEgErt Z2AnjM6ofVjp588teC7jwSA+3Ml5r8vmZAr/2EpvgArb4Jw8vK+lqBITkhdrUVNC3lwrPs PWTnFNub16qdcXBo+HDjJtGTzXzxxqWW+eHJ/xwZ38m4X42e/FIJWufJMlkMCkMLgqmQKL c09uXUi4ZmkSCdMS1EpAI0pE7pez/YNCY3+hsErrBHUo3maJ16Etssd1I8fhW+C45ypNGk AW0BKyqM0jTaHbes1PaFDZPlRfglURfL1NAaXvoTnXWxmf8lX2qDkC1Cy0mdgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675376790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IBpPZ1F2o7OKtfKaDaDPk4oXmxXp9sMlFMIXKJ92qgw=; b=W/RSttoEQxAWuR2iG6RU6Rw1QnX9LSUWRbtH/K9yRrZ2V417iwkAm7N93d8JmJ8470rxst 04OxrJmGdsJ6vWxv8EqrgkbmKifeqOySv3Td3rzzYjWaXF3ot+kXPT9nvasOV8HCuFQqIA GRS/TLTyx5S2t7FptzuaBIM4OZ4mEadtOxqCpqDCCL1W0h51ZjmI/dcb8HzbeNQ4RLfF3Q Ensy/7LZrIQDQGYA5woI9BqpHR10lKvtaMxJfY+9ZhSwtgCH1W22nB6mOW3zlKQqGH+N5+ b/VuxTZRgWoxEd6ktkA79PAI8/S2RkttTW5OPrI1sFG791KB814b3EKh7wfOuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675376790; a=rsa-sha256; cv=none; b=vSdqxDNpUDAKUYVRNglZJV8SkoVmsNxmR4eDHa8fo3medTNxBWoOsoYgHq1ZdKllwEho70 Ai2xY/KKy+X+vWc0E1bl+W2RurAgugmdQjMNGcT2YowDkbkNjw6qWQXWWRH/LsKekaR6B3 +XVNSxUskW0mzr32tNpx1NZMjR3dI0TzoBSh3DLNrmZTuEZ7mQixmkcT3SGIE40AbBUJfD +6Xd/jcjwjlOaaYoHVQbG2ZA+fvfWca/6kG/X8rLjJqaYr+MknTEDjZg9GG+tS/AK3uvxT +ZDhc7KD+/gYBFtzueww3ghFJan0mBkJMTNxCRitJ0oMMvbc/5QS8zPEttBWuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7D0Q4jSGz19tr; Thu, 2 Feb 2023 22:26:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312MQUTT034676; Thu, 2 Feb 2023 22:26:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312MQUeV034675; Thu, 2 Feb 2023 22:26:30 GMT (envelope-from git) Date: Thu, 2 Feb 2023 22:26:30 GMT Message-Id: <202302022226.312MQUeV034675@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: cf93505e8de4 - main - tarfs: Fix non-ZSTDIO build. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cf93505e8de402c6ebefed61299a5f40d59ec550 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=cf93505e8de402c6ebefed61299a5f40d59ec550 commit cf93505e8de402c6ebefed61299a5f40d59ec550 Author: Dag-Erling Smørgrav AuthorDate: 2023-02-02 22:23:52 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-02 22:25:34 +0000 tarfs: Fix non-ZSTDIO build. Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. --- sys/fs/tarfs/tarfs_io.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/fs/tarfs/tarfs_io.c b/sys/fs/tarfs/tarfs_io.c index b957ac11ff51..87885fbb329c 100644 --- a/sys/fs/tarfs/tarfs_io.c +++ b/sys/fs/tarfs/tarfs_io.c @@ -517,9 +517,11 @@ fail_unlocked: static int tarfs_zread(struct vop_read_args *ap) { +#if defined(TARFS_DEBUG) || defined(ZSTDIO) struct vnode *vp = ap->a_vp; struct tarfs_zio *zio = vp->v_data; struct uio *uiop = ap->a_uio; +#endif #ifdef TARFS_DEBUG off_t off = uiop->uio_offset; size_t len = uiop->uio_resid; @@ -640,7 +642,9 @@ int tarfs_io_init(struct tarfs_mount *tmp) { uint8_t *block; +#ifdef ZSTDIO struct tarfs_zio *zio = NULL; +#endif ssize_t res; int error = 0; From nobody Thu Feb 2 23:04:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7DrW1w9fz3kh6H; Thu, 2 Feb 2023 23:04:43 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7DrW1K7sz3NP7; Thu, 2 Feb 2023 23:04:43 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675379083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=eKjM883WbJRhP3w+fMBqpceexGVOnPrEotIy+jfCiJY=; b=mIvMUDlZkZksRo2Xj+W9590Y9mlglJ7D3fWYckTpSqbpjpq1IMmQVlVlSJ+yP88MFR+pDc 2F959hWDMbbyy7lDv5f2IhtrV4ePcuSctdNLP4kszj25dU50XgyaX5EqMXtzAQG2CjwEEg sqUxDh1xWdUHLWLq1pnxC4NgYezhm8q0Bp0ecMdOilA4c9ZNX2q5FrKyYMiewt62+DHy5p YHs5BHdLaQ0KAFJHO7lyvcJVLvzLfCKz9Bd8RoXSz4ktDmR7ZXK0j8ymQ424hLuxiJPSek F/EpjpqLBeWm0PLyKkByU0f0BJhtNh4YhxwrvkjqT0L5J9Z9vQh9NeH0+ITKew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675379083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=eKjM883WbJRhP3w+fMBqpceexGVOnPrEotIy+jfCiJY=; b=i9wsSgVKzlsA/invT4rlrvjj+6LYN41amHwZZxokoq1eKED69cqkXy5sfY8pKrItwdkviZ KUH0XCXCCLHhe5+/jB6BJnPcikSkMdwaCf3R2C+COtl/i6PWxggU0V9TSIDI1igmpo39FS H8vk3yspKcElpUu/5rH6dxcSuJiVQID2izlJt6uj+hfC3MwVgit/dlL1I++m81micUm+An m2N49e3XYXhAbZVgx4sxVN7MTTKSGC4S9lYSfDJzzE8UbYuD7aad10ClnNSs0PteZ5nTFJ p0ZwTK6NKcD0fjSDSWbCqCq9hNEsaxFWqSZPMNm6Mu7SFAkXuruNfuzpNUBcFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675379083; a=rsa-sha256; cv=none; b=nMHWvTpYO7FvaV7vOIH8p/d8xaHTQhf+jCcirEzAgXu022fAjpkTZP9KXkHNRgwtphjCqF MJkmgX869uMkEsDk3xZ78W591Hojp5PfeIlJjuzgHVAMBAsMByK2yMfys9T8JA/OfZol9k A0a9C4dlYgHDbckW3AT8kmWDYvI4zb+LFyxp47499CsFiJww/fdfx0jqAeEmkHuUFWnsHj 3Y4xY/XMJxt0KELDkVSTIxwTDJWw2kYGW2zdTGN6c5qJ8mZA83S9o72Te5s9OAZ029Fko2 WToQQs/t6wnjDMb0Rs8cfJhBOMTrkvjUDvHoHf1c30yJ4X3dPZ1McQ6CI499jw== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "tensor.andric.com", Issuer "R3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7DrV6lWwzfwH; Thu, 2 Feb 2023 23:04:42 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (longrow.home.andric.com [192.168.0.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id C7DC341B02; Fri, 3 Feb 2023 00:04:40 +0100 (CET) Content-Type: multipart/signed; boundary="Apple-Mail=_CF5C187F-D435-4014-A331-6EAC4209D028"; protocol="application/pgp-signature"; micalg=pgp-sha1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\)) Subject: Re: git: fb53e7adaf5b - main - tarfs: Fix 32-bit build. From: Dimitry Andric In-Reply-To: <202302022039.312KdedK078659@gitrepo.freebsd.org> Date: Fri, 3 Feb 2023 00:04:20 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Message-Id: <7AB1A313-19CD-4A37-BB7D-22BD384BE327@FreeBSD.org> References: <202302022039.312KdedK078659@gitrepo.freebsd.org> To: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= X-Mailer: Apple Mail (2.3731.400.51.1.1) X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_CF5C187F-D435-4014-A331-6EAC4209D028 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On 2 Feb 2023, at 21:39, Dag-Erling Sm=C3=B8rgrav = wrote: >=20 > The branch main has been updated by des: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dfb53e7adaf5b45ca08f650babc40077d= eff5e9af >=20 > commit fb53e7adaf5b45ca08f650babc40077deff5e9af > Author: Dag-Erling Sm=C3=B8rgrav > AuthorDate: 2023-02-02 20:36:01 +0000 > Commit: Dag-Erling Sm=C3=B8rgrav > CommitDate: 2023-02-02 20:39:10 +0000 >=20 > tarfs: Fix 32-bit build. >=20 > Sponsored by: Juniper Networks, Inc. > Sponsored by: Klara, Inc. ... > --- a/sys/fs/tarfs/tarfs_subr.c > +++ b/sys/fs/tarfs/tarfs_subr.c > @@ -137,7 +137,7 @@ tarfs_print_node(struct tarfs_node *tnp) > printf("\tvnode %p\n", tnp->vnode); > printf("\ttmp %p\n", tnp->tmp); > printf("\ttype %d\n", tnp->type); > - printf("\tino %lu\n", tnp->ino); > + printf("\tino %lu\n", (unsigned long)tnp->ino); > printf("\tsize %zu\n", tnp->size); > printf("\tname %s\n", > (tnp->name =3D=3D NULL) ? "<>" : tnp->name); > @@ -146,7 +146,7 @@ tarfs_print_node(struct tarfs_node *tnp) > printf("\tgid %d\n", tnp->gid); > printf("\tmode o%o\n", tnp->mode); > printf("\tflags %u\n", tnp->flags); > - printf("\tnlink %lu\n", tnp->nlink); > + printf("\tnlink %lu\n", (unsigned long)tnp->nlink); > printf("\tatime %d\n", (int)tnp->atime.tv_sec); > printf("\tmtime %d\n", (int)tnp->mtime.tv_sec); > printf("\tctime %d\n", (int)tnp->ctime.tv_sec); This be just nitpicking, but the ino and nlink fields are typically defined as int64_t and uint64_t, so these should be printed as such. Since PRId64 and PRIu64 are apparently frowned upon, the usual solution is to cast everything to intmax_t or uintmax_t, and use %j for the modifier. -Dimitry --Apple-Mail=_CF5C187F-D435-4014-A331-6EAC4209D028 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCY9xBdQAKCRCwXqMKLiCW o9p4AKDa0t6UXWjyDEUD30BNktOaHzJs/gCgwn7r2JeQ78DjRpDEWgqlhkeBzyw= =EzaJ -----END PGP SIGNATURE----- --Apple-Mail=_CF5C187F-D435-4014-A331-6EAC4209D028-- From nobody Thu Feb 2 23:06:40 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7Dtp4yF4z3kgpP; Thu, 2 Feb 2023 23:06:42 +0000 (UTC) (envelope-from des@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 4P7Dtp3vtLz3Pky; Thu, 2 Feb 2023 23:06:42 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675379202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=b6pRpNtqyDvjMtj+e7g6VXCiFzq4XgwHs+sSo8Joy00=; b=iU5/1hsl4AYXIWekZj1xhF20CCAqXv2tcGnxB/s2U6HCXIfHKc/Q8IRHIe4A8//8ADF2Dv 6NXp4LiDcq6bZJGmRWaQPddzLNVmFsykZbOins+4S0VOW/c9GnMQhtmDaqH0YtMOYs983E MAC8LSDp63puYudJCxY3ENhgfV6uMdl/ZfFeg7Ucebl/GYa0xCOzc4bjQyh0pdkhNDJ4bk qSqyZGiR4naVGQXOy8TogfTLxaicj7qvht01le9KZe3+qQA/RvkWmgM6X5vlnqvuHoFSzk sf6spCYVypG5C1BoLS+xAprV1DhOA1YNc6kvhVS1GW1UV8YmYWNFv0JpL5CinA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675379202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=b6pRpNtqyDvjMtj+e7g6VXCiFzq4XgwHs+sSo8Joy00=; b=eAj1KrqDZ1wm8SdLackIgPdaoDXvDJWBwphIfHN21gNcX/Tw1q21uNat9mbZXS7mvoqvXv Mc1+sA9py4K9fbB4krZMXQkSlCZIPEqrKYk4avxqf9LZva6xtk3BM5Fcee65ehkeYTbQ8Q n1WZmpn/4IZbWVpXYNVsjCdIJ964CK5XmoUng7ChQratlBA3sNTSg5vDuTfNfG2RRLRtMq EICts+WEGd/rgrJlhb+VuLlb5hXoj6ZGNgwNZQ6dfenDCOqh3XsmB6HbMybF6h3+eDQy2J d2cjQzUmSbNLcLXaug+uqWKQbik+3fQosh5OynksRZQI5nlR5ptd1gxdvXFLCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675379202; a=rsa-sha256; cv=none; b=eNAmmxew01igoIH6xv0Mo05+t3eBV2Q7I2J7pSNXcmo7yZgjECGTEAbQdGeeHhQQgPeqwE RS2ulzjTcFVBxylfM1Ty9CPol4n4kqoQwMhe2SNLncl0aWPIXcT8REkrFPYVNyEXm2JhlO cN6ruY0UImK777G9amUhNzrUzEMhcEJPVoBDktUINZpTj7Iam0L1fXJeq/MDC11IrksKqK nMoXuPCXv+Leqcv4db1cpbaVCk2VltS07Azvh2n/BT1gunfyVRyOk8MuLrPGSiH2fWMZbv 2uzAQy97j9g5x7TvaEVVR0GDIdJAK+D2NSfa0qJ4PyEvSvVDlNg+9XuzmqrF/g== Received: from ltc.des.no (unknown [178.232.223.163]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7Dtp2BtMzgJR; Thu, 2 Feb 2023 23:06:42 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.no (Postfix, from userid 1001) id A74439E3E1; Fri, 3 Feb 2023 00:06:40 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Dimitry Andric Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: fb53e7adaf5b - main - tarfs: Fix 32-bit build. In-Reply-To: <7AB1A313-19CD-4A37-BB7D-22BD384BE327@FreeBSD.org> (Dimitry Andric's message of "Fri, 3 Feb 2023 00:04:20 +0100") References: <202302022039.312KdedK078659@gitrepo.freebsd.org> <7AB1A313-19CD-4A37-BB7D-22BD384BE327@FreeBSD.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (berkeley-unix) Date: Fri, 03 Feb 2023 00:06:40 +0100 Message-ID: <86o7qb4qgv.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N Dimitry Andric writes: > This be just nitpicking, but the ino and nlink fields are typically > defined as int64_t and uint64_t, so these should be printed as such. > > Since PRId64 and PRIu64 are apparently frowned upon, the usual solution > is to cast everything to intmax_t or uintmax_t, and use %j for the > modifier. An even simpler solution is to remove the code since I just realized it's unused :) DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Thu Feb 2 23:08:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7DxK4rq2z3kh7J for ; Thu, 2 Feb 2023 23:08:53 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7DxK2hVtz3Pxm for ; Thu, 2 Feb 2023 23:08:53 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f41.google.com with SMTP id n13so2633006wmr.4 for ; Thu, 02 Feb 2023 15:08:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SwQdUWzEkr4oDxna+vTNVuvrvr7tFfWbILzHzj6oFN4=; b=6HNpjJscYa7ve9YeQfWi7X9clu17/hcPyCQGoijLO3uLiPNGNGscFuCLK7wvUOmcHr EnGrYpcN5iiR4sIPVupTM52NO9HLSEKT1YzeerGxPbqdp0stES+r60bLc87oDy9R4dPa pMndcTtweVeGYdqY0KyDhK9XABCTNgV5PTEe9UCHLWXOOIrrl3rmdwmTd3ZN/F8Bn6y0 0Qxq/bB1cAP6yWwVSYb9plgmzLZkhnSyHZfEhFoxkiXd2Cl3ofTpzh/W30+A2IqGuMeY fL3P1Ucqi5LwSZrFaaNGnCgeLHkinCpGrH2bvrgmwjZMp1ccChr//2zZoAdCnlxrowo2 ZC7Q== X-Gm-Message-State: AO0yUKVALwZ2Zk2R686vM9HIZE4j4XSsDvUaC6OYJhIBeEkxfqKaQWC4 KRSay/oZZi38tvhbYfygltZh4Q== X-Google-Smtp-Source: AK7set8xqXX5SeOALRxpJx+CqNMjWz7Y4Tg4pVJNn3dOENLXeu/GXWGtpQMAuywsL9Wpw/ZEmsWjKg== X-Received: by 2002:a05:600c:5006:b0:3dd:caa8:3ae2 with SMTP id n6-20020a05600c500600b003ddcaa83ae2mr7932908wmr.6.1675379331479; Thu, 02 Feb 2023 15:08:51 -0800 (PST) Received: from smtpclient.apple (global-5-143.n-2.net.cam.ac.uk. [131.111.5.143]) by smtp.gmail.com with ESMTPSA id x33-20020a05600c18a100b003dd7edcc960sm869193wmp.45.2023.02.02.15.08.50 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 Feb 2023 15:08:51 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: git: fb53e7adaf5b - main - tarfs: Fix 32-bit build. From: Jessica Clarke In-Reply-To: <7AB1A313-19CD-4A37-BB7D-22BD384BE327@FreeBSD.org> Date: Thu, 2 Feb 2023 23:08:50 +0000 Cc: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202302022039.312KdedK078659@gitrepo.freebsd.org> <7AB1A313-19CD-4A37-BB7D-22BD384BE327@FreeBSD.org> To: Dimitry Andric X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Rspamd-Queue-Id: 4P7DxK2hVtz3Pxm X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 2 Feb 2023, at 23:04, Dimitry Andric wrote: >=20 > On 2 Feb 2023, at 21:39, Dag-Erling Sm=C3=B8rgrav = wrote: >>=20 >> The branch main has been updated by des: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dfb53e7adaf5b45ca08f650babc40077d= eff5e9af >>=20 >> commit fb53e7adaf5b45ca08f650babc40077deff5e9af >> Author: Dag-Erling Sm=C3=B8rgrav >> AuthorDate: 2023-02-02 20:36:01 +0000 >> Commit: Dag-Erling Sm=C3=B8rgrav >> CommitDate: 2023-02-02 20:39:10 +0000 >>=20 >> tarfs: Fix 32-bit build. >>=20 >> Sponsored by: Juniper Networks, Inc. >> Sponsored by: Klara, Inc. > ... >> --- a/sys/fs/tarfs/tarfs_subr.c >> +++ b/sys/fs/tarfs/tarfs_subr.c >> @@ -137,7 +137,7 @@ tarfs_print_node(struct tarfs_node *tnp) >> printf("\tvnode %p\n", tnp->vnode); >> printf("\ttmp %p\n", tnp->tmp); >> printf("\ttype %d\n", tnp->type); >> - printf("\tino %lu\n", tnp->ino); >> + printf("\tino %lu\n", (unsigned long)tnp->ino); >> printf("\tsize %zu\n", tnp->size); >> printf("\tname %s\n", >> (tnp->name =3D=3D NULL) ? "<>" : tnp->name); >> @@ -146,7 +146,7 @@ tarfs_print_node(struct tarfs_node *tnp) >> printf("\tgid %d\n", tnp->gid); >> printf("\tmode o%o\n", tnp->mode); >> printf("\tflags %u\n", tnp->flags); >> - printf("\tnlink %lu\n", tnp->nlink); >> + printf("\tnlink %lu\n", (unsigned long)tnp->nlink); >> printf("\tatime %d\n", (int)tnp->atime.tv_sec); >> printf("\tmtime %d\n", (int)tnp->mtime.tv_sec); >> printf("\tctime %d\n", (int)tnp->ctime.tv_sec); >=20 > This be just nitpicking, but the ino and nlink fields are typically > defined as int64_t and uint64_t, so these should be printed as such. >=20 > Since PRId64 and PRIu64 are apparently frowned upon, the usual = solution > is to cast everything to intmax_t or uintmax_t, and use %j for the > modifier. The casts of what I assume are time_t to int are also concerning. Jess From nobody Thu Feb 2 23:16:42 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7F6L5qnPz3khSc; Thu, 2 Feb 2023 23: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 4P7F6L5DgLz3R1f; Thu, 2 Feb 2023 23: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=1675379802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4CATaIYBrofV/kmwjRQ6FqC0NZjRBim2JYnmRWSqadY=; b=Cz0szk8CLZvl+xXpxz+9afIhJ4OCT75BfmU1GJ3q5dBuC3VyvR2zV7drgy7tqJgHcCokfk sJBxisfHG1iNtGEFewPD+acyqQI4pg9zaoAX6Fxr56PJx02RvasEYzr+AtPqUopSbQvtqp Eb6N3T2KLgbGtJmVN/JkVHjAf+JyBnNW1rKeUenRxYYeIl9JSjXGtzGt056E9SwzVDu6Uv iaRbvewazliMateyBFrrywmeMriNS7/MRf9bw6gjS+tEskOeL/fm4uv6jZos0ZlcTy0Tci 0Q8TME0N/tAcZVnsOt+vLYO8zPZgFxylppbzeRARCSF6NRAaKZ6keXpw3+1rhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675379802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4CATaIYBrofV/kmwjRQ6FqC0NZjRBim2JYnmRWSqadY=; b=sxwoc282Ki9iRGjaCPWWHQW9aekaMDCpCCbu7aPVmg6xmMsHEm7CYNlpDQ73vdANF+xKwA EffTV+PqQu/5Lgx6LN3EapAj9mWI+S31W7niKQbETeCiDu7bWRSwmJTlF7PMBRJuSD7frq 4oShgTQUiEupnFt2KS71/BXJbIKyINeQasijGzvX2pcyVTHp66lKfRB4E2nkOGfXNwIaUm Vta667CqrhQ0oojKb+uBphG/hl6lJ6LptGyGaRyY81zH2PbWesF7UxnovDcDw5/5Hd6VVq 7INYC0NpwqXdmI6rS/fWPA561gvCYLNE6kkW5iPrYv9RjhFr5fluQ6/RI+36tA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675379802; a=rsa-sha256; cv=none; b=sctGS9F2sHDLciel+6fYhBjB1eMmOy5tAWlguPGSyPjIAVnWpnwMf6FaNPwwJU1UlmWLuC pTACLNwLRckHEafwwO1n27ebtV6UVUgVL+HtdTMzrHAxQ7aQv0J3S533CJyy1ZLfjyBPwj wGADl9hRyeW1Iaf9d4k3LNmmI61cm7yXLWq6QFQ7WSqMYLsidgYtWa8u58yFUnUgS3uK1z YzYZ1PzSlxB2Vw7nxuw+2owbfwmfcsV2nlygvim+5a3ush4GjYpCy6bxi11I/nWtGYhk2v nSZbiL43fm+HEmMIn94Hxu5uEVuHPn/L6qmQ8gvo7rEB513xKaGJaeC82+Kv7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7F6L4HSHz1CZS; Thu, 2 Feb 2023 23:16:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 312NGgP8006382; Thu, 2 Feb 2023 23:16:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 312NGgcW006381; Thu, 2 Feb 2023 23:16:42 GMT (envelope-from git) Date: Thu, 2 Feb 2023 23:16:42 GMT Message-Id: <202302022316.312NGgcW006381@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: 57aa63022065 - main - tarfs: Remove unused code. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 57aa63022065facb4560681663cb186cc07a17de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=57aa63022065facb4560681663cb186cc07a17de commit 57aa63022065facb4560681663cb186cc07a17de Author: Dag-Erling Smørgrav AuthorDate: 2023-02-02 23:11:38 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-02 23:16:17 +0000 tarfs: Remove unused code. Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. --- sys/fs/tarfs/tarfs.h | 2 -- sys/fs/tarfs/tarfs_subr.c | 80 ----------------------------------------------- 2 files changed, 82 deletions(-) diff --git a/sys/fs/tarfs/tarfs.h b/sys/fs/tarfs/tarfs.h index dffd60ee6d8a..444d7b39941d 100644 --- a/sys/fs/tarfs/tarfs.h +++ b/sys/fs/tarfs/tarfs.h @@ -232,14 +232,12 @@ int tarfs_alloc_node(struct tarfs_mount *tmp, const char *name, unsigned int flags, const char *linkname, dev_t rdev, struct tarfs_node *parent, struct tarfs_node **node); int tarfs_load_blockmap(struct tarfs_node *tnp, size_t realsize); -void tarfs_dump_tree(struct tarfs_node *tnp); void tarfs_free_node(struct tarfs_node *tnp); struct tarfs_node * tarfs_lookup_dir(struct tarfs_node *tnp, off_t cookie); struct tarfs_node * tarfs_lookup_node(struct tarfs_node *tnp, struct tarfs_node *f, struct componentname *cnp); -void tarfs_print_node(struct tarfs_node *tnp); int tarfs_read_file(struct tarfs_node *tnp, size_t len, struct uio *uiop); int tarfs_io_init(struct tarfs_mount *tmp); diff --git a/sys/fs/tarfs/tarfs_subr.c b/sys/fs/tarfs/tarfs_subr.c index 0aec225dead9..fc2955b44606 100644 --- a/sys/fs/tarfs/tarfs_subr.c +++ b/sys/fs/tarfs/tarfs_subr.c @@ -89,86 +89,6 @@ SYSCTL_INT(_vfs_tarfs, OID_AUTO, debug, CTLFLAG_RW | CTLFLAG_TUN, &tarfs_debug, 0, "Tar filesystem debug mask"); #endif /* TARFS_DEBUG */ -static void -tarfs_dump_tree_internal(struct tarfs_node *tnp, int indent) -{ - struct tarfs_node *current; - const char *name; - - if (tnp->type != VDIR) - return; - - TAILQ_FOREACH(current, &tnp->dir.dirhead, dirents) { - if (current->name == NULL) - name = "<>"; - else - name = current->name; - printf("%*s%s\n", indent * 4, "", name); - if (current->type == VDIR) - tarfs_dump_tree_internal(current, indent + 1); - } -} - -void -tarfs_dump_tree(struct tarfs_node *tnp) -{ - const char *name; - - if (tnp == NULL) - return; - - if (tnp->name == NULL) - name = "<>"; - else - name = tnp->name; - printf("%s\n", name); - - tarfs_dump_tree_internal(tnp, 1); -} - -void -tarfs_print_node(struct tarfs_node *tnp) -{ - - if (tnp == NULL) - return; - - printf("%s: node %p\n", __func__, tnp); - printf("\tvnode %p\n", tnp->vnode); - printf("\ttmp %p\n", tnp->tmp); - printf("\ttype %d\n", tnp->type); - printf("\tino %lu\n", (unsigned long)tnp->ino); - printf("\tsize %zu\n", tnp->size); - printf("\tname %s\n", - (tnp->name == NULL) ? "<>" : tnp->name); - printf("\tnamelen %zu\n", tnp->namelen); - printf("\tuid %d\n", tnp->uid); - printf("\tgid %d\n", tnp->gid); - printf("\tmode o%o\n", tnp->mode); - printf("\tflags %u\n", tnp->flags); - printf("\tnlink %lu\n", (unsigned long)tnp->nlink); - printf("\tatime %d\n", (int)tnp->atime.tv_sec); - printf("\tmtime %d\n", (int)tnp->mtime.tv_sec); - printf("\tctime %d\n", (int)tnp->ctime.tv_sec); - printf("\tbirthtime %d\n", (int)tnp->birthtime.tv_sec); - printf("\tgen %lu\n", tnp->gen); - printf("\tparent %p\n", tnp->parent); - - switch (tnp->type) { - case VDIR: - printf("\tdir.lastcookie %jd\n", - tnp->dir.lastcookie); - printf("\tdir.lastnode %p\n", tnp->dir.lastnode); - break; - case VBLK: - case VCHR: - printf("\trdev %lu\n", (unsigned long)tnp->rdev); - break; - default: - break; - } -} - struct tarfs_node * tarfs_lookup_node(struct tarfs_node *tnp, struct tarfs_node *f, struct componentname *cnp) From nobody Thu Feb 2 23:35:10 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7FWy1nBjz3kj3V; Thu, 2 Feb 2023 23:35:26 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7FWx4p4jz3jqq; Thu, 2 Feb 2023 23:35:25 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.16.1/8.16.1) with ESMTPS id 312NZBI5043395 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 3 Feb 2023 01:35:14 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 312NZBI5043395 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 312NZAoq043389; Fri, 3 Feb 2023 01:35:10 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 3 Feb 2023 01:35:10 +0200 From: Konstantin Belousov To: Dag-Erling =?utf-8?B?U23DuHJncmF2?= Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 69d94f4c7608 - main - Add tarfs, a filesystem backed by tarballs. Message-ID: References: <202302021720.312HKDQG099212@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <202302021720.312HKDQG099212@gitrepo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Rspamd-Queue-Id: 4P7FWx4p4jz3jqq X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Thu, Feb 02, 2023 at 05:20:13PM +0000, Dag-Erling Smørgrav wrote: > The branch main has been updated by des: > > URL: https://cgit.FreeBSD.org/src/commit/?id=69d94f4c7608e41505996559367450706e91fbb8 > > commit 69d94f4c7608e41505996559367450706e91fbb8 > Author: Dag-Erling Smørgrav > AuthorDate: 2023-02-02 17:18:41 +0000 > Commit: Dag-Erling Smørgrav > CommitDate: 2023-02-02 17:19:29 +0000 > > Add tarfs, a filesystem backed by tarballs. > > Sponsored by: Juniper Networks, Inc. > Sponsored by: Klara, Inc. > Reviewed by: pauamma, imp > Differential Revision: https://reviews.freebsd.org/D37753 In tarfs_reclaim(), neither vnode_destroy_vobject() nor cache_purge() calls are not needed. From nobody Fri Feb 3 00:22:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7GZJ6C9Bz3klRy; Fri, 3 Feb 2023 00:22:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7GZJ5c9Yz3pSg; Fri, 3 Feb 2023 00:22:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675383752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DSIm9K7dCwqTXBiCkeTH4iog0IQGafHUXWfNx2o+ZXM=; b=LVrNJNJqOmE/l7s3nWcxiWLoClxPUDNfi4qsDO+BQiqX+R3GNuZyXpINiGIEE9AlpSer/s DT/GBxRXLYQwJwlK6FggqoELCOuqrf23iRPlTt2GCj9buu59n0crFGBOaThaOIsdTsh/ej 5TEwCG/VG01fYNcn6+okjI0ErCHQKNuLKTEsXSitX92mS7bMnvgnRvkQEaVR/kWuh1CyV/ t3mBHBu50p5pCLylA+MKIOp8hqzHUgi9aL44FJ6MFemHZi9VOpI8AxBxdkuSYuwvN4HYvm ije1fFHDmtadlHPyFbizGQMZDVnYkInU7WcM3fM0ILAAl32X+xhwi41/VVERnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675383752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DSIm9K7dCwqTXBiCkeTH4iog0IQGafHUXWfNx2o+ZXM=; b=VIQqmshZCNqiCuyKKIjmU9L4PjO4YtIpyANldrxqj+H7T2JE7vHW48CJBdIwOxPRhg6gou vN1AYlM5q7Vk+imjq1I7Ru7lyYQ5hMuxRTMRvOeIBO5g/i0SKBD5JGA9HoLdgiLGGJUcBx 2Z1/BZiq9jb/mAMpvr2ZgiH8gDBaTiRArSFUmgrQVnJRemxo7/hqhLlxJl3dliMUZM+7UX B0zlU//NaW/u7WCXMypswZj+1rgFLmHthHTT8G6lD6mryT17Vox6DZ889OIdDVhcHyW0nm 19xW7kD6OQnhaCHOF56BzehlWJ/u//LnzU447g8BJ4nGuojxbDJ1GE2+kzYzjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675383752; a=rsa-sha256; cv=none; b=oXNWnDX48Y5biaRiPueuR7N4AyMv0CoTW6e4I8h2+HUOwpP0DBnGgT3j6ulnrGvgJKaouo CrguPPugWXp+c2LLgYsMAwCRclIk7/SGv64c2seDV93lzetwPWw7f5NTXWEqgTVXpDsKcA ZI/l74G6BPrjWMcjHFr0pXdFDOUajq9SGyndH2rae7VHkOsv6BJzycgKfaSQH5j//Pv/YH VwTS67iLpTEVUZgwKhUJqDolnTfQEIevS6OuFjgOlg7Eg7QsPhtyIb5s5imMNxJurt36LO 4FJ2TYpGttlrC2a2jQjAswJ5r0BtYdY55prS0jyb59QnkYDJ0JqJqFEAhvNKCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7GZJ4gjczFq8; Fri, 3 Feb 2023 00:22:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3130MW1J005483; Fri, 3 Feb 2023 00:22:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3130MWGB005482; Fri, 3 Feb 2023 00:22:32 GMT (envelope-from git) Date: Fri, 3 Feb 2023 00:22:32 GMT Message-Id: <202302030022.3130MWGB005482@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 7926a01ed7ae - main - vfs_export: Add checks for correct prison when updating exports List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7926a01ed7ae7cefd81ef4cc2142c35b84d81913 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=7926a01ed7ae7cefd81ef4cc2142c35b84d81913 commit 7926a01ed7ae7cefd81ef4cc2142c35b84d81913 Author: Rick Macklem AuthorDate: 2023-02-03 00:20:58 +0000 Commit: Rick Macklem CommitDate: 2023-02-03 00:20:58 +0000 vfs_export: Add checks for correct prison when updating exports mountd(8) basically does the following: getmntinfo() for each mount delete_exports using nmount(2) to do the creation/deletion of individual exports. For prison0 (and for other prisons if enforce_statfs == 0) getmntinfo() returns all mount points, including ones being used within other prisons. This can cause confusion if the same file system is specified in the exports(5) file for multiple prisons. This patch adds a perminent identifier to each prison and marks which prison did the exports in a field of the mount structure called mnt_exjail. This field can then be compared to the perminent identifier for the prison that the thread's credentials is in. Also required was a new function called prison_isalive_permid() which returns if the prison is alive, so that the check can be ignored for prisons that have been removed. This prepares the system to allow mountd(8) to run in multiple prisons, including prison0. Future commits will complete the modifications to allow mountd(8) to run in vnet prisons. Until then, these changes should not affect semantics. Reviewed by: markj MFC after: 3 months Differential Revision: https://reviews.freebsd.org/D38144 --- sys/kern/kern_jail.c | 32 +++++++++++++++++++++++++++++++ sys/kern/vfs_export.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++----- sys/sys/jail.h | 2 ++ sys/sys/mount.h | 5 ++++- 4 files changed, 86 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 4c1e3ff40c58..293dd53d65c9 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -118,6 +118,7 @@ struct prison prison0 = { .pr_flags = PR_HOST|_PR_IP_SADDRSEL, #endif .pr_allow = PR_ALLOW_ALL_STATIC, + .pr_permid = 1, }; MTX_SYSINIT(prison0, &prison0.pr_mtx, "jail mutex", MTX_DEF); @@ -988,6 +989,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) uint64_t pr_allow_diff; unsigned tallow; char numbuf[12]; + static uint64_t init_permid = 2; error = priv_check(td, PRIV_JAIL_SET); if (!error && (flags & JAIL_ATTACH)) @@ -1617,6 +1619,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) TASK_INIT(&pr->pr_task, 0, prison_complete, pr); pr->pr_id = jid; + pr->pr_permid = init_permid++; if (inspr != NULL) TAILQ_INSERT_BEFORE(inspr, pr, pr_list); else @@ -3535,6 +3538,35 @@ prison_isalive(const struct prison *pr) return (true); } +/* + * Return true if the prison is currently alive. Identified by pr_permid. + */ +bool +prison_isalive_permid(const uint64_t prison_permid) +{ + struct prison *pr; + bool alive; + + /* + * permid == 0 --> never assigned to a prison + * permid == 1 --> assigned to prison0, always alive + */ + if (prison_permid == 0) + return (false); + else if (prison_permid == 1) + return (true); + sx_slock(&allprison_lock); + TAILQ_FOREACH(pr, &allprison, pr_list) { + if (pr->pr_permid == prison_permid) { + alive = prison_isalive(pr); + sx_unlock(&allprison_lock); + return (alive); + } + } + sx_unlock(&allprison_lock); + return (false); +} + /* * Return true if the prison is currently valid. A prison is valid if it has * been fully created, and is not being destroyed. Note that dying prisons diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 024011de4c89..024adfe152d6 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -70,7 +71,6 @@ static MALLOC_DEFINE(M_NETADDR, "export_host", "Export host address structure"); static struct radix_node_head *vfs_create_addrlist_af( struct radix_node_head **prnh, int off); #endif -static void vfs_free_addrlist(struct netexport *nep); static int vfs_free_netcred(struct radix_node *rn, void *w); static void vfs_free_addrlist_af(struct radix_node_head **prnh); static int vfs_hang_addrlist(struct mount *mp, struct netexport *nep, @@ -274,7 +274,7 @@ vfs_free_addrlist_af(struct radix_node_head **prnh) /* * Free the net address hash lists that are hanging off the mount points. */ -static void +void vfs_free_addrlist(struct netexport *nep) { struct ucred *cred; @@ -285,8 +285,10 @@ vfs_free_addrlist(struct netexport *nep) vfs_free_addrlist_af(&nep->ne6); cred = nep->ne_defexported.netc_anon; - if (cred != NULL) + if (cred != NULL) { crfree(cred); + nep->ne_defexported.netc_anon = NULL; + } } @@ -301,6 +303,8 @@ vfs_export(struct mount *mp, struct export_args *argp) { struct netexport *nep; int error; + uint64_t jail_permid; + bool new_nep, prison_alive; if ((argp->ex_flags & (MNT_DELEXPORT | MNT_EXPORTED)) == 0) return (EINVAL); @@ -311,13 +315,29 @@ vfs_export(struct mount *mp, struct export_args *argp) return (EINVAL); error = 0; + jail_permid = curthread->td_ucred->cr_prison->pr_permid; lockmgr(&mp->mnt_explock, LK_EXCLUSIVE, NULL); nep = mp->mnt_export; + prison_alive = prison_isalive_permid(mp->mnt_exjail); if (argp->ex_flags & MNT_DELEXPORT) { if (nep == NULL) { + KASSERT(mp->mnt_exjail == 0, + ("vfs_export: mnt_exjail delexport not 0")); error = ENOENT; goto out; } + KASSERT(mp->mnt_exjail != 0, + ("vfs_export: mnt_exjail delexport 0")); + if (jail_permid == 1 && mp->mnt_exjail != jail_permid && + prison_alive) { + /* EXDEV will not get logged by mountd(8). */ + error = EXDEV; + goto out; + } else if (mp->mnt_exjail != jail_permid && prison_alive) { + /* EPERM will get logged by mountd(8). */ + error = EPERM; + goto out; + } if (mp->mnt_flag & MNT_EXPUBLIC) { vfs_setpublicfs(NULL, NULL, NULL); MNT_ILOCK(mp); @@ -326,20 +346,37 @@ vfs_export(struct mount *mp, struct export_args *argp) } vfs_free_addrlist(nep); mp->mnt_export = NULL; + mp->mnt_exjail = 0; free(nep, M_MOUNT); nep = NULL; MNT_ILOCK(mp); mp->mnt_flag &= ~(MNT_EXPORTED | MNT_DEFEXPORTED); MNT_IUNLOCK(mp); } + new_nep = false; if (argp->ex_flags & MNT_EXPORTED) { if (nep == NULL) { + KASSERT(mp->mnt_exjail == 0, + ("vfs_export: mnt_exjail not 0")); nep = malloc(sizeof(struct netexport), M_MOUNT, M_WAITOK | M_ZERO); mp->mnt_export = nep; + new_nep = true; + } else if (mp->mnt_exjail != jail_permid && prison_alive) { + KASSERT(mp->mnt_exjail != 0, + ("vfs_export: mnt_exjail 0")); + error = EPERM; + goto out; } if (argp->ex_flags & MNT_EXPUBLIC) { - if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) + if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) { + if (new_nep) { + mp->mnt_export = NULL; + free(nep, M_MOUNT); + } goto out; + } + new_nep = false; + mp->mnt_exjail = jail_permid; MNT_ILOCK(mp); mp->mnt_flag |= MNT_EXPUBLIC; MNT_IUNLOCK(mp); @@ -348,8 +385,14 @@ vfs_export(struct mount *mp, struct export_args *argp) argp->ex_numsecflavors = 1; argp->ex_secflavors[0] = AUTH_SYS; } - if ((error = vfs_hang_addrlist(mp, nep, argp))) + if ((error = vfs_hang_addrlist(mp, nep, argp))) { + if (new_nep) { + mp->mnt_export = NULL; + free(nep, M_MOUNT); + } goto out; + } + mp->mnt_exjail = jail_permid; MNT_ILOCK(mp); mp->mnt_flag |= MNT_EXPORTED; MNT_IUNLOCK(mp); diff --git a/sys/sys/jail.h b/sys/sys/jail.h index c50c8607aa0a..2031c698ff3d 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -199,6 +199,7 @@ struct prison { int pr_spare[2]; int pr_osreldate; /* (c) kern.osreldate value */ unsigned long pr_hostid; /* (p) jail hostid */ + uint64_t pr_permid; /* (c) permanent jail id */ char pr_name[MAXHOSTNAMELEN]; /* (p) admin jail name */ char pr_path[MAXPATHLEN]; /* (c) chroot path */ char pr_hostname[MAXHOSTNAMELEN]; /* (p) jail hostname */ @@ -442,6 +443,7 @@ void prison_proc_iterate(struct prison *, void (*)(struct proc *, void *), void void prison_set_allow(struct ucred *cred, unsigned flag, int enable); int prison_ischild(struct prison *, struct prison *); bool prison_isalive(const struct prison *); +bool prison_isalive_permid(const uint64_t prison_permid); bool prison_isvalid(struct prison *); #if defined(INET) || defined(INET6) int prison_ip_check(const struct prison *, const pr_family_t, const void *); diff --git a/sys/sys/mount.h b/sys/sys/mount.h index 4bfc77b7f1a1..42247829d42e 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -216,6 +216,7 @@ struct mount_upper_node { * i - interlock * v - vnode freelist mutex * d - deferred unmount list mutex + * e - mnt_explock * * Unmarked fields are considered stable as long as a ref is held. * @@ -245,13 +246,14 @@ struct mount { void * mnt_data; /* private data */ time_t mnt_time; /* last time written*/ int mnt_iosize_max; /* max size for clusters, etc */ - struct netexport *mnt_export; /* export list */ + struct netexport *mnt_export; /* (e) export list */ struct label *mnt_label; /* MAC label for the fs */ u_int mnt_hashseed; /* Random seed for vfs_hash */ int mnt_lockref; /* (i) Lock reference count */ int mnt_secondary_writes; /* (i) # of secondary writes */ int mnt_secondary_accwrites;/* (i) secondary wr. starts */ struct thread *mnt_susp_owner; /* (i) thread owning suspension */ + uint64_t mnt_exjail; /* (e) exported in jail ident */ #define mnt_endzero mnt_gjprovider char *mnt_gjprovider; /* gjournal provider name */ struct mtx mnt_listmtx; @@ -1017,6 +1019,7 @@ void vfs_periodic(struct mount *, int); int vfs_busy(struct mount *, int); int vfs_export /* process mount export info */ (struct mount *, struct export_args *); +void vfs_free_addrlist(struct netexport *); void vfs_allocate_syncvnode(struct mount *); void vfs_deallocate_syncvnode(struct mount *); int vfs_donmount(struct thread *td, uint64_t fsflags, From nobody Fri Feb 3 00:38:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7Gx653JXz3kmX6; Fri, 3 Feb 2023 00:38: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 4P7Gx64Vmrz3rp3; Fri, 3 Feb 2023 00:38:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675384730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RUheGQLD6Y3o6S3nxzMJ96MlfzQ/y5vvWNQrNcw3mFg=; b=DF2aoAAzFDS4NJHbLm0h6po2DYSHkr8dqMOoXfV8gwHIRg4AIEEj3RyEndFMHcEGtF/Txk wl4PDL3dFUkOF87ich7jIT4hF9bJel6varxKSFmf7E875ZIgjY17XAuKq2NuI4SucYtoPD aNhDkP03WUzrm3I4MqJt0dGEntGMi8Ppb+Scf6w2dXT5ft6cczIx5IzhwF2GQ516mzAWGE bzucZInT7/MLrsl0143ZKoNuXoENcGTfjEHgwdfjsNaUuC/llNIHmnStDRqfnpUZFMYYc+ 0tjOEyOl0eM09HYtYqB6zdyVx8wQEaemNl4EAZyU21sv6yyMBBCp+RueOPAjOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675384730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RUheGQLD6Y3o6S3nxzMJ96MlfzQ/y5vvWNQrNcw3mFg=; b=dAYVJJ/tNydi3qqCYZ+O8nxQ7vErs5q8vUwhthpnVFWFoclyJBO3PhB5m3qnM5T+0l9D0P x1YCp6iFX7OSu49vfwINEWcY5MFU97Uyti0Uk1jnlsosRbYMXeBK9+9RhpuKZlS+YjlwPr GJQSZnkgU7dxEOYwv83wIexW/7J00/lMOg9GwViyJyrR/Eu8E+ZwSgCM82dodVFJZfAlGN 1iJwPLhSQNnyl5EQ9TaBO/FX2c3BDpeR5mnmjNQLKauxgZscRB57aTSkViGnouXA3jXNjD jcd7qaICncOoxJuPtiC+45CJtDXl+VrJGBVPoVYXdDLQuQ8iPxp9nnyLU/FDtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675384730; a=rsa-sha256; cv=none; b=fleAv4VCpHMk0l+tnQviL4mHHq5KLVlsBEOpY4uOyw89HaNEftwaXc83O2GaBOhAgsdtLZ KECy/3qgXrtRZvmZTJgDGjUp6yeS4T1lz2XEhpilXeNI0F51CAiENO+eZwh1Z9E39K8d2Z WH7jwQr2/92n2qVLxgEbJQmy4+npA3hyB09835JgoQrnPA9CQROWTkkIpvXRWCgsjNfDjP 9f+Ry1g7rFKf+dS4pSCPJaBMfSCgNySa3DwxbQPTAhF9vQ2dDuHeCK6uoEAzppp1XBiPcg b3q6nkq9vv71LOAdlSMpDMkRY2jKxohPkzLsdUVmEm8AVFglYg7T+aR7ycM1Nw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7Gx63V1BzFsY; Fri, 3 Feb 2023 00:38:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3130coHc020636; Fri, 3 Feb 2023 00:38:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3130coQK020635; Fri, 3 Feb 2023 00:38:50 GMT (envelope-from git) Date: Fri, 3 Feb 2023 00:38:50 GMT Message-Id: <202302030038.3130coQK020635@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 5c274b362256 - main - whitespace: rewrap to match case directly above List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5c274b362256b1e0f680dacd9ef5a78bb21fedcd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=5c274b362256b1e0f680dacd9ef5a78bb21fedcd commit 5c274b362256b1e0f680dacd9ef5a78bb21fedcd Author: Brooks Davis AuthorDate: 2023-02-03 00:37:31 +0000 Commit: Brooks Davis CommitDate: 2023-02-03 00:37:31 +0000 whitespace: rewrap to match case directly above It's easier to visually diff the two case blocks if there aren't gratutious whitespace differences. Sponsored by: DARPA --- sys/kern/kern_thread.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index 03fb20bd81d9..ad54783dd4a9 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -1151,8 +1151,8 @@ restart: * boundary, TDF_ALLPROCSUSP is used to avoid immediate * un-suspend. */ - if (TD_IS_SUSPENDED(td2) && (td2->td_flags & - TDF_ALLPROCSUSP) == 0) { + if (TD_IS_SUSPENDED(td2) && + (td2->td_flags & TDF_ALLPROCSUSP) == 0) { wakeup_swapper |= thread_unsuspend_one(td2, p, false); thread_lock(td2); goto restart; From nobody Fri Feb 3 01:00:38 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7HQH0R8lz3knHw; Fri, 3 Feb 2023 01:00: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 4P7HQG6yq5z3t2m; Fri, 3 Feb 2023 01:00:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675386039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/YioNcDnaQuiKqCIUR2X0gitQDdOwIRp5VjuTf1I6bc=; b=FQxJzeeislGpAzhqXH1DxchUsGCm5GoIESkjV1qTbWLUgY/JicSld1wDPi1Mws+VHn1Dxx Wq8qv93gm2tSULgaE1i8X5Moj9tmqrj/3rPGkYZWA/lT15gwwienvjzX43x+O1WDxRzGim yBWObGHiOlWmis/ycRB3gRUuMemJsCPKnWrweorr71Bab1+op61CcKdU8lCSPChhL8wu9/ CSMfgs3Vxu8Juhu58VtC+vHBAiqXp7u109WVaEpgyNDcFxeCYf4TUhprOn4u6M2pi+BwD4 qvR6FL7peGQFKOrozfYNsQZz21tePHiFg4DyrwJewVi3LBPadr5uOeA+fVqzRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675386039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/YioNcDnaQuiKqCIUR2X0gitQDdOwIRp5VjuTf1I6bc=; b=FdnDnoX5tUzOuUkqCdaXetJigKSrHN4wkWWycq3s5x+V0rUqY2ViURIhRBvayK1+CWFtUJ EyttytaAdBp56Qh+Kw9INrppAU0UkVzZRLKdPfdkEFG5IG/jjFTJxrKLeV/zCGOGz0Apyf kGVMsUgDKeTIHK66u3sVcuPJrqIK4aZVC3w0aZ6nfou9yHnA9o6+gk0oWstZChYITABp02 3mxyFmxyPNkINhMnHM9WLFkoU+PEtOrxsaCOxAJJQQ173PIfPEBKydlOy4BgGjuQRJINN2 8cWVYMFZoH7XRp0gD1iaXJKkv51xA3eISjWZKgKnsOpM+8g1Xp6Ywp7O+lMdyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675386039; a=rsa-sha256; cv=none; b=XUouWwBatI3SMLkKAwjqyR8zR1u24HAXKIM6NAaJjU6qkf1VQ26Uj+b18I8kanTGSL2k0x JJO3fwq+U/z1TYt+UWKg5OC+p1ltiyisjqvzQbFwN7U2T6dCNH0HXGYpjMLWgrqfGfkDoP UHNDdxJ6rqXD20+k7AOrVs62fkA6L/gZvQXrtHO0U4+xQvoFYYeTvyOJZPqLvVC2qA1ngg xxSAqyBVNawHeSMy3H2KvxdPL8UP0tD73OGXz4TU//GjhNDOPfK6+3mOL5UA0blqYVT8K1 W+lkfMUEpgOX1zwfZ5nm61PIUr5dsqfRleANUf8Cpn0g7KX29h+3BFxrAnKvVA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7HQG63NrzGbt; Fri, 3 Feb 2023 01:00:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31310cWx058601; Fri, 3 Feb 2023 01:00:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31310cpm058600; Fri, 3 Feb 2023 01:00:38 GMT (envelope-from git) Date: Fri, 3 Feb 2023 01:00:38 GMT Message-Id: <202302030100.31310cpm058600@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pawel Jakub Dawidek Subject: git: 14ba79255be8 - main - nv.9: Improve style in one of the examples. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pjd X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 14ba79255be8dc07f8ce45d1ee3543ba53fed47a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pjd: URL: https://cgit.FreeBSD.org/src/commit/?id=14ba79255be8dc07f8ce45d1ee3543ba53fed47a commit 14ba79255be8dc07f8ce45d1ee3543ba53fed47a Author: Pawel Jakub Dawidek AuthorDate: 2022-11-07 08:10:16 +0000 Commit: Pawel Jakub Dawidek CommitDate: 2023-02-03 01:00:23 +0000 nv.9: Improve style in one of the examples. Reviewed by: allanjude, oshogbo Approved by: allanjude, oshogbo Differential Revision: https://reviews.freebsd.org/D38287 --- share/man/man9/nv.9 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/share/man/man9/nv.9 b/share/man/man9/nv.9 index c80e70116d67..0da7251c7993 100644 --- a/share/man/man9/nv.9 +++ b/share/man/man9/nv.9 @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 19, 2018 +.Dd February 2, 2023 .Dt NV 9 .Os .Sh NAME @@ -933,8 +933,7 @@ do { nvl = tmp; while ((name = nvlist_next(nvl, &type, &cookie)) != NULL) { if (type == NV_TYPE_NVLIST) { - nvl = nvlist_get_nvlist(nvl, - name); + nvl = nvlist_get_nvlist(nvl, name); cookie = NULL; } else if (type == NV_TYPE_NVLIST_ARRAY) { nvl = nvlist_get_nvlist_array(nvl, name, From nobody Fri Feb 3 01:00:39 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7HQJ1fylz3kmvB; Fri, 3 Feb 2023 01:00:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7HQJ0sJQz3tJx; Fri, 3 Feb 2023 01:00:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675386040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DO0tqXfZFQa/cI4tzr3kP9KPzZl3mrEx0Yz9KkQJqT0=; b=h87W//+avVN1c/J6REHEaMGOTVjypprcFdKKuH75qaHWYzP1VWLg07IO4XISUX91XoaVwL GDxnrsTYzACbd6HF4uQ5bxr2AN4SCqAdElG1KiCEU48NvJZL5F872KhfTRgIdqpf60Ztwe LZ/qd+P+a31zDdrYyGiLAVwjg5fLmZor+xeF5eg7Am4VGnQdswhos6ce5UAW/KCkMXRAmF wAbVmgauXdkSBMYnWc7agPTa2ZpNPxtORsKlrbbvlgZgPD3XxiufGq8kOolstJuDJIf/2G k6tgsc6W568PNis+kkuTJ3MxB2zkAUcP1eVwBJ61I6XVRWJddRBWpwHN1RmWqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675386040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DO0tqXfZFQa/cI4tzr3kP9KPzZl3mrEx0Yz9KkQJqT0=; b=qQ4o6RgG7HdCSB7eQCkh4yvil4550Nij5MUokzA/YzFjRhOy30fq/vjZBA/5Q3A8Q2GfVf CqJ8H6+nwsVHAktD5K234RbJVvU6FgNIGDdeQ0rmCzThpxHpa+CQXpeXJipzIspkehfZvl kxXv+7y/PouRMesAeQah7TAIfatfgWfvsvyaaXmZQMHCMbZ+w7SNhD25Nqfr0HmMqCxQ9O ppO0w/MJLej4xW/osDvSmjeEGY16bgFGziMICheDFDg9t5a7AKtcsNByG+d5BgmOeNguSu /MCbJ0tbdqq03oAtleNUX/qgKRHsqGLO8txdniWJZs3lpjLR52mrzhgFdxOZMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675386040; a=rsa-sha256; cv=none; b=ALH0GrECMpQSHgrFepqKNOFbj0DP5vNwh6J1FJLNqDCl6tMefIcWowuZlYtgZU1dBrWhuT WWytNx7lscl7Ft6n60vb8GNpXeEJ2TbBcyXIfp2Crh8Xks/8h9hO/70ac94HGIeZ0Sjiim tlTUEpTGTkblyDY5djLwlImZqtxQXdylGxsgKYymtNmjBycofd2hBSSlmAdXixu9z7snlj hQOUGeFt+FKHvCpw3SqIfu182GRiKeARxqo4wr1MVKo4PayhTI8dSnSyoBBAvKt4lmDpVd p3TQ4PljnI7Kn5eYhhD4OVAz8m9IhzU0BmXlpgJ6OUv+sl8LYxFOFPzE+qEahA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7HQH70XJzGMx; Fri, 3 Feb 2023 01:00:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31310dUK058625; Fri, 3 Feb 2023 01:00:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31310dlH058624; Fri, 3 Feb 2023 01:00:39 GMT (envelope-from git) Date: Fri, 3 Feb 2023 01:00:39 GMT Message-Id: <202302030100.31310dlH058624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pawel Jakub Dawidek Subject: git: c54d240eb1a0 - main - kern_prot.c p_candebug(): Remove single-use variable. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pjd X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c54d240eb1a0d23d2602ffb82d351cbfaaa94eae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pjd: URL: https://cgit.FreeBSD.org/src/commit/?id=c54d240eb1a0d23d2602ffb82d351cbfaaa94eae commit c54d240eb1a0d23d2602ffb82d351cbfaaa94eae Author: Pawel Jakub Dawidek AuthorDate: 2023-01-31 00:15:04 +0000 Commit: Pawel Jakub Dawidek CommitDate: 2023-02-03 01:00:24 +0000 kern_prot.c p_candebug(): Remove single-use variable. Reviewed by: allanjude, oshogbo Approved by: allanjude, oshogbo Differential Revision: https://reviews.freebsd.org/D38288 --- sys/kern/kern_prot.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 942062756631..983e6ae21493 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1682,7 +1682,7 @@ SYSCTL_PROC(_security_bsd, OID_AUTO, unprivileged_proc_debug, int p_candebug(struct thread *td, struct proc *p) { - int credentialchanged, error, grpsubset, i, uidsubset; + int error, grpsubset, i, uidsubset; KASSERT(td == curthread, ("%s: td not curthread", __func__)); PROC_LOCK_ASSERT(p, MA_OWNED); @@ -1724,11 +1724,6 @@ p_candebug(struct thread *td, struct proc *p) td->td_ucred->cr_uid == p->p_ucred->cr_svuid && td->td_ucred->cr_uid == p->p_ucred->cr_ruid); - /* - * Has the credential of the process changed since the last exec()? - */ - credentialchanged = (p->p_flag & P_SUGID); - /* * If p's gids aren't a subset, or the uids aren't a subset, * or the credential has changed, require appropriate privilege @@ -1740,7 +1735,10 @@ p_candebug(struct thread *td, struct proc *p) return (error); } - if (credentialchanged) { + /* + * Has the credential of the process changed since the last exec()? + */ + if ((p->p_flag & P_SUGID) != 0) { error = priv_check(td, PRIV_DEBUG_SUGID); if (error) return (error); From nobody Fri Feb 3 01:14:01 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7Hjl2VcYz3kpGX; Fri, 3 Feb 2023 01:14:03 +0000 (UTC) (envelope-from des@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 4P7Hjl21ldz3vhr; Fri, 3 Feb 2023 01:14:03 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675386843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wgrOnhORdvEVPPdG/KCxGx0QbkzoDoOeoBKicUDaXYk=; b=r+5uMrIObbNaUFiXXTgWwplQml6r9vnCgMRCReXwP/6V7Ta9YRdiTzx/eENd1GKDM7RuD4 zi+XTD8kvBCS1KHLYEQGrYiSfpA+beofFqTUbgRjnz/cgqHMWVUMeTcXAey7cFL/tLfOIc w+Ztj1gd92Vis69FkWOnuXzueye/bURKc9SN5hGiElIrDQal75zIzXDFgWF9jKCdKU/KZI sgUy/OnIKuBwVy1bQPXH7L0wgxGo93tR0UsjC+0LN5DNcFrDAxe4e4pembumbEUdL/HeEd PCjL20Aa0m/IYXVj+z2UlaasbqL+gwUrUPpc6XKXXOXv4Lqp6MtMDeMBo6TKNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675386843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wgrOnhORdvEVPPdG/KCxGx0QbkzoDoOeoBKicUDaXYk=; b=JQZgePV2g1R2xHU8rv8qfK/YbuQyVBjfZ35WpeJqSPRiOYplsheasbgMT7fgZDzMy8zUx9 KUXRdAS0hXuujXNhoqypvN7IRjhPir4c6XVljarowaP5m1Ha8hCCYl3c30J860nfgUUtoZ CGl60IB/w72p5ciKk1RE4YaYwzKzhc3plvei+vA3a95OP3P4BX6+hGe/SG56KAi4s8Ktfi cGgS/XhfFchqlBngrW86LhH4pGrjx9EdnZTrRZALjjHoql3/JH/1cMI6UnG2H8iPzwyhL0 Vj1uJoaPIBPjuWeMEx9saaYeTJcOS16HwvIIu2/9IW8jI3g1H6CmI9kkTp3IIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675386843; a=rsa-sha256; cv=none; b=ZfZyObHyxdbK/uOVVe8PVOGCyQPH10JGwe4Jp74EMBu/+37+HLOVbFXE4rQBdH+Bnihwjt MjlzON57zrlXbLAH9Exe0rnpIKX1UlWQRw5VywT6+bU/I/dgsAqinGSS+M4CfjHWa3atNu r70M12uLcOyoV4klLz7SD2d4C8CJo7Ns75rV7EScZw9li/5noAN0pWGqKy8TfoMN5qwD5l HcEp0KatjDFSNwbHlGTwfSpUp1U7eoP4ZszGjMAo95ZqcXiwG988c30QetdGFFfuOUg2Jm ETt6LgP9VnIv4Mb/bGUZEkd3Fyx7pHSN+LHRMl8oiKG6URab5PP0yNPWMGoJ/w== Received: from ltc.des.no (unknown [178.232.223.163]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7Hjl0DfNzhsN; Fri, 3 Feb 2023 01:14:03 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.no (Postfix, from userid 1001) id 1DB80A8BF5; Fri, 3 Feb 2023 02:14:01 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 69d94f4c7608 - main - Add tarfs, a filesystem backed by tarballs. In-Reply-To: (Konstantin Belousov's message of "Fri, 3 Feb 2023 01:35:10 +0200") References: <202302021720.312HKDQG099212@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (berkeley-unix) Date: Fri, 03 Feb 2023 02:14:01 +0100 Message-ID: <86fsbn4kkm.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N Konstantin Belousov writes: > In tarfs_reclaim(), neither vnode_destroy_vobject() nor cache_purge() cal= ls > are not needed. Thank you. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Fri Feb 3 07:14:31 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7Rjg6kYLz2lG6p; Fri, 3 Feb 2023 07:14: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 4P7Rjg6FP7z4Ptb; Fri, 3 Feb 2023 07:14:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675408471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o67B4p6z6plduLQDZWzmb9apyjNMPK3AeLLHbGSU3k4=; b=jL/mtnHrKK6TDE1+Ow0Hl9vgvKhPhXSs+G6haNraMhEzMWV/dT5Qg4JokqoozN+ffde5Uf B/jzXHb5tFpuoj3nO5+4purKvEND14+cpNhCbDLLcB/cv05/GYTo5a8RB22XKF0Q/Q2Xlb hFMIzn93ZTBUDNcrpnZ+EpgSx1jWsji4IkxVBXfDOhVS3YEGdyfZffqoJUFa7R8ZnSlJw8 cgMd+eeYqBH8JGnTF3tx2oFwD4/EyKAuOuV4SHEpWvDa81EScTd8WhVhSgmygJtHRpr1ab Jmnbw7kjmeuEHkx3WvqJ0I11dFxPm2lrGCwNWQpfJeN99efpYAq6VFAVC4YGfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675408471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o67B4p6z6plduLQDZWzmb9apyjNMPK3AeLLHbGSU3k4=; b=mwyupWdnh/Ds0DbCA0Z+X0otFkZQxXcD8AJaiyG1EKE8KUS8GvuTsB9Tgwt5Hr930MVnm4 kO/flnJwGfl4gqRv3W8VmqB7+kIhBwfBLKPcsCTr5v5J16VLXgse87KAuPWiJzouIXcgu9 CiFWXw56BS0UF0itcaRJfqF0vDTG1biq0FIWevGcMhhsltLm172sl5DpxXGM/+Pnhtc5uU 1Z9BMd8guT7OmdG94MzjjKjmtNVJ9J75PSAKSFqpUvjOXr+kG7bmw3/bmwVFQf1wr9KZhp pd699J91hgoZqe2isyygLU9S0cSOFkfIXYDOoSusDicB+BllmmMof1yjL3e3ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675408471; a=rsa-sha256; cv=none; b=DnOb45HA7qAP8oJFvoCcEnkVaKeSmZX15iIVi95OkiByE6wj7YfqgXe63o6+BoTUGil7+l DsNJMDleTQhBPGmON+gF0BnZna8MEVkTaLHzcUnwpst/628sfImN5PqGDda8n+cs17ezks WlP4actjsF6KzxoJGivQ5YXITk+83Y1Nh59QS1nqTAdiLeZIStcnfy0V1D8BRDw1aG2Kts DzrZcp+hGjUrIFCmNsNEJALEvdZDTTwU3BKhwkPAPA6IdgcAF0oo0jcZGJv1NI2qEwvr+n QVeyd67sBF/KNcOcFBrxc4nHoLjGOIQ3ZzrvN4DqTuahKS0VSoUc7255M9ILkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7Rjg5KMnzQlL; Fri, 3 Feb 2023 07:14:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3137EVEa088520; Fri, 3 Feb 2023 07:14:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3137EVRQ088519; Fri, 3 Feb 2023 07:14:31 GMT (envelope-from git) Date: Fri, 3 Feb 2023 07:14:31 GMT Message-Id: <202302030714.3137EVRQ088519@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 6998572a74a9 - main - hastd: use zlib's crc32 implementation. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6998572a74a98721781ecd5b6829435259f9825a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=6998572a74a98721781ecd5b6829435259f9825a commit 6998572a74a98721781ecd5b6829435259f9825a Author: Xin LI AuthorDate: 2023-02-03 07:14:21 +0000 Commit: Xin LI CommitDate: 2023-02-03 07:14:21 +0000 hastd: use zlib's crc32 implementation. Reviewed by: pjd MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D35767 --- sbin/hastd/Makefile | 4 +- sbin/hastd/crc32.c | 115 --------------------------------------------- sbin/hastd/crc32.h | 28 ----------- sbin/hastd/hast_checksum.c | 6 ++- 4 files changed, 6 insertions(+), 147 deletions(-) diff --git a/sbin/hastd/Makefile b/sbin/hastd/Makefile index d3854850d3b3..20a9c8333d2a 100644 --- a/sbin/hastd/Makefile +++ b/sbin/hastd/Makefile @@ -5,7 +5,7 @@ PACKAGE=hast PROG= hastd SRCS= activemap.c -SRCS+= control.c crc32.c +SRCS+= control.c SRCS+= ebuf.c event.c SRCS+= hast_checksum.c hast_compression.c hast_proto.c hastd.c hooks.c SRCS+= lzf.c @@ -31,7 +31,7 @@ CFLAGS+=-DINET CFLAGS+=-DINET6 .endif -LIBADD= geom md pthread util +LIBADD= geom md pthread util z YFLAGS+=-v diff --git a/sbin/hastd/crc32.c b/sbin/hastd/crc32.c deleted file mode 100644 index e8bc74a97f2b..000000000000 --- a/sbin/hastd/crc32.c +++ /dev/null @@ -1,115 +0,0 @@ -/*- - * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or - * code or tables extracted from it, as desired without restriction. - */ - -/* - * First, the polynomial itself and its table of feedback terms. The - * polynomial is - * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 - * - * Note that we take it "backwards" and put the highest-order term in - * the lowest-order bit. The X^32 term is "implied"; the LSB is the - * X^31 term, etc. The X^0 term (usually shown as "+1") results in - * the MSB being 1 - * - * Note that the usual hardware shift register implementation, which - * is what we're using (we're merely optimizing it by doing eight-bit - * chunks at a time) shifts bits into the lowest-order term. In our - * implementation, that means shifting towards the right. Why do we - * do it this way? Because the calculated CRC must be transmitted in - * order from highest-order term to lowest-order term. UARTs transmit - * characters in order from LSB to MSB. By storing the CRC this way - * we hand it to the UART in the order low-byte to high-byte; the UART - * sends each low-bit to hight-bit; and the result is transmission bit - * by bit from highest- to lowest-order term without requiring any bit - * shuffling on our part. Reception works similarly - * - * The feedback terms table consists of 256, 32-bit entries. Notes - * - * The table can be generated at runtime if desired; code to do so - * is shown later. It might not be obvious, but the feedback - * terms simply represent the results of eight shift/xor opera - * tions for all combinations of data and CRC register values - * - * The values must be right-shifted by eight bits by the "updcrc - * logic; the shift must be unsigned (bring in zeroes). On some - * hardware you could probably optimize the shift in assembler by - * using byte-swap instructions - * polynomial $edb88320 - * - * - * CRC32 code derived from work by Gary S. Brown. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include - -#include - -uint32_t crc32_tab[] = { - 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, - 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, - 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, - 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, - 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, - 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, - 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, - 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, - 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, - 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, - 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, - 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, - 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, - 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, - 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, - 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, - 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, - 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, - 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, - 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, - 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, - 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, - 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, - 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, - 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, - 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, - 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, - 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, - 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, - 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, - 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, - 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, - 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, - 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, - 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, - 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, - 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, - 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, - 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, - 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, - 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, - 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, - 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d -}; - -/* - * A function that calculates the CRC-32 based on the table above is - * given below for documentation purposes. An equivalent implementation - * of this function that's actually used in the kernel can be found - * in sys/libkern.h, where it can be inlined. - * - * uint32_t - * crc32(const void *buf, size_t size) - * { - * const uint8_t *p = buf; - * uint32_t crc; - * - * crc = ~0U; - * while (size--) - * crc = crc32_tab[(crc ^ *p++) & 0xFF] ^ (crc >> 8); - * return crc ^ ~0U; - * } - */ diff --git a/sbin/hastd/crc32.h b/sbin/hastd/crc32.h deleted file mode 100644 index 3812a83f971f..000000000000 --- a/sbin/hastd/crc32.h +++ /dev/null @@ -1,28 +0,0 @@ -/*- - * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or - * code or tables extracted from it, as desired without restriction. - * - * $FreeBSD$ - */ - -#ifndef _CRC32_H_ -#define _CRC32_H_ - -#include /* uint32_t */ -#include /* size_t */ - -extern uint32_t crc32_tab[]; - -static __inline uint32_t -crc32(const void *buf, size_t size) -{ - const uint8_t *p = buf; - uint32_t crc; - - crc = ~0U; - while (size--) - crc = crc32_tab[(crc ^ *p++) & 0xFF] ^ (crc >> 8); - return (crc ^ ~0U); -} - -#endif /* !_CRC32_H_ */ diff --git a/sbin/hastd/hast_checksum.c b/sbin/hastd/hast_checksum.c index f7ef6a64b4e1..dccba3752cb1 100644 --- a/sbin/hastd/hast_checksum.c +++ b/sbin/hastd/hast_checksum.c @@ -33,10 +33,10 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include +#include #include #include "hast_checksum.h" @@ -49,7 +49,9 @@ hast_crc32_checksum(const unsigned char *data, size_t size, { uint32_t crc; - crc = crc32(data, size); + crc = crc32(0L, Z_NULL, 0); + crc = crc32(crc, data, size); + /* XXXPJD: Do we have to use htole32() on crc first? */ bcopy(&crc, hash, sizeof(crc)); *hsizep = sizeof(crc); From nobody Fri Feb 3 08:05:38 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7Srk4gZRz2nKhp; Fri, 3 Feb 2023 08:05:42 +0000 (UTC) (envelope-from se@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7Srk482nz4YT0; Fri, 3 Feb 2023 08:05:42 +0000 (UTC) (envelope-from se@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675411542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/a4gt/v0jIswwX/89wRjY467DBqyKBeSyC0cjpwytUM=; b=CKAApACdcTEqTwWzqrHc5CiUbeqOdLtHqxqE1p6Rl8TY40gKqSLj1oCewvSaVM/eNkyTz+ nDzvKNxU6r/c5S3eVkBOd+plSQWSUZnFbw0X9fxdelATfJQh3x0uQFKX6rhqE/kgRSV+ok NsBO+/j1ZmzfHX9nlg9RbKp17S6DdoIyuU+q/9lP/9UgIB84yHuM49llRZWAqQNDJoyQRO 1XOZTl4ORDeDdiBvGhVo9MN/wNNwjnrDUskQ2NUapyLfeEhcSXCVJMLftist/vDgkwrqb6 om5nEO6qmKxjIKrluxGj7lp2A46guBMwWygq7OeNTZvBnelidDY7cP3tg11rXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675411542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/a4gt/v0jIswwX/89wRjY467DBqyKBeSyC0cjpwytUM=; b=quphINa7eiztUmSNLTdF9gKFcks6NQC1dwvXaryEUwB/C+Fn7lx/WbgiN7W+9p4Ys23dOR VKf2kSQP6zIy5MokIhjDwKt9TVfCIGaJcQ32Jeoasdh4o3F6LRpxjKo8EIE6T0r1zgUDBI GHTnlYTKHU1SZIUWdn18zcQf9v1WDnsXFWL6PEX6YlN3D6i6UZUYijeQ8Lnl+W3LKl+MFx caYZ25oi501buf8oO6Hbj2QtmIy0VjzB+GlI4dple0rajYdIEwG5827PH71JydLNRInpkD HlaOttZQjQGR8+o5Y3SigzquJEwZu9u1qG7cxoumxySpDW9dOGPUsrI+vfXcCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675411542; a=rsa-sha256; cv=none; b=O4Dtkoksp5yRVlXJsPAbnDb9d5XvOJEnDXkrcc2GrYUTvX2wmpWYQbxXEaYzza8BJxniXp yby5Sri/E9x3KCSFEvqjmmXNEK2wK6ne/xNw5/fJAAy0WKbte3jS+9/DOmYW9cFWCe/Q+H /iC2OHTaYM+wqwq1+CQmCcUctn6kn+5VWaQNPSN8CQcS9tTqGf6ArNDZRY2Y5HPufO8FhU yPzilF7GVgH3UKlXb9qpUXVRYAiDJfUWy4ZY5TccytywWilA+m5bLyb1Yzu5K24D88ZtPu SHOAW4XU5soHHQpXR6mfLvnKOqqt5w3WKG+M96l3sioyAde3Dn0ThZHxIhxS6A== Received: from [IPV6:2003:cd:5f2a:1000:518f:9dc7:5584:f23b] (p200300cd5f2a1000518f9dc75584f23b.dip0.t-ipconnect.de [IPv6:2003:cd:5f2a:1000:518f:9dc7:5584:f23b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: se/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7Srj6SR6zplq; Fri, 3 Feb 2023 08:05:41 +0000 (UTC) (envelope-from se@FreeBSD.org) Message-ID: <267649f3-7334-57e1-59aa-d064775ab5d6@FreeBSD.org> Date: Fri, 3 Feb 2023 09:05:38 +0100 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 From: se@FreeBSD.org Subject: Re: git: 6998572a74a9 - main - hastd: use zlib's crc32 implementation. Content-Language: de-DE, en-US To: Xin LI References: <202302030714.3137EVRQ088519@gitrepo.freebsd.org> Cc: dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org In-Reply-To: <202302030714.3137EVRQ088519@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N Am 03.02.23 um 08:14 schrieb Xin LI: > The branch main has been updated by delphij: > > URL: https://cgit.FreeBSD.org/src/commit/?id=6998572a74a98721781ecd5b6829435259f9825a > > commit 6998572a74a98721781ecd5b6829435259f9825a > Author: Xin LI > AuthorDate: 2023-02-03 07:14:21 +0000 > Commit: Xin LI > CommitDate: 2023-02-03 07:14:21 +0000 > > hastd: use zlib's crc32 implementation. > > Reviewed by: pjd > MFC after: 2 weeks > Differential Revision: https://reviews.freebsd.org/D35767 This commit broke sbin/hasctl, it still wants to use the removed crc32.c from the hastd directory. The following patch is untested but did allow buildworld to finish. (Untested, since I do not use hast.) diff --git a/sbin/hastctl/Makefile b/sbin/hastctl/Makefile index 00c89ef4f743..3f2198e74df6 100644 --- a/sbin/hastctl/Makefile +++ b/sbin/hastctl/Makefile @@ -7,7 +7,6 @@ PACKAGE=hast PROG= hastctl SRCS= activemap.c -SRCS+= crc32.c SRCS+= ebuf.c SRCS+= hast_checksum.c hast_compression.c hast_proto.c hastctl.c SRCS+= lzf.c @@ -33,7 +32,7 @@ CFLAGS+=-DINET6 CFLAGS+=-DYY_NO_UNPUT CFLAGS+=-DYY_NO_INPUT -LIBADD= md util +LIBADD= md util z YFLAGS+=-v From nobody Fri Feb 3 08:31:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7TQJ63GKz2nLW6; Fri, 3 Feb 2023 08:31:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7TQJ5Y69z4b8R; Fri, 3 Feb 2023 08:31:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675413080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rt+mCxQXjl2D+mWGwK33XpLr6Bb/ihMSyaIkAYlTxwY=; b=BiJTUfFQhLZr7QxNFo8oAvYNIZP4MkDVkcW3/6wUMs0JuZHKxy+GAA67vBQyncEmoHucE9 98HAWDDJ82v03Hn74vdPouVo2ozCAz+h0a8RN+D5SRIMi9bVX5thbewNpB0NEUGYhMmT7Z c/BayqZqIiDNFUwTDkCgNqthj3x/JTYcKHNf5+dDqZcaGxiAyh6LKCjSkz/kbTTKTIAQPJ C2DoB7rFH6mKuxQWEiSImR4esGkgXaTw+yzjTxOgQU+GBfp80on6xB7WD6LEV56xFCBgvQ qhTbSACyfRJGL7NU2owKRhr83v5k59t+4+3Bflbjeflk0QaIgRG233s1ynLLpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675413080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rt+mCxQXjl2D+mWGwK33XpLr6Bb/ihMSyaIkAYlTxwY=; b=o0iKbJvrLOI255LsflCxBFR31FjNauESo1r+MXq99hFC6PyCXXta715ofkxavx5jsXOZ7W TeFVV0m7CWEOKWvAzVim7w9ZAtSWr+f3EzDfABtr6R0O75/w4JrmR+qjcEj2bM88+g/XDs F6VyhjagNtcxltV0oBe0d5xTVlYf1GKqyKZemnK8aegdx+mdAMjUYBMbA0QZU4T8wWEt+k 96unjfqQlEJy5HHFVnMh/cJ//BJCVKLmj3ZmLajlHh39Q9CffQJN/px9CpR/SsUX6hyRYO P8HQMpcB1lNgA4Wu+ZcLt3rCyMhwtYzggL+1qrvYS0SJdtH6fc53GAdv/4+1bA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675413080; a=rsa-sha256; cv=none; b=LDoSo1OtVY8xj81nkuvkdcQPg1lbCU27feYWVEkUiL9vfUx69qMGnWAslA5rIhcpE8GWLK Cpr8QTr5m/ZRyG93zcCc2YvGQdNbye9M6IRub2Z00Vof1DXuNmddK7nEgRVM3mysqbTBJ2 PkLsnlIyjKuMdRglTK+tFwoB9cFIjRH84rJpydt8Cl5+3xt6a5AyvBZEiAgDHwaxe/V7Ge 4aowzhJeN5zDbrx1f7d0hRRDbwVADe/xGxVv8Xq7aE2Xdya28IL+SxSw1pqVBykpxh+oo1 kV+zOYRZamGL2F0tfnam57Uev4kX5E+eF/LzahLW69/BBqwpJq/enxDtBtMbjQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7TQJ4cr7zSn9; Fri, 3 Feb 2023 08:31:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3138VKKw097488; Fri, 3 Feb 2023 08:31:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3138VKEI097487; Fri, 3 Feb 2023 08:31:20 GMT (envelope-from git) Date: Fri, 3 Feb 2023 08:31:20 GMT Message-Id: <202302030831.3138VKEI097487@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: fdbfaefefa58 - main - hastctl: use zlib's crc32 implementation. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fdbfaefefa585537273955fc88d7daf5e86c6f2d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=fdbfaefefa585537273955fc88d7daf5e86c6f2d commit fdbfaefefa585537273955fc88d7daf5e86c6f2d Author: Xin LI AuthorDate: 2023-02-03 08:30:08 +0000 Commit: Xin LI CommitDate: 2023-02-03 08:30:08 +0000 hastctl: use zlib's crc32 implementation. X-MFC-with: 6998572a74a MFC after: 2 weeks --- sbin/hastctl/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sbin/hastctl/Makefile b/sbin/hastctl/Makefile index 00c89ef4f743..3f2198e74df6 100644 --- a/sbin/hastctl/Makefile +++ b/sbin/hastctl/Makefile @@ -7,7 +7,6 @@ PACKAGE=hast PROG= hastctl SRCS= activemap.c -SRCS+= crc32.c SRCS+= ebuf.c SRCS+= hast_checksum.c hast_compression.c hast_proto.c hastctl.c SRCS+= lzf.c @@ -33,7 +32,7 @@ CFLAGS+=-DINET6 CFLAGS+=-DYY_NO_UNPUT CFLAGS+=-DYY_NO_INPUT -LIBADD= md util +LIBADD= md util z YFLAGS+=-v From nobody Fri Feb 3 09:08:27 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7VF95L2Wz2nNC8; Fri, 3 Feb 2023 09:08:29 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7VF94tQSz3DFQ; Fri, 3 Feb 2023 09:08:29 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675415309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=h8cfAvwnpk7vv2qRj/nSWY7WKm8oFaE2fmKTQes1kxU=; b=rsqhehXP/5sFZcFNIEirFQg+DwDY9XFXIeR23irYYz5tY7Orbsnowh6Fp7wHBWolyMunIe gW4akcWPul9I3yaAdD/LL3PG6I6bCVRwOR2cym7NmVg2xa65wZBJcyThDPQGoY6DEGQoDS 0f31ZRhGHLankyoXin7jrZlHczs2bietCOPrLsUutNCk0G1E8wF7VPu+OnIBuZPuKWVlH8 xHBERJs3vaHPuxLTyirPM6jAYl4HRUa1ZozaL1/Ymg8VdO95LnOFs60cxLyaxp60kLlXjQ 3fy4Ea91TQW8AXARzAzoeLepv/iTRviAMRcWr9xlToB7XtErMds/bV/773lhwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675415309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=h8cfAvwnpk7vv2qRj/nSWY7WKm8oFaE2fmKTQes1kxU=; b=Fz8hW+n/3M/Yj5Vtzz+aAuLNMpdl5091YhC5QpR3OUtnqJzzvUaKPCjm9ucEwUBZWNwlg7 vN1pC1oOusa6Isy5xvPVV+HS+ri86ZkuplvIxNyubENxFihFlmfRQt0L3GzLOE4OLiOlV7 RFmKwUtI5tnYThDaKZCVIVCZpFzesPwiuOms+LYVlipoQ/6AVSkPFqM+Wj4WSJpvbBQWuR EIh1sMtu2P3V+kTiaV6sBL9feBADXvJkHBl2W4DmIJ0fKyhpVkG8atxuVl2Jw6gLxUpawm zdWw222x1e4bUQX2REQeRUpX9bXMIxfCMm/X9d7pyNmhaeAbIRBJLsXpNEPrAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675415309; a=rsa-sha256; cv=none; b=Bq+jKpDJlxBiuqoNVuWX5pi2LQnIUsuNzHcyiMaih6aUXHMdSsmu8uEmh/SP23y5dfsTIS KT8ys6U1PX+K51EELmWYJ6GfKUzL4RJcVXT+6nlssXvXjYIAFyu7igAnzQNT05K/08Few+ bMdcRyK7pSYujQUYmv8OM3duSe8XT2/lDoCGk4sUhAAE94aKegkdV/JC4ksBayan0A/VTf 8Ghcki5ytSn5oCWcNf+BFduaVQe7a8JHMotBqZikHYMGgWW8U69ns9rCmBJP7PCupn9GEK BR5yl7taidp67MpwA7/X8CYm/d0q9sA59Ah+MT6zpXf9E3MrdJ34jkg5p7YU5g== Received: from ltc.des.no (unknown [178.232.223.163]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7VF935sFztMs; Fri, 3 Feb 2023 09:08:29 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.no (Postfix, from userid 1001) id 5836DB6AE2; Fri, 3 Feb 2023 10:08:27 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 69d94f4c7608 - main - Add tarfs, a filesystem backed by tarballs. In-Reply-To: (Konstantin Belousov's message of "Fri, 3 Feb 2023 01:35:10 +0200") References: <202302021720.312HKDQG099212@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (berkeley-unix) Date: Fri, 03 Feb 2023 10:08:27 +0100 Message-ID: <86y1pf2k1g.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N Konstantin Belousov writes: > In tarfs_reclaim(), neither vnode_destroy_vobject() nor cache_purge() cal= ls > are not needed. Does this also apply to tarfs_zreclaim()? DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Fri Feb 3 09:39:54 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7VxQ3fTzz2nPrT; Fri, 3 Feb 2023 09:39: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 4P7VxQ3D7lz3GWf; Fri, 3 Feb 2023 09:39:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675417194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Fp8SBJ1w/sCzGKxplNhWXgxu9ISmQ3H4bWgX01Rcfg=; b=wjCYMd4YpX6z8I/AJM4KAa5ZC2Hy4TOHPLOMHDKRDSR4GZgiOnVS2BXdsvrQjDcBC6Nbxq JL4TfktoLMLBNBfDjWR0BM/ToATkutyTb6lYTSVQnCNOA1wiGVSxmR3zvHkv7+geW5tQ7e tqkzPEiz5CR8shlpVBYu/p/8nCy8tJLxNK0iLKuSb4Icaia+iKq5XMyRhqj+Nt+dJH+n61 Alo61lgXXAdUGWewuEvyQRm6vvx8xnIuWAwzwnkqh77vq16CxW08v/sTOBPsPLMpXtJEjH C2JbzjVcjngCQiIUPDh+exwlhpmYOyqlqbbvxPjrGRoiDyl0oWJuZj86ic+Log== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675417194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Fp8SBJ1w/sCzGKxplNhWXgxu9ISmQ3H4bWgX01Rcfg=; b=TKTAu5JiztL2LpgWUfbxy7p3waUHn3A6ihwHt0MvyZLS+rWTtdKbqP0lkysw/niNGP/lml UGolJZb/g4C1pPRLCDBuemraWo2ikulSlwlLR8rDFC8HTx/WzfNKk7i4AFue8xHlNkPZeR pKAzyn1JzYGL5Odb11U8A2iH+6i/Lw+uGijXRJR5fmplqVM6RVk7IlnrQkfEGv0dnLS6kP rfo3L139Mg1Ov1fjDx8tDajZSepRmfpidwkqjggjfGKUnVEqI++saWqVm+rnsZYUUQ2y+u uQMXYP4sBy/VTeQ6Z6E8qAWTz9bq+JKjLUAo6eDwDYPyGbY0rndbK5OSV+o5NA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675417194; a=rsa-sha256; cv=none; b=XpXZSRb4uXRVxlrsV/iHRZCvJTDR6cSBZ0SIPD/eFJsgi3JhSWcoIvf0TA+fM4O/JcozW3 xpXxVyd/PLhu2A98GaMowy4Dm25hjh5GVijkXltJhx6oCpYhmpVY421AUPnnwSCXFlJkop V7EbPw+M1rgw6IgPsAWG4uqsjIATfMDhXS8GHGI3hqzbYoLYrOsp24uXY2LZXEmsHkzn++ 20Q3Ft9HFyvoYQnwTL60S28sifcv+LvZl1hT8wK5lTOlNoamG420i97YCx9Im20MU7Q+wG s2asO7zDDE65sd+3rE2V+sOuFG2dpGJQ/T1qBqpfWFP6/h5ftGuNRuaS2hmN+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 4P7VxQ2BXtzVFH; Fri, 3 Feb 2023 09:39:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3139dsQZ087434; Fri, 3 Feb 2023 09:39:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3139dsOq087433; Fri, 3 Feb 2023 09:39:54 GMT (envelope-from git) Date: Fri, 3 Feb 2023 09:39:54 GMT Message-Id: <202302030939.3139dsOq087433@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 0ed5f66c5ad2 - main - pfsync: add missing bucket lock List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ed5f66c5ad23a6fe02d60765acf5e5e00957542 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0ed5f66c5ad23a6fe02d60765acf5e5e00957542 commit 0ed5f66c5ad23a6fe02d60765acf5e5e00957542 Author: Kristof Provost AuthorDate: 2023-02-02 09:34:57 +0000 Commit: Kristof Provost CommitDate: 2023-02-03 08:39:09 +0000 pfsync: add missing bucket lock pfsync_q_ins() expects us to hold the bucket lock, but when we enter it from pfsync_state_import() we don't. MFC after: 2 weeks --- sys/netpfil/pf/if_pfsync.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index 3aa9bbfb633f..2301dc475e27 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -605,7 +605,11 @@ pfsync_state_import(struct pfsync_state *sp, int flags) if (!(flags & PFSYNC_SI_IOCTL)) { st->state_flags &= ~PFSTATE_NOSYNC; if (st->state_flags & PFSTATE_ACK) { + struct pfsync_bucket *b = pfsync_get_bucket(sc, st); + PFSYNC_BUCKET_LOCK(b); pfsync_q_ins(st, PFSYNC_S_IACK, true); + PFSYNC_BUCKET_UNLOCK(b); + pfsync_push_all(sc); } } From nobody Fri Feb 3 09:39:55 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7VxR3fsYz2nPj3; Fri, 3 Feb 2023 09:39: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 4P7VxR32lPz3GFd; Fri, 3 Feb 2023 09:39:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675417195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4c8ohkpKs13IdJQS5UTZ3hfO3ATTc9NzXFCIrzWbyzE=; b=Hr2K54ih3k/mFLJqu5NqWMVH0sLa5OjkHOKjykNKs+Kdf3PsAKX/GOll+xkSBllX9grXRf NtLPVVaxCbuEb7h3JIpmzbauc3NBV+XDGUgEp290qgdIjzAfo7P2/C8f5uonsmUZlau4LC kP0q5pG54V4sQ436MdSA9TT/8mb47sV/XVI3EYcCgSQDbq9bT18h57oH/6Tia9N7s1HVsz bKTRvU9JSzJpAXfLKYqqVwEh3ye4/vwyHlK3CSoMBF1zIfOudp8q0Yprzpl8OO1tlAzKWE Vaa9ly/rISe75VwdpgjnpFejiEubPSa1A72KDSk+HHcl650kWNBOwvxMKuoD3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675417195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4c8ohkpKs13IdJQS5UTZ3hfO3ATTc9NzXFCIrzWbyzE=; b=DraY1xsfp0mnMqNuYISrviQqJBGCXtHAHll7fAqKiUtSxC/AkJ4B3EGo1fCXfHtsm7krqr lttxepnZ2w71YLClyLLP3DBXYKS/vzmB8fUmKdW+NuCCWcdOANN5zP7w2QDQCxkh8EhfiO Sotll419t0B00LoRwbBYHaXtfIfCLR61R5QwoksMYgmRjEgPjxuQdAJIch8hPf9hBoNwn+ wmG++VQyUeWy4pMxYf0b9JxFK2iGgFgqGLLDjYFf6LKZloqZuu68Ly8UZbx2Tu0NtW5xIL +PoffmJu9yDkjCV6NP3m/lMo92+lzUwQyNA1atia5Ux84bDyEyZfWsYxWlEPgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675417195; a=rsa-sha256; cv=none; b=do1RdFDxjB79e/O4q6v38EosWKNJQ0epRwBbRlH9TyYqXdvkR0OmEfXdxTdDJv0tZb+ogb 1kDrbA5unKahPGC4/lQ1IWKxuXWQi06dvJ/hZxbK+67U8rj3258ES4LMHyVrOvq18gm1Zi xXxuM/aQ7UiJEYA/gASDuYcqUT34OkNvqf3VgpLate+sorGGtX0Zups5nyX3cotHa3njX/ coJ0PAtz11u0D4KBSgZ6WojI8LRUnsBFPTKwR9Wvgf9IKEwb+QXpleH+a+07/8Pdio8w67 isx3/pmr4nd//lWktMrqfCu8CCOaWr9jpl/RF0GXbBKeZIQRm8cr7pZFYDWunQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7VxR26VHzVYq; Fri, 3 Feb 2023 09:39:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3139dtUq087464; Fri, 3 Feb 2023 09:39:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3139dtxh087463; Fri, 3 Feb 2023 09:39:55 GMT (envelope-from git) Date: Fri, 3 Feb 2023 09:39:55 GMT Message-Id: <202302030939.3139dtxh087463@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: afa77b699651 - main - pf tests: improve pfsync:basic_defer test List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: afa77b6996513df98fd27f91ae4c9fe57f7ac4b2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=afa77b6996513df98fd27f91ae4c9fe57f7ac4b2 commit afa77b6996513df98fd27f91ae4c9fe57f7ac4b2 Author: Kristof Provost AuthorDate: 2023-02-03 03:10:32 +0000 Commit: Kristof Provost CommitDate: 2023-02-03 08:39:21 +0000 pf tests: improve pfsync:basic_defer test Create state on output only, to ensure we trigger the defer code. MFC after: 2 weeks --- tests/sys/netpfil/pf/pfsync.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/sys/netpfil/pf/pfsync.sh b/tests/sys/netpfil/pf/pfsync.sh index 21cc2ed87906..7b8268216734 100644 --- a/tests/sys/netpfil/pf/pfsync.sh +++ b/tests/sys/netpfil/pf/pfsync.sh @@ -73,11 +73,11 @@ common_body() jexec one pfctl -e pft_set_rules one \ "set skip on ${epair_sync}a" \ - "pass keep state" + "pass out keep state" jexec two pfctl -e pft_set_rules two \ "set skip on ${epair_sync}b" \ - "pass keep state" + "pass out keep state" ifconfig ${epair_one}b 198.51.100.254/24 up From nobody Fri Feb 3 10:01:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7WQ94Ctjz2nQy9; Fri, 3 Feb 2023 10:01: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 4P7WQ93nqtz3J25; Fri, 3 Feb 2023 10:01:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675418481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VY0FQPGa+SZdYlh4ySUvk3Nj47mFqi9Rw6+3NNkpdxo=; b=G4KnlmSVK6I+XrW/rrK7Vbwlqy+CaNNVA34K2Wves2gN8+BeSBqj5rfG/o296l2J4P9sLe OYfLzv2bmY/dQlWocFVZmkaejDtVDALFtRom8L2X6afqKvNX5LQcIF4nfBSSdPpqkDCISz JOzEhQnxM3WNOUK3RfziPt2Ua1siCOodTYbsiQoRTMjtM0K3rvO+U4MkeIcw72bBg0WWaz tGMpqQDOvYztLD1ueMv95wG0NPgk/4Evwcw/NrJ1QHT19qE4jIIUxAKF1SZpzdaHJmjQrm OsLFqWHnkJCV3OhZyboK/ue+FXfF0LUUf3MfWrIXoRQehQvNweWRwS0urxe6HA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675418481; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VY0FQPGa+SZdYlh4ySUvk3Nj47mFqi9Rw6+3NNkpdxo=; b=LhXjeEPYV1s/+0ju3dBLFal07ZRmcndEpa6eVgxn105wPcbzhwr/C9knRZtPicYTG9rGER ha5ipnnPKz08ZamfEcYP39zu5RaICVZzJItYPYjBlfUHj/l95rZB9SF9bcEYOtpYLmEoSZ +cY8MkAy6IQ7NLTHl53h8HD9IHckCzipBFWN4awLB91WwplLqXPMwlF8TJ2H5RAdvRQCcq wW9RFgwMpx7H0ZxUPVqpKqJ9yAdkUwNbxd/xV7WN/vt7b3Zi2MxQI6lEn65/I5N8Qs8Ok1 GMpCG3VK45sXHsPB/tdYewOOATfiuoVcD7Rn/6dbj71BaeFbN1Kdj0IHHQ+zSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675418481; a=rsa-sha256; cv=none; b=FMxuDOcG1V6IP1g/Nu6D+VBTSyKF4xvJ0JfuvEvrfxPMAvO8a/QumdpPqZVGYXxRrGEvn0 A9R5zMEFZEoAXV94FgcrQPgyorzg1i8TCQGS42pJcVNfdk6qh0RAfVE+Aiz9wL4qThsWGd We+B/ootqNhrzNGe8+txY0phYGnt2c234p/WK1LLlEV1FeasaZO8oe4O4FEJOMeraCcC8d fOC2R3X3UCqWHd59WvvbbgGQsz/+3glt0JhvyMMSQiFaSsEZkRu/oiKrD7Azf1M0VDQzhX DO+X7/6e69gcddp+Tw46UJ1yXnIFUt5EAiXpbewRDimy/x4KFZWFi3Pn9qs9ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7WQ92t7vzW9q; Fri, 3 Feb 2023 10:01:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313A1Lc1029578; Fri, 3 Feb 2023 10:01:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313A1LVC029577; Fri, 3 Feb 2023 10:01:21 GMT (envelope-from git) Date: Fri, 3 Feb 2023 10:01:21 GMT Message-Id: <202302031001.313A1LVC029577@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: a1f8a0c793c6 - main - efiserialio: use port settings (sio->Mode) for initial setup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1f8a0c793c67ab5854035e017f34d3d016b6d0d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=a1f8a0c793c67ab5854035e017f34d3d016b6d0d commit a1f8a0c793c67ab5854035e017f34d3d016b6d0d Author: Toomas Soome AuthorDate: 2023-02-02 14:01:02 +0000 Commit: Toomas Soome CommitDate: 2023-02-03 09:53:32 +0000 efiserialio: use port settings (sio->Mode) for initial setup Use serial port setup done by system firmware. ARM64 Hyper-V does hung if we attempt to override the defaults, therefore we should default to use settings from firmware. Tested by: schakrabarti@microsoft.com PR: 266248 MFC after: 1 week --- stand/efi/loader/efiserialio.c | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/stand/efi/loader/efiserialio.c b/stand/efi/loader/efiserialio.c index 8b3f8e83e0b3..375e679d2590 100644 --- a/stand/efi/loader/efiserialio.c +++ b/stand/efi/loader/efiserialio.c @@ -40,19 +40,17 @@ static EFI_GUID serial = SERIAL_IO_PROTOCOL; #define COMC_TXWAIT 0x40000 /* transmit timeout */ -#ifndef COMSPEED -#define COMSPEED 9600 -#endif - #define PNP0501 0x501 /* 16550A-compatible COM port */ struct serial { uint64_t baudrate; - uint8_t databits; + uint32_t timeout; + uint32_t receivefifodepth; + uint32_t databits; EFI_PARITY_TYPE parity; EFI_STOP_BITS_TYPE stopbits; - uint8_t ignore_cd; /* boolean */ - uint8_t rtsdtr_off; /* boolean */ + uint32_t ignore_cd; /* boolean */ + uint32_t rtsdtr_off; /* boolean */ int ioaddr; /* index in handles array */ EFI_HANDLE currdev; /* current serial device */ EFI_HANDLE condev; /* EFI Console device */ @@ -257,18 +255,16 @@ comc_probe(struct console *sc) size_t sz; if (comc_port == NULL) { - comc_port = malloc(sizeof (struct serial)); + comc_port = calloc(1, sizeof (struct serial)); if (comc_port == NULL) return; } - comc_port->baudrate = COMSPEED; - comc_port->ioaddr = 0; /* default port */ - comc_port->databits = 8; /* 8,n,1 */ - comc_port->parity = NoParity; /* 8,n,1 */ - comc_port->stopbits = OneStopBit; /* 8,n,1 */ + /* Use defaults from firmware */ + comc_port->databits = 8; + comc_port->parity = DefaultParity; + comc_port->stopbits = DefaultStopBits; comc_port->ignore_cd = 1; /* ignore cd */ comc_port->rtsdtr_off = 0; /* rts-dtr is on */ - comc_port->sio = NULL; handle = NULL; env = getenv("efi_com_port"); @@ -292,8 +288,17 @@ comc_probe(struct console *sc) (void**)&comc_port->sio, IH, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL); - if (EFI_ERROR(status)) + if (EFI_ERROR(status)) { comc_port->sio = NULL; + } else { + comc_port->baudrate = comc_port->sio->Mode->BaudRate; + comc_port->timeout = comc_port->sio->Mode->Timeout; + comc_port->receivefifodepth = + comc_port->sio->Mode->ReceiveFifoDepth; + comc_port->databits = comc_port->sio->Mode->DataBits; + comc_port->parity = comc_port->sio->Mode->Parity; + comc_port->stopbits = comc_port->sio->Mode->StopBits; + } } if (env != NULL) @@ -494,7 +499,8 @@ comc_setup(void) return (false); status = comc_port->sio->SetAttributes(comc_port->sio, - comc_port->baudrate, 0, 0, comc_port->parity, + comc_port->baudrate, comc_port->receivefifodepth, + comc_port->timeout, comc_port->parity, comc_port->databits, comc_port->stopbits); if (EFI_ERROR(status)) return (false); From nobody Fri Feb 3 10:11:25 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7Wdy6WCJz2nRBX; Fri, 3 Feb 2023 10:11:34 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7Wdy61g1z3M1Q; Fri, 3 Feb 2023 10:11:34 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675419094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=kBLA7rQaEmwG/ZzsEYbYxfOVtHUviqwln5DDfKiHuj8=; b=RFiEv4Vn6PPDBG7vEas79jTK3orMEoxooTwVet/PHZ5dUUPo5qSHAArWiIpI3i0i4hD2EM xJPrkecAttSAVerc0RkHpmj8crIuX+75fX7VQMCGUh2Dwv77EDDHrpXGTkGz8RGQoe4P1q UEuE2T+vLFpGD7XfN3hVQKDGYOjblGSUY8FUCDtghwiTzkec6vf4vEl8AHtVm2EDlVgX98 Pedoo3AnugGVEQ1HLpZQJcmd/uymKvcmX8GC/NsCoGJc6Yro+KnoVW1STbs3sdZccwEVFd 3DkFzd5JruXqggrqP3Yc5r4Jgans/IioGJvl56Tv+XRuCFPameuxEXXX3V2Ysg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675419094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=kBLA7rQaEmwG/ZzsEYbYxfOVtHUviqwln5DDfKiHuj8=; b=Nem+Pu+C78xAohs/t09MIz1sqY4T67F5kZ9CPHRLYaNIvAeN4rKkkfZblt7NfX1z3/MYQy DgvXEHpAJUsc9AFqEDVGUTHcEjGhlSAxI8U82MlXopWCAB5UcdxF5nETj0TCbECw9Vl2w4 wRlcgA1WaE0zX/Owx+WLBb8jTcPq8DiW7DVRZggHGef3CpIlDU4IWKch+RcEcnXOgK2ybe NtAUeUGW5xQwX3o6EGd8FV/be/SSe/W90C+MNygRhHwwXZ9hCO49G2woYFC+cRAcAX5N7n G0G4MkPhzTECFeMNdKAeqckX/QKaTYMkr2X5GqQSwd8Ld1xKvPkBVBGhH3LWzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675419094; a=rsa-sha256; cv=none; b=So+gLLjOeo4Oe9wtrr6nW9vOyHtzK/wxOLjJNHGqSb0YFgSZr3WyxhMqcafngxWhHR8Lhk 1fEC61kBqxF046M8lyGAygwlxywzTRt0614DgOcB8uUgIXd0yP7ZZVHUJ55LcqO/hEcZko xdcpMDgyrNPUXreaftjQQqSNy5wCjZPkGhphVpiAd+aQqAd6GNoDKFrQfP2skmEvbD7eYk e+7vHRRRocvbp95d4PsPo4WH/qGcFMhJb/BdzLXPzOgZHNDU55zKpbhLB6F1TBk7XgyMX0 O4j7ZlMxvoQR8owvD7obGv4LDMz5Gr9jQ5hilmUm+HWZ5xxgC2TAnYDYfQqbFQ== Received: from smtpclient.apple (ns1.oxydns.net [45.32.91.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zlei/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7Wdx2gglztZj; Fri, 3 Feb 2023 10:11:33 +0000 (UTC) (envelope-from zlei@FreeBSD.org) From: Zhenlei Huang Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_281FF14D-CED0-49A3-816F-155DC72D3787" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.2\)) Subject: Re: git: 8bce8d28abe6 - main - jail: Avoid multipurpose return value of function prison_ip_restrict() Date: Fri, 3 Feb 2023 18:11:25 +0800 In-Reply-To: Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org To: Gleb Smirnoff References: <202301131046.30DAkA0F024400@gitrepo.freebsd.org> X-Mailer: Apple Mail (2.3696.120.41.1.2) X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_281FF14D-CED0-49A3-816F-155DC72D3787 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Hi Gleb, > On Jan 14, 2023, at 3:39 AM, Gleb Smirnoff = wrote: >=20 > Zhenlei, >=20 > a couple concise assignments missed: >=20 > Z> @@ -1876,15 +1871,15 @@ kern_jail_set(struct thread *td, struct uio = *optuio, int flags) > Z> continue; > Z> } > Z> #endif > Z> - if (prison_ip_restrict(tpr, PR_INET, NULL)) { > Z> - redo_ip4 =3D 1; > Z> + if (!prison_ip_restrict(tpr, PR_INET, NULL)) { > Z> + redo_ip4 =3D true; > Z> descend =3D 0; > Z> } > Z> } > Z> } >=20 > redo_ip4 =3D !prison_ip_restrict(tpr, PR_INET, NULL); I think that is wrong, as `prison_ip_restrict` is called in loop round. `redo_ip4` might flip to false on next round. So the previous logic is right. > + redo_ip4 =3D !prison_ip_restrict(tpr, PR_INET, &ip4); Should be `redo_ip4 |=3D !prison_ip_restrict(tpr, PR_INET, &ip4);` >=20 > Z> @@ -1896,8 +1891,8 @@ kern_jail_set(struct thread *td, struct uio = *optuio, int flags) > Z> continue; > Z> } > Z> #endif > Z> - if (prison_ip_restrict(tpr, PR_INET6, NULL)) { > Z> - redo_ip6 =3D 1; > Z> + if (!prison_ip_restrict(tpr, PR_INET6, NULL)) { > Z> + redo_ip6 =3D true; > Z> descend =3D 0; > Z> } > Z> } >=20 > redo_ip6 =3D !prison_ip_restrict(tpr, PR_INET6, NULL); >=20 > --=20 > Gleb Smirnoff PS, the logic redo_ip4 / redo_ip6 under low memory pressure can be = optimized and I'll do that later. Best regards, Zhenlei --Apple-Mail=_281FF14D-CED0-49A3-816F-155DC72D3787 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii Hi = Gleb,

On Jan 14, 2023, at 3:39 AM, Gleb Smirnoff = <glebius@freebsd.org> wrote:

=  Zhenlei,

a couple concise assignments = missed:

Z> @@ -1876,15 +1871,15 @@ = kern_jail_set(struct thread *td, struct uio *optuio, int flags)
Z>   continue;
Z> =   = = = }
Z>  #endif
Z> - if = (prison_ip_restrict(tpr, PR_INET, NULL)) {
Z> - redo_ip4 = =3D 1;
Z> + if (!prison_ip_restrict(tpr, = PR_INET, NULL)) {
Z> + redo_ip4 =3D true;
Z>   descend =3D 0;
Z> =   = = = }
Z>   }
Z>   }

redo_ip4 =3D = !prison_ip_restrict(tpr, PR_INET, NULL);

I = think that is wrong, as `prison_ip_restrict` is called in loop = round.
`redo_ip4` might flip to false on next = round.

So the previous logic is = right.

> +    redo_ip4 =3D !prison_ip_restrict(tpr, PR_INET, = &ip4);

Should be `redo_ip4 |=3D !prison_ip_restrict(tpr, PR_INET, = &ip4);`




Z> @@ -1896,8 +1891,8 @@ = kern_jail_set(struct thread *td, struct uio *optuio, int flags)
Z>   continue;
Z> =   = = = }
Z>  #endif
Z> - if = (prison_ip_restrict(tpr, PR_INET6, NULL)) {
Z> - redo_ip6 = =3D 1;
Z> + if (!prison_ip_restrict(tpr, = PR_INET6, NULL)) {
Z> + redo_ip6 =3D true;
Z>   descend =3D 0;
Z> =   = = = }
Z>   }

= redo_ip6 =3D !prison_ip_restrict(tpr, PR_INET6, NULL);

--
Gleb Smirnoff


PS, the logic redo_ip4 / redo_ip6 under low memory = pressure can be optimized and I'll do that later.

Best regards,
Zhenlei

= --Apple-Mail=_281FF14D-CED0-49A3-816F-155DC72D3787-- From nobody Fri Feb 3 14:45:17 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7djp2jwHz2pCXB; Fri, 3 Feb 2023 14:45:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7djp21tcz4MHM; Fri, 3 Feb 2023 14:45:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675435518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xuDfiYIIASi7tL9vxo6ECLqjFJLiY1evaIL1p0Cwyzk=; b=bZqMDr1MRKmSOxeYguiD435YOZkhNNGwSIkaD7uzX4vE0S5h+YztDsEsWYFsVAtLPOXdaH FPw4UDd2F2EKA10a21UiRaeO0GodzwWdxsfu03VZHBuWvPEcECUbo95XZh8rNgI7Y15qRs PhKNUiFpszYLbWd0f/bi42QHDqmEpKr8fvBHz3ab5ZdsMR48cZ50yNXyn7u6aQW1ODbVN4 MOhJbTtcATzNCTcwzlnD8GUy9YfgIMPml9N5oXvy8SIT3hebY786hgD48QHQlmhXRuoML0 vNEQenyyHFC9TSkTcix6ulPIf0a5aInQRjQt0MFVvOqDyZVpCcAk5f8eAtlIKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675435518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xuDfiYIIASi7tL9vxo6ECLqjFJLiY1evaIL1p0Cwyzk=; b=jfTsQtvqTu+YTESljgsK0ZyvimhxA8l/sPkMrTPloK2fbZ9v1a8X525taPuijRe9BQukWe RpbQp1fs0Qk9FsYOA0tzMJvB+YMOC00TA/VGqom2qcc46+hCSPAMI8oHGS5B//fMTgVKCL Hg8MmNFhgzPoOSQtxkI/xobvA8EngEqZOodichckhZgGkoBh2VlA7h0dRBLwxxyB4g/X5j 7DWzIcAOyp82R7oMsO5VgBzVtjc9cHxC51ogboptlDEYKVuREICwJ0wcySr4f3+BU59zV/ goPzsy7k2xGWf/KSNP67nSF3NZDES4GEFi8dvZPA1Mbmo5jLpqzcrYD5InZDdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675435518; a=rsa-sha256; cv=none; b=uhOYTzrO9vJZi4EsCBhO/BFCEoqZBl1pfsfL1GHQWq6lncPp4ZWbDTV2lyLi0VPsKO8B5I Gkk6VUdx+d/HUCN48K44SnAPi3FQVH0ukrp7l8CbGsxNcW+nmJ788nx4Fzpt70LR4MwPzx o4D4QOCV6HLUYjAlQUy1VFK2wdzzAKoahAOU+kC5eRBbHETrgdeTIlKWoZoIooYBlnVt/y 91h0GFAJXxBonpyoJaavkBv3mmlp9CTbodZpB5MI2BqxWZqb0EBH7tzGrsdFqFj7/+TsDa nUIEI8dro26jgXrEzSJlH3z3nGRlpH7sBwzRn6VZtm/NeoRmCbsMrAg56WmiHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7djp0t5jzdnC; Fri, 3 Feb 2023 14:45:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313EjHcI027852; Fri, 3 Feb 2023 14:45:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313EjHua027851; Fri, 3 Feb 2023 14:45:17 GMT (envelope-from git) Date: Fri, 3 Feb 2023 14:45:17 GMT Message-Id: <202302031445.313EjHua027851@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 2eeb808361e4 - main - IfAPI: Add iterator to loop over all interfaces List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2eeb808361e421f9a054820fa358e899383742de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=2eeb808361e421f9a054820fa358e899383742de commit 2eeb808361e421f9a054820fa358e899383742de Author: Justin Hibbits AuthorDate: 2023-02-01 21:28:11 +0000 Commit: Justin Hibbits CommitDate: 2023-02-03 14:38:02 +0000 IfAPI: Add iterator to loop over all interfaces Summary: Sometimes it's useful to iterate over all interfaces in the current VNET, as the linuxulator does in several places. Unlike other iterators in the IfAPI this propagates any error received up to the caller, instead of returning a count. Sponsored by: Juniper Networks, Inc. Reviewed by: glebius, melifaro Differential Revision: https://reviews.freebsd.org/D38348 --- sys/net/if.c | 19 +++++++++++++++++++ sys/net/if_var.h | 3 +++ 2 files changed, 22 insertions(+) diff --git a/sys/net/if.c b/sys/net/if.c index 951349b97ffb..8bb5ed0043e5 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4466,6 +4466,25 @@ if_lladdr_count(if_t ifp) return (count); } +int +if_foreach(if_foreach_cb_t cb, void *cb_arg) +{ + if_t ifp; + int error; + + NET_EPOCH_ASSERT(); + MPASS(cb); + + error = 0; + CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { + error = cb(ifp, cb_arg); + if (error != 0) + break; + } + + return (error); +} + u_int if_foreach_lladdr(if_t ifp, iflladdr_cb_t cb, void *cb_arg) { diff --git a/sys/net/if_var.h b/sys/net/if_var.h index 4c3d4138f7ec..b4cdcf27253f 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -665,6 +665,9 @@ struct ifaddr * if_getifaddr(const if_t ifp); typedef u_int if_addr_cb_t(void *, struct ifaddr *, u_int); u_int if_foreach_addr_type(if_t ifp, int type, if_addr_cb_t cb, void *cb_arg); +typedef int (*if_foreach_cb_t)(if_t, void *); +int if_foreach(if_foreach_cb_t, void *); + /* Functions */ void if_setinitfn(if_t ifp, if_init_fn_t); void if_setinputfn(if_t ifp, if_input_fn_t); From nobody Fri Feb 3 14:45:19 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7djq3Vn7z2pCD6; Fri, 3 Feb 2023 14:45:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7djq2YwTz4M2r; Fri, 3 Feb 2023 14:45:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675435519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=38LSKOxxyJ0MwyVOaU1G2p0GSqSx2b1k6DfhvMvMzpw=; b=YFTli0+mx+WwxVmzCdtR5gBat1paDqtyV553atOZsKsPPVYMUHg218kbzlvNWzaPbua+pj fGQ7F0LQopxjLOF1Y68FsQ1sr7hthD3csfXs0ee9AucFpvjU2O9tmjvfZvKMrZcXbi24QN yvQYAaC0qk7S+NbA3lTF4JcgpvL0g4IAmlRPZSFEckWqXD/zHjkIvE7IWwvimjwRXX33Tb zgQMze7l6gG0Wnm4U/r79Ur4CvaIaMG4VFHs706AmVMFOn8PncPrPKtmx0AQMUVHlXSmVs oWaHbDLwdyd0VyX2VVFBXAojgf3gwnkhUCM/m0Wq1dM4EvjlLqJjANZXDCteeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675435519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=38LSKOxxyJ0MwyVOaU1G2p0GSqSx2b1k6DfhvMvMzpw=; b=M2LuhtcnSz0vKlYkMAMihsMLzdWOFE3zw2qEek3fCuPv120TNIMkvzcQUx+qDxJHNzoi/m 8B/8DUf5k2mZtah7468Ed8BTIFEgYzmst43srvNqbiC9FQ4NuYUAqmxwWBCz2ZAkGJuPgU T31dJz9lF1cyP/MX6hAs11XE9Knr1vRU5cQPzLrRbhWAXkVfbx+IbNS2x43t2etjLPVHpI fvGw1qA3/mdP7F9aUzTolSpS5rL5zXkzCKHAyaNyysF8oj1bx+lcO/upKGiZ5CZf7LF9xW Uktceju6WhX47k42hS1Ewlvel1R9gjdpBiXauA7KKPmfRREWkA66ZynHvez5xA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675435519; a=rsa-sha256; cv=none; b=q7MnBw+lg0hiFML/EGK1Tok5VRJmWxaMuic4HlL+mSLGkdi9aKcge0XzPrf59C+Uj54mbD UiZwlFch39ZZYTiYJVaA/XV9qLR4e3uHJRMbDbguB/29hcNIuau4gfGlMjiC/uwqW4F4Ne iDYmxksp3uehaJVTfvOTrSqMQx1mALNveHh6N3xD/yjs8yNA29YiYbwluhb3ofAUiI2KF9 wofh6YD1+wi3P29tJXc5r5uZxc86ItBHkxHKBwjOqiPZWm6tO7QuUaXRvYm0XSk8Hm7x3k WNA7X7GQX7BXOxshu+E/tVC4J33Az564wA1ZyiVOziiDiEoWOlvV3AZrUXTjkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7djq1ZGgzdZl; Fri, 3 Feb 2023 14:45:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313EjJd8027876; Fri, 3 Feb 2023 14:45:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313EjJ2L027875; Fri, 3 Feb 2023 14:45:19 GMT (envelope-from git) Date: Fri, 3 Feb 2023 14:45:19 GMT Message-Id: <202302031445.313EjJ2L027875@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 5243598927a9 - main - linprocfs: Migrate to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5243598927a95e77b3bb9804b049539b87353a5b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=5243598927a95e77b3bb9804b049539b87353a5b commit 5243598927a95e77b3bb9804b049539b87353a5b Author: Justin Hibbits AuthorDate: 2023-02-02 21:48:22 +0000 Commit: Justin Hibbits CommitDate: 2023-02-03 14:38:03 +0000 linprocfs: Migrate to IfAPI Summary: Migrate linprocfs to use the IfAPI interfaces instead of direct ifnet accesses. Reviewed by: dchagin Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38358 --- sys/compat/linprocfs/linprocfs.c | 107 +++++++++++++++++++++++---------------- 1 file changed, 64 insertions(+), 43 deletions(-) diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index 15c4d3c41749..f2a8c5833c82 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -1474,26 +1474,79 @@ linprocfs_doprocmem(PFS_FILL_ARGS) return (error); } +struct linux_ifname_cb_s { + struct ifnet *ifp; + int ethno; + char *buffer; + size_t buflen; +}; + +static int +linux_ifname_cb(if_t ifp, void *arg) +{ + struct linux_ifname_cb_s *cbs = arg; + + if (ifp == cbs->ifp) + return (snprintf(cbs->buffer, cbs->buflen, "eth%d", cbs->ethno)); + if (!linux_use_real_ifname(ifp)) + cbs->ethno++; + return (0); +} + static int linux_ifname(struct ifnet *ifp, char *buffer, size_t buflen) { - struct ifnet *ifscan; - int ethno; + struct linux_ifname_cb_s arg; IFNET_RLOCK_ASSERT(); + arg.ifp = ifp; + arg.buffer = buffer; + arg.buflen = buflen; + arg.ethno = 0; + /* Short-circuit non ethernet interfaces */ if (linux_use_real_ifname(ifp)) - return (strlcpy(buffer, ifp->if_xname, buflen)); + return (strlcpy(buffer, if_name(ifp), buflen)); /* Determine the (relative) unit number for ethernet interfaces */ - ethno = 0; - CK_STAILQ_FOREACH(ifscan, &V_ifnet, if_link) { - if (ifscan == ifp) - return (snprintf(buffer, buflen, "eth%d", ethno)); - if (!linux_use_real_ifname(ifscan)) - ethno++; - } + return (if_foreach(linux_ifname_cb, &arg)); +} + +static int +linprocfs_donetdev_cb(if_t ifp, void *arg) +{ + char ifname[16]; /* XXX LINUX_IFNAMSIZ */ + struct sbuf *sb = arg; + + linux_ifname(ifp, ifname, sizeof ifname); + sbuf_printf(sb, "%6.6s: ", ifname); + sbuf_printf(sb, "%7ju %7ju %4ju %4ju %4lu %5lu %10lu %9ju ", + (uintmax_t )if_getcounter(ifp, IFCOUNTER_IBYTES), + (uintmax_t )if_getcounter(ifp, IFCOUNTER_IPACKETS), + (uintmax_t )if_getcounter(ifp, IFCOUNTER_IERRORS), + (uintmax_t )if_getcounter(ifp, IFCOUNTER_IQDROPS), + /* rx_missed_errors */ + 0UL, /* rx_fifo_errors */ + 0UL, /* rx_length_errors + + * rx_over_errors + + * rx_crc_errors + + * rx_frame_errors */ + 0UL, /* rx_compressed */ + (uintmax_t )if_getcounter(ifp, IFCOUNTER_IMCASTS)); + /* XXX-BZ rx only? */ + sbuf_printf(sb, "%8ju %7ju %4ju %4ju %4lu %5ju %7lu %10lu\n", + (uintmax_t )if_getcounter(ifp, IFCOUNTER_OBYTES), + (uintmax_t )if_getcounter(ifp, IFCOUNTER_OPACKETS), + (uintmax_t )if_getcounter(ifp, IFCOUNTER_OERRORS), + (uintmax_t )if_getcounter(ifp, IFCOUNTER_OQDROPS), + 0UL, /* tx_fifo_errors */ + (uintmax_t )if_getcounter(ifp, IFCOUNTER_COLLISIONS), + 0UL, /* tx_carrier_errors + + * tx_aborted_errors + + * tx_window_errors + + * tx_heartbeat_errors*/ + 0UL); /* tx_compressed */ return (0); } @@ -1504,9 +1557,6 @@ linux_ifname(struct ifnet *ifp, char *buffer, size_t buflen) static int linprocfs_donetdev(PFS_FILL_ARGS) { - char ifname[16]; /* XXX LINUX_IFNAMSIZ */ - struct ifnet *ifp; - sbuf_printf(sb, "%6s|%58s|%s\n" "%6s|%58s|%58s\n", "Inter-", " Receive", " Transmit", @@ -1516,36 +1566,7 @@ linprocfs_donetdev(PFS_FILL_ARGS) CURVNET_SET(TD_TO_VNET(curthread)); IFNET_RLOCK(); - CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) { - linux_ifname(ifp, ifname, sizeof ifname); - sbuf_printf(sb, "%6.6s: ", ifname); - sbuf_printf(sb, "%7ju %7ju %4ju %4ju %4lu %5lu %10lu %9ju ", - (uintmax_t )ifp->if_get_counter(ifp, IFCOUNTER_IBYTES), - (uintmax_t )ifp->if_get_counter(ifp, IFCOUNTER_IPACKETS), - (uintmax_t )ifp->if_get_counter(ifp, IFCOUNTER_IERRORS), - (uintmax_t )ifp->if_get_counter(ifp, IFCOUNTER_IQDROPS), - /* rx_missed_errors */ - 0UL, /* rx_fifo_errors */ - 0UL, /* rx_length_errors + - * rx_over_errors + - * rx_crc_errors + - * rx_frame_errors */ - 0UL, /* rx_compressed */ - (uintmax_t )ifp->if_get_counter(ifp, IFCOUNTER_IMCASTS)); - /* XXX-BZ rx only? */ - sbuf_printf(sb, "%8ju %7ju %4ju %4ju %4lu %5ju %7lu %10lu\n", - (uintmax_t )ifp->if_get_counter(ifp, IFCOUNTER_OBYTES), - (uintmax_t )ifp->if_get_counter(ifp, IFCOUNTER_OPACKETS), - (uintmax_t )ifp->if_get_counter(ifp, IFCOUNTER_OERRORS), - (uintmax_t )ifp->if_get_counter(ifp, IFCOUNTER_OQDROPS), - 0UL, /* tx_fifo_errors */ - (uintmax_t )ifp->if_get_counter(ifp, IFCOUNTER_COLLISIONS), - 0UL, /* tx_carrier_errors + - * tx_aborted_errors + - * tx_window_errors + - * tx_heartbeat_errors*/ - 0UL); /* tx_compressed */ - } + if_foreach(linprocfs_donetdev_cb, sb); IFNET_RUNLOCK(); CURVNET_RESTORE(); From nobody Fri Feb 3 14:45:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7djr475Wz2pCRl; Fri, 3 Feb 2023 14:45:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7djr3RvPz4MFY; Fri, 3 Feb 2023 14:45:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675435520; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OClLJZDcRugf/wwe5xtlYxQ+bmGARo9U6lrYpNiOFOA=; b=FvJt1iY0mTnbtvFdbW5phxIvbsqjdSYcpIh8sofgC44i943qiDxitg7C1txHJXpqYedPiR rmsGmlOtTO94D5mm6e3a5TOWjZKQWcX2uSSu8YGwN8zxleoL0FgB+6K6MA3HwDzEoZAhiF XAfQhCjD06KxVaAMW62aBbmd77VPiVXpYtqMUT3hRZUFsQ7FtMlyCVxXMByDNsgeH26NT/ QgW2LLwMZU9ozzdmh1IaJ+rGt3U/u7pcSgGaMmCrzLxhAHHB/U8sBLi5V2DLYNdFoW+taL 7O1UGR0CHkB0pCOSdxF4nFUrtq93XuxtQ9AsZ14wbnaAzrxyKWY2SJHunjgo4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675435520; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OClLJZDcRugf/wwe5xtlYxQ+bmGARo9U6lrYpNiOFOA=; b=c+EYc6tomCZz++22IurCovFLJfJ3RcTH+OOSd6A0oXsXFManz8kX+BM0jzIZja2QCGTPNS R2QpMYQbAMj1ZDADhpeexJuhcGjnwzZKIvatuZOLrRy+dd47/2+0e2J7qugpxXeD2ZvrmK GZ8weccmgv09vCo+YHZDIeDfIwd+bKEUkcfHm9DFLPke0On0VsymqoBymnZzrtqrppU19x zSX8L7uDUd+MVmIMre5q8CjWYKCiPMQDOZ3S/2QSHd0HbCn73DHFHv9qavYY8D9tMWU0tg 1iNUv0y1WPqnTZMUaYOxcW3AnIIRa12hNm+o5AKwvXQzo0FANN5PMd8pZUl2bw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675435520; a=rsa-sha256; cv=none; b=JKBo37nsK59W1XEcPLxVJEQIBoor7qiR2klUUPYlV4M66rIexHVyx8V/286d7si8nMewvl Td9ge0P/AUZsxn22kqPRvt24itwGLqzq/fvtsrsxkj6MWL22X8OQ+lG/n+MKYNTawVcIjj y+ztHL20BRI17xsy0QvGqk/4GYOWW4CNr4GIr9MR4xhgN79IGDD8HNcRyEj1WIsdKRNWLh sMzk+LYqgbQrIa9sciayfkORlGrecr8SxoCH+zslsMSlCUS4sFrC2XNpvTu3vLTgcVQXcf qUWAJONUOkhdAtdElt4/a0NViPnVmf2G0XhrI7jHBLQTZwcm4+VCOHGLPTY6yg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7djr2XYRzdwl; Fri, 3 Feb 2023 14:45:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313EjKl3027900; Fri, 3 Feb 2023 14:45:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313EjKdU027899; Fri, 3 Feb 2023 14:45:20 GMT (envelope-from git) Date: Fri, 3 Feb 2023 14:45:20 GMT Message-Id: <202302031445.313EjKdU027899@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: c50f70b5a93e - main - linsysfs: Use IfAPI accessors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c50f70b5a93e228d6b0d4a9f57b1f335a6be3f04 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=c50f70b5a93e228d6b0d4a9f57b1f335a6be3f04 commit c50f70b5a93e228d6b0d4a9f57b1f335a6be3f04 Author: Justin Hibbits AuthorDate: 2023-02-02 21:43:56 +0000 Commit: Justin Hibbits CommitDate: 2023-02-03 14:38:03 +0000 linsysfs: Use IfAPI accessors Replace the only two ifnet member accesses with IfAPI accessor calls. Sponsored by: Juniper Networks, Inc. --- sys/compat/linsysfs/linsysfs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linsysfs/linsysfs.c b/sys/compat/linsysfs/linsysfs.c index 9ec066ac34c4..f916858a17a7 100644 --- a/sys/compat/linsysfs/linsysfs.c +++ b/sys/compat/linsysfs/linsysfs.c @@ -116,7 +116,7 @@ linsysfs_ifnet_ifindex(PFS_FILL_ARGS) ifp = ifname_linux_to_bsd(td, pn->pn_parent->pn_name, NULL); if (ifp == NULL) return (ENOENT); - sbuf_printf(sb, "%u\n", ifp->if_index); + sbuf_printf(sb, "%u\n", if_getindex(ifp)); return (0); } @@ -128,7 +128,7 @@ linsysfs_ifnet_mtu(PFS_FILL_ARGS) ifp = ifname_linux_to_bsd(td, pn->pn_parent->pn_name, NULL); if (ifp == NULL) return (ENOENT); - sbuf_printf(sb, "%u\n", ifp->if_mtu); + sbuf_printf(sb, "%u\n", if_getmtu(ifp)); return (0); } From nobody Fri Feb 3 14:45:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7djs5CzCz2pCZX; Fri, 3 Feb 2023 14:45:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7djs4RJcz4M3Y; Fri, 3 Feb 2023 14:45:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675435521; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j5Cv0nchm/fSAWaE0CaMTnDaPiPU2cl5haoWTThP5ac=; b=abkWUA6gkbiTYNLIg4PjDOppH2d7gvY+s9cA4sKzh97wN56Tla0X5/xXCv9XG1MZjoIEyr O+uGA8uckA4tKfje6kCeD+LABbCddWVt9VNwKHyMdgck2auIWfGQEbQVcHyzZEHGE85LFE BiUzS6qxk646LYZkvZB6AQ8/UbjBtBTD0AKq9Je7vyy+JKCF35tN/z+F/4XUAl0+wcRyFs r7Wt5Hff69geh7s//kX7fOseI8gN4UK6Hp78gpkmDJeo10ADvCrqqv7gvj2H30GWY4m4H4 vjpUR0VhXM8b8j27zheKaN6slVKKkvUPRGFqPi/Fr24KGZpx68WEEI3YzS/PkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675435521; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j5Cv0nchm/fSAWaE0CaMTnDaPiPU2cl5haoWTThP5ac=; b=xM7+jKf0modResTtppXIBrOVOi/y8Atcz29seMxkhR5xZIF4bxfmSQ43X+h0jPr8n0s5E4 brZYQSqXGiW+ZX1H7mAFoJEb4u1J4y0P1NanGPWgDQ//vwlInod/+BEYQunQJvi2HWCdX4 D3W4Gk+KoVTGBZQBSMP9ON7O3TG9GhaiBDivpyQIC/7rdxKh978qYdDKuXa4T9tEGtpZDD +SkAqamwWdjCpGgh5ZiA7OgR94AyAX6/S1A+nSHtt95b6jkwEVJY1ksrTosFZwOcGWRXT3 lcqJdeTl6xu2bRBzrgMg+W3JPG/oHDqGy9nVeExZgoDsQBvNyK+MFpJ8KwvPdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675435521; a=rsa-sha256; cv=none; b=OxTEXeTEWJpRt2Z5brxXzM+u2Go8pkIZNXfRzr52hlvzuMKJ9077viAGvopLRDhRD3mYh9 6yGEILqtPN1POnCUxCwfZtRqveJMilFC3lxniLOPVOesE7FkklUq6VAt5piGm+2WQ8pkOh zyTEWHNkcyE+r4K78VQlBhb9N08BhW0a/a7bb6HViq1tARo9vpoE4sPB1cfMS+2aWQnNJM Y5y7/LAmQAMgZX9aBw0vRNKc+HKJahKkBtfpx47jR5j/H+SnE0gb0/JkW7unIymAJYpi+a TZoxwYDtFs8D+jfHm3P1VU9d/b94efi7aq7QqfzxcAJCECEMhXaepuRJAlWSyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7djs3WRvzdwj; Fri, 3 Feb 2023 14:45:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313EjLYl027926; Fri, 3 Feb 2023 14:45:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313EjLwi027925; Fri, 3 Feb 2023 14:45:21 GMT (envelope-from git) Date: Fri, 3 Feb 2023 14:45:21 GMT Message-Id: <202302031445.313EjLwi027925@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 87e728340b1d - main - Mechanically convert wg(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 87e728340b1d57f10e4d439d168226d9ffffed40 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=87e728340b1d57f10e4d439d168226d9ffffed40 commit 87e728340b1d57f10e4d439d168226d9ffffed40 Author: Justin Hibbits AuthorDate: 2023-01-13 16:22:11 +0000 Commit: Justin Hibbits CommitDate: 2023-02-03 14:38:03 +0000 Mechanically convert wg(4) to IfAPI Reviewed By: jhb Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38307 --- sys/dev/wg/if_wg.c | 109 +++++++++++++++++++++++++++-------------------------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index f6c8c2d52278..6a99061cac54 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -67,7 +67,7 @@ #define NEW_HANDSHAKE_TIMEOUT (REKEY_TIMEOUT + KEEPALIVE_TIMEOUT) #define UNDERLOAD_TIMEOUT 1 -#define DPRINTF(sc, ...) if (sc->sc_ifp->if_flags & IFF_DEBUG) if_printf(sc->sc_ifp, ##__VA_ARGS__) +#define DPRINTF(sc, ...) if (if_getflags(sc->sc_ifp) & IFF_DEBUG) if_printf(sc->sc_ifp, ##__VA_ARGS__) /* First byte indicating packet type on the wire */ #define WG_PKT_INITIATION htole32(1) @@ -219,7 +219,7 @@ struct wg_socket { struct wg_softc { LIST_ENTRY(wg_softc) sc_entry; - struct ifnet *sc_ifp; + if_t sc_ifp; int sc_flags; struct ucred *sc_ucred; @@ -358,22 +358,22 @@ static struct wg_packet *wg_queue_dequeue_parallel(struct wg_queue *); static bool wg_input(struct mbuf *, int, struct inpcb *, const struct sockaddr *, void *); static void wg_peer_send_staged(struct wg_peer *); static int wg_clone_create(struct if_clone *ifc, char *name, size_t len, - struct ifc_data *ifd, struct ifnet **ifpp); -static void wg_qflush(struct ifnet *); + struct ifc_data *ifd, if_t *ifpp); +static void wg_qflush(if_t); static inline int determine_af_and_pullup(struct mbuf **m, sa_family_t *af); -static int wg_xmit(struct ifnet *, struct mbuf *, sa_family_t, uint32_t); -static int wg_transmit(struct ifnet *, struct mbuf *); -static int wg_output(struct ifnet *, struct mbuf *, const struct sockaddr *, struct route *); -static int wg_clone_destroy(struct if_clone *ifc, struct ifnet *ifp, +static int wg_xmit(if_t, struct mbuf *, sa_family_t, uint32_t); +static int wg_transmit(if_t, struct mbuf *); +static int wg_output(if_t, struct mbuf *, const struct sockaddr *, struct route *); +static int wg_clone_destroy(struct if_clone *ifc, if_t ifp, uint32_t flags); static bool wgc_privileged(struct wg_softc *); static int wgc_get(struct wg_softc *, struct wg_data_io *); static int wgc_set(struct wg_softc *, struct wg_data_io *); static int wg_up(struct wg_softc *); static void wg_down(struct wg_softc *); -static void wg_reassign(struct ifnet *, struct vnet *, char *unused); +static void wg_reassign(if_t, struct vnet *, char *unused); static void wg_init(void *); -static int wg_ioctl(struct ifnet *, u_long, caddr_t); +static int wg_ioctl(if_t, u_long, caddr_t); static void vnet_wg_init(const void *); static void vnet_wg_uninit(const void *); static int wg_module_init(void); @@ -1308,7 +1308,7 @@ wg_handshake(struct wg_softc *sc, struct wg_packet *pkt) res = cookie_checker_validate_macs(&sc->sc_cookie, &init->m, init, sizeof(*init) - sizeof(init->m), underload, &e->e_remote.r_sa, - sc->sc_ifp->if_vnet); + if_getvnet(sc->sc_ifp)); if (res == EINVAL) { DPRINTF(sc, "Invalid initiation MAC\n"); @@ -1342,7 +1342,7 @@ wg_handshake(struct wg_softc *sc, struct wg_packet *pkt) res = cookie_checker_validate_macs(&sc->sc_cookie, &resp->m, resp, sizeof(*resp) - sizeof(resp->m), underload, &e->e_remote.r_sa, - sc->sc_ifp->if_vnet); + if_getvnet(sc->sc_ifp)); if (res == EINVAL) { DPRINTF(sc, "Invalid response MAC\n"); @@ -1677,7 +1677,7 @@ static void wg_deliver_in(struct wg_peer *peer) { struct wg_softc *sc = peer->p_sc; - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct wg_packet *pkt; struct mbuf *m; struct epoch_tracker et; @@ -1714,8 +1714,8 @@ wg_deliver_in(struct wg_peer *peer) NET_EPOCH_ENTER(et); BPF_MTAP2_AF(ifp, m, pkt->p_af); - CURVNET_SET(ifp->if_vnet); - M_SETFIB(m, ifp->if_fib); + CURVNET_SET(if_getvnet(ifp)); + M_SETFIB(m, if_getfib(ifp)); if (pkt->p_af == AF_INET) netisr_dispatch(NETISR_IP, m); if (pkt->p_af == AF_INET6) @@ -2050,7 +2050,7 @@ error: } static inline void -xmit_err(struct ifnet *ifp, struct mbuf *m, struct wg_packet *pkt, sa_family_t af) +xmit_err(if_t ifp, struct mbuf *m, struct wg_packet *pkt, sa_family_t af) { if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); switch (af) { @@ -2078,16 +2078,16 @@ xmit_err(struct ifnet *ifp, struct mbuf *m, struct wg_packet *pkt, sa_family_t a } static int -wg_xmit(struct ifnet *ifp, struct mbuf *m, sa_family_t af, uint32_t mtu) +wg_xmit(if_t ifp, struct mbuf *m, sa_family_t af, uint32_t mtu) { struct wg_packet *pkt = NULL; - struct wg_softc *sc = ifp->if_softc; + struct wg_softc *sc = if_getsoftc(ifp); struct wg_peer *peer; int rc = 0; sa_family_t peer_af; /* Work around lifetime issue in the ipv6 mld code. */ - if (__predict_false((ifp->if_flags & IFF_DYING) || !sc)) { + if (__predict_false((if_getflags(ifp) & IFF_DYING) || !sc)) { rc = ENXIO; goto err_xmit; } @@ -2164,7 +2164,7 @@ determine_af_and_pullup(struct mbuf **m, sa_family_t *af) } static int -wg_transmit(struct ifnet *ifp, struct mbuf *m) +wg_transmit(if_t ifp, struct mbuf *m) { sa_family_t af; int ret; @@ -2184,11 +2184,11 @@ wg_transmit(struct ifnet *ifp, struct mbuf *m) xmit_err(ifp, m, NULL, AF_UNSPEC); return (ret); } - return (wg_xmit(ifp, m, af, ifp->if_mtu)); + return (wg_xmit(ifp, m, af, if_getmtu(ifp))); } static int -wg_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, struct route *ro) +wg_output(if_t ifp, struct mbuf *m, const struct sockaddr *dst, struct route *ro) { sa_family_t parsed_af; uint32_t af, mtu; @@ -2222,7 +2222,7 @@ wg_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, struct xmit_err(ifp, m, NULL, AF_UNSPEC); return (EAFNOSUPPORT); } - mtu = (ro != NULL && ro->ro_mtu > 0) ? ro->ro_mtu : ifp->if_mtu; + mtu = (ro != NULL && ro->ro_mtu > 0) ? ro->ro_mtu : if_getmtu(ifp); return (wg_xmit(ifp, m, parsed_af, mtu)); } @@ -2332,7 +2332,7 @@ wg_peer_add(struct wg_softc *sc, const nvlist_t *nvl) goto out; TAILQ_INSERT_TAIL(&sc->sc_peers, peer, p_entry); sc->sc_peers_num++; - if (sc->sc_ifp->if_link_state == LINK_STATE_UP) + if (if_getlinkstate(sc->sc_ifp) == LINK_STATE_UP) wg_timers_enable(peer); } if (remote != NULL) @@ -2350,7 +2350,7 @@ static int wgc_set(struct wg_softc *sc, struct wg_data_io *wgd) { uint8_t public[WG_KEY_SIZE], private[WG_KEY_SIZE]; - struct ifnet *ifp; + if_t ifp; void *nvlpacked; nvlist_t *nvl; ssize_t size; @@ -2386,7 +2386,7 @@ wgc_set(struct wg_softc *sc, struct wg_data_io *wgd) goto out_locked; } if (new_port != sc->sc_socket.so_port) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { if ((err = wg_socket_init(sc, new_port)) != 0) goto out_locked; } else @@ -2584,7 +2584,7 @@ err: } static int -wg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +wg_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct wg_data_io *wgd = (struct wg_data_io *)data; struct ifreq *ifr = (struct ifreq *)data; @@ -2592,7 +2592,7 @@ wg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) int ret = 0; sx_slock(&wg_sx); - sc = ifp->if_softc; + sc = if_getsoftc(ifp); if (!sc) { ret = ENXIO; goto out; @@ -2615,7 +2615,7 @@ wg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) */ break; case SIOCSIFFLAGS: - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp) & IFF_UP) ret = wg_up(sc); else wg_down(sc); @@ -2624,7 +2624,7 @@ wg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) if (ifr->ifr_mtu <= 0 || ifr->ifr_mtu > MAX_MTU) ret = EINVAL; else - ifp->if_mtu = ifr->ifr_mtu; + if_setmtu(ifp, ifr->ifr_mtu); break; case SIOCADDMULTI: case SIOCDELMULTI: @@ -2655,7 +2655,7 @@ out: static int wg_up(struct wg_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct wg_peer *peer; int rc = EBUSY; @@ -2666,9 +2666,9 @@ wg_up(struct wg_softc *sc) /* Silent success if we're already running. */ rc = 0; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) goto out; - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); rc = wg_socket_init(sc, sc->sc_socket.so_port); if (rc == 0) { @@ -2676,7 +2676,7 @@ wg_up(struct wg_softc *sc) wg_timers_enable(peer); if_link_state_change(sc->sc_ifp, LINK_STATE_UP); } else { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); DPRINTF(sc, "Unable to initialize sockets: %d\n", rc); } out: @@ -2687,15 +2687,15 @@ out: static void wg_down(struct wg_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct wg_peer *peer; sx_xlock(&sc->sc_lock); - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING)) { sx_xunlock(&sc->sc_lock); return; } - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); TAILQ_FOREACH(peer, &sc->sc_peers, p_entry) { wg_queue_purge(&peer->p_stage_queue); @@ -2720,7 +2720,7 @@ wg_clone_create(struct if_clone *ifc, char *name, size_t len, struct ifc_data *ifd, struct ifnet **ifpp) { struct wg_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = malloc(sizeof(*sc), M_WG, M_WAITOK | M_ZERO); @@ -2769,18 +2769,19 @@ wg_clone_create(struct if_clone *ifc, char *name, size_t len, sx_init(&sc->sc_lock, "wg softc lock"); - ifp->if_softc = sc; - ifp->if_capabilities = ifp->if_capenable = WG_CAPS; + if_setsoftc(ifp, sc); + if_setcapabilities(ifp, WG_CAPS); + if_setcapenable(ifp, WG_CAPS); if_initname(ifp, wgname, ifd->unit); if_setmtu(ifp, DEFAULT_MTU); - ifp->if_flags = IFF_NOARP | IFF_MULTICAST; - ifp->if_init = wg_init; - ifp->if_reassign = wg_reassign; - ifp->if_qflush = wg_qflush; - ifp->if_transmit = wg_transmit; - ifp->if_output = wg_output; - ifp->if_ioctl = wg_ioctl; + if_setflags(ifp, IFF_NOARP | IFF_MULTICAST); + if_setinitfn(ifp, wg_init); + if_setreassignfn(ifp, wg_reassign); + if_setqflushfn(ifp, wg_qflush); + if_settransmitfn(ifp, wg_transmit); + if_setoutputfn(ifp, wg_output); + if_setioctlfn(ifp, wg_ioctl); if_attach(ifp); bpfattach(ifp, DLT_NULL, sizeof(uint32_t)); #ifdef INET6 @@ -2813,13 +2814,13 @@ wg_clone_deferred_free(struct noise_local *l) } static int -wg_clone_destroy(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags) +wg_clone_destroy(struct if_clone *ifc, if_t ifp, uint32_t flags) { - struct wg_softc *sc = ifp->if_softc; + struct wg_softc *sc = if_getsoftc(ifp); struct ucred *cred; sx_xlock(&wg_sx); - ifp->if_softc = NULL; + if_setsoftc(ifp, NULL); sx_xlock(&sc->sc_lock); sc->sc_flags |= WGF_DYING; cred = sc->sc_ucred; @@ -2829,7 +2830,7 @@ wg_clone_destroy(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags) sx_xunlock(&wg_sx); if_link_state_change(sc->sc_ifp, LINK_STATE_DOWN); - CURVNET_SET(sc->sc_ifp->if_vnet); + CURVNET_SET(if_getvnet(sc->sc_ifp)); if_purgeaddrs(sc->sc_ifp); CURVNET_RESTORE(); @@ -2878,7 +2879,7 @@ wg_clone_destroy(struct if_clone *ifc, struct ifnet *ifp, uint32_t flags) } static void -wg_qflush(struct ifnet *ifp __unused) +wg_qflush(if_t ifp __unused) { } @@ -2896,12 +2897,12 @@ wgc_privileged(struct wg_softc *sc) } static void -wg_reassign(struct ifnet *ifp, struct vnet *new_vnet __unused, +wg_reassign(if_t ifp, struct vnet *new_vnet __unused, char *unused __unused) { struct wg_softc *sc; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); wg_down(sc); } From nobody Fri Feb 3 15:37:41 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7ftF6Rr2z3kR2f; Fri, 3 Feb 2023 15:37: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 4P7ftF5yNFz3CZZ; Fri, 3 Feb 2023 15:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675438661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AXNfsEUum0kRezk2ivoFW7gsvqR99sVwiZ86gHVNHBw=; b=CcHxnBpagCNM2NkVrKtQvenCqn0mkztlSx31HcYZgDxJQrqT8mtfqncFc+0KAHGGFZEcPd +Roib7Iba4nc/TAe/jBU847sGzIsDMlZY8N9wYZsOWANQeTjk5VVvAzktv+nXfQeX6Iilu LaAvGwxkF/LUSP+Y5lHG8hVIEcXfYqXKdFCMg0lVk6+4jtkggTW1uXD2f1TRHh+ggYCdyp 5Azb4Zl7SLJE9bhDX5y6wygCSOWrIEA9ZHA55qLFf3TbNf3I+KwbEOfQNm6YHBjYyFKF5N TCy67JlJreOhPDYGgv11DOlztAWzqmrHAhpshA+TE2Q8Qh00HWwnyQY+fk28VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675438661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AXNfsEUum0kRezk2ivoFW7gsvqR99sVwiZ86gHVNHBw=; b=BML+w3XmhIZxUjvNJ4hEkFv5XpTnINp4HGs+uI095dvg39ak1RMEK9ghiXHROTdPTOabLU S7BuQXIAV7Cs6rZJHz3d3A1Op4XNt4tPo1enkDXsooT9HPeYag7rzPzn4cMjAxxREItVEO 379guZEAiu6dVnqgVA1dDW1lObN0cWB5DTgCAnFG43T3f3yBTsdfpTBJY1BMyTWDO6Aw1E eGJK4yUVb9v4RvHGAkjx3oeYhq7IwV88T6E4uJmW7W0aUexHIvOILr2MFniyakP0rOWeK7 0JQPmDudxUUWz+BkBb86O4eIpItsA/sdWZDxsyUvq1Gr5uaQb7Nf6deqpfNWGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675438661; a=rsa-sha256; cv=none; b=WvvH1IST/Rf+ElXkHwCKrGT01Q4BwqLizHGnL5cSyhTxpY7Hkbob3Qkn+f2W47SV4VunbS UwA1IsAfQ1t5Dd3Tr51zqhoE//BS4k8Ji6mtxLwHf3xOFixzFWeBcXXhDuL7lK/RFEZjEP Xzta3hEN9F3gF0NvMVRv518xEKVZEvD+u9byICTISEq9Ex3Mtr+sys6nB5mEmWUf9o63ho M6s7twgAZeFX5QZJatAiGW2pUSakIIvafYJPTzmKC+OMthrmMGrmqFKnMo9aLScrxlktpy nOKHbPmq4zH9r0ZfLQFJL/DT7TCk5lT4BkgMBPuQjXBhQaGisyjHRcsAF2SG5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7ftF519rzfSk; Fri, 3 Feb 2023 15:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FbfC9099173; Fri, 3 Feb 2023 15:37:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FbfF0099172; Fri, 3 Feb 2023 15:37:41 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:37:41 GMT Message-Id: <202302031537.313FbfF0099172@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= Subject: git: cb96a0ef0040 - main - cp: Minor code cleanup. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb96a0ef0040fa7968245ab203ab70a7ed2d275d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=cb96a0ef0040fa7968245ab203ab70a7ed2d275d commit cb96a0ef0040fa7968245ab203ab70a7ed2d275d Author: Dag-Erling Smørgrav AuthorDate: 2023-02-03 15:37:24 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-02-03 15:37:37 +0000 cp: Minor code cleanup. * Fix includes in utils.c, cf. style(9). * Fix type mismatch: readlink(2) returns ssize_t, not int. * It is not necessary to set errno to 0 as fts_read(3) already does it. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D38369 --- bin/cp/cp.c | 3 +-- bin/cp/utils.c | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/bin/cp/cp.c b/bin/cp/cp.c index dbae4b535843..e38cd97f4369 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -311,8 +311,7 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) recurse_path = NULL; if ((ftsp = fts_open(argv, fts_options, NULL)) == NULL) err(1, "fts_open"); - for (badcp = rval = 0; errno = 0, (curr = fts_read(ftsp)) != NULL; - badcp = 0) { + for (badcp = rval = 0; (curr = fts_read(ftsp)) != NULL; badcp = 0) { switch (curr->fts_info) { case FTS_NS: case FTS_DNR: diff --git a/bin/cp/utils.c b/bin/cp/utils.c index a3a498714f43..8c1c350ff6f1 100644 --- a/bin/cp/utils.c +++ b/bin/cp/utils.c @@ -37,9 +37,8 @@ static char sccsid[] = "@(#)utils.c 8.3 (Berkeley) 4/1/94"; #include __FBSDID("$FreeBSD$"); -#include -#include #include +#include #include #include @@ -241,7 +240,7 @@ done: int copy_link(const FTSENT *p, int exists) { - int len; + ssize_t len; char llink[PATH_MAX]; if (exists && nflag) { From nobody Fri Feb 3 15:50:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g946B2Sz3kRbG; Fri, 3 Feb 2023 15:50:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7g945lfxz3H7s; Fri, 3 Feb 2023 15:50:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y5tOV/CbkDWXLotB3/Gd8ucLNhLGsEhk8qGu2k5Uf2k=; b=fjwggha1Qz40VV9QoNUdxDMWyxalZDyU33pU+n1dGIORYGBHx33/JXea1ZxUjRTst6VYdo lxVdip1Ubx8H15P9sMP+/J+wozMVIryd4RpmZbEBawcJn/puw82+px1xpqKj8ONU/IPIF2 vQm7dsHaQsXoBO9VfaIZR7pWe811RRpgOzrTpHNdymFyH9D7OROuqEEdlMb8UsC5Qd92PV 9DFiR5ECcnQ9umC/PyljRC1qfvE8cWIRLxKVqr0ha6VPpOTDN7x3q7nJmHLKr6HQKD+W2h sKuvv1P59/trQIH4WrCHRVQV+QdjTRjXfUqA6aNiSjD2No1di5KqpLjEqOk9lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y5tOV/CbkDWXLotB3/Gd8ucLNhLGsEhk8qGu2k5Uf2k=; b=fCfClmQRViUKn9zGsAB8wyBHBIvkRP1Kf5XhB+n8DLetxBmmFzO/Zofoo9/cOrOegzLlCH cB4ngBS0Sc2qKwsgSxVXyHKwIc53Auo6sQRHobj7tmYp85dm80N0pDwT2MWjw63ZSadVJZ zgxKskq2nMJBg8F3UR0dNN7x2P/RnpYvVwbGVm3ilP+4/Wf9KH3jR5svk7tcxMr1cTBIx/ iPJOWVy+7XCD4E2/GlpvVh1RDQMh3UtFqNb1oi1Ha5Foyoj7lCsKmu6+OqkOqdWn6kewtz xJ+AbGyz0IMeT3CyeVyfAau0ZsN4rHVWQQcr64/VSttVa3lHZoQJvguksP8lqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439432; a=rsa-sha256; cv=none; b=cbzUncUNf3U9B0uw50Ug8mlr99WyTyUOnTGePdKc88DTn334z1syeGEXjnht5jXzG+8nDL 3E/JQo1kMeFOauQb7ddJekhy34wlY/UpmHKEh1Gv0b7wt+9XMaFSUMg8DoNBRl01KD4npy exbbZwsEtKqHlC/pF0DZwJJVKxatkwZBBWT14g1iMFhio0sX116AkPHN96LUuBAazyYPHQ b4VjBCfdlRFFe7JKSqgMRhIZ/MqW1/aSyK9P/VtLJ7YRFrp3uael2/xe2wU0p86YKSOm58 KN1tNoCxOq825Cr8Iy24pJvpRIp9GLhSz8FEQY6DBone6F8W0psgMa/dcs0O7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g944pT9zgB0; Fri, 3 Feb 2023 15:50:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FoWw9022849; Fri, 3 Feb 2023 15:50:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FoWFL022848; Fri, 3 Feb 2023 15:50:32 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:32 GMT Message-Id: <202302031550.313FoWFL022848@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: d76330efd9f9 - main - kboot: Probe all disks and partitions for a kernel List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d76330efd9f970c3d0e5b848f6ba330b1bd1ee3d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d76330efd9f970c3d0e5b848f6ba330b1bd1ee3d commit d76330efd9f970c3d0e5b848f6ba330b1bd1ee3d Author: Warner Losh AuthorDate: 2023-02-03 15:37:31 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:38 +0000 kboot: Probe all disks and partitions for a kernel Guess where to boot from when bootdev= isn't on the command line or other config. Search all the disks and partitions for one that looks like it could be a boot partition (same as we do when probing zpools). Return the first one we find. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D38319 --- stand/kboot/hostdisk.c | 69 ++++++++++++++++++++++++++++++++++++++++---------- stand/kboot/kboot.h | 1 + stand/kboot/main.c | 2 ++ 3 files changed, 58 insertions(+), 14 deletions(-) diff --git a/stand/kboot/hostdisk.c b/stand/kboot/hostdisk.c index 3c924293223a..b71ae256b0f6 100644 --- a/stand/kboot/hostdisk.c +++ b/stand/kboot/hostdisk.c @@ -488,6 +488,61 @@ hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path) return (0); } +/* XXX refactor */ +static bool +sanity_check_currdev(void) +{ + struct stat st; + + return (stat(PATH_DEFAULTS_LOADER_CONF, &st) == 0 || +#ifdef PATH_BOOTABLE_TOKEN + stat(PATH_BOOTABLE_TOKEN, &st) == 0 || /* non-standard layout */ +#endif + stat(PATH_KERNEL, &st) == 0); +} + +static const char * +hostdisk_try_one(hdinfo_t *hd) +{ + char *fn; + + if (asprintf(&fn, "%s:", hd->hd_dev) == -1) + return (NULL); + set_currdev(fn); + printf("Trying %s\n", fn); + if (sanity_check_currdev()) + return (fn); + printf("Failed %s\n", fn); + free(fn); + return (NULL); +} + +const char * +hostdisk_gen_probe(void) +{ + hdinfo_t *hd, *md; + const char *rv = NULL; + + STAILQ_FOREACH(hd, &hdinfo, hd_link) { + /* try whole disk */ + if (hd->hd_flags & HDF_HAS_ZPOOL) + continue; + rv = hostdisk_try_one(hd); + if (rv != NULL) + return (rv); + + /* try all partitions */ + STAILQ_FOREACH(md, &hd->hd_children, hd_link) { + if (md->hd_flags & HDF_HAS_ZPOOL) + continue; + rv = hostdisk_try_one(md); + if (rv != NULL) + return (rv); + } + } + return (false); +} + #ifdef LOADER_ZFS_SUPPORT static bool hostdisk_zfs_check_one(hdinfo_t *hd) @@ -524,19 +579,6 @@ hostdisk_zfs_probe(void) } } -/* XXX refactor */ -static bool -sanity_check_currdev(void) -{ - struct stat st; - - return (stat(PATH_DEFAULTS_LOADER_CONF, &st) == 0 || -#ifdef PATH_BOOTABLE_TOKEN - stat(PATH_BOOTABLE_TOKEN, &st) == 0 || /* non-standard layout */ -#endif - stat(PATH_KERNEL, &st) == 0); -} - /* This likely shoud move to libsa/zfs/zfs.c and be used by at least EFI booting */ static bool probe_zfs_currdev(uint64_t pool_guid, uint64_t root_guid, bool setcurrdev) @@ -599,5 +641,4 @@ hostdisk_zfs_find_default(void) } return (false); } - #endif diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index 58cbedff67a1..d7e406f86d7a 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -22,6 +22,7 @@ uint8_t kboot_get_kernel_machine_bits(void); /* hostdisk.c */ extern const char *hostfs_root; +const char *hostdisk_gen_probe(void); void hostdisk_zfs_probe(void); bool hostdisk_zfs_find_default(void); diff --git a/stand/kboot/main.c b/stand/kboot/main.c index e8320503647f..b8523cb202a2 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -221,6 +221,8 @@ main(int argc, const char **argv) devinit(); bootdev = getenv("bootdev"); + if (bootdev == NULL) + bootdev = hostdisk_gen_probe(); if (bootdev == NULL) bootdev="zfs:"; hostfs_root = getenv("hostfs_root"); From nobody Fri Feb 3 15:50:33 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g961jYZz3kRws; Fri, 3 Feb 2023 15:50:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7g9569s6z3HRB; Fri, 3 Feb 2023 15:50:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ENIYNHdnVtVo+OxgSBA60jx2b/Nn99DbaU6bAHWxNII=; b=KsBh+2GEV9NrJzMIVS/V/Uvsv3A8RCoBfB4INnap1nPkwgG7p7P6nxCwQagWPRL0BuCLjY /X95ZOCE1A6qwzvEh4ZV7ERrLQzShQhIfjjJCRWtAzj2ccTcSo/jhOTLAWZVfblQpyPotn 9gPSbDD8PlEx2mmhZC0HDvnLOP0Z+2V/XS+oPiIBNUFsAFL1X/u28vaOMjNZGaQCQEf5tO WYubfiRZF8rtkAurfwOjTuqUagtIPPZmi1Kz8wPkOqo4Uvi5xaV9KZep3GI15jFoNUQUI6 uXZ+T/HrrGcxZq/r6y2UTUy7cxJxqRiJWpA1py1F82fHD+ClET1bsKv+oDj7rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ENIYNHdnVtVo+OxgSBA60jx2b/Nn99DbaU6bAHWxNII=; b=xsiFmOtVfUF3g+Dpqj/ZyDTnj1Tdzm8svuyoS7fnPQ7ukzZJ8qEkkpInZk7lbYqmlD0K6Z 1g5dejVclqT/11jlI/OxqdOvZu/mFSGuA2LLS4IH7BVC/5Mf3JTjUXgX0q7CxAffA1lAt4 DocWef3ZF335RW1HHveuJ5EBZ0ZGQsZGcYqltBZpAmjd82wtGcQE7xxuKWbGndtlnwDdVR QKa9P3BEVHE+OvXpUaStOOQxjZhmEUSryAAgIVGxIC0u+zEJySoXdumqTVG3jKUm02trGu CRJ1S5VQcUn6zgPEAymCUaSqo+R123DjyPjSfz0QvLk/Ksm/5ahEQZKHzuk6Kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439433; a=rsa-sha256; cv=none; b=ecqO7mKzAZjTA0xTxc52Zdh9PUH5WZ75g72uRcbXIIV0p9XV4eWG5STwTy+rC7R5xSMxHP Ey8sVDhmowVK07Dezk4zvKa89knZgvdanN68irjGSoGQ6zWLiB2yXPZaffBn4PcCa9Fykt xo5ROZ1zhMwvJcCpnRl/rG0IcCs/WB2noZjsO9xsCvr/llVOJdK0xDEbZAIqrSWrI6MANy tFbayH22Ztw1WwwR1irGqN9wgOwbE5kFjznSskn09bAxluWIrY/3InZEvXwdMCCNsYPHvf Sf1ObfLFU5rPeYec0O3QXPDybU/dG7EV/Gj7XdF/BzhsjbAGC3HsjzEA1SdrXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g955HcKzgB1; Fri, 3 Feb 2023 15:50:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FoX8f022880; Fri, 3 Feb 2023 15:50:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FoXHT022879; Fri, 3 Feb 2023 15:50:33 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:33 GMT Message-Id: <202302031550.313FoXHT022879@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: fb26a14fc40b - main - kboot: Add aarch64 fdt fixup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb26a14fc40b22d5e2d070b5f5f77e8351f2dd27 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fb26a14fc40b22d5e2d070b5f5f77e8351f2dd27 commit fb26a14fc40b22d5e2d070b5f5f77e8351f2dd27 Author: Warner Losh AuthorDate: 2023-02-03 15:37:39 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:38 +0000 kboot: Add aarch64 fdt fixup Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38256 --- stand/kboot/arch/aarch64/Makefile.inc | 2 +- stand/kboot/arch/aarch64/fdt_arch.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/stand/kboot/arch/aarch64/Makefile.inc b/stand/kboot/arch/aarch64/Makefile.inc index 5573d264ec4e..50388d38dbf2 100644 --- a/stand/kboot/arch/aarch64/Makefile.inc +++ b/stand/kboot/arch/aarch64/Makefile.inc @@ -1,4 +1,4 @@ -SRCS+= host_syscall.S tramp.S exec.c load_addr.c +SRCS+= host_syscall.S tramp.S exec.c load_addr.c fdt_arch.c .PATH: ${BOOTSRC}/arm64/libarm64 CFLAGS+=-I${BOOTSRC}/arm64/libarm64 diff --git a/stand/kboot/arch/aarch64/fdt_arch.c b/stand/kboot/arch/aarch64/fdt_arch.c new file mode 100644 index 000000000000..bc480808d14f --- /dev/null +++ b/stand/kboot/arch/aarch64/fdt_arch.c @@ -0,0 +1,14 @@ +/*- + * Copyright (c) 2022 Netflix, Inc + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include "kboot.h" + +void +fdt_arch_fixups(void *fdtp) +{ + /* Unsure what to pass fixup */ +} From nobody Fri Feb 3 15:50:34 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g970rzbz3kRww; Fri, 3 Feb 2023 15:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7g9703jkz3HLj; Fri, 3 Feb 2023 15:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ybizXhUB6odzD5fJHZhGAzfVxJEEX8eMlpu9dYATR3I=; b=vNreJ9CFVthyzZDL4ijZoAFnQiN15rV51rThyb7Xd7eagd6eoX9Q4+cB62rKTqbdnoCQz9 6r3JNKI+FOmyvqEi8jhfviO7eHnkCigDdwPoPlHuw3wnIxAby2cR7MsVmUzDR7an3Kvt8M CaUjPXVC44lekjNIcBVtMc/9Bqkb/yho1EAyDweXbOJG2mUXupSQWLfSzPgUL8dy8C1cIJ mbUYu1lBUqbkVQudxGfQiEBDE0HJH2UVdjIoD+lcoMm9lujFf3VeyX56ntsHNew5eU/86Y 64aGA0o2xtzm9PpPkgJ2bzUj0UxMw3TZphM1CcXZKzVPeQ08/XpdOqtEW4CnDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439435; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ybizXhUB6odzD5fJHZhGAzfVxJEEX8eMlpu9dYATR3I=; b=NPDL+e63j3wcoiP0+0e26BDPlNiFzm0C3HFUUGO0D0c6+AFGBA0/M3HzEVY+FW5uKRN3Xv vOXr3v58gc15EReboAUlYb+oBokdGOWb2bOvsZy6h6TI7ci+CZqZDYFjoM7QFJ7EUt8uJo KBymSrMPC1b8Te3e8ohSMByVoFRHKaxldq7qcqCXnuGVYcUwZan7vqgINl71Ryqfoccf/N qnGJKp493HTtzBQ/AcbhoCxwkK2UMXtNzLkCCo0GXxbwEv4fTOe6oWjne+lLh4PEIaaI39 4lCvlwYdvR++h4pWtZcKH0/70jX0mVqjtE69DAkgC+Q179ZTNK/M31PQGnE5dg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439435; a=rsa-sha256; cv=none; b=ofq8xERpVuKIgq7VYBebIraxRY5jDTzZA/+GKlJJU2Wp+6Lph2tUPB4uYusVfzdtN0rnEE tdnfKKZBDGUSLo+85gAh8BGN5zI9/KTCDVWETsSPI0CukDY+WJFAKqqGeAR0dH8L0U08QQ Arc9NIT46xVKQ3ZLPmjmJNRi4XzOIF3dYBoCeeQMhY+hHZFRjr/DBYnydgjLQK/rTQBJke HESG/EviM1vLPEmC8yECA/ffID0pmZMZEWrEG9YQwG8MrVLsVa5YGlY1+scECc1H/N3RKd oFc6VV/N8oKSml7u3k+sLWpfxEZuStvb/lyh5kXsWjzbppf0jWdWPKWTcsFyEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g966DCkzgMw; Fri, 3 Feb 2023 15:50:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FoYso022904; Fri, 3 Feb 2023 15:50:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FoYPg022903; Fri, 3 Feb 2023 15:50:34 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:34 GMT Message-Id: <202302031550.313FoYPg022903@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 9e5022213126 - main - kboot: MI part of the memory enumeration code List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e502221312669f5a9bf0d01c5950c0e66a2937a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9e502221312669f5a9bf0d01c5950c0e66a2937a commit 9e502221312669f5a9bf0d01c5950c0e66a2937a Author: Warner Losh AuthorDate: 2023-02-03 15:37:45 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:38 +0000 kboot: MI part of the memory enumeration code enumerate_memory_arch is called once early in kboot's startup to allow us to discover the memory layout, reserved areas, etc of the system memory. Add the MI interface part of this. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D38247 --- stand/kboot/kboot.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index d7e406f86d7a..c50f3f7d53a1 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -9,6 +9,15 @@ #define DEVT_HOSTDISK 1234 +struct memory_segments +{ + uint64_t start; + uint64_t end; + uint64_t type; /* MD defined */ +}; + +bool enumerate_memory_arch(void); + bool has_acpi(void); vm_offset_t acpi_rsdp(void); From nobody Fri Feb 3 15:50:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g981ycpz3kRwx; Fri, 3 Feb 2023 15:50: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 4P7g980xQrz3HKQ; Fri, 3 Feb 2023 15:50:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H2RfOmE0N/4pwIw2zBWmQkl1stZPML3thmXsaWFI76Q=; b=I79j3MYrQjTZtfXFIgIoWCSmOSO1WfY4QLShTSLsXAxI1k6iDZZdtAvSPPnLSky/WXNc1W KRQmrBPfLLQ7sNA9dE902jojQGHGAVBQtmBGNkvbTh54XeyzI4hT/MP+Pw27ZrDKeBib91 DU8k4M4yDcLOadDINDY4g3frJT+BDr+bZkXhd71JnsFhtVjL+SjNXg4YDt4nQdd9NsTkAB 3zs+2Wmq3wNSVdiQiIhQOk8TkRjZw2SjX8k4F+jAUUU6xsxFx7KWgfxpO+k5YIjUlSE+Hm jiUtVpsk1E6t2aHCo9fZsLt+VTDJMUfZHteEYNIku0kljxFvlWGFVco5Yb5j/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439436; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H2RfOmE0N/4pwIw2zBWmQkl1stZPML3thmXsaWFI76Q=; b=QoZ3xhT2DOZbITH6Z/GJqgDZCLGp+LsFqfl+B4QzUDzyvVRa62tDFBDmni+gNaBXKFXbMC 6pXsD2r6yLiSLufqzIKrH9O7BKhUcZtCcEfSF1DaIIDV9A5Ri+HGniFdTrJ3o4vhQQkH9y RoqRiB5xgn40gl/n2AMkMqtxxvcMeBxpDo601FKVtyH6nmklGejZe8vNKGH8LYfeXKV2HR lQlMrO8BN6zQ/BSizDH881Hj3YshhYJTLMmF1Zdj/Kq2hz2RLnS+0P9xNGIdDzrXv7muZy 0U41ckteKMeugEUJwmmrL389JBAZEVVqBQ/TLBLJLjH/r5s963havhSQUBlXQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439436; a=rsa-sha256; cv=none; b=WndXKDyia7tTskV5KlS1o0CvImZRTNMCwW0UBMrRaCzIzbig05B+z+vUbRBv6TKCunRibH gUg9zgqp5Av8pZIXAmkPGR0ruPUc28vutV85XWvga8T51OycDHVsc17aBXW9CS0cqvUAT5 xt+l1d9IrBzkQyLaHTdfcKXUh/YCw1PvILE6ZpFiZ+P5Dcj6Y95CqQ+rcajBinr4Q6zvNm nLTlcmiJR95fPy9Z7fbhE1JMHndgZpnDxlt16y8f8KgyWaNyTzoHMBALRBCjkkkpz36np9 HnqAt8jUV4kCHcBSnRCuDaqjt3AKXqIp6Br+FnkNekklxm+QgacdD+4aCWRFKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9802Ynzg81; Fri, 3 Feb 2023 15:50:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FoZGI022933; Fri, 3 Feb 2023 15:50:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FoZ0k022932; Fri, 3 Feb 2023 15:50:35 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:35 GMT Message-Id: <202302031550.313FoZ0k022932@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 08779e839ac1 - main - kboot: Create segment handling code at main level List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 08779e839ac11c410d314ce225e2246ac4d2e8c0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=08779e839ac11c410d314ce225e2246ac4d2e8c0 commit 08779e839ac11c410d314ce225e2246ac4d2e8c0 Author: Warner Losh AuthorDate: 2023-02-03 15:37:53 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:39 +0000 kboot: Create segment handling code at main level Create segment handling code up to the top level. Move it all into seg.c, and make necessary adjustments for it being in a new file, including inventing print_avail() and first_avail() to print the array and find the first large enough memory hole. aarch64 will use this, and I'll refactor the other platforms to use it as I make them work. Sponsored by: Netflix Discussed with: kevans Differential Revision: https://reviews.freebsd.org/D38308 --- stand/kboot/Makefile | 1 + stand/kboot/kboot.h | 8 +++ stand/kboot/seg.c | 197 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 206 insertions(+) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index 35d71cb064fc..cc972bc06ae3 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -30,6 +30,7 @@ SRCS= \ init.c \ kbootfdt.c \ main.c \ + seg.c \ termios.c \ util.c \ vers.c diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index c50f3f7d53a1..2d89933b51aa 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -35,6 +35,14 @@ const char *hostdisk_gen_probe(void); void hostdisk_zfs_probe(void); bool hostdisk_zfs_find_default(void); +/* seg.c */ +void init_avail(void); +void need_avail(int n); +void add_avail(uint64_t start, uint64_t end, uint64_t type); +void remove_avail(uint64_t start, uint64_t end, uint64_t type); +uint64_t first_avail(uint64_t align, uint64_t min_size, uint64_t type); +void print_avail(void); + /* util.c */ bool file2str(const char *fn, char *buffer, size_t buflen); bool file2u64(const char *fn, uint64_t *val); diff --git a/stand/kboot/seg.c b/stand/kboot/seg.c new file mode 100644 index 000000000000..41ded9b4083c --- /dev/null +++ b/stand/kboot/seg.c @@ -0,0 +1,197 @@ +/*- + * Copyright (c) 2023, Netflix, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include "stand.h" +#include "kboot.h" + +#include + +static struct memory_segments *segs; +static int nr_seg = 0; +static int segalloc = 0; + +void +init_avail(void) +{ + if (segs) + free(segs); + nr_seg = 0; + segalloc = 16; + segs = malloc(sizeof(*segs) * segalloc); + if (segs == NULL) + panic("not enough memory to get memory map\n"); +} + +/* + * Make sure at least n items can be accessed in the segs array. Note the + * realloc here will invalidate cached pointers (potentially), so addresses + * into the segs array must be recomputed after this call. + */ +void +need_avail(int n) +{ + if (n <= segalloc) + return; + + while (n > segalloc) + segalloc *= 2; + segs = realloc(segs, segalloc * sizeof(*segs)); + if (segs == NULL) + panic("not enough memory to get memory map\n"); +} + +/* + * Always called for a new range, so always just append a range, + * unless it's continuous with the prior range. + */ +void +add_avail(uint64_t start, uint64_t end, uint64_t type) +{ + /* + * This range is contiguous with the previous range, and is + * the same type: we can collapse the two. + */ + if (nr_seg >= 1 && + segs[nr_seg - 1].end + 1 == start && + segs[nr_seg - 1].type == type) { + segs[nr_seg - 1].end = end; + return; + } + + /* + * Otherwise we need to add a new range at the end, but don't need to + * adjust the current end. + */ + need_avail(nr_seg + 1); + segs[nr_seg].start = start; + segs[nr_seg].end = end; + segs[nr_seg].type = type; + nr_seg++; +} + +/* + * All or part of a prior entry needs to be modified. Given the structure of the + * code, we know that it will always be modifying the last time and/or extending + * the one before it if its contiguous. + */ +void +remove_avail(uint64_t start, uint64_t end, uint64_t type) +{ + struct memory_segments *s; + + /* + * simple case: we are extending a previously removed item. + */ + if (nr_seg >= 2) { + s = &segs[nr_seg - 2]; + if (s->end + 1 == start && + s->type == type) { + s->end = end; + /* Now adjust the ending element */ + s++; + if (s->end == end) { + /* we've used up the 'free' space */ + nr_seg--; + return; + } + /* Otherwise adjust the 'free' space */ + s->start = end + 1; + return; + } + } + + /* + * OK, we have four cases: + * (1) The new chunk is at the start of the free space, but didn't catch the above + * folding for whatever reason (different type, start of space). In this case, + * we allocate 1 additional item. The current end is copied to the new end. The + * current end is set to and the new end's start is set to end + 1. + * (2) The new chunk is in the middle of the free space. In this case we allocate 2 + * additional items. We copy the current end to the new end, set the new end's start + * to end + 1, the old end's end to start - 1 and the new item is + * (3) The new chunk is at the end of the current end. In this case we allocate 1 more + * and adjust the current end's end to start - 1 and set the new end to . + * (4) The new chunk is exactly the current end, except for type. In this case, we just adjust + * the type. + * We can assume we always have at least one chunk since that's created with new_avail() above + * necessarily before we are called to subset it. + */ + s = &segs[nr_seg - 1]; + if (s->start == start) { + if (s->end == end) { /* (4) */ + s->type = type; + return; + } + /* chunk at start of old chunk -> (1) */ + need_avail(nr_seg + 1); + s = &segs[nr_seg - 1]; /* Realloc may change pointers */ + s[1] = s[0]; + s->start = start; + s->end = end; + s->type = type; + s[1].start = end + 1; + nr_seg++; + return; + } + if (s->end == end) { /* At end of old chunk (3) */ + need_avail(nr_seg + 1); + s = &segs[nr_seg - 1]; /* Realloc may change pointers */ + s[1] = s[0]; + s->end = start - 1; + s[1].start = start; + s[1].type = type; + nr_seg++; + return; + } + /* In the middle, need to split things up (2) */ + need_avail(nr_seg + 2); + s = &segs[nr_seg - 1]; /* Realloc may change pointers */ + s[2] = s[1] = s[0]; + s->end = start - 1; + s[1].start = start; + s[1].end = end; + s[1].type = type; + s[2].start = end + 1; + nr_seg += 2; +} + +void +print_avail(void) +{ + printf("Found %d RAM segments:\n", nr_seg); + + for (int i = 0; i < nr_seg; i++) { + printf("%#jx-%#jx type %lu\n", + (uintmax_t)segs[i].start, + (uintmax_t)segs[i].end, + (u_long)segs[i].type); + } +} + +uint64_t +first_avail(uint64_t align, uint64_t min_size, uint64_t memtype) +{ + uint64_t s, len; + + for (int i = 0; i < nr_seg; i++) { + if (segs[i].type != memtype) /* Not candidate */ + continue; + s = roundup(segs[i].start, align); + if (s >= segs[i].end) /* roundup past end */ + continue; + len = segs[i].end - s + 1; + if (len >= min_size) { + printf("Found a big enough hole at in seg %d at %#jx (%#jx-%#jx)\n", + i, + (uintmax_t)s, + (uintmax_t)segs[i].start, + (uintmax_t)segs[i].end); + return (s); + } + } + + return (0); +} From nobody Fri Feb 3 15:50:37 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g992nnQz3kRmR; Fri, 3 Feb 2023 15:50: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 4P7g991v2rz3HY4; Fri, 3 Feb 2023 15:50:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZGQCSuFYXFFG6qFNGoIShlcu6lBgf0JcdjHi6kmZxAQ=; b=Xo8rIXfXJjUFrUPV2TXrCik00fsM8ciWnHDUhqQgOCgRJQZbXXFi3EFIntxJdppWUOUk2O BZ5l5Im3ozYuvWIOdXqLhM2L+jjiG5LxAu+GpA6hTF9Fxgjzz44z/eMhglqr0Xl3bQDshs lO96NAefXU5EmLvv8LbRzTN19s7sSbNReASSl8bPpkcGnfei2lyafwKEColbEkDmJOx0Q6 ytTMkXFPGIcL9CntXWuB+/3TS0Vq6O3XAiz9R8wd+qzQzicJS1C4M5iD/CcaxJ31lhZZ+G mx2LvLcJpHffxsGdfC29joLstRMvQZgA7Em7EAa3Avt926zDY2WC1BEto7thog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZGQCSuFYXFFG6qFNGoIShlcu6lBgf0JcdjHi6kmZxAQ=; b=m8Luz/4kY/sMaQKeN7dgWsuXVigLbJfJUcYKTbywDS+DZs9HoFp3LTbkcwVWChgVWD0JKx 586jhKi8CL+ISlhbqqFJHt2hDKEGcScu+T5Io26ByQyamfXU7gZhWuh2v+Vi2jFkftkRp0 wFvwuotwxRYsROi5lkFt2MaaK1GmTtirN4cpZpLwqJXzcNF0iXzHKIxmynyDBdciajopqH ybPLPsJgJZc1p2F9uu093PuP4Pwv8G7dAaO6+/tsgfsBJuD9kl3HN7GAfDq5S1ZoMQ6lOe Fj9FlrO5HgWCn4vxsGCvYJyp6nf3YfbFa0BrqzNHSLvMmrzxqdEAiB3XOKM77w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439437; a=rsa-sha256; cv=none; b=q1vNQPzskpayX/t8z6bOMnhTt+LTnSknrwVza2O7NrPufBe+jAGAozPNPTiDrqabnJ2rqy 8RL53hObJb3re+auReJumwPRxZSsrV1kmuLW46xA3c6mL5ffJpTpxvoOWdHj7BO19uNJ/J 7LZxjzwZ/WJPX+rSGhtwVND+5UqFHtb1i5SP+fzFUH0B1jgPyVVUZ0C4Q4cS6GzpBt5vpp xfaLIj4p/AzJgjEEGEkkv0pwCvd1TXc/5/Tcm8WoD7hjhp+1wkgqEhx8a1eFmiqWsf3m4E 59txA/s6KFFYSiXWCMvfXoYGSHwA+6asy2YqEWAXvYbYUyOFEHfFSr3/Dr60wg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g990zSxzgB2; Fri, 3 Feb 2023 15:50:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Fobjf022957; Fri, 3 Feb 2023 15:50:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313Fobuk022956; Fri, 3 Feb 2023 15:50:37 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:37 GMT Message-Id: <202302031550.313Fobuk022956@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 33e5b27254e7 - main - kboot: Add parsing of /proc/iomem into seg.c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 33e5b27254e78c45a3cb728243709c16100fac36 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=33e5b27254e78c45a3cb728243709c16100fac36 commit 33e5b27254e78c45a3cb728243709c16100fac36 Author: Warner Losh AuthorDate: 2023-02-03 15:38:14 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:39 +0000 kboot: Add parsing of /proc/iomem into seg.c We'll be using this code for most / all of the platforms since iomem is the only interface that can tell us of the reserved to the linux kernel areas that we cannot place the new kernel into, but that we are free to use once we hit trampoline. aarch64 will use this shortly, and similar code in amd64 will be refactored when I make that platform work. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D38309 --- stand/kboot/kboot.h | 2 + stand/kboot/seg.c | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 151 insertions(+) diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index 2d89933b51aa..dcf1487ce404 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -36,12 +36,14 @@ void hostdisk_zfs_probe(void); bool hostdisk_zfs_find_default(void); /* seg.c */ +#define SYSTEM_RAM 1 void init_avail(void); void need_avail(int n); void add_avail(uint64_t start, uint64_t end, uint64_t type); void remove_avail(uint64_t start, uint64_t end, uint64_t type); uint64_t first_avail(uint64_t align, uint64_t min_size, uint64_t type); void print_avail(void); +bool populate_avail_from_iomem(void); /* util.c */ bool file2str(const char *fn, char *buffer, size_t buflen); diff --git a/stand/kboot/seg.c b/stand/kboot/seg.c index 41ded9b4083c..8cf3b833c9d1 100644 --- a/stand/kboot/seg.c +++ b/stand/kboot/seg.c @@ -195,3 +195,152 @@ first_avail(uint64_t align, uint64_t min_size, uint64_t memtype) return (0); } + +enum types { + system_ram = SYSTEM_RAM, + firmware_reserved, + linux_code, + linux_data, + linux_bss, + unknown, +}; + +static struct kv +{ + uint64_t type; + char * name; + int flags; +#define KV_KEEPER 1 +} str2type_kv[] = { + { linux_code, "Kernel code", KV_KEEPER }, + { linux_data, "Kernel data", KV_KEEPER }, + { linux_bss, "Kernel bss", KV_KEEPER }, + { firmware_reserved, "reserved" }, + { 0, NULL }, +}; + +static const char * +parse_line(const char *line, uint64_t *startp, uint64_t *endp) +{ + const char *walker; + char *next; + uint64_t start, end; + + /* + * Each line is a range followed by a descriptoin of the form: + * + * Bail if we have any parsing errors. + */ + walker = line; + start = strtoull(walker, &next, 16); + if (start == ULLONG_MAX || walker == next) + return (NULL); + walker = next; + if (*walker != '-') + return (NULL); + walker++; + end = strtoull(walker, &next, 16); + if (end == ULLONG_MAX || walker == next) + return (NULL); + walker = next; + /* Now eat the ' : ' in front of the string we want to return */ + if (strncmp(walker, " : ", 3) != 0) + return (NULL); + *startp = start; + *endp = end; + return (walker + 3); +} + +static struct kv * +kvlookup(const char *str, struct kv *kvs, size_t nkv) +{ + for (int i = 0; i < nkv; i++) + if (strcmp(kvs[i].name, str) == 0) + return (&kvs[i]); + + return (NULL); +} + +/* Trim trailing whitespace */ +static void +chop(char *line) +{ + char *ep = line + strlen(line) - 1; + + while (ep >= line && isspace(*ep)) + *ep-- = '\0'; +} + +#define SYSTEM_RAM_STR "System RAM" +#define RESERVED "reserved" + +bool +populate_avail_from_iomem(void) +{ + int fd; + char buf[128]; + const char *str; + uint64_t start, end; + struct kv *kv; + + fd = open("host:/proc/iomem", O_RDONLY); + if (fd == -1) { + printf("Can't get memory map\n"); + return false; + } + + if (fgetstr(buf, sizeof(buf), fd) < 0) + goto out; /* Nothing to do ???? */ + init_avail(); + chop(buf); + while (true) { + /* + * Look for top level items we understand. Skip anything that's + * a continuation, since we don't care here. If we care, we'll + * consume them all when we recognize that top level item. + */ + if (buf[0] == ' ') /* Continuation lines? Ignore */ + goto next_line; + str = parse_line(buf, &start, &end); + if (str == NULL) /* Malformed -> ignore */ + goto next_line; + /* + * All we care about is System RAM + */ + if (strncmp(str, SYSTEM_RAM_STR, sizeof(SYSTEM_RAM_STR) - 1) == 0) + add_avail(start, end, system_ram); + else if (strncmp(str, RESERVED, sizeof(RESERVED) - 1) == 0) + add_avail(start, end, firmware_reserved); + else + goto next_line; /* Ignore hardware */ + while (fgetstr(buf, sizeof(buf), fd) >= 0 && buf[0] == ' ') { + chop(buf); + str = parse_line(buf, &start, &end); + if (str == NULL) + break; + kv = kvlookup(str, str2type_kv, nitems(str2type_kv)); + if (kv == NULL) /* failsafe for new types: igonre */ + remove_avail(start, end, unknown); + else if ((kv->flags & KV_KEEPER) == 0) + remove_avail(start, end, kv->type); + /* Else no need to adjust since it's a keeper */ + } + + /* + * if buf[0] == ' ' then we know that the fgetstr failed and we + * should break. Otherwise fgetstr succeeded and we have a + * buffer we need to examine for being a top level item. + */ + if (buf[0] == ' ') + break; + chop(buf); + continue; /* buf has next top level line to parse */ +next_line: + if (fgetstr(buf, sizeof(buf), fd) < 0) + break; + } + +out: + close(fd); + return true; +} From nobody Fri Feb 3 15:50:38 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9B3qPbz3kRnm; Fri, 3 Feb 2023 15:50: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 4P7g9B2Rxqz3Hdm; Fri, 3 Feb 2023 15:50:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qHz8SsT1z7qGZPJ0vELUZQlNcnzVc888hcLBUgi4a0U=; b=o++BdjR7m1OaG5QR25MUQVesWnInkiBOlJh/mUXQJGYdUWL09aZChkyf+7QTRwov5m8ucX eQN+8DH/7s6D2/ynAGI0jHWEEuVfLncqybd03Rz/PirY8yhHIjHOw1z+81aWLC7ndF46wa apoBf+x1SK8zwzcg5R6nRUi8w0aihNH2RwTF++AZCD0rGOfs/QjQtRt/H0qfI92jnGJMz6 4IND5OS6Bvxt+k9Bbhnz1hGRO75loT3DeMc89iwn+JglbSjdaykZA3DFihJo5qFBeL6iej yxQQJhdxk3eBtaqwWtI7nh6zCFRFp/Lq2f/eRUwPxdzBlp0e2l2B7ZItS0pg0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qHz8SsT1z7qGZPJ0vELUZQlNcnzVc888hcLBUgi4a0U=; b=b7z1pukZqg6xmTt4MP84nHSg1MNTErGh7s7q8GTgy96AcrN2Gh7OQ5wy4NKqqe5nMmHv15 uPvE8xk1NFMWU9wWCl4WA/1JlMWScYTJS43D/FIHSliReabYUE8TuVXVwG9/K0AhSV6anS Q4VpimAPgTobPUzcj6WRsMUS/LhArV4YjgFWmJxXN1ewB0RdFBujXxTqK39xrIdEFdRAIX VIXcuTuAGTCH37H5L2RFjZnbwyWMwDYTKHRVSn8hNb9EoKTH7Mjr37cEtROdxdNUYZSvPN rp8Nx3VYmOnckOIO10VT8abJ3zyO76G+fnMybx4bUR4XeB7npUxAmuALD6AMug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439438; a=rsa-sha256; cv=none; b=HfDCto/0DjJip87y4vXxCx7PXcg8o87YgqC2i/SYbSPT8Q9mlaf0e7YgT7gYHg0MhGuxE5 pJngDPEXzfN++kyOfApiCfZfjFCGxXLKFVDoJdHlcQ8iguPoD1+7PFX6zOnb6p81vsE0aD vFgGFgCItFjVJJINEh/tydjC8wqM8NBmWelaYtGXAc43OPKyoXodv5EYOsYcRuecQd/lrN Sk+f6SXTobjiNl2mYW9/MZ3diM7ZY1eJZjl51PENM5DBNpkL6NTcwmW7TpB4kQIFhcAL84 ekcPk034SG4JsuIvFgBbfkKVzrhb8uvrsvho34TPSwyg5i+A2yOydV8AAjQbQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9B1VsgzgB3; Fri, 3 Feb 2023 15:50:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Foc5a022981; Fri, 3 Feb 2023 15:50:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FocGj022980; Fri, 3 Feb 2023 15:50:38 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:38 GMT Message-Id: <202302031550.313FocGj022980@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 81fbd74a4b59 - main - kboot: space_avail -- how much space exists from 'start' to end of segment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81fbd74a4b598c52957b491896ec839316ceeec3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=81fbd74a4b598c52957b491896ec839316ceeec3 commit 81fbd74a4b598c52957b491896ec839316ceeec3 Author: Warner Losh AuthorDate: 2023-02-03 15:38:22 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:39 +0000 kboot: space_avail -- how much space exists from 'start' to end of segment Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D38313 --- stand/kboot/kboot.h | 1 + stand/kboot/seg.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index dcf1487ce404..4a8fe497339e 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -44,6 +44,7 @@ void remove_avail(uint64_t start, uint64_t end, uint64_t type); uint64_t first_avail(uint64_t align, uint64_t min_size, uint64_t type); void print_avail(void); bool populate_avail_from_iomem(void); +uint64_t space_avail(uint64_t start); /* util.c */ bool file2str(const char *fn, char *buffer, size_t buflen); diff --git a/stand/kboot/seg.c b/stand/kboot/seg.c index 8cf3b833c9d1..947aa0a2a7a3 100644 --- a/stand/kboot/seg.c +++ b/stand/kboot/seg.c @@ -344,3 +344,22 @@ out: close(fd); return true; } + +/* + * Return the amount of space available in the segment that @start@ lives in, + * from @start@ to the end of the segment. + */ +uint64_t +space_avail(uint64_t start) +{ + for (int i = 0; i < nr_seg; i++) { + if (start >= segs[i].start && start <= segs[i].end) + return segs[i].end - start; + } + + /* + * Properly used, we should never get here. Unsure if this should be a + * panic or not. + */ + return 0; +} From nobody Fri Feb 3 15:50:39 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9C45xCz3kRdd; Fri, 3 Feb 2023 15:50: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 4P7g9C3Pnjz3HR2; Fri, 3 Feb 2023 15:50:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2AnQszO0MXVgB7/YeAdmRhLmRy9+kTdgbOj3RtOQj1I=; b=pLtf+qq/3dDlXuDtiuY7BLXEma1mILVTi3SKINxKdBHbdQ1/2eN5yd35Rygnl6j6xhSJzU 5o6W4k0NAw1AJeoIWyRa7uIWbpDhFFmuXYyDQXMT1g+blSDYWjyUosw2qCFZmN4XJLjBfB btEyfjCXLXHfdRpY+Y4vccfBabUasYVQ48nZWYNJdajYLKlhzbu5Lxi2tW+xlxUU6WfoXl xB/bmDUy5YL1SaMNTCXyl8ePkwz3gBr18CSOoSpyCeteiu0rgLCY8oy6I4zo6WXtBS1yav OWuSYomSGqSqnvCCltz6RA5ot35q2hGrEO1vu1+B/bM7RyoGqwnyDaaAHEosag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439439; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2AnQszO0MXVgB7/YeAdmRhLmRy9+kTdgbOj3RtOQj1I=; b=wQFG/MLMs8Zr0Gd+YG+yHFjhrozSf9fdRO6tWPeix/5CocfrIT0fEumOBWhhGPJyZhPtzo 1c+AERhTL0TrdOHjeKqg/7NmgJAjr6qcEe+0jFxjl6fJk12qZN09SPRnCjbGR8ZTXwWeAC +pLFSrrHTJgYRfsF7NGJzQY2QVEs1Tu2PtNKE55S9CD4b7javyOpyTQeYWAY5JloAj3WNF C5uZbmPMN8UMNZPBIhPIj79dR1F/W5YZrBEgyPCnLCnJdf5H3fVth2ceORLHIXziktpnG2 ysAEoqLVHcbOW3MN4RUBwB3CwXxa2gWqngoDQbrnro630Bj7JVg5LvRTF/FdKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439439; a=rsa-sha256; cv=none; b=SuO644Tc3JI+LaTQBUQrs6ui+W6wdHNufP6nf1kS7m7tey4rjnjqD4//IhA1qiz3V2zVsL nb3fW+kiqZrnSXGoglRBqLb+tLvY2R5KxUnEDzUmTrV7LMd+Rjg87SoxOfbgQ2nPDBQ/je Mh+POijBmSQNppVjPC2YPKcq0twVeXTydxckijkEFzmekWtoml7H72DCvyFMBgFqAs7YQj 4QFKXG40e6HyA8Apuss3iWd6PlHsYkD6iRSje04Adc+sbAbbai1aEmp1GPZvK+Gj8pVV3Z tjcIvNzQCJuo3TRQDYL4AsJ7j81rGhVbHb4ypRkv84sApALGnlz2CmpUknminQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9C2TSjzfTL; Fri, 3 Feb 2023 15:50:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FodcN023012; Fri, 3 Feb 2023 15:50:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313Fod3D023010; Fri, 3 Feb 2023 15:50:39 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:39 GMT Message-Id: <202302031550.313Fod3D023010@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 1d5f967fa777 - main - kboot: Add powerpc stub for enumerate_memory_arch() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1d5f967fa7776fd8119bab7fbe66bffde03e4735 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1d5f967fa7776fd8119bab7fbe66bffde03e4735 commit 1d5f967fa7776fd8119bab7fbe66bffde03e4735 Author: Warner Losh AuthorDate: 2023-02-03 15:38:29 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:39 +0000 kboot: Add powerpc stub for enumerate_memory_arch() Add stub for new MI interface for enumerating memory. Right now powerpc looks in the FDT table at a later point in boot since we don't need to pass a specific memory table to the kernel. Leave it like that for now, but note plans for the future. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38248 --- stand/kboot/arch/powerpc64/load_addr.c | 12 ++++++++++++ stand/kboot/main.c | 1 - 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/stand/kboot/arch/powerpc64/load_addr.c b/stand/kboot/arch/powerpc64/load_addr.c index 81b5d0d50581..ac3374ff20f2 100644 --- a/stand/kboot/arch/powerpc64/load_addr.c +++ b/stand/kboot/arch/powerpc64/load_addr.c @@ -208,3 +208,15 @@ kboot_get_kernel_machine_bits(void) return (bits); } #endif + +/* Need to transition from current hacky FDT way to this code */ +bool enumerate_memory_arch(void) +{ + /* + * For now, we dig it out of the FDT, plus we need to pass all data into + * the kernel via the (adjusted) FDT we find. + */ + setenv("usefdt", "1", 1); + + return true; +} diff --git a/stand/kboot/main.c b/stand/kboot/main.c index b8523cb202a2..bc2dad96dbfe 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -254,7 +254,6 @@ main(int argc, const char **argv) printf("\n%s", bootprog_info); setenv("LINES", "24", 1); - setenv("usefdt", "1", 1); memory_limits(); From nobody Fri Feb 3 15:50:40 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9D6cssz3kRx4; Fri, 3 Feb 2023 15:50: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 4P7g9D4d6rz3Hkx; Fri, 3 Feb 2023 15:50:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VqiZH27wu7ynx0XwbzD9NU8aYAed6gQb3jJhNXgh8yU=; b=E8uPClEukH60bL5m4fm23Bz1O6zD3ncAIWn6TOFH6QwLksXz8OAyuJXRpfw24b4xVvF0h7 XzjfsQz+ZQY4TovAYycQZ+BoZehM41vpOCp7J57qbqxLQ8b4c9HRzV9JrQAyeH23+ZVOsw TkxGO070Ch1RSRudkdAkZyieJDoLkH8eyH4VpI7Un5lGVpB+KY4+tkm3Wthuj88TehcZ0n HkaAMM0mpXcHkX8KVsDICueCFLpxNiRaNPimevSiIjXlEBG+YQO8EaCHPhRvPAS+vC5Ph+ pA+96owl4RiU/bv5q7j2wU8NA11YAxNd8Dqum5+Zrvs+K4CCfrN94ud3XGJsNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VqiZH27wu7ynx0XwbzD9NU8aYAed6gQb3jJhNXgh8yU=; b=Ty476inwEB6c+yIX+8rwVIY0lRa1y+NjeaGDJij/k8TmePMBTS3FC2+CNWvEhYDFBsvu2M vNGiwYjkqc8qAoUqRKkbHLVg61g0AECLE4w8VjDRhahJ2prlISp2lHUlpV4CDBS5+C0DeQ uyRI/aUsOH9mMw/BsmKLiuFnCxzm9lap4VceLABCKc/Z9/eDJRvtxZmPKhgfRuBsUxiVXE aPUSjuqZXgX1UNvA4fTb9QBxPNKvHhACT/E5Ml2oCDZzh45ITU3AII80IXsQDZOf/j1ygJ dtutJKPXryDSUJNnA1Vf49zqGz6xJRSOm9jn3pxC86NyKvj/apS5caY5ihf58Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439440; a=rsa-sha256; cv=none; b=NuVJ+eX8tYkGQlHGMyBnzXTC4BQs+oWJLu1rpGTpC0DfbKFk/d2nRZRAQHUULOF2yZV+Qr l2bnRAIVG1lGuU6nBz4CWltmQovr1C45s+0++irgqXZBO+uC49btW79/5Qn0QmoDw2wg39 Jpawk93YeYaiHFJAy2H/0ynmgGy9B/mo6DYScplfTGCLI+XDBKA3HvvKoyoHL0p0OKNUTh m6A9UuE3Iq2Xeyq8AT1A+W4vqnwS9XxJoGKJWTFlHH0qyRayLXCzwpBS7iR8WjCG8fLDHK Cd3KCDYm0viVPRp8rHM/jIpPeBbKzYGRSFX0PI3kS/zWcWJz5fpE8jaU6Lx8Ng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9D3jFQzgC0; Fri, 3 Feb 2023 15:50:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Foexq023037; Fri, 3 Feb 2023 15:50:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FoeC6023036; Fri, 3 Feb 2023 15:50:40 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:40 GMT Message-Id: <202302031550.313FoeC6023036@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 1c98cd1569de - main - kboot: aarch64 memory enumeration enumerate_memory_arch() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1c98cd1569de393ba3caa5e79042b5a12cdf5d23 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1c98cd1569de393ba3caa5e79042b5a12cdf5d23 commit 1c98cd1569de393ba3caa5e79042b5a12cdf5d23 Author: Warner Losh AuthorDate: 2023-02-03 15:38:36 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:39 +0000 kboot: aarch64 memory enumeration enumerate_memory_arch() We have an odd situation with aarch64 memory enumeration. The fdt that we can get has a PA of the UEFI memory map, as modified by the current running Linux kernel so it can retain those pages it needs for EFI and other services. We have to pass in this EFI tablem but don't have access to it in the boot loader. We do in the trampoline code, so a forthcoming commit will copy it there for the kernel to use. All for want of /dev/mem in the target environment sometimes. However, we also have to find a place to load the kernel, so we have to fallback to /proc/iomem when we can't read the UEFI memory map directly from /dev/mem. It will give us good enough results to do this task. This table isn't quite suitable to be converted to the EFI table, so we use both methods. We'll fall back to this method also if there's no EFI table advertised in the fdt. There's no /sys file on aarch64 that has this information, hence using the old-style /proc/iomem. We're unlikely to work if there's no EFI, though. Note: The underlying Linux mechanism is different than the amd64 method which seems like it should be MI, but unimplemented on aarch64. Sponsored by: Netflix Discussed with: kevans Differential Revision: https://reviews.freebsd.org/D38249 --- stand/kboot/arch/aarch64/load_addr.c | 154 +++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/stand/kboot/arch/aarch64/load_addr.c b/stand/kboot/arch/aarch64/load_addr.c index e69de29bb2d1..ad71a4f9fbb1 100644 --- a/stand/kboot/arch/aarch64/load_addr.c +++ b/stand/kboot/arch/aarch64/load_addr.c @@ -0,0 +1,154 @@ +/*- + * Copyright (c) 2022 Netflix, Inc + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include +#include +#include +#include + +#include "kboot.h" +#include "bootstrap.h" + +/* + * Info from dtb about the EFI system + */ +vm_paddr_t efi_systbl_phys; +struct efi_map_header *efi_map_hdr; +uint32_t efi_map_size; +vm_paddr_t efi_map_phys_src; /* From DTB */ +vm_paddr_t efi_map_phys_dst; /* From our memory map metadata module */ + +static bool +do_memory_from_fdt(int fd) +{ + struct stat sb; + char *buf = NULL; + int len, offset; + uint32_t sz, ver, esz, efisz; + uint64_t mmap_pa; + const uint32_t *u32p; + const uint64_t *u64p; + struct efi_map_header *efihdr; + struct efi_md *map; + + if (fstat(fd, &sb) < 0) + return false; + buf = malloc(sb.st_size); + if (buf == NULL) + return false; + len = read(fd, buf, sb.st_size); + /* NB: we're reading this from sysfs, so mismatch OK */ + if (len <= 0) + goto errout; + + /* + * Look for /chosen to find these values: + * linux,uefi-system-table PA of the UEFI System Table. + * linux,uefi-mmap-start PA of the UEFI memory map + * linux,uefi-mmap-size Size of mmap + * linux,uefi-mmap-desc-size Size of each entry of mmap + * linux,uefi-mmap-desc-ver Format version, should be 1 + */ + offset = fdt_path_offset(buf, "/chosen"); + if (offset <= 0) + goto errout; + u64p = fdt_getprop(buf, offset, "linux,uefi-system-table", &len); + if (u64p == NULL) + goto errout; + efi_systbl_phys = fdt64_to_cpu(*u64p); + u32p = fdt_getprop(buf, offset, "linux,uefi-mmap-desc-ver", &len); + if (u32p == NULL) + goto errout; + ver = fdt32_to_cpu(*u32p); + u32p = fdt_getprop(buf, offset, "linux,uefi-mmap-desc-size", &len); + if (u32p == NULL) + goto errout; + esz = fdt32_to_cpu(*u32p); + u32p = fdt_getprop(buf, offset, "linux,uefi-mmap-size", &len); + if (u32p == NULL) + goto errout; + sz = fdt32_to_cpu(*u32p); + u64p = fdt_getprop(buf, offset, "linux,uefi-mmap-start", &len); + if (u64p == NULL) + goto errout; + mmap_pa = fdt64_to_cpu(*u64p); + free(buf); + + printf("UEFI MMAP: Ver %d Ent Size %d Tot Size %d PA %#lx\n", + ver, esz, sz, mmap_pa); + + /* + * We have no ability to read the PA that this map is in, so + * pass the address to FreeBSD via a rather odd flag entry as + * the first map so early boot can copy the memory map into + * this space and have the rest of the code cope. + */ + efisz = (sizeof(*efihdr) + 0xf) & ~0xf; + buf = malloc(sz + efisz); + if (buf == NULL) + return false; + efihdr = (struct efi_map_header *)buf; + map = (struct efi_md *)((uint8_t *)efihdr + efisz); + bzero(map, sz); + efihdr->memory_size = sz; + efihdr->descriptor_size = esz; + efihdr->descriptor_version = ver; + efi_map_phys_src = mmap_pa; + efi_map_hdr = efihdr; + efi_map_size = sz + efisz; + + return true; +errout: + free(buf); + return false; +} + +bool +enumerate_memory_arch(void) +{ + int fd = -1; + bool rv = false; + + fd = open("host:/sys/firmware/fdt", O_RDONLY); + if (fd != -1) { + rv = do_memory_from_fdt(fd); + close(fd); + /* + * So, we have physaddr to the memory table. However, we can't + * open /dev/mem on some platforms to get the actual table. So + * we have to fall through to get it from /proc/iomem. + */ + } + if (!rv) { + printf("Could not obtain UEFI memory tables, expect failure\n"); + } + + populate_avail_from_iomem(); + + print_avail(); + + return true; +} + +uint64_t +kboot_get_phys_load_segment(void) +{ +#define HOLE_SIZE (64ul << 20) +#define KERN_ALIGN (2ul << 20) + static uint64_t s = 0; + + if (s != 0) + return (s); + + s = first_avail(KERN_ALIGN, HOLE_SIZE, SYSTEM_RAM); + if (s != 0) + return (s); + s = 0x40000000 | 0x4200000; /* should never get here */ + printf("Falling back to crazy address %#lx\n", s); + return (s); +} From nobody Fri Feb 3 15:50:41 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9G0fWQz3kRny; Fri, 3 Feb 2023 15:50: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 4P7g9F5cSZz3HnT; Fri, 3 Feb 2023 15:50:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sNwYqQu7FCOWWLtCT4ayzszSoKMyBqLRcMxKApUcUxk=; b=TKIDlPf/9bXwZJVO4s5IGlzPGVMF0ITmvsXj4wL+Xw6KUsUgRndQBex5Mc368GWRKw2XrN ZF+Y2+8MxnjGXQzNTKWyXkC97tc0s5ObcpLn/U05wCxa7PmJ4B0F1XE/vMFB2L1gM1NFms jpxwFymlZoZBwyOe8D/eOOHwZdC0C2ogz+1E8hh2zdH/xGlE7cUYy1E58DdEobjMpwcb/O Movk6Ajp9gjvPMw9a09EtGbNU87gn8fN5BkkVIJos8ckqLmCp0Pk3kDoGQH/1PAEx8czPZ v0fBIDnY/pvcSB4zsIW3/6CqKNfVB5BHMUH5NXiHgyU71I7W38RCjUKb5eCgfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sNwYqQu7FCOWWLtCT4ayzszSoKMyBqLRcMxKApUcUxk=; b=Pa6nPYTvrsJRPpZBqLx+7j4FB618B9Rs5QXlNm4JIKoV+YS/VH4aF2l9EwjrckXBYdkRvO E5mfImEtuDmocQFhee4GezKSp7lKv3V0rq2CMawPn2VbjisV8LTFQvzpw7VqVQLaB/dxJ9 RbD1fAtWlkGIX/OVi7mpnywU4f4rmZm0lW+gHUNBaF/L5o08XghjK7tG3VDoFv4Sd0U9mv XUwugnbt8HyhbP0thn7xOz2n/g5acD24CS+O5uvnKl2XoGxhhhONbODeKU5e+qLwsQZh6S 2LdKWS0dicijt5OceiSPP4EekLiYTrnhVB1UsD4LYaei71qMWdxRu/R3B+9puw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439441; a=rsa-sha256; cv=none; b=Yhdk2p/E5ltmJtawv4x2oG02FldxAOE5HVldz/0xo4Bx4dp0Rtf5rNijvi2XRRORN/UpGh KpBcCzxOzmahwr6fje7Mi62G1ujzA0VgBW0XHyYv+gzGYSi67ZM9wiTBI0UCiawzyULWh0 K6XsnQYZqKLLhp5Np5ri4FNf0EsJkIXLWZUCiP0Djf8dss72ZisVwoXbCywBSXPWVLRi0r Ip349Gk6vYL56msV592hmQvg/uPsADBQcygNuxL/pxZhW20VF/QnOd2fSirjEonnttDqXd mcAYbtCUUYDZx0VhwHmScc/io7z5VSP2VJ63ddzKOAjDtYDu15Evn3kO334h1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9F4kQqzgQm; Fri, 3 Feb 2023 15:50:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FofRF023062; Fri, 3 Feb 2023 15:50:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313Fofl1023061; Fri, 3 Feb 2023 15:50:41 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:41 GMT Message-Id: <202302031550.313Fofl1023061@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a967cd4db2af - main - kboot: Update amd64 to use enumerate_memory_arch() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a967cd4db2aff9c03adfead4b981a3659e75daf4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a967cd4db2aff9c03adfead4b981a3659e75daf4 commit a967cd4db2aff9c03adfead4b981a3659e75daf4 Author: Warner Losh AuthorDate: 2023-02-03 15:39:06 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:39 +0000 kboot: Update amd64 to use enumerate_memory_arch() Move memory enumeration to the enumerate_memory_arch(), tweak the code a bit to make that fit into that framework. Also fix a bug in the name of the end location. The old code never found memory (though amd64 doesn't yet work, this lead to using fallback addresses that were good enough for QEMU...). Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38250 --- stand/kboot/arch/amd64/load_addr.c | 40 +++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/stand/kboot/arch/amd64/load_addr.c b/stand/kboot/arch/amd64/load_addr.c index fccd17cf8d51..528b4dba6758 100644 --- a/stand/kboot/arch/amd64/load_addr.c +++ b/stand/kboot/arch/amd64/load_addr.c @@ -24,21 +24,16 @@ */ #include -#include +#include +#include #include "stand.h" #include "host_syscall.h" #include "kboot.h" +#include "bootstrap.h" /* Refactor when we do arm64 */ -struct memory_segments -{ - uint64_t start; - uint64_t end; - uint64_t type; -}; - enum types { system_ram = 1, acpi_tables, @@ -68,6 +63,9 @@ struct kv #define MEMMAP "/sys/firmware/memmap" +static struct memory_segments segs[64]; /* make dynamic later */ +static int nr_seg; + static bool str2type(struct kv *kv, const char *buf, uint64_t *value) { @@ -82,19 +80,18 @@ str2type(struct kv *kv, const char *buf, uint64_t *value) return false; } -static int -read_memmap(struct memory_segments *segs, int maxseg) +bool +enumerate_memory_arch(void) { int n; char name[MAXPATHLEN]; char buf[80]; - n = 0; - do { + for (n = 0; n < nitems(segs); n++) { snprintf(name, sizeof(name), "%s/%d/start", MEMMAP, n); if (!file2u64(name, &segs[n].start)) break; - snprintf(name, sizeof(name), "%s/%d/length", MEMMAP, n); + snprintf(name, sizeof(name), "%s/%d/end", MEMMAP, n); if (!file2u64(name, &segs[n].end)) break; snprintf(name, sizeof(name), "%s/%d/type", MEMMAP, n); @@ -102,10 +99,11 @@ read_memmap(struct memory_segments *segs, int maxseg) break; if (!str2type(str2type_kv, buf, &segs[n].type)) break; - n++; - } while (n < maxseg); + } + + nr_seg = n; - return n; + return true; } #define BAD_SEG ~0ULL @@ -118,6 +116,11 @@ find_ram(struct memory_segments *segs, int nr_seg, uint64_t minpa, uint64_t alig { uint64_t start; + printf("minpa %#jx align %#jx sz %#jx maxpa %#jx\n", + (uintmax_t)minpa, + (uintmax_t)align, + (uintmax_t)sz, + (uintmax_t)maxpa); /* XXX assume segs are sorted in numeric order -- assumed not ensured */ for (int i = 0; i < nr_seg; i++) { if (segs[i].type != system_ram || @@ -143,20 +146,17 @@ uint64_t kboot_get_phys_load_segment(void) { static uint64_t base_seg = BAD_SEG; - struct memory_segments segs[32]; - int nr_seg; if (base_seg != BAD_SEG) return (base_seg); - nr_seg = read_memmap(segs, nitems(segs)); if (nr_seg > 0) base_seg = find_ram(segs, nr_seg, 2ULL << 20, 2ULL << 20, 64ULL << 20, 4ULL << 30); if (base_seg == BAD_SEG) { /* XXX Should fall back to using /proc/iomem maybe? */ /* XXX PUNT UNTIL I NEED SOMETHING BETTER */ - base_seg = 42ULL * (1 << 20); /* Jam it in at the odd-ball address of 42MB so it stands out */ + base_seg = 300ULL * (1 << 20); } return (base_seg); } From nobody Fri Feb 3 15:50:42 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9H03Hrz3kRp3; Fri, 3 Feb 2023 15:50: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 4P7g9G6g1zz3Hp0; Fri, 3 Feb 2023 15:50:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+arnQnDyOvt1Yc1APsjh8B5OUwsaeUB5s53Tw+BAgrY=; b=nI2aODVU4YasHErzDdjUWwNOnyIxanlrxGiQujIIvcUBxIRTCTyyRdPtBfKGtxiqo4em5B /5OF3qpZbS71iZbSTboQ4AEnR8rWfx2aShya/fUQFLZGp89zQCBi6mIofjS3/KD42F6GQV d8J7Gm943VWIT69rO9BAC/wlC+T0Z2jxV2Ax3SCWrZHy+UvW6I8DfxXIaLOD9yG4PJbG2R 3zlLYwlVtzhSV2jBqhklUukSsMMfcniEDac+X7Vs9oaU/ZJ+zZ9QFrWRW69F9+lGLX2xvq w8D/8juXEUGuhlUSaJlOz5Q9NB0NU3Ca2kkCCDumhWQHiPUrGzK/3vk5Z+r6UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+arnQnDyOvt1Yc1APsjh8B5OUwsaeUB5s53Tw+BAgrY=; b=gbVIsVtu6B/v6lAz1oZe3s1/NLAuzFL0a2l1g8BvB+pbHYLWNkQrTcpNdXaj7LjTTEtWB7 8h/mZyXkVcCspNTcS229OCTMv+vVQ6AjMKoTJYwYw02bnx66HrTBj7evOvkwzqeVd77Rjo 8xdOcHk5bqBvx0I5zLEPxADcUch5UnDVPA7K6FtEShAUgoaVIRGmtvOXnMIOkC1YiOlC7t 6IAU2i7Z+v9XeexfblcVQmxf27V2H7v7fuFbbAy3P4SJjI4fE/xR4hoxOM6g5EjcLerBFp LOfkENL+ExQotL7iWa/pc/LuMxi/OKUV2Q87aIvmkWQ3sxV6/0y0XQQz2nt7uA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439442; a=rsa-sha256; cv=none; b=Vn7JbdBP5MO483ly2VqdsdsYr8U2T+LX/tybeUl61fB1iFrD33VkOyWMaJ6dO2OQIFI41r QMzIkW+9bGMLJI93ncAyunDZ6a7clVhaD97mEP7O9Plm9kZtl9gyUg1hzt5PEIy9ASHlEE VkRcz8xXSnrV6AvxCHFhQpib+CdJzQar2+om0Y1PDxu69uMBMk4jydQBORybd9vIq+4rDi t68ZqGqk0YYxKV4xtrQYfuhOQUan8eIMVmH743S0yHtt8yoQLek+BzVQ58yIy+mTs/chm+ ER1hTNfTEOXpoSHjzLXQTmGZNqYcAuiyj7JxEh05UNJ4rFiFvdSUH1+irgxIXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9G5lkzzgL5; Fri, 3 Feb 2023 15:50:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Fogtg023086; Fri, 3 Feb 2023 15:50:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313Fog9c023085; Fri, 3 Feb 2023 15:50:42 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:42 GMT Message-Id: <202302031550.313Fog9c023085@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 2e533532808b - main - kboot: Call enumerate_memory_arch() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e533532808b060111dd6f3780dd99c896d6fbe6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2e533532808b060111dd6f3780dd99c896d6fbe6 commit 2e533532808b060111dd6f3780dd99c896d6fbe6 Author: Warner Losh AuthorDate: 2023-02-03 15:39:16 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:39 +0000 kboot: Call enumerate_memory_arch() Now that all architectures provide this, enumerate the platform's memory before we go to interact(). This needs to be done only once, but relies on our ability to open host: files on some platforms, so it needs to be done after devinit(). Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D38251 --- stand/kboot/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index bc2dad96dbfe..7f548fe15b08 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -256,6 +256,7 @@ main(int argc, const char **argv) setenv("LINES", "24", 1); memory_limits(); + enumerate_memory_arch(); /* * Find acpi, if it exists From nobody Fri Feb 3 15:50:43 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9J0swdz3kRmt; Fri, 3 Feb 2023 15:50: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 4P7g9J0Bylz3J38; Fri, 3 Feb 2023 15:50:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PB4Un/9MAwoQMEztfSSvnEf8DkWQlXQe+0Cq/ReZCd4=; b=A+v1zeDzzPlWnXIqAlrDjz3J+O/8eXiy2pHGPP2Rqt6p5pzVfRLgDcsL5RhEFlXk8DnkZK 31jCnMCWh8q9zcGIY9kL+C2CR0cnSQUrX/yoeSvW38d8Tu5LZdsB9ptkDLbUL3lgKQDPoG igYtnI9oXFMQ/8fCBbaQIc+saaVbsuFSBcfRbfYDYlLNQG3FxHBvHmyTipX4882Pn932t7 uXQrSjzJPcil988SiHVTSg5NhJMl75BZKMuXeYxmnSDQ/8MkBt1bVmP1WuyfeAo+6nVB98 surX1GQqLFLpmGC/k44svwNDJNEmXHqpsUyEgQBJ3eNcMy541aIJW+LQAG0MhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439444; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PB4Un/9MAwoQMEztfSSvnEf8DkWQlXQe+0Cq/ReZCd4=; b=trxzynqaiw6VMO8HA0msh2Qm/1uw2RHDIchYAS2vAD7nM16gOjn83Y+5wpa5F1/EE5peiq V9V2VQx9L+D+Raz9RGLy2OMs+/um1SWaA3RxU4qB+b4010v9F21ZmB6hnIJU+XLUEp/xk6 H753vnJ6LeinOGMXieDhjFZOLdTtpAssCAwtBVkRnvWQvw+uu3g6LQ1xNkehkucNexL0CP 2uERAjQXNjXM7FnX6i4u7xqXk6AW1o/ols90zN2bYcnGnBhE2CkJFXwIUUJaHnqZHnz/Eu TyzO8FEAYibckg/cWa//fuyurkuJdJmLcGXa1jse6yiYMO2H+JadfH/7YTot5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439444; a=rsa-sha256; cv=none; b=FvYWWrdnd0zWhcvGI9dFeuF0et14g2/j+qxBwiCbrJIwSs0WDbw8f+p1PACoyr7t8ecPO3 SZ6ERFVBcnOvyP1iUdNJzI2qIu9j8ioG0MWjP3VBJKniuwozT6+EXTlZRXSkt85nCRUotZ EDNapZ9glh21bLqPm1KfkAtrxh9S5Y2iEf703FBG5fPDrLgWlBzmK0jpaqgRyt9dxb5sdp 9Xu7DC+PBqVsQFrSEJEmXrESpPJAAV34+T9aAeyonnITIDYVxmWtUtwA7pO/ItdWIkWg72 5KiwkzYX9t6arwYJWVULHZUn2E68Z7NQtLiqZ2Wes4VqdMSkxbfleNMvVnchNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9H6QbJzgNG; Fri, 3 Feb 2023 15:50:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FohF3023112; Fri, 3 Feb 2023 15:50:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313Foh4p023111; Fri, 3 Feb 2023 15:50:43 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:43 GMT Message-Id: <202302031550.313Foh4p023111@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: d1a3cc0abeef - main - kboot: Define bi_loadsmap for loading memory maps List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d1a3cc0abeef73de739588b7b4ca812d927ab649 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d1a3cc0abeef73de739588b7b4ca812d927ab649 commit d1a3cc0abeef73de739588b7b4ca812d927ab649 Author: Warner Losh AuthorDate: 2023-02-03 15:39:24 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:39 +0000 kboot: Define bi_loadsmap for loading memory maps Each architecture will soon be required to provide this to load memory maps as metadata for the platforms that require it (or a stub function for those that don't). Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D38252 --- stand/kboot/kboot.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index 4a8fe497339e..4211f21adcb6 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -17,6 +17,8 @@ struct memory_segments }; bool enumerate_memory_arch(void); +struct preloaded_file; +void bi_loadsmap(struct preloaded_file *kfp); bool has_acpi(void); vm_offset_t acpi_rsdp(void); From nobody Fri Feb 3 15:50:44 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9K5GqMz3kRk6; Fri, 3 Feb 2023 15:50: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 4P7g9K1FNnz3J3K; Fri, 3 Feb 2023 15:50:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8GAGdIGg/a54hnLeU0xCXvfEbJe8I2i7C0xpGKnQIY0=; b=CmlcZ7bXNmlNAqNbYvXYkT0R5rbD1oXyP7YSw9TBiRafkYRHutZT7Uaa6ODIT7j0mfxVg6 GhamwgJEWmXjP+A3LXuQsIsxZDHcF60ofcbr32JLRV+L72pYeizBmeJegvgwKBmKZbV8db Wl7g7QIXNwl2ew1DPtF8BehhAVbdU6q7okVvMdhxS6mFdlE/6eF+3No42fyRmuOytkosyl lyqsccHVkb3T0JEPjjl9h+HstEcxH6xLUkWPdxFVUnokrWLUkpZnQ+rUDsBLehuqjYU8ad /PxK+G/2QxAZ8aGpt3KY8vpULwo3exqCJ0vmP4SO/qukMtYHsFD5V7JVt1pT8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8GAGdIGg/a54hnLeU0xCXvfEbJe8I2i7C0xpGKnQIY0=; b=NAJ7L8JFPPxPOMu/Qx/yEE38sw+tZeMYdKa8+8g8zauHSDV7DWPNO2cEkkXuEpgJRlZkjr H/qNZYDKUgJ3jTm1JoJktUq7cVuSgDNX0EJI8+hdyVhr7vCt/U2RzS3lurIx0JOoNTSi3h gF9AYEL/1t8iWJNWjgEvz7K/xvadeMoHAxKJPDA4KbaQuDExZE8iB5wlTEld83MinFj7ci pBPI0T/pRoP5kImU+hvro7h+lMoHE6WJduTRIJe3Iz45oyU9xbOMW7Ge21vMGD1wO+DBrf FfaLzEo7rltvDy+UGmPOhzB64PGhis6YTAD1+9aIuasGbCumX1yHsARJEEwtQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439445; a=rsa-sha256; cv=none; b=gzNLL1PjfTQfO6lKzjIdhdptlTaa8mc6fD47fVJKVNa/MOnpAJ76fSMnYh/skhmqoLeEJt cCo35Rx+5ILxpobzcsfTNxs62QBd55NaggMPm7IJR3Ap19Uhh8QDeiWsv7y1K+x8xHruC8 y6KEgkT9T/wbsXyJ2iweKuaW49cpVylj85mf1EqFg9O8mmLcXnTH0MLZL9H+/tyjPQb7uD AUYHTkXMQJg3iOgeqamZiv6l3sJJ4Gy6iJLoe0epZx+MOQwPXR5u6xztWkOJaw3RoZeJFP +EGvdYYQJhgiuC+XQkn/JbimNVpnU7hLfXi8MVsKPHyUa/yZcBQ64MLvZcI/HA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9K0MBXzgQp; Fri, 3 Feb 2023 15:50:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FoipP023142; Fri, 3 Feb 2023 15:50:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FoieO023141; Fri, 3 Feb 2023 15:50:44 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:44 GMT Message-Id: <202302031550.313FoieO023141@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 6e99dc13756b - main - kboot: Powerpc provide bi_loadsmap List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6e99dc13756bf87d6a6aafb9e4b74fbbc4ce0541 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6e99dc13756bf87d6a6aafb9e4b74fbbc4ce0541 commit 6e99dc13756bf87d6a6aafb9e4b74fbbc4ce0541 Author: Warner Losh AuthorDate: 2023-02-03 15:39:31 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:39 +0000 kboot: Powerpc provide bi_loadsmap It's just a stub, since the kernel learns of memory via FDT. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D38253 --- stand/kboot/arch/powerpc64/load_addr.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/stand/kboot/arch/powerpc64/load_addr.c b/stand/kboot/arch/powerpc64/load_addr.c index ac3374ff20f2..71662796f284 100644 --- a/stand/kboot/arch/powerpc64/load_addr.c +++ b/stand/kboot/arch/powerpc64/load_addr.c @@ -220,3 +220,9 @@ bool enumerate_memory_arch(void) return true; } + +void +bi_loadsmap(struct preloaded_file *kfp) +{ + /* passed in via the DTB */ +} From nobody Fri Feb 3 15:50:46 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9L3CDrz3kRxG; Fri, 3 Feb 2023 15:50: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 4P7g9L2BYsz3J9t; Fri, 3 Feb 2023 15:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rGAXJ09klKBjQR2R6x4WWibLjULvvSL4rJbJE6uWFyY=; b=Jkf17JVVMktRZ39GcRbT8N8mBC1LyrZu935+5R+oMJ6s6ZGcRR41SbKpIIMw6cPbF+hIdB ZJuUTS9JO3ZXJ+FL09fkOQiLarglCU0yKm90KhUsvHI56Sv2Pjn3lrcRknVHSIlTnFz9iT oh2mV5WrxU5TettHLnJHB7tbx3EQX9ukXd1ZyP6aKdg6IXZ9SW5QX192ly5cNwHyUgH2Yz tyay/+YJPT0ihKgoLQ07r3gIAt9PIXdSYmGsquT2j7msu7gv5sHprIG+mIOoJAQsIyP7T4 ZndtTwB9dIxC33EB0n/xoqdfYMnB9CASijTxccYY9J0y8mzqsT6ZTj9QO/w66w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rGAXJ09klKBjQR2R6x4WWibLjULvvSL4rJbJE6uWFyY=; b=UAjSOBwgxTDINgZhpjAqB/l5HJui4tTn8h6K0CizRTBmCH3vXosNo/997FEdsJWeF9KD9s n73JIiRyeVFq1itk2NMBPEh6binbgMH7U9yH27MJLL3WdAtC9rAzr7+Yxer1nr6SH28psx YO6h+ibCb6avr1DgZODenYUqPrbtliNOr5D3En6vpg2MTXHPl8VbXZ6gs+clTj/0ZAaB93 Nod3epQeglOWZfhQJYaZOV0btEBLeBoSGl+shUj8L/I592b5Cd08SozdzSTbJpTjpV2qte Cgd5slydJd037Dy/CslLr6qX+DWq6xBs67ar3fcEk/0Cqj0LtQR2yU4Z5JdX4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439446; a=rsa-sha256; cv=none; b=PSNDvPqcifaodMmzh/+azq2MgxAPjc7eYYPPQN7kLMwv/9lFLVjHI7ty1vtBgYk02aellm KeksQ8H6k7eIT171t2Nvj9VFfhfyFHntbwJgfXQUWNUFRwZ12QZBY42aPxiK8M9ksAB1oH OQF0AjVoHo6lebe70O1UcAT8VtUUl9sChT54YmPUX2OfS0Q5Unf5ZcCuHO2AfqDcPI1XV6 7maJycXR4SVmiAG7vv49PtRWWNuYMpOljf/a+bmFzSqDvoX7lnbpqiM8np+aT7rXmGKqE5 zQHbbREml2axnQhbpNRlF4+9xj3zMTERJHm3PDaZX8t8iTX/MZaHEj+WLn4caw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9L1CblzgC6; Fri, 3 Feb 2023 15:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FokKg023166; Fri, 3 Feb 2023 15:50:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FokXm023165; Fri, 3 Feb 2023 15:50:46 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:46 GMT Message-Id: <202302031550.313FokXm023165@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: b6755eabcc39 - main - kboot: bi_loadsmap for amd64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b6755eabcc390c3107440e0847d06726c874bc1e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b6755eabcc390c3107440e0847d06726c874bc1e commit b6755eabcc390c3107440e0847d06726c874bc1e Author: Warner Losh AuthorDate: 2023-02-03 15:39:39 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:40 +0000 kboot: bi_loadsmap for amd64 Copy the EFI memory tables we were able to get into the MODINFOMD_SMAP metadata area for the kernel. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D38254 --- stand/kboot/arch/amd64/load_addr.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/stand/kboot/arch/amd64/load_addr.c b/stand/kboot/arch/amd64/load_addr.c index 528b4dba6758..4bd2a19dab48 100644 --- a/stand/kboot/arch/amd64/load_addr.c +++ b/stand/kboot/arch/amd64/load_addr.c @@ -160,3 +160,22 @@ kboot_get_phys_load_segment(void) } return (base_seg); } + +void +bi_loadsmap(struct preloaded_file *kfp) +{ + struct bios_smap smap[32], *sm; + struct memory_segments *s; + int smapnum, len; + + for (smapnum = 0; smapnum < min(32, nr_seg); smapnum++) { + sm = &smap[smapnum]; + s = &segs[smapnum]; + sm->base = s->start; + sm->length = s->end - s->start + 1; + sm->type = SMAP_TYPE_MEMORY; + } + + len = smapnum * sizeof(struct bios_smap); + file_addmetadata(kfp, MODINFOMD_SMAP, len, &smap[0]); +} From nobody Fri Feb 3 15:50:47 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9M4MC6z3kRrH; Fri, 3 Feb 2023 15:50: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 4P7g9M3VkXz3JHG; Fri, 3 Feb 2023 15:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z6TasyF35xg6xWjUfydqfjL06IBPzaDAlPbVqdeSz8E=; b=EIdb48SbS5NH2HM/hpGP9YYuxm9pYg1QB4IfpODNYcU3QuHuXW0hNsgzHzIj2n7R/BKX9H JN2hgr+ETyhzStHcBy0XTlqpG70BAwP9Btu9R7KsWzp0sbh4mYHZ2ea5+TQXU0LOx8Sxdz erSvD9LSG8NvA5OAH4x/7DXtOLnT99TyI3CeAAKEXLQN7q3cbsXSb6qazLsYp9T8J0TqRE ByMT5Erl3mAJT1FH4/R+oLGCGWxhbLUz1Qo+3V2V4Ts+85o9awRyzyKuOAhL/b9wQyGQ9E KreHlf4NL5NCd/vjJ8FaUhGI1pzhEY/m2dxuRHVLrKFgttypvCBvULcXlQRDsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z6TasyF35xg6xWjUfydqfjL06IBPzaDAlPbVqdeSz8E=; b=BSEnrn9d2ihhBiaHTBb/6w1hVzZJ7Ze+MjwMfKGJOni8xp7dI/Uji6bZYOM2lAk3h5fMVE 42HmIsgcsFNFe/cqtrzUlvA6tURUddEdmHvQXxkXuDOH3wxMTi//3+7OFsptxY3HnSeBAG b2MS+QGuuUFcjRiCSR+LkpTUVs0y7BM5IdX31hmC3hHWUzN68xFu2IH421pafJndtUqM3c j28f4DMvjOrZceePa6xCOU6T3ty6Sm2GjdTZG5+WNSzOjzQUmUaditrWKoQuynkZ7EXTOi 2+8YLD2D/KDgLlrjmDRwQpPSTuoAqTZnUaxanzn3jLx/VgWyLG0gEFHCh8AlYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439447; a=rsa-sha256; cv=none; b=XOA/zp7WshM67w5P7cb9Nv6H0ZUzGbv4Arvzg/il6ABhVbM9T0a2ruesH/cvZj7KteYBnU M1czhMwH3KJwjR9SsDqGAyfJMf1nx9WfvxQwtKzy5cambqQ0i2AgwqcJanUPmKosyUL3BW PlNnVF0XfygBHe1hvPOJe6Rh1HwqDAKh+SVrkkWnwCjU7t+bbH1vEr+oKQMXdlllreFf6z eIggcSeRUVSb/g+o4/X8UnuNcTiBwX7QwL64SsYRe9GoS6yEO4iR2PqbjcHAZ/Ri4IoV85 mWwF2cRTuEw/CSQHDeHeF27r9YjJ7Ve56cskIdhg6R5yCCu45Wc8Fk0z+rcS+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 4P7g9M2WvwzgQq; Fri, 3 Feb 2023 15:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Fol26023190; Fri, 3 Feb 2023 15:50:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FolVZ023189; Fri, 3 Feb 2023 15:50:47 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:47 GMT Message-Id: <202302031550.313FolVZ023189@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: e49773296c6c - main - kboot: aarch64 bi_loadsmap List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e49773296c6ce3a493260456128e090809249fd4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e49773296c6ce3a493260456128e090809249fd4 commit e49773296c6ce3a493260456128e090809249fd4 Author: Warner Losh AuthorDate: 2023-02-03 15:39:46 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:40 +0000 kboot: aarch64 bi_loadsmap Since aarch64 is different, it needs a different smap. We first see if we have the PA of the table from the FDT info. If so, we copy that and quit. Otherwise, we do the best we can in translating the /proc/iomap into EFI Memory Table format. We also send the system table to the kernel. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38255 --- stand/kboot/arch/aarch64/load_addr.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/stand/kboot/arch/aarch64/load_addr.c b/stand/kboot/arch/aarch64/load_addr.c index ad71a4f9fbb1..ae8a599645c9 100644 --- a/stand/kboot/arch/aarch64/load_addr.c +++ b/stand/kboot/arch/aarch64/load_addr.c @@ -152,3 +152,22 @@ kboot_get_phys_load_segment(void) printf("Falling back to crazy address %#lx\n", s); return (s); } + +void +bi_loadsmap(struct preloaded_file *kfp) +{ + + if (efi_systbl_phys) + file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(efi_systbl_phys), &efi_systbl_phys); + + /* + * If we have efi_map_hdr, then it's a pointer to the PA where this + * memory map lives. The trampoline code will copy it over. If we don't + * have it, we use whatever we found in /proc/iomap. + */ + if (efi_map_hdr != NULL) { + file_addmetadata(kfp, MODINFOMD_EFI_MAP, efi_map_size, efi_map_hdr); + return; + } + panic("Can't get UEFI memory map, nor a pointer to it, can't proceed.\n"); +} From nobody Fri Feb 3 15:50:48 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9N4x9Kz3kRpP; Fri, 3 Feb 2023 15:50: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 4P7g9N48N4z3J66; Fri, 3 Feb 2023 15:50:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EHZV5DMqnCwz3xUQaUrpHvwGbYN0EUVPlMwAiCmIJkU=; b=rPd9qugt/H5e3KWhN1RQX8ujZbdNYm2+eAfn8CkAc21Je3TrGh4eNPXZuntO40hvPtKTi5 zFGqWx3cxtE6aIxsAOYnu1jKzjKmRzvLbpo6B0C9Phpkq8KjwapWU12NtppRMQ2QU7tXPd LgPS12ftp9fuvu40N3Yf+LXBUxLY0nGTxSnW3mbqjw1O/70NeP7Zg0YnhLTS2I5xzDU/j9 ir5b0Yy3h/EZ/jelhWWou+KxsjZ5js2XfOAKFZ+mu3rUXCSwCGIV/glEWkMmFur9TD0VIW YYfVvWag1Hhtmym8kqxjuNHDo61LHY5gjP7bGaeSGDCJZQqJ7p5/I1Ldi8mo2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EHZV5DMqnCwz3xUQaUrpHvwGbYN0EUVPlMwAiCmIJkU=; b=AjsFLz3q3f9FV9eJkjejMML1RCdzH90NZ+ktE0Rn/m/+YjsouII0N028IWljR1NJoW7lfg kmb2gRpgjRQoJ8jSakCaq0CQ01psFHAuLRkM3PprbTk7J+OqEcke9trHOOXjSkz3Ulj8dK tCxzWt/Ix+9Ry+6NMsY4jcVj4CZrkZtZZnodRY9wZg3VxK1ETDibC2x492RkJVeg8bYZ/p 7GXxMzmTFqPQllYRzumxcUY7i46THgRJseotr8pvxQ2I3LrRYVbptduCLEIb26GKrOD0fe XMreKCsU7SV2mT0iq4ANZno91sSxIJLnhQbf1Rv8rkBo3VtcPWaz38sVAzXKQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439448; a=rsa-sha256; cv=none; b=EkPs8T597PKSItVGB2dwEAUjpeVI/vyAtBm/6Zu8FCOxCG4ZmDu9FpRcKHTigmLXRdOWJx GtOnos4IRa/68vN02PIN677g3TSshJ8Dlv2bTv1vhZ03Y2kDGVClmKTP+LAfEZNRdPpOKp fPzFYa7tjaY0DW/VwR7Kz9hIjIAmXQ4EEKLToJqCZYzZNkk1z1mcndOJEyB3w8KhdvQqkC P62ajSX1XURF62HWnzFV1QaVqG+Sdkww05DvMu5nvA7NMMGd1mAk0vr9mNScXs5Qno6EK2 oFqgMSmyx0ZLD0DFFyNg1FBs6ylwZ1J4ofOpbLtGrVOHIRMKsJ7oJ22C1biOsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9N38BRzgNH; Fri, 3 Feb 2023 15:50:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FomQC023245; Fri, 3 Feb 2023 15:50:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313Fomgn023238; Fri, 3 Feb 2023 15:50:48 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:48 GMT Message-Id: <202302031550.313Fomgn023238@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 0928550c3e17 - main - stand: share bootinfo.c between EFI and KBOOT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0928550c3e17d5a1a0a6a7f8ba7fce6598915b6f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0928550c3e17d5a1a0a6a7f8ba7fce6598915b6f commit 0928550c3e17d5a1a0a6a7f8ba7fce6598915b6f Author: Warner Losh AuthorDate: 2023-02-03 15:39:55 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:40 +0000 stand: share bootinfo.c between EFI and KBOOT Connect efi's bootinfo.c to the kboot build, and adjust to use the kboot specific routines. The getrootmount() call is independent of EFI. Remove ifdefs so it's called for kboot too. The differences between the kboot and efi bootinfo.c files are now tiny. This could use some more refactoring, but this is a working checkpoint. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D38350 --- stand/efi/loader/bootinfo.c | 6 +- stand/kboot/Makefile | 4 + stand/kboot/bootinfo.c | 467 -------------------------------------------- 3 files changed, 8 insertions(+), 469 deletions(-) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 1bd8c11c0028..01f7506710bf 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -43,6 +43,8 @@ __FBSDID("$FreeBSD$"); #ifdef EFI #include #include +#else +#include "kboot.h" #endif #include "bootstrap.h" @@ -361,10 +363,8 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) return(EINVAL); } -#ifdef EFI /* Try reading the /etc/fstab file to select the root device */ getrootmount(devformat(rootdev)); -#endif addr = 0; for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { @@ -428,6 +428,8 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) #endif #ifdef EFI bi_load_efi_data(kfp, exit_bs); +#else + bi_loadsmap(kfp); #endif size = md_copymodules(0, is64); /* Find the size of the modules */ diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index cc972bc06ae3..745dcd30a938 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -20,6 +20,7 @@ INSTALLFLAGS= -b # Architecture-specific loader code SRCS= \ + bootinfo.c \ conf.c \ crt1.c \ gfx_fb_stub.c \ @@ -45,6 +46,9 @@ HAVE_ZFS=yes .include "${BOOTSRC}/fdt.mk" +# We share bootinfo.c with efi +.PATH: ${BOOTSRC}/efi/loader + # Note: Since we're producing a userland binary, we key off of MACHINE_ARCH # instead of the more normal MACHINE since the changes between different flavors # of MACHINE_ARCH are large enough in Linux that it's easier that way. diff --git a/stand/kboot/bootinfo.c b/stand/kboot/bootinfo.c deleted file mode 100644 index c71ec125c031..000000000000 --- a/stand/kboot/bootinfo.c +++ /dev/null @@ -1,467 +0,0 @@ -/*- - * Copyright (c) 1998 Michael Smith - * Copyright (c) 2004, 2006 Marcel Moolenaar - * Copyright (c) 2014 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 - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef EFI -#include -#include -#endif - -#include "bootstrap.h" -#include "modinfo.h" - -#if defined(__amd64__) -#include -#endif - -#ifdef EFI -#include "loader_efi.h" -#include "gfx_fb.h" -#endif - -#if defined(LOADER_FDT_SUPPORT) -#include -#endif - -#ifdef LOADER_GELI_SUPPORT -#include "geliboot.h" -#endif - -int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, - bool exit_bs); -#ifndef EFI -void bi_loadsmap(struct preloaded_file *kfp); -#endif - -static int -bi_getboothowto(char *kargs) -{ -#ifdef EFI - const char *sw, *tmp; - char *opts; - int speed, port; - char buf[50]; -#endif - char *console; - int howto; - - howto = boot_parse_cmdline(kargs); - howto |= boot_env_to_howto(); - - console = getenv("console"); - if (console != NULL) { - if (strcmp(console, "comconsole") == 0) - howto |= RB_SERIAL; - if (strcmp(console, "nullconsole") == 0) - howto |= RB_MUTE; -#ifdef EFI -#if defined(__i386__) || defined(__amd64__) - if (strcmp(console, "efi") == 0 && - getenv("efi_8250_uid") != NULL && - getenv("hw.uart.console") == NULL) { - /* - * If we found a 8250 com port and com speed, we need to - * tell the kernel where the serial port is, and how - * fast. Ideally, we'd get the port from ACPI, but that - * isn't running in the loader. Do the next best thing - * by allowing it to be set by a loader.conf variable, - * either a EFI specific one, or the compatible - * comconsole_port if not. PCI support is needed, but - * for that we'd ideally refactor the - * libi386/comconsole.c code to have identical behavior. - * We only try to set the port for cases where we saw - * the Serial(x) node when parsing, otherwise - * specialized hardware that has Uart nodes will have a - * bogus address set. - * But if someone specifically setup hw.uart.console, - * don't override that. - */ - speed = -1; - port = -1; - tmp = getenv("efi_com_speed"); - if (tmp != NULL) - speed = strtol(tmp, NULL, 0); - tmp = getenv("efi_com_port"); - if (tmp == NULL) - tmp = getenv("comconsole_port"); - if (tmp != NULL) - port = strtol(tmp, NULL, 0); - if (speed != -1 && port != -1) { - snprintf(buf, sizeof(buf), "io:%d,br:%d", port, - speed); - env_setenv("hw.uart.console", EV_VOLATILE, buf, - NULL, NULL); - } - } -#endif -#endif - } - - return (howto); -} - -#ifdef EFI -static EFI_STATUS -efi_do_vmap(EFI_MEMORY_DESCRIPTOR *mm, UINTN sz, UINTN mmsz, UINT32 mmver) -{ - EFI_MEMORY_DESCRIPTOR *desc, *viter, *vmap; - EFI_STATUS ret; - int curr, ndesc, nset; - - nset = 0; - desc = mm; - ndesc = sz / mmsz; - vmap = malloc(sz); - if (vmap == NULL) - /* This isn't really an EFI error case, but pretend it is */ - return (EFI_OUT_OF_RESOURCES); - viter = vmap; - for (curr = 0; curr < ndesc; - curr++, desc = NextMemoryDescriptor(desc, mmsz)) { - if ((desc->Attribute & EFI_MEMORY_RUNTIME) != 0) { - ++nset; - desc->VirtualStart = desc->PhysicalStart; - *viter = *desc; - viter = NextMemoryDescriptor(viter, mmsz); - } - } - ret = RS->SetVirtualAddressMap(nset * mmsz, mmsz, mmver, vmap); - free(vmap); - return (ret); -} - -static int -bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) -{ - EFI_MEMORY_DESCRIPTOR *mm; - EFI_PHYSICAL_ADDRESS addr = 0; - EFI_STATUS status; - const char *efi_novmap; - size_t efisz; - UINTN efi_mapkey; - UINTN dsz, pages, retry, sz; - UINT32 mmver; - struct efi_map_header *efihdr; - bool do_vmap; - -#if defined(__amd64__) || defined(__aarch64__) - struct efi_fb efifb; - - efifb.fb_addr = gfx_state.tg_fb.fb_addr; - efifb.fb_size = gfx_state.tg_fb.fb_size; - efifb.fb_height = gfx_state.tg_fb.fb_height; - efifb.fb_width = gfx_state.tg_fb.fb_width; - efifb.fb_stride = gfx_state.tg_fb.fb_stride; - efifb.fb_mask_red = gfx_state.tg_fb.fb_mask_red; - efifb.fb_mask_green = gfx_state.tg_fb.fb_mask_green; - efifb.fb_mask_blue = gfx_state.tg_fb.fb_mask_blue; - efifb.fb_mask_reserved = gfx_state.tg_fb.fb_mask_reserved; - - printf("EFI framebuffer information:\n"); - printf("addr, size 0x%jx, 0x%jx\n", efifb.fb_addr, efifb.fb_size); - printf("dimensions %d x %d\n", efifb.fb_width, efifb.fb_height); - printf("stride %d\n", efifb.fb_stride); - printf("masks 0x%08x, 0x%08x, 0x%08x, 0x%08x\n", - efifb.fb_mask_red, efifb.fb_mask_green, efifb.fb_mask_blue, - efifb.fb_mask_reserved); - - if (efifb.fb_addr != 0) - file_addmetadata(kfp, MODINFOMD_EFI_FB, sizeof(efifb), &efifb); -#endif - - do_vmap = true; - efi_novmap = getenv("efi_disable_vmap"); - if (efi_novmap != NULL) - do_vmap = strcasecmp(efi_novmap, "YES") != 0; - - efisz = (sizeof(struct efi_map_header) + 0xf) & ~0xf; - - /* - * Assign size of EFI_MEMORY_DESCRIPTOR to keep compatible with - * u-boot which doesn't fill this value when buffer for memory - * descriptors is too small (eg. 0 to obtain memory map size) - */ - dsz = sizeof(EFI_MEMORY_DESCRIPTOR); - - /* - * Allocate enough pages to hold the bootinfo block and the - * memory map EFI will return to us. The memory map has an - * unknown size, so we have to determine that first. Note that - * the AllocatePages call can itself modify the memory map, so - * we have to take that into account as well. The changes to - * the memory map are caused by splitting a range of free - * memory into two, so that one is marked as being loader - * data. - */ - - sz = 0; - mm = NULL; - - /* - * Matthew Garrett has observed at least one system changing the - * memory map when calling ExitBootServices, causing it to return an - * error, probably because callbacks are allocating memory. - * So we need to retry calling it at least once. - */ - for (retry = 2; retry > 0; retry--) { - for (;;) { - status = BS->GetMemoryMap(&sz, mm, &efi_mapkey, &dsz, &mmver); - if (!EFI_ERROR(status)) - break; - - if (status != EFI_BUFFER_TOO_SMALL) { - printf("%s: GetMemoryMap error %lu\n", __func__, - EFI_ERROR_CODE(status)); - return (EINVAL); - } - - if (addr != 0) - BS->FreePages(addr, pages); - - /* Add 10 descriptors to the size to allow for - * fragmentation caused by calling AllocatePages */ - sz += (10 * dsz); - pages = EFI_SIZE_TO_PAGES(sz + efisz); - status = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, - pages, &addr); - if (EFI_ERROR(status)) { - printf("%s: AllocatePages error %lu\n", __func__, - EFI_ERROR_CODE(status)); - return (ENOMEM); - } - - /* - * Read the memory map and stash it after bootinfo. Align the - * memory map on a 16-byte boundary (the bootinfo block is page - * aligned). - */ - efihdr = (struct efi_map_header *)(uintptr_t)addr; - mm = (void *)((uint8_t *)efihdr + efisz); - sz = (EFI_PAGE_SIZE * pages) - efisz; - } - - if (!exit_bs) - break; - status = efi_exit_boot_services(efi_mapkey); - if (!EFI_ERROR(status)) - break; - } - - if (retry == 0) { - BS->FreePages(addr, pages); - printf("ExitBootServices error %lu\n", EFI_ERROR_CODE(status)); - return (EINVAL); - } - - /* - * This may be disabled by setting efi_disable_vmap in - * loader.conf(5). By default we will setup the virtual - * map entries. - */ - - if (do_vmap) - efi_do_vmap(mm, sz, dsz, mmver); - efihdr->memory_size = sz; - efihdr->descriptor_size = dsz; - efihdr->descriptor_version = mmver; - file_addmetadata(kfp, MODINFOMD_EFI_MAP, efisz + sz, - efihdr); - - return (0); -} -#endif - -/* - * Load the information expected by an amd64 kernel. - * - * - The 'boothowto' argument is constructed. - * - The 'bootdev' argument is constructed. - * - The 'bootinfo' struct is constructed, and copied into the kernel space. - * - The kernel environment is copied into kernel space. - * - Module metadata are formatted and placed in kernel space. - */ -int -bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) -{ - struct preloaded_file *xp, *kfp; - struct devdesc *rootdev; - struct file_metadata *md; - vm_offset_t addr; - uint64_t kernend, module; - uint64_t envp; - vm_offset_t size; - char *rootdevname; - int howto; - bool is64 = sizeof(long) == 8; -#if defined(LOADER_FDT_SUPPORT) - vm_offset_t dtbp; - int dtb_size; -#endif -#if defined(__arm__) - vm_offset_t vaddr; - size_t i; - /* - * These metadata addreses must be converted for kernel after - * relocation. - */ - uint32_t mdt[] = { - MODINFOMD_SSYM, MODINFOMD_ESYM, MODINFOMD_KERNEND, - MODINFOMD_ENVP, MODINFOMD_FONT, -#if defined(LOADER_FDT_SUPPORT) - MODINFOMD_DTBP -#endif - }; -#endif - - howto = bi_getboothowto(args); - - /* - * Allow the environment variable 'rootdev' to override the supplied - * device. This should perhaps go to MI code and/or have $rootdev - * tested/set by MI code before launching the kernel. - */ - rootdevname = getenv("rootdev"); - archsw.arch_getdev((void**)(&rootdev), rootdevname, NULL); - if (rootdev == NULL) { - printf("Can't determine root device.\n"); - return(EINVAL); - } - -#ifdef EFI - /* Try reading the /etc/fstab file to select the root device */ - getrootmount(devformat(rootdev)); -#endif - - addr = 0; - for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { - if (addr < xp->f_addr + xp->f_size) - addr = xp->f_addr + xp->f_size; - } - - /* Pad to a page boundary. */ - addr = roundup(addr, PAGE_SIZE); - - addr = build_font_module(addr); - - /* Pad to a page boundary. */ - addr = roundup(addr, PAGE_SIZE); - - /* Copy our environment. */ - envp = addr; - addr = md_copyenv(addr); - - /* Pad to a page boundary. */ - addr = roundup(addr, PAGE_SIZE); - -#if defined(LOADER_FDT_SUPPORT) - /* Handle device tree blob */ - dtbp = addr; - dtb_size = fdt_copy(addr); - - /* Pad to a page boundary */ - if (dtb_size) - addr += roundup(dtb_size, PAGE_SIZE); -#endif - - kfp = file_findfile(NULL, "elf kernel"); - if (kfp == NULL) - kfp = file_findfile(NULL, "elf64 kernel"); - if (kfp == NULL) - panic("can't find kernel file"); - kernend = 0; /* fill it in later */ - - /* Figure out the size and location of the metadata. */ - module = *modulep = addr; - - file_addmetadata(kfp, MODINFOMD_HOWTO, sizeof(howto), &howto); - file_addmetadata(kfp, MODINFOMD_ENVP, sizeof(envp), &envp); -#if defined(LOADER_FDT_SUPPORT) - if (dtb_size) - file_addmetadata(kfp, MODINFOMD_DTBP, sizeof(dtbp), &dtbp); - else - printf("WARNING! Trying to fire up the kernel, but no " - "device tree blob found!\n"); -#endif - file_addmetadata(kfp, MODINFOMD_KERNEND, sizeof(kernend), &kernend); -#ifdef MODINFOMD_MODULEP - file_addmetadata(kfp, MODINFOMD_MODULEP, sizeof(module), &module); -#endif -#ifdef EFI - file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(ST), &ST); -#endif -#ifdef LOADER_GELI_SUPPORT - geli_export_key_metadata(kfp); -#endif -#ifdef EFI - bi_load_efi_data(kfp, exit_bs); -#else - bi_loadsmap(kfp); -#endif - - size = md_copymodules(0, is64); /* Find the size of the modules */ - kernend = roundup(addr + size, PAGE_SIZE); - *kernendp = kernend; - - /* patch MODINFOMD_KERNEND */ - md = file_findmetadata(kfp, MODINFOMD_KERNEND); - bcopy(&kernend, md->md_data, sizeof kernend); - -#if defined(__arm__) - *modulep -= __elfN(relocation_offset); - - /* Do relocation fixup on metadata of each module. */ - for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { - for (i = 0; i < nitems(mdt); i++) { - md = file_findmetadata(xp, mdt[i]); - if (md) { - bcopy(md->md_data, &vaddr, sizeof vaddr); - vaddr -= __elfN(relocation_offset); - bcopy(&vaddr, md->md_data, sizeof vaddr); - } - } - } -#endif - - /* Copy module list and metadata. */ - (void)md_copymodules(addr, is64); - - return (0); -} From nobody Fri Feb 3 15:50:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9P6wPfz3kS34; Fri, 3 Feb 2023 15:50: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 4P7g9P4hcPz3JFW; Fri, 3 Feb 2023 15:50:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iunPVjkoFBxPAjAKZPeBEXrUB1+KdD1e9z322VJMCkg=; b=btrgYm0MvntkX6kTPZBtr5JT4W2EZwZXP1fyIbHzJYEvW93QETnFKNnzq5r+nq6OuQgg5s icDOrHLoxNEweyz+v06qUOjY1uO70EzqQNYAE0Ks/kcQ1aahYFN3QfagNFBpUwf4jSecBj eXHUM5osYczgqLEepnAkR25F1xga7D93RoN6EDtR13QpvhG+mPeYEaOfu19qwZu31lhwQC z3MDv+Sgs5SGY2LkjDRKQdJV7GWBSm5Q+qVX5ufqumia9RG1KE1A3+khLPMVorF2yl9ly3 7YiOTqZjmw7eRwh9TfoEhvh8y2BMkbiaMU62XR4bCB/8K1zlHzdcYxZa+z0Wvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iunPVjkoFBxPAjAKZPeBEXrUB1+KdD1e9z322VJMCkg=; b=xMyLfrruFoRj4Obavk1mqA6AQnwsNn6mTIZQi7YtqGMBZ8B79+PJvkIA9um4sy/Ob39gBK sUcvNJFWFU2E+Dz6HNLfvFm8KzQ2v0i/RtihzGuwk0ITQ80lYgBO2/WGukh6+rihSwi9fM nh8ehRvO0iG8XQBPpXhb5BlOqcIkd6+4okp6B9pyTwxXWV8jaTEK02brCu5/CowINn3m2r Drmr8uTRgamhRRmr0I3Y3Fr61w2mERxEiUaVV4dSi2Zb3FwUSkA/UMT7hdhJoLp0xuqEt2 OD2/adtOc8mwbLqvdtEUfkAprwco6EljeKmFyeiEOKdNU91AqA2P1VWQJR2BIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439449; a=rsa-sha256; cv=none; b=YDlevaCtO1Hm4r1SqLVlb9FAZc0qFneU1NG5gIsNpL2eyLUnqU75pvUSkGkVeGWBeFovOV K+VOrjHTlWNPSQNG9VSHCero9pjvkJiTTlAlu2LCEXWqoIqNIISP9wahNGw6byIUH109Ne 6K4r3oW5iGpmYECI6vLL8He9RB/OcgsZNtOWA3H53K9t6I3+hdGHnScMh8dMjVGDpizWx4 4giBC0sXUHMvs2u64Q3bn0gXJPrPTpvrgEsDg2Xf9rUtmanda7fy/HybjyHM0OwKGHEvgC AOGHNMCqR9EY74QT1XMdnjnNXl4j3y6QUgqdKmQgqW0rwBIXEeCMahX5INzdsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9P3mJpzgL6; Fri, 3 Feb 2023 15:50:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Fonst024022; Fri, 3 Feb 2023 15:50:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FonY2024021; Fri, 3 Feb 2023 15:50:49 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:49 GMT Message-Id: <202302031550.313FonY2024021@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: dfcca210755e - main - kboot: aarch64 trampoline implementation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dfcca210755e2c3448ed6094de0331f02ff5176d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dfcca210755e2c3448ed6094de0331f02ff5176d commit dfcca210755e2c3448ed6094de0331f02ff5176d Author: Warner Losh AuthorDate: 2023-02-03 15:40:04 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:40 +0000 kboot: aarch64 trampoline implementation Update exec.c (copyied from efi/loader/arch/arm64/exec.c) to allow execution of aarch64 kernels. This includes a new trampoline code that handles copying the UEFI memory map, if available from the Linux FDT provided PA. This is a complete implementation now, able to boot from the LinuxBoot environment on an aarch64 server that only offers LinuxBoot (though a workaround for the gicv3 inability to re-init is not yet in FreeBSD). Many 'fit and finish' issues will be addressed in subsequent commits. Sponsored by: Netflix Reviewed by: tsoome, kevans, andrew Differential Revision: https://reviews.freebsd.org/D38258 --- stand/kboot/arch/aarch64/exec.c | 166 ++++++++++++++++++++++++++++++++------- stand/kboot/arch/aarch64/tramp.S | 88 ++++++++++++++------- 2 files changed, 199 insertions(+), 55 deletions(-) diff --git a/stand/kboot/arch/aarch64/exec.c b/stand/kboot/arch/aarch64/exec.c index 56a206c0f09f..b0cb2fcbb531 100644 --- a/stand/kboot/arch/aarch64/exec.c +++ b/stand/kboot/arch/aarch64/exec.c @@ -34,16 +34,17 @@ __FBSDID("$FreeBSD$"); #include #include -#include - #ifdef EFI #include #include - #include "loader_efi.h" - +#else +#include "host_syscall.h" #endif +#include +#include "bootstrap.h" +#include "kboot.h" #include "bootstrap.h" #include "platform/acfreebsd.h" @@ -54,6 +55,10 @@ __FBSDID("$FreeBSD$"); #include "cache.h" +#ifndef EFI +#define LOADER_PAGE_SIZE PAGE_SIZE +#endif + #ifdef EFI static EFI_GUID acpi_guid = ACPI_TABLE_GUID; static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; @@ -62,13 +67,14 @@ static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; static int elf64_exec(struct preloaded_file *amp); static int elf64_obj_exec(struct preloaded_file *amp); -/* Stub out temporarily */ -static int -bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, - bool exit_bs) -{ - return EINVAL; -} +bool do_mem_map = false; + +extern uint32_t efi_map_size; +extern vm_paddr_t efi_map_phys_src; /* From DTB */ +extern vm_paddr_t efi_map_phys_dst; /* From our memory map metadata module */ + +int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs); static struct file_format arm64_elf = { elf64_loadfile, @@ -80,21 +86,47 @@ struct file_format *file_formats[] = { NULL }; +#ifndef EFI +extern uintptr_t tramp; +extern uint32_t tramp_size; +extern uint32_t tramp_data_offset; + +struct trampoline_data { + uint64_t entry; // 0 (PA where kernel loaded) + uint64_t modulep; // 8 module metadata + uint64_t memmap_src; // 16 Linux-provided memory map PA + uint64_t memmap_dst; // 24 Module data copy PA + uint64_t memmap_len; // 32 Length to copy +}; +#endif + +extern vm_offset_t kboot_get_phys_load_segment(void); + static int elf64_exec(struct preloaded_file *fp) { vm_offset_t modulep, kernendp; - vm_offset_t clean_addr; - size_t clean_size; - struct file_metadata *md; - Elf_Ehdr *ehdr; +#ifdef EFI + vm_offset_t clean_addr; + size_t clean_size; void (*entry)(vm_offset_t); - int err; +#else + vm_offset_t trampolinebase; + vm_offset_t staging; + void *trampcode; + uint64_t *trampoline; + struct trampoline_data *trampoline_data; + int nseg; + void *kseg; +#endif + struct file_metadata *md; + Elf_Ehdr *ehdr; + int error; #ifdef EFI ACPI_TABLE_RSDP *rsdp; char buf[24]; int revision; -#endif + /* * Report the RSDP to the kernel. The old code used the 'hints' method * to communite this to the kernel. However, while convenient, the @@ -103,7 +135,6 @@ elf64_exec(struct preloaded_file *fp) * that start with acpi. The old 'hints' can be removed before we branch * for FreeBSD 15. */ -#ifdef EFI rsdp = efi_get_table(&acpi20_guid); if (rsdp == NULL) { rsdp = efi_get_table(&acpi_guid); @@ -137,6 +168,46 @@ elf64_exec(struct preloaded_file *fp) } } #else + vm_offset_t rsdp; + rsdp = acpi_rsdp(); + if (rsdp != 0) { + char buf[24]; + + printf("Found ACPI 2.0 at %#016lx\n", rsdp); + sprintf(buf, "0x%016llx", (unsigned long long)rsdp); + setenv("hint.acpi.0.rsdp", buf, 1); /* For 13.1R bootability */ + setenv("acpi.rsdp", buf, 1); + /* Nobody uses the rest of that stuff */ + } + + + // XXX Question: why not just use malloc? + trampcode = host_getmem(LOADER_PAGE_SIZE); + if (trampcode == NULL) { + printf("Unable to allocate trampoline\n"); + return (ENOMEM); + } + bzero((void *)trampcode, LOADER_PAGE_SIZE); + bcopy((void *)&tramp, (void *)trampcode, tramp_size); + trampoline = (void *)trampcode; + + /* + * Figure out where to put it. + * + * Linux does not allow us to kexec_load into any part of memory. Ask + * arch_loadaddr to resolve the first available chunk of physical memory + * where loading is possible (load_addr). + * + * The kernel is loaded at the 'base' address in continguous physical + * memory. We use the 2MB in front of the kernel as a place to put our + * trampoline, but that's really overkill since we only need ~100 bytes. + * The arm64 kernel's entry requirements are only 'load the kernel at a + * 2MB alignment' and it figures out the rest, creates the right page + * tables, etc. + */ + staging = kboot_get_phys_load_segment(); + printf("Load address at %#jx\n", (uintmax_t)staging); + printf("Relocation offset is %#jx\n", (uintmax_t)elf64_relocation_offset); #endif if ((md = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL) @@ -147,33 +218,72 @@ elf64_exec(struct preloaded_file *fp) entry = efi_translate(ehdr->e_entry); efi_time_fini(); -#else - entry = (void *)ehdr->e_entry; #endif - err = bi_load(fp->f_args, &modulep, &kernendp, true); - if (err != 0) { + error = bi_load(fp->f_args, &modulep, &kernendp, true); + if (error != 0) { #ifdef EFI efi_time_init(); #endif - return (err); + return (error); } dev_cleanup(); - /* Clean D-cache under kernel area and invalidate whole I-cache */ #ifdef EFI + /* Clean D-cache under kernel area and invalidate whole I-cache */ clean_addr = (vm_offset_t)efi_translate(fp->f_addr); clean_size = (vm_offset_t)efi_translate(kernendp) - clean_addr; -#else - clean_addr = (vm_offset_t)fp->f_addr; - clean_size = (vm_offset_t)kernendp - clean_addr; -#endif cpu_flush_dcache((void *)clean_addr, clean_size); cpu_inval_icache(); (*entry)(modulep); +#else + /* Linux will flush the caches, just pass this data into our trampoline and go */ + trampoline_data = (void *)trampoline + tramp_data_offset; + memset(trampoline_data, 0, sizeof(*trampoline_data)); + trampoline_data->entry = ehdr->e_entry - fp->f_addr + staging; + trampoline_data->modulep = modulep; + printf("Modulep = %jx\n", (uintmax_t)modulep); + if (efi_map_phys_src != 0) { + md = file_findmetadata(fp, MODINFOMD_EFI_MAP); + if (md == NULL || md->md_addr == 0) { + printf("Need to copy EFI MAP, but EFI MAP not found. %p\n", md); + } else { + printf("Metadata EFI map loaded at VA %lx\n", md->md_addr); + efi_map_phys_dst = md->md_addr + staging + + roundup2(sizeof(struct efi_map_header), 16) - fp->f_addr; + trampoline_data->memmap_src = efi_map_phys_src; + trampoline_data->memmap_dst = efi_map_phys_dst; + trampoline_data->memmap_len = efi_map_size - roundup2(sizeof(struct efi_map_header), 16); + printf("Copying UEFI Memory Map data from %#lx to %#lx %ld bytes\n", + efi_map_phys_src, + trampoline_data->memmap_dst, + trampoline_data->memmap_len); + } + } + /* + * Copy the trampoline to the ksegs. Since we're just bouncing off of + * this into the kernel, no need to preserve the pages. On arm64, the + * kernel sets up the initial page table, so we don't have to preserve + * the memory used for the trampoline past when it calls the kernel. + */ + printf("kernendp = %#llx\n", (long long)kernendp); + trampolinebase = staging + (kernendp - fp->f_addr); + printf("trampolinebase = %#llx\n", (long long)trampolinebase); + archsw.arch_copyin((void *)trampcode, kernendp, tramp_size); + printf("Trampoline bouncing to %#llx\n", (long long)trampoline_data->entry); + + if (archsw.arch_kexec_kseg_get == NULL) + panic("architecture did not provide kexec segment mapping"); + archsw.arch_kexec_kseg_get(&nseg, &kseg); + error = host_kexec_load(trampolinebase, nseg, kseg, HOST_KEXEC_ARCH_AARCH64); + if (error != 0) + panic("kexec_load returned error: %d", error); + host_reboot(HOST_REBOOT_MAGIC1, HOST_REBOOT_MAGIC2, HOST_REBOOT_CMD_KEXEC, 0); +#endif + panic("exec returned"); } diff --git a/stand/kboot/arch/aarch64/tramp.S b/stand/kboot/arch/aarch64/tramp.S index 1edb6823bdc9..9304ca325299 100644 --- a/stand/kboot/arch/aarch64/tramp.S +++ b/stand/kboot/arch/aarch64/tramp.S @@ -21,47 +21,81 @@ * struct trampoline_data { * uint64_t entry; // 0 (PA where kernel loaded) * uint64_t modulep; // 8 module metadata + * uint64_t memmap_src; // 16 Linux-provided memory map PA + * uint64_t memmap_dst; // 24 Module data copy PA + * uint64_t memmap_len; // 32 Length to copy * }; * - * The aarch64 _start routine assumes: + * FreeBSD's arm64 entry point is _start which assumes: * MMU on with an identity map, or off * D-Cache: off * I-Cache: on or off * We are loaded at a 2MiB aligned address * Module data (modulep) pointer in x0 * - * Unlike EFI, we don't support copying the staging area. We tell Linunx to land - * the kernel in its final location with the needed alignment, etc. + * The rest of the boot loader tells Linux to land the kernel in its final + * location with the needed alignment, etc. It does this, and then we take over. * - * This trampoline installs sets up the arguments the kernel expects, flushes - * the cache lines and jumps to the kernel _start address. We pass the modulep - * pointer in x0, as _start expects. + * The linux kernel will helpfully turn off the MMU, flush the caches, disables + * them, etc. It calls the tramp with two args: FDT blob addresss in x0 and the + * EL2 vectors in x1. Currently, we make use of neither of these parameters: we + * pass whatever dtb we think we need as part of the module data and we're a bit + * weak on hypervisor support at the moment. _start's requirements are all + * satisifed. + * + * This trampoline sets up the arguments the kernel expects and jumps to the + * kernel _start address. We pass the modulep pointer in x0, as _start + * expects. We assume that the various cache flushing, invalidation, etc that + * linux did during or after copying the data down is sufficient, though we may + * need to be mindful of cache flushing if we run in EL2 (TBD). + * + * Note, if TRAMP_MEMMAP_SRC is non-zero, then we have to copy the Linux + * provided UEFI memory map. It's easier to do that here. In kboot we couldn't + * access the physical memory, and it's a chicken and egg problem later in the + * kernel. */ + +#define TRAMP_ENTRY 0 +#define TRAMP_MODULEP 8 +#define TRAMP_MEMMAP_SRC 16 +#define TRAMP_MEMMAP_DST 24 +#define TRAMP_MEMMAP_LEN 32 +#define TRAMP_TOTAL 40 + .text - .globl aarch64_tramp -aarch64_tramp: - b 1f /* skip over our saved args */ - .p2align 3 -trampoline_data: -#define TRAMP_ENTRY 0 -#define TRAMP_MODULEP 8 -#define TRAMP_TOTAL 16 - .space TRAMP_TOTAL -#define TMPSTACKSIZE 48 /* 16 bytes for args +8 for pushq/popfq + 24 spare */ + .globl tramp +tramp: + adr x8, trampoline_data + ldr x10, [x8, #TRAMP_MEMMAP_SRC] + cmp x10, xzr + b.eq 9f + + /* + * Copy over the memory map into area we have reserved for it. Assume + * the copy is a multiple of 8, since we know table entries are made up + * of several 64-bit quantities. + */ + ldp x11, x12, [x8, #TRAMP_MEMMAP_DST] /* x12 = len */ 1: - adr x2, trampoline_data - ldr x1, [x2, #TRAMP_ENTRY] - ldr x0, [x2, #TRAMP_MODULEP] - br x1 + ldr x13, [x10], #8 + str x13, [x11], #8 + subs x12, x12, #8 + b.hi 1b +9: + ldp x9, x0, [x8, #TRAMP_ENTRY] /* x0 = modulep */ + br x9 .p2align 4 +trampoline_data: + .space TRAMP_TOTAL +#define TMPSTACKSIZE 48 /* 16 bytes for args +8 for pushq/popfq + 24 spare */ .space TMPSTACKSIZE -aarch64_tramp_end: /* padding doubles as stack */ +tramp_end: /* padding doubles as stack */ .data - .globl aarch64_tramp_size -aarch64_tramp_size: - .long aarch64_tramp_end-aarch64_tramp - .globl aarch64_tramp_data_offset -aarch64_tramp_data_offset: - .long trampoline_data-aarch64_tramp + .globl tramp_size +tramp_size: + .long tramp_end-tramp + .globl tramp_data_offset +tramp_data_offset: + .long trampoline_data-tramp From nobody Fri Feb 3 15:50:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9Q6zhZz3kRxN; Fri, 3 Feb 2023 15:50: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 4P7g9Q5Jg7z3JLP; Fri, 3 Feb 2023 15:50:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8G+yoyTMCKLTFUv1GmIIftvHr6p6ePXfUxkfSIKi1ao=; b=Ofc+O5I2CA7m8/6tH7riQuIj7j48r8gczHgwn1ortgTVkmFCXSW2H9h+G3OVF3LXe73iWU 1sj1kTnWJElG5CoCSuAgNDUHw9+Pw3m+oDNcjCkqqkvc/ZDrsGNtHpLiEGV5EwSXdUCoBb tYK5lKWqeNFCgdIg6TifDyT0Wb5LpHsoR1RkAz9QKtAV7GmvErv8vP+fCszkvQ1UCPN9w2 NBZeXOMNpEu0TxKSm0PyX+dQ4rMqKAmHqSlSBOzrE22tTCcfw6XkCkpGhN/C0apoN+yAkl SEPNmYb1OnJFACCmVCiilgw8BgpSSoYOp5Bunwe56SYyJNScCokOXU/L5+u5wQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8G+yoyTMCKLTFUv1GmIIftvHr6p6ePXfUxkfSIKi1ao=; b=B4IgAwoFQ1/X1JhMlz2BMn0LtXeiDswTnHbrU1ZpmnOyNvffci6YeHegCpHO/mmFR9G1gr XzHS77T8+t8S5V+F/PrSe3r1QgKJ6LEsbUKLQiUVsU3dZ38njXUK6RownGF2D7FOsdMeFr 7VSRkvewEscDx4PQlVC1+7a0xWYtBx0+6wcsEmgpXS28hBw38oD+oJylFFe/8aQoaOCqTe igsZBaldBqkvQta9IQqOtXEsmqx36M3GVk/ldlg1Uzupev4lNyh3Z+ccERsx+TyRbCGRWy WvY63XJL8zt0dIMQ2SMEAA1PV9tdus7tfSLU3UONe2VLIDE2iAiFlU9nLCCY2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439450; a=rsa-sha256; cv=none; b=Y5eZMn07dZHntFPsTFkbwPxDt71NreKfnjO8Ubb7cxFcyRSvL1/VQopZBPSsf6Eg0FfBiW 8Y1Jn1ewP+dPxgGpnciHE4ukC8m0EnW/1uAhm7bcRkyvNY9t6gbr7QRrfodwR35IPM+LL5 a3A6R1XRq2chKSSJAzcnzU2w6IDTy2JP2fGqoq3Y5OQbYKGYpBnLVY/JVVRMIZPEkau+MY bMWLPdTE8JCnJhgfN/o+DBdHGCBDMwVAZ8W6YiVbQPtcuWfgX9k0wLA2kaad4wFbqSZ5Zm 7O7aFGsgwFRVqf5WjWCd2rDYjw6mS5Yk2K6FwOyxtFWsOfqmxmctLNmXdSfnNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9Q4PfwzgT9; Fri, 3 Feb 2023 15:50:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FooDv024056; Fri, 3 Feb 2023 15:50:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FooAg024055; Fri, 3 Feb 2023 15:50:50 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:50 GMT Message-Id: <202302031550.313FooAg024055@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 2069a2a08f6e - main - kboot: Improve amd64 booting List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2069a2a08f6e555285be71be042e85c75b6feb02 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2069a2a08f6e555285be71be042e85c75b6feb02 commit 2069a2a08f6e555285be71be042e85c75b6feb02 Author: Warner Losh AuthorDate: 2023-02-03 15:40:13 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:40 +0000 kboot: Improve amd64 booting Copy more of the necessary state for FreeBSD to boot: o Copy EFI memory tables o Create custom page tables needed for the kernel to find itself o Simplify the passing of args to the trampoline by putting them on the stack rather than in dedicated memory. This is only partially successful... we get only part way through the amd64 startup code before dying. However, it's much further than before the changes. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D38259 --- stand/kboot/arch/amd64/amd64_tramp.S | 123 ++++++++++------ stand/kboot/arch/amd64/elf64_freebsd.c | 249 ++++++++++++++++++++++++--------- 2 files changed, 262 insertions(+), 110 deletions(-) diff --git a/stand/kboot/arch/amd64/amd64_tramp.S b/stand/kboot/arch/amd64/amd64_tramp.S index 877705407f92..b95e99cbaf0f 100644 --- a/stand/kboot/arch/amd64/amd64_tramp.S +++ b/stand/kboot/arch/amd64/amd64_tramp.S @@ -1,9 +1,6 @@ /*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. + * Copyright (c) 2022 Netflix, Inc * - * This software was developed by Benno Rice under sponsorship from - * the FreeBSD Foundation. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -24,53 +21,87 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD$ */ -#include - -#define ASM_FILE -#include "multiboot2.h" +/* + * This is the trampoline that starts the FreeBSD kernel. Since the Linux kernel + * calls this routine with no args, and has a different environment than the + * boot loader provides and that the kernel expects, this code is responsible + * for setting all that up and calling the normal kernel entry point. It's + * analogous to the "purgatory" code in the linux kernel. Details about these + * operations are contained in comments below. On amd64, the kernel starts all + * the APs so we don't have to worry about them here. + */ +/* + * Keep in sync with elf64_freebsd.c. Kexec starts tramp w/o any parameters, so + * store them here. This is constructed to be a useful stack: + * + * struct trampoline_data { + * uint64_t pt4; // Page table address to pop + * uint64_t entry; // return address to jump to kernel + * uint32_t fill1; // 0 + * uint32_t modulep; // 4 module metadata + * uint32_t kernend; // 8 kernel end + * uint32_t fill2; // 12 + * }; + * + * loader.kboot will construct a stack that btext expects, which is arguments on + * the stack, not in registers, and these args are 32-bit not 64 + * + * Processor is already in long mode when we're called, paging is enabled and + * boot loader loads things such that: + * - kernel mapped at KERNBASE, aligned to 2MB, below 4GB, contiguous memory + * - there is a 2M hole at KERNBASE (KERNSTART = KERNBASE + 2M) + * - kernel is mapped with 2M superpages + * - The kernel, modules and metadata is in first 4GB which is unity mapped + * - There's additional memory after loader provided data for early allocations + * + * Unlike EFI, we don't support copying the staging area. We tell Linux to land + * the kernel in its final location with the needed alignment, etc. We copy the + * trampoline code to 1MB offset above KERNBASE since that memory is otherwise + * free and safely above the lower 1MB swamp we inherited from IBM PC, though + * this code makes no assumptions about where that might. + * + * Thus, the trampoline just needs to set %rsp to that stack pop the %cr3 value, + * set it and then retq to jump to the kernel with its stack args filled in. + * Since the handoff to this code used to be from 32-bit code, it uses the i386 + * calling conventions which put the arguments on the stack. The kernel's btext + * routine expects this setup. + */ .text - .globl amd64_tramp - + .globl tramp +tramp: + cli /* Make sure we don't get interrupted. */ + leaq tramp_pt4(%rip), %rsp /* Setup our pre-filled-in stack */ + popq %rax /* Pop off the PT4 ptr for %cr3 */ + movq %rax, %cr3 /* set the page table */ + retq /* Return addr and args already on stack */ /* - * void amd64_tramp(uint64_t stack, void *copy_finish, uint64_t kernend, - * uint64_t modulep, uint64_t pagetable, uint64_t entry) + * The following is the stack for the above code. The stack will increase in + * address as things are popped off of it, so we start with the stack pointing + * to tramp_pt4. */ -amd64_tramp: - cli /* Make sure we don't get interrupted. */ - movq %rdi,%rsp /* Switch to our temporary stack. */ - - movq %rdx,%r12 /* Stash the kernel values for later. */ - movq %rcx,%r13 - movq %r8,%r14 - movq %r9,%r15 - - callq *%rsi /* Call copy_finish so we're all ready to go. */ - - pushq %r12 /* Push kernend. */ - salq $32,%r13 /* Shift modulep and push it. */ - pushq %r13 - pushq %r15 /* Push the entry address. */ - movq %r14,%cr3 /* Switch page tables. */ - ret /* "Return" to kernel entry. */ - - ALIGN_TEXT -amd64_tramp_end: - -/* void multiboot2_exec(uint64_t entry, uint64_t multiboot_info, uint64_t stack) */ - .globl multiboot2_exec -multiboot2_exec: - movq %rdx,%rsp - pushq %rdi - movq %rsi,%rbx - movq $MULTIBOOT2_BOOTLOADER_MAGIC,%rax - ret + .p2align 3 /* Stack has to be 8 byte aligned */ +trampoline_data: +tramp_pt4: .quad 0 /* New %cr3 value */ +tramp_entry: .quad 0 /* Entry to kernel (btext) */ + /* %rsp points here on entry to amd64 kernel's btext */ + .long 0 /* 0 filler, ignored (current loaders set to 0) */ +tramp_modulep: .long 0 /* 4 moudlep */ +tramp_kernend: .long 0 /* 8 kernend */ + .long 0 /* 12 alignment filler (also 0) */ +tramp_end: .data - .globl amd64_tramp_size -amd64_tramp_size: - .long amd64_tramp_end-amd64_tramp + .type tramp_size,@object + .globl tramp_size +tramp_size: + .long tramp_end-tramp + .size tramp_size, 4 + + .type tramp_data_offset,@object + .globl tramp_data_offset +tramp_data_offset: + .long trampoline_data-tramp + .size tramp_data_offset, 4 diff --git a/stand/kboot/arch/amd64/elf64_freebsd.c b/stand/kboot/arch/amd64/elf64_freebsd.c index a45a0db32e44..68588c0f2f02 100644 --- a/stand/kboot/arch/amd64/elf64_freebsd.c +++ b/stand/kboot/arch/amd64/elf64_freebsd.c @@ -41,9 +41,12 @@ __FBSDID("$FreeBSD$"); #ifdef EFI #include #include +#else +#include "host_syscall.h" #endif #include "bootstrap.h" +#include "kboot.h" #include "platform/acfreebsd.h" #include "acconfig.h" @@ -53,9 +56,7 @@ __FBSDID("$FreeBSD$"); #ifdef EFI #include "loader_efi.h" -#endif -#ifdef EFI static EFI_GUID acpi_guid = ACPI_TABLE_GUID; static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; #endif @@ -63,9 +64,11 @@ static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; #ifdef EFI #define LOADER_PAGE_SIZE EFI_PAGE_SIZE #else -#define LOADER_PAGE_SIZE 8192 +#define LOADER_PAGE_SIZE PAGE_SIZE #endif +extern vm_offset_t kboot_get_phys_load_segment(void); + extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs); @@ -81,13 +84,13 @@ static struct file_format amd64_elf_obj = { .l_exec = elf64_obj_exec, }; -#if 0 +#ifdef EFI extern struct file_format multiboot2; extern struct file_format multiboot2_obj; #endif struct file_format *file_formats[] = { -#if 0 +#ifdef EFI &multiboot2, &multiboot2_obj, #endif @@ -96,21 +99,44 @@ struct file_format *file_formats[] = { NULL }; -#ifdef EFI +#ifndef EFI +/* + * We create the stack that we want. We have the address of the page tables + * we make on top (so we pop that off and set %cr3). We have the entry point + * to the kernel (which retq pops off) This leaves the stack that the btext + * wants: offset 4 is modulep and offset8 is kernend, with the filler bytes + * to keep this aligned. This makes the trampoline very simple. + */ +struct trampoline_data { + uint64_t pt4; // Page table address to pop + uint64_t entry; // return address to jump to kernel + uint32_t fill1; // 0 + uint32_t modulep; // 4 module metadata + uint32_t kernend; // 8 kernel end + uint32_t fill2; // 12 +}; +_Static_assert(sizeof(struct trampoline_data) == 32, "Bad size for trampoline data"); +#endif + static pml4_entry_t *PT4; -static pdp_entry_t *PT3; static pdp_entry_t *PT3_l, *PT3_u; -static pd_entry_t *PT2; static pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; +#ifdef EFI +static pdp_entry_t *PT3; +static pd_entry_t *PT2; + extern EFI_PHYSICAL_ADDRESS staging; static void (*trampoline)(uint64_t stack, void *copy_finish, uint64_t kernend, uint64_t modulep, pml4_entry_t *pagetable, uint64_t entry); #endif -extern uintptr_t amd64_tramp; -extern uint32_t amd64_tramp_size; +extern uintptr_t tramp; +extern uint32_t tramp_size; +#ifndef EFI +extern uint32_t tramp_data_offset; +#endif /* * There is an ELF kernel and one or more ELF modules loaded. @@ -120,15 +146,27 @@ extern uint32_t amd64_tramp_size; static int elf64_exec(struct preloaded_file *fp) { -#ifdef EFI struct file_metadata *md; Elf_Ehdr *ehdr; - vm_offset_t modulep, kernend, trampcode, trampstack; + vm_offset_t modulep, kernend; int err, i; - ACPI_TABLE_RSDP *rsdp; char buf[24]; +#ifdef EFI + ACPI_TABLE_RSDP *rsdp = NULL; int revision; - bool copy_auto; + int copy_auto; + vm_offset_t trampstack, trampcode; +#else + vm_offset_t rsdp = 0; + void *trampcode; + int nseg; + void *kseg; + vm_offset_t trampolinebase; + uint64_t *trampoline; + struct trampoline_data *trampoline_data; + vm_offset_t staging; + int error; +#endif #ifdef EFI copy_auto = copy_staging == COPY_STAGING_AUTO; @@ -136,66 +174,49 @@ elf64_exec(struct preloaded_file *fp) copy_staging = fp->f_kernphys_relocatable ? COPY_STAGING_DISABLE : COPY_STAGING_ENABLE; #else - copy_auto = COPY_STAGING_DISABLE; /* XXX */ + /* + * Figure out where to put it. + * + * Linux does not allow to do kexec_load into any part of memory. Ask + * arch_loadaddr to resolve the first available chunk of physical memory + * where loading is possible (load_addr). + * + * The kernel is loaded at the 'base' address in continguous physical + * pages (using 2MB super pages). The first such page is unused by the + * kernel and serves as a good place to put not only the trampoline, but + * the page table pages that the trampoline needs to setup the proper + * kernel starting environment. + */ + staging = trampolinebase = kboot_get_phys_load_segment(); + trampolinebase += 1ULL << 20; /* Copy trampoline to base + 1MB, kernel will wind up at 2MB */ + printf("Load address at %#jx\n", (uintmax_t)trampolinebase); + printf("Relocation offset is %#jx\n", (uintmax_t)elf64_relocation_offset); #endif /* * Report the RSDP to the kernel. While this can be found with * a BIOS boot, the RSDP may be elsewhere when booted from UEFI. - * The old code used the 'hints' method to communite this to - * the kernel. However, while convenient, the 'hints' method - * is fragile and does not work when static hints are compiled - * into the kernel. Instead, move to setting different tunables - * that start with acpi. The old 'hints' can be removed before - * we branch for FreeBSD 12. */ - #ifdef EFI rsdp = efi_get_table(&acpi20_guid); if (rsdp == NULL) { rsdp = efi_get_table(&acpi_guid); } #else - rsdp = NULL; -#warning "write me" + rsdp = acpi_rsdp(); #endif - if (rsdp != NULL) { + if (rsdp != 0) { sprintf(buf, "0x%016llx", (unsigned long long)rsdp); - setenv("hint.acpi.0.rsdp", buf, 1); setenv("acpi.rsdp", buf, 1); - revision = rsdp->Revision; - if (revision == 0) - revision = 1; - sprintf(buf, "%d", revision); - setenv("hint.acpi.0.revision", buf, 1); - setenv("acpi.revision", buf, 1); - strncpy(buf, rsdp->OemId, sizeof(rsdp->OemId)); - buf[sizeof(rsdp->OemId)] = '\0'; - setenv("hint.acpi.0.oem", buf, 1); - setenv("acpi.oem", buf, 1); - sprintf(buf, "0x%016x", rsdp->RsdtPhysicalAddress); - setenv("hint.acpi.0.rsdt", buf, 1); - setenv("acpi.rsdt", buf, 1); - if (revision >= 2) { - /* XXX extended checksum? */ - sprintf(buf, "0x%016llx", - (unsigned long long)rsdp->XsdtPhysicalAddress); - setenv("hint.acpi.0.xsdt", buf, 1); - setenv("acpi.xsdt", buf, 1); - sprintf(buf, "%d", rsdp->Length); - setenv("hint.acpi.0.xsdt_length", buf, 1); - setenv("acpi.xsdt_length", buf, 1); - } } - if ((md = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL) return (EFTYPE); ehdr = (Elf_Ehdr *)&(md->md_data); +#ifdef EFI trampcode = copy_staging == COPY_STAGING_ENABLE ? (vm_offset_t)0x0000000040000000 /* 1G */ : (vm_offset_t)0x0000000100000000; /* 4G */; -#ifdef EFI err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 1, (EFI_PHYSICAL_ADDRESS *)&trampcode); if (EFI_ERROR(err)) { @@ -204,17 +225,22 @@ elf64_exec(struct preloaded_file *fp) copy_staging = COPY_STAGING_AUTO; return (ENOMEM); } + trampstack = trampcode + LOADER_PAGE_SIZE - 8; #else -#warning "Write me" + // XXX Question: why not just use malloc? + trampcode = host_getmem(LOADER_PAGE_SIZE); + if (trampcode == NULL) { + printf("Unable to allocate trampoline\n"); + return (ENOMEM); + } #endif bzero((void *)trampcode, LOADER_PAGE_SIZE); - trampstack = trampcode + LOADER_PAGE_SIZE - 8; - bcopy((void *)&amd64_tramp, (void *)trampcode, amd64_tramp_size); + bcopy((void *)&tramp, (void *)trampcode, tramp_size); trampoline = (void *)trampcode; +#ifdef EFI if (copy_staging == COPY_STAGING_ENABLE) { PT4 = (pml4_entry_t *)0x0000000040000000; -#ifdef EFI err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 3, (EFI_PHYSICAL_ADDRESS *)&PT4); if (EFI_ERROR(err)) { @@ -224,9 +250,6 @@ elf64_exec(struct preloaded_file *fp) copy_staging = COPY_STAGING_AUTO; return (ENOMEM); } -#else -#warning "Write me" -#endif bzero(PT4, 3 * LOADER_PAGE_SIZE); PT3 = &PT4[512]; PT2 = &PT3[512]; @@ -259,7 +282,6 @@ elf64_exec(struct preloaded_file *fp) } } else { PT4 = (pml4_entry_t *)0x0000000100000000; /* 4G */ -#ifdef EFI err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 9, (EFI_PHYSICAL_ADDRESS *)&PT4); if (EFI_ERROR(err)) { @@ -269,10 +291,6 @@ elf64_exec(struct preloaded_file *fp) copy_staging = COPY_STAGING_AUTO; return (ENOMEM); } -#else -#warning "Write me" -#endif - bzero(PT4, 9 * LOADER_PAGE_SIZE); PT3_l = &PT4[NPML4EPG * 1]; @@ -308,10 +326,84 @@ elf64_exec(struct preloaded_file *fp) PG_V | PG_RW | PG_PS; } } +#else + { + vm_offset_t pabase, pa_pt3_l, pa_pt3_u, pa_pt2_l0, pa_pt2_l1, pa_pt2_l2, pa_pt2_l3, pa_pt2_u0, pa_pt2_u1; + /* We'll find a place for these later */ + PT4 = (pml4_entry_t *)host_getmem(9 * LOADER_PAGE_SIZE); + bzero(PT4, 9 * LOADER_PAGE_SIZE); + + PT3_l = &PT4[NPML4EPG * 1]; + PT3_u = &PT4[NPML4EPG * 2]; + PT2_l0 = &PT4[NPML4EPG * 3]; + PT2_l1 = &PT4[NPML4EPG * 4]; + PT2_l2 = &PT4[NPML4EPG * 5]; + PT2_l3 = &PT4[NPML4EPG * 6]; + PT2_u0 = &PT4[NPML4EPG * 7]; + PT2_u1 = &PT4[NPML4EPG * 8]; + + pabase = trampolinebase + LOADER_PAGE_SIZE; + pa_pt3_l = pabase + LOADER_PAGE_SIZE * 1; + pa_pt3_u = pabase + LOADER_PAGE_SIZE * 2; + pa_pt2_l0 = pabase + LOADER_PAGE_SIZE * 3; + pa_pt2_l1 = pabase + LOADER_PAGE_SIZE * 4; + pa_pt2_l2 = pabase + LOADER_PAGE_SIZE * 5; + pa_pt2_l3 = pabase + LOADER_PAGE_SIZE * 6; + pa_pt2_u0 = pabase + LOADER_PAGE_SIZE * 7; + pa_pt2_u1 = pabase + LOADER_PAGE_SIZE * 8; + + /* 1:1 mapping of lower 4G */ + PT4[0] = (pml4_entry_t)pa_pt3_l | PG_V | PG_RW; + PT3_l[0] = (pdp_entry_t)pa_pt2_l0 | PG_V | PG_RW; + PT3_l[1] = (pdp_entry_t)pa_pt2_l1 | PG_V | PG_RW; + PT3_l[2] = (pdp_entry_t)pa_pt2_l2 | PG_V | PG_RW; + PT3_l[3] = (pdp_entry_t)pa_pt2_l3 | PG_V | PG_RW; + for (i = 0; i < 4 * NPDEPG; i++) { /* we overflow PT2_l0 into _l1, etc */ + PT2_l0[i] = ((pd_entry_t)i << PDRSHIFT) | PG_V | + PG_RW | PG_PS; + } + + /* mapping of kernel 2G below top */ + PT4[NPML4EPG - 1] = (pml4_entry_t)pa_pt3_u | PG_V | PG_RW; + PT3_u[NPDPEPG - 2] = (pdp_entry_t)pa_pt2_u0 | PG_V | PG_RW; + PT3_u[NPDPEPG - 1] = (pdp_entry_t)pa_pt2_u1 | PG_V | PG_RW; + /* compat mapping of phys @0 */ + PT2_u0[0] = PG_PS | PG_V | PG_RW; + /* this maps past staging area */ + /* + * Kernel uses the KERNSTART (== KERNBASE + 2MB) entry to figure + * out where we loaded the kernel. This is PT2_u0[1] (since + * these map 2MB pages. So the PA that this maps has to be + * kboot's staging + 2MB. For UEFI we do 'i - 1' since we load + * the kernel right at staging (and assume the first address we + * load is 2MB in efi_copyin). However for kboot, staging + 1 * + * NBPDR == staging + 2MB which is where the kernel starts. Our + * trampoline need not be mapped into the kernel space since we + * execute PA==VA for that, and the trampoline can just go away + * once the kernel is called. + * + * Staging should likely be as low as possible, though, because + * all the 'early' allocations are at kernend (which the kernel + * calls physfree). + */ + for (i = 1; i < 2 * NPDEPG; i++) { /* we overflow PT2_u0 into _u1 */ + PT2_u0[i] = ((pd_entry_t)staging + + ((pd_entry_t)i) * NBPDR) | + PG_V | PG_RW | PG_PS; + if (i < 10) printf("Mapping %d to %#lx staging %#lx\n", i, PT2_u0[i], staging); + } + } +#endif + +#ifdef EFI printf("staging %#lx (%scopying) tramp %p PT4 %p\n", staging, copy_staging == COPY_STAGING_ENABLE ? "" : "not ", trampoline, PT4); +#else + printf("staging %#lx tramp %p PT4 %p\n", staging, (void *)trampolinebase, + (void *)trampolinebase + LOADER_PAGE_SIZE); +#endif printf("Start @ 0x%lx ...\n", ehdr->e_entry); #ifdef EFI @@ -321,17 +413,46 @@ elf64_exec(struct preloaded_file *fp) if (err != 0) { #ifdef EFI efi_time_init(); -#endif if (copy_auto) copy_staging = COPY_STAGING_AUTO; +#endif return (err); } dev_cleanup(); +#ifdef EFI trampoline(trampstack, copy_staging == COPY_STAGING_ENABLE ? efi_copy_finish : efi_copy_finish_nop, kernend, modulep, PT4, ehdr->e_entry); +#else + trampoline_data = (void *)trampoline + tramp_data_offset; + trampoline_data->entry = ehdr->e_entry; + trampoline_data->pt4 = trampolinebase + LOADER_PAGE_SIZE; + /* + * So we compute the VA of the module data by modulep + KERNBASE.... + * need to make sure that that address is mapped right. We calculate + * the start of available memory to allocate via kernend (which is + * calculated with a phyaddr of "kernend + PA(PT_u0[1])"), so we better + * make sure we're not overwriting the last 2MB of the kernel :). + */ + trampoline_data->modulep = modulep; /* Offset from KERNBASE */ + trampoline_data->kernend = kernend; /* Offset from the load address */ + trampoline_data->fill1 = trampoline_data->fill2 = 0; + printf("Modulep = %lx kernend %lx\n", modulep, kernend); + /* NOTE: when copyting in, it's relative to the start of our 'area' not an abs addr */ + /* Copy the trampoline to the ksegs */ + archsw.arch_copyin((void *)trampcode, trampolinebase - staging, tramp_size); + /* Copy the page table to the ksegs */ + archsw.arch_copyin(PT4, trampoline_data->pt4 - staging, 9 * LOADER_PAGE_SIZE); + + if (archsw.arch_kexec_kseg_get == NULL) + panic("architecture did not provide kexec segment mapping"); + archsw.arch_kexec_kseg_get(&nseg, &kseg); + error = host_kexec_load(trampolinebase, nseg, kseg, HOST_KEXEC_ARCH_X86_64); + if (error != 0) + panic("kexec_load returned error: %d", error); + host_reboot(HOST_REBOOT_MAGIC1, HOST_REBOOT_MAGIC2, HOST_REBOOT_CMD_KEXEC, 0); #endif panic("exec returned"); From nobody Fri Feb 3 15:50:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9S4BG6z3kRxP; Fri, 3 Feb 2023 15:50: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 4P7g9R5yzZz3JFr; Fri, 3 Feb 2023 15:50:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YYGd6SgVvpHuslLQ6zL+gWOv83Tn7P3dbhyLs09KE7A=; b=HLu2chFp8HTiVBqAR/tbZ+OCUq1zGjRcTVXWLZjD3/COC724EiIZZ5hGumDeu0UYOohq4U JrXpw6+EkYZczhS+JZXh0hFSA1oKJO6FPw7HCz/RtEBZFcVj35ua/ehDPZBzRlCbp2uy3o R6++2dghmNVgKLZn7j0AG3rLHhDlxKawV3ZzKDz/5bMlCtpTFeKYkEmNMKamho/J/BMYfL Tz+6O85kGeZlyFCQtMLLlddMv91DRthjIb0cwm9K+HzldekWFAhTkwEI3X8T+mpQGETk/9 9UMy5dGz9H8hZ0b4seA4sjH+9ev5oXxnoLiA68JhFaztfDKEmf3RhMjLnPfA4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YYGd6SgVvpHuslLQ6zL+gWOv83Tn7P3dbhyLs09KE7A=; b=taU7LiGuQcTgID5vzb3/IgyVvLG0wd2FtX/DMrr4nznWLE64B8xaUExgQq3kVZjzy2Ap06 NnpL4a3rpzoEKSfPSPaM5owRvL1eZhwA+cx7OWy4m/C7h764XkNlElU6HLsNOfnBb4oPh8 5n0/7Djn5yoJeAysVQrpNSnLYrfuZyvyta2gvIxMKp7otowBMyjV9cZsvahKlYbbL1UG6U QIHHfUFxOUCPWKpiKUDKe4So+ZW5XQ7oSpsq18Kx60XdK76j+4jm6HuLK4oJcLrNWvndV7 ZjKF/V2kXdqs2Dcf4R9frjefIUo8n0f+UvUoP3MuU0+fG/vOX/TsEajUAk74sw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439451; a=rsa-sha256; cv=none; b=OMYKxovvPSU5x6/SaG6AAb7Gnjrze4fhckfKtaXyAWS8VOSfu35YSxgG+wfe10DiO3RW2s JmFBLsyNqoLNZTXpLo7dPtPgA7mhdzbKh8j96FofFiFU+HB+4krt7RpUVfbMGlbbQGWlGH a/qkZK9Evv+CcdcgPQJnORz7eE6TzYLaZQvpxLdrXzXETtpB6G1af/NmX57fYIjU1q8aoX PMEs+ijDfggqNwFnWD2qXIiN+UetvzngYeCbY2FgXawqya5uzTFdM4ABoCw0YYpRrYX1KI +pTLFKquT1G24yi9l9RqSEo08M3hqWATxmIBlQWlbCkb2P9R7qAc2VBA9LhN+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9R543rzgTB; Fri, 3 Feb 2023 15:50:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FopZT024082; Fri, 3 Feb 2023 15:50:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FopfI024081; Fri, 3 Feb 2023 15:50:51 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:51 GMT Message-Id: <202302031550.313FopfI024081@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 84eb9b2306fd - main - kboot: MI fixups to enable aarch64 booting List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 84eb9b2306fd4b8cf4d9328ff661f7684c596642 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=84eb9b2306fd4b8cf4d9328ff661f7684c596642 commit 84eb9b2306fd4b8cf4d9328ff661f7684c596642 Author: Warner Losh AuthorDate: 2023-02-03 15:40:22 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:40 +0000 kboot: MI fixups to enable aarch64 booting A number of bug fixes to loading kernels and modules on aarch64 and amd64. Fix offset calcuations. Add a number of debugs, commented out for now (will GC them in the future) With this, and the MD aarch64 commands, we can linux boot in qemu and on real hardware. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38261 --- stand/kboot/main.c | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 7f548fe15b08..6631cb38ae22 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include "host_syscall.h" #include "kboot.h" +#include "stand.h" struct arch_switch archsw; extern void *_end; @@ -49,6 +50,11 @@ static void kboot_zfs_probe(void); extern int command_fdt_internal(int argc, char *argv[]); +#define PA_INVAL (vm_offset_t)-1 +static vm_offset_t pa_start = PA_INVAL; +static vm_offset_t padding; +static vm_offset_t offset; + static uint64_t commit_limit; static uint64_t committed_as; static uint64_t mem_avail; @@ -95,8 +101,8 @@ memory_limits(void) int kboot_getdev(void **vdev, const char *devspec, const char **path) { - int rv; struct devdesc **dev = (struct devdesc **)vdev; + int rv; /* * If it looks like this is just a path and no device, go with the @@ -311,11 +317,13 @@ time(time_t *tloc) struct host_kexec_segment loaded_segments[HOST_KEXEC_SEGMENT_MAX]; int nkexec_segments = 0; +#define SEGALIGN (1ul<<20) + static ssize_t get_phys_buffer(vm_offset_t dest, const size_t len, void **buf) { int i = 0; - const size_t segsize = 8*1024*1024; + const size_t segsize = 64*1024*1024; if (nkexec_segments == HOST_KEXEC_SEGMENT_MAX) panic("Tried to load too many kexec segments"); @@ -328,7 +336,7 @@ get_phys_buffer(vm_offset_t dest, const size_t len, void **buf) loaded_segments[nkexec_segments].buf = host_getmem(segsize); loaded_segments[nkexec_segments].bufsz = segsize; - loaded_segments[nkexec_segments].mem = (void *)rounddown2(dest,segsize); + loaded_segments[nkexec_segments].mem = (void *)rounddown2(dest,SEGALIGN); loaded_segments[nkexec_segments].memsz = segsize; i = nkexec_segments; @@ -347,9 +355,17 @@ kboot_copyin(const void *src, vm_offset_t dest, const size_t len) ssize_t segsize, remainder; void *destbuf; + if (pa_start == PA_INVAL) { + pa_start = kboot_get_phys_load_segment(); +// padding = 2 << 20; /* XXX amd64: revisit this when we make it work */ + padding = 0; + offset = dest; + get_phys_buffer(pa_start, len, &destbuf); + } + remainder = len; do { - segsize = get_phys_buffer(dest, remainder, &destbuf); + segsize = get_phys_buffer(dest + pa_start + padding - offset, remainder, &destbuf); bcopy(src, destbuf, segsize); remainder -= segsize; src += segsize; @@ -367,7 +383,7 @@ kboot_copyout(vm_offset_t src, void *dest, const size_t len) remainder = len; do { - segsize = get_phys_buffer(src, remainder, &srcbuf); + segsize = get_phys_buffer(src + pa_start + padding - offset, remainder, &srcbuf); bcopy(srcbuf, dest, segsize); remainder -= segsize; src += segsize; @@ -420,17 +436,18 @@ kboot_autoload(void) static void kboot_kseg_get(int *nseg, void **ptr) { -#if 0 int a; + printf("kseg_get: %d segments\n", nkexec_segments); + printf("VA SZ PA MEMSZ\n"); + printf("---------------- -------- ---------------- -----\n"); for (a = 0; a < nkexec_segments; a++) { - printf("kseg_get: %jx %jx %jx %jx\n", + printf("%016jx %08jx %016jx %08jx\n", (uintmax_t)loaded_segments[a].buf, (uintmax_t)loaded_segments[a].bufsz, (uintmax_t)loaded_segments[a].mem, (uintmax_t)loaded_segments[a].memsz); } -#endif *nseg = nkexec_segments; *ptr = &loaded_segments[0]; From nobody Fri Feb 3 15:50:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9T1BsJz3kRpY; Fri, 3 Feb 2023 15:50: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 4P7g9S72RHz3JWh; Fri, 3 Feb 2023 15:50:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=afgiPF/uVBzBZEKD/Lr5XQ3HLEBFrhPdPBBB5RkTCAY=; b=w0o7AMLdIoh60Wsq/wDgzzJpGpxWl3Nv5f+O+1mc0+E/llNdBf+WFEAdLQGz/Y8421EbZy VwaSWOsrPVg5v085SIAgicmScbaF9n667yb2ZaThauQ7/kHq9bBvSGAvGsWgiQo9jElnUy EhazotISI/OcD5NSYaW3nuTkzJbICQbJoGu8eMG1FFynxFIMR8VULMhXft7/RUefkOf9k9 ae5/CkbMMNj/DD1PSrqMoGaxhczK+vEDu2QzJDJC2Ju4ZXu5lRpoiMOZrYX1PfBnLf9Gtk CvdKNrCYYfaVUdGudQKdQlExzBOmpphXDdSVeIku4EZOs2GjnbVCZwVT9vkuBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=afgiPF/uVBzBZEKD/Lr5XQ3HLEBFrhPdPBBB5RkTCAY=; b=rBOj8nynOp1MppNdqSbaDqs0qs9Ln5BZuTVpl+XmbNIsWeH7i/iRLsV+bbWmyz112LlTcT ZYjzRSmQyF1qPnRpMVCR/q81V6hcIq/HViXXiJfmXBJ/1GOj09VfFtjvyciPjNH1vrr2j5 0OVXh/2ttY+mYsAEaOkq+w/sv8AyQUsMW5z5TQxPBDQqBC5dTEDGRKmRyjkmsKaczTcgay wiaq75i/aExZG9uzE1QkS9qsvxxEbBGdKjD/fml0BRZRQvR0jLIKiqKBeIt9AS7pCl7Vr3 pDj9d0wuT54mpDjmRLMzj65FJ6crDZReUZVahEbOB4yyZy8/ZxvYObD3VQmARQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439453; a=rsa-sha256; cv=none; b=sdEKVK6fg21pMw0o0ZMKlLhDMlFUOmqB5mcJKfrJu2vg0owRxqOzWRsK6ORSg0gFbeEDon 13Emhx0cixZDQpKZKCqMkKWqN2UTo9ZUTZXo89mbFr7ikPtj46hXFiS5nKoLXrAPy0QH9L Akb1XnPysmiDpt94zAqNrDlBJWdYyslVtvDHq1GrParhpZE2fw806EDMiEHjVus6dRvrXu dE5ryiBo0MS6Bn1xx34Fh6nuOjBnhMQB3hfLUVyeB36CAX3N1Hi2443snqAVnvXQOT6kno v0/4zD/nKcFZteGdp7+1MOuhbcOBeZxwDfYedgSMk5zf8lCSYfwK1k58iUWgKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9S61PczgTD; Fri, 3 Feb 2023 15:50:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FoqFC024108; Fri, 3 Feb 2023 15:50:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FoqrE024107; Fri, 3 Feb 2023 15:50:52 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:52 GMT Message-Id: <202302031550.313FoqrE024107@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 2b5179105359 - main - kboot: Don't need an arch pointer to get segments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2b5179105359537be52c7081f491a4c476aaaff4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2b5179105359537be52c7081f491a4c476aaaff4 commit 2b5179105359537be52c7081f491a4c476aaaff4 Author: Warner Losh AuthorDate: 2023-02-03 15:40:30 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:40 +0000 kboot: Don't need an arch pointer to get segments There's no need for an arch pointer to get segments. We can call the routine directly since we don't need this code to be called from different context where a pointer is needed. Sponsored by: Netflix Reviewed by: kevans, andrew Differential Revision: https://reviews.freebsd.org/D38266 --- stand/common/bootstrap.h | 3 --- stand/kboot/arch/aarch64/exec.c | 4 +--- stand/kboot/arch/amd64/elf64_freebsd.c | 4 +--- stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c | 5 ++--- stand/kboot/kboot.h | 3 +++ stand/kboot/main.c | 4 +--- 6 files changed, 8 insertions(+), 15 deletions(-) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index cc22cbcb729d..80c1a2352b3c 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -372,9 +372,6 @@ struct arch_switch /* Return the hypervisor name/type or NULL if not virtualized. */ const char *(*arch_hypervisor)(void); - - /* For kexec-type loaders, get ksegment structure */ - void (*arch_kexec_kseg_get)(int *nseg, void **kseg); }; extern struct arch_switch archsw; diff --git a/stand/kboot/arch/aarch64/exec.c b/stand/kboot/arch/aarch64/exec.c index b0cb2fcbb531..521e28beb562 100644 --- a/stand/kboot/arch/aarch64/exec.c +++ b/stand/kboot/arch/aarch64/exec.c @@ -275,9 +275,7 @@ elf64_exec(struct preloaded_file *fp) archsw.arch_copyin((void *)trampcode, kernendp, tramp_size); printf("Trampoline bouncing to %#llx\n", (long long)trampoline_data->entry); - if (archsw.arch_kexec_kseg_get == NULL) - panic("architecture did not provide kexec segment mapping"); - archsw.arch_kexec_kseg_get(&nseg, &kseg); + kboot_kseg_get(&nseg, &kseg); error = host_kexec_load(trampolinebase, nseg, kseg, HOST_KEXEC_ARCH_AARCH64); if (error != 0) panic("kexec_load returned error: %d", error); diff --git a/stand/kboot/arch/amd64/elf64_freebsd.c b/stand/kboot/arch/amd64/elf64_freebsd.c index 68588c0f2f02..0d950fb61eb6 100644 --- a/stand/kboot/arch/amd64/elf64_freebsd.c +++ b/stand/kboot/arch/amd64/elf64_freebsd.c @@ -446,9 +446,7 @@ elf64_exec(struct preloaded_file *fp) /* Copy the page table to the ksegs */ archsw.arch_copyin(PT4, trampoline_data->pt4 - staging, 9 * LOADER_PAGE_SIZE); - if (archsw.arch_kexec_kseg_get == NULL) - panic("architecture did not provide kexec segment mapping"); - archsw.arch_kexec_kseg_get(&nseg, &kseg); + kboot_kseg_get(&nseg, &kseg); error = host_kexec_load(trampolinebase, nseg, kseg, HOST_KEXEC_ARCH_X86_64); if (error != 0) panic("kexec_load returned error: %d", error); diff --git a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c index 3341771be09a..613186ab19cb 100644 --- a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c +++ b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include "syscall_nr.h" #include "host_syscall.h" #include "modinfo.h" +#include "kboot.h" extern char end[]; extern void *kerneltramp; @@ -148,9 +149,7 @@ ppc64_elf_exec(struct preloaded_file *fp) archsw.arch_copyin(trampoline, trampolinebase, szkerneltramp); free(trampoline); - if (archsw.arch_kexec_kseg_get == NULL) - panic("architecture did not provide kexec segment mapping"); - archsw.arch_kexec_kseg_get(&nseg, &kseg); + kboot_kseg_get(&nseg, &kseg); error = host_kexec_load(trampolinebase, nseg, kseg, HOST_KEXEC_ARCH_PPC64); if (error != 0) diff --git a/stand/kboot/kboot.h b/stand/kboot/kboot.h index 4211f21adcb6..49e5dea25b12 100644 --- a/stand/kboot/kboot.h +++ b/stand/kboot/kboot.h @@ -31,6 +31,9 @@ void fdt_arch_fixups(void *fdtp); uint64_t kboot_get_phys_load_segment(void); uint8_t kboot_get_kernel_machine_bits(void); +/* main.c */ +void kboot_kseg_get(int *nseg, void **ptr); + /* hostdisk.c */ extern const char *hostfs_root; const char *hostdisk_gen_probe(void); diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 6631cb38ae22..75c2d55c3f39 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -45,7 +45,6 @@ ssize_t kboot_copyin(const void *src, vm_offset_t dest, const size_t len); ssize_t kboot_copyout(vm_offset_t src, void *dest, const size_t len); ssize_t kboot_readin(readin_handle_t fd, vm_offset_t dest, const size_t len); int kboot_autoload(void); -static void kboot_kseg_get(int *nseg, void **ptr); static void kboot_zfs_probe(void); extern int command_fdt_internal(int argc, char *argv[]); @@ -203,7 +202,6 @@ main(int argc, const char **argv) archsw.arch_copyout = kboot_copyout; archsw.arch_readin = kboot_readin; archsw.arch_autoload = kboot_autoload; - archsw.arch_kexec_kseg_get = kboot_kseg_get; archsw.arch_zfs_probe = kboot_zfs_probe; /* Give us a sane world if we're running as init */ @@ -433,7 +431,7 @@ kboot_autoload(void) return (0); } -static void +void kboot_kseg_get(int *nseg, void **ptr) { int a; From nobody Fri Feb 3 15:50:53 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9V2FQWz3kS0l; Fri, 3 Feb 2023 15:50: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 4P7g9V0yYNz3JGB; Fri, 3 Feb 2023 15:50:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAt9UdJgrfUTiJJAU4H2snf7hNsnRUHG3Ltkk6kzyE4=; b=Hji/Jf4IAAK/TI55QrQCQZd3N59uro0o1dpN7MV3s8+UM3uy729xUua2bnbk+UJlmgI7KV LN3KzhSBH88Wh6CL/f0uriXG78pdJaDsHqi9xFkCPzcY/UYKuxVSRJyGNQddqQYvCfKvvi LVF9F3r9EWflGqNtCPv8fxFGqlqopjQ2NrHP3AGsO0fHkjU/NJ48z+C2xlMF+vK15WWhUg sfegRKObAEMHJprMjCxValY9TuGFYNI+GXSHqVrX+1ddbJspjqNN2yyvKqNVj7ZJS2Dvi6 ZtiBG9Y9Fl+dp003Bry2tcpCLdItZ9Y+VKu8dYRmJ6VBQDj2f0VKuwpPtWlB7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAt9UdJgrfUTiJJAU4H2snf7hNsnRUHG3Ltkk6kzyE4=; b=KnNAp2Han4SO3RzpoNrgpKfcUed8JTbrO8v1Sz8772zIBoy9DENDSaSskUAUgQ5QQOFhBZ OItnmwGmfSDCMKmVSqH/8yRlUZqkVW0SNOA2eQVDUbGrwJIqnqNcISKy0wspi9O3IlVYIq lwS+0kzfUAL5V8DO7aY4XuyEXkPHCLrZibkxkD+aHKLAIUT0e74oyUVCM5XwujANrTMV1G Pl+PFj66UKQwuIWfbeWhNJ9eWVX+nSqpMBLD9MChN9AW/lGirn1XFowaLY9cn+vdWn8m2Q 4J9u6v8n3rJNcdQ/IQJuayG4hSO4NpStRjHJpDoDuCEQK0l6lxFxJA9kGRQS9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439454; a=rsa-sha256; cv=none; b=HyZG1vLHJBCckx8HycvzO9MLKUjw+umup41/x0D56iLrOv7uWp2yUKsgCXTOmOxo5ZEMIl 63IaNwoTYBR8xjsxfJh+mFAkkvNh4218OHlMIJdWne1gxOo1pukEw8+ROawbD1Md2u8PBZ 6hjUWiBAMliNuqZRj71KNJsGKekryptxmQcrWFmpo8vwyK2J8ZEZL7K30ZtxnropgJH5LF 63jKyMc6KT5UA3ovzsgtqeCMinwyHXqhbqTZJSsbUzwC7NuuTJtLJQ5IEvrbEEP5vGdoO6 5C47IQU8M5b0vsOy9qE5/rYxfozuPDt2tR1efFJrmNaTeNBti75cYy798sPHcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9T6x5GzgC8; Fri, 3 Feb 2023 15:50:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313ForCD024132; Fri, 3 Feb 2023 15:50:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FornZ024131; Fri, 3 Feb 2023 15:50:53 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:53 GMT Message-Id: <202302031550.313FornZ024131@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 460106412676 - main - kboot: Enable for aarch64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 460106412676d78d936de3e5910d19ea03af2765 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=460106412676d78d936de3e5910d19ea03af2765 commit 460106412676d78d936de3e5910d19ea03af2765 Author: Warner Losh AuthorDate: 2023-02-03 15:40:38 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:40 +0000 kboot: Enable for aarch64 Enable building loader.kboot for aarch64/arm64. Sponsored by: Netflix Reviewed by: tsoome, kevans, andrew Differential Revision: https://reviews.freebsd.org/D38262 --- share/mk/src.opts.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 397af027e8e7..fe2159cd4f5e 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -302,8 +302,8 @@ BROKEN_OPTIONS+=EFI .if ${__T:Mpowerpc*} == "" BROKEN_OPTIONS+=LOADER_OFW .endif -# KBOOT is only for powerpc64 (powerpc64le broken) and kinda for amd64 -.if ${__T} != "powerpc64" && ${__T} != "amd64" +# KBOOT is only for powerpc64 (powerpc64le broken) amd64 and aarch64 +.if ${__T} != "powerpc64" && ${__T} != "amd64" && ${__T} != "aarch64" BROKEN_OPTIONS+=LOADER_KBOOT .endif # UBOOT is only for arm, and big-endian powerpc From nobody Fri Feb 3 15:50:55 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9W5d3Lz3kRxR; Fri, 3 Feb 2023 15:50: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 4P7g9W1v4Kz3JGH; Fri, 3 Feb 2023 15:50:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+yfUjEn7umqOCYk1O3bdFCG+gZQwdOyPhGykFpbdkGE=; b=weCNx5QpP7WSbhrm2dBt2TY51Dn/IlR+X3SCMPCvMzvUJBicCtmBrFt1j3u+n3dIR0mX0E LWKyFGEuyIXn3wjWEYULtZEWennZvOTGNp3d94PuqR0rxJFr8hiQzn0AVXZ6ZdsXaHL6En 5X4iNviwJtMAeKTz/RHVhbqJwlGI16eUhUY6pG9trY1/Ji31KcUSHl1IikFFmcNvkporEQ KNfRcgLucMnR08aWBOcoec5WTGWLkC8XLKc02qSoSS0zwbSf81ca33FVPzGmKGM07AOodq N9XF7P6ylDGJTtkkNhHvBWki3O7Os+dSNYhCq05wiQ22oxn84vohljBJcz502g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+yfUjEn7umqOCYk1O3bdFCG+gZQwdOyPhGykFpbdkGE=; b=W0jE/Hjbk2oGG+EiITMb7nP5A5dsknsHK0l30i0JiTzfYG8pdv9SIisPYElz3Zl/SGO+FR 9eaUx4If7YHaCD7MifbryFQr69MPFVE+C6huVEe5m9taEbLsr8tmSI+n1oEjzJWlxlwUpO y9aU0U1tpmk7PdA2zQK0lcP0A/jtWiQwNXHvg8Ipy3UpioZcFowGmCuKtxQ3zXmSD/WwHp G6OuGazUoalmix15yMq5VlR7xpVS/d85jYftpeh2ENvMvmN6045MnxS9KAQdUgciXQD/87 cAcmGlNnuhK86BU/J8e0bMN515PbdHcb6NN1QUSh4xiIkJ/xJo/uAiJTLAGV7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439455; a=rsa-sha256; cv=none; b=LUCk2QXxb8rZwqX/67ah3niwe9cGdWlC7ZT2gxl1XZZjxeLF7fTvBYF880apoQSLY67mE2 pMQ2812iSSdHYjMriU5BuCuoIGYwMqVjWBJ5KGCmJl3dGFjYgRvRl8vKI9ReAdMUTK6LqW I64flgcgQgFOSN3uko2xEY3FL+7lVM46A1iJfhd00o/8RTuPY3+zSM3N9xFdkJl0TVgLqP HUNOWvz1SJRYHEjfvIe2I8HGELQiYgpX6taWZaYivOmjeLSd6ONCI8JY7U5eIhJ/aH10bI +S5ZHpuhy6LQZHZNZeo4HTZwhVMsx+Jy7tM3428SUkYWkBZ7fwDXEErF2OM27g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9W10PPzgb3; Fri, 3 Feb 2023 15:50:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Fotej024156; Fri, 3 Feb 2023 15:50:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313Fot7T024155; Fri, 3 Feb 2023 15:50:55 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:55 GMT Message-Id: <202302031550.313Fot7T024155@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 045fa2801a8b - main - kboot: Try to read UEFI memory from physical memory on aarch64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 045fa2801a8bfd1cc05098757afa0f19df996027 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=045fa2801a8bfd1cc05098757afa0f19df996027 commit 045fa2801a8bfd1cc05098757afa0f19df996027 Author: Warner Losh AuthorDate: 2023-02-03 15:40:45 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:41 +0000 kboot: Try to read UEFI memory from physical memory on aarch64 Try to open /dev/mem to read in the UEFI memory map. If we can't, then we'll read it in the trampoline. Retain reading in /proc/iomem to find reserved areas in Linux. We need to know them for good places to put the kernel. These are not reflected in the UEFI memory map. However, we should not adjust the UEFI memory map since these reserved areas of the Linux kernel are free to be used once we enter the kexec trampoline... Sponsored by: Netflix Reviewed by: tsoome, kevans, andrew Differential Revision: https://reviews.freebsd.org/D38264 --- stand/kboot/arch/aarch64/load_addr.c | 51 +++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/stand/kboot/arch/aarch64/load_addr.c b/stand/kboot/arch/aarch64/load_addr.c index ae8a599645c9..4cbbd5192f5b 100644 --- a/stand/kboot/arch/aarch64/load_addr.c +++ b/stand/kboot/arch/aarch64/load_addr.c @@ -28,7 +28,7 @@ do_memory_from_fdt(int fd) { struct stat sb; char *buf = NULL; - int len, offset; + int len, offset, fd2 = -1; uint32_t sz, ver, esz, efisz; uint64_t mmap_pa; const uint32_t *u32p; @@ -83,10 +83,10 @@ do_memory_from_fdt(int fd) ver, esz, sz, mmap_pa); /* - * We have no ability to read the PA that this map is in, so - * pass the address to FreeBSD via a rather odd flag entry as - * the first map so early boot can copy the memory map into - * this space and have the rest of the code cope. + * We may have no ability to read the PA that this map is in, so pass + * the address to FreeBSD via a rather odd flag entry as the first map + * so early boot can copy the memory map into this space and have the + * rest of the code cope. */ efisz = (sizeof(*efihdr) + 0xf) & ~0xf; buf = malloc(sz + efisz); @@ -98,11 +98,45 @@ do_memory_from_fdt(int fd) efihdr->memory_size = sz; efihdr->descriptor_size = esz; efihdr->descriptor_version = ver; - efi_map_phys_src = mmap_pa; + + /* + * Save EFI table. Either this will be an empty table filled in by the trampoline, + * or we'll read it below. Either way, set these two variables so we share the best + * UEFI memory map with the kernel. + */ efi_map_hdr = efihdr; efi_map_size = sz + efisz; - return true; + /* + * Try to read in the actual UEFI map. + */ + fd2 = open("host:/dev/mem", O_RDONLY); + if (fd2 < 0) { + printf("Will read UEFI mem map in tramp: no /dev/mem, need CONFIG_DEVMEM=y\n"); + goto no_read; + } + if (lseek(fd2, mmap_pa, SEEK_SET) < 0) { + printf("Will read UEFI mem map in tramp: lseek failed\n"); + goto no_read; + } + len = read(fd2, map, sz); + if (len != sz) { + if (len < 0 && errno == EPERM) + printf("Will read UEFI mem map in tramp: kernel needs CONFIG_STRICT_DEVMEM=n\n"); + else + printf("Will read UEFI mem map in tramp: lean = %d errno = %d\n", len, errno); + goto no_read; + } + printf("Read UEFI mem map from physmem\n"); + efi_map_phys_src = 0; /* Mark MODINFOMD_EFI_MAP as valid */ + close(fd2); + return true; /* OK, we really have the memory map */ + +no_read: + efi_map_phys_src = mmap_pa; + close(fd2); + return true; /* We can get it the trampoline */ + errout: free(buf); return false; @@ -157,6 +191,9 @@ void bi_loadsmap(struct preloaded_file *kfp) { + /* + * Make a note of a systbl. This is nearly mandatory on AARCH64. + */ if (efi_systbl_phys) file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(efi_systbl_phys), &efi_systbl_phys); From nobody Fri Feb 3 15:50:56 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9Y1Fs9z3kRv5; Fri, 3 Feb 2023 15:50: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 4P7g9X2qVjz3JXZ; Fri, 3 Feb 2023 15:50:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bHSH0Hp++Bd/j89vKNL8iquhBkMvYweJ1imns0WNjEo=; b=tzY7TVsKQdwCRC1/TyYXDTtUyHHgOE4sINBiE1GXJbT2Yp8QzIrOzjx11O30apcef+m43S S0L9PwjXUkbOsok9u8tS/e1rO593sm7DPK6kpR2lmkqtmv7IUEe3bEz7IQAm3iKBWDhtTM O/njFIFBVlr6r13MpqIJPEjXYwVdyB65XTKa0ZCh5txhr6l09oyP4uf6zu5QGQYCIerWIW iYGfgauky0mfmsIUJB0RkLAJXWs5EH9P/ppAlfoNlny8QN6oLc11dJxkNuaKX3bsfqbSKC MTi1YJioig0NEulMH5tV9pmMThoAjGeT02o3QOVtDuFKEmKDcD4bezDijMAcJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bHSH0Hp++Bd/j89vKNL8iquhBkMvYweJ1imns0WNjEo=; b=URohx0GqMXZ+P2hFjzc5MYfVQfAyIBuajjEVSq6s929txL0uZR5USgC3oThNPZ9l/7+SaS 1jAXWgqeY5Kx84rZn/ZV3YnU0Nyy7bRngL6YOstV6OcP8psbXjpTEIi4acaj20gIjPPeVw H9urU2wTxgPUnYmIUjftOwKK+K6++VEZqa3kAy3D4tu6mXg9bM67cCMU9xTIosVqpG4ZdK 4LrComjB/2wbhR7iVIDIPpY1odMDH5OTgHU9x6+k5TfC4rpQ5XAm2WMVhmTgH8AQwJessb DZmhxI0xoi/qgnGev9PWVQBlh4EaEBsGwGp2XVXAFgDSEBjgYi9Zb7JbVXJpoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439456; a=rsa-sha256; cv=none; b=YcCgogJxaz6hDSdmazf8/X+NUn22Emh1Pr1A47/IuWqgrIjx2QSw1pq9AFkue9VkcoJlze yV421bs679WQF+i3zyUZzeC0ck/6Q7NGgV5oOLXpubrYGBPsb6PMqtUPZ/7ulmDxOu/Jk/ fJ4ztp6A9fMsQyUH8ZlTmKnIpG+n81KXGux8Vry7L3v/BKySxWi2TRBPytvwoCGyjJOy5G 5U5eIRo0/R9+PdrK4vMhplIP+tAKUQTQWpx7HMBdsbhy6KQvXqEoN40ZEV3CO+w+sJiN/y n4wa7LTha8tcW3MGVlt+18WmoyRQMRJs3PPmPYzAFAM0iljRYXbAPz4sWqVHqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9X1xR9zgTF; Fri, 3 Feb 2023 15:50:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Foubs024186; Fri, 3 Feb 2023 15:50:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FouoA024185; Fri, 3 Feb 2023 15:50:56 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:56 GMT Message-Id: <202302031550.313FouoA024185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 1d3a7e849b6d - main - kboot: Remove externs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1d3a7e849b6d115a4b6e34f360d61197b491db11 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1d3a7e849b6d115a4b6e34f360d61197b491db11 commit 1d3a7e849b6d115a4b6e34f360d61197b491db11 Author: Warner Losh AuthorDate: 2023-02-03 15:40:56 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:41 +0000 kboot: Remove externs kboot_get_phys_load_segment is defined in kboot.h, so remove them from the .c files. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D38310 --- stand/kboot/arch/aarch64/exec.c | 2 -- stand/kboot/arch/amd64/elf64_freebsd.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/stand/kboot/arch/aarch64/exec.c b/stand/kboot/arch/aarch64/exec.c index 521e28beb562..22fb48471dc2 100644 --- a/stand/kboot/arch/aarch64/exec.c +++ b/stand/kboot/arch/aarch64/exec.c @@ -100,8 +100,6 @@ struct trampoline_data { }; #endif -extern vm_offset_t kboot_get_phys_load_segment(void); - static int elf64_exec(struct preloaded_file *fp) { diff --git a/stand/kboot/arch/amd64/elf64_freebsd.c b/stand/kboot/arch/amd64/elf64_freebsd.c index 0d950fb61eb6..c3ed842a2abd 100644 --- a/stand/kboot/arch/amd64/elf64_freebsd.c +++ b/stand/kboot/arch/amd64/elf64_freebsd.c @@ -67,8 +67,6 @@ static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; #define LOADER_PAGE_SIZE PAGE_SIZE #endif -extern vm_offset_t kboot_get_phys_load_segment(void); - extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs); From nobody Fri Feb 3 15:50:57 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9Z4Ql4z3kRrf; Fri, 3 Feb 2023 15:50: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 4P7g9Y47z5z3JGh; Fri, 3 Feb 2023 15:50:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sxktI946gHplmt2XXTwl7W+QxNL7B49XS21eQskE818=; b=aXaCGwBnPOCGbvkMy4X3v04m/EdIjLtAjPg6gIOArrTz/pXJQoY/XqZgg8cPtGH5ixoHHz JMnE2j35rhRw4E+NpED84xCrK8xp1Y/u6qjdpUtDw0lm/tDMJrGkUyfYn+dvUk+fIAoAu4 ih/QR9XiFJng9plY00Z3vuUYnp7OUnooSjlUJEYX/HKO9+fY5E0YXq6UdHansex9jq9lIA AbrM/SFYVrjRK7kH4DTXAncMrEnoXBDzUPONUxi6/lcWYRBf93VIMgvZerjnn/HXnuXjd0 /6ITIKdj5Y3oEL6b1TCKkAzGXIm6448Su3ay037U7kEx2+XuuCHPSGLliIclxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sxktI946gHplmt2XXTwl7W+QxNL7B49XS21eQskE818=; b=W/KzVPb4S2ct9u8tJYkJUPdgmiM8mtc861Dr2SPuf8GOAaFqvAV0J0o5JwxWM/hu1GmhdB EN0z/96r315tlV+oc8HUpMiEfKcDDgqjwi91283W1cDtMGXZhkvpf8ViT8daCkgOLS9ATS FTlcmbkiM9nQpaXKtY1K7OEHa6sZWq7gBNfFlgyQSjju/Z+R/PHCMYkfGbNQiXVTblhoLE v4KZz/EsbM+ygf2hU0lnTxqUyW3hAHN2Wuz+5psXr5pWp32DGcSQOpCamYqXHn4N6l+GDG I5yk0QLX2EzeUEphEH2tS+t5IUD3eXWJ6Dg/EoG/kYkQixwrQP4CXXlm2wqBwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439457; a=rsa-sha256; cv=none; b=j2+D3xd/vDzhCQrDemElXNVc9fGxdnXJGpa1HxFWmIsanEF3eAI8FOTS1e5jPXxWdX2Of/ igwC5f7BBoMbKlQDaEmlaONhgXOpLx2iHAWyeU71F0en0Nr10zfOWKrLUrz+CE/Td40gVp eJi4oSuQutvZjYWFpOTxbB3C8WUVklyHfClBt1mM6k8XvOzKoL4uaoCc93GF9sb3j9VIty PbMxY+G+EahBfwmP/I5fFJeeWGf4GnJYkQfVfqxSGSbk+7WzYNoWibgD0L7lLI/MYDsPuU mCJpzuLV4+eXO92fJd9/CXf6eaRTkbaGWdGnWrU1Q4WCbTq4avksvKmzgnkfCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9Y2yZVzgQv; Fri, 3 Feb 2023 15:50:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Fovxe024210; Fri, 3 Feb 2023 15:50:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FovSe024209; Fri, 3 Feb 2023 15:50:57 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:57 GMT Message-Id: <202302031550.313FovSe024209@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: db8d0c0cd998 - main - kboot: Allocate a really big first segment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: db8d0c0cd998722535f984c017acafbd78be2ba7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=db8d0c0cd998722535f984c017acafbd78be2ba7 commit db8d0c0cd998722535f984c017acafbd78be2ba7 Author: Warner Losh AuthorDate: 2023-02-03 15:41:03 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:41 +0000 kboot: Allocate a really big first segment Allocate a huge segment for the first kexec_load segments. We limit the lessor of: allocation to the size of the remaining memory segment 45% of available memory 95% of the memory we can allocate This allows us to have really large RAM disks. We likely need to limit this to the amount we actually used, though, since this can be a lot of memory. We have to do this complicated calculation for a few reasons: First, we need 2 copies of the loaded kernel in the memory: The kernel can copy everything to a temporary buffer. Next, malloc (via mmap) is limited to a certain amount due to over commit, so we have to not allocate all we can (only most of what we can). Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D38314 --- stand/kboot/main.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 75c2d55c3f39..450934b72777 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -322,6 +322,7 @@ get_phys_buffer(vm_offset_t dest, const size_t len, void **buf) { int i = 0; const size_t segsize = 64*1024*1024; + size_t sz; if (nkexec_segments == HOST_KEXEC_SEGMENT_MAX) panic("Tried to load too many kexec segments"); @@ -332,10 +333,22 @@ get_phys_buffer(vm_offset_t dest, const size_t len, void **buf) goto out; } - loaded_segments[nkexec_segments].buf = host_getmem(segsize); - loaded_segments[nkexec_segments].bufsz = segsize; + sz = segsize; + if (nkexec_segments == 0) { + /* how much space does this segment have */ + sz = space_avail(dest); + /* Clip to 45% of available memory (need 2 copies) */ + sz = min(sz, rounddown2(mem_avail * 45 / 100, SEGALIGN)); + /* And only use 95% of what we can allocate */ + sz = min(sz, rounddown2( + (commit_limit - committed_as) * 95 / 100, SEGALIGN)); + printf("Allocating %zd MB for first segment\n", sz >> 20); + } + + loaded_segments[nkexec_segments].buf = host_getmem(sz); + loaded_segments[nkexec_segments].bufsz = sz; loaded_segments[nkexec_segments].mem = (void *)rounddown2(dest,SEGALIGN); - loaded_segments[nkexec_segments].memsz = segsize; + loaded_segments[nkexec_segments].memsz = sz; i = nkexec_segments; nkexec_segments++; From nobody Fri Feb 3 15:50:58 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9b0rNgz3kS5f; Fri, 3 Feb 2023 15:50: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 4P7g9Z5FFmz3JVL; Fri, 3 Feb 2023 15:50:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QKpi14qKQCeXTeEA77thjpdFSkxbKTDvPlsKcns1oWY=; b=s6V1JCg5KCeDuHQ8TnxDtudlQbbjxzb7gaA34ei/o7A/nVkxmeLZ0+Bo4IABJSZEsBtFw+ 8RCE/QqLFls5bWLDb/IxlnBk1sc+gQGkwkMhs3WGlEcCTTmK/v3S4nlLBiOY8wyzy0KdrN khgrcd4Gn7y4BKb3VspcUC7zS/J2kWaMd/1qqtm8Bx9sx7llX5imOZbHU0+laz4pBiWyeq 4EYSXeDM2nQiYCdFHX63+6TLz0SvIbOR5rh0zsadAb55i15fW4MQvnI8u9fehV/lwz3IVT hdgVKFYZ1KUcd0Z6QbB39SbD4EwtUsAUOrpvgS4biAhVicWpQ3nwloG9fhjqbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QKpi14qKQCeXTeEA77thjpdFSkxbKTDvPlsKcns1oWY=; b=GTNmr/0rzCw49XTUEVpOImRQnFx0ZGS7boQU+JWa0rdCrxSg8zaeklw3vzB+yTUHAsQNUS rR2Z6zWFdOQyqV316xWpCHcpVIMs55oxCICjIUplI48hyCnrI8PHdsqJHBcrbyZcot/lyW BL27A5AP8K15ltdkxfOzARy/Dk+ucUNsJXoWg8oDhSyiM9kN6hsnz5E96Ey6hRf+BMZRWR 3hAm/s+Qb4dJUFwKkAfbtmEa1nYX2Vu/N2HVYDbuQZYyzQZhsCC/NFLcMawmV/PqJW3lP0 1pjf/+bw7RCE58s82R7jOSqQuiWRoS3f/OL9iw7giZWN91GACC++3jh0vwpifQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439458; a=rsa-sha256; cv=none; b=VN2TDSFPNELolUxR1/Q52jgZnQdMg29qbyjRSY8uYZchUwgjmhf/bwcNHPZX0Glh5s15L7 eC5cKu4x1f+fXKyFDlfEPuISsZ0b8oj2W1iDlJ1S7vITrVhBMmipWCGyPb8DsYo0ugUW7t tf1bsWl8/0p3Ec3oSMVbJuxAZPzwOlHcoFBgn0yX1/C0D1eQTSgg5jmj7ABZnY9Zgo5GKO HYt6FkzoMsXrYF8cjQH9jBY8i6SqUYTMnyQYfLGtpP097JUBVldT/6AvMsmhZe/sHZcaMu O+muJIqQsLf2bWlz3bxiNCU+yI7zmtLvmbWbtixqN9CQbUdq9WfQPzzNB/i76Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9Z40Mgzg8P; Fri, 3 Feb 2023 15:50:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313FowdC024234; Fri, 3 Feb 2023 15:50:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313Fowpa024233; Fri, 3 Feb 2023 15:50:58 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:58 GMT Message-Id: <202302031550.313Fowpa024233@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 335e3daaf043 - main - kboot: Keep track of what's used in the segment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 335e3daaf043fb32aaa5fbef513cae0c8c858ee7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=335e3daaf043fb32aaa5fbef513cae0c8c858ee7 commit 335e3daaf043fb32aaa5fbef513cae0c8c858ee7 Author: Warner Losh AuthorDate: 2023-02-03 15:41:11 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:41 +0000 kboot: Keep track of what's used in the segment Keep track of how much is used in the segment as we allocate it to the application. Set memsz to 0 first, and increment it as used. Adjust the bufsz before we call kexec so the kernel copies the right amount (it's an error for bufsz to be bigger than memsz, so we set them == when we retrieve the segment). Make sure we round to the page size, otherwise kexec_load gets cranky. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D38315 --- stand/kboot/main.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/stand/kboot/main.c b/stand/kboot/main.c index 450934b72777..f81d7b2cead4 100644 --- a/stand/kboot/main.c +++ b/stand/kboot/main.c @@ -322,14 +322,14 @@ get_phys_buffer(vm_offset_t dest, const size_t len, void **buf) { int i = 0; const size_t segsize = 64*1024*1024; - size_t sz; + size_t sz, amt, l; if (nkexec_segments == HOST_KEXEC_SEGMENT_MAX) panic("Tried to load too many kexec segments"); for (i = 0; i < nkexec_segments; i++) { if (dest >= (vm_offset_t)loaded_segments[i].mem && dest < (vm_offset_t)loaded_segments[i].mem + - loaded_segments[i].memsz) + loaded_segments[i].bufsz) /* Need to use bufsz since memsz is in use size */ goto out; } @@ -348,16 +348,21 @@ get_phys_buffer(vm_offset_t dest, const size_t len, void **buf) loaded_segments[nkexec_segments].buf = host_getmem(sz); loaded_segments[nkexec_segments].bufsz = sz; loaded_segments[nkexec_segments].mem = (void *)rounddown2(dest,SEGALIGN); - loaded_segments[nkexec_segments].memsz = sz; + loaded_segments[nkexec_segments].memsz = 0; i = nkexec_segments; nkexec_segments++; out: - *buf = loaded_segments[i].buf + (dest - - (vm_offset_t)loaded_segments[i].mem); - return (min(len,loaded_segments[i].bufsz - (dest - - (vm_offset_t)loaded_segments[i].mem))); + /* + * Keep track of the highest amount used in a segment + */ + amt = dest - (vm_offset_t)loaded_segments[i].mem; + l = min(len,loaded_segments[i].bufsz - amt); + *buf = loaded_segments[i].buf + amt; + if (amt + l > loaded_segments[i].memsz) + loaded_segments[i].memsz = amt + l; + return (l); } ssize_t @@ -447,12 +452,16 @@ kboot_autoload(void) void kboot_kseg_get(int *nseg, void **ptr) { - int a; - printf("kseg_get: %d segments\n", nkexec_segments); printf("VA SZ PA MEMSZ\n"); printf("---------------- -------- ---------------- -----\n"); - for (a = 0; a < nkexec_segments; a++) { + for (int a = 0; a < nkexec_segments; a++) { + /* + * Truncate each segment to just what we've used in the segment, + * rounded up to the next page. + */ + loaded_segments[a].memsz = roundup2(loaded_segments[a].memsz,PAGE_SIZE); + loaded_segments[a].bufsz = loaded_segments[a].memsz; printf("%016jx %08jx %016jx %08jx\n", (uintmax_t)loaded_segments[a].buf, (uintmax_t)loaded_segments[a].bufsz, From nobody Fri Feb 3 15:50:59 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7g9c1CPgz3kRrt; Fri, 3 Feb 2023 15:51: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 4P7g9b6f4gz3Jg8; Fri, 3 Feb 2023 15:50:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V42hdUhV3KDpOJQzcsW+nbR5B2LFHtWK+B354lhANNk=; b=YsfgJ18D2v1BEcvXTUuvUPsS4VoMF2tSRMobM1fvoyjFaOiMagcUS606PyLV1+aJY4TdlE X87hZ+oHG/y1+UFLWoFlXWziXfsNMWJ38kuY01h4bBqgZEOK5pWn93isRCgDgUgs1tMp2N kMDS5lrJDe7vWWN0po6gPGhM6tlarFm1qWFd8801c9XUlxOG48rDsK5iPTPUTeTxHdjXB9 Lc/LECVX590qdI6Vo3CN5yzyDxIBqpIb2d29CX2urBZ1P9BekyE8EipbCaxLX40QJ/kpD5 +ZzNhokNh8Dx8uP8zxKTQYEWM03lCY/thkzBp8nH1LAtn2aVuyVn/SFIluvlMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675439459; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V42hdUhV3KDpOJQzcsW+nbR5B2LFHtWK+B354lhANNk=; b=HfaygyP4RdnhLv3oG+JgoOXZfMITv4k4qFnuBrAb8t0nBMJYdIH/ERewfp9HYPviNUnrc/ ctIdX508sznjWKrK2HqTf0hyNK2CMJSOmIyFmK0y54iFLod9OLe17YFsB/wlXQcIcAVBRu uxWsUj5nihIRafG6SDMuJCIJaZByyr1DnsRKSeIAsmzE/8QuS2pz6qJGjtjNuofAOThn7B BKimxQtznqpkRHtgMo9B47xErqwb940PlwUoGs7axtWZWyic62XzPTZoq69EwDYgsnSe+b lArVkvxTA7/mdzwYN4zX4tcl/SOkoU5IVCSma6Q8U+ImvuWeFUnLNC/CvSddyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675439459; a=rsa-sha256; cv=none; b=OgFVCtQqXMIN+iFdsaDgw7sBSXdF3bE+YoZ8ctuwmjn4dIEYc7qMC8fVLv9eAR/j7pKJP0 JvUIMHmAC5zYh2M0IpI6iwN7ZHwi2+GM4zXjaozxP3rueDtBdR7K7saTYXMxKlzA359aAq LNlGknOy78Kj7nsIEoOdDoiMxkmgbVgNj4D8c+zT/DNkEMa67URVJhwsarzikrLWg41QdX qqe6ZvTIGckR7ruZGpha25RGfGtlSMsSakzSz6onAO/zPlKVhvlCUNGg2jGpMmf3s9cfZ4 q06Gl4u1PUh2x6lChQffSc94m/6dvyAQPzuReac7RUJ4nplzuTWOxUOOFnCFlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7g9b525rzg6Z; Fri, 3 Feb 2023 15:50:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Fox30024258; Fri, 3 Feb 2023 15:50:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313FoxEw024257; Fri, 3 Feb 2023 15:50:59 GMT (envelope-from git) Date: Fri, 3 Feb 2023 15:50:59 GMT Message-Id: <202302031550.313FoxEw024257@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a5c0d5517771 - main - test: Add fstab to all ufs images List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a5c0d5517771d84514cdeff2c6a655d120bfd71e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a5c0d5517771d84514cdeff2c6a655d120bfd71e commit a5c0d5517771d84514cdeff2c6a655d120bfd71e Author: Warner Losh AuthorDate: 2023-02-03 15:41:18 +0000 Commit: Warner Losh CommitDate: 2023-02-03 15:41:41 +0000 test: Add fstab to all ufs images Ensure that we populate /etc/fstab for all the ufs images. Tweak sizes while I'm at it. Note: This file could use a good refactoring... or maybe a rewrite in python or lua. Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D38317 --- tools/boot/full-test.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/boot/full-test.sh b/tools/boot/full-test.sh index 11f575779b92..89d2ac3b7277 100644 --- a/tools/boot/full-test.sh +++ b/tools/boot/full-test.sh @@ -170,10 +170,7 @@ EOF cat > ${dir}/boot/loader.conf < ${dir2}/etc/fstab < ${dir2}/etc/fstab < Message-Id: <202302031558.313Fw2sJ051540@gndrsh.dnsmgr.net> Subject: Re: git: cb96a0ef0040 - main - cp: Minor code cleanup. In-Reply-To: <202302031537.313FbfF0099172@gitrepo.freebsd.org> To: =?UTF-8?Q?Dag-Erling_Sm=C3=B8rgrav?= Date: Fri, 3 Feb 2023 07:58:02 -0800 (PST) CC: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4P7gKp05Qlz3kRj X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N > The branch main has been updated by des: > > URL: https://cgit.FreeBSD.org/src/commit/?id=cb96a0ef0040fa7968245ab203ab70a7ed2d275d > > commit cb96a0ef0040fa7968245ab203ab70a7ed2d275d > Author: Dag-Erling Sm?rgrav > AuthorDate: 2023-02-03 15:37:24 +0000 > Commit: Dag-Erling Sm?rgrav > CommitDate: 2023-02-03 15:37:37 +0000 > > cp: Minor code cleanup. > > * Fix includes in utils.c, cf. style(9). > * Fix type mismatch: readlink(2) returns ssize_t, not int. > * It is not necessary to set errno to 0 as fts_read(3) already does it. > > MFC after: 1 week > Sponsored by: Klara, Inc. > Reviewed by: allanjude > Differential Revision: https://reviews.freebsd.org/D38369 > --- > bin/cp/cp.c | 3 +-- > bin/cp/utils.c | 5 ++--- > 2 files changed, 3 insertions(+), 5 deletions(-) > > diff --git a/bin/cp/cp.c b/bin/cp/cp.c > index dbae4b535843..e38cd97f4369 100644 > --- a/bin/cp/cp.c > +++ b/bin/cp/cp.c > @@ -311,8 +311,7 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat) > recurse_path = NULL; > if ((ftsp = fts_open(argv, fts_options, NULL)) == NULL) > err(1, "fts_open"); > - for (badcp = rval = 0; errno = 0, (curr = fts_read(ftsp)) != NULL; > - badcp = 0) { > + for (badcp = rval = 0; (curr = fts_read(ftsp)) != NULL; badcp = 0) { Wouldnt it now be possible for code in the fts_read path to reference errno unintialized? > switch (curr->fts_info) { > case FTS_NS: > case FTS_DNR: > diff --git a/bin/cp/utils.c b/bin/cp/utils.c > index a3a498714f43..8c1c350ff6f1 100644 > --- a/bin/cp/utils.c > +++ b/bin/cp/utils.c > @@ -37,9 +37,8 @@ static char sccsid[] = "@(#)utils.c 8.3 (Berkeley) 4/1/94"; > #include > __FBSDID("$FreeBSD$"); > > -#include > -#include > #include > +#include > #include > > #include > @@ -241,7 +240,7 @@ done: > int > copy_link(const FTSENT *p, int exists) > { > - int len; > + ssize_t len; > char llink[PATH_MAX]; > > if (exists && nflag) { > -- Rod Grimes rgrimes@freebsd.org From nobody Fri Feb 3 16:08:11 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7gYV2dptz3kTKW; Fri, 3 Feb 2023 16:08:14 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7gYV2Bclz3mnW; Fri, 3 Feb 2023 16:08:14 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675440494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OUXphYDMEjjOy/RkTJz/AoqLtbS6znact/XPaEgzTtg=; b=kMU/dzu8hrG/P+YOEmgP0yDLiEvGbPWMqFCuXZLaYsetRohq511fBzi/5GhL0Yo/MYffXt Mw+e2iT/Efex/yrLqW4kyNK25HTe5KTVbADvzrcBki1t4knvhstQ6ttF8gvWzQL9ePu8ti BRaivNF5NO+17qJnt5/97feAK1ji8G2DjM/UYdRjub48KQJY4UaDsYNmV6VWjmuHJtm7HL PcZVYIEnWbGVyd23TSsEMKJ07HHbkJ3ehQZ55y6Vxhsy4ygZkGdDNE2X0ryQnx+L6DTsUW WV83qW5wc7tUoJ/mNOVHcuBloDTswfzfqNyFI9qxOuW6sJbAuPwTsQQyA6kK/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675440494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OUXphYDMEjjOy/RkTJz/AoqLtbS6znact/XPaEgzTtg=; b=UDMHlyG00f2tXKlWu2ABy1798x+7PigEadT3LfR1mRVIIjACExflH3m5fCI9MeQ579ZTVE abHSWHQpHdDROfc/iH7UzsM4x7G7QStykNtFw0zxxu61KwAbilVTXwXO3XMFpI8BUHLWr2 NeAtdZTxfo8DXFDthKONBoEPiBQl6KGwwGwO3yxCUx2Mn8wFZ5ahp9A1zhT7eY8Moc0mP2 0/sa45h3wPEfM5oEo8DZrVFmBVZAnT9Tv5tz/H/HP1b9qMkNRYMkHKdcIbaYPR1xR3N3r8 D0B4JB54nDM/8lzgXpG53rPmoob5q5l9Iv+sgNyzLuj5mJwI1J3nKEtSZk3Klg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675440494; a=rsa-sha256; cv=none; b=ot8IqSzq7llT2Kmmzm0IASjqplS9V4qP42SYBF4yJuWjTrSqxaQfxjgKDuUzTNUnxgGBqs E3+Yr7jp4zd2DQOPL9EWkm6EGK6KsAy863Xd6ct//h6ZHIi2W6Xte4ISIufDFlYHRl82GK +u31f07TJFkyQSXt28c6qhA6zrOYyYmEUZoXxERUkg7hS2GWYSTumwxREA67UfoB33TyQ2 AbMiSZ0+xcpjfjDhpvG9v5Lx9RelQWqciqZYl6rMxuzKKJs1gziwPv/WLvTW9pH6+sXeB3 41mxcm7mVDzNrGUv+MYGgh5H5gN3p5/qRC2YZbEKTXXZW7MRlSBC5vQfY5QWhg== Received: from ltc.des.no (unknown [178.232.223.163]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7gYV0PWvz11Vg; Fri, 3 Feb 2023 16:08:14 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.no (Postfix, from userid 1001) id 4D20EF9BD6; Fri, 3 Feb 2023 17:08:11 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: "Rodney W. Grimes" Cc: rgrimes@freebsd.org, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: cb96a0ef0040 - main - cp: Minor code cleanup. In-Reply-To: <202302031558.313Fw2sJ051540@gndrsh.dnsmgr.net> (Rodney W. Grimes's message of "Fri, 3 Feb 2023 07:58:02 -0800 (PST)") References: <202302031558.313Fw2sJ051540@gndrsh.dnsmgr.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (berkeley-unix) Date: Fri, 03 Feb 2023 17:08:11 +0100 Message-ID: <86lele3f6c.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N "Rodney W. Grimes" writes: > Wouldnt it now be possible for code in the fts_read path to reference > errno unintialized? Can you provide a test case? We (cp) only look at errno if fts_read() returns NULL, and that only happens after an error (errno is expected to be set) or when we're done (fts_read() explicitly sets errno to 0). DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Fri Feb 3 16:11:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7gdY0C1Nz3kT6v; Fri, 3 Feb 2023 16:11:45 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7gdX6tjpz3nhS; Fri, 3 Feb 2023 16:11:44 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675440705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xa8IVfrCYjsVcM4oAc4fczyVILrg7sw/aurprhdjDds=; b=pTHgLNsGfKlOVEIzd+eQZYE2HOxvhZKYmxLt6ukWeuTH2NHSDqyvB4HclIrw9qhdvdLb8p s0lLLc8ORW6uGeL626DlJj5Wpeovmd/cVY0ARhnUXieevBK+UyggWiNJuWPyXOPzbi2h/h 5IN0bo8eXKtfX8IASdEF/V7UEfiUvpQFwWkGTSGPDz5BlIAiBzb0RSaDzhUOBwcLVQ4ByO cvoRlSniq/evHzktunFaY99R4B5zY/MaL5GuEhV13wOuTrBtFPIvRlnAVwuheACJQOY26k 7DC3gZxY6RX8T+rx3DjhQ/1orBB/z7cb0+i8fjN5Wc8iNSRL//QOPiv/4yeo9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675440705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xa8IVfrCYjsVcM4oAc4fczyVILrg7sw/aurprhdjDds=; b=OpH8vRPla6fBqJFXC9tb73//Kyu1TR4zwo96qdVvRy61vq+skc4vHdSCyddZgy5QHYrccw lSK9Qrw/a5wMwopNpXUo/WwgCyWfrwDTNyfybc28UH15KPwzGpjOND04g2YOtaQ4pueZ1F p/rwNPbal3qwa1yonuSUesN/EgBSjDJj7scXRiO3QqvFb4xBF2x0SFyxmzQ1df3PxY8fKZ FZg5SK4ofqm90IOtl0aks2/HQqSlclyG7fNumRmDOnkpip79qWv5NDcWob33thj4xsfmwH nLtRcHlXUnk3g+ubZ3bfInJji/doSyh9ha0voYyDVwq6ZBpAjWWso6EURW5HOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675440705; a=rsa-sha256; cv=none; b=u4Ij0qpnQCxSQU7PsGx7R17ERbcPrTXwQ8rqh6HHeuqSyVzVw9axH6RKbedubZ+W5vPKXA +j6/SmNKvy/g0bwdHcab57iaB4Lqo4WqyVMIP5jUe1VWQS1zZBsqBOIz5DaTedlICNaccS BdekE+ieNpkJgXW0VcYEMVVh8TT/JTL3M77mdtaJ6x+UtPHEcBYy9R9vuOZ9aYael8boWv y61YMWs+v8Zm1AJy8yC+u35rsa0aIMHXZukpUIRYx0C6sjMs3mjHWftKPpNzEEhTZnSDYX 8gtfGaH6AVVBrkGr3zsADjtGjgmZ6fzQrdMZccD2j2Lg4hlLI2rqpie2aPedGg== Received: from mail-qk1-f176.google.com (mail-qk1-f176.google.com [209.85.222.176]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7gdX5r5yz11Cp; Fri, 3 Feb 2023 16:11:44 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f176.google.com with SMTP id j22so2652820qka.0; Fri, 03 Feb 2023 08:11:44 -0800 (PST) X-Gm-Message-State: AO0yUKXZiaHGsPBI+GXrZ94PnGPMoMP2AXXFKmpCIOhKPa3lHyPPp2N8 UyuHfLAj4Q4lzSU8axzpgdgrAsFaxuJfQ1XyNk4= X-Google-Smtp-Source: AK7set+U8Q5RShrNLRIRbX7CORf4MdQk5TkPQkr298r+2xl1pfD/8Xy/lbOuo1mjiCrqyOp2To4yMmjG7Q+CYHLIRr4= X-Received: by 2002:a05:620a:8509:b0:71c:deaf:c01f with SMTP id pe9-20020a05620a850900b0071cdeafc01fmr970628qkn.16.1675440703999; Fri, 03 Feb 2023 08:11:43 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202302031558.313Fw2sJ051540@gndrsh.dnsmgr.net> <86lele3f6c.fsf@ltc.des.no> In-Reply-To: <86lele3f6c.fsf@ltc.des.no> From: Kyle Evans Date: Fri, 3 Feb 2023 10:11:36 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: cb96a0ef0040 - main - cp: Minor code cleanup. To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: "Rodney W. Grimes" , rgrimes@freebsd.org, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N On Fri, Feb 3, 2023 at 10:08 AM Dag-Erling Sm=C3=B8rgrav = wrote: > > "Rodney W. Grimes" writes: > > Wouldnt it now be possible for code in the fts_read path to reference > > errno unintialized? > > Can you provide a test case? > > We (cp) only look at errno if fts_read() returns NULL, and that only > happens after an error (errno is expected to be set) or when we're done > (fts_read() explicitly sets errno to 0). > fts_read() doesn't always set errno to 0; notably, there's a number of FCHDIR() paths that don't set errno (and the change that added it mentions that scenario exactly) and will return NULL because of an error. From nobody Fri Feb 3 16:16:54 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7glY03k8z3kTpy; Fri, 3 Feb 2023 16:16:57 +0000 (UTC) (envelope-from des@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7glX6htkz3pC0; Fri, 3 Feb 2023 16:16:56 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675441016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=g/z7hxUXWLO3Y8ZZf4Qbgf7r6S956enCiWlwtKsk0Z0=; b=mXGcYwXXroCmN09Jvtt2P42e94Ddqkk7WGhreEMxpet5ZZjphUIgMq4NSciwwpBa+qtDDh qWjsV4s9LdRQKKD3NOAcS4pNunX/i7vt/UOCcicDdvBb+de8AfPynfZeC6zW4JEsXpRxy4 odaQnyxy8lSRT7bnyi+fl4bSWTmVysJt6cEk6um9xe8L15sfxHU97DQI9qFHuxFIGXhi0A 2PbA6wvHDRvWL3a84ab3i4LzGTtXuiuhk89a+VWchoCI0bjHnGJSKYIGCmrhZQEzLloa6l W1AUgiT5rgecCvyhHezyOG9HLpk3pV0puGoo7s4ugCKWt/Q8qVhOslUvJU9jLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675441016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=g/z7hxUXWLO3Y8ZZf4Qbgf7r6S956enCiWlwtKsk0Z0=; b=Pm04dBaqIvADb1V3JQ6Afxcxrv3B5kyO+7/IowMKNrZ8m9B5mxlpbkD9yO7b4ksWUAj+Q/ AuA3y1vDLU0Svzu0h0axxn9uFYFuirOdDIaaCI5k0CMMX288AqzSPUTe2A+G8BcoAeqsNm 11N2++/UP1cNU6Lfv/B9PqEwqmFpe5aHaffC00RSuFdjjxqq+dJ5vE188Tu0yq/GHsjQUA tUmOhIrTtj9ocS8kJnWmUrDPGTrsthynaGwVAc1bl3XLwQhLYdG5lUIZUpdLpRApjHcpJ+ rU1ugKnWfBJMAV1VaH5hTp1TcaXQl5RNsFJBh5R/lXSLDgTNK2qaM8dC3tL1LQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675441016; a=rsa-sha256; cv=none; b=Eswy4iL6tKsb97t2SetUe/qEn+BE6BdS8NPnM9/Y1H6lIGLW6oqYIJRnWE03MwnSHn1AfD v+Nz03ccUjIRd8G+asn6KyVHlCMT7U9muNs2GFaotq3fc9kaid4RPeaGxBu+mXVbH2pBy7 +FfFX2etOjc+DiKu/QvBFYx8dfWafefzPZyY9JyV/kFaDiiXiCeWXOmmyrwT15YxOhdH5z JM7FmXdI4seQWq7NMs08gfvLE6sbSv8tv5cWeTyq0IqU3BGjFlsq8io5gxDc2i0h/WTUAT vJJz/L5lvLTv9/FgkxWcpQlFLwDK/4KpFR9GY/WVvhBKWp4xdMYjvx1hDKhrWA== Received: from ltc.des.no (unknown [178.232.223.163]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7glX4vJyz11Cq; Fri, 3 Feb 2023 16:16:56 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.no (Postfix, from userid 1001) id DDB74F82C4; Fri, 3 Feb 2023 17:16:54 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Kyle Evans Cc: "Rodney W. Grimes" , rgrimes@freebsd.org, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: cb96a0ef0040 - main - cp: Minor code cleanup. In-Reply-To: (Kyle Evans's message of "Fri, 3 Feb 2023 10:11:36 -0600") References: <202302031558.313Fw2sJ051540@gndrsh.dnsmgr.net> <86lele3f6c.fsf@ltc.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (berkeley-unix) Date: Fri, 03 Feb 2023 17:16:54 +0100 Message-ID: <86edr63ert.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N Kyle Evans writes: > fts_read() doesn't always set errno to 0; notably, there's a number of > FCHDIR() paths that don't set errno (and the change that added it > mentions that scenario exactly) and will return NULL because of an > error. The man page says it does, and as far as I can tell from the code it does. Can you please provide a test case? DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Fri Feb 3 16:17:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7gmb1Cmnz3kTnT; Fri, 3 Feb 2023 16:17: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 4P7gmb0lyGz3pRC; Fri, 3 Feb 2023 16:17:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675441071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i6uk6/HSTmYK1R6WS9G3EWQtLLwx2vOyKVfHukjeLX4=; b=yq5Qd7JbIEuQkTCjLYdWlKKZteT8/sNjoBJk6A3QAmrvS/z5ecBbVh6DrK0JcD3utON9ma t2z5G1UEJS1zODue+H/FCBPhX2rHvguWr6eMOxwsMSBAnlJFkLTPkDEb7C4V0671xOLYUO upyTd3ylZEkA97BOvd9m8oi4x1kVGRZBz1slw+kPjnGRBtUZgwc43fEen2Qd6bzs8YEOtT fjnLQ5VU4rwsKjdL5QSDJa0he6u+PFlgQUF10hizQVJXM8uVvKXiPAAkjHFDAv1E0CGvVl VKeqOnS15y0tIaUuyDmL1poo6KCGWaR8pLuY1YSBY99bmCY2EQyXl8JNJexanQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675441071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i6uk6/HSTmYK1R6WS9G3EWQtLLwx2vOyKVfHukjeLX4=; b=Okg1zkBqusZqjtB0uEFRZ+lOWb3gXNMtJEVj6u+McBCWKX+lNJzIcVz6imtSh0s+U7g3Kx 0cn2rwlN8xR58UsJYySsu5o0suBIWRV7FP0nboMx1lZWK992aGUaPQmO+i4un+Nj1KpYDz E517MiLGgr/gULghX5R0KVa1MR0l7d1AlOuUtYuecimSxLSBRd9OJ7qcVVe4OLYiV+MUph wTfxUphTTrl4seJ9jxuGvKyDQhX6DG36+u6SZrdQUMGYO8hT78jOgqSgB+3CPq8N6m9UQu 7b9udCmJ7fZSvHNkB3humE+Uq22JbPjYTDMxNE5ulvrIUa073DAFXYgRwBJtZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675441071; a=rsa-sha256; cv=none; b=qXbbg0k3DnjjoG2oarLe77fKRIwag703ktwfjy5gI+kc6AF7Z7FIwNz6dh0k6avs35Cyqu iyT/YGpZNLSGVDKS734DmXpbOuNwBmgfL2aYP0fueqfD+WzggM0OcYb01pzhD3VTENGsNw T/vin4sSrwBxI/CUEEMAZk7YgMYO8rcLyLiPqEtzDDdBImfKzbOVOtFAqguKlGdsOFbAxE jaFwgeVRfmlZMYMvsDvxyYg5Dt1FlO8u2ZZKds9h2K9oJoGDG9hFMJFVxdiBaYK7g+uBnc qWG3N+PRNPrCVS0O2RxRxf9j0E238ADmD4a6Fp9D8HJ0J7zjNWTDNk350dw0CQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7gmZ6jy3zhC3; Fri, 3 Feb 2023 16:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313GHohF057517; Fri, 3 Feb 2023 16:17:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313GHoMc057516; Fri, 3 Feb 2023 16:17:50 GMT (envelope-from git) Date: Fri, 3 Feb 2023 16:17:50 GMT Message-Id: <202302031617.313GHoMc057516@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 3e0c56a717d6 - main - linux(4): Use designated initializers. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 3e0c56a717d6af3b680463b25388c7acd7cb8844 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=3e0c56a717d6af3b680463b25388c7acd7cb8844 commit 3e0c56a717d6af3b680463b25388c7acd7cb8844 Author: Dmitry Chagin AuthorDate: 2023-02-03 16:17:15 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-03 16:17:15 +0000 linux(4): Use designated initializers. MFC after: 1 week --- sys/compat/linux/linux_ipc.c | 60 +++++++++++++++++-------------------------- sys/compat/linux/linux_misc.c | 12 ++++----- 2 files changed, 30 insertions(+), 42 deletions(-) diff --git a/sys/compat/linux/linux_ipc.c b/sys/compat/linux/linux_ipc.c index 258917e6a969..8c40d7505da5 100644 --- a/sys/compat/linux/linux_ipc.c +++ b/sys/compat/linux/linux_ipc.c @@ -546,17 +546,14 @@ linux_semtimedop(struct thread *td, struct linux_semtimedop_args *args) int linux_semget(struct thread *td, struct linux_semget_args *args) { - struct semget_args /* { - key_t key; - int nsems; - int semflg; - } */ bsd_args; + struct semget_args bsd_args = { + .key = args->key, + .nsems = args->nsems, + .semflg = args->semflg + }; if (args->nsems < 0) return (EINVAL); - bsd_args.key = args->key; - bsd_args.nsems = args->nsems; - bsd_args.semflg = args->semflg; return (sys_semget(td, &bsd_args)); } @@ -710,13 +707,11 @@ linux_msgrcv(struct thread *td, struct linux_msgrcv_args *args) int linux_msgget(struct thread *td, struct linux_msgget_args *args) { - struct msgget_args /* { - key_t key; - int msgflg; - } */ bsd_args; + struct msgget_args bsd_args = { + .key = args->key, + .msgflg = args->msgflg + }; - bsd_args.key = args->key; - bsd_args.msgflg = args->msgflg; return (sys_msgget(td, &bsd_args)); } @@ -802,41 +797,34 @@ linux_msgctl(struct thread *td, struct linux_msgctl_args *args) int linux_shmat(struct thread *td, struct linux_shmat_args *args) { - struct shmat_args /* { - int shmid; - void *shmaddr; - int shmflg; - } */ bsd_args; - - bsd_args.shmid = args->shmid; - bsd_args.shmaddr = PTRIN(args->shmaddr); - bsd_args.shmflg = args->shmflg; + struct shmat_args bsd_args = { + .shmid = args->shmid, + .shmaddr = PTRIN(args->shmaddr), + .shmflg = args->shmflg + }; + return (sys_shmat(td, &bsd_args)); } int linux_shmdt(struct thread *td, struct linux_shmdt_args *args) { - struct shmdt_args /* { - void *shmaddr; - } */ bsd_args; + struct shmdt_args bsd_args = { + .shmaddr = PTRIN(args->shmaddr) + }; - bsd_args.shmaddr = PTRIN(args->shmaddr); return (sys_shmdt(td, &bsd_args)); } int linux_shmget(struct thread *td, struct linux_shmget_args *args) { - struct shmget_args /* { - key_t key; - int size; - int shmflg; - } */ bsd_args; - - bsd_args.key = args->key; - bsd_args.size = args->size; - bsd_args.shmflg = args->shmflg; + struct shmget_args bsd_args = { + .key = args->key, + .size = args->size, + .shmflg = args->shmflg + }; + return (sys_shmget(td, &bsd_args)); } diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index 9c4aa1c26f9c..f9b720cfc0b8 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -1044,12 +1044,12 @@ linux_common_wait(struct thread *td, idtype_t idtype, int id, int *statusp, int linux_waitpid(struct thread *td, struct linux_waitpid_args *args) { - struct linux_wait4_args wait4_args; - - wait4_args.pid = args->pid; - wait4_args.status = args->status; - wait4_args.options = args->options; - wait4_args.rusage = NULL; + struct linux_wait4_args wait4_args = { + .pid = args->pid, + .status = args->status, + .options = args->options, + .rusage = NULL, + }; return (linux_wait4(td, &wait4_args)); } From nobody Fri Feb 3 16:17:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7gmc1sM2z3kTj0; Fri, 3 Feb 2023 16:17: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 4P7gmc12hbz3pVF; Fri, 3 Feb 2023 16:17:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675441072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dh9bAQU+WD/A0jNAHvknYFt/NOjsmgunTkEBtDZnYts=; b=lq7L9dHP4IwUX1B9RT9F8xoesMdokjHQgolYgPQJSbbRl8KIYPlLK7SEJlwrLy+fDF4nsT YZ4XJRDOYHXcAeF913dqSc6wd7HR2a3aJqBj3AzqBeWzIBhfJEUAk5r5I0t0KHGk3+14Fd ZMtnRwzbbo76/LKDfzGeXRCmUFJwlpOpY+70Cf1K3zyUth5EcPZSMeQQNpxLGHOM5EzYi5 pUFmD+6S+8vBUwCuqlK/CipVHRZkg7vkPPlnEE2eMHlVAYoaJMlmZhTOXi53GQtlIMhBu5 Q/25mXvQA2P95lp/K6r61JcSNnkxh1ekJZv5zUKnxDfHPMZey7dwROlhxlQQPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675441072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dh9bAQU+WD/A0jNAHvknYFt/NOjsmgunTkEBtDZnYts=; b=rI+rcLt1jVVZzdXpKuRFG/MzufYrtc/Bls5N4PESEPrrPxH4vhpJ7/oMF7W9Gzn9mqj627 TTWPMT5I/IV1bpa8V6T1ifYpFIgIU46xHr6B5vR1OpTh1GlVIZXHpWDtyy5hTrWJAEx4x4 jgYSBhF7drsVqZHO7N6CssWNcStG+DvTH0tlTA5y2oRGSeYnpvSDunkLgydYoP7/xD0JdL 0+2cc4/raHT4yLNw098Z465qnsUCdpnnOxeEJjbCufudD1uW8sn7ftIjGxUrP4mKVcw7+o lE/NsPRbyHwa5UUuU+O9Og+ZcsogRwJlI1CaRAIk0wb8uqJ5lKfxAoH6FgV6hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675441072; a=rsa-sha256; cv=none; b=GS2J8febrMxZeM6Cgtfn2+HWjvCI683EBgX4iw0LQR5w7M/nKcx2fsh5VVYTSlxgkpM875 yjWJ1RBHPBCg38Wf9uIVxDWcfdMsvsdMLl8Cu+Mbu7txUfx1VLaTASoiTJQT7KRFrn56ro UIz14VCN+9GVoEX1rggaUbP51wXNphnPtZob0xBLUMuOkuV/XdmlSAmNeawRD2uDQjLowx C/Rqeslr90gA+nvTAeb6fMGW1HjunMVP6t1xiH8Ib6nLISVZsNQ60in0jkw/srHr/MjSRE DHyxKSzEJr2FyGrUaHZN3TJR4ue6wjORxzCIcVHFNMFmthdosnwQJI8lLxrFmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7gmb74WFzgv6; Fri, 3 Feb 2023 16:17:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313GHp3v057542; Fri, 3 Feb 2023 16:17:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313GHpa1057541; Fri, 3 Feb 2023 16:17:51 GMT (envelope-from git) Date: Fri, 3 Feb 2023 16:17:51 GMT Message-Id: <202302031617.313GHpa1057541@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: eb08932156dc - main - linux(4): Microoptimize linux_ipc code to unindent else blocks. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: eb08932156dc5801418924cf0bf9f167b15f7bf0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=eb08932156dc5801418924cf0bf9f167b15f7bf0 commit eb08932156dc5801418924cf0bf9f167b15f7bf0 Author: Dmitry Chagin AuthorDate: 2023-02-03 16:17:34 +0000 Commit: Dmitry Chagin CommitDate: 2023-02-03 16:17:34 +0000 linux(4): Microoptimize linux_ipc code to unindent else blocks. No functional change. MFC after: 1 week --- sys/compat/linux/linux_ipc.c | 226 ++++++++++++++++++++----------------------- 1 file changed, 103 insertions(+), 123 deletions(-) diff --git a/sys/compat/linux/linux_ipc.c b/sys/compat/linux/linux_ipc.c index 8c40d7505da5..134e353122c1 100644 --- a/sys/compat/linux/linux_ipc.c +++ b/sys/compat/linux/linux_ipc.c @@ -305,22 +305,20 @@ linux_msqid_pullup(l_int ver, struct l_msqid64_ds *linux_msqid64, caddr_t uaddr) if (ver == LINUX_IPC_64 || SV_CURPROC_FLAG(SV_LP64)) return (copyin(uaddr, linux_msqid64, sizeof(*linux_msqid64))); - else { - error = copyin(uaddr, &linux_msqid, sizeof(linux_msqid)); - if (error != 0) - return (error); - bzero(linux_msqid64, sizeof(*linux_msqid64)); + error = copyin(uaddr, &linux_msqid, sizeof(linux_msqid)); + if (error != 0) + return (error); - linux_msqid64->msg_perm.uid = linux_msqid.msg_perm.uid; - linux_msqid64->msg_perm.gid = linux_msqid.msg_perm.gid; - linux_msqid64->msg_perm.mode = linux_msqid.msg_perm.mode; - if (linux_msqid.msg_qbytes == 0) - linux_msqid64->msg_qbytes = linux_msqid.msg_lqbytes; - else - linux_msqid64->msg_qbytes = linux_msqid.msg_qbytes; - return (0); - } + bzero(linux_msqid64, sizeof(*linux_msqid64)); + linux_msqid64->msg_perm.uid = linux_msqid.msg_perm.uid; + linux_msqid64->msg_perm.gid = linux_msqid.msg_perm.gid; + linux_msqid64->msg_perm.mode = linux_msqid.msg_perm.mode; + if (linux_msqid.msg_qbytes == 0) + linux_msqid64->msg_qbytes = linux_msqid.msg_lqbytes; + else + linux_msqid64->msg_qbytes = linux_msqid.msg_qbytes; + return (0); } static int @@ -331,43 +329,40 @@ linux_msqid_pushdown(l_int ver, struct l_msqid64_ds *linux_msqid64, caddr_t uadd if (ver == LINUX_IPC_64 || SV_CURPROC_FLAG(SV_LP64)) return (copyout(linux_msqid64, uaddr, sizeof(*linux_msqid64))); - else { - bzero(&linux_msqid, sizeof(linux_msqid)); - error = linux_ipc64_perm_to_ipc_perm(&linux_msqid64->msg_perm, - &linux_msqid.msg_perm); - if (error != 0) - return (error); + bzero(&linux_msqid, sizeof(linux_msqid)); + error = linux_ipc64_perm_to_ipc_perm(&linux_msqid64->msg_perm, + &linux_msqid.msg_perm); + if (error != 0) + return (error); - linux_msqid.msg_stime = linux_msqid64->msg_stime; - linux_msqid.msg_rtime = linux_msqid64->msg_rtime; - linux_msqid.msg_ctime = linux_msqid64->msg_ctime; - - if (linux_msqid64->msg_cbytes > USHRT_MAX) - linux_msqid.msg_cbytes = USHRT_MAX; - else - linux_msqid.msg_cbytes = linux_msqid64->msg_cbytes; - linux_msqid.msg_lcbytes = linux_msqid64->msg_cbytes; - if (linux_msqid64->msg_qnum > USHRT_MAX) - linux_msqid.msg_qnum = USHRT_MAX; - else - linux_msqid.msg_qnum = linux_msqid64->msg_qnum; - if (linux_msqid64->msg_qbytes > USHRT_MAX) - linux_msqid.msg_qbytes = USHRT_MAX; - else - linux_msqid.msg_qbytes = linux_msqid64->msg_qbytes; - linux_msqid.msg_lqbytes = linux_msqid64->msg_qbytes; - linux_msqid.msg_lspid = linux_msqid64->msg_lspid; - linux_msqid.msg_lrpid = linux_msqid64->msg_lrpid; - - /* Linux does not check overflow */ - if (linux_msqid.msg_stime != linux_msqid64->msg_stime || - linux_msqid.msg_rtime != linux_msqid64->msg_rtime || - linux_msqid.msg_ctime != linux_msqid64->msg_ctime) - return (EOVERFLOW); - - return (copyout(&linux_msqid, uaddr, sizeof(linux_msqid))); - } + linux_msqid.msg_stime = linux_msqid64->msg_stime; + linux_msqid.msg_rtime = linux_msqid64->msg_rtime; + linux_msqid.msg_ctime = linux_msqid64->msg_ctime; + + if (linux_msqid64->msg_cbytes > USHRT_MAX) + linux_msqid.msg_cbytes = USHRT_MAX; + else + linux_msqid.msg_cbytes = linux_msqid64->msg_cbytes; + linux_msqid.msg_lcbytes = linux_msqid64->msg_cbytes; + if (linux_msqid64->msg_qnum > USHRT_MAX) + linux_msqid.msg_qnum = USHRT_MAX; + else + linux_msqid.msg_qnum = linux_msqid64->msg_qnum; + if (linux_msqid64->msg_qbytes > USHRT_MAX) + linux_msqid.msg_qbytes = USHRT_MAX; + else + linux_msqid.msg_qbytes = linux_msqid64->msg_qbytes; + linux_msqid.msg_lqbytes = linux_msqid64->msg_qbytes; + linux_msqid.msg_lspid = linux_msqid64->msg_lspid; + linux_msqid.msg_lrpid = linux_msqid64->msg_lrpid; + + /* Linux does not check overflow */ + if (linux_msqid.msg_stime != linux_msqid64->msg_stime || + linux_msqid.msg_rtime != linux_msqid64->msg_rtime || + linux_msqid.msg_ctime != linux_msqid64->msg_ctime) + return (EOVERFLOW); + return (copyout(&linux_msqid, uaddr, sizeof(linux_msqid))); } static int @@ -378,18 +373,15 @@ linux_semid_pullup(l_int ver, struct l_semid64_ds *linux_semid64, caddr_t uaddr) if (ver == LINUX_IPC_64 || SV_CURPROC_FLAG(SV_LP64)) return (copyin(uaddr, linux_semid64, sizeof(*linux_semid64))); - else { - error = copyin(uaddr, &linux_semid, sizeof(linux_semid)); - if (error != 0) - return (error); - - bzero(linux_semid64, sizeof(*linux_semid64)); + error = copyin(uaddr, &linux_semid, sizeof(linux_semid)); + if (error != 0) + return (error); - linux_semid64->sem_perm.uid = linux_semid.sem_perm.uid; - linux_semid64->sem_perm.gid = linux_semid.sem_perm.gid; - linux_semid64->sem_perm.mode = linux_semid.sem_perm.mode; - return (0); - } + bzero(linux_semid64, sizeof(*linux_semid64)); + linux_semid64->sem_perm.uid = linux_semid.sem_perm.uid; + linux_semid64->sem_perm.gid = linux_semid.sem_perm.gid; + linux_semid64->sem_perm.mode = linux_semid.sem_perm.mode; + return (0); } static int @@ -400,26 +392,23 @@ linux_semid_pushdown(l_int ver, struct l_semid64_ds *linux_semid64, caddr_t uadd if (ver == LINUX_IPC_64 || SV_CURPROC_FLAG(SV_LP64)) return (copyout(linux_semid64, uaddr, sizeof(*linux_semid64))); - else { - bzero(&linux_semid, sizeof(linux_semid)); + bzero(&linux_semid, sizeof(linux_semid)); error = linux_ipc64_perm_to_ipc_perm(&linux_semid64->sem_perm, - &linux_semid.sem_perm); - if (error != 0) - return (error); - - linux_semid.sem_otime = linux_semid64->sem_otime; - linux_semid.sem_ctime = linux_semid64->sem_ctime; - linux_semid.sem_nsems = linux_semid64->sem_nsems; + &linux_semid.sem_perm); + if (error != 0) + return (error); - /* Linux does not check overflow */ - if (linux_semid.sem_otime != linux_semid64->sem_otime || - linux_semid.sem_ctime != linux_semid64->sem_ctime || - linux_semid.sem_nsems != linux_semid64->sem_nsems) - return (EOVERFLOW); + linux_semid.sem_otime = linux_semid64->sem_otime; + linux_semid.sem_ctime = linux_semid64->sem_ctime; + linux_semid.sem_nsems = linux_semid64->sem_nsems; - return (copyout(&linux_semid, uaddr, sizeof(linux_semid))); - } + /* Linux does not check overflow */ + if (linux_semid.sem_otime != linux_semid64->sem_otime || + linux_semid.sem_ctime != linux_semid64->sem_ctime || + linux_semid.sem_nsems != linux_semid64->sem_nsems) + return (EOVERFLOW); + return (copyout(&linux_semid, uaddr, sizeof(linux_semid))); } static int @@ -430,18 +419,16 @@ linux_shmid_pullup(l_int ver, struct l_shmid64_ds *linux_shmid64, caddr_t uaddr) if (ver == LINUX_IPC_64 || SV_CURPROC_FLAG(SV_LP64)) return (copyin(uaddr, linux_shmid64, sizeof(*linux_shmid64))); - else { - error = copyin(uaddr, &linux_shmid, sizeof(linux_shmid)); - if (error != 0) - return (error); - bzero(linux_shmid64, sizeof(*linux_shmid64)); + error = copyin(uaddr, &linux_shmid, sizeof(linux_shmid)); + if (error != 0) + return (error); - linux_shmid64->shm_perm.uid = linux_shmid.shm_perm.uid; - linux_shmid64->shm_perm.gid = linux_shmid.shm_perm.gid; - linux_shmid64->shm_perm.mode = linux_shmid.shm_perm.mode; - return (0); - } + bzero(linux_shmid64, sizeof(*linux_shmid64)); + linux_shmid64->shm_perm.uid = linux_shmid.shm_perm.uid; + linux_shmid64->shm_perm.gid = linux_shmid.shm_perm.gid; + linux_shmid64->shm_perm.mode = linux_shmid.shm_perm.mode; + return (0); } static int @@ -452,34 +439,31 @@ linux_shmid_pushdown(l_int ver, struct l_shmid64_ds *linux_shmid64, caddr_t uadd if (ver == LINUX_IPC_64 || SV_CURPROC_FLAG(SV_LP64)) return (copyout(linux_shmid64, uaddr, sizeof(*linux_shmid64))); - else { - bzero(&linux_shmid, sizeof(linux_shmid)); - error = linux_ipc64_perm_to_ipc_perm(&linux_shmid64->shm_perm, - &linux_shmid.shm_perm); - if (error != 0) - return (error); + bzero(&linux_shmid, sizeof(linux_shmid)); + error = linux_ipc64_perm_to_ipc_perm(&linux_shmid64->shm_perm, + &linux_shmid.shm_perm); + if (error != 0) + return (error); - linux_shmid.shm_segsz = linux_shmid64->shm_segsz; - linux_shmid.shm_atime = linux_shmid64->shm_atime; - linux_shmid.shm_dtime = linux_shmid64->shm_dtime; - linux_shmid.shm_ctime = linux_shmid64->shm_ctime; - linux_shmid.shm_cpid = linux_shmid64->shm_cpid; - linux_shmid.shm_lpid = linux_shmid64->shm_lpid; - linux_shmid.shm_nattch = linux_shmid64->shm_nattch; - - /* Linux does not check overflow */ - if (linux_shmid.shm_segsz != linux_shmid64->shm_segsz || - linux_shmid.shm_atime != linux_shmid64->shm_atime || - linux_shmid.shm_dtime != linux_shmid64->shm_dtime || - linux_shmid.shm_ctime != linux_shmid64->shm_ctime || - linux_shmid.shm_cpid != linux_shmid64->shm_cpid || - linux_shmid.shm_lpid != linux_shmid64->shm_lpid || - linux_shmid.shm_nattch != linux_shmid64->shm_nattch) - return (EOVERFLOW); - - return (copyout(&linux_shmid, uaddr, sizeof(linux_shmid))); - } + linux_shmid.shm_segsz = linux_shmid64->shm_segsz; + linux_shmid.shm_atime = linux_shmid64->shm_atime; + linux_shmid.shm_dtime = linux_shmid64->shm_dtime; + linux_shmid.shm_ctime = linux_shmid64->shm_ctime; + linux_shmid.shm_cpid = linux_shmid64->shm_cpid; + linux_shmid.shm_lpid = linux_shmid64->shm_lpid; + linux_shmid.shm_nattch = linux_shmid64->shm_nattch; + + /* Linux does not check overflow */ + if (linux_shmid.shm_segsz != linux_shmid64->shm_segsz || + linux_shmid.shm_atime != linux_shmid64->shm_atime || + linux_shmid.shm_dtime != linux_shmid64->shm_dtime || + linux_shmid.shm_ctime != linux_shmid64->shm_ctime || + linux_shmid.shm_cpid != linux_shmid64->shm_cpid || + linux_shmid.shm_lpid != linux_shmid64->shm_lpid || + linux_shmid.shm_nattch != linux_shmid64->shm_nattch) + return (EOVERFLOW); + return (copyout(&linux_shmid, uaddr, sizeof(linux_shmid))); } static int @@ -491,18 +475,14 @@ linux_shminfo_pushdown(l_int ver, struct l_shminfo64 *linux_shminfo64, if (ver == LINUX_IPC_64 || SV_CURPROC_FLAG(SV_LP64)) return (copyout(linux_shminfo64, uaddr, sizeof(*linux_shminfo64))); - else { - bzero(&linux_shminfo, sizeof(linux_shminfo)); - linux_shminfo.shmmax = linux_shminfo64->shmmax; - linux_shminfo.shmmin = linux_shminfo64->shmmin; - linux_shminfo.shmmni = linux_shminfo64->shmmni; - linux_shminfo.shmseg = linux_shminfo64->shmseg; - linux_shminfo.shmall = linux_shminfo64->shmall; - - return (copyout(&linux_shminfo, uaddr, - sizeof(linux_shminfo))); - } + bzero(&linux_shminfo, sizeof(linux_shminfo)); + linux_shminfo.shmmax = linux_shminfo64->shmmax; + linux_shminfo.shmmin = linux_shminfo64->shmmin; + linux_shminfo.shmmni = linux_shminfo64->shmmni; + linux_shminfo.shmseg = linux_shminfo64->shmseg; + linux_shminfo.shmall = linux_shminfo64->shmall; + return (copyout(&linux_shminfo, uaddr, sizeof(linux_shminfo))); } #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) From nobody Fri Feb 3 16:30:25 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7h3D6Vn5z3kVGh; Fri, 3 Feb 2023 16:30:32 +0000 (UTC) (envelope-from kevans@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 4P7h3D64ybz3rqP; Fri, 3 Feb 2023 16:30:32 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675441832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FzeKKow/KEa2nBfgmN1ijejISVgbri/ykMYDXMpfja0=; b=dLYxPcTVBTJg8kFzTeeCOltJp27fGmES+ednbPeVmbhtzb7AX1H2D/ph8rM1Q7+WOdqbm6 wNRCef+NIcj+dFWnnTHkYMn8gYU5MDwqMjprWxhvsgNST+gdE0zUmKqPj2EkfGpF6sULlU qimdGF2Fk/1CZGKLy77rqNEtLxPNsxiBBWkAOmBaAl+Y4iiNcc0sYBoNjL5g36IK6gR51I zVj7TuJpCkwPYyGUZfVmVAFWpTiiJrdEb7InHKsUgqNBZIcBr71ES8u68PTcT5G3tyTqIf jra4v6ltMK0/ylB7OsZH4ntYp3aMoiZsRPOCMrdsXHtN+aowVyXLV75iF6y86g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675441832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FzeKKow/KEa2nBfgmN1ijejISVgbri/ykMYDXMpfja0=; b=xOkluD7EiJmLlzWFKHO++MlT6EZJC7v0ly7SQecBoyqI40HISfp4AYeyJhtr2q6UB7JBy/ aHkC8jYfb/EY/N1o9bnjik16SLuAgjZxlBURcuuVE/dwHES+xszI7zXjbUAwKBURKBocIQ PxHtQyVAWJCDKKYxA1pEM3geTggcrylOcKFZexxBwhSjwRO2PnaA2ujiP8ii0MdTxelaCa Zy2YNdjUfmns0jFF4DGWkhZR+zcPBpgI+6dacmxYDoOA8pK2f5iiEK78aTQbEKFmWnozJN eeGoxSt9ijGqD3cNOge9eywMO1zdGL80zykxcCqtmqcd6emAwmkJdhbGa7SO2Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675441832; a=rsa-sha256; cv=none; b=BT1Vj8vqrBjWIuoJNdHFjOVhNkAEp6hz/Wfi+y7Ul7eDunDY5ZDhLOks/D+JbritoouPpr J5PfGolu0Gq1NyowKcDqfOO8HOavRLO57AzXQ/anVyFG7XhVreo/Ud54OSgqlWWuQkNIFi 81Of2p1sT5twjTrkM6r2cs9qVmWDH2Yn3QRADeBsOUY9zTpS3IirtPsO+Eo4sag+VK9F2i UkYEAX3b24yLqgD7xmflDnLlcQtqL62pYBFwSDvM859wj/yHXXHPlxXTco5nf+BZHhb4k2 grqU9ddd+XU9OqKyDwP4n98iRJVzo2YD1lj1RZGAeJTSy4DP9pWMFu+gYZRLAQ== Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7h3D4y7Bz11HB; Fri, 3 Feb 2023 16:30:32 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f177.google.com with SMTP id j22so2677137qka.0; Fri, 03 Feb 2023 08:30:32 -0800 (PST) X-Gm-Message-State: AO0yUKX93ds+NVMkSPHRYgg+QH021D3+8xoh3htT35QmYQ8W6Q3nRKf2 wSSFq7FRkMgAYxXCN4YDxvO7i+6SfOQeS22hEwY= X-Google-Smtp-Source: AK7set8ao31XvgWqyXJJ1s4FhzpUH4ico/6rpNSKrcWcYXG8Hprq/4Gb/kDDUWay81WFVpESTH7yRWfuYpDok+IKZug= X-Received: by 2002:a05:620a:530b:b0:702:2d7d:99c8 with SMTP id oo11-20020a05620a530b00b007022d7d99c8mr857725qkn.53.1675441832095; Fri, 03 Feb 2023 08:30:32 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202302031558.313Fw2sJ051540@gndrsh.dnsmgr.net> <86lele3f6c.fsf@ltc.des.no> <86edr63ert.fsf@ltc.des.no> In-Reply-To: <86edr63ert.fsf@ltc.des.no> From: Kyle Evans Date: Fri, 3 Feb 2023 10:30:25 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: cb96a0ef0040 - main - cp: Minor code cleanup. To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: "Rodney W. Grimes" , rgrimes@freebsd.org, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N On Fri, Feb 3, 2023 at 10:16 AM Dag-Erling Sm=C3=B8rgrav = wrote: > > Kyle Evans writes: > > fts_read() doesn't always set errno to 0; notably, there's a number of > > FCHDIR() paths that don't set errno (and the change that added it > > mentions that scenario exactly) and will return NULL because of an > > error. > > The man page says it does, and as far as I can tell from the code it > does. Can you please provide a test case? > Ahh, I missed that FTS_NOCHDIR is set here. From nobody Fri Feb 3 16:41:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7hJ853K2z3kW3D; Fri, 3 Feb 2023 16:41:44 +0000 (UTC) (envelope-from kevans@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 4P7hJ84c1hz3svB; Fri, 3 Feb 2023 16:41:44 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675442504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BmmHuh3Es7Sgbad0tCW9R8jOt+6RRGQNKhCJ0YfcxWE=; b=TUTE7wFBAhTcyXdpRCKZh366Vl7f22AzbXuAP34qJbOlMgK/ng5hwUZjlkkPOPLwK05qWO ffU5gOV2mwzU0Bk7sDyuVS0/OCM0Ku+A+WvicA7RyaWQ8NU6px3bY+Os11AVMwm47C2CmK 1N2yayetLHqlbczTxUG6C3BAn7G6UXzMrONHIyxdn89WDE9j4Mt0lTJ2oRK/jcpVgvSu7t /jOX2bOqL4NXdo0bdD6aar1UiDtWGGmu60wdTGuS+nGvZDvAMf8f5UaWfdy4kZqjJOJoIY BFdIfVweuHpso2Oj9N1wTd3vFq84LUL8KR09IbP//c7Ftou1kte5I11C18tJkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675442504; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BmmHuh3Es7Sgbad0tCW9R8jOt+6RRGQNKhCJ0YfcxWE=; b=XAg5uwHFndM9p1mCnB6pu2lyHicPAo2MxBhAl4UAqnIk/1zVp4xdqg3lvlyMsJ6rLjsyG/ b+aNxjg6m40Pk9nzQ+Wz4HbtKUlqwdZWv/g9JsyQKKvK4r6TxGjZGTOyHz0/LujY9rws2z qRNsyf1FrNOxdUq90sauZ5EWPIN905dGC71T+1ZkZDQTEPZxjU+ZCvHAmcQVbu2CR16VRN 49Nm35ot7wX08mEGxkQIIgZEVoaDLumbMmyEhy3znd1k4N3PgoC4RaHYUcd3PH0Iubu86N YjLLHo1hJrWxLnCEYPHmpoxRpEd41MoMXDDQlUQ/6YxggNi35AfR8ZdZYFCpQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675442504; a=rsa-sha256; cv=none; b=k4SYAnp8VOednJ4HMXQdSyP80avf4Lh+z8jeN/0EXeXCcqCa3cVLxReCfigtHsUIBofcge pFP7nrkQtdgFV8FUny0vOykSz4CktyQhDBZqkqB1GpEYW38+0xGzG7iFoedyMkM9pMfLny Gzhi4oIVe94TKu43AYNuunwDnzA7FMTiD99GZWgGONCzTrXU6PiD7Qg33IllrSgFLEI1fE W3ZloIbt18a0XXlU4R/dTyEBU2oue6Mpdgsrc+C8Mgfk7ize6JyUEAVR1atc4tphQFWhfC JiVuMIgQSQlspZXvkRUemYA2lWOwPv8S7h2jKulsT9wIdCDxhLG82BeTbVZj7g== Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P7hJ83Xmyz11hH; Fri, 3 Feb 2023 16:41:44 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f179.google.com with SMTP id bb40so6103541qtb.2; Fri, 03 Feb 2023 08:41:44 -0800 (PST) X-Gm-Message-State: AO0yUKXFnpzsjZpyi6rDSFim34rIKnSoPS3QOrdqzDrKi9KR/4WK/xqM PwdBv66anhV2ewaKg4ZSy6QK5a6IjZqz8sO5xP0= X-Google-Smtp-Source: AK7set++4ipCqqCMk3owMjqvjNH2ax5lvpgiVawAlPGTR/EylzjdGnDCOwiTjugRRt2+FDHzlTEPELlvSUUhg41Px80= X-Received: by 2002:a05:622a:50a:b0:3b8:6bd1:950f with SMTP id l10-20020a05622a050a00b003b86bd1950fmr1173942qtx.128.1675442503944; Fri, 03 Feb 2023 08:41:43 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202302031558.313Fw2sJ051540@gndrsh.dnsmgr.net> <86lele3f6c.fsf@ltc.des.no> <86edr63ert.fsf@ltc.des.no> In-Reply-To: From: Kyle Evans Date: Fri, 3 Feb 2023 10:41:36 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: cb96a0ef0040 - main - cp: Minor code cleanup. To: Kyle Evans Cc: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= , "Rodney W. Grimes" , rgrimes@freebsd.org, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N On Fri, Feb 3, 2023 at 10:30 AM Kyle Evans wrote: > > On Fri, Feb 3, 2023 at 10:16 AM Dag-Erling Sm=C3=B8rgrav wrote: > > > > Kyle Evans writes: > > > fts_read() doesn't always set errno to 0; notably, there's a number o= f > > > FCHDIR() paths that don't set errno (and the change that added it > > > mentions that scenario exactly) and will return NULL because of an > > > error. > > > > The man page says it does, and as far as I can tell from the code it > > does. Can you please provide a test case? > > > > Ahh, I missed that FTS_NOCHDIR is set here. (among other things I missed, but it's irrelevant because i withdraw previous commentary anyways due to overlooking many many details) From nobody Fri Feb 3 16:50:31 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7hVH6ks3z3kW1l; Fri, 3 Feb 2023 16:50: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 4P7hVH65cZz3tL5; Fri, 3 Feb 2023 16:50:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YERnMaj7lgslK3JafaP9Z1IKbndVaKkfEl73UoqfnMs=; b=RBVOYKuoWx/2Mz2gwdeFeUhtzfWCiFfGm5ifGwrPE5/w5fn1dB/q02zRrPpMiLl3hh+VEO pi3aOSDJfjg4zA4yNsisf+z8U+rVIwuKd7IwWC5mbnVKS8EeNCHen86+f4EvzHnK6AgAul dWXQMbYl+NCXthTXFkPK4MdbhsnMC67NVlFNYk7KioPhUVcjZ7a6WjE8vTbW8OoklMCbFa gh4zmhbnQpCryz6UDFUM7W59HsGZQONMDI3LusPv3qqSKFb+SPM2LvWXmB23YEJWH0HKCA 39aWEH2+y0vX5/5VbhUNm/jSFhuAd4aksWBkTc8nsMBfvGYZI/qpTMGdDFS+Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YERnMaj7lgslK3JafaP9Z1IKbndVaKkfEl73UoqfnMs=; b=aDnorSCmnewL8sod1ZTinxrDgPYWEXZzFPC7YiYXWDsI4WmyZ1nDDQ3sBIkGz1u1AyHz5i gMRB0lduEl0YvNenvr8JmnPqo6aQAPd6jsO0QK5kb03iw7o93nfd6NyCB/R0cg1v9qg21W CGdGMJ8PzrViGFE9ypotghuocnvx4t3Xbr7oG5F64gN31/TFykiiR6OyRzxp5Wt1r3+6tX RzGHhpdDN0Q0+BhrVIEJtCYyelRi7L5whINpR0xEU0f0LGg9ZZYvX0fynWMjyoJGv+1f31 zzvQk6GlnV29+e8/AV8Gh/UUEp73NCqaKCX94zGug7A2hym9FvMfVrnazA9MdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675443031; a=rsa-sha256; cv=none; b=er3yZLenQ5xy+ZKkZWICAUq4Z9ynK70bdQ3J/HrNcPPLCinrsSCfQV7XnYpptrxsTDOe7O oo9CCuI2vHbG87pQPsIiO5qDoA8uVTjNv8pkFRTGG56Zm3UAH4RBTqxZYfv1dO/J0WSWuK qWauZQeBlVskY+R2fjVgeZUs9p4Q1AI0IQ4b/ZBEVStZZfk9zHqQgG/zbaOik90aTcwwwO tKffb+mZPGOWxSYmqFHgy0hEe2rR72JshPyazIH0d0AzgKklHRi1tD7fvs+z7k/oIo9hwn nHN0mQBSsXiVljajvZsJPSIo8IjpkZgr8u2CAQCCb5LN9BUqAh1ctWDrJHFxNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7hVH59B9zhlp; Fri, 3 Feb 2023 16:50:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313GoVgR009061; Fri, 3 Feb 2023 16:50:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313GoVqE009060; Fri, 3 Feb 2023 16:50:31 GMT (envelope-from git) Date: Fri, 3 Feb 2023 16:50:31 GMT Message-Id: <202302031650.313GoVqE009060@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 26d105199ec8 - main - libc: Fall back to rdtsc when using pvclock and rdtscp is not available List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26d105199ec89d6eaec8a9ca70e3b05ca65e3aac Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=26d105199ec89d6eaec8a9ca70e3b05ca65e3aac commit 26d105199ec89d6eaec8a9ca70e3b05ca65e3aac Author: Mark Johnston AuthorDate: 2023-02-03 15:53:20 +0000 Commit: Mark Johnston CommitDate: 2023-02-03 16:47:11 +0000 libc: Fall back to rdtsc when using pvclock and rdtscp is not available In preparation for a follow-up revision wherein kvmclock may export timekeeping info to userspace even in the absence of AMDID_RDTSCP, fall back to using rdtsc when rdtscp isn't available. This mimics pvclock_read_time_info() in the kernel. Reviewed by: kib Tested by: Shrikanth R Kamath MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38341 --- lib/libc/x86/sys/__vdso_gettc.c | 42 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/lib/libc/x86/sys/__vdso_gettc.c b/lib/libc/x86/sys/__vdso_gettc.c index b3f3de9f4203..7159d46c0113 100644 --- a/lib/libc/x86/sys/__vdso_gettc.c +++ b/lib/libc/x86/sys/__vdso_gettc.c @@ -101,6 +101,13 @@ rdtsc32_mb_lfence(void) return (rdtsc32()); } +static uint64_t +rdtsc_mb_lfence(void) +{ + lfence(); + return (rdtsc()); +} + static u_int rdtsc32_mb_mfence(void) { @@ -108,38 +115,62 @@ rdtsc32_mb_mfence(void) return (rdtsc32()); } +static uint64_t +rdtsc_mb_mfence(void) +{ + mfence(); + return (rdtsc()); +} + static u_int rdtsc32_mb_none(void) { return (rdtsc32()); } +static uint64_t +rdtsc_mb_none(void) +{ + return (rdtsc()); +} + static u_int rdtscp32_(void) { return (rdtscp32()); } +static uint64_t +rdtscp_(void) +{ + return (rdtscp()); +} + struct tsc_selector_tag { u_int (*ts_rdtsc32)(void); + uint64_t (*ts_rdtsc)(void); u_int (*ts_rdtsc_low)(const struct vdso_timehands *); }; static const struct tsc_selector_tag tsc_selector[] = { [0] = { /* Intel, LFENCE */ .ts_rdtsc32 = rdtsc32_mb_lfence, + .ts_rdtsc = rdtsc_mb_lfence, .ts_rdtsc_low = rdtsc_low_mb_lfence, }, [1] = { /* AMD, MFENCE */ .ts_rdtsc32 = rdtsc32_mb_mfence, + .ts_rdtsc = rdtsc_mb_mfence, .ts_rdtsc_low = rdtsc_low_mb_mfence, }, [2] = { /* No SSE2 */ - .ts_rdtsc32 = rdtsc32_mb_none, - .ts_rdtsc_low = rdtsc_low_mb_none, + .ts_rdtsc32 = rdtsc32_mb_none, + .ts_rdtsc = rdtsc_mb_none, + .ts_rdtsc_low = rdtsc_low_mb_none, }, [3] = { /* RDTSCP */ .ts_rdtsc32 = rdtscp32_, + .ts_rdtsc = rdtscp_, .ts_rdtsc_low = rdtscp_low, }, }; @@ -193,6 +224,11 @@ DEFINE_UIFUNC(static, u_int, __vdso_gettc_rdtsc32, (void)) return (tsc_selector[tsc_selector_idx(cpu_feature)].ts_rdtsc32); } +DEFINE_UIFUNC(static, uint64_t, __vdso_gettc_rdtsc, (void)) +{ + return (tsc_selector[tsc_selector_idx(cpu_feature)].ts_rdtsc); +} + #define HPET_DEV_MAP_MAX 10 static volatile char *hpet_dev_map[HPET_DEV_MAP_MAX]; @@ -325,7 +361,7 @@ __vdso_pvclock_gettc(const struct vdso_timehands *th, u_int *tc) version = atomic_load_acq_32(&ti->version); stable = (ti->flags & th->th_x86_pvc_stable_mask) != 0; if (stable) { - tsc = rdtscp(); + tsc = __vdso_gettc_rdtsc(); } else { (void)rdtscp_aux(&cpuid_ti); ti = &pvclock_timeinfos[cpuid_ti]; From nobody Fri Feb 3 16:50:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7hVK02h7z3kWCx; Fri, 3 Feb 2023 16:50:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7hVJ6hdgz3tc4; Fri, 3 Feb 2023 16:50:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fg5XSaVt+utuS05LtUcobc8NF1RPf95THQe6wddRm6E=; b=rqZsVjM+ZY5tThNTuNH8/GX/FLdKG1fEjwow6nIN/V0iFviWbVBgVD6/Yfebnu+gJjcqiE reErNPZsI5MfmxAiisptQlx86toeZ1BxQ1nJRio84TBhmMhRgQlbcTRDqUfSUDVCop4mAl PsC0Q8VaU6bVWpI2pv0BvpRqz+SfENJC2OwzVeprbgXXq55qoGUNoBwJCL0o7aOTE7zQ2M GxZYZB4IA1qU77sT4Ljy8LfUTqv1MNLcUlRmi/KvJoyhrBkvfb/WUU23wDjR8mdiFQ0Sp1 0Ke6RGNo2qRCoUo40F+pzBi4P0PwjjxVk8sRNSrECQbrfMLWam8wud110yXPAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fg5XSaVt+utuS05LtUcobc8NF1RPf95THQe6wddRm6E=; b=XKJgXsQzFQHapplTb0dzwTiSGXydku/G0yEANrxs50ludtDF09svMG1Io7E7Jbtcm5JHg6 uSUZey+QgT0Srmv+Sp9DdqdGW2ovjTk0f8zeSrJ8tOMy/dlnffeFOMnfJRAUGqBLyv4hPb 4AnwvT2YG3WdbujryBI2vXGq9MRdtZPGglW1krwEZNvUnfNNFYpjaBf9t3q2xW1PqTObcY rYNkJVdeA9tDTGCWJBLPdcoC6UJb1mq19/m4M8UaxK6zGTr2yjOjPGaIXBLTsFz7W6xrl9 aH3g/LyTt4rfFKm17U0tGffarc0LmBAl2/yLOSdooA8E1MAhA6QksMbdNiSIdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675443032; a=rsa-sha256; cv=none; b=XoTfua8Wa9kDU1GoMHRApeC07IL/gF0cP/1DdfFvzbnHH51dN8j3jzDXMNYZRxUoD0GHe6 eBrbzQycAvWzBKRe+LXZANaMtWqrSJrZKIUFR1JLKczqSlBQVMw4vYhG3DWsdleZbhUcuv XZeUyDWQSh/govSBfrtbCdsaRd66gbcqj7FmvE6A97uSKcSAOZbrZYaR9Oxyan3gzNVgPH M1WO5j9ibpW9JothSz7NWA0MpyJk5wfyFntx2XDqCwXpdRqV5jkJbK8a+L4Q2bv9ezSEQV 2Q92MrvtLfVjkfdx29pWfbznRAwJLNsu4BYRywpujmIv5vE3PbjoEZ/hZKx7qA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7hVJ5lySzhxv; Fri, 3 Feb 2023 16:50:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313GoWHg009087; Fri, 3 Feb 2023 16:50:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313GoWfG009086; Fri, 3 Feb 2023 16:50:32 GMT (envelope-from git) Date: Fri, 3 Feb 2023 16:50:32 GMT Message-Id: <202302031650.313GoWfG009086@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 2bed14192cec - main - pvclock: Export a vDSO page even without rdtscp available List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2bed14192cec1abcdc4e02ca7b18dafd868095ef Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2bed14192cec1abcdc4e02ca7b18dafd868095ef commit 2bed14192cec1abcdc4e02ca7b18dafd868095ef Author: Mark Johnston AuthorDate: 2023-02-03 15:54:23 +0000 Commit: Mark Johnston CommitDate: 2023-02-03 16:48:25 +0000 pvclock: Export a vDSO page even without rdtscp available When the cycle counter is "stable", i.e., synchronized across vCPUs by the hypervisor, userspace can use a serialized rdtsc instead of relying on rdtscp, just like the kernel timecounter does. This can be useful for performance in guests where the hypervisor hides rdtscp for some reason. To avoid breaking compatibility with older userspace which expects rdtscp to be usable when pvclock exports timekeeping info, hide this feature behind a sysctl. Reviewed by: kib Tested by: Shrikanth R Kamath MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38342 --- sys/x86/include/pvclock.h | 1 + sys/x86/x86/pvclock.c | 26 ++++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/sys/x86/include/pvclock.h b/sys/x86/include/pvclock.h index 023acdb80d9c..1306f11fc960 100644 --- a/sys/x86/include/pvclock.h +++ b/sys/x86/include/pvclock.h @@ -121,6 +121,7 @@ struct pvclock { /* Private; initialized by the 'pvclock' API: */ bool vdso_force_unstable; + bool vdso_enable_without_rdtscp; struct timecounter tc; struct cdev *cdev; }; diff --git a/sys/x86/x86/pvclock.c b/sys/x86/x86/pvclock.c index cc2377bdbcf0..3da3373bb2ee 100644 --- a/sys/x86/x86/pvclock.c +++ b/sys/x86/x86/pvclock.c @@ -224,6 +224,9 @@ pvclock_tc_vdso_timehands(struct vdso_timehands *vdso_th, { struct pvclock *pvc = tc->tc_priv; + if (pvc->cdev == NULL) + return (0); + vdso_th->th_algo = VDSO_TH_ALGO_X86_PVCLK; vdso_th->th_x86_shift = 0; vdso_th->th_x86_hpet_idx = 0; @@ -232,7 +235,9 @@ pvclock_tc_vdso_timehands(struct vdso_timehands *vdso_th, vdso_th->th_x86_pvc_stable_mask = !pvc->vdso_force_unstable && pvc->stable_flag_supported ? PVCLOCK_FLAG_TSC_STABLE : 0; bzero(vdso_th->th_res, sizeof(vdso_th->th_res)); - return (pvc->cdev != NULL && amd_feature & AMDID_RDTSCP); + return ((amd_feature & AMDID_RDTSCP) != 0 || + ((vdso_th->th_x86_pvc_stable_mask & PVCLOCK_FLAG_TSC_STABLE) != 0 && + pvc->vdso_enable_without_rdtscp)); } #ifdef COMPAT_FREEBSD32 @@ -242,6 +247,9 @@ pvclock_tc_vdso_timehands32(struct vdso_timehands32 *vdso_th, { struct pvclock *pvc = tc->tc_priv; + if (pvc->cdev == NULL) + return (0); + vdso_th->th_algo = VDSO_TH_ALGO_X86_PVCLK; vdso_th->th_x86_shift = 0; vdso_th->th_x86_hpet_idx = 0; @@ -250,7 +258,9 @@ pvclock_tc_vdso_timehands32(struct vdso_timehands32 *vdso_th, vdso_th->th_x86_pvc_stable_mask = !pvc->vdso_force_unstable && pvc->stable_flag_supported ? PVCLOCK_FLAG_TSC_STABLE : 0; bzero(vdso_th->th_res, sizeof(vdso_th->th_res)); - return (pvc->cdev != NULL && amd_feature & AMDID_RDTSCP); + return ((amd_feature & AMDID_RDTSCP) != 0 || + ((vdso_th->th_x86_pvc_stable_mask & PVCLOCK_FLAG_TSC_STABLE) != 0 && + pvc->vdso_enable_without_rdtscp)); } #endif @@ -284,6 +294,18 @@ pvclock_init(struct pvclock *pvc, device_t dev, const char *tc_name, "vdso_force_unstable", CTLFLAG_RW, &pvc->vdso_force_unstable, 0, "Forcibly deassert stable flag in vDSO codepath"); + /* + * Make it possible to use the vDSO page even when the hypervisor does + * not support the rdtscp instruction. This is disabled by default for + * compatibility with old libc. + */ + pvc->vdso_enable_without_rdtscp = false; + SYSCTL_ADD_BOOL(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "vdso_enable_without_rdtscp", CTLFLAG_RWTUN, + &pvc->vdso_enable_without_rdtscp, 0, + "Allow the use of a vDSO when rdtscp is not available"); + /* Set up timecounter and timecounter-supporting members: */ pvc->tc.tc_get_timecount = pvclock_tc_get_timecount; pvc->tc.tc_poll_pps = NULL; From nobody Fri Feb 3 16:50:33 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7hVL3Lwsz3kWD4; Fri, 3 Feb 2023 16:50:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7hVL0nzLz3tjR; Fri, 3 Feb 2023 16:50:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4dw0ukH2H2R7Sj63TzJwOpJKmxkKhKkmD8jaPq50QYc=; b=SRO8aM41QdRGVfJ9Ne+H7EiCnUpA3aYz3iqEponOkfS8n6b3mzuWBcsq8hyLJkTTnR8G5w D1SDapcctTDFGaQ4f1noscUZTLZUZt5vEysQXCXt3pfcQpnFtEFkx/aKAKmn9oN7A+G9HR h2P/4xbcInp3MMgNKsmuu9X8FwNdvsezIs6ggq8hURMNApB6PAQOsD5Yd7Kgz1hhvqvFyj lDeJBv2WhQlHAOhHpuMTff1gjJlhs5yTVUMXA5QUYrCVN8ZURsSWO2sPxNr6p6IgbXvcnu 8YBhSrY78pc6QOMpMX4+IzxDb9LWOZ1O1TPKj+WrQBXC9zlsalzLaFweWaJjbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4dw0ukH2H2R7Sj63TzJwOpJKmxkKhKkmD8jaPq50QYc=; b=bIKLalzhRixUBaruOTY8Ud+9RVAYFPwRhFl2ibW6Mml5Zas42HZFn65BP3lvPfsz112O+u FehxRylrfG79Uxj9P2QBv9HDQGBGwm9Jxtw1KRFv7vqWdrzoeZq15El9e8FN3N0561/Pv+ OD2TPAoT1cQy5owJqDrOUsekTOAFxlTYxxVEbjfq6BAx0nmG2SQGT9fCK6kq5fDLe5Dldo TbHnBjaC0Hvczid9+u1+DO8dIRYYh9qo6iiZiEaecxUut8nuKa9gzDXrM37h/Ww3Ou0zJO P9JL6OfhIIrgssnqEuato7zyEy/tB3p4gNUw2dTqF5sl0fvQRMZ0C0QyUQaN1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675443034; a=rsa-sha256; cv=none; b=hfSDEc/CI9iHEj+TTaqUkyvIlkcg9vbbDYWxHyu9iYnU7i2hhrNLqceqUgRcmALOLHdUJG 0LiXFQPs68FV7EnjPW86m1kMbmg34JDe7VhT1xTOCTG7u9GBq2pIeCehghNjZghxzeSGCA rnNX66uLOXlsNmOUXxuLxMFq3tJpOPuOydgwXoNcwOq/BHFrrqUncNnQctVq92KLhiwmS2 Tyd1L2Ai8BwLofrNT5pjBIUVuAPudP28ZDYynAsUELhp+x2laVmjf84Sg0cvtLEo2oVjTm nSULNNo1yp5L2gZ9c8gjCpBkR/Z7yHIQtFeA1D0PS604ARbu11Vw2gJ67yW9Fw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7hVK6vqTzhv0; Fri, 3 Feb 2023 16:50:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313GoXeJ009111; Fri, 3 Feb 2023 16:50:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313GoXrl009110; Fri, 3 Feb 2023 16:50:33 GMT (envelope-from git) Date: Fri, 3 Feb 2023 16:50:33 GMT Message-Id: <202302031650.313GoXrl009110@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: a2286a1f4651 - main - man4: Add a manual page for kvmclock List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2286a1f4651f9369cacb82bb1777920f5a86fdc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=a2286a1f4651f9369cacb82bb1777920f5a86fdc commit a2286a1f4651f9369cacb82bb1777920f5a86fdc Author: Mark Johnston AuthorDate: 2023-02-03 15:54:50 +0000 Commit: Mark Johnston CommitDate: 2023-02-03 16:48:25 +0000 man4: Add a manual page for kvmclock Reviewed by: pauamma, imp, kib MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38343 --- share/man/man4/Makefile | 2 + share/man/man4/kvmclock.4 | 96 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index c54c3de1bf90..1c7703bdaeb2 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -271,6 +271,7 @@ MAN= aac.4 \ ktls.4 \ ktr.4 \ kue.4 \ + ${_kvmclock.4} \ lagg.4 \ le.4 \ led.4 \ @@ -824,6 +825,7 @@ _igc.4= igc.4 _imcsmb.4= imcsmb.4 _io.4= io.4 _itwd.4= itwd.4 +_kvmclock.4= kvmclock.4 _mgb.4= mgb.4 _nda.4= nda.4 _nfe.4= nfe.4 diff --git a/share/man/man4/kvmclock.4 b/share/man/man4/kvmclock.4 new file mode 100644 index 000000000000..55ee5fc1cb42 --- /dev/null +++ b/share/man/man4/kvmclock.4 @@ -0,0 +1,96 @@ +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2023 Klara, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd February 1, 2023 +.Dt KVMCLOCK 4 +.Os +.Sh NAME +.Nm kvmclock +.Nd Para-virtualized clock driver for x86 KVM guests +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device kvm_clock" +.Ed +.Sh DESCRIPTION +This driver reads time-keeping information from the para-virtualized clock +device provided by the KVM hypervisor on Linux hosts. +The +.Nm +driver is only implemented on i386 and amd64 platforms. +It acts as a +.Xr timecounters 4 +device and is preferred over the Time Stamp Counter (TSC) when available. +The driver exports timekeeping information via +.Pa /dev/pvclock , +enabling the implementation of +.Xr clock_gettime 2 +and related functions without entering the kernel. +.Pp +The +.Nm +driver works by accessing a per-vCPU timekeeping structure maintained by the +hypervisor. +It uses a combination of TSC readings and information from the shared structure +to produce a high-resolution timecounter which is invariant under hypervisor +events such as vCPU migration and live VM migration. +.Sh SYSCTL VARIABLES +The following variables are available as both +.Xr sysctl 8 +variables and +.Xr loader 8 +tunables: +.Bl -tag -width indent +.It Va dev.kvmclock.0.vdso_enable_without_rdtscp +By default, timekeeping information is exported to userspace only when the +(virtual) CPU announces support for the +.Dq rdtscp +instruction. +Setting this sysctl to 1 overrides this behavior, allowing timekeeping +information to be exported even in the absence of +.Dq rdtscp +support. +However, this breaks compatibility with copies of +.Pa /lib/libc.so.7 +released prior to +.Fx 14.0 , +and statically linked binaries which embed a copy of the system C library. +Thus, this sysctl value should not be changed if the system may execute +binaries older than +.Fx 14.0 . +.It Va dev.kvmclock.0.vdso_force_unstable +Mark the timecounter as unstable for userspace consumers. +This is mostly useful for debugging the driver and userspace timekeeping code, +and generally should not be touched. +.El +.Sh SEE ALSO +.Xr timecounters 4 +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 13.1 . From nobody Fri Feb 3 16:50:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7hVM46FYz3kW1w; Fri, 3 Feb 2023 16:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7hVM1g6kz3tr9; Fri, 3 Feb 2023 16:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DylXrVgoMpX8BhwodueZueeRjYjFeB5OC7PszcVEK5I=; b=w2VEm8ucNhSaCO86XmYxm8Q7sCEGFwr8mnCmIwwoiy3GjuqZjN5bphPAC4ePFn3kbzbv8C gcJaNSZRZD6FGKL1cEFqZyKVpIyitDyd9zmW5k0y0/Upvd54qXX2IKUuaprB4YkLtCWXtI vVZcXUcn9Ueqal9c+YZA01DeNxKlNHDGpX1iyF/rGatgKpvfz89J0j5JbgdoGWQMAbl/gM 4ay0rmZbwJx9cgJMuuV78TNDf/Ui9TYagMmnAUvG/dji+Yp948ukGpPNVf6HLZQdsjYbmo VXwHZVi9X2E1r3oIa39/al7mQtaedxwi6MaXrwUdOYyTk0vWMPv52jKrq+eYlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DylXrVgoMpX8BhwodueZueeRjYjFeB5OC7PszcVEK5I=; b=rajQT/T51mpedmxrZBdMeLNRTP+fcaHKKPahNIxohairD4vzc52EKQoUvWNTN+/m/LHeRW vK5VrMrV2taexgE5SDTw4mmYg12ytKVbS4eyZiXQFoKTv/1piLadA47KLUjnaEqPFCuYWd ZCKK/UR/FJogfnrG4Iuog70NlD34AkutKomFPyz4mlCpCMYNR/ve6V2hTBU5kO4aYTUIC5 dozzhyibdxXT6uv38pzRjz68nm7DQyJr71EC5gILgJ/AGH6Nwfw7UiCxdnLw3pBHz9VxX7 FWFXrB+UJo/zplKZRAdxNoC1H2oNWirpD63qixYyMM3kYvsr2I+U4bBp+o6SXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675443035; a=rsa-sha256; cv=none; b=qVGrji43fuefYgd/DwKdd5RVbzejShRdz3rTotbVTjp+WpNfaGBeDuTqItWtMIgld1Mq2m Mwq1MXZwcrx2NB4tyNw5wxyDCvKW8Nd7s7l7cfoItvzOJMadQ9z1iCSBfC+jBNhlcmbYxW newhUl+B+tyRPDH1nlBJewMA4N1onhJDckqBmHbRbIfmi7pr3nYfWmltKAZczItIPdtHSD XScjbE5QdIgnnWyvzAYECFp3+JQRQqeAywj0/5jM6ByrS4F83FRnLc/caCc7WgCy7TQXeN IHrIG6y4bZzOKMfMndBQdJUoAfDdvaSmO9lWgAbAAU7AxlM68k+3hqsq6ooAtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7hVM0mHVzhlq; Fri, 3 Feb 2023 16:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313GoZNF009135; Fri, 3 Feb 2023 16:50:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313GoZ8k009134; Fri, 3 Feb 2023 16:50:35 GMT (envelope-from git) Date: Fri, 3 Feb 2023 16:50:35 GMT Message-Id: <202302031650.313GoZ8k009134@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 5f03f96fbefb - main - shm: Document shm_create_largepage() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f03f96fbefbb5c68a5d7d06728ff5b4a05f87b0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5f03f96fbefbb5c68a5d7d06728ff5b4a05f87b0 commit 5f03f96fbefbb5c68a5d7d06728ff5b4a05f87b0 Author: Mark Johnston AuthorDate: 2023-02-03 15:55:30 +0000 Commit: Mark Johnston CommitDate: 2023-02-03 16:48:25 +0000 shm: Document shm_create_largepage() While here, move notes about FreeBSD-specific functionality to the COMPATIBILITY section, and document the ECAPMODE error for shm_open(). Reviewed by: pauamma, kib MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38282 --- lib/libc/sys/Makefile.inc | 1 + lib/libc/sys/shm_open.2 | 171 +++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 162 insertions(+), 10 deletions(-) diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc index 5e2c3da198b0..a86d7d160b6c 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -482,6 +482,7 @@ MLINKS+=setuid.2 setegid.2 \ setuid.2 setgid.2 MLINKS+=shmat.2 shmdt.2 MLINKS+=shm_open.2 memfd_create.3 \ + shm_open.2 shm_create_largepage.3 \ shm_open.2 shm_unlink.2 \ shm_open.2 shm_rename.2 MLINKS+=sigwaitinfo.2 sigtimedwait.2 diff --git a/lib/libc/sys/shm_open.2 b/lib/libc/sys/shm_open.2 index 4c03288b6bbe..a728bd0d4abf 100644 --- a/lib/libc/sys/shm_open.2 +++ b/lib/libc/sys/shm_open.2 @@ -28,11 +28,11 @@ .\" .\" $FreeBSD$ .\" -.Dd June 25, 2021 +.Dd January 30, 2023 .Dt SHM_OPEN 2 .Os .Sh NAME -.Nm memfd_create , shm_open , shm_rename, shm_unlink +.Nm memfd_create , shm_create_largepage , shm_open , shm_rename, shm_unlink .Nd "shared memory object operations" .Sh LIBRARY .Lb libc @@ -43,6 +43,14 @@ .Ft int .Fn memfd_create "const char *name" "unsigned int flags" .Ft int +.Fo shm_create_largepage +.Fa "const char *path" +.Fa "int flags" +.Fa "int psind" +.Fa "int alloc_policy" +.Fa "mode_t mode" +.Fc +.Ft int .Fn shm_open "const char *path" "int flags" "mode_t mode" .Ft int .Fn shm_rename "const char *path_from" "const char *path_to" "int flags" @@ -51,7 +59,7 @@ .Sh DESCRIPTION The .Fn shm_open -system call opens (or optionally creates) a +function opens (or optionally creates) a POSIX shared memory object named .Fa path . @@ -114,9 +122,7 @@ see and .Xr fcntl 2 . .Pp -As a -.Fx -extension, the constant +The constant .Dv SHM_ANON may be used for the .Fa path @@ -143,6 +149,131 @@ will fail with All other flags are ignored. .Pp The +.Fn shm_create_largepage +function behaves similarly to +.Fn shm_open , +except that the +.Dv O_CREAT +flag is implicitly specified, and the returned +.Dq largepage +object is always backed by aligned, physically contiguous chunks of memory. +This ensures that the object can be mapped using so-called +.Dq superpages , +which can improve application performance in some workloads by reducing the +number of translation lookaside buffer (TLB) entries required to access a +mapping of the object, +and by reducing the number of page faults performed when accessing a mapping. +This happens automatically for all largepage objects. +.Pp +An existing largepage object can be opened using the +.Fn shm_open +function. +Largepage shared memory objects behave slightly differently from non-largepage +objects: +.Bl -bullet -offset indent +.It +Memory for a largepage object is allocated when the object is +extended using the +.Xr ftruncate 2 +system call, whereas memory for regular shared memory objects is allocated +lazily and may be paged out to a swap device when not in use. +.It +The size of a mapping of a largepage object must be a multiple of the +underlying large page size. +Most attributes of such a mapping can only be modified at the granularity +of the large page size. +For example, when using +.Xr munmap 2 +to unmap a portion of a largepage object mapping, or when using +.Xr mprotect 2 +to adjust protections of a mapping of a largepage object, the starting address +must be large page size-aligned, and the length of the operation must be a +multiple of the large page size. +If not, the corresponding system call will fail and set +.Va errno +to +.Er EINVAL . +.El +.Pp +The +.Fa psind +argument to +.Fn shm_create_largepage +specifies the size of large pages used to back the object. +This argument is an index into the page sizes array returned by +.Xr getpagesizes 3 . +In particular, all large pages backing a largepage object must be of the +same size. +For example, on a system with large page sizes of 2MB and 1GB, a 2GB largepage +object will consist of either 1024 2MB pages, or 2 1GB pages, depending on +the value specified for the +.Fa psind +argument. +The +.Fa alloc_policy +parameter specifies what happens when an attempt to use +.Xr ftruncate 2 +to allocate memory for the object fails. +The following values are accepted: +.Bl -tag -offset indent -width SHM_ +.It Dv SHM_LARGEPAGE_ALLOC_DEFAULT +If the (non-blocking) memory allocation fails because there is insufficient free +contiguous memory, the kernel will attempt to defragment physical memory and +try another allocation. +The subsequent allocation may or may not succeed. +If this subsequent allocation also fails, +.Xr ftruncate 2 +will fail and set +.Va errno +to +.Er ENOMEM . +.It Dv SHM_LARGEPAGE_ALLOC_NOWAIT +If the memory allocation fails, +.Xr ftruncate 2 +will fail and set +.Va errno +to +.Er ENOMEM . +.It Dv SHM_LARGEPAGE_ALLOC_HARD +The kernel will attempt defragmentation until the allocation succeeds, +or an unblocked signal is delivered to the thread. +However, it is possible for physical memory to be fragmented such that the +allocation will never succeed. +.El +.Pp +The +.Dv FIOSSHMLPGCNF +and +.Dv FIOGSHMLPGCNF +.Xr ioctl 2 +commands can be used with a largepage shared memory object to get and set +largepage object parameters. +Both commands operate on the following structure: +.Bd -literal +struct shm_largepage_conf { + int psind; + int alloc_policy; +}; + +.Ed +The +.Dv FIOGSHMLPGCNF +command populates this structure with the current values of these parameters, +while the +.Dv FIOSSHMLPGCNF +command modifies the largepage object. +Currently only the +.Va alloc_policy +parameter may be modified. +Internally, +.Fn shm_create_largepage +works by creating a regular shared memory object using +.Fn shm_open , +and then converting it into a largepage object using the +.Dv FIOSSHMLPGCNF +ioctl command. +.Pp +The .Fn shm_rename system call atomically removes a shared memory object named .Fa path_from @@ -162,10 +293,6 @@ Return an error if an shm exists at .Fa path_to , rather than unlinking it. .El -.Fn shm_rename -is also a -.Fx -extension. .Pp The .Fn shm_unlink @@ -235,6 +362,17 @@ All functions return -1 on failure, and set to indicate the error. .Sh COMPATIBILITY The +.Fn shm_create_largepage +and +.Fn shm_rename +functions are +.Fx +extensions, as is support for the +.Dv SHM_ANON +value in +.Fn shm_open . +.Pp +The .Fa path , .Fa path_from , and @@ -377,6 +515,18 @@ and are specified and the named shared memory object does exist. .It Bq Er EACCES The required permissions (for reading or reading and writing) are denied. +.It Bq Er ECAPMODE +The process is running in capability mode (see +.Xr capsicum 4 ) +and attempted to create a named shared memory object. +.El +.Pp +.Fn shm_create_largepage +can fail for the reasons listed above. +It also fails with these error codes for the following conditions: +.Bl -tag -width Er +.It Bq Er ENOTTY +The kernel does not support large pages on the current platform. .El .Pp The following errors are defined for @@ -425,6 +575,7 @@ requires write permission to the shared memory object. .Xr close 2 , .Xr fstat 2 , .Xr ftruncate 2 , +.Xr ioctl 2 , .Xr mmap 2 , .Xr munmap 2 , .Xr sendfile 2 From nobody Fri Feb 3 16:50:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7hVN3cB2z3kW20; Fri, 3 Feb 2023 16:50: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 4P7hVN2lhCz3v2M; Fri, 3 Feb 2023 16:50:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vvCBIYlMfaEGj/riVHr/SlEHpIAtjIcxut6PCTeK0WY=; b=wYgO7rVxLP9jvZd342P4EuYlG7YakrmYmu9S98Y9N5BOdrjFxqFarojcpB47W71AKahmsh d07KRErJEgHtV1y06DpMh64uCz4NKGlRlH+mq6usSnh8vBMOTG6HcIMCE585VkjCl5gCs2 qld9l5Hxwg4FxNd5lyq8sxEUcK8aQoMoV5MiWF37aowyVAqWWpD5/0CKSuntcXvBDDmh9I jVSTyQqzQSmQsoX3qUR6wtfkz3jk7RlTCrSxGcCDY5Fp8D3jRhUsMzDgC2+FILidG0koDc JV5s0AIIuNydWpJmxZOQTKn9Ruzd/eKdjjKywaPBbc69+hpCYxXEfmaeXYLVRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vvCBIYlMfaEGj/riVHr/SlEHpIAtjIcxut6PCTeK0WY=; b=q2MovVWsU9GjizOGiDlnJwMxXbLUWVrufSezo8plX/Ps7NLQ9x7U4H86Hn3Wcab9GZzZEL UqlaAS6HirPSA8sdOddwm4PDxWcLeA5B6XPOFHwE9sSvsT8fyG+xMNTT/dz5ZytWTWSzkZ R2b4hGITkIIzK6+ke/BeMZeLY9QatxrlUWh0ZGxi7WO55YBfqPUjgZjLNhqgeRIx20+xM7 2CoTPJqFdmBCwe+M69txI66gOYs9XSMOiWjHYflTWZVSBoibb2XQlFKeR7tyh0sqcIXxut ZFMGEqUciBK/v6doGoSXAK/YT3rlpSRri8orZblrmH/NzDDcmL2jZvIzBIxl0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675443036; a=rsa-sha256; cv=none; b=e3S60dhWuSIXDqpuXIe6DDTqhkL+hApZ4BGL4G2ldFqr8BIGzEgGE/MHgtF3FRbgEpyykh xIk7A2xVLGb/Q12jwptAD30fgzo0pGkNeTvG1DJ+ChDu0ks2XU+UGK0NtlaUVMqTbvMODB GzKOo0SXiHBZIb7r3uZ8n/E7FaQJz4s/3iZzGDWisoL1wpjI8JOfiE4Wqm5UXG3hMRkW4c 7nC6FzRsiNJY1k9UczxJ8VZn9NBNbLBx+xe0ARhQocIlXSvg+lXhqeNp5MkWI5qm11d5Qx G9uP1XUWVVvh77hd0Vh7o/8HGHJSeaVCPYj9285dy/JKP2Ip5vsBZuyp9/q+XQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7hVN1kmFzhxw; Fri, 3 Feb 2023 16:50:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313GoaVd009167; Fri, 3 Feb 2023 16:50:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313GoagH009166; Fri, 3 Feb 2023 16:50:36 GMT (envelope-from git) Date: Fri, 3 Feb 2023 16:50:36 GMT Message-Id: <202302031650.313GoagH009166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 675e2618ae2d - main - inpcb: Deduplicate some assertions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 675e2618ae2d0e9d2c7908c669bba7086bb15b0b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=675e2618ae2d0e9d2c7908c669bba7086bb15b0b commit 675e2618ae2d0e9d2c7908c669bba7086bb15b0b Author: Mark Johnston AuthorDate: 2023-02-03 15:56:26 +0000 Commit: Mark Johnston CommitDate: 2023-02-03 16:48:25 +0000 inpcb: Deduplicate some assertions It makes more sense to check lookupflags in the function which actually uses SMR. No functional change intended. Reviewed by: glebius MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D38359 --- sys/netinet/in_pcb.c | 17 +++++------------ sys/netinet6/in6_pcb.c | 17 +++++------------ 2 files changed, 10 insertions(+), 24 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index baac2f131df4..23d30d8b968a 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -2369,6 +2369,11 @@ in_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in_addr faddr, { struct inpcb *inp; + KASSERT((lookupflags & ~INPLOOKUP_MASK) == 0, + ("%s: invalid lookup flags %d", __func__, lookupflags)); + KASSERT((lookupflags & (INPLOOKUP_RLOCKPCB | INPLOOKUP_WLOCKPCB)) != 0, + ("%s: LOCKPCB not set", __func__)); + smr_enter(pcbinfo->ipi_smr); inp = in_pcblookup_hash_locked(pcbinfo, faddr, fport, laddr, lport, lookupflags & INPLOOKUP_WILDCARD, ifp, numa_domain); @@ -2390,12 +2395,6 @@ struct inpcb * in_pcblookup(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_int fport, struct in_addr laddr, u_int lport, int lookupflags, struct ifnet *ifp) { - - KASSERT((lookupflags & ~INPLOOKUP_MASK) == 0, - ("%s: invalid lookup flags %d", __func__, lookupflags)); - KASSERT((lookupflags & (INPLOOKUP_RLOCKPCB | INPLOOKUP_WLOCKPCB)) != 0, - ("%s: LOCKPCB not set", __func__)); - return (in_pcblookup_hash(pcbinfo, faddr, fport, laddr, lport, lookupflags, ifp, M_NODOM)); } @@ -2405,12 +2404,6 @@ in_pcblookup_mbuf(struct inpcbinfo *pcbinfo, struct in_addr faddr, u_int fport, struct in_addr laddr, u_int lport, int lookupflags, struct ifnet *ifp, struct mbuf *m) { - - KASSERT((lookupflags & ~INPLOOKUP_MASK) == 0, - ("%s: invalid lookup flags %d", __func__, lookupflags)); - KASSERT((lookupflags & (INPLOOKUP_RLOCKPCB | INPLOOKUP_WLOCKPCB)) != 0, - ("%s: LOCKPCB not set", __func__)); - return (in_pcblookup_hash(pcbinfo, faddr, fport, laddr, lport, lookupflags, ifp, m->m_pkthdr.numa_domain)); } diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 1f9bd1445479..c3012ffab68f 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -1096,6 +1096,11 @@ in6_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, { struct inpcb *inp; + KASSERT((lookupflags & ~INPLOOKUP_MASK) == 0, + ("%s: invalid lookup flags %d", __func__, lookupflags)); + KASSERT((lookupflags & (INPLOOKUP_RLOCKPCB | INPLOOKUP_WLOCKPCB)) != 0, + ("%s: LOCKPCB not set", __func__)); + smr_enter(pcbinfo->ipi_smr); inp = in6_pcblookup_hash_locked(pcbinfo, faddr, fport, laddr, lport, lookupflags & INPLOOKUP_WILDCARD, ifp, numa_domain); @@ -1117,12 +1122,6 @@ struct inpcb * in6_pcblookup(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, u_int fport, struct in6_addr *laddr, u_int lport, int lookupflags, struct ifnet *ifp) { - - KASSERT((lookupflags & ~INPLOOKUP_MASK) == 0, - ("%s: invalid lookup flags %d", __func__, lookupflags)); - KASSERT((lookupflags & (INPLOOKUP_RLOCKPCB | INPLOOKUP_WLOCKPCB)) != 0, - ("%s: LOCKPCB not set", __func__)); - return (in6_pcblookup_hash(pcbinfo, faddr, fport, laddr, lport, lookupflags, ifp, M_NODOM)); } @@ -1132,12 +1131,6 @@ in6_pcblookup_mbuf(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, u_int fport, struct in6_addr *laddr, u_int lport, int lookupflags, struct ifnet *ifp, struct mbuf *m) { - - KASSERT((lookupflags & ~INPLOOKUP_MASK) == 0, - ("%s: invalid lookup flags %d", __func__, lookupflags)); - KASSERT((lookupflags & (INPLOOKUP_RLOCKPCB | INPLOOKUP_WLOCKPCB)) != 0, - ("%s: LOCKPCB not set", __func__)); - return (in6_pcblookup_hash(pcbinfo, faddr, fport, laddr, lport, lookupflags, ifp, m->m_pkthdr.numa_domain)); } From nobody Fri Feb 3 16:50:37 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7hVP3tTVz3kWDH; Fri, 3 Feb 2023 16:50: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 4P7hVP3D6Dz3vBv; Fri, 3 Feb 2023 16:50:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fi+/AuMoWgKS6x7e1pGrf6osY77m2MbDags3f3s0Wrw=; b=gv7Z86Am5Uig/Hu/Frgmf9+JeIG33k/+RKujq2TmkUW1/oFLCad4rPg3VZuJWCORM7vQsu VFD/nn58BpDnSJQR6oPUQmveBJf84nxcoyjBot+xUDnHr7mVW2wE9fYeHVT317q7KC+xJG dIoqb5dltIjG20D6CFy7QAi8CC8l56WO4KPVei8nolShS2ThNqm77tTMcGyvGeJNpeR28o yu3KgpWQOTC/SlZPXPj1Tq0nPbiORatcmSeQAKe2fwkZStzueNVFMvIBe/6ICqC9KJzfLl gAFyMgT7zhKe3j3vOoSKbkLl3nnuh9wtPdg5fpP57+gXmG8sZ75L0Yvb3oPmNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fi+/AuMoWgKS6x7e1pGrf6osY77m2MbDags3f3s0Wrw=; b=H7Nrk82kJuMCiiC8r6y0C8huepbaKL4IsKMtNqzC0N34wWQnIvsGZtxe9mo00R/SAYgacG foM1MsCHzG1v6Iv1P5uZVROQondpi/PuwsMY6jd+wf6lsi6Qp9czMhwt6+sw7g7buK8OuE e4x2iJ8xfxVGmNh1z8WpCGJA2EngdnkialqWthTvHgW9O6CTAMCZB1PQ6QAOB+OnkJsl94 2JAnYQ5LZXf9qfh1SjRk/QB4yQylfiyp0azXNhFt+WfXv89+GKAZntqCB5+7Q3pzk8xHZS tw66gjULlTv8iJqCHIPyMznstYbzIulZZWBeVM1VxHbUuC2TG55tEEjnM4J7qQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675443037; a=rsa-sha256; cv=none; b=UGpZeEC2iwt7x30NzKWTqZzv+nzh6k5Fex8xhtg4s5hTE6J0RPC71FvKHhh8qlL3JB5zjm veAoe2mwyuzQwBbZ0EPsJrBmy2CNWMfw9E594Hlms938JD605/e4NiV7Xj3lZjSxpxjngu DVIbucwdCc5Wu3uSFkk848e/FYNeCuRpvsfb/uCH74lUcOS2GiVeP5gZLxtNNlahnoBSOG +rROtQimIVAbqlELrzmLAXdcRBcwz59ikW2Co9KSFNhEsuuenqbAVJrdz85G2CtmjGwUC4 IBwtLPAtJC6BVtm6IMPhDgvSoTD/u7Q0Zdd/pR1jBuNYqNdErwuOQEgWLOd0uQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7hVP2Jfhzhv1; Fri, 3 Feb 2023 16:50:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313Gob1e009201; Fri, 3 Feb 2023 16:50:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313Gob4V009198; Fri, 3 Feb 2023 16:50:37 GMT (envelope-from git) Date: Fri, 3 Feb 2023 16:50:37 GMT Message-Id: <202302031650.313Gob4V009198@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: b0ccf53f2455 - main - inpcb: Assert against wildcard addrs in in_pcblookup_hash_locked() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b0ccf53f2455ad300b8b784c4b1a91a5733e890f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b0ccf53f2455ad300b8b784c4b1a91a5733e890f commit b0ccf53f2455ad300b8b784c4b1a91a5733e890f Author: Mark Johnston AuthorDate: 2023-02-03 15:57:19 +0000 Commit: Mark Johnston CommitDate: 2023-02-03 16:48:25 +0000 inpcb: Assert against wildcard addrs in in_pcblookup_hash_locked() No functional change intended. Reviewed by: glebius MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D38361 --- sys/netinet/in_pcb.c | 4 ++++ sys/netinet6/in6_pcb.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 23d30d8b968a..ce8a58883be4 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -2242,6 +2242,10 @@ in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr, KASSERT((lookupflags & ~(INPLOOKUP_WILDCARD)) == 0, ("%s: invalid lookup flags %d", __func__, lookupflags)); + KASSERT(faddr.s_addr != INADDR_ANY, + ("%s: invalid foreign address", __func__)); + KASSERT(laddr.s_addr != INADDR_ANY, + ("%s: invalid local address", __func__)); INP_HASH_LOCK_ASSERT(pcbinfo); /* diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index c3012ffab68f..0a4ae51cb5ef 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -980,6 +980,10 @@ in6_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in6_addr *faddr, KASSERT((lookupflags & ~(INPLOOKUP_WILDCARD)) == 0, ("%s: invalid lookup flags %d", __func__, lookupflags)); + KASSERT(!IN6_IS_ADDR_UNSPECIFIED(faddr), + ("%s: invalid foreign address", __func__)); + KASSERT(!IN6_IS_ADDR_UNSPECIFIED(laddr), + ("%s: invalid local address", __func__)); INP_HASH_LOCK_ASSERT(pcbinfo); From nobody Fri Feb 3 16:50:38 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7hVQ6r83z3kW02; Fri, 3 Feb 2023 16:50: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 4P7hVQ4GqDz3v6W; Fri, 3 Feb 2023 16:50:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e6LbVIaNfX+fXEpTF8MEI3ecq7oDQLY5UyvyW4LDo70=; b=ZzT4zJAI/d7ET60PZb7BiqiDR93IGV+z+YIP42dpSHIJbQdnqomfWv7aDu5UgvnU26Ypnt HGIF5GN2I9R5cX2a8a58gFcgK3AcEWLa8AxYTQfuLQG0Bx80fnhpB3jLj6YPzQdkz6BKtp KEkpJjflks53kmDNoR355dqxv9t1hJTtKwib2o/ejqgUnp0450o2L9wPyJW7SQB2owGaUH hpiAM9DnGOlEy/jV5foH6uP9AhCmxqtEUFijMA0uOZg4nFKjgOSIPa1wxfIT3oCr6nYqrD i5UP9ckRLHxstonLf1FKKDKhKfv4CN2FE/0fNCrQoEMoZxQK/OHHRL9EEjikiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675443038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e6LbVIaNfX+fXEpTF8MEI3ecq7oDQLY5UyvyW4LDo70=; b=c+DDyRpgJPEMlXBKXioarayOcTPVrXL60961kKErAOARqX/EC37eTe2/tKL55YC/qLbiAh HP/9rznk+vE/ccuOacDxoe+cnJzUL8ohudVaVB53Xpp3IMT9DhvMZpTGh1Oq0C66tYf1sg iNnyegGE5Nvas3MmRsRK+txYcT6G7C4oHgpv1X7erFpqvP8yAd/BOROS6/75T5gGln1Ha+ 3ybLOgjUkQy3dwGaHJ2e0F596gCjc7viTn6AnFusvQ+j3K+oWSwSfMqiyj26Ke3+lXtQ7n ZMmB1U9h/17gVqKk2yGXcEdP9Nu8IxV8oaBvCYb5ek7geLhgenOt+YPynOtJRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675443038; a=rsa-sha256; cv=none; b=Rb9mpDnU0B4yiAKO5tyN8azTBbG8za3hzfUJ5bmNL96DIc1V6RmmgYmcQ5iNY/1O5yVbHG txW9pRmRCo1Y+krqSs1OQ08//6LixfJsB6RzCKZi2lFy+8Ol1tJR6kRIoewoKgLoYEGjpq wyVPHE0wEIZ4IiEAwC18jFce51A/9A7FhQXza+Pvmeium/TrQDEFJ5tahw7E1L2SrWwy0O N2i0TPQUr8j6fegClLB5CGpx22l7z6BhSqvvqFmLhp8J7y2lNO9EqvRzBZxtkOHoNd9Vzc Am6TuFXMpJbECrZysbOBDpVCmy2qu1vOjmtMRBbFILCo/RFR7R+ZEXLexXJrFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7hVQ36CRzhls; Fri, 3 Feb 2023 16:50:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313GoccR009226; Fri, 3 Feb 2023 16:50:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313GocuI009225; Fri, 3 Feb 2023 16:50:38 GMT (envelope-from git) Date: Fri, 3 Feb 2023 16:50:38 GMT Message-Id: <202302031650.313GocuI009225@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 2589ec0f3657 - main - pcb: Move an assignment into in_pcbdisconnect() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2589ec0f365777faacf36bd1eb24706538836b17 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2589ec0f365777faacf36bd1eb24706538836b17 commit 2589ec0f365777faacf36bd1eb24706538836b17 Author: Mark Johnston AuthorDate: 2023-02-03 15:57:37 +0000 Commit: Mark Johnston CommitDate: 2023-02-03 16:48:25 +0000 pcb: Move an assignment into in_pcbdisconnect() All callers of in_pcbdisconnect() clear the local address, so let's just do that in the function itself. Note that the inp's local address is not a parameter to the inp hash functions. No functional change intended. Reviewed by: glebius MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D38362 --- sys/netinet/in_pcb.c | 1 + sys/netinet/udp_usrreq.c | 3 --- sys/netinet6/in6_pcb.c | 3 ++- sys/netinet6/udp6_usrreq.c | 3 --- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index ce8a58883be4..954fe5482076 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1460,6 +1460,7 @@ in_pcbdisconnect(struct inpcb *inp) INP_WLOCK_ASSERT(inp); INP_HASH_WLOCK_ASSERT(inp->inp_pcbinfo); + inp->inp_laddr.s_addr = INADDR_ANY; inp->inp_faddr.s_addr = INADDR_ANY; inp->inp_fport = 0; in_pcbrehash(inp); diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 19c163e95094..4efeb6a0e8e7 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -1457,7 +1457,6 @@ udp_abort(struct socket *so) if (inp->inp_faddr.s_addr != INADDR_ANY) { INP_HASH_WLOCK(pcbinfo); in_pcbdisconnect(inp); - inp->inp_laddr.s_addr = INADDR_ANY; INP_HASH_WUNLOCK(pcbinfo); soisdisconnected(so); } @@ -1567,7 +1566,6 @@ udp_close(struct socket *so) if (inp->inp_faddr.s_addr != INADDR_ANY) { INP_HASH_WLOCK(pcbinfo); in_pcbdisconnect(inp); - inp->inp_laddr.s_addr = INADDR_ANY; INP_HASH_WUNLOCK(pcbinfo); soisdisconnected(so); } @@ -1644,7 +1642,6 @@ udp_disconnect(struct socket *so) } INP_HASH_WLOCK(pcbinfo); in_pcbdisconnect(inp); - inp->inp_laddr.s_addr = INADDR_ANY; INP_HASH_WUNLOCK(pcbinfo); SOCK_LOCK(so); so->so_state &= ~SS_ISCONNECTED; /* XXX */ diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 0a4ae51cb5ef..51d29399e99b 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -511,7 +511,8 @@ in6_pcbdisconnect(struct inpcb *inp) INP_WLOCK_ASSERT(inp); INP_HASH_WLOCK_ASSERT(inp->inp_pcbinfo); - bzero((caddr_t)&inp->in6p_faddr, sizeof(inp->in6p_faddr)); + memset(&inp->in6p_laddr, 0, sizeof(inp->in6p_laddr)); + memset(&inp->in6p_faddr, 0, sizeof(inp->in6p_faddr)); inp->inp_fport = 0; /* clear flowinfo - draft-itojun-ipv6-flowlabel-api-00 */ inp->inp_flow &= ~IPV6_FLOWLABEL_MASK; diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index 92cd4ab9cd39..b79a00280110 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -976,7 +976,6 @@ udp6_abort(struct socket *so) if (!IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr)) { INP_HASH_WLOCK(pcbinfo); in6_pcbdisconnect(inp); - inp->in6p_laddr = in6addr_any; INP_HASH_WUNLOCK(pcbinfo); soisdisconnected(so); } @@ -1093,7 +1092,6 @@ udp6_close(struct socket *so) if (!IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr)) { INP_HASH_WLOCK(pcbinfo); in6_pcbdisconnect(inp); - inp->in6p_laddr = in6addr_any; INP_HASH_WUNLOCK(pcbinfo); soisdisconnected(so); } @@ -1240,7 +1238,6 @@ udp6_disconnect(struct socket *so) INP_HASH_WLOCK(pcbinfo); in6_pcbdisconnect(inp); - inp->in6p_laddr = in6addr_any; INP_HASH_WUNLOCK(pcbinfo); SOCK_LOCK(so); so->so_state &= ~SS_ISCONNECTED; /* XXX */ From nobody Fri Feb 3 18:16:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7kPg3jLpz3kbWY for ; Fri, 3 Feb 2023 18:16:39 +0000 (UTC) (envelope-from sobomax@sippysoft.com) Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7kPf4FlSz4FZ3 for ; Fri, 3 Feb 2023 18:16:38 +0000 (UTC) (envelope-from sobomax@sippysoft.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of sobomax@sippysoft.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=sobomax@sippysoft.com; dmarc=none Received: by mail-ej1-f43.google.com with SMTP id ml19so17817690ejb.0 for ; Fri, 03 Feb 2023 10:16:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=EIcH4o4HIL4LEuaFA7y1SAft7Wvg9xXR3VOs0fOjvgA=; b=Piut1p3MylmDIzK1NVvMBHUwEHaJ8bpfj8sNCdmUt3dZ+iJfxsIQmr9UZCeVRzgxyJ CPZqLHB0OnCT1IzhSa1j4ed5BB05DUptliM7coDiCxb/7VpwgAHbRjKyF8OEJ/3yng0L nD80ix7BzkoHomyujna4TOljBM6F1e2B0MJHvtfaT7FSAjxyj3a3L0j8T1KlrVLYqklG syO8vAPnwV7y2awp2+ME9EUsW1Mk9Vqh/1VBW+o3NTwi4K7xb/rFvo1WbGaaGg09Gr/x SILZP9B8x37J6BP/4wl6wwJ2Z+KvW7qC8N8kfHpOWz0CCBVXj1PeeOyjpBc0oupVaMWq HbLg== X-Gm-Message-State: AO0yUKUlJVc54rEQZICXL8MsE6Wt7d5UwJhtnxV4IJp9jVY5Dx4KALzF HmLBqADPQnSIw8ZEpW30KFvTKysOnkfjMKd8BIKL3Q== X-Google-Smtp-Source: AK7set/9cNwHrR6jUqQQ8M+PZ2d3d2qhQ0aY+H6dany8ZnHrfFyvlxfmaoHB6X/wJTfkrYUL72JVWyYEpfxLNP4ETuE= X-Received: by 2002:a17:906:191:b0:781:f54c:1947 with SMTP id 17-20020a170906019100b00781f54c1947mr3295082ejb.69.1675448196203; Fri, 03 Feb 2023 10:16:36 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202302021720.312HKDQG099212@gitrepo.freebsd.org> In-Reply-To: <202302021720.312HKDQG099212@gitrepo.freebsd.org> From: Maxim Sobolev Date: Fri, 3 Feb 2023 19:16:22 +0100 Message-ID: Subject: Re: git: 69d94f4c7608 - main - Add tarfs, a filesystem backed by tarballs. To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000931c1e05f3cfae44" X-Spamd-Result: default: False [-3.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; FORGED_SENDER(0.30)[sobomax@freebsd.org,sobomax@sippysoft.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.218.43:from]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[209.85.218.43:from]; R_DKIM_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DMARC_NA(0.00)[freebsd.org]; FREEFALL_USER(0.00)[sobomax]; ARC_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[sobomax@freebsd.org,sobomax@sippysoft.com]; RCPT_COUNT_THREE(0.00)[4]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4P7kPf4FlSz4FZ3 X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N --000000000000931c1e05f3cfae44 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Wow, cool, thank you so much! It feels like Christmas again. >:-) I see this being immediately useful for anyone building a custom system to replace uzip+ufs combo, or other similar methods for creating read-only compressed storage containers! Just curious has you done some performance testing? Something like "worldstone" but with /usr/src mounted off tar archive vs. "normal" UFS would be interesting to see. Also, has any, even cursory, security audit been done on tar processing routines? Of course with functionality being opt-in the onus is on the user to make sure only tars obtained from trusted sources are used and in a way that protects tar file content from modification by unprivileged users. However, it won't protect us from FreeBSD looking bad in public eyes, if some high-profile institutional user of FreeBSD is breached by exploiting some of the vulnerability in this code few years down the line when it hits RELENG branch. At the very least, some big, fat warning can be added into the man page to notify an user about the code being somewhat fresh and not on par quality-wise with something like UFS or ZFS. Plus providing some tips on best practices on how to reduce exposure when tarfs is used (nosuid mount, proper tar file permissions, trusted sources etc). This is of course all hypothetical, but given the history of buffer/integer overflows etc in handling user-supplied data in simple syscalls operating on structures of 1-2 orders of magnitude smaller size and lower complexity, I find it unlikely that fresh-off-the-mill tar code won't have any. Perhaps, some automated fuzzing approach can be employed to see if it can crash kernel by giving it a slightly corrupted but otherwise valid tar file? If Juniper sponsored the development of this feature I suspect they may not be the ones least interested to make sure using it won't compromise security of their products. Pure speculation of course on my par, but pretty reasonable at that. Anyhow, just my few Canadian cents on the topic, while it fresh. Thanks again for anyone involved to make this available. I look forward to get my hands on it as soon as soon as I get back from FOSDEM, if not sooner. -Max On Thu, Feb 2, 2023, 6:20 PM Dag-Erling Sm=C3=B8rgrav wro= te: > The branch main has been updated by des: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D69d94f4c7608e415059965593674507= 06e91fbb8 > > commit 69d94f4c7608e41505996559367450706e91fbb8 > Author: Dag-Erling Sm=C3=B8rgrav > AuthorDate: 2023-02-02 17:18:41 +0000 > Commit: Dag-Erling Sm=C3=B8rgrav > CommitDate: 2023-02-02 17:19:29 +0000 > > Add tarfs, a filesystem backed by tarballs. > > Sponsored by: Juniper Networks, Inc. > Sponsored by: Klara, Inc. > Reviewed by: pauamma, imp > Differential Revision: https://reviews.freebsd.org/D37753 > --- > etc/mtree/BSD.tests.dist | 2 + > share/man/man5/Makefile | 1 + > share/man/man5/tarfs.5 | 103 ++++ > sys/conf/files | 4 + > sys/conf/options | 4 + > sys/fs/tarfs/tarfs.h | 254 +++++++++ > sys/fs/tarfs/tarfs_dbg.h | 65 +++ > sys/fs/tarfs/tarfs_io.c | 727 +++++++++++++++++++++++ > sys/fs/tarfs/tarfs_subr.c | 603 ++++++++++++++++++++ > sys/fs/tarfs/tarfs_vfsops.c | 1173 > ++++++++++++++++++++++++++++++++++++++ > sys/fs/tarfs/tarfs_vnops.c | 642 +++++++++++++++++++++ > sys/kern/subr_witness.c | 6 + > sys/modules/Makefile | 1 + > sys/modules/tarfs/Makefile | 23 + > tests/sys/fs/Makefile | 1 + > tests/sys/fs/tarfs/Makefile | 10 + > tests/sys/fs/tarfs/mktar.c | 238 ++++++++ > tests/sys/fs/tarfs/tarfs_test.sh | 54 ++ > 18 files changed, 3911 insertions(+) > > diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist > index 0d05ecaf06fc..b4b18997b7f9 100644 > --- a/etc/mtree/BSD.tests.dist > +++ b/etc/mtree/BSD.tests.dist > @@ -757,6 +757,8 @@ > fs > fusefs > .. > + tarfs > + .. > tmpfs > .. > .. > diff --git a/share/man/man5/Makefile b/share/man/man5/Makefile > index 2d49d981c2f9..f6e91e4ed00b 100644 > --- a/share/man/man5/Makefile > +++ b/share/man/man5/Makefile > @@ -70,6 +70,7 @@ MAN=3D acct.5 \ > style.Makefile.5 \ > style.mdoc.5 \ > sysctl.conf.5 \ > + tarfs.5 \ > tmpfs.5 \ > unionfs.5 > > diff --git a/share/man/man5/tarfs.5 b/share/man/man5/tarfs.5 > new file mode 100644 > index 000000000000..b25131c323c1 > --- /dev/null > +++ b/share/man/man5/tarfs.5 > @@ -0,0 +1,103 @@ > +.\"- > +.\" SPDX-License-Identifier: BSD-2-Clause > +.\" > +.\" Copyright (c) 2022 Klara, Inc. > +.\" > +.\" Redistribution and use in source and binary forms, with or without > +.\" modification, are permitted provided that the following conditions > +.\" are met: > +.\" 1. Redistributions of source code must retain the above copyright > +.\" notice, this list of conditions and the following disclaimer. > +.\" 2. Redistributions in binary form must reproduce the above copyright > +.\" notice, this list of conditions and the following disclaimer in t= he > +.\" documentation and/or other materials provided with the > distribution. > +.\" > +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' A= ND > +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, TH= E > +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE > +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE > LIABLE > +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > CONSEQUENTIAL > +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE > GOODS > +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION= ) > +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, > STRICT > +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN AN= Y > WAY > +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY = OF > +.\" SUCH DAMAGE. > +.\" > +.Dd February 2, 2023 > +.Dt TARFS 5 > +.Os > +.Sh NAME > +.Nm tarfs > +.Nd tarball filesystem > +.Sh SYNOPSIS > +To compile this driver into the kernel, place the following line in > +your kernel configuration file: > +.Bd -ragged -offset indent > +.Cd "options TARFS" > +.Ed > +.Pp > +Alternatively, to load the driver as a module at boot time, place the > +following line in > +.Xr loader.conf 5 : > +.Bd -literal -offset indent > +tarfs_load=3D"YES" > +.Ed > +.Sh DESCRIPTION > +The > +.Nm > +driver implementes a read-only filesystem backed by a > +.Xr tar 5 > +file. > +Currently, only POSIX archives, optionally compressed with > +.Xr zstd 1 , > +are supported. > +.Pp > +The preferred I/O size for > +.Nm > +filesystems can be adjusted using the > +.Va vfs.tarfs.ioshift > +sysctl setting and tunable. > +Setting it to 0 will reset it to its default value. > +Note that changes to this setting only apply to filesystems mounted > +after the change. > +.Sh DIAGNOSTICS > +If enabled by the > +.Dv TARFS_DEBUG > +kernel option, the > +.Va vfs.tarfs.debug > +sysctl setting can be used to control debugging output from the > +.Nm > +driver. > +Debugging output for individual sections of the driver can be enabled > +by adding together the relevant values from the table below. > +.Bl -column Value Description > +.It 0x01 Ta Memory allocations > +.It 0x02 Ta Checksum calculations > +.It 0x04 Ta Filesystem operations (vfsops) > +.It 0x08 Ta Path lookups > +.It 0x10 Ta File operations (vnops) > +.It 0x20 Ta General I/O > +.It 0x40 Ta Decompression > +.It 0x80 Ta Decompression index > +.It 0x100 Ta Sparse file mapping > +.El > +.Sh SEE ALSO > +.Xr tar 1 , > +.Xr zstd 1 , > +.Xr fstab 5 , > +.Xr tar 5 , > +.Xr mount 8 , > +.Xr sysctl 8 > +.Sh HISTORY > +.An -nosplit > +The > +.Nm > +driver was developed by > +.An Stephen J. Kiernan Aq Mt stevek@FreeBSD.org > +and > +.An Dag-Erling Sm=C3=B8rgrav Aq Mt des@FreeBSD.org > +for Juniper Networks and Klara Systems. > +This manual page was written by > +.An Dag-Erling Sm=C3=B8rgrav Aq Mt des@FreeBSD.org > +for Juniper Networks and Klara Systems. > diff --git a/sys/conf/files b/sys/conf/files > index 6cb4abcd9223..08966a9b46e4 100644 > --- a/sys/conf/files > +++ b/sys/conf/files > @@ -3615,6 +3615,10 @@ fs/smbfs/smbfs_smb.c optional smbfs > fs/smbfs/smbfs_subr.c optional smbfs > fs/smbfs/smbfs_vfsops.c optional smbfs > fs/smbfs/smbfs_vnops.c optional smbfs > +fs/tarfs/tarfs_io.c optional tarfs compile-with "${NORMAL_C} > -I$S/contrib/zstd/lib/freebsd" > +fs/tarfs/tarfs_subr.c optional tarfs > +fs/tarfs/tarfs_vfsops.c optional tarfs > +fs/tarfs/tarfs_vnops.c optional tarfs > fs/udf/osta.c optional udf > fs/udf/udf_iconv.c optional udf_iconv > fs/udf/udf_vfsops.c optional udf > diff --git a/sys/conf/options b/sys/conf/options > index 1f5003507539..3b2be66ba602 100644 > --- a/sys/conf/options > +++ b/sys/conf/options > @@ -265,6 +265,7 @@ NULLFS opt_dontuse.h > PROCFS opt_dontuse.h > PSEUDOFS opt_dontuse.h > SMBFS opt_dontuse.h > +TARFS opt_dontuse.h > TMPFS opt_dontuse.h > UDF opt_dontuse.h > UNIONFS opt_dontuse.h > @@ -273,6 +274,9 @@ ZFS opt_dontuse.h > # Pseudofs debugging > PSEUDOFS_TRACE opt_pseudofs.h > > +# Tarfs debugging > +TARFS_DEBUG opt_tarfs.h > + > # In-kernel GSS-API > KGSSAPI opt_kgssapi.h > KGSSAPI_DEBUG opt_kgssapi.h > diff --git a/sys/fs/tarfs/tarfs.h b/sys/fs/tarfs/tarfs.h > new file mode 100644 > index 000000000000..dffd60ee6d8a > --- /dev/null > +++ b/sys/fs/tarfs/tarfs.h > @@ -0,0 +1,254 @@ > +/*- > + * SPDX-License-Identifier: BSD-2-Clause > + * > + * Copyright (c) 2013 Juniper Networks, Inc. > + * Copyright (c) 2022-2023 Klara, Inc. > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in th= e > + * documentation and/or other materials provided with the distributio= n. > + * > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AN= D > + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIAB= LE > + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > CONSEQUENTIAL > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOO= DS > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, > STRICT > + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY > WAY > + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY O= F > + * SUCH DAMAGE. > + */ > + > +#ifndef _FS_TARFS_TARFS_H_ > +#define _FS_TARFS_TARFS_H_ > + > +#ifndef _KERNEL > +#error Should only be included by kernel > +#endif > + > +MALLOC_DECLARE(M_TARFSMNT); > +MALLOC_DECLARE(M_TARFSNODE); > +MALLOC_DECLARE(M_TARFSNAME); > + > +#ifdef SYSCTL_DECL > +SYSCTL_DECL(_vfs_tarfs); > +#endif > + > +struct componentname; > +struct mount; > +struct vnode; > + > +/* > + * Internal representation of a tarfs file system node. > + */ > +struct tarfs_node { > + TAILQ_ENTRY(tarfs_node) entries; > + TAILQ_ENTRY(tarfs_node) dirents; > + > + struct mtx lock; > + > + struct vnode *vnode; > + struct tarfs_mount *tmp; > + enum vtype type; > + ino_t ino; > + off_t offset; > + size_t size; > + size_t physize; > + char *name; > + size_t namelen; > + > + /* Node attributes */ > + uid_t uid; > + gid_t gid; > + mode_t mode; > + unsigned int flags; > + nlink_t nlink; > + struct timespec atime; > + struct timespec mtime; > + struct timespec ctime; > + struct timespec birthtime; > + unsigned long gen; > + > + /* Block map */ > + size_t nblk; > + struct tarfs_blk *blk; > + > + struct tarfs_node *parent; > + union { > + /* VDIR */ > + struct { > + TAILQ_HEAD(, tarfs_node) dirhead; > + off_t lastcookie; > + struct tarfs_node *lastnode; > + } dir; > + > + /* VLNK */ > + struct { > + char *name; > + size_t namelen; > + } link; > + > + /* VBLK or VCHR */ > + dev_t rdev; > + > + /* VREG */ > + struct tarfs_node *other; > + }; > +}; > + > +/* > + * Entry in sparse file block map. > + */ > +struct tarfs_blk { > + off_t i; /* input (physical) offset */ > + off_t o; /* output (logical) offset */ > + size_t l; /* length */ > +}; > + > +/* > + * Decompression buffer. > + */ > +#define TARFS_ZBUF_SIZE 1048576 > +struct tarfs_zbuf { > + u_char buf[TARFS_ZBUF_SIZE]; > + size_t off; /* offset of contents */ > + size_t len; /* length of contents */ > +}; > + > +/* > + * Internal representation of a tarfs mount point. > + */ > +struct tarfs_mount { > + TAILQ_HEAD(, tarfs_node) allnodes; > + struct mtx allnode_lock; > + > + struct tarfs_node *root; > + struct vnode *vp; > + struct mount *vfs; > + ino_t ino; > + struct unrhdr *ino_unr; > + size_t iosize; > + size_t nblocks; > + size_t nfiles; > + time_t mtime; /* default mtime for directories = */ > + > + struct tarfs_zio *zio; > + struct vnode *znode; > +}; > + > +struct tarfs_zio { > + struct tarfs_mount *tmp; > + > + /* decompression state */ > +#ifdef ZSTDIO > + struct tarfs_zstd *zstd; /* decompression state (zstd) */ > +#endif > + off_t ipos; /* current input position */ > + off_t opos; /* current output position */ > + > + /* index of compression frames */ > + unsigned int curidx; /* current index position*/ > + unsigned int nidx; /* number of index entries */ > + unsigned int szidx; /* index capacity */ > + struct tarfs_idx { off_t i, o; } *idx; > +}; > + > +struct tarfs_fid { > + u_short len; /* length of data in bytes */ > + u_short data0; /* force alignment */ > + ino_t ino; > + unsigned long gen; > +}; > + > +#define TARFS_NODE_LOCK(tnp) \ > + mtx_lock(&(tnp)->lock) > +#define TARFS_NODE_UNLOCK(tnp) \ > + mtx_unlock(&(tnp)->lock) > +#define TARFS_ALLNODES_LOCK(tnp) \ > + mtx_lock(&(tmp)->allnode_lock) > +#define TARFS_ALLNODES_UNLOCK(tnp) \ > + mtx_unlock(&(tmp)->allnode_lock) > + > +/* > + * Data and metadata within tar files are aligned on 512-byte boundaries= , > + * to match the block size of the magnetic tapes they were originally > + * intended for. > + */ > +#define TARFS_BSHIFT 9 > +#define TARFS_BLOCKSIZE (size_t)(1U << TARFS_BSHIFT) > +#define TARFS_BLKOFF(l) ((l) % TARFS_BLOCKSIZE) > +#define TARFS_BLKNUM(l) ((l) >> TARFS_BSHIFT) > +#define TARFS_SZ2BLKS(sz) (((sz) + TARFS_BLOCKSIZE - 1) / > TARFS_BLOCKSIZE) > + > +/* > + * Our preferred I/O size. > + */ > +extern unsigned int tarfs_ioshift; > +#define TARFS_IOSHIFT_MIN TARFS_BSHIFT > +#define TARFS_IOSHIFT_DEFAULT PAGE_SHIFT > +#define TARFS_IOSHIFT_MAX PAGE_SHIFT > + > +#define TARFS_ROOTINO ((ino_t)3) > +#define TARFS_ZIOINO ((ino_t)4) > +#define TARFS_MININO ((ino_t)65535) > + > +#define TARFS_COOKIE_DOT 0 > +#define TARFS_COOKIE_DOTDOT 1 > +#define TARFS_COOKIE_EOF OFF_MAX > + > +#define TARFS_ZIO_NAME ".tar" > +#define TARFS_ZIO_NAMELEN (sizeof(TARFS_ZIO_NAME) - 1) > + > +extern struct vop_vector tarfs_vnodeops; > + > +static inline > +struct tarfs_mount * > +MP_TO_TARFS_MOUNT(struct mount *mp) > +{ > + > + MPASS(mp !=3D NULL && mp->mnt_data !=3D NULL); > + return (mp->mnt_data); > +} > + > +static inline > +struct tarfs_node * > +VP_TO_TARFS_NODE(struct vnode *vp) > +{ > + > + MPASS(vp !=3D NULL && vp->v_data !=3D NULL); > + return (vp->v_data); > +} > + > +int tarfs_alloc_node(struct tarfs_mount *tmp, const char *name, > + size_t namelen, enum vtype type, off_t off, size_t sz, > + time_t mtime, uid_t uid, gid_t gid, mode_t mode, > + unsigned int flags, const char *linkname, dev_t rdev, > + struct tarfs_node *parent, struct tarfs_node **node); > +int tarfs_load_blockmap(struct tarfs_node *tnp, size_t realsize); > +void tarfs_dump_tree(struct tarfs_node *tnp); > +void tarfs_free_node(struct tarfs_node *tnp); > +struct tarfs_node * > + tarfs_lookup_dir(struct tarfs_node *tnp, off_t cookie); > +struct tarfs_node * > + tarfs_lookup_node(struct tarfs_node *tnp, struct tarfs_node *f, > + struct componentname *cnp); > +void tarfs_print_node(struct tarfs_node *tnp); > +int tarfs_read_file(struct tarfs_node *tnp, size_t len, struct uio > *uiop); > + > +int tarfs_io_init(struct tarfs_mount *tmp); > +int tarfs_io_fini(struct tarfs_mount *tmp); > +int tarfs_io_read(struct tarfs_mount *tmp, bool raw, > + struct uio *uiop); > +ssize_t tarfs_io_read_buf(struct tarfs_mount *tmp, bool raw, > + void *buf, off_t off, size_t len); > +unsigned int > + tarfs_strtofflags(const char *str, char **end); > + > +#endif /* _FS_TARFS_TARFS_H_ */ > diff --git a/sys/fs/tarfs/tarfs_dbg.h b/sys/fs/tarfs/tarfs_dbg.h > new file mode 100644 > index 000000000000..45d11d679719 > --- /dev/null > +++ b/sys/fs/tarfs/tarfs_dbg.h > @@ -0,0 +1,65 @@ > +/*- > + * SPDX-License-Identifier: BSD-2-Clause > + * > + * Copyright (c) 2013 Juniper Networks, Inc. > + * Copyright (c) 2022 Klara, Inc. > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in th= e > + * documentation and/or other materials provided with the distributio= n. > + * > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AN= D > + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIAB= LE > + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > CONSEQUENTIAL > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOO= DS > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, > STRICT > + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY > WAY > + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY O= F > + * SUCH DAMAGE. > + */ > + > +#ifndef _FS_TARFS_TARFS_DBG_H_ > +#define _FS_TARFS_TARFS_DBG_H_ > + > +#ifndef _KERNEL > +#error Should only be included by kernel > +#endif > + > +#ifdef TARFS_DEBUG > +extern int tarfs_debug; > + > +#define TARFS_DEBUG_ALLOC 0x01 > +#define TARFS_DEBUG_CHECKSUM 0x02 > +#define TARFS_DEBUG_FS 0x04 > +#define TARFS_DEBUG_LOOKUP 0x08 > +#define TARFS_DEBUG_VNODE 0x10 > +#define TARFS_DEBUG_IO 0x20 > +#define TARFS_DEBUG_ZIO 0x40 > +#define TARFS_DEBUG_ZIDX 0x80 > +#define TARFS_DEBUG_MAP 0x100 > + > +#define TARFS_DPF(category, fmt, ...) > \ > + do { \ > + if ((tarfs_debug & TARFS_DEBUG_##category) !=3D 0) = \ > + printf(fmt, ## __VA_ARGS__); \ > + } while (0) > +#define TARFS_DPF_IFF(category, cond, fmt, ...) > \ > + do { \ > + if ((cond) \ > + && (tarfs_debug & TARFS_DEBUG_##category) !=3D 0) = \ > + printf(fmt, ## __VA_ARGS__); \ > + } while (0) > +#else > +#define TARFS_DPF(category, fmt, ...) > +#define TARFS_DPF_IFF(category, cond, fmt, ...) > +#endif > + > +#endif /* _FS_TARFS_TARFS_DBG_H_ */ > diff --git a/sys/fs/tarfs/tarfs_io.c b/sys/fs/tarfs/tarfs_io.c > new file mode 100644 > index 000000000000..b957ac11ff51 > --- /dev/null > +++ b/sys/fs/tarfs/tarfs_io.c > @@ -0,0 +1,727 @@ > +/*- > + * SPDX-License-Identifier: BSD-2-Clause > + * > + * Copyright (c) 2013 Juniper Networks, Inc. > + * Copyright (c) 2022-2023 Klara, Inc. > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in th= e > + * documentation and/or other materials provided with the distributio= n. > + * > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AN= D > + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIAB= LE > + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > CONSEQUENTIAL > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOO= DS > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, > STRICT > + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY > WAY > + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY O= F > + * SUCH DAMAGE. > + */ > + > +#include "opt_tarfs.h" > +#include "opt_zstdio.h" > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > +#ifdef ZSTDIO > +#define ZSTD_STATIC_LINKING_ONLY > +#include > +#endif > + > +#include > +#include > + > +#ifdef TARFS_DEBUG > +SYSCTL_NODE(_vfs_tarfs, OID_AUTO, zio, CTLFLAG_RD, 0, > + "Tar filesystem decompression layer"); > +COUNTER_U64_DEFINE_EARLY(tarfs_zio_inflated); > +SYSCTL_COUNTER_U64(_vfs_tarfs_zio, OID_AUTO, inflated, CTLFLAG_RD, > + &tarfs_zio_inflated, "Amount of compressed data inflated."); > +COUNTER_U64_DEFINE_EARLY(tarfs_zio_consumed); > +SYSCTL_COUNTER_U64(_vfs_tarfs_zio, OID_AUTO, consumed, CTLFLAG_RD, > + &tarfs_zio_consumed, "Amount of compressed data consumed."); > +COUNTER_U64_DEFINE_EARLY(tarfs_zio_bounced); > +SYSCTL_COUNTER_U64(_vfs_tarfs_zio, OID_AUTO, bounced, CTLFLAG_RD, > + &tarfs_zio_bounced, "Amount of decompressed data bounced."); > + > +static int > +tarfs_sysctl_handle_zio_reset(SYSCTL_HANDLER_ARGS) > +{ > + unsigned int tmp; > + int error; > + > + tmp =3D 0; > + if ((error =3D SYSCTL_OUT(req, &tmp, sizeof(tmp))) !=3D 0) > + return (error); > + if (req->newptr !=3D NULL) { > + if ((error =3D SYSCTL_IN(req, &tmp, sizeof(tmp))) !=3D 0) > + return (error); > + counter_u64_zero(tarfs_zio_inflated); > + counter_u64_zero(tarfs_zio_consumed); > + counter_u64_zero(tarfs_zio_bounced); > + } > + return (0); > +} > + > +SYSCTL_PROC(_vfs_tarfs_zio, OID_AUTO, reset, > + CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RW, > + NULL, 0, tarfs_sysctl_handle_zio_reset, "IU", > + "Reset compression counters."); > +#endif > + > +MALLOC_DEFINE(M_TARFSZSTATE, "tarfs zstate", "tarfs decompression state"= ); > +MALLOC_DEFINE(M_TARFSZBUF, "tarfs zbuf", "tarfs decompression buffers"); > + > +#define XZ_MAGIC (uint8_t[]){ 0xfd, 0x37, 0x7a, 0x58, 0x5a= } > +#define ZLIB_MAGIC (uint8_t[]){ 0x1f, 0x8b, 0x08 } > +#define ZSTD_MAGIC (uint8_t[]){ 0x28, 0xb5, 0x2f, 0xfd } > + > +#ifdef ZSTDIO > +struct tarfs_zstd { > + ZSTD_DStream *zds; > +}; > +#endif > + > +/* XXX review use of curthread / uio_td / td_cred */ > + > +/* > + * Reads from the tar file according to the provided uio. If the archiv= e > + * is compressed and raw is false, reads the decompressed stream; > + * otherwise, reads directly from the original file. Returns 0 on succe= ss > + * and a positive errno value on failure. > + */ > +int > +tarfs_io_read(struct tarfs_mount *tmp, bool raw, struct uio *uiop) > +{ > + void *rl =3D NULL; > + off_t off =3D uiop->uio_offset; > + size_t len =3D uiop->uio_resid; > + int error; > + > + if (raw || tmp->znode =3D=3D NULL) { > + rl =3D vn_rangelock_rlock(tmp->vp, off, off + len); > + error =3D vn_lock(tmp->vp, LK_SHARED); > + if (error =3D=3D 0) { > + error =3D VOP_READ(tmp->vp, uiop, > + IO_DIRECT|IO_NODELOCKED, > + uiop->uio_td->td_ucred); > + VOP_UNLOCK(tmp->vp); > + } > + vn_rangelock_unlock(tmp->vp, rl); > + } else { > + error =3D vn_lock(tmp->znode, LK_EXCLUSIVE); > + if (error =3D=3D 0) { > + error =3D VOP_READ(tmp->znode, uiop, > + IO_DIRECT | IO_NODELOCKED, > + uiop->uio_td->td_ucred); > + VOP_UNLOCK(tmp->znode); > + } > + } > + TARFS_DPF(IO, "%s(%zu, %zu) =3D %d (resid %zd)\n", __func__, > + (size_t)off, len, error, uiop->uio_resid); > + return (error); > +} > + > +/* > + * Reads from the tar file into the provided buffer. If the archive is > + * compressed and raw is false, reads the decompressed stream; otherwise= , > + * reads directly from the original file. Returns the number of bytes > + * read on success, 0 on EOF, and a negative errno value on failure. > + */ > +ssize_t > +tarfs_io_read_buf(struct tarfs_mount *tmp, bool raw, > + void *buf, off_t off, size_t len) > +{ > + struct uio auio; > + struct iovec aiov; > + ssize_t res; > + int error; > + > + if (len =3D=3D 0) { > + TARFS_DPF(IO, "%s(%zu, %zu) null\n", __func__, > + (size_t)off, len); > + return (0); > + } > + aiov.iov_base =3D buf; > + aiov.iov_len =3D len; > + auio.uio_iov =3D &aiov; > + auio.uio_iovcnt =3D 1; > + auio.uio_offset =3D off; > + auio.uio_segflg =3D UIO_SYSSPACE; > + auio.uio_rw =3D UIO_READ; > + auio.uio_resid =3D len; > + auio.uio_td =3D curthread; > + error =3D tarfs_io_read(tmp, raw, &auio); > + if (error !=3D 0) { > + TARFS_DPF(IO, "%s(%zu, %zu) error %d\n", __func__, > + (size_t)off, len, error); > + return (-error); > + } > + res =3D len - auio.uio_resid; > + if (res =3D=3D 0 && len !=3D 0) { > + TARFS_DPF(IO, "%s(%zu, %zu) eof\n", __func__, > + (size_t)off, len); > + } else { > + TARFS_DPF(IO, "%s(%zu, %zu) read %zd | %*D\n", __func__, > + (size_t)off, len, res, > + (int)(res > 8 ? 8 : res), (uint8_t *)buf, " "); > + } > + return (res); > +} > + > +#ifdef ZSTDIO > +static void * > +tarfs_zstate_alloc(void *opaque, size_t size) > +{ > + > + (void)opaque; > + return (malloc(size, M_TARFSZSTATE, M_WAITOK)); > +} > +#endif > + > +#ifdef ZSTDIO > +static void > +tarfs_zstate_free(void *opaque, void *address) > +{ > + > + (void)opaque; > + free(address, M_TARFSZSTATE); > +} > +#endif > + > +#ifdef ZSTDIO > +static ZSTD_customMem tarfs_zstd_mem =3D { > + tarfs_zstate_alloc, > + tarfs_zstate_free, > + NULL, > +}; > +#endif > + > +/* > + * Updates the decompression frame index, recording the current input an= d > + * output offsets in a new index entry, and growing the index if > + * necessary. > + */ > +static void > +tarfs_zio_update_index(struct tarfs_zio *zio, off_t i, off_t o) > +{ > + > + if (++zio->curidx >=3D zio->nidx) { > + if (++zio->nidx > zio->szidx) { > + zio->szidx *=3D 2; > + zio->idx =3D realloc(zio->idx, > + zio->szidx * sizeof(*zio->idx), > + M_TARFSZSTATE, M_ZERO | M_WAITOK); > + TARFS_DPF(ALLOC, "%s: resized zio index\n", > __func__); > + } > + zio->idx[zio->curidx].i =3D i; > + zio->idx[zio->curidx].o =3D o; > + TARFS_DPF(ZIDX, "%s: index %u =3D i %zu o %zu\n", __func_= _, > + zio->curidx, (size_t)zio->idx[zio->curidx].i, > + (size_t)zio->idx[zio->curidx].o); > + } > + MPASS(zio->idx[zio->curidx].i =3D=3D i); > + MPASS(zio->idx[zio->curidx].o =3D=3D o); > +} > + > +/* > + * VOP_ACCESS for zio node. > + */ > +static int > +tarfs_zaccess(struct vop_access_args *ap) > +{ > + struct vnode *vp =3D ap->a_vp; > + struct tarfs_zio *zio =3D vp->v_data; > + struct tarfs_mount *tmp =3D zio->tmp; > + accmode_t accmode =3D ap->a_accmode; > + int error =3D EPERM; > + > + if (accmode =3D=3D VREAD) { > + error =3D vn_lock(tmp->vp, LK_SHARED); > + if (error =3D=3D 0) { > + error =3D VOP_ACCESS(tmp->vp, accmode, ap->a_cred= , > ap->a_td); > + VOP_UNLOCK(tmp->vp); > + } > + } > + TARFS_DPF(ZIO, "%s(%d) =3D %d\n", __func__, accmode, error); > + return (error); > +} > + > +/* > + * VOP_GETATTR for zio node. > + */ > +static int > +tarfs_zgetattr(struct vop_getattr_args *ap) > +{ > + struct vattr va; > + struct vnode *vp =3D ap->a_vp; > + struct tarfs_zio *zio =3D vp->v_data; > + struct tarfs_mount *tmp =3D zio->tmp; > + struct vattr *vap =3D ap->a_vap; > + int error =3D 0; > + > + VATTR_NULL(vap); > + error =3D vn_lock(tmp->vp, LK_SHARED); > + if (error =3D=3D 0) { > + error =3D VOP_GETATTR(tmp->vp, &va, ap->a_cred); > + VOP_UNLOCK(tmp->vp); > + if (error =3D=3D 0) { > + vap->va_type =3D VREG; > + vap->va_mode =3D va.va_mode; > + vap->va_nlink =3D 1; > + vap->va_gid =3D va.va_gid; > + vap->va_uid =3D va.va_uid; > + vap->va_fsid =3D vp->v_mount->mnt_stat.f_fsid.val= [0]; > + vap->va_fileid =3D TARFS_ZIOINO; > + vap->va_size =3D zio->idx[zio->nidx - 1].o; > + vap->va_blocksize =3D vp->v_mount->mnt_stat.f_ios= ize; > + vap->va_atime =3D va.va_atime; > + vap->va_ctime =3D va.va_ctime; > + vap->va_mtime =3D va.va_mtime; > + vap->va_birthtime =3D tmp->root->birthtime; > + vap->va_bytes =3D va.va_bytes; > + } > + } > + TARFS_DPF(ZIO, "%s() =3D %d\n", __func__, error); > + return (error); > +} > + > +#ifdef ZSTDIO > +/* > + * VOP_READ for zio node, zstd edition. > + */ > +static int > +tarfs_zread_zstd(struct tarfs_zio *zio, struct uio *uiop) > +{ > + void *ibuf =3D NULL, *obuf =3D NULL, *rl =3D NULL; > + struct uio auio; > + struct iovec aiov; > + struct tarfs_mount *tmp =3D zio->tmp; > + struct tarfs_zstd *zstd =3D zio->zstd; > + struct thread *td =3D curthread; > + ZSTD_inBuffer zib; > + ZSTD_outBuffer zob; > + off_t zsize; > + off_t ipos, opos; > + size_t ilen, olen; > + size_t zerror; > + off_t off =3D uiop->uio_offset; > + size_t len =3D uiop->uio_resid; > + size_t resid =3D uiop->uio_resid; > + size_t bsize; > + int error; > + bool reset =3D false; > + > + /* do we have to rewind? */ > + if (off < zio->opos) { > + while (zio->curidx > 0 && off < zio->idx[zio->curidx].o) > + zio->curidx--; > + reset =3D true; > + } > + /* advance to the nearest index entry */ > + if (off > zio->opos) { > + // XXX maybe do a binary search instead > + while (zio->curidx < zio->nidx - 1 && > + off >=3D zio->idx[zio->curidx + 1].o) { > + zio->curidx++; > + reset =3D true; > + } > + } > + /* reset the decompression stream if needed */ > + if (reset) { > + zio->ipos =3D zio->idx[zio->curidx].i; > + zio->opos =3D zio->idx[zio->curidx].o; > + ZSTD_resetDStream(zstd->zds); > + TARFS_DPF(ZIDX, "%s: skipping to index %u =3D i %zu o > %zu\n", __func__, > + zio->curidx, (size_t)zio->ipos, (size_t)zio->opos); > + } else { > + TARFS_DPF(ZIDX, "%s: continuing at i %zu o %zu\n", > __func__, > + (size_t)zio->ipos, (size_t)zio->opos); > + } > + > + /* > + * Set up a temporary buffer for compressed data. Use the size > + * recommended by the zstd library; this is usually 128 kB, but > + * just in case, make sure it's a multiple of the page size and n= o > + * larger than MAXBSIZE. > + */ > + bsize =3D roundup(ZSTD_CStreamOutSize(), PAGE_SIZE); > + if (bsize > MAXBSIZE) > + bsize =3D MAXBSIZE; > + ibuf =3D malloc(bsize, M_TEMP, M_WAITOK); > + zib.src =3D NULL; > + zib.size =3D 0; > + zib.pos =3D 0; > + > + /* > + * Set up the decompression buffer. If the target is not in > + * kernel space, we will have to set up a bounce buffer. > + * > + * TODO: to avoid using a bounce buffer, map destination pages > + * using vm_fault_quick_hold_pages(). > + */ > + MPASS(zio->opos <=3D off); > + MPASS(uiop->uio_iovcnt =3D=3D 1); > + MPASS(uiop->uio_iov->iov_len >=3D len); > + if (uiop->uio_segflg =3D=3D UIO_SYSSPACE) { > + zob.dst =3D uiop->uio_iov->iov_base; > + } else { > + TARFS_DPF(ALLOC, "%s: allocating %zu-byte bounce buffer\n= ", > + __func__, len); > + zob.dst =3D obuf =3D malloc(len, M_TEMP, M_WAITOK); > + } > + zob.size =3D len; > + zob.pos =3D 0; > + > + /* lock tarball */ > + rl =3D vn_rangelock_rlock(tmp->vp, zio->ipos, OFF_MAX); > + error =3D vn_lock(tmp->vp, LK_SHARED); > + if (error !=3D 0) { > + goto fail_unlocked; > + } > + /* check size */ > + error =3D vn_getsize_locked(tmp->vp, &zsize, td->td_ucred); > + if (error !=3D 0) { > + goto fail; > + } > + if (zio->ipos >=3D zsize) { > + /* beyond EOF */ > + goto fail; > + } > + > + while (resid > 0) { > + if (zib.pos =3D=3D zib.size) { > + /* request data from the underlying file */ > + aiov.iov_base =3D ibuf; > + aiov.iov_len =3D bsize; > + auio.uio_iov =3D &aiov; > + auio.uio_iovcnt =3D 1; > + auio.uio_offset =3D zio->ipos; > + auio.uio_segflg =3D UIO_SYSSPACE; > + auio.uio_rw =3D UIO_READ; > + auio.uio_resid =3D aiov.iov_len; > + auio.uio_td =3D td; > + error =3D VOP_READ(tmp->vp, &auio, > + IO_DIRECT | IO_NODELOCKED, > + td->td_ucred); > + if (error !=3D 0) > + goto fail; > + TARFS_DPF(ZIO, "%s: req %zu+%zu got %zu+%zu\n", > __func__, > + (size_t)zio->ipos, bsize, > + (size_t)zio->ipos, bsize - auio.uio_resid); > + zib.src =3D ibuf; > + zib.size =3D bsize - auio.uio_resid; > + zib.pos =3D 0; > + } > + MPASS(zib.pos <=3D zib.size); > + if (zib.pos =3D=3D zib.size) { > + TARFS_DPF(ZIO, "%s: end of file after i %zu o > %zu\n", __func__, > + (size_t)zio->ipos, (size_t)zio->opos); > + goto fail; > + } > + if (zio->opos < off) { > + /* to be discarded */ > + zob.size =3D min(off - zio->opos, len); > + zob.pos =3D 0; > *** 3111 LINES SKIPPED *** > > --000000000000931c1e05f3cfae44 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Wow, cool, thank you so much! It feels like Christma= s again. >:-) I see this being immediately useful for anyone building a = custom system to replace uzip+ufs combo, or other similar methods for creat= ing read-only compressed storage containers!

Just curious has you done some performance testing? So= mething like "worldstone" but with /usr/src mounted off tar archi= ve vs. "normal" UFS would be interesting to see.

Also, has any, even cursory, security au= dit been done on tar processing routines? Of course with functionality bein= g opt-in the onus is on the user to make sure only tars obtained from trust= ed sources are used and in a way that protects tar file content from modifi= cation by unprivileged users. However, it won't protect us from FreeBSD= looking bad in public eyes, if some high-profile institutional user of Fre= eBSD is breached by exploiting some of the vulnerability in this code few y= ears down the line when it hits RELENG branch.

<= /div>
At the very least, some big, fat warning can be adde= d into the man page to notify an user about the code being somewhat fresh a= nd not on par quality-wise with something like UFS or ZFS. Plus providing s= ome tips on best practices on how to reduce exposure when tarfs is used (no= suid mount, proper tar file permissions, trusted sources etc).

This is of course all hypothetical, = but given the history of buffer/integer overflows etc in handling user-supp= lied data in simple syscalls operating on structures of 1-2 orders of magni= tude smaller size and lower complexity, I find it unlikely that fresh-off-t= he-mill tar code won't have any. Perhaps, some automated fuzzing approa= ch can be employed to see if it can crash kernel by giving it a slightly co= rrupted but otherwise valid tar file? If Juniper sponsored the development = of this feature I suspect they may not be the ones least interested to make= sure using it won't compromise security of their products. Pure specul= ation of course on my par, but pretty reasonable at that.

Anyhow, just my few Canadian cents on the= topic, while it fresh. Thanks again for anyone involved to make this avail= able. I look forward to get my hands on it as soon as soon as I get back fr= om FOSDEM, if not sooner.

-Max

<= div dir=3D"ltr" class=3D"gmail_attr">On Thu, Feb 2, 2023, 6:20 PM Dag-Erlin= g Sm=C3=B8rgrav <des@freebsd.org> wrote:
The branch main has been updated by des:=

URL: https://cgit.FreeBSD.org/src/commit/?id=3D69= d94f4c7608e41505996559367450706e91fbb8

commit 69d94f4c7608e41505996559367450706e91fbb8
Author:=C2=A0 =C2=A0 =C2=A0Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>=
AuthorDate: 2023-02-02 17:18:41 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>=
CommitDate: 2023-02-02 17:19:29 +0000

=C2=A0 =C2=A0 Add tarfs, a filesystem backed by tarballs.

=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0Juniper Networks, Inc.
=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0Klara, Inc.
=C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 pauamma, imp
=C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews.freebsd.org/D37753
---
=C2=A0etc/mtree/BSD.tests.dist=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2= =A0 2 +
=C2=A0share/man/man5/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2= =A0 1 +
=C2=A0share/man/man5/tarfs.5=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2= =A0 103 ++++
=C2=A0sys/conf/files=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0|=C2=A0 =C2=A0 4 +
=C2=A0sys/conf/options=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0|=C2=A0 =C2=A0 4 +
=C2=A0sys/fs/tarfs/tarfs.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|= =C2=A0 254 +++++++++
=C2=A0sys/fs/tarfs/tarfs_dbg.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2= =A065 +++
=C2=A0sys/fs/tarfs/tarfs_io.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 727= +++++++++++++++++++++++
=C2=A0sys/fs/tarfs/tarfs_subr.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 603 ++++= ++++++++++++++++
=C2=A0sys/fs/tarfs/tarfs_vfsops.c=C2=A0 =C2=A0 =C2=A0 | 1173 ++++++++++++++= ++++++++++++++++++++++++
=C2=A0sys/fs/tarfs/tarfs_vnops.c=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 642 ++++= +++++++++++++++++
=C2=A0sys/kern/subr_witness.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2= =A0 6 +
=C2=A0sys/modules/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|= =C2=A0 =C2=A0 1 +
=C2=A0sys/modules/tarfs/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A023= +
=C2=A0tests/sys/fs/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2= =A0 =C2=A0 1 +
=C2=A0tests/sys/fs/tarfs/Makefile=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A010 + =C2=A0tests/sys/fs/tarfs/mktar.c=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 238 ++++= ++++
=C2=A0tests/sys/fs/tarfs/tarfs_test.sh |=C2=A0 =C2=A054 ++
=C2=A018 files changed, 3911 insertions(+)

diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist
index 0d05ecaf06fc..b4b18997b7f9 100644
--- a/etc/mtree/BSD.tests.dist
+++ b/etc/mtree/BSD.tests.dist
@@ -757,6 +757,8 @@
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0fs
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0fusefs
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0..
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 tarfs
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ..
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0tmpfs
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0..
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0..
diff --git a/share/man/man5/Makefile b/share/man/man5/Makefile
index 2d49d981c2f9..f6e91e4ed00b 100644
--- a/share/man/man5/Makefile
+++ b/share/man/man5/Makefile
@@ -70,6 +70,7 @@ MAN=3D=C2=A0 acct.5 \
=C2=A0 =C2=A0 =C2=A0 =C2=A0 style.Makefile.5 \
=C2=A0 =C2=A0 =C2=A0 =C2=A0 style.mdoc.5 \
=C2=A0 =C2=A0 =C2=A0 =C2=A0 sysctl.conf.5 \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0tarfs.5 \
=C2=A0 =C2=A0 =C2=A0 =C2=A0 tmpfs.5 \
=C2=A0 =C2=A0 =C2=A0 =C2=A0 unionfs.5

diff --git a/share/man/man5/tarfs.5 b/share/man/man5/tarfs.5
new file mode 100644
index 000000000000..b25131c323c1
--- /dev/null
+++ b/share/man/man5/tarfs.5
@@ -0,0 +1,103 @@
+.\"-
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.\" Copyright (c) 2022 Klara, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or withou= t
+.\" modification, are permitted provided that the following condition= s
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright=
+.\"=C2=A0 =C2=A0 notice, this list of conditions and the following di= sclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyri= ght
+.\"=C2=A0 =C2=A0 notice, this list of conditions and the following di= sclaimer in the
+.\"=C2=A0 =C2=A0 documentation and/or other materials provided with t= he distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS&= #39;' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,= THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULA= R PURPOSE
+.\" ARE DISCLAIMED.=C2=A0 IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR= S BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONS= EQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE= GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPT= ION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRAC= T, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN= ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILI= TY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd February 2, 2023
+.Dt TARFS 5
+.Os
+.Sh NAME
+.Nm tarfs
+.Nd tarball filesystem
+.Sh SYNOPSIS
+To compile this driver into the kernel, place the following line in
+your kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "options TARFS"
+.Ed
+.Pp
+Alternatively, to load the driver as a module at boot time, place the
+following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+tarfs_load=3D"YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver implementes a read-only filesystem backed by a
+.Xr tar 5
+file.
+Currently, only POSIX archives, optionally compressed with
+.Xr zstd 1 ,
+are supported.
+.Pp
+The preferred I/O size for
+.Nm
+filesystems can be adjusted using the
+.Va vfs.tarfs.ioshift
+sysctl setting and tunable.
+Setting it to 0 will reset it to its default value.
+Note that changes to this setting only apply to filesystems mounted
+after the change.
+.Sh DIAGNOSTICS
+If enabled by the
+.Dv TARFS_DEBUG
+kernel option, the
+.Va vfs.tarfs.debug
+sysctl setting can be used to control debugging output from the
+.Nm
+driver.
+Debugging output for individual sections of the driver can be enabled
+by adding together the relevant values from the table below.
+.Bl -column Value Description
+.It 0x01 Ta Memory allocations
+.It 0x02 Ta Checksum calculations
+.It 0x04 Ta Filesystem operations (vfsops)
+.It 0x08 Ta Path lookups
+.It 0x10 Ta File operations (vnops)
+.It 0x20 Ta General I/O
+.It 0x40 Ta Decompression
+.It 0x80 Ta Decompression index
+.It 0x100 Ta Sparse file mapping
+.El
+.Sh SEE ALSO
+.Xr tar 1 ,
+.Xr zstd 1 ,
+.Xr fstab 5 ,
+.Xr tar 5 ,
+.Xr mount 8 ,
+.Xr sysctl 8
+.Sh HISTORY
+.An -nosplit
+The
+.Nm
+driver was developed by
+.An Stephen J. Kiernan Aq Mt stevek@FreeBSD.org
+and
+.An Dag-Erling Sm=C3=B8rgrav Aq Mt des@FreeBSD.org
+for Juniper Networks and Klara Systems.
+This manual page was written by
+.An Dag-Erling Sm=C3=B8rgrav Aq Mt des@FreeBSD.org
+for Juniper Networks and Klara Systems.
diff --git a/sys/conf/files b/sys/conf/files
index 6cb4abcd9223..08966a9b46e4 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -3615,6 +3615,10 @@ fs/smbfs/smbfs_smb.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0optional smbfs
=C2=A0fs/smbfs/smbfs_subr.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 optional smbf= s
=C2=A0fs/smbfs/smbfs_vfsops.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 optional smbfs
=C2=A0fs/smbfs/smbfs_vnops.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0optional smbf= s
+fs/tarfs/tarfs_io.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 optional tarf= s compile-with "${NORMAL_C} -I$S/contrib/zstd/lib/freebsd"
+fs/tarfs/tarfs_subr.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 optional tarfs
+fs/tarfs/tarfs_vfsops.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 optional tarfs
+fs/tarfs/tarfs_vnops.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0optional tarfs
=C2=A0fs/udf/osta.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 optional udf
=C2=A0fs/udf/udf_iconv.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0opt= ional udf_iconv
=C2=A0fs/udf/udf_vfsops.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 optional= udf
diff --git a/sys/conf/options b/sys/conf/options
index 1f5003507539..3b2be66ba602 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -265,6 +265,7 @@ NULLFS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = opt_dontuse.h
=C2=A0PROCFS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0opt_dontuse.h
=C2=A0PSEUDOFS=C2=A0 =C2=A0 =C2=A0 =C2=A0opt_dontuse.h
=C2=A0SMBFS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 opt_dontuse.h
+TARFS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 opt_dontuse.h
=C2=A0TMPFS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 opt_dontuse.h
=C2=A0UDF=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 opt_dontuse.h
=C2=A0UNIONFS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 opt_do= ntuse.h
@@ -273,6 +274,9 @@ ZFS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0opt_dontuse.h
=C2=A0# Pseudofs debugging
=C2=A0PSEUDOFS_TRACE opt_pseudofs.h

+# Tarfs debugging
+TARFS_DEBUG=C2=A0 =C2=A0 opt_tarfs.h
+
=C2=A0# In-kernel GSS-API
=C2=A0KGSSAPI=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 opt_kg= ssapi.h
=C2=A0KGSSAPI_DEBUG=C2=A0 opt_kgssapi.h
diff --git a/sys/fs/tarfs/tarfs.h b/sys/fs/tarfs/tarfs.h
new file mode 100644
index 000000000000..dffd60ee6d8a
--- /dev/null
+++ b/sys/fs/tarfs/tarfs.h
@@ -0,0 +1,254 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2013 Juniper Networks, Inc.
+ * Copyright (c) 2022-2023 Klara, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *=C2=A0 =C2=A0 notice, this list of conditions and the following disclaim= er.
+ * 2. Redistributions in binary form must reproduce the above copyright + *=C2=A0 =C2=A0 notice, this list of conditions and the following disclaim= er in the
+ *=C2=A0 =C2=A0 documentation and/or other materials provided with the dis= tribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'&#= 39; AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURP= OSE
+ * ARE DISCLAIMED.=C2=A0 IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE L= IABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENT= IAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS=
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STR= ICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY W= AY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF<= br> + * SUCH DAMAGE.
+ */
+
+#ifndef=C2=A0 =C2=A0 =C2=A0 =C2=A0 _FS_TARFS_TARFS_H_
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 _FS_TARFS_TARFS_H_
+
+#ifndef _KERNEL
+#error Should only be included by kernel
+#endif
+
+MALLOC_DECLARE(M_TARFSMNT);
+MALLOC_DECLARE(M_TARFSNODE);
+MALLOC_DECLARE(M_TARFSNAME);
+
+#ifdef SYSCTL_DECL
+SYSCTL_DECL(_vfs_tarfs);
+#endif
+
+struct componentname;
+struct mount;
+struct vnode;
+
+/*
+ * Internal representation of a tarfs file system node.
+ */
+struct tarfs_node {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0TAILQ_ENTRY(tarfs_node) entries;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0TAILQ_ENTRY(tarfs_node) dirents;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct mtx=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0lock;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct vnode=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 *vnode;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_mount=C2=A0 =C2=A0 =C2=A0 *tmp; +=C2=A0 =C2=A0 =C2=A0 =C2=A0enum vtype=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0type;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ino_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 ino;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0off_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 offset;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0size;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0physize;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0char=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 *name;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0namelen;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/* Node attributes */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0uid_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 uid;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0gid_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 gid;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0mode_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0mode;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0unsigned int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0flags;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0nlink_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 nlink;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct timespec=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 atime;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct timespec=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 mtime;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct timespec=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 ctime;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct timespec=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 birthtime;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0unsigned long=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 gen;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/* Block map */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0nblk;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_blk=C2=A0 =C2=A0 =C2=A0 =C2=A0 *bl= k;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_node=C2=A0 =C2=A0 =C2=A0 =C2=A0*pa= rent;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0union {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* VDIR */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0struct {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0TAILQ_HEAD(, tarfs_node) dirhead;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0off_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 lastcookie;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0struct tarfs_node=C2=A0 =C2=A0 =C2=A0 =C2=A0*lastnode;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0} dir;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* VLNK */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0struct {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0char=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 *name;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0size_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0namelen;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0} link;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* VBLK or VCHR */<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0dev_t=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 rdev;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* VREG */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_node= =C2=A0 =C2=A0 =C2=A0 =C2=A0*other;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0};
+};
+
+/*
+ * Entry in sparse file block map.
+ */
+struct tarfs_blk {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0off_t=C2=A0 =C2=A0 i;=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0/* input (physical) offset */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0off_t=C2=A0 =C2=A0 o;=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0/* output (logical) offset */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t=C2=A0 =C2=A0l;=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0/* length */
+};
+
+/*
+ * Decompression buffer.
+ */
+#define TARFS_ZBUF_SIZE 1048576
+struct tarfs_zbuf {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0u_char=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= buf[TARFS_ZBUF_SIZE];
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= off; /* offset of contents */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= len; /* length of contents */
+};
+
+/*
+ * Internal representation of a tarfs mount point.
+ */
+struct tarfs_mount {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0TAILQ_HEAD(, tarfs_node) allnodes;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct mtx=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0allnode_lock;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_node=C2=A0 =C2=A0 =C2=A0 =C2=A0*ro= ot;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct vnode=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 *vp;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct mount=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 *vfs;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ino_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 ino;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct unrhdr=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0*ino_unr;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0iosize;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0nblocks;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0nfiles;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0time_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0mtime; /* default mtime for directories */
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_zio=C2=A0 =C2=A0 =C2=A0 =C2=A0 *zi= o;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct vnode=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 *znode;
+};
+
+struct tarfs_zio {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_mount=C2=A0 =C2=A0 =C2=A0 *tmp; +
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/* decompression state */
+#ifdef ZSTDIO
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_zstd=C2=A0 =C2=A0 =C2=A0 =C2=A0*zs= td; /* decompression state (zstd) */
+#endif
+=C2=A0 =C2=A0 =C2=A0 =C2=A0off_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 ipos; /* current input position */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0off_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 opos; /* current output position */
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/* index of compression frames */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0unsigned int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0curidx; /* current index position*/
+=C2=A0 =C2=A0 =C2=A0 =C2=A0unsigned int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0nidx; /* number of index entries */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0unsigned int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0szidx; /* index capacity */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_idx { off_t i, o; } *idx;
+};
+
+struct tarfs_fid {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0u_short=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 len;=C2=A0 =C2=A0/* length of data in bytes */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0u_short=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 data0; /* force alignment */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ino_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 ino;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0unsigned long=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 gen;
+};
+
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_NODE_LOCK(tnp) \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0mtx_lock(&(tnp)->lock)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_NODE_UNLOCK(tnp) \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0mtx_unlock(&(tnp)->lock)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_ALLNODES_LOCK(tnp) \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0mtx_lock(&(tmp)->allnode_lock)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_ALLNODES_UNLOCK(tnp) \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0mtx_unlock(&(tmp)->allnode_lock)
+
+/*
+ * Data and metadata within tar files are aligned on 512-byte boundaries,<= br> + * to match the block size of the magnetic tapes they were originally
+ * intended for.
+ */
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_BSHIFT=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 9
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_BLOCKSIZE=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0(size_t)(1U << TARFS_BSHIFT)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_BLKOFF(l)=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0((l) % TARFS_BLOCKSIZE)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_BLKNUM(l)=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0((l) >> TARFS_BSHIFT)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_SZ2BLKS(sz)=C2=A0 =C2=A0 =C2=A0 = =C2=A0(((sz) + TARFS_BLOCKSIZE - 1) / TARFS_BLOCKSIZE)
+
+/*
+ * Our preferred I/O size.
+ */
+extern unsigned int tarfs_ioshift;
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_IOSHIFT_MIN=C2=A0 =C2=A0 =C2=A0 = =C2=A0TARFS_BSHIFT
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_IOSHIFT_DEFAULT=C2=A0 =C2=A0PAGE_= SHIFT
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_IOSHIFT_MAX=C2=A0 =C2=A0 =C2=A0 = =C2=A0PAGE_SHIFT
+
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_ROOTINO=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0((ino_t)3)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_ZIOINO=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 ((ino_t)4)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_MININO=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 ((ino_t)65535)
+
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_COOKIE_DOT=C2=A0 =C2=A0 =C2=A0 = =C2=A0 0
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_COOKIE_DOTDOT=C2=A0 =C2=A0 =C2=A0= 1
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_COOKIE_EOF=C2=A0 =C2=A0 =C2=A0 = =C2=A0 OFF_MAX
+
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_ZIO_NAME=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 ".tar"
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_ZIO_NAMELEN=C2=A0 =C2=A0 =C2=A0 = =C2=A0(sizeof(TARFS_ZIO_NAME) - 1)
+
+extern struct vop_vector tarfs_vnodeops;
+
+static inline
+struct tarfs_mount *
+MP_TO_TARFS_MOUNT(struct mount *mp)
+{
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0MPASS(mp !=3D NULL && mp->mnt_data != =3D NULL);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0return (mp->mnt_data);
+}
+
+static inline
+struct tarfs_node *
+VP_TO_TARFS_NODE(struct vnode *vp)
+{
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0MPASS(vp !=3D NULL && vp->v_data != =3D NULL);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0return (vp->v_data);
+}
+
+int=C2=A0 =C2=A0 tarfs_alloc_node(struct tarfs_mount *tmp, const char *nam= e,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0size_t namelen, enum vtype type, = off_t off, size_t sz,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0time_t mtime, uid_t uid, gid_t gi= d, mode_t mode,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0unsigned int flags, const char *l= inkname, dev_t rdev,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_node *parent, struct= tarfs_node **node);
+int=C2=A0 =C2=A0 tarfs_load_blockmap(struct tarfs_node *tnp, size_t realsi= ze);
+void=C2=A0 =C2=A0tarfs_dump_tree(struct tarfs_node *tnp);
+void=C2=A0 =C2=A0tarfs_free_node(struct tarfs_node *tnp);
+struct tarfs_node *
+=C2=A0 =C2=A0 =C2=A0 =C2=A0tarfs_lookup_dir(struct tarfs_node *tnp, off_t = cookie);
+struct tarfs_node *
+=C2=A0 =C2=A0 =C2=A0 =C2=A0tarfs_lookup_node(struct tarfs_node *tnp, struc= t tarfs_node *f,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0struct componentname *cnp);
+void=C2=A0 =C2=A0tarfs_print_node(struct tarfs_node *tnp);
+int=C2=A0 =C2=A0 tarfs_read_file(struct tarfs_node *tnp, size_t len, struc= t uio *uiop);
+
+int=C2=A0 =C2=A0 tarfs_io_init(struct tarfs_mount *tmp);
+int=C2=A0 =C2=A0 tarfs_io_fini(struct tarfs_mount *tmp);
+int=C2=A0 =C2=A0 tarfs_io_read(struct tarfs_mount *tmp, bool raw,
+=C2=A0 =C2=A0 struct uio *uiop);
+ssize_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 tarfs_io_read_buf(struct tarfs_mount *t= mp, bool raw,
+=C2=A0 =C2=A0 void *buf, off_t off, size_t len);
+unsigned int
+=C2=A0 =C2=A0 =C2=A0 =C2=A0tarfs_strtofflags(const char *str, char **end);=
+
+#endif /* _FS_TARFS_TARFS_H_ */
diff --git a/sys/fs/tarfs/tarfs_dbg.h b/sys/fs/tarfs/tarfs_dbg.h
new file mode 100644
index 000000000000..45d11d679719
--- /dev/null
+++ b/sys/fs/tarfs/tarfs_dbg.h
@@ -0,0 +1,65 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2013 Juniper Networks, Inc.
+ * Copyright (c) 2022 Klara, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *=C2=A0 =C2=A0 notice, this list of conditions and the following disclaim= er.
+ * 2. Redistributions in binary form must reproduce the above copyright + *=C2=A0 =C2=A0 notice, this list of conditions and the following disclaim= er in the
+ *=C2=A0 =C2=A0 documentation and/or other materials provided with the dis= tribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'&#= 39; AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURP= OSE
+ * ARE DISCLAIMED.=C2=A0 IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE L= IABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENT= IAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS=
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STR= ICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY W= AY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF<= br> + * SUCH DAMAGE.
+ */
+
+#ifndef=C2=A0 =C2=A0 =C2=A0 =C2=A0 _FS_TARFS_TARFS_DBG_H_
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 _FS_TARFS_TARFS_DBG_H_
+
+#ifndef _KERNEL
+#error Should only be included by kernel
+#endif
+
+#ifdef TARFS_DEBUG
+extern int tarfs_debug;
+
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DEBUG_ALLOC=C2=A0 =C2=A0 =C2=A0 = =C2=A00x01
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DEBUG_CHECKSUM=C2=A0 =C2=A0 0x02<= br> +#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DEBUG_FS=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 0x04
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DEBUG_LOOKUP=C2=A0 =C2=A0 =C2=A0 = 0x08
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DEBUG_VNODE=C2=A0 =C2=A0 =C2=A0 = =C2=A00x10
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DEBUG_IO=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 0x20
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DEBUG_ZIO=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A00x40
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DEBUG_ZIDX=C2=A0 =C2=A0 =C2=A0 = =C2=A0 0x80
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DEBUG_MAP=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A00x100
+
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DPF(category, fmt, ...)=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\
+=C2=A0 =C2=A0 =C2=A0 =C2=A0do {=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if ((tarfs_debug &a= mp; TARFS_DEBUG_##category) !=3D 0)=C2=A0 =C2=A0 =C2=A0 =C2=A0 \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0printf(fmt, ## __VA_ARGS__);=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0} while (0)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DPF_IFF(category, cond, fmt, ...)= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0\
+=C2=A0 =C2=A0 =C2=A0 =C2=A0do {=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if ((cond)=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&= & (tarfs_debug & TARFS_DEBUG_##category) !=3D 0)=C2=A0 =C2=A0 =C2= =A0\
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0printf(fmt, ## __VA_ARGS__);=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \
+=C2=A0 =C2=A0 =C2=A0 =C2=A0} while (0)
+#else
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DPF(category, fmt, ...)
+#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 TARFS_DPF_IFF(category, cond, fmt, ...)=
+#endif
+
+#endif /* _FS_TARFS_TARFS_DBG_H_ */
diff --git a/sys/fs/tarfs/tarfs_io.c b/sys/fs/tarfs/tarfs_io.c
new file mode 100644
index 000000000000..b957ac11ff51
--- /dev/null
+++ b/sys/fs/tarfs/tarfs_io.c
@@ -0,0 +1,727 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2013 Juniper Networks, Inc.
+ * Copyright (c) 2022-2023 Klara, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *=C2=A0 =C2=A0 notice, this list of conditions and the following disclaim= er.
+ * 2. Redistributions in binary form must reproduce the above copyright + *=C2=A0 =C2=A0 notice, this list of conditions and the following disclaim= er in the
+ *=C2=A0 =C2=A0 documentation and/or other materials provided with the dis= tribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'&#= 39; AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURP= OSE
+ * ARE DISCLAIMED.=C2=A0 IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE L= IABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENT= IAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS=
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STR= ICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY W= AY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF<= br> + * SUCH DAMAGE.
+ */
+
+#include "opt_tarfs.h"
+#include "opt_zstdio.h"
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/counter.h>
+#include <sys/bio.h>
+#include <sys/buf.h>
+#include <sys/malloc.h>
+#include <sys/mount.h>
+#include <sys/sysctl.h>
+#include <sys/uio.h>
+#include <sys/vnode.h>
+
+#ifdef ZSTDIO
+#define ZSTD_STATIC_LINKING_ONLY
+#include <contrib/zstd/lib/zstd.h>
+#endif
+
+#include <fs/tarfs/tarfs.h>
+#include <fs/tarfs/tarfs_dbg.h>
+
+#ifdef TARFS_DEBUG
+SYSCTL_NODE(_vfs_tarfs, OID_AUTO, zio, CTLFLAG_RD, 0,
+=C2=A0 =C2=A0 "Tar filesystem decompression layer");
+COUNTER_U64_DEFINE_EARLY(tarfs_zio_inflated);
+SYSCTL_COUNTER_U64(_vfs_tarfs_zio, OID_AUTO, inflated, CTLFLAG_RD,
+=C2=A0 =C2=A0 &tarfs_zio_inflated, "Amount of compressed data inf= lated.");
+COUNTER_U64_DEFINE_EARLY(tarfs_zio_consumed);
+SYSCTL_COUNTER_U64(_vfs_tarfs_zio, OID_AUTO, consumed, CTLFLAG_RD,
+=C2=A0 =C2=A0 &tarfs_zio_consumed, "Amount of compressed data con= sumed.");
+COUNTER_U64_DEFINE_EARLY(tarfs_zio_bounced);
+SYSCTL_COUNTER_U64(_vfs_tarfs_zio, OID_AUTO, bounced, CTLFLAG_RD,
+=C2=A0 =C2=A0 &tarfs_zio_bounced, "Amount of decompressed data bo= unced.");
+
+static int
+tarfs_sysctl_handle_zio_reset(SYSCTL_HANDLER_ARGS)
+{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0unsigned int tmp;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0int error;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0tmp =3D 0;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if ((error =3D SYSCTL_OUT(req, &tmp, sizeof= (tmp))) !=3D 0)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (error);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (req->newptr !=3D NULL) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if ((error =3D SYSC= TL_IN(req, &tmp, sizeof(tmp))) !=3D 0)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0return (error);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0counter_u64_zero(ta= rfs_zio_inflated);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0counter_u64_zero(ta= rfs_zio_consumed);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0counter_u64_zero(ta= rfs_zio_bounced);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0return (0);
+}
+
+SYSCTL_PROC(_vfs_tarfs_zio, OID_AUTO, reset,
+=C2=A0 =C2=A0 CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RW,
+=C2=A0 =C2=A0 NULL, 0, tarfs_sysctl_handle_zio_reset, "IU",
+=C2=A0 =C2=A0 "Reset compression counters.");
+#endif
+
+MALLOC_DEFINE(M_TARFSZSTATE, "tarfs zstate", "tarfs decompr= ession state");
+MALLOC_DEFINE(M_TARFSZBUF, "tarfs zbuf", "tarfs decompressi= on buffers");
+
+#define XZ_MAGIC=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(ui= nt8_t[]){ 0xfd, 0x37, 0x7a, 0x58, 0x5a }
+#define ZLIB_MAGIC=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(uint8_t= []){ 0x1f, 0x8b, 0x08 }
+#define ZSTD_MAGIC=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(uint8_t= []){ 0x28, 0xb5, 0x2f, 0xfd }
+
+#ifdef ZSTDIO
+struct tarfs_zstd {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ZSTD_DStream *zds;
+};
+#endif
+
+/* XXX review use of curthread / uio_td / td_cred */
+
+/*
+ * Reads from the tar file according to the provided uio.=C2=A0 If the arc= hive
+ * is compressed and raw is false, reads the decompressed stream;
+ * otherwise, reads directly from the original file.=C2=A0 Returns 0 on su= ccess
+ * and a positive errno value on failure.
+ */
+int
+tarfs_io_read(struct tarfs_mount *tmp, bool raw, struct uio *uiop)
+{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0void *rl =3D NULL;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0off_t off =3D uiop->uio_offset;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t len =3D uiop->uio_resid;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0int error;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (raw || tmp->znode =3D=3D NULL) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0rl =3D vn_rangelock= _rlock(tmp->vp, off, off + len);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0error =3D vn_lock(t= mp->vp, LK_SHARED);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (error =3D=3D 0)= {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0error =3D VOP_READ(tmp->vp, uiop,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0IO_DIRECT|IO_NODELOCKED,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0uiop->uio_td->td_ucred);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0VOP_UNLOCK(tmp->vp);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0vn_rangelock_unlock= (tmp->vp, rl);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0} else {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0error =3D vn_lock(t= mp->znode, LK_EXCLUSIVE);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (error =3D=3D 0)= {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0error =3D VOP_READ(tmp->znode, uiop,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0IO_DIRECT | IO_NODELOCKED,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0uiop->uio_td->td_ucred);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0VOP_UNLOCK(tmp->znode);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(IO, "%s(%zu, %zu) =3D %d (resid = %zd)\n", __func__,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(size_t)off, len, error, uiop->= ;uio_resid);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0return (error);
+}
+
+/*
+ * Reads from the tar file into the provided buffer.=C2=A0 If the archive = is
+ * compressed and raw is false, reads the decompressed stream; otherwise,<= br> + * reads directly from the original file.=C2=A0 Returns the number of byte= s
+ * read on success, 0 on EOF, and a negative errno value on failure.
+ */
+ssize_t
+tarfs_io_read_buf(struct tarfs_mount *tmp, bool raw,
+=C2=A0 =C2=A0 void *buf, off_t off, size_t len)
+{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct uio auio;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct iovec aiov;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ssize_t res;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0int error;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (len =3D=3D 0) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(IO, "= ;%s(%zu, %zu) null\n", __func__,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(size= _t)off, len);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (0);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0aiov.iov_base =3D buf;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0aiov.iov_len =3D len;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0auio.uio_iov =3D &aiov;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0auio.uio_iovcnt =3D 1;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0auio.uio_offset =3D off;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0auio.uio_segflg =3D UIO_SYSSPACE;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0auio.uio_rw =3D UIO_READ;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0auio.uio_resid =3D len;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0auio.uio_td =3D curthread;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0error =3D tarfs_io_read(tmp, raw, &auio); +=C2=A0 =C2=A0 =C2=A0 =C2=A0if (error !=3D 0) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(IO, "= ;%s(%zu, %zu) error %d\n", __func__,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(size= _t)off, len, error);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (-error); +=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0res =3D len - auio.uio_resid;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (res =3D=3D 0 && len !=3D 0) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(IO, "= ;%s(%zu, %zu) eof\n", __func__,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(size= _t)off, len);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0} else {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(IO, "= ;%s(%zu, %zu) read %zd | %*D\n", __func__,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(size= _t)off, len, res,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(int)= (res > 8 ? 8 : res), (uint8_t *)buf, " ");
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0return (res);
+}
+
+#ifdef ZSTDIO
+static void *
+tarfs_zstate_alloc(void *opaque, size_t size)
+{
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0(void)opaque;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0return (malloc(size, M_TARFSZSTATE, M_WAITOK));=
+}
+#endif
+
+#ifdef ZSTDIO
+static void
+tarfs_zstate_free(void *opaque, void *address)
+{
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0(void)opaque;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0free(address, M_TARFSZSTATE);
+}
+#endif
+
+#ifdef ZSTDIO
+static ZSTD_customMem tarfs_zstd_mem =3D {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0tarfs_zstate_alloc,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0tarfs_zstate_free,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0NULL,
+};
+#endif
+
+/*
+ * Updates the decompression frame index, recording the current input and<= br> + * output offsets in a new index entry, and growing the index if
+ * necessary.
+ */
+static void
+tarfs_zio_update_index(struct tarfs_zio *zio, off_t i, off_t o)
+{
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (++zio->curidx >=3D zio->nidx) { +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (++zio->nidx = > zio->szidx) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0zio->szidx *=3D 2;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0zio->idx =3D realloc(zio->idx,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0zio->szidx * sizeof(*zio->idx),
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0M_TARFSZSTATE, M_ZERO | M_WAITOK);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0TARFS_DPF(ALLOC, "%s: resized zio index\n", __func__);<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0zio->idx[zio->= ;curidx].i =3D i;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0zio->idx[zio->= ;curidx].o =3D o;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(ZIDX, &qu= ot;%s: index %u =3D i %zu o %zu\n", __func__,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0zio-&= gt;curidx, (size_t)zio->idx[zio->curidx].i,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(size= _t)zio->idx[zio->curidx].o);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0MPASS(zio->idx[zio->curidx].i =3D=3D i);<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0MPASS(zio->idx[zio->curidx].o =3D=3D o);<= br> +}
+
+/*
+ * VOP_ACCESS for zio node.
+ */
+static int
+tarfs_zaccess(struct vop_access_args *ap)
+{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct vnode *vp =3D ap->a_vp;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_zio *zio =3D vp->v_data;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_mount *tmp =3D zio->tmp;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0accmode_t accmode =3D ap->a_accmode;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0int error =3D EPERM;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (accmode =3D=3D VREAD) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0error =3D vn_lock(t= mp->vp, LK_SHARED);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (error =3D=3D 0)= {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0error =3D VOP_ACCESS(tmp->vp, accmode, ap->a_cred, ap->a= _td);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0VOP_UNLOCK(tmp->vp);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(ZIO, "%s(%d) =3D %d\n", __f= unc__, accmode, error);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0return (error);
+}
+
+/*
+ * VOP_GETATTR for zio node.
+ */
+static int
+tarfs_zgetattr(struct vop_getattr_args *ap)
+{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct vattr va;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct vnode *vp =3D ap->a_vp;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_zio *zio =3D vp->v_data;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_mount *tmp =3D zio->tmp;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct vattr *vap =3D ap->a_vap;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0int error =3D 0;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0VATTR_NULL(vap);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0error =3D vn_lock(tmp->vp, LK_SHARED);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (error =3D=3D 0) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0error =3D VOP_GETAT= TR(tmp->vp, &va, ap->a_cred);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0VOP_UNLOCK(tmp->= vp);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (error =3D=3D 0)= {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_type =3D VREG;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_mode =3D va.va_mode;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_nlink =3D 1;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_gid =3D va.va_gid;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_uid =3D va.va_uid;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_fsid =3D vp->v_mount->mnt_stat.f_fsid.val[0]; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_fileid =3D TARFS_ZIOINO;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_size =3D zio->idx[zio->nidx - 1].o;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_blocksize =3D vp->v_mount->mnt_stat.f_iosize; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_atime =3D va.va_atime;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_ctime =3D va.va_ctime;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_mtime =3D va.va_mtime;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_birthtime =3D tmp->root->birthtime;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0vap->va_bytes =3D va.va_bytes;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(ZIO, "%s() =3D %d\n", __fun= c__, error);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0return (error);
+}
+
+#ifdef ZSTDIO
+/*
+ * VOP_READ for zio node, zstd edition.
+ */
+static int
+tarfs_zread_zstd(struct tarfs_zio *zio, struct uio *uiop)
+{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0void *ibuf =3D NULL, *obuf =3D NULL, *rl =3D NU= LL;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct uio auio;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct iovec aiov;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_mount *tmp =3D zio->tmp;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct tarfs_zstd *zstd =3D zio->zstd;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0struct thread *td =3D curthread;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ZSTD_inBuffer zib;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ZSTD_outBuffer zob;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0off_t zsize;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0off_t ipos, opos;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t ilen, olen;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t zerror;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0off_t off =3D uiop->uio_offset;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t len =3D uiop->uio_resid;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t resid =3D uiop->uio_resid;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0size_t bsize;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0int error;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0bool reset =3D false;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/* do we have to rewind? */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (off < zio->opos) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0while (zio->curi= dx > 0 && off < zio->idx[zio->curidx].o)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0zio->curidx--;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0reset =3D true;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/* advance to the nearest index entry */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (off > zio->opos) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0// XXX maybe do a b= inary search instead
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0while (zio->curi= dx < zio->nidx - 1 &&
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0off &= gt;=3D zio->idx[zio->curidx + 1].o) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0zio->curidx++;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0reset =3D true;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/* reset the decompression stream if needed */<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0if (reset) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0zio->ipos =3D zi= o->idx[zio->curidx].i;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0zio->opos =3D zi= o->idx[zio->curidx].o;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ZSTD_resetDStream(z= std->zds);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(ZIDX, &qu= ot;%s: skipping to index %u =3D i %zu o %zu\n", __func__,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0zio-&= gt;curidx, (size_t)zio->ipos, (size_t)zio->opos);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0} else {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(ZIDX, &qu= ot;%s: continuing at i %zu o %zu\n", __func__,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(size= _t)zio->ipos, (size_t)zio->opos);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/*
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 * Set up a temporary buffer for compressed dat= a.=C2=A0 Use the size
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 * recommended by the zstd library; this is usu= ally 128 kB, but
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 * just in case, make sure it's a multiple = of the page size and no
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 * larger than MAXBSIZE.
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0bsize =3D roundup(ZSTD_CStreamOutSize(), PAGE_S= IZE);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (bsize > MAXBSIZE)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0bsize =3D MAXBSIZE;=
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ibuf =3D malloc(bsize, M_TEMP, M_WAITOK);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0zib.src =3D NULL;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0zib.size =3D 0;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0zib.pos =3D 0;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/*
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 * Set up the decompression buffer.=C2=A0 If th= e target is not in
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 * kernel space, we will have to set up a bounc= e buffer.
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 *
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 * TODO: to avoid using a bounce buffer, map de= stination pages
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 * using vm_fault_quick_hold_pages().
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0MPASS(zio->opos <=3D off);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0MPASS(uiop->uio_iovcnt =3D=3D 1);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0MPASS(uiop->uio_iov->iov_len >=3D len)= ;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (uiop->uio_segflg =3D=3D UIO_SYSSPACE) {<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0zob.dst =3D uiop-&g= t;uio_iov->iov_base;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0} else {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0TARFS_DPF(ALLOC, &q= uot;%s: allocating %zu-byte bounce buffer\n",
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0__fun= c__, len);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0zob.dst =3D obuf = =3D malloc(len, M_TEMP, M_WAITOK);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0zob.size =3D len;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0zob.pos =3D 0;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/* lock tarball */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0rl =3D vn_rangelock_rlock(tmp->vp, zio->i= pos, OFF_MAX);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0error =3D vn_lock(tmp->vp, LK_SHARED);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (error !=3D 0) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0goto fail_unlocked;=
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0/* check size */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0error =3D vn_getsize_locked(tmp->vp, &zs= ize, td->td_ucred);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (error !=3D 0) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0goto fail;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (zio->ipos >=3D zsize) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* beyond EOF */ +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0goto fail;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0while (resid > 0) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (zib.pos =3D=3D = zib.size) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0/* request data from the underlying file */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0aiov.iov_base =3D ibuf;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0aiov.iov_len =3D bsize;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0auio.uio_iov =3D &aiov;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0auio.uio_iovcnt =3D 1;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0auio.uio_offset =3D zio->ipos;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0auio.uio_segflg =3D UIO_SYSSPACE;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0auio.uio_rw =3D UIO_READ;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0auio.uio_resid =3D aiov.iov_len;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0auio.uio_td =3D td;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0error =3D VOP_READ(tmp->vp, &auio,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0IO_DIRECT | IO_NODELOCKED,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0td->td_ucred);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0if (error !=3D 0)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0goto fail;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0TARFS_DPF(ZIO, "%s: req %zu+%zu got %zu+%zu\n", __func_= _,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0(size_t)zio->ipos, bsize,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0(size_t)zio->ipos, bsize - auio.uio_resid);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0zib.src =3D ibuf;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0zib.size =3D bsize - auio.uio_resid;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0zib.pos =3D 0;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MPASS(zib.pos <= =3D zib.size);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (zib.pos =3D=3D = zib.size) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0TARFS_DPF(ZIO, "%s: end of file after i %zu o %zu\n", _= _func__,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0(size_t)zio->ipos, (size_t)zio->opos);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0goto fail;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (zio->opos &l= t; off) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0/* to be discarded */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0zob.size =3D min(off - zio->opos, len);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0zob.pos =3D 0;
*** 3111 LINES SKIPPED ***

--000000000000931c1e05f3cfae44-- From nobody Fri Feb 3 19:07:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7lXr5p7Qz3kdsw; Fri, 3 Feb 2023 19:07:56 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4P7lXr1qB6z4M1N; Fri, 3 Feb 2023 19:07:56 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.16.1/8.16.1) with ESMTPS id 313J7ntT036067 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 3 Feb 2023 21:07:52 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 313J7ntT036067 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 313J7ndG036066; Fri, 3 Feb 2023 21:07:49 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 3 Feb 2023 21:07:49 +0200 From: Konstantin Belousov To: Dag-Erling =?utf-8?B?U23DuHJncmF2?= Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 69d94f4c7608 - main - Add tarfs, a filesystem backed by tarballs. Message-ID: References: <202302021720.312HKDQG099212@gitrepo.freebsd.org> <86y1pf2k1g.fsf@ltc.des.no> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <86y1pf2k1g.fsf@ltc.des.no> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Rspamd-Queue-Id: 4P7lXr1qB6z4M1N X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Fri, Feb 03, 2023 at 10:08:27AM +0100, Dag-Erling Smørgrav wrote: > Konstantin Belousov writes: > > In tarfs_reclaim(), neither vnode_destroy_vobject() nor cache_purge() calls > > are not needed. > > Does this also apply to tarfs_zreclaim()? This is true for any VOP_RECLAIM implementation. vgonle() handles cache purge. Also it handles VM-related cleanup and buffer cache cleanup, in the correct order. From nobody Fri Feb 3 19:34:18 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7m7G4k5jz3kgCj; Fri, 3 Feb 2023 19:34: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 4P7m7G4Cq3z3Bsr; Fri, 3 Feb 2023 19:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6/f33ZBL4FNZ0n+fU/brYano0P3s940iEubMlifg268=; b=O1xs8mdDDFwXHlfqq5FcUGMbk8b7Cf2CKbBOPmuKwlkEK5K+u09MHGfgu3rK83HAj+L14Q WPREwwx4vZ9hZ/hKQHy3KSh0qgBuLyN8MM1V+hNwnLSMaex0jQaMxcps2+sVHpGMu/uAUj DQPiY7nDV9IGN9Rpn28HfC5hukjnKcqRvmyM7zhkdr8ieEUpa6pKPP0LPntxbTyfl+5Okr TFaUsJ/IL3i4/wI7ArxjivSkCRp90JG2p5ImC38cCHHcG8oVIgICRLNmRDTCEtUEYw54+m 7CnJIybdwVzI8Vsmd9AcngInfa7dGochzvefob71Q6o6ydgIdImnfoRtpyGCxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6/f33ZBL4FNZ0n+fU/brYano0P3s940iEubMlifg268=; b=t+fTic9U80cZqRCJaYsc5IfAjtBKGADbDhJdeFxaC5FNuGE4Ecl9nzVcBlC33a8RHcH2ja Nx5w2AeT1VMBj8wtozVSjcLsBpdG+EKJlhAkkaRVMQl8TEx+EndI/5YgWL9POwOOcz6mBq JYOUHT7BJufQKXYn/xyFeCpB1IvS4V+95DGlvTHzXqVFP5R5hhHXBwAqZeXMKr/V/UsmnV sdgZgDODZ1H42/J8qWZAyydBS/AD0V6JgsTQsVa9xs4Fi0ykgndLX+xYP8MHjUb6DCXSVh XdVd+xyvSLnTQBFYq54YK90/Qb3q8VAMamzAU9ZTdZYIRma51cv4yKmCTFOt8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675452858; a=rsa-sha256; cv=none; b=ILt9Kp2T7ZlTmUBwUEPnphcOE3tESUgFFENH3/+oXozRVHiKp9IU8ujR0FfQ9orCKrF6zl wZCXfd6I8KwIWQxKpjVPJj2g08kNqxt0qNhhHYA/oIzYPqf1xguPLf1OvYNd50uNBPXAVC jncOU2WLjKilHLFZIwE9fcvg3Ai9i//rsYGPwFN95uo4SPn2JAmoBtvhopL/Pssgx/CjOi bZ9MxVk7U1EYQoMQTe4INATDiGy3n8455J99A/tuSJsyxpAzu3N405Wg8aDP/FvfVOup08 k1zEzgBuOj0Sl+VyqAL2gbX/SLUzC5g+pdoFcrnAAKw7DD1kG5Cwi23cKpbXDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7m7G394YzmZB; Fri, 3 Feb 2023 19:34:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313JYILG041365; Fri, 3 Feb 2023 19:34:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313JYIGX041364; Fri, 3 Feb 2023 19:34:18 GMT (envelope-from git) Date: Fri, 3 Feb 2023 19:34:18 GMT Message-Id: <202302031934.313JYIGX041364@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 76f1499ff5e7 - main - tcp: retire net.inet.tcp.tcp_require_unique_port List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 76f1499ff5e7b6a2d558d8cb576de5f77b35a7dc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=76f1499ff5e7b6a2d558d8cb576de5f77b35a7dc commit 76f1499ff5e7b6a2d558d8cb576de5f77b35a7dc Author: Gleb Smirnoff AuthorDate: 2023-02-03 19:33:35 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-03 19:33:35 +0000 tcp: retire net.inet.tcp.tcp_require_unique_port It was a safe belt just in case if the new port allocation behaviour introduced in 25102351509 would cause a problem. Reviewed by: markj, rscheff, tuexen Differential revision: https://reviews.freebsd.org/D38353 --- share/man/man4/tcp.4 | 6 +----- sys/netinet/tcp_usrreq.c | 35 +++++------------------------------ 2 files changed, 6 insertions(+), 35 deletions(-) diff --git a/share/man/man4/tcp.4 b/share/man/man4/tcp.4 index dea7da9054d0..ce27705f7eda 100644 --- a/share/man/man4/tcp.4 +++ b/share/man/man4/tcp.4 @@ -34,7 +34,7 @@ .\" From: @(#)tcp.4 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd November 7, 2022 +.Dd February 3, 2023 .Dt TCP 4 .Os .Sh NAME @@ -843,10 +843,6 @@ Maximum size of automatic receive buffer. Initial .Tn TCP receive window (buffer size). -.It Va require_unique_port -Require unique ephemeral port for outgoing connections; -otherwise, the 4-tuple of local and remote ports and addresses must be unique. -Requiring a unique port limits the number of outgoing connections. .It Va rexmit_drop_options Drop TCP options from third and later retransmitted SYN segments of a connection. diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 47e635ba1faa..8cc5894171de 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -131,16 +131,6 @@ static void tcp_fill_info(struct tcpcb *, struct tcp_info *); static int tcp_pru_options_support(struct tcpcb *tp, int flags); -/* - * tcp_require_unique port requires a globally-unique source port for each - * outgoing connection. The default is to require the 4-tuple to be unique. - */ -VNET_DEFINE(int, tcp_require_unique_port) = 0; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, require_unique_port, - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(tcp_require_unique_port), 0, - "Require globally-unique ephemeral port for outgoing connections"); -#define V_tcp_require_unique_port VNET(tcp_require_unique_port) - /* * TCP attaches to socket via pru_attach(), reserving space, * and an internet control block. @@ -1421,14 +1411,8 @@ tcp_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) NET_EPOCH_ASSERT(); INP_WLOCK_ASSERT(inp); - INP_HASH_WLOCK(&V_tcbinfo); - - if (V_tcp_require_unique_port && inp->inp_lport == 0) { - error = in_pcbbind(inp, (struct sockaddr *)0, td->td_ucred); - if (error) - goto out; - } + INP_HASH_WLOCK(&V_tcbinfo); /* * Cannot simply call in_pcbconnect, because there might be an * earlier incarnation of this same connection still in @@ -1490,17 +1474,12 @@ tcp6_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) int error; INP_WLOCK_ASSERT(inp); - INP_HASH_WLOCK(&V_tcbinfo); - if (V_tcp_require_unique_port && inp->inp_lport == 0) { - error = in6_pcbbind(inp, (struct sockaddr *)0, td->td_ucred); - if (error) - goto out; - } + INP_HASH_WLOCK(&V_tcbinfo); error = in6_pcbconnect(inp, nam, td->td_ucred); - if (error != 0) - goto out; INP_HASH_WUNLOCK(&V_tcbinfo); + if (error != 0) + return (error); /* Compute window scaling to request. */ while (tp->request_r_scale < TCP_MAX_WINSHIFT && @@ -1515,11 +1494,7 @@ tcp6_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) tp->ts_offset = tcp_new_ts_offset(&inp->inp_inc); tcp_sendseqinit(tp); - return 0; - -out: - INP_HASH_WUNLOCK(&V_tcbinfo); - return error; + return (0); } #endif /* INET6 */ From nobody Fri Feb 3 19:34:19 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7m7H6qZfz3kg9P; Fri, 3 Feb 2023 19:34: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 4P7m7H4ndGz4QkJ; Fri, 3 Feb 2023 19:34:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NthoKb1Ce3KYmUBXxnIQdO8TdIbv3QcPf4fAkzPHm94=; b=B4MNho9y96vx3aJbLGaYUN1D+fhdNQ+bwNW8vF7MVz+UAhNV/pzSfpF/Shw0l/TBlnLJgM 05mWWhjtK2MVcFRywql2qNLEnsIoPD3COZ/gN/lEQpcFOQKn3h5O11Uyq8Ib7jWn68mWLd cCslc7jUg+tF0Sf+v44gam7nNjzEHJ1BvqQQPlx9HvqL2uGGgq4LMWdEziuxzbTZRYRJNk JIIfRHEb/fz6Oxwd3DhlQONoRXX0RUAMnIYnZBftkhgXhowZitvjQL+MQLcS6cCCkBV2+g 3PmB3+n6DVV2VspCmF8vmj6bpSR/5aBkzpuja16BVp3xQ1wZwgaFLLfg5B3cvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NthoKb1Ce3KYmUBXxnIQdO8TdIbv3QcPf4fAkzPHm94=; b=wCTvrfiVaNxSRZK7WCcmJNKNgo4MtTFC3Fv5Sym58qLS66K/NPLaMlBChDN70+Z4Iw4Amj wbcWQcJx9XlsCtRFtbNuiCX/SPU1Xs1FIdLOSQekoTvEufmqT0qHhBK0aJV5HLsJqkk7ck vvllaIoKWz2500AA55hGhlMW8Bo/4PDCnrZ6ODeA/PLZhJN/WCHwjIMschAyAycNR2OA06 W4Z2zu7WFKCRwmYxf7JmeyvemH87y/reb0elikm4+9VQ3a9Q82nMlbFYs9mKbG0DADmrlR c0y5tS0COwyDxhmJ1vE+1xkDUtQYjY5/ttFsxc/5wM0MhFEp+zLiLfK5LtQCzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675452859; a=rsa-sha256; cv=none; b=fLWPul3r1qWAal5fcjjj578cpB3kiiswYAqUQ34DnvUnGdrauwsyEV1U/3OEmghYMQW8Vj /eyeh1TKJQqhQ5Qm5ScWEHC1gnkFTz1GfS1GlIlUyx2ft2f3CI9B+vCzI4i3hwDWAPSMWR KnLPHiyIT0MlBXYNU3luis0NIq11bUnoYAFqBBa89CFdBxosaF6xVLk4KTPcSw1HX5orep 5tvqIdEJF7HHY/19jRLlQx2IQel36YnKdR3LrmNBT4cPGMWHrsUIHKrwLRJdBzoI5Hoyi2 bcZdoNqxYHF8Z31PvWXZbR6FT4GJNpJLW4pwsAITTSE0lBhE5/wJw9i+CxcUzw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7m7H3sZJzmWD; Fri, 3 Feb 2023 19:34:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313JYJn1041389; Fri, 3 Feb 2023 19:34:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313JYJ6Z041388; Fri, 3 Feb 2023 19:34:19 GMT (envelope-from git) Date: Fri, 3 Feb 2023 19:34:19 GMT Message-Id: <202302031934.313JYJ6Z041388@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 221b9e3d0684 - main - inpcb: merge two versions of in6_pcbconnect() into one List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 221b9e3d06847afa199423bcaf59fc289998a452 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=221b9e3d06847afa199423bcaf59fc289998a452 commit 221b9e3d06847afa199423bcaf59fc289998a452 Author: Gleb Smirnoff AuthorDate: 2023-02-03 19:33:35 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-03 19:33:35 +0000 inpcb: merge two versions of in6_pcbconnect() into one No functional change. Reviewed by: markj Differential revision: https://reviews.freebsd.org/D38354 --- sys/netinet/tcp_syncache.c | 4 ++-- sys/netinet/tcp_usrreq.c | 2 +- sys/netinet6/in6_pcb.c | 11 ++--------- sys/netinet6/in6_pcb.h | 4 +--- sys/netinet6/udp6_usrreq.c | 2 +- 5 files changed, 7 insertions(+), 16 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 1a4cde642d4a..2b817fee7260 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -882,8 +882,8 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m) if (IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) inp->in6p_laddr = sc->sc_inc.inc6_laddr; INP_HASH_WLOCK(&V_tcbinfo); - error = in6_pcbconnect_mbuf(inp, (struct sockaddr *)&sin6, - thread0.td_ucred, m, false); + error = in6_pcbconnect(inp, (struct sockaddr *)&sin6, + thread0.td_ucred, false); INP_HASH_WUNLOCK(&V_tcbinfo); if (error != 0) { inp->in6p_laddr = laddr6; diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 8cc5894171de..5d82e5138538 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -1476,7 +1476,7 @@ tcp6_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) INP_WLOCK_ASSERT(inp); INP_HASH_WLOCK(&V_tcbinfo); - error = in6_pcbconnect(inp, nam, td->td_ucred); + error = in6_pcbconnect(inp, nam, td->td_ucred, true); INP_HASH_WUNLOCK(&V_tcbinfo); if (error != 0) return (error); diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 51d29399e99b..aed0f26f89ba 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -414,8 +414,8 @@ in6_pcbladdr(struct inpcb *inp, struct sockaddr_in6 *sin6, * then pick one. */ int -in6_pcbconnect_mbuf(struct inpcb *inp, struct sockaddr *nam, - struct ucred *cred, struct mbuf *m, bool rehash) +in6_pcbconnect(struct inpcb *inp, struct sockaddr *nam, struct ucred *cred, + bool rehash) { struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)nam; @@ -497,13 +497,6 @@ in6_pcbconnect_mbuf(struct inpcb *inp, struct sockaddr *nam, return (0); } -int -in6_pcbconnect(struct inpcb *inp, struct sockaddr *nam, struct ucred *cred) -{ - - return (in6_pcbconnect_mbuf(inp, nam, cred, NULL, true)); -} - void in6_pcbdisconnect(struct inpcb *inp) { diff --git a/sys/netinet6/in6_pcb.h b/sys/netinet6/in6_pcb.h index 09907e2c397c..bf84576736e4 100644 --- a/sys/netinet6/in6_pcb.h +++ b/sys/netinet6/in6_pcb.h @@ -74,9 +74,7 @@ void in6_pcbpurgeif0(struct inpcbinfo *, struct ifnet *); void in6_losing(struct inpcb *); int in6_pcbbind(struct inpcb *, struct sockaddr *, struct ucred *); -int in6_pcbconnect(struct inpcb *, struct sockaddr *, struct ucred *); -int in6_pcbconnect_mbuf(struct inpcb *, struct sockaddr *, - struct ucred *, struct mbuf *, bool); +int in6_pcbconnect(struct inpcb *, struct sockaddr *, struct ucred *, bool); void in6_pcbdisconnect(struct inpcb *); struct inpcb * in6_pcblookup_local(struct inpcbinfo *, diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index b79a00280110..1ab838d60ac0 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -1182,7 +1182,7 @@ udp6_connect(struct socket *so, struct sockaddr *nam, struct thread *td) inp->inp_vflag &= ~INP_IPV4; inp->inp_vflag |= INP_IPV6; INP_HASH_WLOCK(pcbinfo); - error = in6_pcbconnect(inp, nam, td->td_ucred); + error = in6_pcbconnect(inp, nam, td->td_ucred, true); INP_HASH_WUNLOCK(pcbinfo); /* * If connect succeeds, mark socket as connected. If From nobody Fri Feb 3 19:34:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7m7J6crTz3kg78; Fri, 3 Feb 2023 19:34: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 4P7m7J60btz3C1w; Fri, 3 Feb 2023 19:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YwvTLvYSKTfniaV6D85QIn4q7PXpUbg5kMKg3ykL5yQ=; b=eRpfXxBo6XTq9r8Mz7FtyezVM3aqEh6as+1YvDoNQNZPqw0xPc0QEcQaIM3/2QHtd709mO Yz21VZuGAEM/EjyO2UvWCtOvGXiJzemcd0oFz1UpPvr45hS6I4VPb20ood7YVAToF6uuWw 4LnrdNsizCmS+J5tVOUyjt/bNLQ/p9gVD3Juvxtk/5jvn4jrlUXbLnbOIrXJ8MGWG2fswX NSOyOnCdqE7FlM0NqspZM8mmiLSpXurXu4Dz+p8G1FgekimxRvdZYU7wGkX5cQP1p3MzC9 JGQRzik0fgOfuewGcf2jVk0DA2jOhsnoSSj0sdLS2xNi58uDL7Nm7u/bzJG7vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YwvTLvYSKTfniaV6D85QIn4q7PXpUbg5kMKg3ykL5yQ=; b=uv7R7kasZC0YMfDwTjtQcUqmQbxNIz5g0ikQ/UfdehNJwGponcJer6nHzr3Q4DXD4Kw5Y6 VUj9sRGWE9ykbaykkkYkqpYB7QPBFglKagHVNgWbHerojnHlx7KgiOBjWdgqPWZT3nlQnX KS8Q/CKT6o4u8JtihURy1U6ymtZv4puDUoHW80UvYU88pPexsRDSxpr9EY4zrUOKGj850O w7sE/fxqPFal9tY7M2kt4+1tq3IsMQ6DszHF7l5iNUnZV9yPpAyl74T71oQruzjeAr+iDG qhRtgCp8GdlrQbfZpOKYjSeviljAEs+a9tR6oatEAn10s8aA4uGO97ql2FxH5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675452860; a=rsa-sha256; cv=none; b=enSsVnkMY1K0ospIjCeLGIbcAGRWDlFMyF9S0xmNX7ZWT4iURLJsja8LpgpHJ5fQ/WmEy2 6XnIBmL9lE9VSRmaEJ0BOOP1C7/bF/Kjb2398hJ5wdJ4zzo09ULryhj3tzbVmee6VapG2J 0MWBDdXGYjS09BY3p5oxC94fb5Qayv7GYK8yFSJTvhfz24hOVigK79rL7r0dgYtYCh8oUf /rHIzRp2LK0ODqvD7GDkONAL3/R+vzBUkqLMyvpPLQBSA4euT3hjuohrgV5aX9mjZ2oO9Q 2HDkcY3Do46HGc1DJHDEPvm8aelIOvMQtpQgl1dCWoXGMtl9Nsk6qOwaYU2XFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7m7J4tFmzn1Y; Fri, 3 Feb 2023 19:34:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313JYKVF041413; Fri, 3 Feb 2023 19:34:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313JYKn3041412; Fri, 3 Feb 2023 19:34:20 GMT (envelope-from git) Date: Fri, 3 Feb 2023 19:34:20 GMT Message-Id: <202302031934.313JYKn3041412@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 3d76be28ec60 - main - netinet6: require network epoch for in6_pcbconnect() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3d76be28ec6036273f8b5665e51f74b5c332e7eb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=3d76be28ec6036273f8b5665e51f74b5c332e7eb commit 3d76be28ec6036273f8b5665e51f74b5c332e7eb Author: Gleb Smirnoff AuthorDate: 2023-02-03 19:33:36 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-03 19:33:36 +0000 netinet6: require network epoch for in6_pcbconnect() This removes recursive epoch entry in the syncache case. Fixes unprotected access to V_in6_ifaddrhead in in6_pcbladdr(), as well as access to prison IP address lists. It also matches what IPv4 in_pcbconnect() does. Reviewed by: markj Differential revision: https://reviews.freebsd.org/D38355 --- sys/netinet/tcp_usrreq.c | 3 +++ sys/netinet6/in6_pcb.c | 10 ++++------ sys/netinet6/udp6_usrreq.c | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 5d82e5138538..df71b1c88faa 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -1471,13 +1471,16 @@ static int tcp6_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) { struct inpcb *inp = tptoinpcb(tp); + struct epoch_tracker et; int error; INP_WLOCK_ASSERT(inp); + NET_EPOCH_ENTER(et); INP_HASH_WLOCK(&V_tcbinfo); error = in6_pcbconnect(inp, nam, td->td_ucred, true); INP_HASH_WUNLOCK(&V_tcbinfo); + NET_EPOCH_EXIT(et); if (error != 0) return (error); diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index aed0f26f89ba..a76997d75ff3 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -357,8 +357,8 @@ in6_pcbladdr(struct inpcb *inp, struct sockaddr_in6 *sin6, int error = 0; int scope_ambiguous = 0; struct in6_addr in6a; - struct epoch_tracker et; + NET_EPOCH_ASSERT(); INP_WLOCK_ASSERT(inp); INP_HASH_WLOCK_ASSERT(inp->inp_pcbinfo); /* XXXRW: why? */ @@ -381,10 +381,8 @@ in6_pcbladdr(struct inpcb *inp, struct sockaddr_in6 *sin6, if ((error = prison_remote_ip6(inp->inp_cred, &sin6->sin6_addr)) != 0) return (error); - NET_EPOCH_ENTER(et); error = in6_selectsrc_socket(sin6, inp->in6p_outputopts, inp, inp->inp_cred, scope_ambiguous, &in6a, NULL); - NET_EPOCH_EXIT(et); if (error) return (error); @@ -422,6 +420,9 @@ in6_pcbconnect(struct inpcb *inp, struct sockaddr *nam, struct ucred *cred, struct sockaddr_in6 laddr6; int error; + NET_EPOCH_ASSERT(); + INP_WLOCK_ASSERT(inp); + INP_HASH_WLOCK_ASSERT(pcbinfo); KASSERT(sin6->sin6_family == AF_INET6, ("%s: invalid address family for %p", __func__, sin6)); KASSERT(sin6->sin6_len == sizeof(*sin6), @@ -430,9 +431,6 @@ in6_pcbconnect(struct inpcb *inp, struct sockaddr *nam, struct ucred *cred, bzero(&laddr6, sizeof(laddr6)); laddr6.sin6_family = AF_INET6; - INP_WLOCK_ASSERT(inp); - INP_HASH_WLOCK_ASSERT(pcbinfo); - #ifdef ROUTE_MPATH if (CALC_FLOWID_OUTBOUND) { uint32_t hash_type, hash_val; diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index 1ab838d60ac0..7ce4c9974228 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -1101,9 +1101,7 @@ udp6_close(struct socket *so) static int udp6_connect(struct socket *so, struct sockaddr *nam, struct thread *td) { -#ifdef INET struct epoch_tracker et; -#endif struct inpcb *inp; struct inpcbinfo *pcbinfo; struct sockaddr_in6 *sin6; @@ -1181,9 +1179,11 @@ udp6_connect(struct socket *so, struct sockaddr *nam, struct thread *td) vflagsav = inp->inp_vflag; inp->inp_vflag &= ~INP_IPV4; inp->inp_vflag |= INP_IPV6; + NET_EPOCH_ENTER(et); INP_HASH_WLOCK(pcbinfo); error = in6_pcbconnect(inp, nam, td->td_ucred, true); INP_HASH_WUNLOCK(pcbinfo); + NET_EPOCH_EXIT(et); /* * If connect succeeds, mark socket as connected. If * connect fails and socket is unbound, reset inp_vflag From nobody Fri Feb 3 19:34:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7m7L0LXfz3kgCq; Fri, 3 Feb 2023 19:34: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 4P7m7K6nZYz3BxL; Fri, 3 Feb 2023 19:34:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t5sJijeUcfH/e0QRA5u0qds7u7ef5Qy6Y5iKjXOD5N8=; b=CkKP0/lSNTYCI6Ru7fHHJgrAdII5dBtSTfWkuWtGd8Vojs2NKLZfpFq233N3InA12PlS2t ziYFzYEm2DyfwjqxW5W7qXG9Imd1V7nOYiyp/Hh0aa4dbjJFsE3pzL/vzVIEMjDkD5n2p5 KA1dsNs0z+wlmQT2D9zEa9tJSybNv2JDBvhZG/oapC9E7Th59qWL2Cex47ZUpQuI9QbNSE utctans/gWwAlgy0DT7cU13qwWDyxnG+1rldWpRNv9NHi3RbLM/Pk6GM+9o0dlH0tLFUOO YceY4npZVJWLVLWsh2C+qsZ4YfPlcAWRUEUF1oNOFHAwLRSMxyqFLNGpHH8cXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t5sJijeUcfH/e0QRA5u0qds7u7ef5Qy6Y5iKjXOD5N8=; b=qayOxCQFzlNbMq/47kygil1JJRsLZty+e30A3WfoWZAwkB5qk1t7t9VJqmeRasYTDTFs33 S8DZuOBslHUlH8ftTDFlT2Z1DFfePt9fIOycKQi9JkZQbx4q5kfym7C+oXBfETVrJVxBmr v7A6AjNWiukw3GAw4NH99/mjpp5xmc3HwY7TTd4WKi+A4QBgkmmpQmimLVm+fzHRb6B4lg FRRuxrISNosHJKuhvC9qcXWs4Grr9S8keJwi2m8pYimoVDLgnYWZkXYnWyR2l21IZMm+et 1kdoVm7SUm5/qzKUe6sEsD8ii7shKqlTTg62/CZVV8JcpsZPsii+hwpfTAC0/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675452862; a=rsa-sha256; cv=none; b=MJ4GwDSRBoBbKiADbHZKHgNd5sbRbva1tP2Q2PNwD0nbcQeTvyiRTejklLvwDwg90kldvS Co7KwdIZlAJevAESq78YqZg504pKrlG98xDgO/2QrWfx4v3gMTHjMYU59DaQ/Pe6kIqHZk 3CFMWttCV7b/qcgBzRmp+vQ6Gw95vPczEBFfyUGaH/O1y076bZFzbxdr/zt6fStdXlMFzJ VgC0YFdvM+HoWZQkB8/COq+6zR7Opk9Vcw9HpX0TEh1cFHnubSHI8WZyIky4oKBDoKSZKt Lp/BBqSqGbbuE8yS0WMMztp1rGfd6K2/kNX/wiISGhUDjHB0pOJXEuDTGJQzTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7m7K5sZXzmqW; Fri, 3 Feb 2023 19:34:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313JYLna041437; Fri, 3 Feb 2023 19:34:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313JYL6D041436; Fri, 3 Feb 2023 19:34:21 GMT (envelope-from git) Date: Fri, 3 Feb 2023 19:34:21 GMT Message-Id: <202302031934.313JYL6D041436@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: a9d22cce10b7 - main - inpcb: use family specific sockaddr argument for connect functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a9d22cce10b710445aba500c96b6eb43cb5e8323 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=a9d22cce10b710445aba500c96b6eb43cb5e8323 commit a9d22cce10b710445aba500c96b6eb43cb5e8323 Author: Gleb Smirnoff AuthorDate: 2023-02-03 19:33:36 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-03 19:33:36 +0000 inpcb: use family specific sockaddr argument for connect functions Do the cast from sockaddr to either IPv4 or IPv6 sockaddr in the protocol's pr_connect method and from there on go down the call stack with family specific argument. Reviewed by: markj Differential revision: https://reviews.freebsd.org/D38356 --- sys/netinet/in_pcb.c | 7 +++---- sys/netinet/in_pcb.h | 5 +++-- sys/netinet/tcp_syncache.c | 6 ++---- sys/netinet/tcp_usrreq.c | 33 ++++++++++++++------------------- sys/netinet/udp_usrreq.c | 4 ++-- sys/netinet6/in6_pcb.c | 3 +-- sys/netinet6/in6_pcb.h | 3 ++- sys/netinet6/udp6_usrreq.c | 5 ++--- 8 files changed, 29 insertions(+), 37 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 954fe5482076..ab8d0acbd9a7 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1055,7 +1055,7 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr *nam, in_addr_t *laddrp, * then pick one. */ int -in_pcbconnect(struct inpcb *inp, struct sockaddr *nam, struct ucred *cred, +in_pcbconnect(struct inpcb *inp, struct sockaddr_in *sin, struct ucred *cred, bool rehash) { u_short lport, fport; @@ -1068,7 +1068,7 @@ in_pcbconnect(struct inpcb *inp, struct sockaddr *nam, struct ucred *cred, lport = inp->inp_lport; laddr = inp->inp_laddr.s_addr; anonport = (lport == 0); - error = in_pcbconnect_setup(inp, nam, &laddr, &lport, &faddr, &fport, + error = in_pcbconnect_setup(inp, sin, &laddr, &lport, &faddr, &fport, NULL, cred); if (error) return (error); @@ -1327,11 +1327,10 @@ done: * is set to NULL. */ int -in_pcbconnect_setup(struct inpcb *inp, struct sockaddr *nam, +in_pcbconnect_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, u_short *lportp, in_addr_t *faddrp, u_short *fportp, struct inpcb **oinpp, struct ucred *cred) { - struct sockaddr_in *sin = (struct sockaddr_in *)nam; struct in_ifaddr *ia; struct inpcb *oinp; struct in_addr laddr, faddr; diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 2f9cebb5ef15..e0e630a8675e 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -742,8 +742,9 @@ int in_pcballoc(struct socket *, struct inpcbinfo *); int in_pcbbind(struct inpcb *, struct sockaddr *, struct ucred *); int in_pcbbind_setup(struct inpcb *, struct sockaddr *, in_addr_t *, u_short *, struct ucred *); -int in_pcbconnect(struct inpcb *, struct sockaddr *, struct ucred *, bool); -int in_pcbconnect_setup(struct inpcb *, struct sockaddr *, in_addr_t *, +int in_pcbconnect(struct inpcb *, struct sockaddr_in *, struct ucred *, + bool); +int in_pcbconnect_setup(struct inpcb *, struct sockaddr_in *, in_addr_t *, u_short *, in_addr_t *, u_short *, struct inpcb **, struct ucred *); void in_pcbdetach(struct inpcb *); diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 2b817fee7260..a1f07ed1aadf 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -882,8 +882,7 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m) if (IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) inp->in6p_laddr = sc->sc_inc.inc6_laddr; INP_HASH_WLOCK(&V_tcbinfo); - error = in6_pcbconnect(inp, (struct sockaddr *)&sin6, - thread0.td_ucred, false); + error = in6_pcbconnect(inp, &sin6, thread0.td_ucred, false); INP_HASH_WUNLOCK(&V_tcbinfo); if (error != 0) { inp->in6p_laddr = laddr6; @@ -918,8 +917,7 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m) if (inp->inp_laddr.s_addr == INADDR_ANY) inp->inp_laddr = sc->sc_inc.inc_laddr; INP_HASH_WLOCK(&V_tcbinfo); - error = in_pcbconnect(inp, (struct sockaddr *)&sin, - thread0.td_ucred, false); + error = in_pcbconnect(inp, &sin, thread0.td_ucred, false); INP_HASH_WUNLOCK(&V_tcbinfo); if (error != 0) { inp->inp_laddr = laddr; diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index df71b1c88faa..6f979c053a5c 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -118,11 +118,11 @@ __FBSDID("$FreeBSD$"); * TCP protocol interface to socket abstraction. */ #ifdef INET -static int tcp_connect(struct tcpcb *, struct sockaddr *, +static int tcp_connect(struct tcpcb *, struct sockaddr_in *, struct thread *td); #endif /* INET */ #ifdef INET6 -static int tcp6_connect(struct tcpcb *, struct sockaddr *, +static int tcp6_connect(struct tcpcb *, struct sockaddr_in6 *, struct thread *td); #endif /* INET6 */ static void tcp_disconnect(struct tcpcb *); @@ -482,7 +482,7 @@ tcp_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td) } tp = intotcpcb(inp); NET_EPOCH_ENTER(et); - if ((error = tcp_connect(tp, nam, td)) != 0) + if ((error = tcp_connect(tp, sinp, td)) != 0) goto out_in_epoch; #ifdef TCP_OFFLOAD if (registered_toedevs > 0 && @@ -574,7 +574,7 @@ tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td) inp->inp_vflag |= INP_IPV4; inp->inp_vflag &= ~INP_IPV6; NET_EPOCH_ENTER(et); - if ((error = tcp_connect(tp, (struct sockaddr *)&sin, td)) != 0) + if ((error = tcp_connect(tp, &sin, td)) != 0) goto out_in_epoch; #ifdef TCP_OFFLOAD if (registered_toedevs > 0 && @@ -597,7 +597,7 @@ tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td) inp->inp_vflag |= INP_IPV6; inp->inp_inc.inc_flags |= INC_ISIPV6; NET_EPOCH_ENTER(et); - if ((error = tcp6_connect(tp, nam, td)) != 0) + if ((error = tcp6_connect(tp, sin6, td)) != 0) goto out_in_epoch; #ifdef TCP_OFFLOAD if (registered_toedevs > 0 && @@ -864,6 +864,7 @@ tcp_usr_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr_in *sinp; #endif #ifdef INET6 + struct sockaddr_in6 *sin6; int isipv6; #endif u_int8_t incflagsav; @@ -934,9 +935,6 @@ tcp_usr_send(struct socket *so, int flags, struct mbuf *m, #endif /* INET */ #ifdef INET6 case AF_INET6: - { - struct sockaddr_in6 *sin6; - sin6 = (struct sockaddr_in6 *)nam; if (sin6->sin6_len != sizeof(*sin6)) { error = EINVAL; @@ -991,7 +989,6 @@ tcp_usr_send(struct socket *so, int flags, struct mbuf *m, isipv6 = 1; } break; - } #endif /* INET6 */ default: error = EAFNOSUPPORT; @@ -1014,14 +1011,13 @@ tcp_usr_send(struct socket *so, int flags, struct mbuf *m, */ #ifdef INET6 if (isipv6) - error = tcp6_connect(tp, nam, td); + error = tcp6_connect(tp, sin6, td); #endif /* INET6 */ #if defined(INET6) && defined(INET) else #endif #ifdef INET - error = tcp_connect(tp, - (struct sockaddr *)sinp, td); + error = tcp_connect(tp, sinp, td); #endif /* * The bind operation in tcp_connect succeeded. We @@ -1106,14 +1102,13 @@ tcp_usr_send(struct socket *so, int flags, struct mbuf *m, tp->t_flags &= ~TF_FASTOPEN; #ifdef INET6 if (isipv6) - error = tcp6_connect(tp, nam, td); + error = tcp6_connect(tp, sin6, td); #endif /* INET6 */ #if defined(INET6) && defined(INET) else #endif #ifdef INET - error = tcp_connect(tp, - (struct sockaddr *)sinp, td); + error = tcp_connect(tp, sinp, td); #endif /* * The bind operation in tcp_connect succeeded. We @@ -1401,7 +1396,7 @@ struct protosw tcp6_protosw = { * Initialize connection parameters and enter SYN-SENT state. */ static int -tcp_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) +tcp_connect(struct tcpcb *tp, struct sockaddr_in *sin, struct thread *td) { struct inpcb *inp = tptoinpcb(tp), *oinp; struct socket *so = tptosocket(tp); @@ -1420,7 +1415,7 @@ tcp_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) */ laddr = inp->inp_laddr; lport = inp->inp_lport; - error = in_pcbconnect_setup(inp, nam, &laddr.s_addr, &lport, + error = in_pcbconnect_setup(inp, sin, &laddr.s_addr, &lport, &inp->inp_faddr.s_addr, &inp->inp_fport, &oinp, td->td_ucred); if (error && oinp == NULL) goto out; @@ -1468,7 +1463,7 @@ out: #ifdef INET6 static int -tcp6_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) +tcp6_connect(struct tcpcb *tp, struct sockaddr_in6 *sin6, struct thread *td) { struct inpcb *inp = tptoinpcb(tp); struct epoch_tracker et; @@ -1478,7 +1473,7 @@ tcp6_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) NET_EPOCH_ENTER(et); INP_HASH_WLOCK(&V_tcbinfo); - error = in6_pcbconnect(inp, nam, td->td_ucred, true); + error = in6_pcbconnect(inp, sin6, td->td_ucred, true); INP_HASH_WUNLOCK(&V_tcbinfo); NET_EPOCH_EXIT(et); if (error != 0) diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 4efeb6a0e8e7..540045fc3bc3 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -1252,7 +1252,7 @@ udp_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, sin->sin_addr.s_addr == INADDR_ANY || sin->sin_addr.s_addr == INADDR_BROADCAST) { INP_HASH_WLOCK(pcbinfo); - error = in_pcbconnect_setup(inp, addr, &laddr.s_addr, + error = in_pcbconnect_setup(inp, sin, &laddr.s_addr, &lport, &faddr.s_addr, &fport, NULL, td->td_ucred); if (error) { @@ -1603,7 +1603,7 @@ udp_connect(struct socket *so, struct sockaddr *nam, struct thread *td) } NET_EPOCH_ENTER(et); INP_HASH_WLOCK(pcbinfo); - error = in_pcbconnect(inp, nam, td->td_ucred, true); + error = in_pcbconnect(inp, sin, td->td_ucred, true); INP_HASH_WUNLOCK(pcbinfo); NET_EPOCH_EXIT(et); if (error == 0) diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index a76997d75ff3..1b57fce7ec47 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -412,11 +412,10 @@ in6_pcbladdr(struct inpcb *inp, struct sockaddr_in6 *sin6, * then pick one. */ int -in6_pcbconnect(struct inpcb *inp, struct sockaddr *nam, struct ucred *cred, +in6_pcbconnect(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred, bool rehash) { struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; - struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)nam; struct sockaddr_in6 laddr6; int error; diff --git a/sys/netinet6/in6_pcb.h b/sys/netinet6/in6_pcb.h index bf84576736e4..0d3de62ddd54 100644 --- a/sys/netinet6/in6_pcb.h +++ b/sys/netinet6/in6_pcb.h @@ -74,7 +74,8 @@ void in6_pcbpurgeif0(struct inpcbinfo *, struct ifnet *); void in6_losing(struct inpcb *); int in6_pcbbind(struct inpcb *, struct sockaddr *, struct ucred *); -int in6_pcbconnect(struct inpcb *, struct sockaddr *, struct ucred *, bool); +int in6_pcbconnect(struct inpcb *, struct sockaddr_in6 *, struct ucred *, + bool); void in6_pcbdisconnect(struct inpcb *); struct inpcb * in6_pcblookup_local(struct inpcbinfo *, diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index 7ce4c9974228..3e6c57a8c6ff 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -1147,8 +1147,7 @@ udp6_connect(struct socket *so, struct sockaddr *nam, struct thread *td) inp->inp_vflag &= ~INP_IPV6; NET_EPOCH_ENTER(et); INP_HASH_WLOCK(pcbinfo); - error = in_pcbconnect(inp, (struct sockaddr *)&sin, - td->td_ucred, true); + error = in_pcbconnect(inp, &sin, td->td_ucred, true); INP_HASH_WUNLOCK(pcbinfo); NET_EPOCH_EXIT(et); /* @@ -1181,7 +1180,7 @@ udp6_connect(struct socket *so, struct sockaddr *nam, struct thread *td) inp->inp_vflag |= INP_IPV6; NET_EPOCH_ENTER(et); INP_HASH_WLOCK(pcbinfo); - error = in6_pcbconnect(inp, nam, td->td_ucred, true); + error = in6_pcbconnect(inp, sin6, td->td_ucred, true); INP_HASH_WUNLOCK(pcbinfo); NET_EPOCH_EXIT(et); /* From nobody Fri Feb 3 19:34:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7m7M1MmPz3kflR; Fri, 3 Feb 2023 19:34: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 4P7m7M0tYHz3C2j; Fri, 3 Feb 2023 19:34:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=srCBaYHp2MYf70YJq/cpD3GQj8ajCr7HDoZ4Olhst80=; b=aibecAVm+E6u3O+0VJdGHAs5YtUVa3oc9cabB8PAL6mMIakyeCK+dHKsbK2Kwite2h9/Ff at5tq6+1qpti+vuoe5xwQIS+8UjLS9tlzsXrHaPx1Mdyzuk8S2Khcn2rNGvZpKQmeccrDd BTRTd0772/tg5dLYv1S+NjdDwF93fHRd/XgSPzZDmb57BnhIE+dF/vbBehVFoSI0Ggse40 3zRBV+poyouk823YFO6/RsYS0zWRH4hyFKsuCvEMuYWpYuCRRcEl4+y3KZtmubbcB01VaX gP6BVJL0Fsz3VOEr6rxQKMGoQeZIVK0cjSswrPf5cx7dXwOScuCCtkKHjEYp8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=srCBaYHp2MYf70YJq/cpD3GQj8ajCr7HDoZ4Olhst80=; b=tFLjsxs0qjOVWA3Br/KWrGwu8ShwqnOXhwa7YZKNBh01Z/Vm3pvyECfuscVyLuCjzbIeek PAzlqpeVldm5ts8EVQlm75PrM/nES3XRQNTFbQwXZJ5PD0fgFRodu6xZxcGeBrFBV+ikMG OGEaReGo2HG6zxP5makv8FW8mO1tPttTI6YRDmFdC8oci6xpM8quaNkPcXsP1yezvYHDzI oQSlSwy79ioLQnNoi4kvn3rb/dFQp7nHwHQbuTN1CssETlG8jsaF5tvRAf49nDXrpJWHFZ ifEWPrEVS0CMJl9tpbL5ZSK6iA3V3sRbIC4UwfQaglhO029QgFVQX5Q/hLX/yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675452863; a=rsa-sha256; cv=none; b=RT1HR+bCnf2c0aAna+CWny9inj4QbD9RGIGky988jTfo6RtTXHCGSTWAxXniO7ihzSBzkE 7mkxjRBpXZqe7fv9xfW7Z06/K1gzGxXpOet3I50yuTzyIkZaU+xwdQSL9wnuunl3Et+Ftj FnVACYtWUidVkDSIB6osRUwZhfDc6cWVHJme9mN9q8lfKyWxW03XV4YooCarpJrWujcn9O lQHt35MoHs3vWBLAU/yrXFEuyE9cMR4c6NhkEU2PncfeqCpLxfk4SwnhDoNZcvAkXe5Qzf yMtJvt6rmhMMilmSX0jjKmqg30iJJSU0wwk8CndfbO6HT2lfxPc/HTpcrCn21A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7m7L6d80zmWG; Fri, 3 Feb 2023 19:34:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313JYM6h041469; Fri, 3 Feb 2023 19:34:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313JYMl4041468; Fri, 3 Feb 2023 19:34:22 GMT (envelope-from git) Date: Fri, 3 Feb 2023 19:34:22 GMT Message-Id: <202302031934.313JYMl4041468@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: a9afe0864f8e - main - tcp: bring comment for tcp_connect() up to date List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a9afe0864f8ec8242c97dc21e3dec15570ea44c8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=a9afe0864f8ec8242c97dc21e3dec15570ea44c8 commit a9afe0864f8ec8242c97dc21e3dec15570ea44c8 Author: Gleb Smirnoff AuthorDate: 2023-02-03 19:33:36 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-03 19:33:36 +0000 tcp: bring comment for tcp_connect() up to date We no longer use in_pcbbind() since 25102351509. The comment about truncating old TIME-WAIT describes a code that had been removed back in 2004 in c94c54e4df9a. --- sys/netinet/tcp_usrreq.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 6f979c053a5c..b89cdd30a825 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -1387,13 +1387,9 @@ struct protosw tcp6_protosw = { #ifdef INET /* * Common subroutine to open a TCP connection to remote host specified - * by struct sockaddr_in in mbuf *nam. Call in_pcbbind to assign a local - * port number if needed. Call in_pcbconnect_setup to do the routing and - * to choose a local host address (interface). If there is an existing - * incarnation of the same connection in TIME-WAIT state and if the remote - * host was sending CC options and if the connection duration was < MSL, then - * truncate the previous TIME-WAIT state and proceed. - * Initialize connection parameters and enter SYN-SENT state. + * by struct sockaddr_in. Call in_pcbconnect_setup() to choose local + * host address and assign a local port number if needed. Initialize + * connection parameters and enter SYN-SENT state. */ static int tcp_connect(struct tcpcb *tp, struct sockaddr_in *sin, struct thread *td) From nobody Fri Feb 3 19:34:23 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7m7N4VQkz3kgD1; Fri, 3 Feb 2023 19:34: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 4P7m7N1J09z3CBG; Fri, 3 Feb 2023 19:34:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b6EhMftbOxXzKMC/N8BOe1G9CGw6J19jssiWxMbzS04=; b=if68uzJjWTa0KYoVEnya4L19tbNLIqGfBsWllUHux9B6uaur/w5DLSRPMiJ1Zm0GqM2Up+ CyU3OCRoO7fnYwOXCo6AZmvrkhPwqChkTWsWz/3jpZSUfWXAp9k+zc8V2odzPVj1qTlNtn VwPhk6ocdoEmdWQHCC4wc1r80pZrRblM8qirljVpWpWW9szRi2OipL3UZY9reJ7FsXImrZ uiJbhcbk+XeB+MrFu+C4BpWr6pf68C1MBCgZ0rkYxuPAxjRhvESyK98u5+KTDFI6L67C3w CXNVhg3UtZbn6aCoDX6L3YeBDFD4E1564OejXoYpoc7HJ7tUYBOfsdSG4qLIVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b6EhMftbOxXzKMC/N8BOe1G9CGw6J19jssiWxMbzS04=; b=vDrkCSgQmfaUnCAVyS8Q+x544g5+FM0RwnpvjFSJ83k+L31aRAtgCuFtmq5Q9Rq6kfOEL7 BeHiO+Rhld7GQ9jB2m/GCOXK3hfHfwXlKfNCf/+RejbEzN9n4IiaG5t7rv/fCzaoTwuYgv s6aN2HAGp7V67LGLq9GqRRyrsvLG6qAhkmzh9dIFzelzcTvYBxQ8T8XOHbO1HKJxhvzFRt SQ+BG3cs3Uc1ZeC1C9qnJcCyhcKv2bplXmRQNy4K4BH2oESfNY9JreTsL9TnFP6AiNyczu 02Vm5Rvlm3rSUxGX22lE0FSgp1kUplU3QIJkEb9uV6+a9U49leU9YDvCC5Uu7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675452864; a=rsa-sha256; cv=none; b=n2v0BHjNEZWWkm2Hc2EF6q+NuhXGd+l1uwGjUqwlxg2qCgsJkVllNwsWyi+oQhde2SAmoV oy3+/1Fb4JFNT8BL0Bbn6THjWYAn+cmJhXFrW9xiuPcOxuv5iajy9aXEZnHUNZcXAi24zW Cc45ruMu+xgnticbLleHvgVVjzy637p2mq6bZDDMy8zaVSbQjFY8KkA8DE2hbho0xwLL8F IGIax7O2g6C2NTuV6TdE5R5HT08X82CqethsZSWOZLSM6iNcXNf1EBhjFf9+cv20gOgncn R1OaS3/ZU/VLALno4fFDMetFN4BDG/3vFXdRC5XAW51QH57Zh4pjxuELFwLsfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7m7N0BjRzn2L; Fri, 3 Feb 2023 19:34:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313JYNvQ041494; Fri, 3 Feb 2023 19:34:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313JYNv5041493; Fri, 3 Feb 2023 19:34:23 GMT (envelope-from git) Date: Fri, 3 Feb 2023 19:34:23 GMT Message-Id: <202302031934.313JYNv5041493@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 9e46ff4d4cfa - main - netinet: don't return conflicting inpcb in in_pcbconnect_setup() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e46ff4d4cfabb4836c84d97c639c169fd0a8aaa Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=9e46ff4d4cfabb4836c84d97c639c169fd0a8aaa commit 9e46ff4d4cfabb4836c84d97c639c169fd0a8aaa Author: Gleb Smirnoff AuthorDate: 2023-02-03 19:33:36 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-03 19:33:36 +0000 netinet: don't return conflicting inpcb in in_pcbconnect_setup() Last time this inpcb was actually used was in tcp_connect() before c94c54e4df9a. --- sys/netinet/in_pcb.c | 20 ++++---------------- sys/netinet/in_pcb.h | 3 +-- sys/netinet/tcp_usrreq.c | 22 ++++++++-------------- sys/netinet/udp_usrreq.c | 3 +-- 4 files changed, 14 insertions(+), 34 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index ab8d0acbd9a7..2a775ff5fc31 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1069,7 +1069,7 @@ in_pcbconnect(struct inpcb *inp, struct sockaddr_in *sin, struct ucred *cred, laddr = inp->inp_laddr.s_addr; anonport = (lport == 0); error = in_pcbconnect_setup(inp, sin, &laddr, &lport, &faddr, &fport, - NULL, cred); + cred); if (error) return (error); @@ -1320,19 +1320,13 @@ done: * * On success, *faddrp and *fportp will be set to the remote address * and port. These are not updated in the error case. - * - * If the operation fails because the connection already exists, - * *oinpp will be set to the PCB of that connection so that the - * caller can decide to override it. In all other cases, *oinpp - * is set to NULL. */ int in_pcbconnect_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, u_short *lportp, in_addr_t *faddrp, u_short *fportp, - struct inpcb **oinpp, struct ucred *cred) + struct ucred *cred) { struct in_ifaddr *ia; - struct inpcb *oinp; struct in_addr laddr, faddr; u_short lport, fport; int error; @@ -1350,8 +1344,6 @@ in_pcbconnect_setup(struct inpcb *inp, struct sockaddr_in *sin, INP_LOCK_ASSERT(inp); INP_HASH_LOCK_ASSERT(inp->inp_pcbinfo); - if (oinpp != NULL) - *oinpp = NULL; if (sin->sin_port == 0) return (EADDRNOTAVAIL); laddr.s_addr = *laddrp; @@ -1423,13 +1415,9 @@ in_pcbconnect_setup(struct inpcb *inp, struct sockaddr_in *sin, } if (lport != 0) { - oinp = in_pcblookup_hash_locked(inp->inp_pcbinfo, faddr, - fport, laddr, lport, 0, NULL, M_NODOM); - if (oinp != NULL) { - if (oinpp != NULL) - *oinpp = oinp; + if (in_pcblookup_hash_locked(inp->inp_pcbinfo, faddr, + fport, laddr, lport, 0, NULL, M_NODOM) != NULL) return (EADDRINUSE); - } } else { struct sockaddr_in lsin, fsin; diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index e0e630a8675e..dc248b275279 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -745,8 +745,7 @@ int in_pcbbind_setup(struct inpcb *, struct sockaddr *, in_addr_t *, int in_pcbconnect(struct inpcb *, struct sockaddr_in *, struct ucred *, bool); int in_pcbconnect_setup(struct inpcb *, struct sockaddr_in *, in_addr_t *, - u_short *, in_addr_t *, u_short *, struct inpcb **, - struct ucred *); + u_short *, in_addr_t *, u_short *, struct ucred *); void in_pcbdetach(struct inpcb *); void in_pcbdisconnect(struct inpcb *); void in_pcbdrop(struct inpcb *); diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index b89cdd30a825..83804ac3525e 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -1394,7 +1394,7 @@ struct protosw tcp6_protosw = { static int tcp_connect(struct tcpcb *tp, struct sockaddr_in *sin, struct thread *td) { - struct inpcb *inp = tptoinpcb(tp), *oinp; + struct inpcb *inp = tptoinpcb(tp); struct socket *so = tptosocket(tp); struct in_addr laddr; u_short lport; @@ -1412,20 +1412,18 @@ tcp_connect(struct tcpcb *tp, struct sockaddr_in *sin, struct thread *td) laddr = inp->inp_laddr; lport = inp->inp_lport; error = in_pcbconnect_setup(inp, sin, &laddr.s_addr, &lport, - &inp->inp_faddr.s_addr, &inp->inp_fport, &oinp, td->td_ucred); - if (error && oinp == NULL) - goto out; - if (oinp) { - error = EADDRINUSE; - goto out; + &inp->inp_faddr.s_addr, &inp->inp_fport, td->td_ucred); + if (error) { + INP_HASH_WUNLOCK(&V_tcbinfo); + return (error); } /* Handle initial bind if it hadn't been done in advance. */ if (inp->inp_lport == 0) { inp->inp_lport = lport; if (in_pcbinshash(inp) != 0) { inp->inp_lport = 0; - error = EAGAIN; - goto out; + INP_HASH_WUNLOCK(&V_tcbinfo); + return (EAGAIN); } } inp->inp_laddr = laddr; @@ -1449,11 +1447,7 @@ tcp_connect(struct tcpcb *tp, struct sockaddr_in *sin, struct thread *td) tp->ts_offset = tcp_new_ts_offset(&inp->inp_inc); tcp_sendseqinit(tp); - return 0; - -out: - INP_HASH_WUNLOCK(&V_tcbinfo); - return (error); + return (0); } #endif /* INET */ diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 540045fc3bc3..f911a79519b6 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -1253,8 +1253,7 @@ udp_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, sin->sin_addr.s_addr == INADDR_BROADCAST) { INP_HASH_WLOCK(pcbinfo); error = in_pcbconnect_setup(inp, sin, &laddr.s_addr, - &lport, &faddr.s_addr, &fport, NULL, - td->td_ucred); + &lport, &faddr.s_addr, &fport, td->td_ucred); if (error) { INP_HASH_WUNLOCK(pcbinfo); goto release; From nobody Fri Feb 3 19:34:25 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7m7P2dKjz3kg9k; Fri, 3 Feb 2023 19:34: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 4P7m7P21Hsz3CK8; Fri, 3 Feb 2023 19:34:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452865; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B9cj7FnJPEDKIR3g8QyZNwcyoNELO5vHOlIgmvUl5lo=; b=hsyCy2PCfKuIMiK82VYQ3PBxbCqEVcsmBAL/16xQYevcz5KzVxkKUI+XdEvaWy8BnPdQVY jBcYHBgFS8Oj6NfWA00GMcT1ajEQtCJuuyO/hpNBHAejdh+MIENuQ7DkpXmAoQjaPqHk+G uK9HOEiOmX+tICaaQ1FJto9jHeTmrIsX5Le6y/4eyEfMRXljCx+GNNgCHd7JNpUZrzwl4T QzUKuNJxbg/ZYtwv9sgVPo3/9E/pKOog4ouL7UV7etx/csQkKR7L5JNYIouztp11MqNn1r Pn8ocwKTvypVUMRbcLykfyCl9ST2RUxdTzU/U5AOm4imdB49SqawklA612UXpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675452865; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B9cj7FnJPEDKIR3g8QyZNwcyoNELO5vHOlIgmvUl5lo=; b=PSJAPzhKNLEnJKjvEhaXJwJuJmUYWUkTUt2lCT7t7yAzG4Ld+Cf9FFbnNDPqsisPO1j1d3 ySF7B08NHTKr8pZf0ZZuEAVGXX8hvUt0cmc67WnCXhubED6N4KVjL/c+H/lc6iR/rXk1CG pgxZVu4Tuk+vBfMsFJ41K3yFZa1hogal50AqBzNtMS7nlKMpmdMxqG99L6uiCxvDHbazoG D1yrn0jygna/CuJvdZ4ZGI5B4gApUiB5Lrzv08E/Zu1oj+Z+sCdcochcx6hQ37K457p5VC gMbmYkdT1JctqOhzCTyXqePdyT7h42IfMLgkzqTK5ruxZ6QqQEqUhRCFtSl2nQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675452865; a=rsa-sha256; cv=none; b=onu6Mwymk1MCCGNHfioUiLsYJxKDqfYL7Wd+mAbuNGR2tkwiUMScU0VRiAmtuT5zDBcY+k SPnyzIeaBEmAqZC1sbWUn4vebTNkp2Sldm0xKq4ug4Bng3T/KscV/IyBDqXLVQJBObO5eU Dn9n8FFjij1vs4P+mYaLR4hWjT8huZJlxv3urjm5aofBp+JvbTq5mjDsLyWaSgXjV+gNhh eTI42Qo2mAZTde/+OYvqSSJEzAQMgbOT+hgDsApU5EvCxiWzUPL3ofOXYE6d0WKQ8FE9Zx Vo4nvuzY6mUpo5NjvT2NuWx7As6eLSCg9LKT8ygbay5zGmsjkaEWJ/MB4FOy/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 4P7m7P15XYzmZD; Fri, 3 Feb 2023 19:34:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313JYPCp041519; Fri, 3 Feb 2023 19:34:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313JYPvi041518; Fri, 3 Feb 2023 19:34:25 GMT (envelope-from git) Date: Fri, 3 Feb 2023 19:34:25 GMT Message-Id: <202302031934.313JYPvi041518@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 09d3671b0e32 - main - inpcb: better document INP_ANONPORT flag List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 09d3671b0e32774d9267781bd0c0d8196dbed6c0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=09d3671b0e32774d9267781bd0c0d8196dbed6c0 commit 09d3671b0e32774d9267781bd0c0d8196dbed6c0 Author: Gleb Smirnoff AuthorDate: 2023-02-03 19:33:36 +0000 Commit: Gleb Smirnoff CommitDate: 2023-02-03 19:33:36 +0000 inpcb: better document INP_ANONPORT flag The name is pretty self explaining, but it is unclear why we need this flag, as kernel only sets it and never reads. --- sys/netinet/in_pcb.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index dc248b275279..c450685affcb 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -626,7 +626,7 @@ int inp_so_options(const struct inpcb *inp); #define INP_HDRINCL 0x00000008 /* user supplies entire IP header */ #define INP_HIGHPORT 0x00000010 /* user wants "high" port binding */ #define INP_LOWPORT 0x00000020 /* user wants "low" port binding */ -#define INP_ANONPORT 0x00000040 /* port chosen for user */ +#define INP_ANONPORT 0x00000040 /* read by netstat(1) */ #define INP_RECVIF 0x00000080 /* receive incoming interface */ #define INP_MTUDISC 0x00000100 /* user can do MTU discovery */ /* INP_FREED 0x00000200 private to in_pcb.c */ From nobody Fri Feb 3 20:39:11 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7nZ81Zzlz3kk0Q; Fri, 3 Feb 2023 20:39: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 4P7nZ813vzz3MvZ; Fri, 3 Feb 2023 20:39:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675456752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9wAluXOhDgFooYTj+mKVeODNJM05BUWEgBsJWW1YQzs=; b=gGGeWlszsebSJzST2zzj381K4/aF2z25m+zvIxCyqe82iyJQAw0Qbxe6D448lZnxTMf9du vQuysjm2EXqHvDKrZTnVfWop63gXumo5eQ8jldLr8eLgsNBE9uSowhy4zEGDIeKpbmQjGm shcphLy6kF8a7wMxOE6Kheem3uNpXJ1oFYEtPoF7rf0TSCwwK/dpm/LEjTDRwxxE1wJ40a JDiR1rVlrbgwVyL8VRgPf1nUv93uPgjhbBi3F9qr8MpFIwv0MeAHWTtdtSmc9zscJrQDas AmRA7rYnzsoNC6xsoCWzclGn+Tpyw/kRpMtUqHgtxSkTmmLQIrC0pG85lDvxTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675456752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9wAluXOhDgFooYTj+mKVeODNJM05BUWEgBsJWW1YQzs=; b=DHCsOSIynIXQoCP7XQ+DJrq5PSrAxIdO9q6bECeo3WcOnJWNgDV6LlsSUsAtgnHtNBVtro esrHcnbN6fx9SdB4RgmFgt8N0SbVYCCeFTozlh5xrasOlsQQ+YwIalaRQ8RYdd+1+QFQhN GL3vv47WeBgRk/fP0gGZzDtlyfd2xYC7fwe0Ii606Ge4wfzHC7U5xToUcoi7s4HA2V83e0 fjZxkBtL11fNHQOU451lc/CDDt3GANEFf2W2Q3Ev/z9EE3CdraNHFEpLMr/oJqPb13HblA mLa/FO1fcAegTCwiztz90kwRp33o5qUp0DfbkdQjUEymH8J3cFjBHh5BMpLGJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675456752; a=rsa-sha256; cv=none; b=Dsi37hABlNkJ7ZcQnub4RgTJnFHBudj0PHNKRVFTfzHKGD4P6SNdD181qiQfVC72D133tW 30R0iSLf8/OEB2YSnOXu+j421k1uf3Yu1FUGK9aGJ9AWVj15AsNq/mv0dd0FBQGmBtQCCS 9uppuwMyABFImG9VLkIZxJ3pEfQmesuKg7QD0xxg3yaZnA93TF8rd0ohl/G3P/fWtue0wl gbvpeKhwblbm4X+P0FybCgzhAsN+9gPnvRS6NCBtyLGdhZNnjZ/0DCQnigqZm+zhCT4GpW fjqgHmDuGSWEFGzPOK3x3AofWpKj0nlOINidWPnUTjRrmiiqI6f9o0IaHK3xtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7nZ806LmzpSK; Fri, 3 Feb 2023 20:39:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313KdBko027163; Fri, 3 Feb 2023 20:39:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313KdBfr027162; Fri, 3 Feb 2023 20:39:11 GMT (envelope-from git) Date: Fri, 3 Feb 2023 20:39:11 GMT Message-Id: <202302032039.313KdBfr027162@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 8859960436f5 - main - loader: always install help files List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8859960436f5727f163a7b3468e08710c5e6d874 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=8859960436f5727f163a7b3468e08710c5e6d874 commit 8859960436f5727f163a7b3468e08710c5e6d874 Author: Mitchell Horne AuthorDate: 2021-02-11 14:29:00 +0000 Commit: Mitchell Horne CommitDate: 2023-02-03 20:35:06 +0000 loader: always install help files Address two issues with current help file logic: The existing condition prevents the common help file from being installed when there are no additional help files defined. This results in no loader.help on EFI platforms, for example. Second, due to the fact that we build and install multiple loader types, each successive install will clobber the previous loader.help. The result is that we could lose type-specific commands, or possibly list them in loaders that do not have such commands. Instead, give each loader type a uniquely named help file. The EFI loader will look for /boot/loader.help.efi, userboot will look for /boot/loader.help.userboot, etc. The interpreter variant has no effect on which help file is loaded. This leaves the old /boot/loader.help unused. Some credit for the final approach goes to Mathieu for their version of the fix in https://reviews.freebsd.org/D22951. PR: 267134 Reported by: Daniel O'Connor Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D28591 --- ObsoleteFiles.inc | 3 +++ stand/common/commands.c | 4 ++-- stand/efi/loader/Makefile | 1 + stand/i386/loader/Makefile | 1 + stand/kboot/Makefile | 2 ++ stand/loader.mk | 15 ++++++++++----- stand/powerpc/ofw/Makefile | 1 + stand/uboot/Makefile | 3 ++- stand/userboot/userboot/Makefile | 2 ++ 9 files changed, 24 insertions(+), 8 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index ed6d929dd79b..b1b896a77925 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20230203: loader help files renamed +OLD_FILES+=boot/loader.help + # 20230201: timeout moved from /usr/bin to /bin OLD_FILES+=usr/tests/usr.bin/timeout/Kyuafile OLD_FILES+=usr/tests/usr.bin/timeout/timeout_test diff --git a/stand/common/commands.c b/stand/common/commands.c index d86c1a4a6f96..6643a3ca360e 100644 --- a/stand/common/commands.c +++ b/stand/common/commands.c @@ -123,7 +123,6 @@ help_emitsummary(char *topic, char *subtopic, char *desc) return (pager_output("\n")); } - static int command_help(int argc, char *argv[]) { @@ -132,7 +131,8 @@ command_help(int argc, char *argv[]) char *topic, *subtopic, *t, *s, *d; /* page the help text from our load path */ - snprintf(buf, sizeof(buf), "%s/boot/loader.help", getenv("loaddev")); + snprintf(buf, sizeof(buf), "%s/boot/%s", getenv("loaddev"), + HELP_FILENAME); if ((hfd = open(buf, O_RDONLY)) < 0) { printf("Verbose help not available, " "use '?' to list commands\n"); diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index 2aaba4fbb377..4c94f67cf4e0 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -83,6 +83,7 @@ CFLAGS+= -DEFI_SECUREBOOT NEWVERSWHAT= "EFI loader" ${MACHINE} VERSION_FILE= ${.CURDIR}/../loader/version +HELP_FILENAME= loader.help.efi # Always add MI sources .include "${BOOTSRC}/loader.mk" diff --git a/stand/i386/loader/Makefile b/stand/i386/loader/Makefile index 99a814497802..088629a70b7f 100644 --- a/stand/i386/loader/Makefile +++ b/stand/i386/loader/Makefile @@ -62,6 +62,7 @@ CFLAGS.main.c+= -I${SYSDIR}/contrib/openzfs/include/os/freebsd/zfs .if exists(${.CURDIR}/help.i386) HELP_FILES= ${.CURDIR}/help.i386 .endif +HELP_FILENAME= loader.help.bios # Always add MI sources .include "${BOOTSRC}/loader.mk" diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index 745dcd30a938..922944707340 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -44,6 +44,8 @@ CFLAGS+= -I${SYSDIR}/contrib/openzfs/include/os/freebsd/zfs HAVE_ZFS=yes .endif +HELP_FILENAME= loader.help.kboot + .include "${BOOTSRC}/fdt.mk" # We share bootinfo.c with efi diff --git a/stand/loader.mk b/stand/loader.mk index 9fa4c74e2501..b30e9f4e66b7 100644 --- a/stand/loader.mk +++ b/stand/loader.mk @@ -162,12 +162,17 @@ vers.c: ${LDRSRC}/newvers.sh ${VERSION_FILE} CFLAGS+= -DELF_VERBOSE .endif -.if !empty(HELP_FILES) +# Each loader variant defines their own help filename. Optional or +# build-specific commands are included by augmenting HELP_FILES. +.if !defined(HELP_FILENAME) +.error Define HELP_FILENAME before including loader.mk +.endif + HELP_FILES+= ${LDRSRC}/help.common -CLEANFILES+= loader.help -FILES+= loader.help +CFLAGS+= -DHELP_FILENAME=\"${HELP_FILENAME}\" +CLEANFILES+= ${HELP_FILENAME} +FILES+= ${HELP_FILENAME} -loader.help: ${HELP_FILES} +${HELP_FILENAME}: ${HELP_FILES} cat ${HELP_FILES} | awk -f ${LDRSRC}/merge_help.awk > ${.TARGET} -.endif diff --git a/stand/powerpc/ofw/Makefile b/stand/powerpc/ofw/Makefile index 28eb8ee91fad..5912ceae93d5 100644 --- a/stand/powerpc/ofw/Makefile +++ b/stand/powerpc/ofw/Makefile @@ -37,6 +37,7 @@ SRCS+= trampolineLE.S .endif HELP_FILES= ${FDTSRC}/help.fdt +HELP_FILENAME= loader.help.ofw # Always add MI sources .include "${BOOTSRC}/loader.mk" diff --git a/stand/uboot/Makefile b/stand/uboot/Makefile index ed2253cdae6f..5b8275a0131b 100644 --- a/stand/uboot/Makefile +++ b/stand/uboot/Makefile @@ -35,7 +35,8 @@ WARNS?= 1 CWARNFLAGS.self_reloc.c+= -Wno-error=maybe-uninitialized .endif -HELP_FILES= ${.CURDIR}/help.uboot ${BOOTSRC}/fdt/help.fdt +HELP_FILES= ${.CURDIR}/help.uboot ${BOOTSRC}/fdt/help.fdt +HELP_FILENAME= loader.help.uboot # Always add MI sources .include "${BOOTSRC}/loader.mk" diff --git a/stand/userboot/userboot/Makefile b/stand/userboot/userboot/Makefile index c5e2e6fe7c7c..43011b9577c9 100644 --- a/stand/userboot/userboot/Makefile +++ b/stand/userboot/userboot/Makefile @@ -54,6 +54,8 @@ CFLAGS+= -DUSERBOOT_ZFS_SUPPORT HAVE_ZFS=yes .endif +HELP_FILENAME= loader.help.userboot + # Always add MI sources .include "${BOOTSRC}/loader.mk" CFLAGS+= -I. From nobody Fri Feb 3 20:39:13 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7nZ92mjtz3kjs0; Fri, 3 Feb 2023 20:39: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 4P7nZ926rRz3Mkw; Fri, 3 Feb 2023 20:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675456753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+HpnybM8a/7wWDcDUooss8ADVwvzEYjQOwgqIFb2aDE=; b=iWuQ+uJ0ck59PLbNHr7YPLu52wJzS2UIEe/FrArlvhqCPo/2bPn27zTve7JLPn/3+B3TGK AnFbI/ZeHgvj/AtfUfw4WtgAvCNdT0p2WQ9ISfmgU+Xcr51pjL01Y8BSUHRCOPu88QhYAO 8NLLSmU09XSb20ydQKTFXStR6k7Jv90UI+ajby6cbatScevCghykH3TZlSyQ14XHb8SWLP udFFTF2T1aBenfpulPvrv2WoyfUv1SzPTFEuwSo9g1VhF/gE0mytwkf0reZG6qMCu4rPwr /EIqCyR1oBqSuL5qgiFFYHquvD6XgYvDmsaj/wCemmKFxLvedZY1FQ8m2QCB3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675456753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+HpnybM8a/7wWDcDUooss8ADVwvzEYjQOwgqIFb2aDE=; b=rcgjL306IUYDJ1UlX8cajUWar8G85dWrnDwQ3YN4TK1Vy2uRd/D3FsRwp8IYVpD4Fpk4g1 y/Crguyje+lzoN/3Co+gZ8dDhYOmFpePkTNkHF5pDJU5dHrMCJrD90n2jF86FBHx5yO1DX jEy6RrNfnNA6k+PKCt599XsERkvrJAqVzM0xrBsZ3QVGabEBzCtrgKCuSljlf1TRCsiHLV Z//NGGquJfqEvuaXK8I4RqZ7HSbJSUriwCt5oAlVYSGV78gQr2YolMPeKeyOFLUHGB5LqG CEq8lQ0hPdIZrQCKL/jVksvqraRC89LOv0DXLQeZ2Pa+sX0NCMKlRJYaxHZ5iw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675456753; a=rsa-sha256; cv=none; b=dAl6mkK/XY/Kqw15vA/1jhX0BiVjrAvDiKti1WnEZ/dYKcmhwjLrMZz6rhyru2qZOA28vf Nwdp3UJShPkdIGso8uDRDdcxRUms7u5ONRWCFdFrR7SyfPFDFpUYtGpvcD7CV6wa2d9SYE Jlg4orlVm1eYygJ2sULBwQ9bIavVpQLpJG0sLKeoj0Txq4pnlLHBOt54gf5vYGyYf6Ro6l XNboh8wGQPQYXX+hFrGuNL0p6WW4VvXwXB0hSDKKLY/2WrUPAziwaGqHqwwRrRP+4Z54xS FJuKsV0HsopjGhDOFiu6KS7dtbyG+izHGTwTqDIDJNTo9M8XQD5FU6u7t51BsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7nZ90jzQzpSL; Fri, 3 Feb 2023 20:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 313KdDsL027188; Fri, 3 Feb 2023 20:39:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 313KdDQE027187; Fri, 3 Feb 2023 20:39:13 GMT (envelope-from git) Date: Fri, 3 Feb 2023 20:39:13 GMT Message-Id: <202302032039.313KdDQE027187@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: dfbe8f64837e - main - loader.efi: include help.fdt for FDT-enabled loader List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dfbe8f64837e663d7508c5d5eccb6d2eba8d045a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=dfbe8f64837e663d7508c5d5eccb6d2eba8d045a commit dfbe8f64837e663d7508c5d5eccb6d2eba8d045a Author: Mitchell Horne AuthorDate: 2022-10-31 14:19:08 +0000 Commit: Mitchell Horne CommitDate: 2023-02-03 20:35:08 +0000 loader.efi: include help.fdt for FDT-enabled loader --- stand/efi/loader/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index 4c94f67cf4e0..2de55a29813f 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -68,6 +68,7 @@ CFLAGS+= -DEFI .if defined(HAVE_FDT) && ${MK_FDT} != "no" .include "${BOOTSRC}/fdt.mk" LIBEFI_FDT= ${BOOTOBJ}/efi/fdt/libefi_fdt.a +HELP_FILES+= ${FDTSRC}/help.fdt .endif # Include bcache code. From nobody Sat Feb 4 01:23:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P7vt03mP3z3kTpf; Sat, 4 Feb 2023 01:23: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 4P7vt03XNvz3wXr; Sat, 4 Feb 2023 01:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675473800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nJrGN2V3p86yBJ+xO15X7M/jIpOo9SAN5KgRkgjgTOo=; b=nfXqSPH10tth4l744CfqnDcsRoGx1iXSoNn3YKftagUtZFmND/fDty5r+GQiBNrDIvrXPy cT/OlWEnOeRQ8ZY7ssDWVxk3g1s9TPgnTJRsjMB8Yuu2HYitRiTMLpC+2SnZovV2g7o7Hm nNquA14EBobU0Y/8fy624qfOJiuovaBrj63Mm4yKaKv6NCmAeGRo/zKLQELL3sMA3rbH30 tIpoPyXfUi4wKEiMvMETpTzD/wZffz9+c/tIerT9t2OB5rHAbqtByt2vcvPKyJhK9Mh6SF GptDsq3manetuH0937SKpT78OCxYZzL558dU8gvZbKYrLW61K1NvA9KkX5mLGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675473800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nJrGN2V3p86yBJ+xO15X7M/jIpOo9SAN5KgRkgjgTOo=; b=TkvOb0Ymr+IsvOsHGoX7cFEX1raHejmSnOYJO9uno+zA0SMD0nKHQpoA2aloW3Rx5+QpCi 2B9593ltteIpR/4Q8ADcZzXDpZIOx6RXyTtr1Bdsi7phQeY7cII1c0DseEeFvj7wMibIqk 2yX/zw6wG5hbY3g760fhSvifDq4ZtXNMRsXaHl5xwr38bdEowbU/rFCiPIgKJYCqbJibvN a/yG8G7moh1DTE3fK0VVfgK1gAeFo5PckoYjxZDj+d2qfkOyqu9AI55a5VZlfUyr3Ii5D8 OSGrz+AO+roUNlV3ZQDClJfA9/j5cKEy0GKjDX4Ge6gL4filY+uJfItvwFWQkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675473800; a=rsa-sha256; cv=none; b=g3r5bNgKDHO/MbJ6pzlL/1UFFYA8QAUTxYGb6T+JKagINZ1cp58z/Vc7EKXTEr4ffXuzzp 5yUQgQq+I3zIvT/IE5PkA54OEmIK3cHPMX4g1ixTieW2ZVubwOdDXOMTXpZYLscwETgKjG vTzO9JyD0nPN9Ncm1XL4/tS3DU0M4mJLiWB3A5gw5LfoVMd0Hwnzo5AFBGaPGWTLzMExfq a/SvU03u+TxrRL+QfeYcdDk7A+91HHMoyD6VxWoSAwh89OMYsWot+q8SmO5z/IyjEBsqlp tRWsCyM3a408dX8y8U+PRYGFAoH8giakiOVr6uyo+NOlQkyD4uVD2oEXaOZ1QQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P7vt02ZSczwZG; Sat, 4 Feb 2023 01:23:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3141NKPD039103; Sat, 4 Feb 2023 01:23:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3141NKPm039102; Sat, 4 Feb 2023 01:23:20 GMT (envelope-from git) Date: Sat, 4 Feb 2023 01:23:20 GMT Message-Id: <202302040123.3141NKPm039102@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 81471049650f - main - Remove rt ethernet driver. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81471049650fbbeb0316116b34a256053987ef96 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=81471049650fbbeb0316116b34a256053987ef96 commit 81471049650fbbeb0316116b34a256053987ef96 Author: Justin Hibbits AuthorDate: 2023-02-04 01:21:20 +0000 Commit: Justin Hibbits CommitDate: 2023-02-04 01:22:13 +0000 Remove rt ethernet driver. dev/rt is used only in some MIPS SoCs, and MIPS is gone. --- sys/dev/rt/if_rt.c | 2949 ------------------------------------------------- sys/dev/rt/if_rtreg.h | 352 ------ sys/dev/rt/if_rtvar.h | 318 ------ 3 files changed, 3619 deletions(-) diff --git a/sys/dev/rt/if_rt.c b/sys/dev/rt/if_rt.c deleted file mode 100644 index 22f24a9affda..000000000000 --- a/sys/dev/rt/if_rt.c +++ /dev/null @@ -1,2949 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2015-2016, Stanislav Galabov - * Copyright (c) 2014, Aleksandr A. Mityaev - * Copyright (c) 2011, Aleksandr Rybalko - * based on hard work - * by Alexander Egorenkov - * and by Damien Bergamini - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice unmodified, this list of conditions, and the following - * disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include "if_rtvar.h" -#include "if_rtreg.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "opt_platform.h" -#include "opt_rt305x.h" - -#ifdef FDT -#include -#include -#include -#endif - -#include -#include - -#ifdef RT_MDIO -#include -#include -#include "mdio_if.h" -#endif - -#if 0 -#include -#include -#endif - -#ifdef IF_RT_PHY_SUPPORT -#include "miibus_if.h" -#endif - -/* - * Defines and macros - */ -#define RT_MAX_AGG_SIZE 3840 - -#define RT_TX_DATA_SEG0_SIZE MJUMPAGESIZE - -#define RT_MS(_v, _f) (((_v) & _f) >> _f##_S) -#define RT_SM(_v, _f) (((_v) << _f##_S) & _f) - -#define RT_TX_WATCHDOG_TIMEOUT 5 - -#define RT_CHIPID_RT2880 0x2880 -#define RT_CHIPID_RT3050 0x3050 -#define RT_CHIPID_RT3883 0x3883 -#define RT_CHIPID_RT5350 0x5350 -#define RT_CHIPID_MT7620 0x7620 -#define RT_CHIPID_MT7621 0x7621 - -#ifdef FDT -/* more specific and new models should go first */ -static const struct ofw_compat_data rt_compat_data[] = { - { "ralink,rt2880-eth", RT_CHIPID_RT2880 }, - { "ralink,rt3050-eth", RT_CHIPID_RT3050 }, - { "ralink,rt3352-eth", RT_CHIPID_RT3050 }, - { "ralink,rt3883-eth", RT_CHIPID_RT3883 }, - { "ralink,rt5350-eth", RT_CHIPID_RT5350 }, - { "ralink,mt7620a-eth", RT_CHIPID_MT7620 }, - { "mediatek,mt7620-eth", RT_CHIPID_MT7620 }, - { "ralink,mt7621-eth", RT_CHIPID_MT7621 }, - { "mediatek,mt7621-eth", RT_CHIPID_MT7621 }, - { NULL, 0 } -}; -#endif - -/* - * Static function prototypes - */ -static int rt_probe(device_t dev); -static int rt_attach(device_t dev); -static int rt_detach(device_t dev); -static int rt_shutdown(device_t dev); -static int rt_suspend(device_t dev); -static int rt_resume(device_t dev); -static void rt_init_locked(void *priv); -static void rt_init(void *priv); -static void rt_stop_locked(void *priv); -static void rt_stop(void *priv); -static void rt_start(struct ifnet *ifp); -static int rt_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); -static void rt_tx_watchdog(void *arg); -static void rt_intr(void *arg); -static void rt_rt5350_intr(void *arg); -static void rt_tx_coherent_intr(struct rt_softc *sc); -static void rt_rx_coherent_intr(struct rt_softc *sc); -static void rt_rx_delay_intr(struct rt_softc *sc); -static void rt_tx_delay_intr(struct rt_softc *sc); -static void rt_rx_intr(struct rt_softc *sc, int qid); -static void rt_tx_intr(struct rt_softc *sc, int qid); -static void rt_rx_done_task(void *context, int pending); -static void rt_tx_done_task(void *context, int pending); -static void rt_periodic_task(void *context, int pending); -static int rt_rx_eof(struct rt_softc *sc, - struct rt_softc_rx_ring *ring, int limit); -static void rt_tx_eof(struct rt_softc *sc, - struct rt_softc_tx_ring *ring); -static void rt_update_stats(struct rt_softc *sc); -static void rt_watchdog(struct rt_softc *sc); -static void rt_update_raw_counters(struct rt_softc *sc); -static void rt_intr_enable(struct rt_softc *sc, uint32_t intr_mask); -static void rt_intr_disable(struct rt_softc *sc, uint32_t intr_mask); -static int rt_txrx_enable(struct rt_softc *sc); -static int rt_alloc_rx_ring(struct rt_softc *sc, - struct rt_softc_rx_ring *ring, int qid); -static void rt_reset_rx_ring(struct rt_softc *sc, - struct rt_softc_rx_ring *ring); -static void rt_free_rx_ring(struct rt_softc *sc, - struct rt_softc_rx_ring *ring); -static int rt_alloc_tx_ring(struct rt_softc *sc, - struct rt_softc_tx_ring *ring, int qid); -static void rt_reset_tx_ring(struct rt_softc *sc, - struct rt_softc_tx_ring *ring); -static void rt_free_tx_ring(struct rt_softc *sc, - struct rt_softc_tx_ring *ring); -static void rt_dma_map_addr(void *arg, bus_dma_segment_t *segs, - int nseg, int error); -static void rt_sysctl_attach(struct rt_softc *sc); -#ifdef IF_RT_PHY_SUPPORT -void rt_miibus_statchg(device_t); -#endif -#if defined(IF_RT_PHY_SUPPORT) || defined(RT_MDIO) -static int rt_miibus_readreg(device_t, int, int); -static int rt_miibus_writereg(device_t, int, int, int); -#endif -static int rt_ifmedia_upd(struct ifnet *); -static void rt_ifmedia_sts(struct ifnet *, struct ifmediareq *); - -static SYSCTL_NODE(_hw, OID_AUTO, rt, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, - "RT driver parameters"); -#ifdef IF_RT_DEBUG -static int rt_debug = 0; -SYSCTL_INT(_hw_rt, OID_AUTO, debug, CTLFLAG_RWTUN, &rt_debug, 0, - "RT debug level"); -#endif - -static int -rt_probe(device_t dev) -{ - struct rt_softc *sc = device_get_softc(dev); - char buf[80]; -#ifdef FDT - const struct ofw_compat_data * cd; - - cd = ofw_bus_search_compatible(dev, rt_compat_data); - if (cd->ocd_data == 0) - return (ENXIO); - - sc->rt_chipid = (unsigned int)(cd->ocd_data); -#else -#if defined(MT7620) - sc->rt_chipid = RT_CHIPID_MT7620; -#elif defined(MT7621) - sc->rt_chipid = RT_CHIPID_MT7621; -#elif defined(RT5350) - sc->rt_chipid = RT_CHIPID_RT5350; -#else - sc->rt_chipid = RT_CHIPID_RT3050; -#endif -#endif - snprintf(buf, sizeof(buf), "Ralink %cT%x onChip Ethernet driver", - sc->rt_chipid >= 0x7600 ? 'M' : 'R', sc->rt_chipid); - device_set_desc_copy(dev, buf); - return (BUS_PROBE_GENERIC); -} - -/* - * macaddr_atoi - translate string MAC address to uint8_t array - */ -static int -macaddr_atoi(const char *str, uint8_t *mac) -{ - int count, i; - unsigned int amac[ETHER_ADDR_LEN]; /* Aligned version */ - - count = sscanf(str, "%x%*c%x%*c%x%*c%x%*c%x%*c%x", - &amac[0], &amac[1], &amac[2], - &amac[3], &amac[4], &amac[5]); - if (count < ETHER_ADDR_LEN) { - memset(mac, 0, ETHER_ADDR_LEN); - return (1); - } - - /* Copy aligned to result */ - for (i = 0; i < ETHER_ADDR_LEN; i ++) - mac[i] = (amac[i] & 0xff); - - return (0); -} - -#ifdef USE_GENERATED_MAC_ADDRESS -/* - * generate_mac(uin8_t *mac) - * This is MAC address generator for cases when real device MAC address - * unknown or not yet accessible. - * Use 'b','s','d' signature and 3 octets from CRC32 on kenv. - * MAC = 'b', 's', 'd', CRC[3]^CRC[2], CRC[1], CRC[0] - * - * Output - MAC address, that do not change between reboots, if hints or - * bootloader info unchange. - */ -static void -generate_mac(uint8_t *mac) -{ - unsigned char *cp; - int i = 0; - uint32_t crc = 0xffffffff; - - /* Generate CRC32 on kenv */ - for (cp = kenvp[0]; cp != NULL; cp = kenvp[++i]) { - crc = calculate_crc32c(crc, cp, strlen(cp) + 1); - } - crc = ~crc; - - mac[0] = 'b'; - mac[1] = 's'; - mac[2] = 'd'; - mac[3] = (crc >> 24) ^ ((crc >> 16) & 0xff); - mac[4] = (crc >> 8) & 0xff; - mac[5] = crc & 0xff; -} -#endif - -/* - * ether_request_mac - try to find usable MAC address. - */ -static int -ether_request_mac(device_t dev, uint8_t *mac) -{ - const char *var; - - /* - * "ethaddr" is passed via envp on RedBoot platforms - * "kmac" is passed via argv on RouterBOOT platforms - */ -#if defined(RT305X_UBOOT) || defined(__REDBOOT__) || defined(__ROUTERBOOT__) - if ((var = kern_getenv("ethaddr")) != NULL || - (var = kern_getenv("kmac")) != NULL ) { - if(!macaddr_atoi(var, mac)) { - printf("%s: use %s macaddr from KENV\n", - device_get_nameunit(dev), var); - freeenv(var); - return (0); - } - freeenv(var); - } -#endif - - /* - * Try from hints - * hint.[dev].[unit].macaddr - */ - if (!resource_string_value(device_get_name(dev), - device_get_unit(dev), "macaddr", &var)) { - if(!macaddr_atoi(var, mac)) { - printf("%s: use %s macaddr from hints\n", - device_get_nameunit(dev), var); - return (0); - } - } - -#ifdef USE_GENERATED_MAC_ADDRESS - generate_mac(mac); - - device_printf(dev, "use generated %02x:%02x:%02x:%02x:%02x:%02x " - "macaddr\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); -#else - /* Hardcoded */ - mac[0] = 0x00; - mac[1] = 0x18; - mac[2] = 0xe7; - mac[3] = 0xd5; - mac[4] = 0x83; - mac[5] = 0x90; - - device_printf(dev, "use hardcoded 00:18:e7:d5:83:90 macaddr\n"); -#endif - - return (0); -} - -/* - * Reset hardware - */ -static void -reset_freng(struct rt_softc *sc) -{ - /* XXX hard reset kills everything so skip it ... */ - return; -} - -static int -rt_attach(device_t dev) -{ - struct rt_softc *sc; - struct ifnet *ifp; - int error, i; -#ifdef FDT - phandle_t node; - char fdtval[32]; -#endif - - sc = device_get_softc(dev); - sc->dev = dev; - -#ifdef FDT - node = ofw_bus_get_node(sc->dev); -#endif - - mtx_init(&sc->lock, device_get_nameunit(dev), MTX_NETWORK_LOCK, - MTX_DEF | MTX_RECURSE); - - sc->mem_rid = 0; - sc->mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->mem_rid, - RF_ACTIVE | RF_SHAREABLE); - if (sc->mem == NULL) { - device_printf(dev, "could not allocate memory resource\n"); - error = ENXIO; - goto fail; - } - - sc->bst = rman_get_bustag(sc->mem); - sc->bsh = rman_get_bushandle(sc->mem); - - sc->irq_rid = 0; - sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irq_rid, - RF_ACTIVE); - if (sc->irq == NULL) { - device_printf(dev, - "could not allocate interrupt resource\n"); - error = ENXIO; - goto fail; - } - -#ifdef IF_RT_DEBUG - sc->debug = rt_debug; - - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, - "debug", CTLFLAG_RW, &sc->debug, 0, "rt debug level"); -#endif - - /* Reset hardware */ - reset_freng(sc); - - if (sc->rt_chipid == RT_CHIPID_MT7620) { - sc->csum_fail_ip = MT7620_RXD_SRC_IP_CSUM_FAIL; - sc->csum_fail_l4 = MT7620_RXD_SRC_L4_CSUM_FAIL; - } else if (sc->rt_chipid == RT_CHIPID_MT7621) { - sc->csum_fail_ip = MT7621_RXD_SRC_IP_CSUM_FAIL; - sc->csum_fail_l4 = MT7621_RXD_SRC_L4_CSUM_FAIL; - } else { - sc->csum_fail_ip = RT305X_RXD_SRC_IP_CSUM_FAIL; - sc->csum_fail_l4 = RT305X_RXD_SRC_L4_CSUM_FAIL; - } - - /* Fill in soc-specific registers map */ - switch(sc->rt_chipid) { - case RT_CHIPID_MT7620: - case RT_CHIPID_MT7621: - sc->gdma1_base = MT7620_GDMA1_BASE; - /* fallthrough */ - case RT_CHIPID_RT5350: - device_printf(dev, "%cT%x Ethernet MAC (rev 0x%08x)\n", - sc->rt_chipid >= 0x7600 ? 'M' : 'R', - sc->rt_chipid, sc->mac_rev); - /* RT5350: No GDMA, PSE, CDMA, PPE */ - RT_WRITE(sc, GE_PORT_BASE + 0x0C00, // UDPCS, TCPCS, IPCS=1 - RT_READ(sc, GE_PORT_BASE + 0x0C00) | (0x7<<16)); - sc->delay_int_cfg=RT5350_PDMA_BASE+RT5350_DELAY_INT_CFG; - sc->fe_int_status=RT5350_FE_INT_STATUS; - sc->fe_int_enable=RT5350_FE_INT_ENABLE; - sc->pdma_glo_cfg=RT5350_PDMA_BASE+RT5350_PDMA_GLO_CFG; - sc->pdma_rst_idx=RT5350_PDMA_BASE+RT5350_PDMA_RST_IDX; - for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) { - sc->tx_base_ptr[i]=RT5350_PDMA_BASE+RT5350_TX_BASE_PTR(i); - sc->tx_max_cnt[i]=RT5350_PDMA_BASE+RT5350_TX_MAX_CNT(i); - sc->tx_ctx_idx[i]=RT5350_PDMA_BASE+RT5350_TX_CTX_IDX(i); - sc->tx_dtx_idx[i]=RT5350_PDMA_BASE+RT5350_TX_DTX_IDX(i); - } - sc->rx_ring_count=2; - sc->rx_base_ptr[0]=RT5350_PDMA_BASE+RT5350_RX_BASE_PTR0; - sc->rx_max_cnt[0]=RT5350_PDMA_BASE+RT5350_RX_MAX_CNT0; - sc->rx_calc_idx[0]=RT5350_PDMA_BASE+RT5350_RX_CALC_IDX0; - sc->rx_drx_idx[0]=RT5350_PDMA_BASE+RT5350_RX_DRX_IDX0; - sc->rx_base_ptr[1]=RT5350_PDMA_BASE+RT5350_RX_BASE_PTR1; - sc->rx_max_cnt[1]=RT5350_PDMA_BASE+RT5350_RX_MAX_CNT1; - sc->rx_calc_idx[1]=RT5350_PDMA_BASE+RT5350_RX_CALC_IDX1; - sc->rx_drx_idx[1]=RT5350_PDMA_BASE+RT5350_RX_DRX_IDX1; - sc->int_rx_done_mask=RT5350_INT_RXQ0_DONE; - sc->int_tx_done_mask=RT5350_INT_TXQ0_DONE; - break; - default: - device_printf(dev, "RT305XF Ethernet MAC (rev 0x%08x)\n", - sc->mac_rev); - sc->gdma1_base = GDMA1_BASE; - sc->delay_int_cfg=PDMA_BASE+DELAY_INT_CFG; - sc->fe_int_status=GE_PORT_BASE+FE_INT_STATUS; - sc->fe_int_enable=GE_PORT_BASE+FE_INT_ENABLE; - sc->pdma_glo_cfg=PDMA_BASE+PDMA_GLO_CFG; - sc->pdma_rst_idx=PDMA_BASE+PDMA_RST_IDX; - for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) { - sc->tx_base_ptr[i]=PDMA_BASE+TX_BASE_PTR(i); - sc->tx_max_cnt[i]=PDMA_BASE+TX_MAX_CNT(i); - sc->tx_ctx_idx[i]=PDMA_BASE+TX_CTX_IDX(i); - sc->tx_dtx_idx[i]=PDMA_BASE+TX_DTX_IDX(i); - } - sc->rx_ring_count=1; - sc->rx_base_ptr[0]=PDMA_BASE+RX_BASE_PTR0; - sc->rx_max_cnt[0]=PDMA_BASE+RX_MAX_CNT0; - sc->rx_calc_idx[0]=PDMA_BASE+RX_CALC_IDX0; - sc->rx_drx_idx[0]=PDMA_BASE+RX_DRX_IDX0; - sc->int_rx_done_mask=INT_RX_DONE; - sc->int_tx_done_mask=INT_TXQ0_DONE; - } - - if (sc->gdma1_base != 0) - RT_WRITE(sc, sc->gdma1_base + GDMA_FWD_CFG, - ( - GDM_ICS_EN | /* Enable IP Csum */ - GDM_TCS_EN | /* Enable TCP Csum */ - GDM_UCS_EN | /* Enable UDP Csum */ - GDM_STRPCRC | /* Strip CRC from packet */ - GDM_DST_PORT_CPU << GDM_UFRC_P_SHIFT | /* fwd UCast to CPU */ - GDM_DST_PORT_CPU << GDM_BFRC_P_SHIFT | /* fwd BCast to CPU */ - GDM_DST_PORT_CPU << GDM_MFRC_P_SHIFT | /* fwd MCast to CPU */ - GDM_DST_PORT_CPU << GDM_OFRC_P_SHIFT /* fwd Other to CPU */ - )); - -#ifdef FDT - if (sc->rt_chipid == RT_CHIPID_RT2880 || - sc->rt_chipid == RT_CHIPID_RT3883) { - if (OF_getprop(node, "port-mode", fdtval, sizeof(fdtval)) > 0 && - strcmp(fdtval, "gigasw") == 0) - RT_WRITE(sc, MDIO_CFG, MDIO_2880_GIGA_INIT); - else - RT_WRITE(sc, MDIO_CFG, MDIO_2880_100T_INIT); - } -#endif - - /* allocate Tx and Rx rings */ - for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) { - error = rt_alloc_tx_ring(sc, &sc->tx_ring[i], i); - if (error != 0) { - device_printf(dev, "could not allocate Tx ring #%d\n", - i); - goto fail; - } - } - - sc->tx_ring_mgtqid = 5; - for (i = 0; i < sc->rx_ring_count; i++) { - error = rt_alloc_rx_ring(sc, &sc->rx_ring[i], i); - if (error != 0) { - device_printf(dev, "could not allocate Rx ring\n"); - goto fail; - } - } - - callout_init_mtx(&sc->tx_watchdog_ch, &sc->lock, 0); - - ifp = sc->ifp = if_alloc(IFT_ETHER); - if (ifp == NULL) { - device_printf(dev, "could not if_alloc()\n"); - error = ENOMEM; - goto fail; - } - - ifp->if_softc = sc; - if_initname(ifp, device_get_name(sc->dev), device_get_unit(sc->dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_init = rt_init; - ifp->if_ioctl = rt_ioctl; - ifp->if_start = rt_start; -#define RT_TX_QLEN 256 - - IFQ_SET_MAXLEN(&ifp->if_snd, RT_TX_QLEN); - ifp->if_snd.ifq_drv_maxlen = RT_TX_QLEN; - IFQ_SET_READY(&ifp->if_snd); - -#ifdef IF_RT_PHY_SUPPORT - error = mii_attach(dev, &sc->rt_miibus, ifp, rt_ifmedia_upd, - rt_ifmedia_sts, BMSR_DEFCAPMASK, MII_PHY_ANY, MII_OFFSET_ANY, 0); - if (error != 0) { - device_printf(dev, "attaching PHYs failed\n"); - error = ENXIO; - goto fail; - } -#else - ifmedia_init(&sc->rt_ifmedia, 0, rt_ifmedia_upd, rt_ifmedia_sts); - ifmedia_add(&sc->rt_ifmedia, IFM_ETHER | IFM_100_TX | IFM_FDX, 0, - NULL); - ifmedia_set(&sc->rt_ifmedia, IFM_ETHER | IFM_100_TX | IFM_FDX); - -#endif /* IF_RT_PHY_SUPPORT */ - - ether_request_mac(dev, sc->mac_addr); - ether_ifattach(ifp, sc->mac_addr); - - /* - * Tell the upper layer(s) we support long frames. - */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; - ifp->if_capabilities |= IFCAP_RXCSUM|IFCAP_TXCSUM; - ifp->if_capenable |= IFCAP_RXCSUM|IFCAP_TXCSUM; - - /* init task queue */ - NET_TASK_INIT(&sc->rx_done_task, 0, rt_rx_done_task, sc); - TASK_INIT(&sc->tx_done_task, 0, rt_tx_done_task, sc); - - sc->rx_process_limit = 100; - - sc->taskqueue = taskqueue_create("rt_taskq", M_NOWAIT, - taskqueue_thread_enqueue, &sc->taskqueue); - - taskqueue_start_threads(&sc->taskqueue, 1, PI_NET, "%s taskq", - device_get_nameunit(sc->dev)); - - TIMEOUT_TASK_INIT(sc->taskqueue, &sc->periodic_task, 0, - rt_periodic_task, sc); - - rt_sysctl_attach(sc); - - /* set up interrupt */ - error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE, - NULL, (sc->rt_chipid == RT_CHIPID_RT5350 || - sc->rt_chipid == RT_CHIPID_MT7620 || - sc->rt_chipid == RT_CHIPID_MT7621) ? rt_rt5350_intr : rt_intr, - sc, &sc->irqh); - if (error != 0) { - printf("%s: could not set up interrupt\n", - device_get_nameunit(dev)); - goto fail; - } -#ifdef IF_RT_DEBUG - device_printf(dev, "debug var at %#08x\n", (u_int)&(sc->debug)); -#endif - - return (0); - -fail: - /* free Tx and Rx rings */ - for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) - rt_free_tx_ring(sc, &sc->tx_ring[i]); - - for (i = 0; i < sc->rx_ring_count; i++) - rt_free_rx_ring(sc, &sc->rx_ring[i]); - - mtx_destroy(&sc->lock); - - if (sc->mem != NULL) - bus_release_resource(dev, SYS_RES_MEMORY, sc->mem_rid, - sc->mem); - - if (sc->irq != NULL) - bus_release_resource(dev, SYS_RES_IRQ, sc->irq_rid, - sc->irq); - - return (error); -} - -/* - * Set media options. - */ -static int -rt_ifmedia_upd(struct ifnet *ifp) -{ - struct rt_softc *sc; -#ifdef IF_RT_PHY_SUPPORT - struct mii_data *mii; - struct mii_softc *miisc; - int error = 0; - - sc = ifp->if_softc; - RT_SOFTC_LOCK(sc); - - mii = device_get_softc(sc->rt_miibus); - LIST_FOREACH(miisc, &mii->mii_phys, mii_list) - PHY_RESET(miisc); - error = mii_mediachg(mii); - RT_SOFTC_UNLOCK(sc); - - return (error); - -#else /* !IF_RT_PHY_SUPPORT */ - - struct ifmedia *ifm; - struct ifmedia_entry *ife; - - sc = ifp->if_softc; - ifm = &sc->rt_ifmedia; - ife = ifm->ifm_cur; - - if (IFM_TYPE(ifm->ifm_media) != IFM_ETHER) - return (EINVAL); - - if (IFM_SUBTYPE(ife->ifm_media) == IFM_AUTO) { - device_printf(sc->dev, - "AUTO is not supported for multiphy MAC"); - return (EINVAL); - } - - /* - * Ignore everything - */ - return (0); -#endif /* IF_RT_PHY_SUPPORT */ -} - -/* - * Report current media status. - */ -static void -rt_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) -{ -#ifdef IF_RT_PHY_SUPPORT - struct rt_softc *sc; - struct mii_data *mii; - - sc = ifp->if_softc; - - RT_SOFTC_LOCK(sc); - mii = device_get_softc(sc->rt_miibus); - mii_pollstat(mii); - ifmr->ifm_active = mii->mii_media_active; - ifmr->ifm_status = mii->mii_media_status; - ifmr->ifm_active = IFM_ETHER | IFM_100_TX | IFM_FDX; - ifmr->ifm_status = IFM_AVALID | IFM_ACTIVE; - RT_SOFTC_UNLOCK(sc); -#else /* !IF_RT_PHY_SUPPORT */ - - ifmr->ifm_status = IFM_AVALID | IFM_ACTIVE; - ifmr->ifm_active = IFM_ETHER | IFM_100_TX | IFM_FDX; -#endif /* IF_RT_PHY_SUPPORT */ -} - -static int -rt_detach(device_t dev) -{ - struct rt_softc *sc; - struct ifnet *ifp; - int i; - - sc = device_get_softc(dev); - ifp = sc->ifp; - - RT_DPRINTF(sc, RT_DEBUG_ANY, "detaching\n"); - - RT_SOFTC_LOCK(sc); - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); - callout_stop(&sc->tx_watchdog_ch); - RT_SOFTC_UNLOCK(sc); - - taskqueue_drain(sc->taskqueue, &sc->rx_done_task); - taskqueue_drain(sc->taskqueue, &sc->tx_done_task); - taskqueue_drain_timeout(sc->taskqueue, &sc->periodic_task); - - /* free Tx and Rx rings */ - RT_SOFTC_LOCK(sc); - for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) - rt_free_tx_ring(sc, &sc->tx_ring[i]); - for (i = 0; i < sc->rx_ring_count; i++) - rt_free_rx_ring(sc, &sc->rx_ring[i]); - RT_SOFTC_UNLOCK(sc); - -#ifdef IF_RT_PHY_SUPPORT - if (sc->rt_miibus != NULL) - device_delete_child(dev, sc->rt_miibus); -#endif - - ether_ifdetach(ifp); - if_free(ifp); - - taskqueue_free(sc->taskqueue); - - mtx_destroy(&sc->lock); - - bus_generic_detach(dev); - bus_teardown_intr(dev, sc->irq, sc->irqh); - bus_release_resource(dev, SYS_RES_IRQ, sc->irq_rid, sc->irq); - bus_release_resource(dev, SYS_RES_MEMORY, sc->mem_rid, sc->mem); - - return (0); -} - -static int -rt_shutdown(device_t dev) -{ - struct rt_softc *sc; - - sc = device_get_softc(dev); - RT_DPRINTF(sc, RT_DEBUG_ANY, "shutting down\n"); - rt_stop(sc); - - return (0); -} - -static int -rt_suspend(device_t dev) -{ - struct rt_softc *sc; - - sc = device_get_softc(dev); - RT_DPRINTF(sc, RT_DEBUG_ANY, "suspending\n"); - rt_stop(sc); - - return (0); -} - -static int -rt_resume(device_t dev) -{ - struct rt_softc *sc; - struct ifnet *ifp; - - sc = device_get_softc(dev); - ifp = sc->ifp; - - RT_DPRINTF(sc, RT_DEBUG_ANY, "resuming\n"); - - if (ifp->if_flags & IFF_UP) - rt_init(sc); - - return (0); -} - -/* - * rt_init_locked - Run initialization process having locked mtx. - */ -static void -rt_init_locked(void *priv) -{ - struct rt_softc *sc; - struct ifnet *ifp; -#ifdef IF_RT_PHY_SUPPORT - struct mii_data *mii; -#endif - int i, ntries; - uint32_t tmp; - - sc = priv; - ifp = sc->ifp; -#ifdef IF_RT_PHY_SUPPORT - mii = device_get_softc(sc->rt_miibus); -#endif - - RT_DPRINTF(sc, RT_DEBUG_ANY, "initializing\n"); - - RT_SOFTC_ASSERT_LOCKED(sc); - - /* hardware reset */ - //RT_WRITE(sc, GE_PORT_BASE + FE_RST_GLO, PSE_RESET); - //rt305x_sysctl_set(SYSCTL_RSTCTRL, SYSCTL_RSTCTRL_FRENG); - - /* Fwd to CPU (uni|broad|multi)cast and Unknown */ - if (sc->gdma1_base != 0) - RT_WRITE(sc, sc->gdma1_base + GDMA_FWD_CFG, - ( - GDM_ICS_EN | /* Enable IP Csum */ - GDM_TCS_EN | /* Enable TCP Csum */ - GDM_UCS_EN | /* Enable UDP Csum */ - GDM_STRPCRC | /* Strip CRC from packet */ - GDM_DST_PORT_CPU << GDM_UFRC_P_SHIFT | /* fwd UCast to CPU */ - GDM_DST_PORT_CPU << GDM_BFRC_P_SHIFT | /* fwd BCast to CPU */ - GDM_DST_PORT_CPU << GDM_MFRC_P_SHIFT | /* fwd MCast to CPU */ - GDM_DST_PORT_CPU << GDM_OFRC_P_SHIFT /* fwd Other to CPU */ - )); - - /* disable DMA engine */ - RT_WRITE(sc, sc->pdma_glo_cfg, 0); - RT_WRITE(sc, sc->pdma_rst_idx, 0xffffffff); - - /* wait while DMA engine is busy */ - for (ntries = 0; ntries < 100; ntries++) { - tmp = RT_READ(sc, sc->pdma_glo_cfg); - if (!(tmp & (FE_TX_DMA_BUSY | FE_RX_DMA_BUSY))) - break; - DELAY(1000); - } - - if (ntries == 100) { - device_printf(sc->dev, "timeout waiting for DMA engine\n"); - goto fail; - } - - /* reset Rx and Tx rings */ - tmp = FE_RST_DRX_IDX0 | - FE_RST_DTX_IDX3 | - FE_RST_DTX_IDX2 | - FE_RST_DTX_IDX1 | - FE_RST_DTX_IDX0; - - RT_WRITE(sc, sc->pdma_rst_idx, tmp); - - /* XXX switch set mac address */ - for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) - rt_reset_tx_ring(sc, &sc->tx_ring[i]); - - for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) { - /* update TX_BASE_PTRx */ - RT_WRITE(sc, sc->tx_base_ptr[i], - sc->tx_ring[i].desc_phys_addr); - RT_WRITE(sc, sc->tx_max_cnt[i], - RT_SOFTC_TX_RING_DESC_COUNT); - RT_WRITE(sc, sc->tx_ctx_idx[i], 0); - } - - /* init Rx ring */ - for (i = 0; i < sc->rx_ring_count; i++) - rt_reset_rx_ring(sc, &sc->rx_ring[i]); - - /* update RX_BASE_PTRx */ - for (i = 0; i < sc->rx_ring_count; i++) { - RT_WRITE(sc, sc->rx_base_ptr[i], - sc->rx_ring[i].desc_phys_addr); - RT_WRITE(sc, sc->rx_max_cnt[i], - RT_SOFTC_RX_RING_DATA_COUNT); - RT_WRITE(sc, sc->rx_calc_idx[i], - RT_SOFTC_RX_RING_DATA_COUNT - 1); - } - - /* write back DDONE, 16byte burst enable RX/TX DMA */ - tmp = FE_TX_WB_DDONE | FE_DMA_BT_SIZE16 | FE_RX_DMA_EN | FE_TX_DMA_EN; - if (sc->rt_chipid == RT_CHIPID_MT7620 || - sc->rt_chipid == RT_CHIPID_MT7621) - tmp |= (1<<31); - RT_WRITE(sc, sc->pdma_glo_cfg, tmp); - - /* disable interrupts mitigation */ - RT_WRITE(sc, sc->delay_int_cfg, 0); - - /* clear pending interrupts */ - RT_WRITE(sc, sc->fe_int_status, 0xffffffff); - - /* enable interrupts */ - if (sc->rt_chipid == RT_CHIPID_RT5350 || - sc->rt_chipid == RT_CHIPID_MT7620 || - sc->rt_chipid == RT_CHIPID_MT7621) - tmp = RT5350_INT_TX_COHERENT | - RT5350_INT_RX_COHERENT | - RT5350_INT_TXQ3_DONE | - RT5350_INT_TXQ2_DONE | - RT5350_INT_TXQ1_DONE | - RT5350_INT_TXQ0_DONE | - RT5350_INT_RXQ1_DONE | - RT5350_INT_RXQ0_DONE; - else - tmp = CNT_PPE_AF | - CNT_GDM_AF | - PSE_P2_FC | - GDM_CRC_DROP | - PSE_BUF_DROP | - GDM_OTHER_DROP | - PSE_P1_FC | - PSE_P0_FC | - PSE_FQ_EMPTY | - INT_TX_COHERENT | - INT_RX_COHERENT | - INT_TXQ3_DONE | - INT_TXQ2_DONE | - INT_TXQ1_DONE | - INT_TXQ0_DONE | - INT_RX_DONE; - - sc->intr_enable_mask = tmp; - - RT_WRITE(sc, sc->fe_int_enable, tmp); - - if (rt_txrx_enable(sc) != 0) - goto fail; - -#ifdef IF_RT_PHY_SUPPORT - if (mii) mii_mediachg(mii); -#endif /* IF_RT_PHY_SUPPORT */ - - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - ifp->if_drv_flags |= IFF_DRV_RUNNING; - - sc->periodic_round = 0; - - taskqueue_enqueue_timeout(sc->taskqueue, &sc->periodic_task, hz / 10); - - return; - -fail: - rt_stop_locked(sc); -} - -/* - * rt_init - lock and initialize device. - */ -static void -rt_init(void *priv) -{ - struct rt_softc *sc; - - sc = priv; - RT_SOFTC_LOCK(sc); - rt_init_locked(sc); - RT_SOFTC_UNLOCK(sc); *** 2669 LINES SKIPPED *** From nobody Sat Feb 4 13:15:19 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8CgW5ns5z3n6QM; Sat, 4 Feb 2023 13:15: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 4P8CgW5JBzz3kVQ; Sat, 4 Feb 2023 13:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675516519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SLfU6AvnQA2sapuxrhI0d2JowFah/hO/9Ntd4BO2Ltg=; b=vJqCQGBNdQr8eJwjyFi5IatRNVIyS/3KHX7WC+UI37XoNk+ntLrxEky9s9qloI8sUpqsum db8ST3WOjcoT6KH+rmcV55aHyCVBpXV2fYwUHlp8A9I4c8/pjKIQe/BX784r1EcV88RdZQ XlMeBiZfueTuvYgyXEp9lqIZPqnFb2q25qo+MvLGAIjwEk0Qh/XRcIQby3ter5YUtxEFoD 9XNL3RKlcbPpXaWM7ZkQJaWoD1OOp30TIW+Hl+iM7+qpzAwQ3MebD/oy+3GyPNR9Or4s2p RQivqItoLGgxs+Z9OUT9NMu0+byvpvK43dpzGJVi9Jr/uS1iKPZ2qcTLDit/Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675516519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SLfU6AvnQA2sapuxrhI0d2JowFah/hO/9Ntd4BO2Ltg=; b=T+3nsh9IZzCqVIh9gw3y1yBtYjr8VH9NXZ1B0jFo0IRNa5GzPcE3m4QPnhQO20sZBpSDuf 2DpOBCqOXnhIh/7C6lyHjoX5CV5tqSapfpM5H8WI23qPSOoMpqNQACl7y2Mw6nzfu/hB7X Jv/D9vQb0NnR9O1YQ4wk9H2PPY0IClneIcgIG9JCqL1dz2GzWc1/aSjnvN7vBymvK6ouYi FDvaBVa2S2+GeSOiQv9BJXFHY1X69e/tGzMAQGpZS7RWKJ66WRIN86yZeUsn0BQM6eBxmU +dPztE1yPhe/9U3KMte+onVoMx/5VKmwS8Qgv4tzDwwicJT07K53eYcx/X1MEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675516519; a=rsa-sha256; cv=none; b=MqbBq8S1dZ+7Ya/jNSDc9RJG3owjjTiAWMmEzmLSELsCRhu0qhV8ZYdHn7rvvJLroRrVD+ k1/2Cbf+s/VRqH9v1dbDjRgpsLUXksQM3haB6JypRpj3xhxbjCKR0LFfYarwBQ4Xv7SF8V cUsReKq/+w0MAHoU9VWauJ2R/eewtUVntoqt5zkFhdcQ6+fGC5hzWDuPfEjN7O8RK6rB6o /GO8KO6Ekccz1ssQJg8GnFf4PrBQCtGji1vdo4x1ubtVahsgNe+BgWMYtbSnP3W1dd0xJU szYO2MPW42eRbLnKbmJfksAYBMOV7bkiZ58Qp5DgHslrtrZSC+g3FArrAHjbNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8CgW4LXYzFfX; Sat, 4 Feb 2023 13:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314DFJwl048445; Sat, 4 Feb 2023 13:15:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314DFJiB048444; Sat, 4 Feb 2023 13:15:19 GMT (envelope-from git) Date: Sat, 4 Feb 2023 13:15:19 GMT Message-Id: <202302041315.314DFJiB048444@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Piotr Kubaj Subject: git: 29fa34aadbd3 - main - iwm(4), iwmfw(4): mention iwm7265Dfw List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pkubaj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 29fa34aadbd3d93343573220a521caa0c248682d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pkubaj (ports committer): URL: https://cgit.FreeBSD.org/src/commit/?id=29fa34aadbd3d93343573220a521caa0c248682d commit 29fa34aadbd3d93343573220a521caa0c248682d Author: Piotr Kubaj AuthorDate: 2023-02-04 13:12:56 +0000 Commit: Piotr Kubaj CommitDate: 2023-02-04 13:15:00 +0000 iwm(4), iwmfw(4): mention iwm7265Dfw Correct documentation by mentioning iwm7265Dfw. PR: 234584 Differential review: https://reviews.freebsd.org/D38374 Approved by: erj --- share/man/man4/iwm.4 | 4 +++- share/man/man4/iwmfw.4 | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/share/man/man4/iwm.4 b/share/man/man4/iwm.4 index 2eddcbc83e2a..ed69f7e9dec4 100644 --- a/share/man/man4/iwm.4 +++ b/share/man/man4/iwm.4 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 28, 2020 +.Dd February 4, 2023 .Dt IWM 4 .Os .Sh NAME @@ -49,6 +49,7 @@ Choose one from: .Cd "device iwm3168fw" .Cd "device iwm7260fw" .Cd "device iwm7265fw" +.Cd "device iwm7265Dfw" .Cd "device iwm8000Cfw" .Cd "device iwm8265fw" .Cd "device iwm9000fw" @@ -71,6 +72,7 @@ iwm3160fw_load="YES" iwm3168fw_load="YES" iwm7260fw_load="YES" iwm7265fw_load="YES" +iwm7265Dfw_load="YES" iwm8000Cfw_load="YES" iwm8265fw_load="YES" iwm9000fw_load="YES" diff --git a/share/man/man4/iwmfw.4 b/share/man/man4/iwmfw.4 index 1704c735f292..877880c2e501 100644 --- a/share/man/man4/iwmfw.4 +++ b/share/man/man4/iwmfw.4 @@ -22,7 +22,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 28, 2020 +.Dd February 4, 2023 .Dt IWMFW 4 .Os .Sh NAME @@ -46,6 +46,7 @@ of the following: .Cd "device iwm3168fw" .Cd "device iwm7260fw" .Cd "device iwm7265fw" +.Cd "device iwm7265Dfw" .Cd "device iwm8000Cfw" .Cd "device iwm8265fw" .Cd "device iwm9000fw" From nobody Sat Feb 4 13:35:35 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8D6z6NV9z3n7mj; Sat, 4 Feb 2023 13:35:39 +0000 (UTC) (envelope-from se@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8D6z5mHnz3nPS; Sat, 4 Feb 2023 13:35:39 +0000 (UTC) (envelope-from se@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675517739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6535YOty8PhdUP5fjtQ5aEbs3QlgXMF6exCWgp+6MZw=; b=j5Ub3Icod86C2Syzt3E6gTC9Xidr+8yyZgzvGMqY79M4iMOBuNV+toEdOOQ410mqJbXXae 1ZhRk+MMY6BIlTKEzb5+cdcLp7g/vcQFxfc18c1jpZFUepnt8upvTfM9kcQz2entmpaYtu rGIYf7t9wgbjLi4o0tDOwVTQa8eFazry+mFTtrFreikHrpJ3VeH/MKcdY042hbiONbI2Th 5AeuUAL15wltTswdBRVdEzTfZNkh1nyTsFW/eJnOoYP0dL96k8huCfpEOWErsjSMQf93Nf 3vSDzb7DiQLPQLUZw/77vi3bL6O4hzbcJYNu22Yje1u0973Q9aEjYSpdyr9zfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675517739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6535YOty8PhdUP5fjtQ5aEbs3QlgXMF6exCWgp+6MZw=; b=lPDtocnGh00ITYQIGDbcOZAp/AtDjlmH1GcwdlCitWVaY2w0Z4fKRfI3hQm50BB1dHx1Rs hgvhT7UUdN3f0fxLqnmoHtUcAKcusNZLjHgSML3B5I291j8kM6nwUNN/2N69GZ3rJYWz+P 2qtDjsBI0wOoTgzF3KlJjfubJBoPNxl/AcNGboAAK7brPQFSUY1FIljvTqdiecDQTWa8TN MMDsYYIfrYkm4eebvbf9nye4OeRcpCNaan/ZKdFXrFtxiaz5k559SJswiT6CBZZCtlaPNa U9HNMz0rUaQCMmFMcFvNU9ZzSPeMbWsb2A3atdnoKRYGFXUIkBa1HcXET/V6uA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675517739; a=rsa-sha256; cv=none; b=D5y7tCW+KAOVyDlWvmMqpGmQYRjXzXMl98De2T37UzQLjt4fcuQUUAHvYEFQCdQN2vdFxt JS3zFQ2hwO0avNXIwYVHE/XnS9XZTA5lIZnuGR7itgQ5aACa12+mrGfpWyeGK1P9fj8swv VPKkkEXitg6ZcvYPm0KcmDWbptS6S4eeF2EsxLCsit5KAfIjXgdUzRb6/gIy6l58M2W+N1 5vqJvz2pymXA+m1DrKQ5ROy+B/ZI7fc5S/FD+KN7Htl1EBl42s6GTxbcjHnrpHOpqU0urb WDQ//euyQPxh/ercKFxOOkV6sIeMtkKjkSJ6a+eIeGkU9bJJv0kgJGlbQCAOTg== Received: from [IPV6:2003:cd:5f2a:1000:a12e:bb93:eec3:990a] (p200300cd5f2a1000a12ebb93eec3990a.dip0.t-ipconnect.de [IPv6:2003:cd:5f2a:1000:a12e:bb93:eec3:990a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: se/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4P8D6y6ZFfzPSR; Sat, 4 Feb 2023 13:35:38 +0000 (UTC) (envelope-from se@FreeBSD.org) Message-ID: <297c877d-2a2f-70cf-604c-e458634cb068@FreeBSD.org> Date: Sat, 4 Feb 2023 14:35:35 +0100 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 From: =?UTF-8?Q?Stefan_E=c3=9fer?= Subject: Re: git: 1e0853ee8403 - main - sys/kbio.h: support Unicode key codes in vt keymap files Content-Language: de-DE, en-US To: Jessica Clarke , Emmanuel Vadot Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" References: <202302011630.311GUmt1068106@gitrepo.freebsd.org> <84830C1A-149F-4B05-99DC-1E0B50C8B59A@freebsd.org> In-Reply-To: <84830C1A-149F-4B05-99DC-1E0B50C8B59A@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ThisMailContainsUnwantedMimeParts: N Am 02.02.23 um 08:43 schrieb Jessica Clarke: > On 1 Feb 2023, at 16:40, Jessica Clarke wrote: >> >> On 1 Feb 2023, at 16:30, Stefan Eßer wrote: >>> >>> The branch main has been updated by se: >>> >>> URL: https://cgit.FreeBSD.org/src/commit/?id=1e0853ee84031e4131a0b8cc8737696f199d3d4c >>> >>> commit 1e0853ee84031e4131a0b8cc8737696f199d3d4c >>> Author: Stefan Eßer >>> AuthorDate: 2023-02-01 16:24:18 +0000 >>> Commit: Stefan Eßer >>> CommitDate: 2023-02-01 16:24:18 +0000 >>> >>> sys/kbio.h: support Unicode key codes in vt keymap files >>> >>> Some keyboard definitions return Unicode characters that cannot be >>> represented in the 8 bits provided by an u_char. >>> >>> Extend then width of the keycode entries to 16 bits to allow for all >>> keycodes currently defined in share/vt/keymaps/*,kbd. >>> >>> Reported by: yuri@aetern.org >>> MFC after: 3 days >>> --- >>> sys/sys/kbio.h | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h >>> index 7f17bda76c51..b0779f5ed114 100644 >>> --- a/sys/sys/kbio.h >>> +++ b/sys/sys/kbio.h >>> @@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t; >>> >>> struct acc_t { >>> u_char accchar; >>> - u_char map[NUM_ACCENTCHARS][2]; >>> + u_short map[NUM_ACCENTCHARS][2]; >> >> This breaks ABI for [GP]IO_DEADKEYMAP. > > Ping. This is important, especially with the MFC after. > > This should be reverted and re-landed with compat IMO. The patch has been reverted in commit f7e5465cb597 and a patch set that offers ABI backwards compatibility has been uploaded to phabricator for review as: https://reviews.freebsd.org/D38381 The ioctl handler in kbd/kbd.c has been extended in the same way as had been used to support 32 bit key codes in the main key map (with similar backwards compatibility code). Support of kbdcontrol built with the patched kbio.h on an old kernel could be added to kbdcontrol.c - but we do not support running a new user land on an old kernel, in general. (The old kbdcontrol on a new kernel could load the normal keymap, but the dead key map would be ignored.) I have used u_int for all values to be able to support the full Unicode range, since this type has already been used for the normal key code maps. I'd appreciate a quick review to be able to MFC to -STABLE in time for inclusion in the upcoming 13.2 release ... Regards, STefan From nobody Sat Feb 4 15:19:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8GQY56F8z3nWCF for ; Sat, 4 Feb 2023 15:19:17 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8GQY38k7z3xPm for ; Sat, 4 Feb 2023 15:19:17 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-x62d.google.com with SMTP id m2so22909497ejb.8 for ; Sat, 04 Feb 2023 07:19:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=lriX9jDJSWYKgc+49R3c7cC/ksDLomGFqiBr4ObcHxY=; b=GGctMCeye+UkksQNVnsaKPkqdMQoFmP7NHfqLAExOXOOrHb6PTvwxaFxYpAGfxn/GQ 0r2oB9Yz9nJ/WfnqIGIBH+0plfvIMHC+aHob88dLRCbY7NIfddaJnB5bO+082IB+LYHu 4k8XytzZImgLmDU4eJq2yIW+J02lWoB0CNh5jAN+/ClI1lOEruP7v1AkD5MUVOFs3euB zWF1Q36VaP3ow+QE7zQ9SyLqZS63IVi0l3WCpqpA4V5i2s2ObwgYct8SyD+USx2aN7aF oNumIfCAZ0V/qtDetablSk4oJ/IsMeavi9bbsYw5MiX+DRjK6ITsHHN8ntoHpA0m+7/g UIDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=lriX9jDJSWYKgc+49R3c7cC/ksDLomGFqiBr4ObcHxY=; b=q3X7dyI5LwiFhQz6nbXudjaDQ4p2cgN39Ojm/l+L6K9l/AjUN+zdOT+OoWUvuhIzTp 3vHW4t9EQO7IsnRyHDBo4UzbwiMltxil95GGK1Oq0wztQSLJeG3eRcrkDboxAPSPKJuJ PrG+ZoDtqk0s68xTPSs3THZ7jRn29tMqKILYLAiYzqNniraQ0KyHbxpUL+4WCoTCAJiL um6u5R0OwNQKMPhKqGvLKq2xgyT7ZxXGAXKiu9fjGl2EY70MyTppvdkVyax0lj8NS9sB nKaPFePjbXa9jsxxs1trMEm2maelQ5f7OXap0CY8nAscd5/iNjHS0yq+2utr8ZxlSWy5 4s1g== X-Gm-Message-State: AO0yUKWm9hnBPRcn9iVnS6Mvhq4+ZsG8W7UkE7wMPwctUQ2ndgrQNeto sVkixEZ3SksQHdMuhvOSuF/OTpL9SGcz2ZiO9MaMmwqG+7lDRA== X-Google-Smtp-Source: AK7set+7i0Kr5Ww0nGB4drJ7l6W41bCxHtI4IOMN+4mBTNcYcj9ftvKfpFkX9CM0xjEeFrK6IBW1mHKM18kTqarGsxY= X-Received: by 2002:a17:906:d96d:b0:888:c14e:70b6 with SMTP id rp13-20020a170906d96d00b00888c14e70b6mr4394514ejb.306.1675523956086; Sat, 04 Feb 2023 07:19:16 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202302011630.311GUmt1068106@gitrepo.freebsd.org> <84830C1A-149F-4B05-99DC-1E0B50C8B59A@freebsd.org> <297c877d-2a2f-70cf-604c-e458634cb068@FreeBSD.org> In-Reply-To: <297c877d-2a2f-70cf-604c-e458634cb068@FreeBSD.org> From: Warner Losh Date: Sat, 4 Feb 2023 08:19:15 -0700 Message-ID: Subject: Re: git: 1e0853ee8403 - main - sys/kbio.h: support Unicode key codes in vt keymap files To: =?UTF-8?B?U3RlZmFuIEXDn2Vy?= Cc: Jessica Clarke , Emmanuel Vadot , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="000000000000372dcd05f3e15294" X-Rspamd-Queue-Id: 4P8GQY38k7z3xPm X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --000000000000372dcd05f3e15294 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Feb 4, 2023 at 6:35 AM Stefan E=C3=9Fer wrote: > Am 02.02.23 um 08:43 schrieb Jessica Clarke: > > On 1 Feb 2023, at 16:40, Jessica Clarke wrote: > >> > >> On 1 Feb 2023, at 16:30, Stefan E=C3=9Fer wrote: > >>> > >>> The branch main has been updated by se: > >>> > >>> URL: > https://cgit.FreeBSD.org/src/commit/?id=3D1e0853ee84031e4131a0b8cc8737696= f199d3d4c > >>> > >>> commit 1e0853ee84031e4131a0b8cc8737696f199d3d4c > >>> Author: Stefan E=C3=9Fer > >>> AuthorDate: 2023-02-01 16:24:18 +0000 > >>> Commit: Stefan E=C3=9Fer > >>> CommitDate: 2023-02-01 16:24:18 +0000 > >>> > >>> sys/kbio.h: support Unicode key codes in vt keymap files > >>> > >>> Some keyboard definitions return Unicode characters that cannot be > >>> represented in the 8 bits provided by an u_char. > >>> > >>> Extend then width of the keycode entries to 16 bits to allow for a= ll > >>> keycodes currently defined in share/vt/keymaps/*,kbd. > >>> > >>> Reported by: yuri@aetern.org > >>> MFC after: 3 days > >>> --- > >>> sys/sys/kbio.h | 2 +- > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>> > >>> diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h > >>> index 7f17bda76c51..b0779f5ed114 100644 > >>> --- a/sys/sys/kbio.h > >>> +++ b/sys/sys/kbio.h > >>> @@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t; > >>> > >>> struct acc_t { > >>> u_char accchar; > >>> - u_char map[NUM_ACCENTCHARS][2]; > >>> + u_short map[NUM_ACCENTCHARS][2]; > >> > >> This breaks ABI for [GP]IO_DEADKEYMAP. > > > > Ping. This is important, especially with the MFC after. > > > > This should be reverted and re-landed with compat IMO. > > The patch has been reverted in commit f7e5465cb597 and a > patch set that offers ABI backwards compatibility has been > uploaded to phabricator for review as: > > https://reviews.freebsd.org/D38381 > > > The ioctl handler in kbd/kbd.c has been extended in the same > way as had been used to support 32 bit key codes in the main > key map (with similar backwards compatibility code). > > Support of kbdcontrol built with the patched kbio.h on an old > kernel could be added to kbdcontrol.c - but we do not support > running a new user land on an old kernel, in general. (The > old kbdcontrol on a new kernel could load the normal keymap, > but the dead key map would be ignored.) > "In general" is true. However, this case is on the edge of being one that we should do, based on how hard it is. You run into needing this if you boot an old kernel because the new kernel is broken on your hardware, but you've already done an install world (this happens, even for people that follow the rules sometimes for problems that aren't fatal to boot, but may be too crashy to build a new kernel). Since this affects one's ability to interact with the system with non-standard keyboards, how hard would it be to retain the old code as a fallback if the new ioctl fails to work? If it's quite hard, then we can skip it. If it isn't too hard, please consider it... Also, what's the behavior of the failure? Warner > I have used u_int for all values to be able to support the > full Unicode range, since this type has already been used for > the normal key code maps. > > > I'd appreciate a quick review to be able to MFC to -STABLE in > time for inclusion in the upcoming 13.2 release ... > > Regards, STefan > --000000000000372dcd05f3e15294 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Sat, Feb 4, 2023 at 6:35 AM Stefan= E=C3=9Fer <se@freebsd.org> wro= te:
Am 02.02.23 = um 08:43 schrieb Jessica Clarke:
> On 1 Feb 2023, at 16:40, Jessica Clarke <jrtc27@FreeBSD.org> wro= te:
>>
>> On 1 Feb 2023, at 16:30, Stefan E=C3=9Fer <se@FreeBSD.org> w= rote:
>>>
>>> The branch main has been updated by se:
>>>
>>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D1e0853ee84031e4131a0b8cc8737696f1= 99d3d4c
>>>
>>> commit 1e0853ee84031e4131a0b8cc8737696f199d3d4c
>>> Author:=C2=A0 =C2=A0 =C2=A0Stefan E=C3=9Fer <se@FreeBSD.org= >
>>> AuthorDate: 2023-02-01 16:24:18 +0000
>>> Commit:=C2=A0 =C2=A0 =C2=A0Stefan E=C3=9Fer <se@FreeBSD.org= >
>>> CommitDate: 2023-02-01 16:24:18 +0000
>>>
>>>=C2=A0 =C2=A0 sys/kbio.h: support Unicode key codes in vt keyma= p files
>>>
>>>=C2=A0 =C2=A0 Some keyboard definitions return Unicode characte= rs that cannot be
>>>=C2=A0 =C2=A0 represented in the 8 bits provided by an u_char.<= br> >>>
>>>=C2=A0 =C2=A0 Extend then width of the keycode entries to 16 bi= ts to allow for all
>>>=C2=A0 =C2=A0 keycodes currently defined in share/vt/keymaps/*,= kbd.
>>>
>>>=C2=A0 =C2=A0 Reported by:=C2=A0 =C2=A0 =C2=A0 =C2=A0yuri@aetern.org
>>>=C2=A0 =C2=A0 MFC after:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A03 day= s
>>> ---
>>> sys/sys/kbio.h | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/sys/sys/kbio.h b/sys/sys/kbio.h
>>> index 7f17bda76c51..b0779f5ed114 100644
>>> --- a/sys/sys/kbio.h
>>> +++ b/sys/sys/kbio.h
>>> @@ -200,7 +200,7 @@ typedef struct okeymap okeymap_t;
>>>
>>> struct acc_t {
>>>=C2=A0 =C2=A0 =C2=A0u_char=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ac= cchar;
>>> -=C2=A0 =C2=A0u_char=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 map[NUM= _ACCENTCHARS][2];
>>> +=C2=A0 =C2=A0u_short=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0map[NUM= _ACCENTCHARS][2];
>>
>> This breaks ABI for [GP]IO_DEADKEYMAP.
>
> Ping. This is important, especially with the MFC after.
>
> This should be reverted and re-landed with compat IMO.

The patch has been reverted in commit f7e5465cb597 and a
patch set that offers ABI backwards compatibility has been
uploaded to phabricator for review as:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 https://reviews.freebsd.org/D38381=


The ioctl handler in kbd/kbd.c has been extended in the same
way as had been used to support 32 bit key codes in the main
key map (with similar backwards compatibility code).

Support of kbdcontrol built with the patched kbio.h on an old
kernel could be added to kbdcontrol.c - but we do not support
running a new user land on an old kernel, in general. (The
old kbdcontrol on a new kernel could load the normal keymap,
but the dead key map would be ignored.)

"In general" is true. However, this case is on the edge of being=
one that we should do, based on how hard it is. You run into
needing this if you boot an old kernel because the new kernel
<= div>is broken on your hardware, but you've already done an install
world (this happens, even for people that follow the rules sometimes<= /div>
for problems that aren't fatal to boot, but may be too crashy=
to build a new kernel). Since this affects one's ability to = interact
with the system with non-standard keyboards, how hard wo= uld
it be to retain the old code as a fallback if the new ioctl f= ails to
work? If it's quite hard, then we can skip it. If it = isn't too hard,
please consider it...=C2=A0 Also, what's = the behavior of the failure?

Warner
= =C2=A0
I have used u_int for all values to be able to support the
full Unicode range, since this type has already been used for
the normal key code maps.


I'd appreciate a quick review to be able to MFC to -STABLE in
time for inclusion in the upcoming 13.2 release ...
= =C2=A0
Regards, STefan
--000000000000372dcd05f3e15294-- From nobody Sat Feb 4 15:29:14 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Gf2587Gz3nWSX; Sat, 4 Feb 2023 15:29: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 4P8Gf24bYCz3xpR; Sat, 4 Feb 2023 15:29:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675524554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=di3lNz0WHefKDdshRUAfprCXcoNpI9Svxv1vBi5kuHI=; b=Vl0AH66og7zjsNFe1iTgSUYHjfu5f1Vyx/qMj58iHYxB22J9JuelVoj53TcDQ4HTdC0J7e AQGB/IoOmH3+w/qPICmygEHPCPu4cvfbrTtyWljKwQteR/vTmqp68fl1Ca+gKEat8PlHRe qHa7D91CTM+8NyqLGwGO0k3k7MFXixXHsN7Q55N+FzBIsfI0Eo36pzV3KwcPKuu0Ua6MSk uAMQJzaMiTrX4Ui99yamfexeApBhd2Wl03SeUZMJS16t92T5DoXff4XG7l+XBFeBrlmnPl p0MKRfoE3GmShC/I2tm7BrREWdMbs/EORA3FZnUMElLZUmDW3f9opwTxX2FSRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675524554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=di3lNz0WHefKDdshRUAfprCXcoNpI9Svxv1vBi5kuHI=; b=JBEQpEYfW/Q40fqdl7UVqEGXhqaGNU4lvCKursrfcC70spM3fEzqigC9lrAOOQXMXUf8tg kG89/BrP2slyJQ3PCde4jJwYqWC0w2+a1j0+qASRTIPyckGKHQRAQWHK4oUj+sFPTdX2Ei 6T98LsR2pHtXC7bs47jS92QOjCxAgnPhCHHAcPT3NSu6TRqfswOUq1GX4nYOBIN1jswgGZ 6fPJykgSH2iL3Pnp/UnbmZhfAGMCz0jqQ0pZszceXezwVZkt785kdsk5K+5oLBx7WQ5Xqi 7SM8AOapQtAsOug7ugqXipbb9glJf9OJAoG609PjTWla0M7V/0ayWo5lDc6axw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675524554; a=rsa-sha256; cv=none; b=BU5QGUvtgQJrAYURtQEaWjgDHp0xxy8pqn6Z6VckaowI7HGD7qfCdnr7SiqTlEt0My7Pfb Rlkyz/sL/ge2cQHzoQkdGBoDHw4rIXTPKQR1MEX/GynwsTJdi6/E89XFqD4mime+v/+pDn UF4HEsgpA8DPNqckaWfX2rkBswctDJiKLW9nqenfHKne1N7aUK7TpR7/5O5Ec8wr6cq8o5 SqupLnnt0Qjz5IkTkFv9D7ugahbSJoVAQ5M+0KEi+3CjaIktw0x3zACXWd+yv6EroPUsqQ Yk7Ya5+3LaqjKIPuhjjYXSQ07jjZg9DxU4a/MHcaUhCck18wuSspdcO/aeVDaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Gf23chbzKKc; Sat, 4 Feb 2023 15:29:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314FTESQ033444; Sat, 4 Feb 2023 15:29:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314FTEad033443; Sat, 4 Feb 2023 15:29:14 GMT (envelope-from git) Date: Sat, 4 Feb 2023 15:29:14 GMT Message-Id: <202302041529.314FTEad033443@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 6f52f8504814 - main - Refer to a related manpage List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f52f8504814a755bad5b543ed668cbcf40bf336 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6f52f8504814a755bad5b543ed668cbcf40bf336 commit 6f52f8504814a755bad5b543ed668cbcf40bf336 Author: Tom Hukins AuthorDate: 2023-02-03 16:09:39 +0000 Commit: Warner Losh CommitDate: 2023-02-04 15:22:28 +0000 Refer to a related manpage Add reference to the lua jail man page. Reviewed by: imp, Mina Galic Pull Request: https://github.com/freebsd/freebsd-src/pull/642 --- lib/libjail/jail.3 | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libjail/jail.3 b/lib/libjail/jail.3 index 3e099314ff30..761633e246d8 100644 --- a/lib/libjail/jail.3 +++ b/lib/libjail/jail.3 @@ -272,6 +272,7 @@ A parameter is of an unknown type. .El .Sh SEE ALSO .Xr jail 2 , +.Xr jail 3lua , .Xr sysctl 3 , .Xr jail 8 .Sh HISTORY From nobody Sat Feb 4 16:20:08 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmm4KY5z3nZ5M; Sat, 4 Feb 2023 16:20: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 4P8Hmm3pzJz43BZ; Sat, 4 Feb 2023 16:20:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IarRdswWzvORTlPY0PXRKCg6uwxwrtZDW26wk8Io0CQ=; b=HwQJqZ7lM8KMXmcSUjkggQx4l2JTsxtkjHd3HEOfZ090S5jqInUsK+aatWIbj+3AjTKo9z IHuOztWaV0U6jG0hHrDXbqyUvlxhs9MAULUqvZ9Tq6SeoQA60Qa/iSUS7V6AxD2R8yx82L pxIYY6x/dhxCk9pxDe9lMM+v3BPE0NjxfSgfgCy82r0aewCAOx8R7FlSJJsfej5+pUXUUn ygl4Wyj1EdBdlArBvPIzWBrftFa1QudmlAomoCmIo1RTZ2ud38Cy77lShuXcVsybc+qbfj AHajaZ1LOb0tulsOqUbPG5T2Xy1faAsN+HoRWJwaakqErb8H/fJqGeUnrgv7qA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IarRdswWzvORTlPY0PXRKCg6uwxwrtZDW26wk8Io0CQ=; b=ebxdzOteki3dmHNg7iYc3ERUBY6kEq0bsaM3pgQ7N0jMy5PiuGPHSkMRNUGqE0Zvs2aVah UIMmRogl1cfD/a7lnSUDQLoxgsmozlQpujIhaOuiH15Jrg2mJQ7IN22OZ7FaVA4bg9m7Ax aT45ulETiPt97M+7xtxyJ9cQjhSkIHDeYUtehp2S01F+cctLPsAjUIkDRlRMBfVzi2pmml 0Fn9XETsFa+oqPr6PdwitIB17MzU8h3tNTzzzElHWCC7xWu2QpYNDRFzyG+/befz0NQzMX 7ajE3IIjkdqMiaWaCTdBXdEBYHAK7sz4asblwJRYzTTNxnZ58WhBgucfSb1Wxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527608; a=rsa-sha256; cv=none; b=OHtsqc0gcACIR8+IGztwPmI+o+XxPKzmEapcgXBkbIjQRw+3sBKrA30qEOxI0QoqWWXv0l hhyxoitziCV5BxJW9hIlY84kOjAVq+Xrh9HN9zDOYKaUFYKAI3AZZUMzXA02hFNbrm1DgA STujo13/Ab0rwihcW/HKAktjVBs5uwi4fgqpgL/9+hDr/hpggabbnaLwLO/REaqB3fL9B7 63hSJ+/tBpS9PmI41llpPeXa+8NAKfd8tRQqKHfgL8kbKv6rojZosfklM8NHNp5Na6I6NK 6f3tFUjlmK6Uq5plUvo0pVlUZ/Y/B0mCDnKJClLqvC1fgjGc91PFaagKnUGjUA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hmm2sN7zLBR; Sat, 4 Feb 2023 16:20:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GK8wp008149; Sat, 4 Feb 2023 16:20:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GK8Y2008145; Sat, 4 Feb 2023 16:20:08 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:08 GMT Message-Id: <202302041620.314GK8Y2008145@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: ef2235ec65fd - main - altq: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef2235ec65fdb31a1caf0215c269413b0e7630e5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ef2235ec65fdb31a1caf0215c269413b0e7630e5 commit ef2235ec65fdb31a1caf0215c269413b0e7630e5 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:10:27 +0000 altq: purge EOL release compatibility Remove conditionals checking for End-of-Life releases, dating back to 3.0 in this case... Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/net/altq/altq_rmclass.c | 8 +------- sys/net/altq/altq_subr.c | 8 +------- sys/net/altq/altq_var.h | 10 ---------- 3 files changed, 2 insertions(+), 24 deletions(-) diff --git a/sys/net/altq/altq_rmclass.c b/sys/net/altq/altq_rmclass.c index 6e64a0a6f80e..886641065d14 100644 --- a/sys/net/altq/altq_rmclass.c +++ b/sys/net/altq/altq_rmclass.c @@ -1449,13 +1449,8 @@ void rmc_dropall(struct rm_class *cl) } } -#if (__FreeBSD_version > 300000) -/* hzto() is removed from FreeBSD-3.0 */ -static int hzto(struct timeval *); - static int -hzto(tv) - struct timeval *tv; +hzto(struct timeval *tv) { struct timeval t2; @@ -1464,7 +1459,6 @@ hzto(tv) t2.tv_usec = tv->tv_usec - t2.tv_usec; return (tvtohz(&t2)); } -#endif /* __FreeBSD_version > 300000 */ /* * void diff --git a/sys/net/altq/altq_subr.c b/sys/net/altq/altq_subr.c index 04ea1bc91e28..d569aa3f3ab3 100644 --- a/sys/net/altq/altq_subr.c +++ b/sys/net/altq/altq_subr.c @@ -81,11 +81,7 @@ static void tbr_timeout(void *); static struct mbuf *tbr_dequeue(struct ifaltq *, int); static int tbr_timer = 0; /* token bucket regulator timer */ -#if !defined(__FreeBSD__) || (__FreeBSD_version < 600000) -static struct callout tbr_callout = CALLOUT_INITIALIZER; -#else static struct callout tbr_callout; -#endif #ifdef ALTQ3_CLFIER_COMPAT static int extract_ports4(struct mbuf *, struct ip *, struct flowinfo_in *); @@ -883,7 +879,6 @@ u_int32_t machclk_per_tick; extern u_int64_t cpu_tsc_freq; #endif -#if (__FreeBSD_version >= 700035) /* Update TSC freq with the value indicated by the caller. */ static void tsc_freq_changed(void *arg, const struct cf_level *level, int status) @@ -892,7 +887,7 @@ tsc_freq_changed(void *arg, const struct cf_level *level, int status) if (status != 0) return; -#if (__FreeBSD_version >= 701102) && (defined(__amd64__) || defined(__i386__)) +#if defined(__amd64__) || defined(__i386__) /* If TSC is P-state invariant, don't do anything. */ if (tsc_is_invariant) return; @@ -903,7 +898,6 @@ tsc_freq_changed(void *arg, const struct cf_level *level, int status) } EVENTHANDLER_DEFINE(cpufreq_post_change, tsc_freq_changed, NULL, EVENTHANDLER_PRI_LAST); -#endif /* __FreeBSD_version >= 700035 */ static void init_machclk_setup(void) diff --git a/sys/net/altq/altq_var.h b/sys/net/altq/altq_var.h index 6763fd972d7d..3be03482b8c9 100644 --- a/sys/net/altq/altq_var.h +++ b/sys/net/altq/altq_var.h @@ -64,25 +64,15 @@ struct acc_filter { #endif #define ACC_GET_HINDEX(handle) ((handle) >> 20) -#if (__FreeBSD_version > 500000) #define ACC_LOCK_INIT(ac) mtx_init(&(ac)->acc_mtx, "classifier", MTX_DEF) #define ACC_LOCK_DESTROY(ac) mtx_destroy(&(ac)->acc_mtx) #define ACC_LOCK(ac) mtx_lock(&(ac)->acc_mtx) #define ACC_UNLOCK(ac) mtx_unlock(&(ac)->acc_mtx) -#else -#define ACC_LOCK_INIT(ac) -#define ACC_LOCK_DESTROY(ac) -#define ACC_LOCK(ac) -#define ACC_UNLOCK(ac) -#endif struct acc_classifier { u_int32_t acc_fbmask; LIST_HEAD(filt, acc_filter) acc_filters[ACC_FILTER_TABLESIZE]; - -#if (__FreeBSD_version > 500000) struct mtx acc_mtx; -#endif }; /* From nobody Sat Feb 4 16:20:09 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmn4fGtz3nYvv; Sat, 4 Feb 2023 16:20: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 4P8Hmn41jHz4349; Sat, 4 Feb 2023 16:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XTm2AmJ5JeDS9IY47DiumOMKpnSQcYPNr1bn/HlSLS4=; b=IJ8I1Pr03m7oNFXuJSbzPEki3sEelxdpaCemoDL/0Umr7cP//Djj1dqfb2oknwHGa70aPP a/JH5mgxTzEVrelVDjWVeCnoGCpH5ULXATnW2u7BTJUuEz5FmfCxVz8eRVEyTBUy42znpF 4kFDZdIEo33OHOdHXKlHCEY1qG+EU67dm4ZFUjditCJNVbnDeXezmleD542NaokD9grji9 Kw82yIjttt1RRtCy0IdzbxelXKREQoZUKa1uaaK6o84/nWmZnHXCda5jI6ItRFDo9Pi2tX DlG0uVBgqcGGOlTD9a1Byf/PLOY0snDqKpd6HzUCpS47tbX1B7AiUXt/vxEzOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XTm2AmJ5JeDS9IY47DiumOMKpnSQcYPNr1bn/HlSLS4=; b=NME7YAa+bld5lqUY6YyT9qk9DQuakMbT/3U7bNu5Cw1xtCuz/orws+Dfywdr54XtDV9gK7 CRgCBif6HoefN2mvqWX6pKfJYGkQNthpdlv6sEdgJIrcgJiBSNQZJeIjyQGbKdMmuD10Wn px9FzZ9dn83JwCqyAM0BSAvX+XVsIyuGE13/CSOuVG7rHX6wU8tToK65CMNs0kRi91VY+l kkMKbhz0fMTiibv6kEzbqi6Ukyjibyqfcd7w6Rg1djcbR3r1K9PKDYZIwcI20BAqoUpys1 7HCWqC93IylIYRUf6ojYa5wwkyA/tapDCsyOnZxJyIBAAsyshbMECYyWvxYyDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527609; a=rsa-sha256; cv=none; b=FmGExrlKP96h0uLyWwNolQsdBTQKMO0Okn1TwohmQ/g519dQ5r7HU+TpHDIPyllaD6Q7Uf hDixOvav88WTXa+Gc2qNTwjDZLSheDLsZe/D2c3X7hKygMUSnmHusZEvFaUTwZYsgJfkEu MR+Bcpyz8L8HzrABWFG2r7ohQlepo5P3Wqdv0bzMiJHF+Qlaqf04ja5HHtAUuAxncyDUur 9xvW56GfsX66jwhnWZRDWULNIhTnT7fuVQvzv1PdYF7LBoplTzHvbJtg6or7CmBPfyLWsp HvsLwttl9Jf2NcPaJBNU/QvZKOqPJqgNLmHpopFpnVJGORGkj0J+JzgmVCfV4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hmn372GzLMB; Sat, 4 Feb 2023 16:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GK9Q5008653; Sat, 4 Feb 2023 16:20:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GK94Q008650; Sat, 4 Feb 2023 16:20:09 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:09 GMT Message-Id: <202302041620.314GK94Q008650@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: aa41036eb7a3 - main - nfsserver: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aa41036eb7a3352415883f9bdb972feba01efb71 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=aa41036eb7a3352415883f9bdb972feba01efb71 commit aa41036eb7a3352415883f9bdb972feba01efb71 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:10:30 +0000 nfsserver: purge EOL release compatibility Remove now-obsolete FreeBSD 4.x and earlier ifdef. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/fs/nfsserver/nfs_nfsdstate.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/fs/nfsserver/nfs_nfsdstate.c b/sys/fs/nfsserver/nfs_nfsdstate.c index 7430f1f200b3..d410a808d06d 100644 --- a/sys/fs/nfsserver/nfs_nfsdstate.c +++ b/sys/fs/nfsserver/nfs_nfsdstate.c @@ -5010,9 +5010,7 @@ nfsrv_updatestable(NFSPROC_T *p) int i; struct nfsvattr nva; vnode_t vp; -#if defined(__FreeBSD_version) && (__FreeBSD_version >= 500000) mount_t mp = NULL; -#endif int error; if (sf->nsf_fp == NULL || (sf->nsf_flags & NFSNSF_UPDATEDONE)) From nobody Sat Feb 4 16:20:10 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmp5LHkz3nYyV; Sat, 4 Feb 2023 16:20: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 4P8Hmp4tNCz43Kp; Sat, 4 Feb 2023 16:20:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527610; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FhI8uk5qz9+eElsPmJ+mSAn+/N0mY3u5ckxSbh7qocg=; b=S6AttUBFfeIxG+rvqFZx+ZnY5F6I51jaW2GEUP0ps4FgONPal7btxIOZp10p3n7WQV8iB1 VtFhKmDWdiMxcBbpFT+g84JEtm4ekJas591/q93mZoLSDjuhvIwccVo3mjKv0946nm8I5H z/5DEZ3c0h1su8Qib2ZQeXzfApvaUVrt2yNbHeaPJUIOBIY3H7nEpssQRAzKe3IRuD45PI PcwmZurGrzD+s36aklawDYItGdPHUYvbG6zQqSwtaX2wzSb2g7QHIZXoQ/bOIHDF3eo8dA iI3+jAfZFUMLsROD9bCRaLH7mj3n6K8PQKsy20MUKOVv7Jehi4M1a8zOqTnUqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527610; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FhI8uk5qz9+eElsPmJ+mSAn+/N0mY3u5ckxSbh7qocg=; b=oe7DTV78pKF8PXxx0vXE/Mh9VdW7rOhjDLh9DHEEJWNcIQLawtfot4HE4M/PtittRFatWR gF/NfB99OmpGyVvxC1yTOTh2vH1diYbzi/x42dAMajPE+Tnwe7uBaB/0unxeFYl1oH8g2s Ib0XsPEVWylCIre7CnToESN2LvCEdgFrlBw/hgMZXhSHK6aEq4mQYZg93AyRl1/2/dZZ0U 4z+ycIkJs4PvS7FxAikWUX5O5UfZGFKA7tiWYRxLjPdRAlJNR/Op6vl+aqm0ww1oXQWUy/ qe7IWjqQDn+GQ6Cu3TWfcd3xVkrHz7Ki6FjLjTnTS2WT06mRfeWQNbSv7IxTiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527610; a=rsa-sha256; cv=none; b=KBseEgLLTYw96Qwe8QLMT/k0Grkoq4KlOIZqTG1icIcYAjqXI2xSsN0PL1zWvCnttDEFM+ xDONPNK1I8lvBXPR994FX8kyb/0pmygV83OyM0HInpHzTjSa9IJF0+mwjZ8yMLrXXQ547o 4VnAWItD1JfeGnn43Fw3/2jElC/16FLK2Jiqr8GMHliL4QEfmTsj8oGpTxkJjNJZEdu9G2 IPMvOr0uwJaISfE0aEqAfK+s7VB0oMUt6+u7lq8Cq5E2bSMhh1UohZpy84Fi8dZv+2PSne +c3wSAFJld7wVZwa4wvHPoGWYYmgNr5e3v1hfBBlbFDHTjnsd+Ajb1d15nIcXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hmp3s5SzLBS; Sat, 4 Feb 2023 16:20:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKA5N009303; Sat, 4 Feb 2023 16:20:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKAOh009296; Sat, 4 Feb 2023 16:20:10 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:10 GMT Message-Id: <202302041620.314GKAOh009296@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 336fbb23def7 - main - usb: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 336fbb23def7a6b3dc44ce5c76bbc07a701c0a69 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=336fbb23def7a6b3dc44ce5c76bbc07a701c0a69 commit 336fbb23def7a6b3dc44ce5c76bbc07a701c0a69 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:10:32 +0000 usb: purge EOL release compatibility Remove conditionsals for FreeBSD 6, 7, 8 and 9 compatibility. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/usb/controller/ehci_pci.c | 5 ----- sys/dev/usb/controller/ohci_pci.c | 5 ----- sys/dev/usb/controller/uhci_pci.c | 5 ----- sys/dev/usb/usb_busdma.h | 4 ---- sys/dev/usb/usb_dev.c | 5 ----- sys/dev/usb/usb_process.c | 21 --------------------- sys/dev/usb/usb_process.h | 4 ---- 7 files changed, 49 deletions(-) diff --git a/sys/dev/usb/controller/ehci_pci.c b/sys/dev/usb/controller/ehci_pci.c index 4ff15a37538c..a4430aa3a05d 100644 --- a/sys/dev/usb/controller/ehci_pci.c +++ b/sys/dev/usb/controller/ehci_pci.c @@ -424,13 +424,8 @@ ehci_pci_attach(device_t self) sprintf(sc->sc_vendor, "(0x%04x)", pci_get_vendor(self)); } -#if (__FreeBSD_version >= 700031) err = bus_setup_intr(self, sc->sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, NULL, (driver_intr_t *)ehci_interrupt, sc, &sc->sc_intr_hdl); -#else - err = bus_setup_intr(self, sc->sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, - (driver_intr_t *)ehci_interrupt, sc, &sc->sc_intr_hdl); -#endif if (err) { device_printf(self, "Could not setup irq, %d\n", err); sc->sc_intr_hdl = NULL; diff --git a/sys/dev/usb/controller/ohci_pci.c b/sys/dev/usb/controller/ohci_pci.c index b9d90ba5432d..abca9526db52 100644 --- a/sys/dev/usb/controller/ohci_pci.c +++ b/sys/dev/usb/controller/ohci_pci.c @@ -296,13 +296,8 @@ ohci_pci_attach(device_t self) /* sc->sc_bus.usbrev; set by ohci_init() */ -#if (__FreeBSD_version >= 700031) err = bus_setup_intr(self, sc->sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, NULL, (driver_intr_t *)ohci_interrupt, sc, &sc->sc_intr_hdl); -#else - err = bus_setup_intr(self, sc->sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, - (driver_intr_t *)ohci_interrupt, sc, &sc->sc_intr_hdl); -#endif if (err) { device_printf(self, "Could not setup irq, %d\n", err); sc->sc_intr_hdl = NULL; diff --git a/sys/dev/usb/controller/uhci_pci.c b/sys/dev/usb/controller/uhci_pci.c index 2b38e31208f2..19efb0ef6a5a 100644 --- a/sys/dev/usb/controller/uhci_pci.c +++ b/sys/dev/usb/controller/uhci_pci.c @@ -363,13 +363,8 @@ uhci_pci_attach(device_t self) break; } -#if (__FreeBSD_version >= 700031) err = bus_setup_intr(self, sc->sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, NULL, (driver_intr_t *)uhci_interrupt, sc, &sc->sc_intr_hdl); -#else - err = bus_setup_intr(self, sc->sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, - (driver_intr_t *)uhci_interrupt, sc, &sc->sc_intr_hdl); -#endif if (err) { device_printf(self, "Could not setup irq, %d\n", err); diff --git a/sys/dev/usb/usb_busdma.h b/sys/dev/usb/usb_busdma.h index 2f60b30963d2..254694e1b21f 100644 --- a/sys/dev/usb/usb_busdma.h +++ b/sys/dev/usb/usb_busdma.h @@ -40,11 +40,7 @@ #define USB_PAGE_SIZE PAGE_SIZE /* use system PAGE_SIZE */ -#if (__FreeBSD_version >= 700020) #define USB_GET_DMA_TAG(dev) bus_get_dma_tag(dev) -#else -#define USB_GET_DMA_TAG(dev) NULL /* XXX */ -#endif /* structure prototypes */ diff --git a/sys/dev/usb/usb_dev.c b/sys/dev/usb/usb_dev.c index 4811d280562c..84446edc3ecd 100644 --- a/sys/dev/usb/usb_dev.c +++ b/sys/dev/usb/usb_dev.c @@ -96,12 +96,7 @@ SYSCTL_INT(_hw_usb_dev, OID_AUTO, debug, CTLFLAG_RWTUN, &usb_fifo_debug, 0, "Debug Level"); #endif -#if ((__FreeBSD_version >= 700001) || (__FreeBSD_version == 0) || \ - ((__FreeBSD_version >= 600034) && (__FreeBSD_version < 700000))) #define USB_UCRED struct ucred *ucred, -#else -#define USB_UCRED -#endif /* prototypes */ diff --git a/sys/dev/usb/usb_process.c b/sys/dev/usb/usb_process.c index 37495608a30d..33dbad1bf998 100644 --- a/sys/dev/usb/usb_process.c +++ b/sys/dev/usb/usb_process.c @@ -62,31 +62,14 @@ #include #endif /* USB_GLOBAL_INCLUDE_FILE */ -#if (__FreeBSD_version < 700000) -#define thread_lock(td) mtx_lock_spin(&sched_lock) -#define thread_unlock(td) mtx_unlock_spin(&sched_lock) -#endif - -#if (__FreeBSD_version >= 800000) static struct proc *usbproc; static int usb_pcount; #define USB_THREAD_CREATE(f, s, p, ...) \ kproc_kthread_add((f), (s), &usbproc, (p), RFHIGHPID, \ 0, "usb", __VA_ARGS__) -#if (__FreeBSD_version >= 900000) #define USB_THREAD_SUSPEND_CHECK() kthread_suspend_check() -#else -#define USB_THREAD_SUSPEND_CHECK() kthread_suspend_check(curthread) -#endif #define USB_THREAD_SUSPEND(p) kthread_suspend(p,0) #define USB_THREAD_EXIT(err) kthread_exit() -#else -#define USB_THREAD_CREATE(f, s, p, ...) \ - kthread_create((f), (s), (p), RFHIGHPID, 0, __VA_ARGS__) -#define USB_THREAD_SUSPEND_CHECK() kthread_suspend_check(curproc) -#define USB_THREAD_SUSPEND(p) kthread_suspend(p,0) -#define USB_THREAD_EXIT(err) kthread_exit(err) -#endif #ifdef USB_DEBUG static int usb_proc_debug; @@ -198,11 +181,9 @@ usb_process(void *arg) up->up_ptr = NULL; cv_signal(&up->up_cv); USB_MTX_UNLOCK(up->up_mtx); -#if (__FreeBSD_version >= 800000) /* Clear the proc pointer if this is the last thread. */ if (--usb_pcount == 0) usbproc = NULL; -#endif USB_THREAD_EXIT(0); } @@ -238,9 +219,7 @@ usb_proc_create(struct usb_process *up, struct mtx *p_mtx, up->up_ptr = NULL; goto error; } -#if (__FreeBSD_version >= 800000) usb_pcount++; -#endif return (0); error: diff --git a/sys/dev/usb/usb_process.h b/sys/dev/usb/usb_process.h index 7be78917b8f0..8a416a308856 100644 --- a/sys/dev/usb/usb_process.h +++ b/sys/dev/usb/usb_process.h @@ -57,11 +57,7 @@ struct usb_process { struct cv up_cv; struct cv up_drain; -#if (__FreeBSD_version >= 800000) struct thread *up_ptr; -#else - struct proc *up_ptr; -#endif struct thread *up_curtd; struct mtx *up_mtx; From nobody Sat Feb 4 16:20:11 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmq5X9rz3nZ6c; Sat, 4 Feb 2023 16:20: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 4P8Hmq53hyz43NH; Sat, 4 Feb 2023 16:20:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5oevPGHacSOB1u5XYTuZltBFWdMZ9+5GAsO8qb2HVG4=; b=rFfxUquQGlzgBzWrgkvedBEUh7qmaDUjGITynbzzxmAtC/235WA2slSph5gsxke6Np4By8 evc6EafWJdF40Mg8Pa32xIowvuiood8lDeOr90cDufvwIgDhUqLp8KZ/NAzY6BH9QUqOy9 3jZh9URnLfWv1xRUPbiYIxxrlx9NboVP4dq+wlK1W8OpW55CcTtcyhCbsvVJLc2hyXPdgx ylv4SgvOvGx1syzMEOyQxdeOJEpyENX9i3kGzDB0obdlaUBzeA3+kiY6c9szdXnFBHl5pV dTvA9l1W29ZprWl2/A/0wsJ4GQn7M4l92fjNgU3UA86vkRTtjkLIt36cI7OZ4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5oevPGHacSOB1u5XYTuZltBFWdMZ9+5GAsO8qb2HVG4=; b=I0sfwvI26r1gTyXXzpu8Pupxj5rOsq1mDQnCBdkcPw1Th57SWBnAjlSseF28w24XMABjk0 V64jjouzGK89tvbG+HvlgJ1cW70Y7v7xlwZiKz5qmLqoTwva1jUufMx5EBI4GqHLFdqaJA yU8LbgRpkNddGp2QVDLU8Imo4PikH8PL06TkT/1ebOYbwflxXDe8uJeWmhMUAc5QxHspkY PJMepFuIS0ybK9wpGSOIcgQekPM/3Qf/P8yCR0fIVp/ncBxCje7IAHafbWL/mQ05D+M5Og iNLGQt9hCN6j9939TUtnptml6QFleJULZGIlC7A1gKSd/G+r6E3Lbd4wLCpgcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527611; a=rsa-sha256; cv=none; b=fAU3LZsJiNIw7LJFJ8qgcL+iY1JEqg2G+a0VPmNTjtKxqzUd/CC0hFYCcsfQTrqmPrza7u y9UXGN86p3ZBINOrk2UaQK6p8B956/fmGvpxB6CS4PsOvvNfT49mW5wHZ0+gB3YKF20d7m 3VADhtcg+UsdDKhHRkfEcOy74QZcyZh1SOrX14K8MOZVJkpykY9XSiWT7NMhDaxSNO4q8N AZtJdBCNFZvu0SK2ToKZkw/Sziwau+xu3eYhoXHPoIfT2tyzXZvx6aNaIMXuBvwsKg4FGX koIuFQs/JIisgdBjiV43ciD2dXZe0oRvP7imo4cajy868AJYfJWd/fIZZmwKUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hmq46LCzLBT; Sat, 4 Feb 2023 16:20:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKBhU009927; Sat, 4 Feb 2023 16:20:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKBjM009920; Sat, 4 Feb 2023 16:20:11 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:11 GMT Message-Id: <202302041620.314GKBjM009920@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 24c0ba96f1d0 - main - mpt: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 24c0ba96f1d0827c73ddbded7d5187a172a4e93f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=24c0ba96f1d0827c73ddbded7d5187a172a4e93f commit 24c0ba96f1d0827c73ddbded7d5187a172a4e93f Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:10:34 +0000 mpt: purge EOL release compatibility Remove FreeBSD 7.x and earlier compatibility. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/mpt/mpt_cam.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sys/dev/mpt/mpt_cam.h b/sys/dev/mpt/mpt_cam.h index 080a3c1fe9d9..e292d02396a3 100644 --- a/sys/dev/mpt/mpt_cam.h +++ b/sys/dev/mpt/mpt_cam.h @@ -145,11 +145,6 @@ mpt_wakeup_recovery_thread(struct mpt_softc *mpt) } /************************** Version Compatibility *************************/ -#if __FreeBSD_version < 700031 -#define mpt_sim_alloc(a, b, c, mpt, e, f, g) \ - cam_sim_alloc(a, b, c, mpt, (mpt)->unit, e, f, g) -#else #define mpt_sim_alloc(a, b, c, mpt, e, f, g) \ cam_sim_alloc(a, b, c, mpt, (mpt)->unit, &(mpt)->mpt_lock, e, f, g) -#endif #endif /*_MPT_CAM_H_ */ From nobody Sat Feb 4 16:20:12 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmr6fNpz3nYyY; Sat, 4 Feb 2023 16:20: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 4P8Hmr60mZz43Ll; Sat, 4 Feb 2023 16:20:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fiDj68+m9NqsD6ZNeEuTwO28PqavqUSgxYubogZ/Rks=; b=owevVz2zbTj7fII1IUxNIArwZ1MVvSNj26wnCngPCpuy+oIgzFVP9kx5l2b3PLzoMEp/H/ F2uRIDHhW1FU0+LlUrY2lVKVwAzW3VszJ/TNcSxo6f70qhLXetVliaiRJHhKn7o+U0RRL1 cO+4rgUCo12vtulGWThFtQ5sOrsE8KEAxn60trQO4Dwk/+1/oTr21692n56nmvRcZiXdAr /2/DXZFAEHOeIa3NztmQjsFrUwaUbRNKgTi0nF5IhEiWdIPd7hak9btLuQ9LQtVu13i1Cg /EzqbINmtYeBndF7glK+s4VZph24oFMeVKrRLtMsDqW6HsXfxAPAcIuWG9XSsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fiDj68+m9NqsD6ZNeEuTwO28PqavqUSgxYubogZ/Rks=; b=GuZFQ9shZYWEkCXdkOEC31ORMC55cD0DyP/KzhMEuo4ATmgkwSIMrcy33o5ckTuf6fo7kI i+2oqeDe8Ws2lI8HYT2RDBoVxt2UasOvKMVXq8gghdrfUYjtEl3YxRV846nA7tjdygWnFj IU0tn0engC8frfsJDzenU8+cdyEMAm4kFXL/0/vTDGuR6zLiB9I2IM4PTWizx5QnER9fWi Tz11IwFnpoeFtSIFbhXIR52iy0i4yBzl8ra0wJ/p5CMv250+9N6Eqe+Ar3gINhDSOQph8w 9k4qUikJkbgahZV++V15U5nGOp/TVs8idHLhe9tpSv7VlNeRzX1w2eRcuJbGpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527612; a=rsa-sha256; cv=none; b=UKJ8JC3fIBbL6JIztNu6xkiDnrNDv31lwZhobXwTB81Qn4G7n/6yWVYMYV4PRH+07AYpPX jTBohJdoL6XzT+w1GFiQmUe/cEODky7YuV2IfhuQ27kVsb7it5wTcXy48AcGMV4WK3SIMZ Aka4sNQZr9gFlgXKibHkYSrzbmRZvzgiHhrq6REDE5poC8YIzG11uxUhJuAhU5dyBPn/jq x9txBxKSQyDLv7+khUk+f4IzxPH9kjy6vjmEQ965mfXNEHYWFQmtgeJKs4xXeJ81TCZjXi w3Z14a3Yp6vk6KnRQIdcnzfAf3CeXlG3DUr3cFz/7srJVpXSpSKvYnf8AZ6FpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hmr4vG1zLfK; Sat, 4 Feb 2023 16:20:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKCfR010556; Sat, 4 Feb 2023 16:20:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKC4Q010545; Sat, 4 Feb 2023 16:20:12 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:12 GMT Message-Id: <202302041620.314GKC4Q010545@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 721d3e7e9a7d - main - mrsas: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 721d3e7e9a7d6a099361d88e8d47697f07c4c2b6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=721d3e7e9a7d6a099361d88e8d47697f07c4c2b6 commit 721d3e7e9a7d6a099361d88e8d47697f07c4c2b6 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:10:36 +0000 mrsas: purge EOL release compatibility Remove FreeBSD 7, 8, 9 and 10 compatibility code. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/mrsas/mrsas.h | 12 ------------ sys/dev/mrsas/mrsas_cam.c | 48 +-------------------------------------------- sys/dev/mrsas/mrsas_ioctl.h | 3 --- sys/dev/mrsas/mrsas_linux.c | 14 ------------- 4 files changed, 1 insertion(+), 76 deletions(-) diff --git a/sys/dev/mrsas/mrsas.h b/sys/dev/mrsas/mrsas.h index 069db02fadff..408018f2f5ce 100644 --- a/sys/dev/mrsas/mrsas.h +++ b/sys/dev/mrsas/mrsas.h @@ -138,12 +138,6 @@ __FBSDID("$FreeBSD$"); /* * Boolean types */ -#if (__FreeBSD_version < 901000) -typedef enum _boolean { - false, true -} boolean; - -#endif enum err { SUCCESS, FAIL }; @@ -3632,15 +3626,9 @@ struct mrsas_softc { }; /* Compatibility shims for different OS versions */ -#if __FreeBSD_version >= 800001 #define mrsas_kproc_create(func, farg, proc_ptr, flags, stackpgs, fmtstr, arg) \ kproc_create(func, farg, proc_ptr, flags, stackpgs, fmtstr, arg) #define mrsas_kproc_exit(arg) kproc_exit(arg) -#else -#define mrsas_kproc_create(func, farg, proc_ptr, flags, stackpgs, fmtstr, arg) \ - kthread_create(func, farg, proc_ptr, flags, stackpgs, fmtstr, arg) -#define mrsas_kproc_exit(arg) kthread_exit(arg) -#endif static __inline void mrsas_clear_bit(int b, volatile void *p) diff --git a/sys/dev/mrsas/mrsas_cam.c b/sys/dev/mrsas/mrsas_cam.c index 3ac37bc13a3c..9ad97d2ce3e2 100644 --- a/sys/dev/mrsas/mrsas_cam.c +++ b/sys/dev/mrsas/mrsas_cam.c @@ -222,12 +222,6 @@ mrsas_cam_attach(struct mrsas_softc *sc) } mtx_unlock(&sc->sim_lock); -#if (__FreeBSD_version <= 704000) - if (mrsas_bus_scan(sc)) { - device_printf(sc->mrsas_dev, "Error in bus scan.\n"); - return (1); - } -#endif return (0); } @@ -346,11 +340,7 @@ mrsas_action(struct cam_sim *sim, union ccb *ccb) ccb->cpi.version_num = 1; ccb->cpi.hba_inquiry = 0; ccb->cpi.target_sprt = 0; -#if (__FreeBSD_version >= 902001) ccb->cpi.hba_misc = PIM_UNMAPPED; -#else - ccb->cpi.hba_misc = 0; -#endif ccb->cpi.hba_eng_cnt = 0; ccb->cpi.max_lun = MRSAS_SCSI_MAX_LUNS; ccb->cpi.unit_number = cam_sim_unit(sim); @@ -368,9 +358,7 @@ mrsas_action(struct cam_sim *sim, union ccb *ccb) ccb->cpi.max_target = MRSAS_MAX_PD - 1; else ccb->cpi.max_target = MRSAS_MAX_LD_IDS - 1; -#if (__FreeBSD_version > 704000) ccb->cpi.maxio = sc->max_sectors_per_req * 512; -#endif ccb->ccb_h.status = CAM_REQ_CMP; xpt_done(ccb); break; @@ -418,13 +406,8 @@ mrsas_scsiio_timeout(void *data) * on OCR enable/disable property of Controller from ocr_thread * context. */ -#if (__FreeBSD_version >= 1000510) callout_reset_sbt(&cmd->cm_callout, SBT_1S * 180, 0, mrsas_scsiio_timeout, cmd, 0); -#else - callout_reset(&cmd->cm_callout, (180000 * hz) / 1000, - mrsas_scsiio_timeout, cmd); -#endif if (cmd->ccb_ptr->cpi.bus_id == 0) target_id = cmd->ccb_ptr->ccb_h.target_id; @@ -492,8 +475,6 @@ mrsas_startio(struct mrsas_softc *sc, struct cam_sim *sim, } else cmd->flags = MRSAS_DIR_NONE; /* no data */ -/* For FreeBSD 9.2 and higher */ -#if (__FreeBSD_version >= 902001) /* * XXX We don't yet support physical addresses here. */ @@ -526,24 +507,7 @@ mrsas_startio(struct mrsas_softc *sc, struct cam_sim *sim, ccb->ccb_h.status = CAM_REQ_INVALID; goto done; } -#else - if (!(ccb_h->flags & CAM_DATA_PHYS)) { /* Virtual data address */ - if (!(ccb_h->flags & CAM_SCATTER_VALID)) { - cmd->length = csio->dxfer_len; - if (cmd->length) - cmd->data = csio->data_ptr; - } else { - mrsas_release_mpt_cmd(cmd); - ccb_h->status = CAM_REQ_INVALID; - goto done; - } - } else { /* Data addresses are physical. */ - mrsas_release_mpt_cmd(cmd); - ccb_h->status = CAM_REQ_INVALID; - ccb_h->status &= ~CAM_SIM_QUEUED; - goto done; - } -#endif + /* save ccb ptr */ cmd->ccb_ptr = ccb; @@ -624,13 +588,8 @@ mrsas_startio(struct mrsas_softc *sc, struct cam_sim *sim, * Start timer for IO timeout. Default timeout value is 90 second. */ cmd->callout_owner = true; -#if (__FreeBSD_version >= 1000510) callout_reset_sbt(&cmd->cm_callout, SBT_1S * 180, 0, mrsas_scsiio_timeout, cmd, 0); -#else - callout_reset(&cmd->cm_callout, (180000 * hz) / 1000, - mrsas_scsiio_timeout, cmd); -#endif if (mrsas_atomic_read(&sc->fw_outstanding) > sc->io_cmds_highwater) sc->io_cmds_highwater++; @@ -1435,13 +1394,8 @@ mrsas_map_request(struct mrsas_softc *sc, if (cmd->data != NULL) { /* Map data buffer into bus space */ mtx_lock(&sc->io_lock); -#if (__FreeBSD_version >= 902001) retcode = bus_dmamap_load_ccb(sc->data_tag, cmd->data_dmamap, ccb, mrsas_data_load_cb, cmd, 0); -#else - retcode = bus_dmamap_load(sc->data_tag, cmd->data_dmamap, cmd->data, - cmd->length, mrsas_data_load_cb, cmd, BUS_DMA_NOWAIT); -#endif mtx_unlock(&sc->io_lock); if (retcode) device_printf(sc->mrsas_dev, "bus_dmamap_load(): retcode = %d\n", retcode); diff --git a/sys/dev/mrsas/mrsas_ioctl.h b/sys/dev/mrsas/mrsas_ioctl.h index adba0d52951a..07ee211714cc 100644 --- a/sys/dev/mrsas/mrsas_ioctl.h +++ b/sys/dev/mrsas/mrsas_ioctl.h @@ -49,9 +49,6 @@ __FBSDID("$FreeBSD$"); #ifdef COMPAT_FREEBSD32 /* Compilation error FIX */ -#if (__FreeBSD_version <= 900000) -#include -#endif #include #include #endif diff --git a/sys/dev/mrsas/mrsas_linux.c b/sys/dev/mrsas/mrsas_linux.c index 11ce3c3f8d54..1b5739652d5d 100644 --- a/sys/dev/mrsas/mrsas_linux.c +++ b/sys/dev/mrsas/mrsas_linux.c @@ -43,11 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include -#if (__FreeBSD_version >= 1001511) #include -#elif (__FreeBSD_version > 900000) -#include -#endif #include #include @@ -108,10 +104,7 @@ mrsas_linux_modevent(module_t mod __unused, int cmd __unused, void *data __unuse static int mrsas_linux_ioctl(struct thread *p, struct linux_ioctl_args *args) { -#if (__FreeBSD_version >= 1000000) cap_rights_t rights; - -#endif struct file *fp; int error; u_long cmd = args->cmd; @@ -120,14 +113,7 @@ mrsas_linux_ioctl(struct thread *p, struct linux_ioctl_args *args) error = ENOTSUP; goto END; } -#if (__FreeBSD_version >= 1000000) error = fget(p, args->fd, cap_rights_init_one(&rights, CAP_IOCTL), &fp); -#elif (__FreeBSD_version <= 900000) - error = fget(p, args->fd, &fp); -#else /* For FreeBSD version greater than - * 9.0.0 but less than 10.0.0 */ - error = fget(p, args->fd, CAP_IOCTL, &fp); -#endif if (error != 0) goto END; From nobody Sat Feb 4 16:20:13 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmt014gz3nYw5; Sat, 4 Feb 2023 16:20: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 4P8Hms6RfGz43lP; Sat, 4 Feb 2023 16:20:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TlQtFesXQqL/L9X/uSpxPl53qXBCLNLfUzLKYjwq5Xg=; b=esYkrEo3uT6mDrjN+WosymPOfHIHVNlfG7RZqrrc8pS316yBiw5Cb8anUMy7vtZI14zepe aGZHdrUecBfttvuYSkS67HzBsZlYm0eU5q7+HF6L63dpSCYaDwGYRCz5q/LqwsQs25rrHk 7x6eYPWwzgkSpUez6YPtRkw0TGCwSLl3cwshB74PSAM55/gq/63cVN+jvdF5DlLbRrcuvT b9nQ8aiYlkgBfB2XjIE9NbkwLE6eZ1kbbFbb5Z9xPqjgYy7O+yW2UMrttuyVNvVej4rEes 3XDlMnlB/ViTbIj/oKBbs2zN4FBlWerASE0AGn7DGV2E6Eq5FqKYHrJ+QxGfhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TlQtFesXQqL/L9X/uSpxPl53qXBCLNLfUzLKYjwq5Xg=; b=SEZ1wHKa6IJNa65/LVsCPq1Ho6/7cNi3oKFiOMI2n76A+8aVTPsv7U7MBcDNt2HkUSiC4p NV3Ub3eJhDSv4LGOaSnVuBcCOJM5z5Pmqj9F480z3UhGJ1/ByCG/F4UO0Zyrjq8oanJPfn g3VmLVPLpCxsX5VWEwEuZpPnTOM+Hk56MzCPWnjZZbYQM6GuIUfP7qMkduxrUvMEaosIOc P90+NGEi3ZVhVSQBCZp4yiIv/x6Ep3wF02q35CIaKz+UvQjDKXZyAX+bFkLlf3TBCGDGqe E7ylMqyTPYMBGW7bIlJDQ6WzTrquTzIiYa6tei4aIv2YkWnxrvnNtNCXywd3tQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527613; a=rsa-sha256; cv=none; b=cnE6qr6LxjDEXVJL9JuHzVxrW1LsQ//zZ47fwG9r5THeDVdXYxJuSKqBYeXfVn/ZF9pC1/ jCKd1GbdZem3nJP2u/P4ngxSiZL2JLGOyBhmRVbFqnNvL916SMTBPYA6t372dAk++S3zwD NxqafIVz06scLJ66RDiqRp76FC3rMd+EISwd7fV4Ar9W95taLA4sdRxIUs/aacKqNhBOSD Ij4STTZ0mqa6O4QSqr5buSpGZkECGdQyXQprZ5MI9bQi8Jh9hh627+wvCWOWJPkUiR86U0 c+LwyAqNGyymxx32jY0FzgQ1UvF4bOelcJSlCwQUqHiKF/PAm8VAEGck0zRjJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hms5YybzLJt; Sat, 4 Feb 2023 16:20:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKDth011232; Sat, 4 Feb 2023 16:20:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKDto011226; Sat, 4 Feb 2023 16:20:13 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:13 GMT Message-Id: <202302041620.314GKDto011226@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: c98b837ad01d - main - mxge: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c98b837ad01d3a43935f826ef0a298ea618885b0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c98b837ad01d3a43935f826ef0a298ea618885b0 commit c98b837ad01d3a43935f826ef0a298ea618885b0 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:10:57 +0000 mxge: purge EOL release compatibility Remove FreeBSD 7, 8, 9 and 10 compatibility code. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/mxge/if_mxge.c | 10 ++-------- sys/dev/mxge/if_mxge_var.h | 16 ---------------- 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/sys/dev/mxge/if_mxge.c b/sys/dev/mxge/if_mxge.c index 8b2118eeb9de..f8b3a6e25c52 100644 --- a/sys/dev/mxge/if_mxge.c +++ b/sys/dev/mxge/if_mxge.c @@ -4582,10 +4582,7 @@ mxge_add_msix_irqs(mxge_softc_t *sc) for (i = 0; i < sc->num_slices; i++) { err = bus_setup_intr(sc->dev, sc->msix_irq_res[i], - INTR_TYPE_NET | INTR_MPSAFE, -#if __FreeBSD_version > 700030 - NULL, -#endif + INTR_TYPE_NET | INTR_MPSAFE, NULL, mxge_intr, &sc->ss[i], &sc->msix_ih[i]); if (err != 0) { device_printf(sc->dev, "couldn't setup intr for " @@ -4658,10 +4655,7 @@ mxge_add_single_irq(mxge_softc_t *sc) sc->legacy_irq ? "INTx" : "MSI", rman_get_start(sc->irq_res)); err = bus_setup_intr(sc->dev, sc->irq_res, - INTR_TYPE_NET | INTR_MPSAFE, -#if __FreeBSD_version > 700030 - NULL, -#endif + INTR_TYPE_NET | INTR_MPSAFE, NULL, mxge_intr, &sc->ss[0], &sc->ih); if (err != 0) { bus_release_resource(sc->dev, SYS_RES_IRQ, diff --git a/sys/dev/mxge/if_mxge_var.h b/sys/dev/mxge/if_mxge_var.h index c166011d434f..326359c68005 100644 --- a/sys/dev/mxge/if_mxge_var.h +++ b/sys/dev/mxge/if_mxge_var.h @@ -40,25 +40,9 @@ $FreeBSD$ #define MXGE_EEPROM_STRINGS_SIZE 256 #define MXGE_MAX_SEND_DESC 128 -#if ((__FreeBSD_version > 800000 && __FreeBSD_version < 800005) \ - || __FreeBSD_version < 700111) -#define MXGE_VIRT_JUMBOS 1 -#else #define MXGE_VIRT_JUMBOS 0 -#endif -#if (__FreeBSD_version > 800082) #define IFNET_BUF_RING 1 -#endif - -#if (__FreeBSD_version < 1000020) -#undef IF_Kbps -#undef IF_Mbps -#undef IF_Gbps -#define IF_Kbps(x) ((uintmax_t)(x) * 1000) /* kilobits/sec. */ -#define IF_Mbps(x) (IF_Kbps((x) * 1000)) /* megabits/sec. */ -#define IF_Gbps(x) (IF_Mbps((x) * 1000)) /* gigabits/sec. */ -#endif #ifndef VLAN_CAPABILITIES #define VLAN_CAPABILITIES(ifp) From nobody Sat Feb 4 16:20:14 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmv2l1vz3nZ9D; Sat, 4 Feb 2023 16:20: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 4P8Hmt6y3Kz43Y6; Sat, 4 Feb 2023 16:20:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4EuuUNQ2rYq9uSKM8y0JJZABHiQ+fuRGIi5PtqpLruU=; b=vizupS2w31GEmB+ax4KQhUv+ESsgNhsXv+m7mCNbZmzw78Kxzyp+IZOO+FxQYR/VwDwKtg jQONcAAqzd8L6ej7B1fphddgfYYrDFgSon49zxvSx/gF73JhqHn8Ui+eSje8FUUvYcglzL T0zhfnpgYvISpwAnWQ44neFQ0d4POy/X8Gh5MLIwmt5Ce3guXyc8zx4D3AtzxKBKNBZhMW HPjmBXnE3dugX8biqK3ZuLfSWqQ7z4xCFomrWCCbWuAWmuqnIGWG+IQqJbpalSPLcF0OtI Gm9JXfyCawOv5vV9zxcsyL7t/Gab8Cmrg+FsYz1lLZi+JGwUM6/yUdRADigzKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527615; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4EuuUNQ2rYq9uSKM8y0JJZABHiQ+fuRGIi5PtqpLruU=; b=SovezjNDQZW2tOHHVuWz2bnMmi/fMrvaau99aauFT+l+OF+eFyJLgx1hG+crKF7Zb5NEvg mlvv1eDz2l8jiKh8Y3H6G0GHv7cWcBca53hSrAvjPJWbTiusWtywSRShHBW7V5SyTKYGe+ 8EPSN6fiafE5cOborpN6x/MXqL7gDWbjoLTXCKp8z8KUYaBQ/4lsh+hACR4UC41I4abEa5 hneggzljHIqnq0npVmuGqdw77LoADu1QkhZx7/akm861ycxljLFG2lU5wpSb1svaodrD05 zHlRx7aCp5kuR/dTpsajDMk7laeLTQUg7QWRpj8ID1NOM7zOMR51WCRgDPrPPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527615; a=rsa-sha256; cv=none; b=FW4ItPWYaQe3A7P8tOoe5VFHFh2RE7cYLqoI5nNttIemxxElj+aFIDQSZWIr53D6Zakfa8 BJno3ouPKqFYfCerDSRqI7F5l0O2V3Uqx9z9qcZWdX5HFGO/M4e2smxqkGoLW52modIGp9 I0rCnh1Sa3kCFmjLeCIoD7f7R0KLqDktJDbZ81/NnqR5z4WoKdNgR1jSttC4867Ne2KP1r YNUGvcCi0m34BlHowzQCmhiPR+zogGcR4OsKCPyYi/6CbwiDNjAYiS4Rkbjf7uwqojsJqw kTCCOSxD87eO7gizuD5QXIXbyVqCNxR/niEw37QXXoqBe+1TWfvUx6+Av8ERYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hmt62ZkzLfL; Sat, 4 Feb 2023 16:20:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKEMu011902; Sat, 4 Feb 2023 16:20:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKEGK011899; Sat, 4 Feb 2023 16:20:14 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:14 GMT Message-Id: <202302041620.314GKEGK011899@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 6147584bc050 - main - mxge: cleanup from purging EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6147584bc0503ab92bc8fb2ee2e0924a1d52877a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6147584bc0503ab92bc8fb2ee2e0924a1d52877a commit 6147584bc0503ab92bc8fb2ee2e0924a1d52877a Author: Elliott Mitchell AuthorDate: 2022-06-24 23:16:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:11:01 +0000 mxge: cleanup from purging EOL release compatibility The FreeBSD version was being used to trigger preprocessor conditionals IFNET_BUF_RING and MXGE_VIRT_JUMBOS. Since those are no longer conditional, purge their effects. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/mxge/if_mxge.c | 166 ++++++--------------------------------------- sys/dev/mxge/if_mxge_var.h | 6 -- 2 files changed, 19 insertions(+), 153 deletions(-) diff --git a/sys/dev/mxge/if_mxge.c b/sys/dev/mxge/if_mxge.c index f8b3a6e25c52..80098a24fd4a 100644 --- a/sys/dev/mxge/if_mxge.c +++ b/sys/dev/mxge/if_mxge.c @@ -92,9 +92,7 @@ __FBSDID("$FreeBSD$"); #include /*#define MXGE_FAKE_IFP*/ #include -#ifdef IFNET_BUF_RING #include -#endif #include "opt_inet.h" #include "opt_inet6.h" @@ -1225,9 +1223,7 @@ mxge_reset(mxge_softc_t *sc, int interrupts_setup) */ cmd.data0 = sc->num_slices; cmd.data1 = MXGEFW_SLICE_INTR_MODE_ONE_PER_SLICE; -#ifdef IFNET_BUF_RING cmd.data1 |= MXGEFW_SLICE_ENABLE_MULTIPLE_TX_QUEUES; -#endif status = mxge_send_cmd(sc, MXGEFW_CMD_ENABLE_RSS_QUEUES, &cmd); if (status != 0) { @@ -1605,11 +1601,6 @@ mxge_add_sysctls(mxge_softc_t *sc) 0, "number of frames appended to lro merge" "queues"); -#ifndef IFNET_BUF_RING - /* only transmit from slice 0 for now */ - if (slice > 0) - continue; -#endif SYSCTL_ADD_INT(ctx, children, OID_AUTO, "tx_req", CTLFLAG_RD, &ss->tx.req, @@ -1964,7 +1955,7 @@ mxge_encap_tso(struct mxge_slice_state *ss, struct mbuf *m, tx->info[((cnt - 1) + tx->req) & tx->mask].flag = 1; mxge_submit_req(tx, tx->req_list, cnt); -#ifdef IFNET_BUF_RING + if ((ss->sc->num_slices > 1) && tx->queue_active == 0) { /* tell the NIC to start polling this slice */ *tx->send_go = 1; @@ -1972,7 +1963,7 @@ mxge_encap_tso(struct mxge_slice_state *ss, struct mbuf *m, tx->activate++; wmb(); } -#endif + return; drop: @@ -2170,7 +2161,7 @@ mxge_encap(struct mxge_slice_state *ss, struct mbuf *m) #endif tx->info[((cnt - 1) + tx->req) & tx->mask].flag = 1; mxge_submit_req(tx, tx->req_list, cnt); -#ifdef IFNET_BUF_RING + if ((ss->sc->num_slices > 1) && tx->queue_active == 0) { /* tell the NIC to start polling this slice */ *tx->send_go = 1; @@ -2178,7 +2169,7 @@ mxge_encap(struct mxge_slice_state *ss, struct mbuf *m) tx->activate++; wmb(); } -#endif + return; drop: @@ -2188,7 +2179,6 @@ drop_without_m: return; } -#ifdef IFNET_BUF_RING static void mxge_qflush(struct ifnet *ifp) { @@ -2295,37 +2285,6 @@ mxge_transmit(struct ifnet *ifp, struct mbuf *m) return (err); } -#else - -static inline void -mxge_start_locked(struct mxge_slice_state *ss) -{ - mxge_softc_t *sc; - struct mbuf *m; - struct ifnet *ifp; - mxge_tx_ring_t *tx; - - sc = ss->sc; - ifp = sc->ifp; - tx = &ss->tx; - while ((tx->mask - (tx->req - tx->done)) > tx->max_desc) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); - if (m == NULL) { - return; - } - /* let BPF see it */ - BPF_MTAP(ifp, m); - - /* give it to the nic */ - mxge_encap(ss, m); - } - /* ran out of transmit slots */ - if ((sc->ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) { - sc->ifp->if_drv_flags |= IFF_DRV_OACTIVE; - tx->stall++; - } -} -#endif static void mxge_start(struct ifnet *ifp) { @@ -2423,15 +2382,6 @@ mxge_get_buf_big(struct mxge_slice_state *ss, bus_dmamap_t map, int idx) rx->shadow[idx].addr_high = htobe32(MXGE_HIGHPART_TO_U32(seg->ds_addr)); -#if MXGE_VIRT_JUMBOS - for (i = 1; i < cnt; i++) { - rx->shadow[idx + i].addr_low = - htobe32(MXGE_LOWPART_TO_U32(seg[i].ds_addr)); - rx->shadow[idx + i].addr_high = - htobe32(MXGE_HIGHPART_TO_U32(seg[i].ds_addr)); - } -#endif - done: for (i = 0; i < rx->nbufs; i++) { if ((idx & 7) == 7) { @@ -2804,11 +2754,8 @@ mxge_tx_done(struct mxge_slice_state *ss, uint32_t mcp_idx) /* If we have space, clear IFF_OACTIVE to tell the stack that its OK to send packets */ -#ifdef IFNET_BUF_RING flags = &ss->if_drv_flags; -#else - flags = &ifp->if_drv_flags; -#endif + mtx_lock(&ss->tx.mtx); if ((*flags) & IFF_DRV_OACTIVE && tx->req - tx->done < (tx->mask + 1)/4) { @@ -2816,7 +2763,6 @@ mxge_tx_done(struct mxge_slice_state *ss, uint32_t mcp_idx) ss->tx.wake++; mxge_start_locked(ss); } -#ifdef IFNET_BUF_RING if ((ss->sc->num_slices > 1) && (tx->req == tx->done)) { /* let the NIC stop polling this queue, since there * are no more transmits pending */ @@ -2827,9 +2773,7 @@ mxge_tx_done(struct mxge_slice_state *ss, uint32_t mcp_idx) wmb(); } } -#endif mtx_unlock(&ss->tx.mtx); - } static struct mxge_media_type mxge_xfp_media_types[] = @@ -3029,16 +2973,6 @@ mxge_intr(void *arg) uint32_t send_done_count; uint8_t valid; -#ifndef IFNET_BUF_RING - /* an interrupt on a non-zero slice is implicitly valid - since MSI-X irqs are not shared */ - if (ss != sc->ss) { - mxge_clean_rx_done(ss); - *ss->irq_claim = be32toh(3); - return; - } -#endif - /* make sure the DMA has finished */ if (!stats->valid) { return; @@ -3291,22 +3225,13 @@ mxge_alloc_slice_rings(struct mxge_slice_state *ss, int rx_ring_entries, err = bus_dma_tag_create(sc->parent_dmat, /* parent */ 1, /* alignment */ -#if MXGE_VIRT_JUMBOS - 4096, /* boundary */ -#else 0, /* boundary */ -#endif BUS_SPACE_MAXADDR, /* low */ BUS_SPACE_MAXADDR, /* high */ NULL, NULL, /* filter */ 3*4096, /* maxsize */ -#if MXGE_VIRT_JUMBOS - 3, /* num segs */ - 4096, /* maxsegsize*/ -#else 1, /* num segs */ MJUM9BYTES, /* maxsegsize*/ -#endif BUS_DMA_ALLOCNOW, /* flags */ NULL, NULL, /* lock */ &ss->rx_big.dmat); /* tag */ @@ -3351,12 +3276,6 @@ mxge_alloc_slice_rings(struct mxge_slice_state *ss, int rx_ring_entries, /* now allocate TX resources */ -#ifndef IFNET_BUF_RING - /* only use a single TX ring for now */ - if (ss != ss->sc->ss) - return 0; -#endif - ss->tx.mask = tx_ring_entries - 1; ss->tx.max_desc = MIN(MXGE_MAX_SEND_DESC, tx_ring_entries / 4); @@ -3469,19 +3388,9 @@ mxge_choose_params(int mtu, int *big_buf_size, int *cl_size, int *nbufs) *nbufs = 1; return; } -#if MXGE_VIRT_JUMBOS - /* now we need to use virtually contiguous buffers */ - *cl_size = MJUM9BYTES; - *big_buf_size = 4096; - *nbufs = mtu / 4096 + 1; - /* needs to be a power of two, so round up */ - if (*nbufs == 3) - *nbufs = 4; -#else *cl_size = MJUM9BYTES; *big_buf_size = MJUM9BYTES; *nbufs = 1; -#endif } static int @@ -3503,21 +3412,16 @@ mxge_slice_open(struct mxge_slice_state *ss, int nbufs, int cl_size) /* get the lanai pointers to the send and receive rings */ err = 0; -#ifndef IFNET_BUF_RING - /* We currently only send from the first slice */ - if (slice == 0) { -#endif - cmd.data0 = slice; - err = mxge_send_cmd(sc, MXGEFW_CMD_GET_SEND_OFFSET, &cmd); - ss->tx.lanai = - (volatile mcp_kreq_ether_send_t *)(sc->sram + cmd.data0); - ss->tx.send_go = (volatile uint32_t *) - (sc->sram + MXGEFW_ETH_SEND_GO + 64 * slice); - ss->tx.send_stop = (volatile uint32_t *) - (sc->sram + MXGEFW_ETH_SEND_STOP + 64 * slice); -#ifndef IFNET_BUF_RING - } -#endif + + cmd.data0 = slice; + err = mxge_send_cmd(sc, MXGEFW_CMD_GET_SEND_OFFSET, &cmd); + ss->tx.lanai = + (volatile mcp_kreq_ether_send_t *)(sc->sram + cmd.data0); + ss->tx.send_go = (volatile uint32_t *) + (sc->sram + MXGEFW_ETH_SEND_GO + 64 * slice); + ss->tx.send_stop = (volatile uint32_t *) + (sc->sram + MXGEFW_ETH_SEND_STOP + 64 * slice); + cmd.data0 = slice; err |= mxge_send_cmd(sc, MXGEFW_CMD_GET_SMALL_RX_OFFSET, &cmd); @@ -3640,13 +3544,7 @@ mxge_open(mxge_softc_t *sc) } /* Now give him the pointer to the stats block */ - for (slice = 0; -#ifdef IFNET_BUF_RING - slice < sc->num_slices; -#else - slice < 1; -#endif - slice++) { + for (slice = 0; slice < sc->num_slices; slice++) { ss = &sc->ss[slice]; cmd.data0 = MXGE_LOWPART_TO_U32(ss->fw_stats_dma.bus_addr); @@ -3691,13 +3589,11 @@ mxge_open(mxge_softc_t *sc) device_printf(sc->dev, "Couldn't bring up link\n"); goto abort; } -#ifdef IFNET_BUF_RING for (slice = 0; slice < sc->num_slices; slice++) { ss = &sc->ss[slice]; ss->if_drv_flags |= IFF_DRV_RUNNING; ss->if_drv_flags &= ~IFF_DRV_OACTIVE; } -#endif sc->ifp->if_drv_flags |= IFF_DRV_RUNNING; sc->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; @@ -3714,17 +3610,13 @@ mxge_close(mxge_softc_t *sc, int down) { mxge_cmd_t cmd; int err, old_down_cnt; -#ifdef IFNET_BUF_RING struct mxge_slice_state *ss; int slice; -#endif -#ifdef IFNET_BUF_RING for (slice = 0; slice < sc->num_slices; slice++) { ss = &sc->ss[slice]; ss->if_drv_flags &= ~IFF_DRV_RUNNING; } -#endif sc->ifp->if_drv_flags &= ~IFF_DRV_RUNNING; if (!down) { old_down_cnt = sc->down_cnt; @@ -3845,9 +3737,9 @@ mxge_watchdog_reset(mxge_softc_t *sc) if_link_state_change(sc->ifp, LINK_STATE_DOWN); } -#ifdef IFNET_BUF_RING + num_tx_slices = sc->num_slices; -#endif + /* grab all TX locks to ensure no tx */ for (s = 0; s < num_tx_slices; s++) { ss = &sc->ss[s]; @@ -3874,9 +3766,7 @@ mxge_watchdog_reset(mxge_softc_t *sc) /* release all TX locks */ for (s = 0; s < num_tx_slices; s++) { ss = &sc->ss[s]; -#ifdef IFNET_BUF_RING mxge_start_locked(ss); -#endif mtx_unlock(&ss->tx.mtx); } } @@ -3929,13 +3819,7 @@ mxge_watchdog(mxge_softc_t *sc) /* see if we have outstanding transmits, which have been pending for more than mxge_ticks */ - for (i = 0; -#ifdef IFNET_BUF_RING - (i < sc->num_slices) && (err == 0); -#else - (i < 1) && (err == 0); -#endif - i++) { + for (i = 0; (i < sc->num_slices) && (err == 0); i++) { tx = &sc->ss[i].tx; if (tx->req != tx->done && tx->watchdog_req != tx->watchdog_done && @@ -3983,7 +3867,6 @@ mxge_get_counter(struct ifnet *ifp, ift_counter cnt) for (int s = 0; s < sc->num_slices; s++) rv += sc->ss[s].oerrors; return (rv); -#ifdef IFNET_BUF_RING case IFCOUNTER_OBYTES: for (int s = 0; s < sc->num_slices; s++) rv += sc->ss[s].obytes; @@ -3996,7 +3879,6 @@ mxge_get_counter(struct ifnet *ifp, ift_counter cnt) for (int s = 0; s < sc->num_slices; s++) rv += sc->ss[s].tx.br->br_drops; return (rv); -#endif default: return (if_get_counter_default(ifp, cnt)); } @@ -4351,12 +4233,10 @@ mxge_free_slices(mxge_softc_t *sc) if (ss->fw_stats != NULL) { mxge_dma_free(&ss->fw_stats_dma); ss->fw_stats = NULL; -#ifdef IFNET_BUF_RING if (ss->tx.br != NULL) { drbr_free(ss->tx.br, M_DEVBUF); ss->tx.br = NULL; } -#endif mtx_destroy(&ss->tx.mtx); } if (ss->rx_done.entry != NULL) { @@ -4407,10 +4287,6 @@ mxge_alloc_slices(mxge_softc_t *sc) * (including tx) are used used only on the first * slice for now */ -#ifndef IFNET_BUF_RING - if (i > 0) - continue; -#endif bytes = sizeof (*ss->fw_stats); err = mxge_dma_alloc(sc, &ss->fw_stats_dma, @@ -4421,10 +4297,8 @@ mxge_alloc_slices(mxge_softc_t *sc) snprintf(ss->tx.mtx_name, sizeof(ss->tx.mtx_name), "%s:tx(%d)", device_get_nameunit(sc->dev), i); mtx_init(&ss->tx.mtx, ss->tx.mtx_name, NULL, MTX_DEF); -#ifdef IFNET_BUF_RING ss->tx.br = buf_ring_alloc(2048, M_DEVBUF, M_WAITOK, &ss->tx.mtx); -#endif } return (0); @@ -4920,10 +4794,8 @@ mxge_attach(device_t dev) mxge_change_mtu(sc, mxge_initial_mtu); mxge_add_sysctls(sc); -#ifdef IFNET_BUF_RING ifp->if_transmit = mxge_transmit; ifp->if_qflush = mxge_qflush; -#endif taskqueue_start_threads(&sc->tq, 1, PI_NET, "%s taskq", device_get_nameunit(sc->dev)); callout_reset(&sc->co_hdl, mxge_ticks, mxge_tick, sc); diff --git a/sys/dev/mxge/if_mxge_var.h b/sys/dev/mxge/if_mxge_var.h index 326359c68005..422e353e8a1a 100644 --- a/sys/dev/mxge/if_mxge_var.h +++ b/sys/dev/mxge/if_mxge_var.h @@ -40,10 +40,6 @@ $FreeBSD$ #define MXGE_EEPROM_STRINGS_SIZE 256 #define MXGE_MAX_SEND_DESC 128 -#define MXGE_VIRT_JUMBOS 0 - -#define IFNET_BUF_RING 1 - #ifndef VLAN_CAPABILITIES #define VLAN_CAPABILITIES(ifp) #define mxge_vlans_active(sc) (sc)->ifp->if_nvlans @@ -146,9 +142,7 @@ typedef struct typedef struct { struct mtx mtx; -#ifdef IFNET_BUF_RING struct buf_ring *br; -#endif volatile mcp_kreq_ether_send_t *lanai; /* lanai ptr for sendq */ volatile uint32_t *send_go; /* doorbell for sendq */ volatile uint32_t *send_stop; /* doorbell for sendq */ From nobody Sat Feb 4 16:20:15 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmw0nqhz3nZL9; Sat, 4 Feb 2023 16:20: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 4P8Hmw0Ll6z43jh; Sat, 4 Feb 2023 16:20:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527616; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oNSLwW0UKbr19JtIeeeSV3d4/6U8CO+fCRy11mLvhRE=; b=TIXVG+mwvZGrzoU+N2ZG4GFZJvn0G0Ok625ifogzVEmHYPDSs+FQ0ITf3DZ/cOcvhu8kVB FAa3ofafriAJruy59adJzuNgeZENuPiZyUtUxRzd6Q4T/+uoLbLYeeRem15rI63CY2QhoC 8wkc0dhh2qH3V5AjGyVH+JjCswLBsYLfcAvIjhclq/0nNUaCCPrtRTPrfIaabZEE9zwwVO awub0zodzfI+Q0bJ/poBVjzYUWLzCw3pkEaIBhcYYyQ2FFOM8jt4VLybx3OOUdsHeAnMnc vFW4V/E0AMh69H7G/UrZXXECXbgS2Sb+3I0yLwtl5SMfdZU8Vdn1ALXbJKBbzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527616; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oNSLwW0UKbr19JtIeeeSV3d4/6U8CO+fCRy11mLvhRE=; b=TRC2wZ+XkoWbeR8oCKxG+M8B9t5jn4GNOy5ROUOY/5CgE6F1uhR04wlHF0R+En+6p/r/Vm LEfeQU4bEPx3GHu05PQ5xf7V2A0qEl7H3D7a6jdzdXSXTpNTEpie/d1oZ+IueYZ87b1Q3x 5JBMD7MnXbHAIRoJz+2HFm1cnuUzaCpoFdIYyFvCvnV4bLLA0YFZ3TtBqHS7qkp9HzR5WJ c/QUBsko0oz/ixJqf6qZdHhFyPLi+tg9BWnqOQav82qX/dd+cce+Nj8oAkRIaPhPs6qyxu SMq8escfjOE/bc57KFfM7pNt/H0PvCmlmN/IvjaZKcE7ocGMxR6C/qIdcEyVCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527616; a=rsa-sha256; cv=none; b=kVA7hTfW3703gkbxdEdXpj172KygDWHVZ0ns6oEPEopCEbLoX8b93V6dQYl3F0GP0JkVPt ePpRTsg4iG3zzTbqpLITrP/AkNoG36qlxyecELAD8AzHsH/naqm7w19GXU3k0mWZA5lkzT J6zlgpessrIjcNmg96bUjYdBNdd1bEWeKVDhHyVhtlaqPTHOXPrX5lZU3g00kCO5DzU2uU HiR0kez0sGgM5/NgkOW3AlE24TJJwccFK78GWgQd53dnbH7ZncpVTRWV7swjDCEvVEbCvX m5U2/B+1xKxzpZqkvR3dwJN4cM3p13B0u3u5h0piF+zJbS6gV/8CEhylhn2Hvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hmv6ZNnzLJv; Sat, 4 Feb 2023 16:20:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKFRp012529; Sat, 4 Feb 2023 16:20:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKFa3012523; Sat, 4 Feb 2023 16:20:15 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:15 GMT Message-Id: <202302041620.314GKFa3012523@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 757cb555ae66 - main - e1000: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 757cb555ae661ac9a66e94dc37bc5cd008850aff Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=757cb555ae661ac9a66e94dc37bc5cd008850aff commit 757cb555ae661ac9a66e94dc37bc5cd008850aff Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:11:03 +0000 e1000: purge EOL release compatibility Remove support for releases before FreeBSD 8. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/e1000/e1000_osdep.h | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/sys/dev/e1000/e1000_osdep.h b/sys/dev/e1000/e1000_osdep.h index 5e19ebb0aeee..82a8a6514ce3 100644 --- a/sys/dev/e1000/e1000_osdep.h +++ b/sys/dev/e1000/e1000_osdep.h @@ -131,18 +131,6 @@ typedef int8_t s8; #define __le32 u32 #define __le64 u64 -#if __FreeBSD_version < 800000 -#if defined(__i386__) || defined(__amd64__) -#define mb() __asm volatile("mfence" ::: "memory") -#define wmb() __asm volatile("sfence" ::: "memory") -#define rmb() __asm volatile("lfence" ::: "memory") -#else -#define mb() -#define rmb() -#define wmb() -#endif -#endif /*__FreeBSD_version < 800000 */ - #ifdef INVARIANTS #define ASSERT_CTX_LOCK_HELD(hw) (sx_assert(iflib_ctx_lock_get(((struct e1000_osdep *)hw->back)->ctx), SX_XLOCKED)) #else From nobody Sat Feb 4 16:20:16 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmx1ZGmz3nZCK; Sat, 4 Feb 2023 16:20: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 4P8Hmx0l93z43bp; Sat, 4 Feb 2023 16:20:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XcZoU8Oxu4RvYzlhYeF/MoDbsC9YummZzUAe1nS0GgA=; b=xafYvjAP09Ic4V805ZrB07T1iNjpctXeTjmnRPsAoKwhEsbMjmDAJI0jMk3vmvSJsqSK2O VTXhJ4uPBKwr/o/C4HykT6kc0F7tLFYoCFd8jIEFLFAVi8EwyYd0lqZywVvL+ZCYclU/pD rGKm2tA5S/9TB2IXBSm9Wr79e87o/T9P6W/sq4iyPAREY82iKVvU6LY3V8Hcc/yCBAxxPt gRxn+QnG5ZpQIJ4dawQIKKuPmsgISe3ejL4OFVABJbyTJgXSLNxWGh6AZK6LEXsZUN83Uk Cq9ENcEklbI0jR2OLSnO3ej8ELwJwt2muWBTbBF8ht5ATI/s4t0DOPjIDW7Krg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XcZoU8Oxu4RvYzlhYeF/MoDbsC9YummZzUAe1nS0GgA=; b=xL257/VomuZ6NOwRk17SG/PSSOahr8TXNZU6z3VHMrECA/4a6ScmiFnW+4AwKOWTv9Oe2b 0pU/sPZmWJoxtKj1xP+7mHK5hMA5NSVGPbUQTybNxJ+G2Uab6elZXQTOrT5j362EaeHBBl KQ+l3ZDgEFeChD7IiCwYx9xmp7VShDPB8lB/ca1l0k/1yJrOmp+UOypsl8IK0W2hI/162u dx12Jg9hm0vn4sIxblPLEXwrZUEhVzhU9uPwQ9IBFDnShE88qfUVQgNEebV9BZ/ANENgUX FLnSpiXi0zG6ONni4Ymxef8nIR7wEABOusLlt7TXoo6Ki9HiLw6I8gnVuZ7lQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527617; a=rsa-sha256; cv=none; b=YgnOR5OFaUsf+0pubo5iTU7uDmmMU2x/sbL6tE/kcdYBFt7IUzATFTMHUMDZ2mq7MVD0r/ hEqZz1qwEfxfZZqnOYtEeC9SmgVMHgx5BrtUBhnz1nrBMICobKNC0q32RQO0hABmr29jKw 5ToHUjh0R+ETeCCpC12iZG0O2TThzmhKqt9i1/UYheHesOzEF7iubgTiHxYDvxbHARPvoI ZtKY3CrZfcHDfmf0Lox+sj63p4Ql5WXwCzpqFfXdrLYcrPmr2BfbPWMYdDRAKx/AqD3YVU HOGesPn+B7QoeE8/PnAYT5CkoKw9gb2pq+hzXju4XrOlt9lpoyEZCqDKfwwvXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hmw6wsfzLgw; Sat, 4 Feb 2023 16:20:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKGhs013120; Sat, 4 Feb 2023 16:20:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKGYk013113; Sat, 4 Feb 2023 16:20:16 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:16 GMT Message-Id: <202302041620.314GKGYk013113@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 29a4a60fffac - main - ixgbe: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 29a4a60fffacdfd8aef6d55e46efe8bfdeb2491d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=29a4a60fffacdfd8aef6d55e46efe8bfdeb2491d commit 29a4a60fffacdfd8aef6d55e46efe8bfdeb2491d Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:11:05 +0000 ixgbe: purge EOL release compatibility Remove support for pre FreeBSD 8. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/ixgbe/ixgbe_osdep.h | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/sys/dev/ixgbe/ixgbe_osdep.h b/sys/dev/ixgbe/ixgbe_osdep.h index b7eaa788c99e..5e211e6283e3 100644 --- a/sys/dev/ixgbe/ixgbe_osdep.h +++ b/sys/dev/ixgbe/ixgbe_osdep.h @@ -161,18 +161,6 @@ typedef boolean_t bool; #define le16_to_cpu -#if __FreeBSD_version < 800000 -#if defined(__i386__) || defined(__amd64__) -#define mb() __asm volatile("mfence" ::: "memory") -#define wmb() __asm volatile("sfence" ::: "memory") -#define rmb() __asm volatile("lfence" ::: "memory") -#else -#define mb() -#define rmb() -#define wmb() -#endif -#endif - #if defined(__i386__) || defined(__amd64__) static __inline void prefetch(void *x) From nobody Sat Feb 4 16:20:18 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmy2Xj3z3nZLD; Sat, 4 Feb 2023 16:20: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 4P8Hmy1sfdz441m; Sat, 4 Feb 2023 16:20:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=11hyBubU2ImZa+8WJEAVRb08jChOmLClQFYfjyp5Doo=; b=f0nziu9e1wDidgPvtPMvf+v9h70t7UoKyihxyc243s1YHbXMw5HQ3rvB76Yo4Sl0ZtPeRz v1hloesceOVhQCl6gtzV7jEpw3PP0hbC+W3D1z6ptaP/2S53zD5ke9xW0ckCl2UzAegqYW xENWmLEKoeknnAPv0nj/4KFKPKJcwstrCGe0XC9rZLbVw5xrl+AyTMuN3Ez8/8ZLbWyTH1 L0Kxnw/00wLgjdfmPM0+d4NKIT+OhvcNmdkvIdu5isk02tbWKk5Ok1af5EBZ6ORo3mtIqK FZYD19APuwkccxuEo7OXkX4F4jFU9kDA5ESV7Ddd2qRzYYhwUqvjNaGh+mDitw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=11hyBubU2ImZa+8WJEAVRb08jChOmLClQFYfjyp5Doo=; b=ogNFLf/wSkhtsdmEEEAqg1jsgII5WpsAd+3jCzfimgIIa6IgzhUCeJwgVzg3RchBs83Iyr B8I+/lBODIDi8QeuMvxMkvHwhkm2bOmCCI7lVaxJ2MMo+UVxozCM353i8oJrIuTUpLOqmH ArlyeRxg2q5dJfGLRaBmj7CQ1r1YCQaQ3xBn3oPQMNEYmYDwNWcw9cg5YxDMJdIDj82mtw gEvAs6V8zL6NKAawoHfSDjXAAAmqoU8Lr9BIFAEBRFHdXH80GNuxXGo/5lVxd1M74NtOcQ 9/CfnsoEt1h+LzW1lUKIvi5bvt4j6J3lMmb3QTT13sybVOHTl4eyfjpXC9E2MA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527618; a=rsa-sha256; cv=none; b=crsqOkTPkZkb32J1fhdWi5IjGZPjncoFwfGYKO/DBUeoNNSnkQ4Q9CiHxh2vGjeNBFi4HK fjRcKuCZu8IVvfsiLX4faCe9VZ/lWape0CqCnLlxm7K9OFX4zdRFrmSIDRxsCwH/Av9jNb va1aqaK0eD63hqzydUk8NOBBtoJYRLaQ1BDWSxqFTsCYHFTQNKahykfOOQTu/zJzYF3ZBh 2C7ty48xHrp24MGYBxY9z2+mqQmzsvfxryb1OcReWO91qc9r2t4AkubDJ2RiKhGiot+OsO nK9sjsdQGJ0DXqCZr62E9+qqIHysAgI4+lPQLetJISpJRE8DhvQKdKmCqIMf7A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hmy0ymlzLfM; Sat, 4 Feb 2023 16:20:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKIOZ013415; Sat, 4 Feb 2023 16:20:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKIoR013414; Sat, 4 Feb 2023 16:20:18 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:18 GMT Message-Id: <202302041620.314GKIoR013414@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 862dd0d21400 - main - mmc: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 862dd0d214005be4747e059d85950355783712cf Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=862dd0d214005be4747e059d85950355783712cf commit 862dd0d214005be4747e059d85950355783712cf Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:11:13 +0000 mmc: purge EOL release compatibility Remove support for FreeBSD 7 needed for a product that's not shipped FreeBSD 7 in ~15 years.... Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/mmc/mmcsd.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sys/dev/mmc/mmcsd.c b/sys/dev/mmc/mmcsd.c index 225088364ef8..b227859c3cb6 100644 --- a/sys/dev/mmc/mmcsd.c +++ b/sys/dev/mmc/mmcsd.c @@ -87,11 +87,6 @@ __FBSDID("$FreeBSD$"); #include "mmcbus_if.h" -#if __FreeBSD_version < 800002 -#define kproc_create kthread_create -#define kproc_exit kthread_exit -#endif - #define MMCSD_CMD_RETRIES 5 #define MMCSD_FMT_BOOT "mmcsd%dboot" From nobody Sat Feb 4 16:20:19 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hmz48szz3nZ6r; Sat, 4 Feb 2023 16:20: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 4P8Hmz3FF2z4461; Sat, 4 Feb 2023 16:20:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OVvuG96Qm/QmeEEOaWTWwvn2Urgic0fgWKSCeagmR3w=; b=RY5AN5FKGOKiWNuRBuwTu+MGDIBPG/XACHnHpG9RzJoGvh8CIiocKDcVSVOzue5K32eLZ9 VaDp+QGlFTePQ+BQvh4dbi4SBzL8lRgfJf9CENAhahCc+DcGEF1vR1CwnstVtrJL+0wpZ4 OL9PMm9O6ZsCLpP62OKcETa4XYPN5np2bacZ2ncb0mfxi0oKqF9gXrYhGWiQCvJv1z5Pgb UDr3KTeGEiM+2sPLW2baYJfykOzs0MlaYXdRtbQTtmsPvdnYBDe3Y0swEHvvpDL5oL64RV 7oHVJHZEjDpd2OYHXulvBU3v10QkuDXbgrruleUrgD+6f1tLgFcVYTpWepzbbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OVvuG96Qm/QmeEEOaWTWwvn2Urgic0fgWKSCeagmR3w=; b=jw2DtRcxHbkUG/b/g60RqCOU1N7SF0OWf/hAZ34bH9WIYBuTTxDXS+OcTqZseIjP9/hAoI m7Ghh8b41XsL3Z9l4oxj69pXQ+fypjRvuOdrPLMXbUEJzUSPdfDVNpkLVlHGjCy7ua8oZM x6nV+7DKBWN0x584+64VHqvnbOgEWYIIsQz17tP8g0RhSkGi5J3gLrBXOR83oarxSAnG92 JGu0tnTs62JwljaLd/Y8fgvTOwk8uzwHq2NmZl9i14sGPG2qy84NHgr83RZV+a04swvoNb hxLLTY4lQdDlRQtza5DvlFHNLowK+1i0LYFBONfjfD1kc/bhDX8TAjL51g9oPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527619; a=rsa-sha256; cv=none; b=cCiB64gTeiTWzSfrH8Ve9V8cEHlmBYHjZgrRij/wmQrWu3H3cYmklmRPBpcrUuG6j5kY0L ZCFPU3hLL2n+h5ImijMHOAp+eVsi5axObbz5ZeH08QugeXtCQu8+NZFxWhcrNvRO2DI0Ki QeySAU3P8qAItMudU75+GW7quCEOR9WzaEPuZHvJWWmjAZFpUiXj/CMowwJckArhDa69AH wvzG0EGmeN5zlGTp2XufHHsDy0t0NdPwilMeAx4TinHgk4EyEi6Rt1Jq5hCnJJlkhKU4Y+ xslFwSGJ4H4VmzkGfUCetmUqfCc/1rUpFf06OYVleIlBq1m4cfEGNGmuoEwuyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hmz1vVdzLJw; Sat, 4 Feb 2023 16:20:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKJk1013439; Sat, 4 Feb 2023 16:20:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKJPn013438; Sat, 4 Feb 2023 16:20:19 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:19 GMT Message-Id: <202302041620.314GKJPn013438@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: ecfb9e4e126f - main - qlxgb: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ecfb9e4e126f85d46299438538469a650518b87f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ecfb9e4e126f85d46299438538469a650518b87f commit ecfb9e4e126f85d46299438538469a650518b87f Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:08 +0000 qlxgb: purge EOL release compatibility Remove code for FreeBSD 7, 8 & 9 and a warning that older versions weren't supported. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/qlxgb/qla_os.c | 5 ----- sys/dev/qlxgb/qla_os.h | 4 ---- 2 files changed, 9 deletions(-) diff --git a/sys/dev/qlxgb/qla_os.c b/sys/dev/qlxgb/qla_os.c index ca5b2ec44a3a..f0c5ee6269bb 100644 --- a/sys/dev/qlxgb/qla_os.c +++ b/sys/dev/qlxgb/qla_os.c @@ -688,11 +688,6 @@ qla_init_ifnet(device_t dev, qla_host_t *ha) ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; ifp->if_capabilities |= IFCAP_LINKSTATE; -#if defined(__FreeBSD_version) && (__FreeBSD_version < 900002) - ifp->if_timer = 0; - ifp->if_watchdog = NULL; -#endif /* #if defined(__FreeBSD_version) && (__FreeBSD_version < 900002) */ - ifp->if_capenable = ifp->if_capabilities; ifp->if_hdrlen = sizeof(struct ether_vlan_header); diff --git a/sys/dev/qlxgb/qla_os.h b/sys/dev/qlxgb/qla_os.h index fddae501b8b3..43360f108649 100644 --- a/sys/dev/qlxgb/qla_os.h +++ b/sys/dev/qlxgb/qla_os.h @@ -51,10 +51,6 @@ #include #include -#if __FreeBSD_version < 700112 -#error FreeBSD Version not supported - use version >= 700112 -#endif - #include #include #include From nobody Sat Feb 4 16:20:20 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hn048n7z3nZLN; Sat, 4 Feb 2023 16:20: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 4P8Hn03b41z446Z; Sat, 4 Feb 2023 16:20:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=18Mmhkkm0YSalhplNwuiSdrqLV5Kmcv5WAdHWRREYAg=; b=ws92U6d0/rNTKCgThMlEso27ff+PjGE2FkNbZNXbB+N7BLfsVx7GkieP4pLmXBL2ouXx5D R1rwTIJjtFU4QhRSAgITfSiXdL00sZF8jAK8UQFjDzqCzZMOjgzRizGbUIxltMH28s7zDk rc/JEhtkfAZyq6HO+abz2cy01sE+CDLAqPqSmtd21v76aKcV5rtDEk1crOcq6qKvii4zYr Xg5UwYx5PhpipJVljmGMwQcJ90w2T8NiuyeMLINNahmnah2RM0m8+RPL1ZrShW8D6m9G79 68izqNge3k1M5nky6VkxK9PrrtOrYn2SiuPq9piAOpi0Rm7mRglq5C9Lv62tJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527620; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=18Mmhkkm0YSalhplNwuiSdrqLV5Kmcv5WAdHWRREYAg=; b=hybyYMYgw4tlYxKlwJZgkceKzcyTGTWEO5KYrjQ84p5DomZEGdVFeJAZZoLCSeYtR+LruF w7R0OE+3jYUJi6S1oMMCGmgIAMLK3x7RQBE0E2LGazObLXgT9UNU2w8/vTxo8rUrAGdMXf I5nu4AmpENhi4LJ9pSXDcxhewkqKzf6wCLhNS99CSTcW1JjzFt3hsOuJgDuMjoam32IuZH QZMZPEFb1tYTryElAF1cQ9k74orVgeb1WadldGg34dtD+Xf+Mo+5h9LK420lr/l4POz7EA 9rpVhAZaU3SVdDY0kRCKTTKPMK+7ghJ1AxxrMMbw1Av3fs3PSK8sJEkVDIzUSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527620; a=rsa-sha256; cv=none; b=qTwkse6/2qYz1aOjrhPLiIC/ywWMyHCi5wJFQoPJDB11RKHQGKtGEaV/ajCRfirDIvHw0K wr0b6jOievw1OJOf4mPZhBcObQSydnnriMj/SXQNrfycWSSz7V8sz2vc1kRMSWQ6TnN0cA aNRCv7GhpP85ZJvc2miKNRsG8fnEM+fMOze0BW4voD02cvvWmKSVqpivrpYGf0ZYkFu5YD aWtr8QDZHBscce66LdHmEXL0KmtW2P5oGyTQYDfZuOmCV2R+t6hjKf376zk+g2bTV123Hl kHJUKEZWyGODNLSGeNbsFO9tQbor2RVOyDMiv1Du/cVbEOFx9r5PD4T+VCgiFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hn02bWCzLDW; Sat, 4 Feb 2023 16:20:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKKwh013463; Sat, 4 Feb 2023 16:20:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKKdx013462; Sat, 4 Feb 2023 16:20:20 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:20 GMT Message-Id: <202302041620.314GKKdx013462@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: af0e1ece373b - main - qlxge: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: af0e1ece373bcd8f6744840be02a14a0f6ba2ccd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=af0e1ece373bcd8f6744840be02a14a0f6ba2ccd commit af0e1ece373bcd8f6744840be02a14a0f6ba2ccd Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:08 +0000 qlxge: purge EOL release compatibility Drop code ensuring FreeBSD 9 or newer Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/qlxge/qls_os.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/dev/qlxge/qls_os.h b/sys/dev/qlxge/qls_os.h index b10a37ecd5d3..8313de7eaf9b 100644 --- a/sys/dev/qlxge/qls_os.h +++ b/sys/dev/qlxge/qls_os.h @@ -52,10 +52,6 @@ #include #include -#if __FreeBSD_version < 900044 -#error FreeBSD Version not supported - use version >= 900044 -#endif - #include #include #include From nobody Sat Feb 4 16:20:21 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hn15SK6z3nYwY; Sat, 4 Feb 2023 16:20: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 4P8Hn14R5Hz44CP; Sat, 4 Feb 2023 16:20:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UTrUW18DitgOchhfhL39lbfJ7HQvXlQpQuZh3VGwFSI=; b=ktDq+pB8pF+yByDJHdnV2j3feFvJaFwvhFV7JObc3/IYhlfdhf0y3gJSXMMWdiAVaFIu2C eOAhfZrvPsyx+Ck2vtWuCJKyWUiVDT5UiNkSSIRnchtSRnC3jccDQU7gP7GppSunfrcDbw weSqTlamgY1erOflMyYMj7NBwLVkRRqVJGBef13u4dFnToet2msNstyXQKL0RPaJmYUL9J 5mq80QqReQMUxOWnG4NHjWQrTi81bD7ljyugGCbgsCoThKzCfokQcBjFv5X/Q/ToEF5Ww+ EZGrzZ/LQdk0Y6aI3qRxPyk44mFrHsKcwRbKGgOWns0ceWVsbZidrlqjd2AjYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527621; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UTrUW18DitgOchhfhL39lbfJ7HQvXlQpQuZh3VGwFSI=; b=NMWobjZERCK2vqpBbPqWvmiL3ZpztHVci5TRBzovcTES60BBvOE9J/aKggs/cKDtK1oh4a Z5nWKlTyplcTTextizsoOHtvNjg0xVCu0VqxojnjZoUS0nY6g0Wlo/tYYjGCarw9Z9mTSN +ZwrBtzbR85K8EwCxGn/cdP/BbhD3awWKueOWDUzCdNNdYcD1tzz3XvXbxUTr50mm/2W36 anM+FBJJlYczIW2yJlaFuV7SRzlKKX3LRuR0/S7QS0xb7a+SznTzSTBUysjJGfLJERVsN3 J0YE9Sj+a3bgOeKNMOHkdPOBUzmCZS6Fxv6dneuhTz2VDWP4tsU85Em34zPAqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527621; a=rsa-sha256; cv=none; b=KJVX/UQd+mdYFykYqNEYuhheuB2depTdpCxrgsaRon9QruCwahiohgfNxXg3G5mqeIVX+e +Z9ePgnpnPxlVKQ3YeQXDt7gkTH+GNS5zCqDkhhN7I5gGxsVP1xNiCa+5EulLf87ron4vJ yHBO/a8RmloduESDnYXkXqceUiF1iDjupsqy8IPGbTlI5BIfH3nk0YFKd/FrpEWdhUAff2 8WFmYe4L0shakH+i+m+G9nfFMsd/3T/QMfpzhb1qc7PCLHMCzECZSTkPyKLjSIRNXJrKUG MiCy3KYUlCZ53I0SVhEXvAhg+HL4k5DWooafLrR6PBv5wNItaAgAszRIdaOa0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hn13XMVzLDX; Sat, 4 Feb 2023 16:20:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKLBP013487; Sat, 4 Feb 2023 16:20:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKLNQ013486; Sat, 4 Feb 2023 16:20:21 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:21 GMT Message-Id: <202302041620.314GKLNQ013486@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: bd78d17c333c - main - qlxgbe: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd78d17c333ca44c1a0ed714cd1a4ca140ef3759 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=bd78d17c333ca44c1a0ed714cd1a4ca140ef3759 commit bd78d17c333ca44c1a0ed714cd1a4ca140ef3759 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:08 +0000 qlxgbe: purge EOL release compatibility Drop code that differentiated between FreeBSD 10 and 11. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/qlxgbe/ql_hw.c | 19 ------------------- sys/dev/qlxgbe/ql_isr.c | 37 ++----------------------------------- sys/dev/qlxgbe/ql_os.c | 4 ---- sys/dev/qlxgbe/ql_os.h | 4 ---- 4 files changed, 2 insertions(+), 62 deletions(-) diff --git a/sys/dev/qlxgbe/ql_hw.c b/sys/dev/qlxgbe/ql_hw.c index 340fc779b10c..119f22ad4137 100644 --- a/sys/dev/qlxgbe/ql_hw.c +++ b/sys/dev/qlxgbe/ql_hw.c @@ -2761,21 +2761,12 @@ qla_config_soft_lro(qla_host_t *ha) bzero(lro, sizeof(struct lro_ctrl)); -#if (__FreeBSD_version >= 1100101) if (tcp_lro_init_args(lro, ha->ifp, 0, NUM_RX_DESCRIPTORS)) { device_printf(ha->pci_dev, "%s: tcp_lro_init_args [%d] failed\n", __func__, i); return (-1); } -#else - if (tcp_lro_init(lro)) { - device_printf(ha->pci_dev, - "%s: tcp_lro_init [%d] failed\n", - __func__, i); - return (-1); - } -#endif /* #if (__FreeBSD_version >= 1100101) */ lro->ifp = ha->ifp; } @@ -2796,17 +2787,7 @@ qla_drain_soft_lro(qla_host_t *ha) for (i = 0; i < hw->num_sds_rings; i++) { lro = &hw->sds[i].lro; -#if (__FreeBSD_version >= 1100101) tcp_lro_flush_all(lro); -#else - struct lro_entry *queued; - - while ((!SLIST_EMPTY(&lro->lro_active))) { - queued = SLIST_FIRST(&lro->lro_active); - SLIST_REMOVE_HEAD(&lro->lro_active, next); - tcp_lro_flush(lro, queued); - } -#endif /* #if (__FreeBSD_version >= 1100101) */ } #endif diff --git a/sys/dev/qlxgbe/ql_isr.c b/sys/dev/qlxgbe/ql_isr.c index 0d1ae164c7ae..0ccc1cbb84c9 100644 --- a/sys/dev/qlxgbe/ql_isr.c +++ b/sys/dev/qlxgbe/ql_isr.c @@ -165,33 +165,14 @@ qla_rx_intr(qla_host_t *ha, qla_sgl_rcv_t *sgc, uint32_t sds_idx) mpf->m_pkthdr.flowid = sgc->rss_hash; -#if __FreeBSD_version >= 1100000 M_HASHTYPE_SET(mpf, M_HASHTYPE_OPAQUE_HASH); -#else -#if (__FreeBSD_version >= 903511 && __FreeBSD_version < 1100000) - M_HASHTYPE_SET(mpf, M_HASHTYPE_OPAQUE); -#else - M_HASHTYPE_SET(mpf, M_HASHTYPE_NONE); -#endif -#endif /* #if __FreeBSD_version >= 1100000 */ #if defined(INET) || defined(INET6) - if (ha->hw.enable_soft_lro) { -#if (__FreeBSD_version >= 1100101) - + if (ha->hw.enable_soft_lro) tcp_lro_queue_mbuf(lro, mpf); - -#else - if (tcp_lro_rx(lro, mpf, 0)) - (*ifp->if_input)(ifp, mpf); - -#endif /* #if (__FreeBSD_version >= 1100101) */ - - } else + else #endif - { (*ifp->if_input)(ifp, mpf); - } if (sdsp->rx_free > ha->std_replenish) qla_replenish_normal_rx(ha, sdsp, r_idx); @@ -735,21 +716,7 @@ ql_rcv_isr(qla_host_t *ha, uint32_t sds_idx, uint32_t count) struct lro_ctrl *lro; lro = &ha->hw.sds[sds_idx].lro; - -#if (__FreeBSD_version >= 1100101) - tcp_lro_flush_all(lro); - -#else - struct lro_entry *queued; - - while ((!SLIST_EMPTY(&lro->lro_active))) { - queued = SLIST_FIRST(&lro->lro_active); - SLIST_REMOVE_HEAD(&lro->lro_active, next); - tcp_lro_flush(lro, queued); - } - -#endif /* #if (__FreeBSD_version >= 1100101) */ } #endif diff --git a/sys/dev/qlxgbe/ql_os.c b/sys/dev/qlxgbe/ql_os.c index f0cee6e080b1..298de1693b66 100644 --- a/sys/dev/qlxgbe/ql_os.c +++ b/sys/dev/qlxgbe/ql_os.c @@ -1583,11 +1583,7 @@ qla_transmit(struct ifnet *ifp, struct mbuf *mp) QL_DPRINT2(ha, (ha->pci_dev, "%s: enter\n", __func__)); -#if __FreeBSD_version >= 1100000 if (M_HASHTYPE_GET(mp) != M_HASHTYPE_NONE) -#else - if (mp->m_flags & M_FLOWID) -#endif rss_id = (mp->m_pkthdr.flowid & Q8_RSS_IND_TBL_MAX_IDX) % ha->hw.num_sds_rings; fp = &ha->tx_fp[rss_id]; diff --git a/sys/dev/qlxgbe/ql_os.h b/sys/dev/qlxgbe/ql_os.h index fcee6e740828..678eff63520e 100644 --- a/sys/dev/qlxgbe/ql_os.h +++ b/sys/dev/qlxgbe/ql_os.h @@ -52,10 +52,6 @@ #include #include -#if __FreeBSD_version < 900044 -#error FreeBSD Version not supported - use version >= 900044 -#endif - #include #include #include From nobody Sat Feb 4 16:20:22 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hn30rDXz3nYys; Sat, 4 Feb 2023 16:20: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 4P8Hn25FFbz440S; Sat, 4 Feb 2023 16:20:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XmaUvX0lVCJnNPd1KKxDBz/dJG16ZcYHtOpmH2jKdpU=; b=Sh1pCeyE8nqMIWYT5UxlHoGCWxPLjF3Upp1i4vf/8XaoAbyzxJylaSnOS/bkXBEIdNU6R/ AD5r8I/paGlTdnsRWoD8Nwejt9dW8jCNjisXkw9MrcfRIYd9sfzyudo56Mbxw7yVTnEJj5 Vywkj8VLqAQTqgEPra4YsIdNmwpDvb9SgB4WDT3Fld3stlD7JqP54j/sFvzsob61bUUVUI ypFuPOOpzXzld2XShN+Y9yYx58tTpllNd2/CLCAiSjEIfeez4ArKhG9VUu+OnxwdxiQ+5C 8k8R5qsq3mDzMM4P0EgqwnUdK7OqAdRKq4p8BnOHtHlkEGNSnX71WmIjeKinmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XmaUvX0lVCJnNPd1KKxDBz/dJG16ZcYHtOpmH2jKdpU=; b=yzdU6JMAbLfQOe0nHDEPFtsdzQIndclv3kXwRIN6OwPTzVs3Lj7NhKMDyG/rjlm3AwcREy JdYkXRkgMLdHTzZU0G25ltvKFKI6rFOq68iKHWle+muaKvaSbEWPdvhAaikADLeM5/M86g zhGfJtYkRLpWFSxXZ2Gk52NiAJ+NXqfPXj82JmSBOZpGxdWoN2rEDvnFVvVj9qUpDxHirN hv5HouWQfR0VY5RYR/9L4ct+cO7Oz/7RuVsYPFkhNTYoKC9Pc7FBZ5nRQNNawS8MmT1AOq G27RISFCStMzM1aX9OVfon9Fem63ryXNY0/EPHC2RVxuywrjm7KcARanbHMG8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527622; a=rsa-sha256; cv=none; b=D803vTqP5b5PAGs+UtFNszFkLwSdK8TfMkeJGjnLSdYMRETDUzAnJRh3vrMOAPuncW67mE aiy9zRMKnAiItYdyBlcBWG38fVLzKCbWUog9BI6qv0fv0S3MzUCSvUxqgLsfOY31RV9cYe reuxyhR4feiOhw/rfQd6bb2YtsW7Oo3SvPWkwusTk9dNRmi8Y5GX0sp1h8Kj/9DiyGz3Zq aaqmsRgZEY7dS+ve5TSOPSt5AKz2m9K6uDlXXpMW6GR5YuFRqrBinO7ryV9CSHv7wb8/S9 Rq4va9527o+I59dX5sbfyiM5vakWJlffWRQZL0yIReCjd7fJJFvCoIt/+euW/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 4P8Hn24Hl1zLBV; Sat, 4 Feb 2023 16:20:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKMpZ013517; Sat, 4 Feb 2023 16:20:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKMIP013516; Sat, 4 Feb 2023 16:20:22 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:22 GMT Message-Id: <202302041620.314GKMIP013516@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 407912909a71 - main - ixl: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 407912909a71b22d5e381ae9178bcacbcbc0ce45 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=407912909a71b22d5e381ae9178bcacbcbc0ce45 commit 407912909a71b22d5e381ae9178bcacbcbc0ce45 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:08 +0000 ixl: purge EOL release compatibility Drop code that differentiated between FreeBSD 10 and 11. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/ixl/if_ixl.c | 4 ---- sys/dev/ixl/ixl.h | 15 --------------- sys/dev/ixl/ixl_pf_main.c | 9 --------- 3 files changed, 28 deletions(-) diff --git a/sys/dev/ixl/if_ixl.c b/sys/dev/ixl/if_ixl.c index 9df1d9792e51..8b7d132db7b7 100644 --- a/sys/dev/ixl/if_ixl.c +++ b/sys/dev/ixl/if_ixl.c @@ -314,11 +314,7 @@ TUNABLE_INT("hw.ixl.enable_iwarp", &ixl_enable_iwarp); SYSCTL_INT(_hw_ixl, OID_AUTO, enable_iwarp, CTLFLAG_RDTUN, &ixl_enable_iwarp, 0, "iWARP enabled"); -#if __FreeBSD_version < 1100000 -int ixl_limit_iwarp_msix = 1; -#else int ixl_limit_iwarp_msix = IXL_IW_MAX_MSIX; -#endif TUNABLE_INT("hw.ixl.limit_iwarp_msix", &ixl_limit_iwarp_msix); SYSCTL_INT(_hw_ixl, OID_AUTO, limit_iwarp_msix, CTLFLAG_RDTUN, &ixl_limit_iwarp_msix, 0, "Limit MSI-X vectors assigned to iWARP"); diff --git a/sys/dev/ixl/ixl.h b/sys/dev/ixl/ixl.h index 641ce6b10fcc..6b94732fd44e 100644 --- a/sys/dev/ixl/ixl.h +++ b/sys/dev/ixl/ixl.h @@ -273,7 +273,6 @@ (CSUM_IP|CSUM_IP_TSO) /* Pre-11 counter(9) compatibility */ -#if __FreeBSD_version >= 1100036 #define IXL_SET_IPACKETS(vsi, count) (vsi)->ipackets = (count) #define IXL_SET_IERRORS(vsi, count) (vsi)->ierrors = (count) #define IXL_SET_OPACKETS(vsi, count) (vsi)->opackets = (count) @@ -286,20 +285,6 @@ #define IXL_SET_IQDROPS(vsi, count) (vsi)->iqdrops = (count) #define IXL_SET_OQDROPS(vsi, count) (vsi)->oqdrops = (count) #define IXL_SET_NOPROTO(vsi, count) (vsi)->noproto = (count) -#else -#define IXL_SET_IPACKETS(vsi, count) (vsi)->ifp->if_ipackets = (count) -#define IXL_SET_IERRORS(vsi, count) (vsi)->ifp->if_ierrors = (count) -#define IXL_SET_OPACKETS(vsi, count) (vsi)->ifp->if_opackets = (count) -#define IXL_SET_OERRORS(vsi, count) (vsi)->ifp->if_oerrors = (count) -#define IXL_SET_COLLISIONS(vsi, count) (vsi)->ifp->if_collisions = (count) -#define IXL_SET_IBYTES(vsi, count) (vsi)->ifp->if_ibytes = (count) -#define IXL_SET_OBYTES(vsi, count) (vsi)->ifp->if_obytes = (count) -#define IXL_SET_IMCASTS(vsi, count) (vsi)->ifp->if_imcasts = (count) -#define IXL_SET_OMCASTS(vsi, count) (vsi)->ifp->if_omcasts = (count) -#define IXL_SET_IQDROPS(vsi, count) (vsi)->ifp->if_iqdrops = (count) -#define IXL_SET_OQDROPS(vsi, odrops) (vsi)->ifp->if_snd.ifq_drops = (odrops) -#define IXL_SET_NOPROTO(vsi, count) (vsi)->noproto = (count) -#endif /* For stats sysctl naming */ #define IXL_QUEUE_NAME_LEN 32 diff --git a/sys/dev/ixl/ixl_pf_main.c b/sys/dev/ixl/ixl_pf_main.c index 7b1bf78dac09..7e9ad20b157b 100644 --- a/sys/dev/ixl/ixl_pf_main.c +++ b/sys/dev/ixl/ixl_pf_main.c @@ -2275,16 +2275,7 @@ ixl_stat_update48(struct i40e_hw *hw, u32 hireg, u32 loreg, { u64 new_data; -#if defined(__FreeBSD__) && (__FreeBSD_version >= 1000000) && defined(__amd64__) new_data = rd64(hw, loreg); -#else - /* - * Use two rd32's instead of one rd64; FreeBSD versions before - * 10 don't support 64-bit bus reads/writes. - */ - new_data = rd32(hw, loreg); - new_data |= ((u64)(rd32(hw, hireg) & 0xFFFF)) << 32; -#endif if (!offset_loaded) *offset = new_data; From nobody Sat Feb 4 16:20:23 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hn40Ngpz3nZ9V; Sat, 4 Feb 2023 16:20: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 4P8Hn36zVBz449g; Sat, 4 Feb 2023 16:20:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qY+qaCezu3HLjSUTG2v8l5OANOFQFlJOZRViwcYNDS4=; b=Hrvb4gBUbHthVasggcbyA4PgqbKbHLqo6G66vvy1IwYuiiJxNz5+fz4mg0n2JCseUGoTje 7o8x3SteLloRlykslPr52KyFPxbEfxcM0xywMvAljl0qh7v/pbLp07BkTlWanXd1mBls5s 6f6TapZn0HLt24ocBCSEnYCjsAuuxf4rq737TuhT6o6te7cfCC7hppG7SqG9MDoENkM8aC Xarwof0BOsHMhWKxTUuXVD67R4UrL62LlGYrQ1U4cD/ZtOSiB6EWHVgkAxWr1v/ZaS/B5Q Ww7bVVpFAukmeBqro7Gt5sJU/HjJmksP2NH7LKe5KjDlYLkRgAxW/DvqTlYRTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qY+qaCezu3HLjSUTG2v8l5OANOFQFlJOZRViwcYNDS4=; b=Hi0S7JVVvZXnPc8tzIo8yUAm+rORYh0UK6DLgh5y2bAybUx6h+mdkNL8K9RYcX5GaYORtZ Iwsxsp/mj1qUF3GDNdt0o6cFlrRfQx8hRUkdWbsl4zT7Q7wvJUUBHExpV5xQemX/ghFD7q zg0tgKbv0jaTModuwTDfRHTJcqt86nJFnFQGIsyrGeBGq1BFEF27DALrlbHyzrchr0j/SG TkCkkeN2I9bdA+j4TCzRey17ojqlqZ8yE6f0X3ev7EGB815D5VRFtH74KNK9di2eHDq5UD 5z4bzYEfg34c9QLnCiySpanUWnnoX2heWDwX+Fq5npMPvZjExbWrDl/AddEoiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527624; a=rsa-sha256; cv=none; b=Cr2QEhHLHt44/uWTIQw2JGm973eQc/wcY4EdDIAb9/zTj/DPB1Kkon623iSaqucpIZ7MV5 L36VTjrlqlXp6IMa2QE2YuSGxLh4MAEYycLwYKPTSjvPOhNOC0jQucuiDbiMyOWsEfH67r pBgMcGMoVJRIXXAnSD+2iKxIF6wTd3P8ZhoU0tYvG56ZvqPFooG0y+rjjXbjSNeXcB4AnU EHLQuxe8x1P816lREem0DcW6cM6bQP5DhTdskycTSFPLx9yRy6Zk626GkY/Zkazd144Eod ISWl0IJce2ZOtw4F8JlMMOEor5rP3IcRGckST4cNF7TkG6qUl98KMB9kDkCZFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hn35QPqzLfN; Sat, 4 Feb 2023 16:20:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKNAX013541; Sat, 4 Feb 2023 16:20:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKN2h013540; Sat, 4 Feb 2023 16:20:23 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:23 GMT Message-Id: <202302041620.314GKN2h013540@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 097e192a9c20 - main - iavf: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 097e192a9c203d98c0b097d1517f87342896f676 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=097e192a9c203d98c0b097d1517f87342896f676 commit 097e192a9c203d98c0b097d1517f87342896f676 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:08 +0000 iavf: purge EOL release compatibility Drop code that differentiated between FreeBSD 10 and 11 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/iavf/iavf_lib.c | 4 ---- sys/dev/iavf/iavf_lib.h | 15 --------------- 2 files changed, 19 deletions(-) diff --git a/sys/dev/iavf/iavf_lib.c b/sys/dev/iavf/iavf_lib.c index 61de2a438c12..a7363c7e873a 100644 --- a/sys/dev/iavf/iavf_lib.c +++ b/sys/dev/iavf/iavf_lib.c @@ -986,11 +986,7 @@ iavf_media_change_common(if_t ifp) void iavf_set_initial_baudrate(if_t ifp) { -#if __FreeBSD_version >= 1100000 if_setbaudrate(ifp, IF_Gbps(40)); -#else - if_initbaudrate(ifp, IF_Gbps(40)); -#endif } /** diff --git a/sys/dev/iavf/iavf_lib.h b/sys/dev/iavf/iavf_lib.h index d0e1d6e53c2d..3238219775d8 100644 --- a/sys/dev/iavf/iavf_lib.h +++ b/sys/dev/iavf/iavf_lib.h @@ -206,7 +206,6 @@ MALLOC_DECLARE(M_IAVF); IAVF_DEFAULT_ADV_RSS_HENA) /* Pre-11 counter(9) compatibility */ -#if __FreeBSD_version >= 1100036 #define IAVF_SET_IPACKETS(vsi, count) (vsi)->ipackets = (count) #define IAVF_SET_IERRORS(vsi, count) (vsi)->ierrors = (count) #define IAVF_SET_OPACKETS(vsi, count) (vsi)->opackets = (count) @@ -219,20 +218,6 @@ MALLOC_DECLARE(M_IAVF); #define IAVF_SET_IQDROPS(vsi, count) (vsi)->iqdrops = (count) #define IAVF_SET_OQDROPS(vsi, count) (vsi)->oqdrops = (count) #define IAVF_SET_NOPROTO(vsi, count) (vsi)->noproto = (count) -#else -#define IAVF_SET_IPACKETS(vsi, count) (vsi)->ifp->if_ipackets = (count) -#define IAVF_SET_IERRORS(vsi, count) (vsi)->ifp->if_ierrors = (count) -#define IAVF_SET_OPACKETS(vsi, count) (vsi)->ifp->if_opackets = (count) -#define IAVF_SET_OERRORS(vsi, count) (vsi)->ifp->if_oerrors = (count) -#define IAVF_SET_COLLISIONS(vsi, count) (vsi)->ifp->if_collisions = (count) -#define IAVF_SET_IBYTES(vsi, count) (vsi)->ifp->if_ibytes = (count) -#define IAVF_SET_OBYTES(vsi, count) (vsi)->ifp->if_obytes = (count) -#define IAVF_SET_IMCASTS(vsi, count) (vsi)->ifp->if_imcasts = (count) -#define IAVF_SET_OMCASTS(vsi, count) (vsi)->ifp->if_omcasts = (count) -#define IAVF_SET_IQDROPS(vsi, count) (vsi)->ifp->if_iqdrops = (count) -#define IAVF_SET_OQDROPS(vsi, odrops) (vsi)->ifp->if_snd.ifq_drops = (odrops) -#define IAVF_SET_NOPROTO(vsi, count) (vsi)->noproto = (count) -#endif /* For stats sysctl naming */ #define IAVF_QUEUE_NAME_LEN 32 From nobody Sat Feb 4 16:20:24 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hn509M0z3nYwk; Sat, 4 Feb 2023 16:20: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 4P8Hn470GSz445Q; Sat, 4 Feb 2023 16:20:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sVJrMlBiarWeCKZfylP7DAKEBK3QbJTWGxALS0xd1+c=; b=eHl0kwFsk8vDayMjGW7/0MZwwsWt1Ax/lhCvb1SU+q2HFijfEZpGZCBCReZ2MpFWCJZEpv REkF6L8lDBVj5j/fzINwVIHAYb6XD6+uHWJFJFJKkNld+cxU3yh6/cHdXMRYkltJFaRQ9d V/u+AUwROxWJrB49EjyJkuzYQwiBS5FCX5LP9/olxLRkcbqsLQ8+7gTWQeJd/7S7Ji4JG3 od3km6w2TaoRt0pd5WgL3rM4ezOKCebBvtPV7nnzJQIHUW977+6AhNDQql3im/GAK0SYId TTOYTNDTApW4D48j05ArMTammAcgAyX6yUVzCCaDSt044KXDYURuuuw24JtZmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sVJrMlBiarWeCKZfylP7DAKEBK3QbJTWGxALS0xd1+c=; b=c//QNWMfsW6nc7MoDI5/WrBqNpDB+Qb0qTGxGA9SHGpG4wExCW4B6vdjCJrxrh1VE8bG9g jd7qpOI0Ie8dy9PNXZcIhY2zKpiD70EQRQardrjmM9K2yjn7FIN3UylmQD2XlNrg9mcRpd 0ugn1pp4K1zkGwPkcHgVaRCl2vXRYir77MMexZIw4wEZSY2Qh+noVhIgaAZqwp7paXwH/g ZNPqikcADrDFcVTgBkC1rapU0ypzq0uFyAI+cQYc3jdO9PB1ePXsr0kJ/CtIK6l4sB5p0Z /w2Avzd7WE1dywyRZZ7eJrYCzhHAB2u5dNMst7sjO99hOsGMFFpPlrepY3z72w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527624; a=rsa-sha256; cv=none; b=AwMXa1hxJzRRZaTFv9MnfzXooGEtl0C5lZm0YYla43ln7qxYi9k4ubWVh/S7vYGJIzbndY L+xt3kR1HpAoPXNychkekzOp/s2miTBIF5nDZfWmAzqefHScicyKLCPch99I6M1NMDSOYc DwPgKSKDrfaD7K41LuGKDV18aTUCuemBn07l9nUNxTBZ2d/a0cZO8KolafSOhPxU96XlLH xNOsW1pav4SsmwkgIICy95LlmD6OdndgCvCAhSHmYz10NMXCL5FqpA4rp101QCYXxi5JFT 08uoBc2DYGUFxQyQFhDNgIpKJLSEfhusxfncWst1uLU1OfYKL/86jZ+V66gh5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hn465RfzLBW; Sat, 4 Feb 2023 16:20:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKOie013565; Sat, 4 Feb 2023 16:20:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKOoo013564; Sat, 4 Feb 2023 16:20:24 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:24 GMT Message-Id: <202302041620.314GKOoo013564@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: bbe35708ad03 - main - qlnx: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbe35708ad0313769ae71fdd43b573e6fffce587 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=bbe35708ad0313769ae71fdd43b573e6fffce587 commit bbe35708ad0313769ae71fdd43b573e6fffce587 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:08 +0000 qlnx: purge EOL release compatibility Drop code that supproted FreeBSD 10 and 11. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/qlnx/qlnxe/bcm_osal.h | 31 -- sys/dev/qlnx/qlnxe/qlnx_def.h | 13 - sys/dev/qlnx/qlnxe/qlnx_os.c | 102 +----- sys/dev/qlnx/qlnxe/qlnx_os.h | 4 - sys/dev/qlnx/qlnxr/qlnxr_cm.c | 12 - sys/dev/qlnx/qlnxr/qlnxr_cm.h | 10 - sys/dev/qlnx/qlnxr/qlnxr_def.h | 17 - sys/dev/qlnx/qlnxr/qlnxr_os.c | 38 +-- sys/dev/qlnx/qlnxr/qlnxr_verbs.c | 715 +-------------------------------------- sys/dev/qlnx/qlnxr/qlnxr_verbs.h | 46 --- 10 files changed, 8 insertions(+), 980 deletions(-) diff --git a/sys/dev/qlnx/qlnxe/bcm_osal.h b/sys/dev/qlnx/qlnxe/bcm_osal.h index c39b9df46cb7..07b0fe47ea36 100644 --- a/sys/dev/qlnx/qlnxe/bcm_osal.h +++ b/sys/dev/qlnx/qlnxe/bcm_osal.h @@ -35,16 +35,7 @@ #include #include - -#if __FreeBSD_version >= 1200032 #include -#else -#if __FreeBSD_version >= 1100090 -#include -#else -#include -#endif -#endif #define OSAL_NUM_CPUS() mp_ncpus /* @@ -481,34 +472,12 @@ qlnx_test_and_change_bit(long bit, volatile unsigned long *var) val = *var; -#if __FreeBSD_version >= 1100000 if (val & bit) return (test_and_clear_bit(bit, var)); return (test_and_set_bit(bit, var)); -#else - if (val & bit) - return (test_and_clear_bit(bit, (long *)var)); - - return (test_and_set_bit(bit, (long *)var)); - -#endif } -#if __FreeBSD_version < 1100000 -static inline unsigned -bitmap_weight(unsigned long *bitmap, unsigned nbits) -{ - unsigned bit; - unsigned retval = 0; - - for_each_set_bit(bit, bitmap, nbits) - retval++; - return (retval); -} - -#endif - #define OSAL_TEST_AND_FLIP_BIT qlnx_test_and_change_bit #define OSAL_TEST_AND_CLEAR_BIT test_and_clear_bit #define OSAL_MEMCMP memcmp diff --git a/sys/dev/qlnx/qlnxe/qlnx_def.h b/sys/dev/qlnx/qlnxe/qlnx_def.h index 7b5f6bdc25f3..87ef7985647d 100644 --- a/sys/dev/qlnx/qlnxe/qlnx_def.h +++ b/sys/dev/qlnx/qlnxe/qlnx_def.h @@ -715,17 +715,6 @@ extern int qlnx_alloc_mem_sb(qlnx_host_t *ha, struct ecore_sb_info *sb_info, #define QLNX_IFM_25G_CR IFM_UNKNOWN #endif /* #if (defined IFM_25G_SR) */ -#if __FreeBSD_version < 1100000 - -#define QLNX_INC_IERRORS(ifp) ifp->if_ierrors++ -#define QLNX_INC_IQDROPS(ifp) ifp->if_iqdrops++ -#define QLNX_INC_IPACKETS(ifp) ifp->if_ipackets++ -#define QLNX_INC_OPACKETS(ifp) ifp->if_opackets++ -#define QLNX_INC_OBYTES(ifp, len) ifp->if_obytes += len -#define QLNX_INC_IBYTES(ifp, len) ifp->if_ibytes += len - -#else - #define QLNX_INC_IERRORS(ifp) if_inc_counter(ifp, IFCOUNTER_IERRORS, 1) #define QLNX_INC_IQDROPS(ifp) if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1) #define QLNX_INC_IPACKETS(ifp) if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1) @@ -736,8 +725,6 @@ extern int qlnx_alloc_mem_sb(qlnx_host_t *ha, struct ecore_sb_info *sb_info, #define QLNX_INC_IBYTES(ifp, len) \ if_inc_counter(ha->ifp, IFCOUNTER_IBYTES, len) -#endif /* #if __FreeBSD_version < 1100000 */ - #define CQE_L3_PACKET(flags) \ ((((flags) & PARSING_AND_ERR_FLAGS_L3TYPE_MASK) == e_l3_type_ipv4) || \ (((flags) & PARSING_AND_ERR_FLAGS_L3TYPE_MASK) == e_l3_type_ipv6)) diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.c b/sys/dev/qlnx/qlnxe/qlnx_os.c index 80056215f7a9..9d31024c29c1 100644 --- a/sys/dev/qlnx/qlnxe/qlnx_os.c +++ b/sys/dev/qlnx/qlnxe/qlnx_os.c @@ -152,9 +152,7 @@ static int qlnx_alloc_tpa_mbuf(qlnx_host_t *ha, uint16_t rx_buf_size, struct qlnx_agg_info *tpa); static void qlnx_free_tpa_mbuf(qlnx_host_t *ha, struct qlnx_agg_info *tpa); -#if __FreeBSD_version >= 1100000 static uint64_t qlnx_get_counter(if_t ifp, ift_counter cnt); -#endif /* * Hooks to the Operating Systems @@ -274,12 +272,6 @@ SYSCTL_NODE(_hw, OID_AUTO, qlnxe, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, /* Number of Queues: 0 (Auto) or 1 to 32 (fixed queue number) */ static int qlnxe_queue_count = QLNX_DEFAULT_RSS; -#if __FreeBSD_version < 1100000 - -TUNABLE_INT("hw.qlnxe.queue_count", &qlnxe_queue_count); - -#endif - SYSCTL_INT(_hw_qlnxe, OID_AUTO, queue_count, CTLFLAG_RDTUN, &qlnxe_queue_count, 0, "Multi-Queue queue count"); @@ -304,20 +296,9 @@ SYSCTL_INT(_hw_qlnxe, OID_AUTO, queue_count, CTLFLAG_RDTUN, /* RDMA configuration; 64bit field allows setting for 16 physical functions*/ static uint64_t qlnxe_rdma_configuration = 0x22222222; -#if __FreeBSD_version < 1100000 - -TUNABLE_QUAD("hw.qlnxe.rdma_configuration", &qlnxe_rdma_configuration); - -SYSCTL_UQUAD(_hw_qlnxe, OID_AUTO, rdma_configuration, CTLFLAG_RDTUN, - &qlnxe_rdma_configuration, 0, "RDMA Configuration"); - -#else - SYSCTL_U64(_hw_qlnxe, OID_AUTO, rdma_configuration, CTLFLAG_RDTUN, &qlnxe_rdma_configuration, 0, "RDMA Configuration"); -#endif /* #if __FreeBSD_version < 1100000 */ - int qlnx_vf_device(qlnx_host_t *ha) { @@ -2333,8 +2314,6 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha) device_id = pci_get_device(ha->pci_dev); -#if __FreeBSD_version >= 1000000 - if (device_id == QLOGIC_PCI_DEVICE_ID_1634) ifp->if_baudrate = IF_Gbps(40); else if ((device_id == QLOGIC_PCI_DEVICE_ID_1656) || @@ -2346,11 +2325,6 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha) ifp->if_baudrate = IF_Gbps(100); ifp->if_capabilities = IFCAP_LINKSTATE; -#else - ifp->if_mtu = ETHERMTU; - ifp->if_baudrate = (1 * 1000 * 1000 *1000); - -#endif /* #if __FreeBSD_version >= 1000000 */ ifp->if_init = qlnx_init; ifp->if_softc = ha; @@ -2363,9 +2337,7 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha) ifp->if_snd.ifq_drv_maxlen = qlnx_get_ifq_snd_maxlen(ha); IFQ_SET_READY(&ifp->if_snd); -#if __FreeBSD_version >= 1100036 if_setgetcounterfn(ifp, qlnx_get_counter); -#endif ha->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; @@ -2789,8 +2761,6 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) VLAN_CAPABILITIES(ifp); break; -#if (__FreeBSD_version >= 1100101) - case SIOCGI2C: { struct ifi2creq i2c; @@ -2838,7 +2808,6 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) i2c.data[4], i2c.data[5], i2c.data[6], i2c.data[7]); break; } -#endif /* #if (__FreeBSD_version >= 1100101) */ default: QL_DPRINT4(ha, "default (0x%lx)\n", cmd); @@ -3085,11 +3054,7 @@ qlnx_transmit(struct ifnet *ifp, struct mbuf *mp) QL_DPRINT2(ha, "enter\n"); -#if __FreeBSD_version >= 1100000 if (M_HASHTYPE_GET(mp) != M_HASHTYPE_NONE) -#else - if (mp->m_flags & M_FLOWID) -#endif rss_id = (mp->m_pkthdr.flowid % ECORE_RSS_IND_TABLE_SIZE) % ha->num_rss; @@ -3971,9 +3936,7 @@ qlnx_tpa_start(qlnx_host_t *ha, bus_dmamap_t map; struct eth_rx_bd *rx_bd; int i; -#if __FreeBSD_version >= 1100000 uint8_t hash_type; -#endif /* #if __FreeBSD_version >= 1100000 */ agg_index = cqe->tpa_agg_index; @@ -4225,8 +4188,6 @@ qlnx_tpa_start(qlnx_host_t *ha, //mp->m_pkthdr.flowid = fp->rss_id; mp->m_pkthdr.flowid = cqe->rss_hash; -#if __FreeBSD_version >= 1100000 - hash_type = cqe->bitfields & (ETH_FAST_PATH_RX_REG_CQE_RSS_HASH_TYPE_MASK << ETH_FAST_PATH_RX_REG_CQE_RSS_HASH_TYPE_SHIFT); @@ -4253,10 +4214,6 @@ qlnx_tpa_start(qlnx_host_t *ha, break; } -#else - mp->m_flags |= M_FLOWID; -#endif - mp->m_pkthdr.csum_flags |= (CSUM_IP_CHECKED | CSUM_IP_VALID | CSUM_DATA_VALID | CSUM_PSEUDO_HDR); @@ -4600,9 +4557,7 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget, enum eth_rx_cqe_type cqe_type; uint16_t len, pad, len_on_first_bd; uint8_t *data; -#if __FreeBSD_version >= 1100000 uint8_t hash_type; -#endif /* #if __FreeBSD_version >= 1100000 */ /* Get the CQE from the completion ring */ cqe = (union eth_rx_cqe *) @@ -4742,8 +4697,6 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget, mp->m_pkthdr.flowid = fp_cqe->rss_hash; -#if __FreeBSD_version >= 1100000 - hash_type = fp_cqe->bitfields & (ETH_FAST_PATH_RX_REG_CQE_RSS_HASH_TYPE_MASK << ETH_FAST_PATH_RX_REG_CQE_RSS_HASH_TYPE_SHIFT); @@ -4770,10 +4723,6 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget, break; } -#else - mp->m_flags |= M_FLOWID; -#endif - if (CQE_L3_PACKET(fp_cqe->pars_flags.flags)) { mp->m_pkthdr.csum_flags |= CSUM_IP_CHECKED; } @@ -4797,22 +4746,10 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget, QLNX_INC_IBYTES(ifp, len); #ifdef QLNX_SOFT_LRO - - if (lro_enable) { -#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) - + if (lro_enable) tcp_lro_queue_mbuf(lro, mp); - -#else - - if (tcp_lro_rx(lro, mp, 0)) - (*ifp->if_input)(ifp, mp); - -#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */ - - } else { + else (*ifp->if_input)(ifp, mp); - } #else (*ifp->if_input)(ifp, mp); @@ -4932,7 +4869,6 @@ qlnx_fp_isr(void *arg) lro = &fp->rxq->lro; if (lro_enable && total_rx_count) { -#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) #ifdef QLNX_TRACE_LRO_CNT if (lro->lro_mbuf_count & ~1023) @@ -4948,17 +4884,6 @@ qlnx_fp_isr(void *arg) #endif /* #ifdef QLNX_TRACE_LRO_CNT */ tcp_lro_flush_all(lro); - -#else - struct lro_entry *queued; - - while ((!SLIST_EMPTY(&lro->lro_active))) { - queued = SLIST_FIRST(&lro->lro_active); - SLIST_REMOVE_HEAD(&lro->lro_active, \ - next); - tcp_lro_flush(lro, queued); - } -#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */ } } #endif /* #ifdef QLNX_SOFT_LRO */ @@ -6287,19 +6212,11 @@ qlnx_alloc_mem_rxq(qlnx_host_t *ha, struct qlnx_rx_queue *rxq) lro = &rxq->lro; -#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) if (tcp_lro_init_args(lro, ifp, 0, rxq->num_rx_buffers)) { QL_DPRINT1(ha, "tcp_lro_init[%d] failed\n", rxq->rxq_id); goto err; } -#else - if (tcp_lro_init(lro)) { - QL_DPRINT1(ha, "tcp_lro_init[%d] failed\n", - rxq->rxq_id); - goto err; - } -#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */ lro->ifp = ha->ifp; } @@ -7197,7 +7114,6 @@ qlnx_set_link(qlnx_host_t *ha, bool link_up) return (rc); } -#if __FreeBSD_version >= 1100000 static uint64_t qlnx_get_counter(if_t ifp, ift_counter cnt) { @@ -7262,7 +7178,6 @@ qlnx_get_counter(if_t ifp, ift_counter cnt) } return (count); } -#endif static void qlnx_timer(void *arg) @@ -7382,20 +7297,7 @@ qlnx_drain_soft_lro(qlnx_host_t *ha) lro = &fp->rxq->lro; -#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) - tcp_lro_flush_all(lro); - -#else - struct lro_entry *queued; - - while ((!SLIST_EMPTY(&lro->lro_active))){ - queued = SLIST_FIRST(&lro->lro_active); - SLIST_REMOVE_HEAD(&lro->lro_active, next); - tcp_lro_flush(lro, queued); - } - -#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */ } } diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.h b/sys/dev/qlnx/qlnxe/qlnx_os.h index 9f4176f9f29f..f7111f5e3f4b 100644 --- a/sys/dev/qlnx/qlnxe/qlnx_os.h +++ b/sys/dev/qlnx/qlnxe/qlnx_os.h @@ -50,10 +50,6 @@ #include #include -#if __FreeBSD_version < 1000000 -#error FreeBSD Version not supported - use version >= 1000000 -#endif - #include #include #include diff --git a/sys/dev/qlnx/qlnxr/qlnxr_cm.c b/sys/dev/qlnx/qlnxr/qlnxr_cm.c index 7d2bff15c491..2a36e7412f2d 100644 --- a/sys/dev/qlnx/qlnxr/qlnxr_cm.c +++ b/sys/dev/qlnx/qlnxr/qlnxr_cm.c @@ -494,11 +494,9 @@ qlnxr_gsi_build_header(struct qlnxr_dev *dev, u16 vlan_id = 0; u16 ether_type; -#if __FreeBSD_version >= 1102000 int rc = 0; int ip_ver = 0; bool has_udp = false; -#endif /* #if __FreeBSD_version >= 1102000 */ #if !DEFINE_IB_AH_ATTR_WITH_DMAC u8 mac[ETH_ALEN]; @@ -517,8 +515,6 @@ qlnxr_gsi_build_header(struct qlnxr_dev *dev, else sgid = dev->sgid_tbl[0]; -#if __FreeBSD_version >= 1102000 - rc = ib_ud_header_init(send_size, false /* LRH */, true /* ETH */, has_vlan, has_grh_ipv6, ip_ver, has_udp, 0 /* immediate */, udh); @@ -528,12 +524,6 @@ qlnxr_gsi_build_header(struct qlnxr_dev *dev, return rc; } -#else - ib_ud_header_init(send_size, false /* LRH */, true /* ETH */, - has_vlan, has_grh_ipv6, 0 /* immediate */, udh); - -#endif /* #if __FreeBSD_version >= 1102000 */ - /* ENET + VLAN headers*/ #if DEFINE_IB_AH_ATTR_WITH_DMAC memcpy(udh->eth.dmac_h, ah_attr->dmac, ETH_ALEN); @@ -846,7 +836,6 @@ qlnxr_gsi_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc[i].byte_len = qp->rqe_wr_id[qp->rq.cons].sg_list[0].length; wc[i].wc_flags |= IB_WC_GRH | IB_WC_IP_CSUM_OK; -#if __FreeBSD_version >= 1100000 memcpy(&wc[i].smac, qp->rqe_wr_id[qp->rq.cons].smac, ETH_ALEN); wc[i].wc_flags |= IB_WC_WITH_SMAC; @@ -855,7 +844,6 @@ qlnxr_gsi_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc) wc[i].vlan_id = qp->rqe_wr_id[qp->rq.cons].vlan_id; } -#endif qlnxr_inc_sw_cons(&qp->rq); i++; } diff --git a/sys/dev/qlnx/qlnxr/qlnxr_cm.h b/sys/dev/qlnx/qlnxr/qlnxr_cm.h index 530a42833e95..72956a858bfc 100644 --- a/sys/dev/qlnx/qlnxr/qlnxr_cm.h +++ b/sys/dev/qlnx/qlnxr/qlnxr_cm.h @@ -42,20 +42,10 @@ #define ETH_P_ROCE (0x8915) #define QLNXR_ROCE_V2_UDP_SPORT (0000) -#if __FreeBSD_version >= 1102000 - #define rdma_wr(_wr) rdma_wr(_wr) #define ud_wr(_wr) ud_wr(_wr) #define atomic_wr(_wr) atomic_wr(_wr) -#else - -#define rdma_wr(_wr) (&(_wr->wr.rdma)) -#define ud_wr(_wr) (&(_wr->wr.ud)) -#define atomic_wr(_wr) (&(_wr->wr.atomic)) - -#endif /* #if __FreeBSD_version >= 1102000 */ - static inline u32 qlnxr_get_ipv4_from_gid(u8 *gid) { return *(u32 *)(void *)&gid[12]; diff --git a/sys/dev/qlnx/qlnxr/qlnxr_def.h b/sys/dev/qlnx/qlnxr/qlnxr_def.h index 2b9b378a1468..2d67a881da06 100644 --- a/sys/dev/qlnx/qlnxr/qlnxr_def.h +++ b/sys/dev/qlnx/qlnxr/qlnxr_def.h @@ -67,10 +67,6 @@ #include #include -#if __FreeBSD_version < 1100000 -#undef MODULE_VERSION -#endif - #include "qlnx_os.h" #include "bcm_osal.h" @@ -627,11 +623,7 @@ struct mr_info { u32 completed_handled; }; -#if __FreeBSD_version < 1102000 -#define DEFINE_IB_FAST_REG -#else #define DEFINE_ALLOC_MR -#endif #ifdef DEFINE_IB_FAST_REG struct qlnxr_fast_reg_page_list { @@ -649,11 +641,7 @@ struct qlnxr_qp { u32 max_inline_data; -#if __FreeBSD_version >= 1100000 spinlock_t q_lock ____cacheline_aligned; -#else - spinlock_t q_lock; -#endif struct qlnxr_cq *sq_cq; struct qlnxr_cq *rq_cq; @@ -899,12 +887,7 @@ extern int qlnx_rdma_ll2_set_mac_filter(void *rdma_ctx, uint8_t *old_mac_address #define QLNXR_ROCE_PKEY_TABLE_LEN 1 #define QLNXR_ROCE_PKEY_DEFAULT 0xffff -#if __FreeBSD_version < 1100000 -#define DEFINE_IB_AH_ATTR_WITH_DMAC (0) -#define DEFINE_IB_UMEM_WITH_CHUNK (1) -#else #define DEFINE_IB_AH_ATTR_WITH_DMAC (1) -#endif #define QLNX_IS_IWARP(rdev) IS_IWARP(ECORE_LEADING_HWFN(rdev->cdev)) #define QLNX_IS_ROCE(rdev) IS_ROCE(ECORE_LEADING_HWFN(rdev->cdev)) diff --git a/sys/dev/qlnx/qlnxr/qlnxr_os.c b/sys/dev/qlnx/qlnxr/qlnxr_os.c index b4771e97b705..aa8386808ebb 100644 --- a/sys/dev/qlnx/qlnxr/qlnxr_os.c +++ b/sys/dev/qlnx/qlnxr/qlnxr_os.c @@ -248,16 +248,9 @@ qlnxr_register_device(qlnxr_dev_t *dev) ibdev->dereg_mr = qlnxr_dereg_mr; ibdev->reg_user_mr = qlnxr_reg_user_mr; -#if __FreeBSD_version >= 1102000 ibdev->alloc_mr = qlnxr_alloc_mr; ibdev->map_mr_sg = qlnxr_map_mr_sg; ibdev->get_port_immutable = qlnxr_get_port_immutable; -#else - ibdev->reg_phys_mr = qlnxr_reg_kernel_mr; - ibdev->alloc_fast_reg_mr = qlnxr_alloc_frmr; - ibdev->alloc_fast_reg_page_list = qlnxr_alloc_frmr_page_list; - ibdev->free_fast_reg_page_list = qlnxr_free_frmr_page_list; -#endif /* #if __FreeBSD_version >= 1102000 */ ibdev->poll_cq = qlnxr_poll_cq; ibdev->post_send = qlnxr_post_send; @@ -281,14 +274,9 @@ qlnxr_register_device(qlnxr_dev_t *dev) iwcm->accept = qlnxr_iw_accept; iwcm->reject = qlnxr_iw_reject; -#if (__FreeBSD_version >= 1004000) && (__FreeBSD_version < 1102000) - - iwcm->create_listen_ep = qlnxr_iw_create_listen; - iwcm->destroy_listen_ep = qlnxr_iw_destroy_listen; -#else iwcm->create_listen = qlnxr_iw_create_listen; iwcm->destroy_listen = __qlnxr_iw_destroy_listen; -#endif + iwcm->add_ref = qlnxr_iw_qp_add_ref; iwcm->rem_ref = qlnxr_iw_qp_rem_ref; iwcm->get_qp = qlnxr_iw_get_qp; @@ -949,27 +937,6 @@ static bool qlnxr_del_sgid(struct qlnxr_dev *dev, union ib_gid *gid) return found; } -#if __FreeBSD_version < 1100000 - -static inline int -is_vlan_dev(struct ifnet *ifp) -{ - return (ifp->if_type == IFT_L2VLAN); -} - -static inline uint16_t -vlan_dev_vlan_id(struct ifnet *ifp) -{ - uint16_t vtag; - - if (VLAN_TAG(ifp, &vtag) == 0) - return (vtag); - - return (0); -} - -#endif /* #if __FreeBSD_version < 1100000 */ - static void qlnxr_add_sgids(struct qlnxr_dev *dev) { @@ -1342,9 +1309,6 @@ static moduledata_t qlnxr_mod_info = { MODULE_VERSION(qlnxr, 1); MODULE_DEPEND(qlnxr, if_qlnxe, 1, 1, 1); MODULE_DEPEND(qlnxr, ibcore, 1, 1, 1); - -#if __FreeBSD_version >= 1100000 MODULE_DEPEND(qlnxr, linuxkpi, 1, 1, 1); -#endif /* #if __FreeBSD_version >= 1100000 */ DECLARE_MODULE(qlnxr, qlnxr_mod_info, SI_SUB_LAST, SI_ORDER_ANY); diff --git a/sys/dev/qlnx/qlnxr/qlnxr_verbs.c b/sys/dev/qlnx/qlnxr/qlnxr_verbs.c index c4affef7955c..1100a81891c2 100644 --- a/sys/dev/qlnx/qlnxr/qlnxr_verbs.c +++ b/sys/dev/qlnx/qlnxr/qlnxr_verbs.c @@ -469,13 +469,8 @@ qlnxr_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr, } int -#if __FreeBSD_version < 1102000 -qlnxr_query_device(struct ib_device *ibdev, struct ib_device_attr *attr) -#else qlnxr_query_device(struct ib_device *ibdev, struct ib_device_attr *attr, struct ib_udata *udata) -#endif /* #if __FreeBSD_version < 1102000 */ - { struct qlnxr_dev *dev; struct ecore_rdma_device *qattr; @@ -486,10 +481,8 @@ qlnxr_query_device(struct ib_device *ibdev, struct ib_device_attr *attr, QL_DPRINT12(ha, "enter\n"); -#if __FreeBSD_version > 1102000 if (udata->inlen || udata->outlen) return -EINVAL; -#endif /* #if __FreeBSD_version > 1102000 */ if (dev->rdma_ctx == NULL) { return -EINVAL; @@ -820,16 +813,14 @@ qlnxr_get_vlan_id_qp(qlnx_host_t *ha, struct ib_qp_attr *attr, int attr_mask, { bool ret = false; - QL_DPRINT12(ha, "enter \n"); - - *vlan_id = 0; - -#if __FreeBSD_version >= 1100000 u16 tmp_vlan_id; -#if __FreeBSD_version >= 1102000 union ib_gid *dgid; + QL_DPRINT12(ha, "enter \n"); + + *vlan_id = 0; + dgid = &attr->ah_attr.grh.dgid; tmp_vlan_id = (dgid->raw[11] << 8) | dgid->raw[12]; @@ -837,20 +828,6 @@ qlnxr_get_vlan_id_qp(qlnx_host_t *ha, struct ib_qp_attr *attr, int attr_mask, *vlan_id = tmp_vlan_id; ret = true; } -#else - tmp_vlan_id = attr->vlan_id; - - if ((attr_mask & IB_QP_VID) && (!(tmp_vlan_id & ~EVL_VLID_MASK))) { - *vlan_id = tmp_vlan_id; - ret = true; - } - -#endif /* #if __FreeBSD_version > 1102000 */ - -#else - ret = true; - -#endif /* #if __FreeBSD_version >= 1100000 */ QL_DPRINT12(ha, "exit vlan_id = 0x%x ret = %d \n", *vlan_id, ret); @@ -1060,11 +1037,7 @@ qlnxr_mmap(struct ib_ucontext *context, struct vm_area_struct *vma) ha = dev->ha; -#if __FreeBSD_version > 1102000 unmapped_db = dev->db_phys_addr + (ucontext->dpi * ucontext->dpi_size); -#else - unmapped_db = dev->db_phys_addr; -#endif /* #if __FreeBSD_version > 1102000 */ QL_DPRINT12(ha, "qedr_mmap enter vm_page=0x%lx" " vm_pgoff=0x%lx unmapped_db=0x%llx db_size=%x, len=%lx\n", @@ -1087,8 +1060,6 @@ qlnxr_mmap(struct ib_ucontext *context, struct vm_area_struct *vma) QL_DPRINT12(ha, "Mapping doorbell bar\n"); -#if __FreeBSD_version > 1102000 - if ((vm_page < unmapped_db) || ((vm_page + len) > (unmapped_db + ucontext->dpi_size))) { QL_DPRINT11(ha, "failed pages are outside of dpi;" @@ -1106,24 +1077,6 @@ qlnxr_mmap(struct ib_ucontext *context, struct vm_area_struct *vma) rc = io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, len, vma->vm_page_prot); -#else - - if ((vm_page >= unmapped_db) && (vm_page <= (unmapped_db + - dev->db_size))) { - QL_DPRINT12(ha, "Mapping doorbell bar\n"); - - vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); - - rc = io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, - PAGE_SIZE, vma->vm_page_prot); - } else { - QL_DPRINT12(ha, "Mapping chains\n"); - rc = io_remap_pfn_range(vma, vma->vm_start, - vma->vm_pgoff, len, vma->vm_page_prot); - } - -#endif /* #if __FreeBSD_version > 1102000 */ - QL_DPRINT12(ha, "exit [%d]\n", rc); return rc; } @@ -1514,13 +1467,8 @@ done: } struct ib_mr * -#if __FreeBSD_version >= 1102000 qlnxr_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 len, u64 usr_addr, int acc, struct ib_udata *udata) -#else -qlnxr_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 len, - u64 usr_addr, int acc, struct ib_udata *udata, int mr_id) -#endif /* #if __FreeBSD_version >= 1102000 */ { int rc = -ENOMEM; struct qlnxr_dev *dev = get_qlnxr_dev((ibpd->device)); @@ -1592,11 +1540,7 @@ qlnxr_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 len, mr->hw_mr.pbl_page_size_log = ilog2(mr->info.pbl_info.pbl_size); mr->hw_mr.page_size_log = ilog2(mr->umem->page_size); /* for the MR pages */ -#if __FreeBSD_version >= 1102000 mr->hw_mr.fbo = ib_umem_offset(mr->umem); -#else - mr->hw_mr.fbo = mr->umem->offset; -#endif mr->hw_mr.length = len; mr->hw_mr.vaddr = usr_addr; mr->hw_mr.zbva = false; /* TBD figure when this should be true */ @@ -1802,10 +1746,8 @@ qlnxr_create_cq(struct ib_cq *ibcq, struct ecore_rdma_create_cq_in_params params; struct qlnxr_create_cq_ureq ureq; -#if __FreeBSD_version >= 1100000 int vector = attr->comp_vector; int entries = attr->cqe; -#endif struct qlnxr_cq *cq = get_qlnxr_cq(ibcq); int chain_entries, rc, page_cnt; u64 pbl_ptr; @@ -2030,10 +1972,6 @@ qlnxr_check_qp_attrs(struct ib_pd *ibpd, QL_DPRINT12(ha, "attrs->qp_type = %d\n", attrs->qp_type); QL_DPRINT12(ha, "attrs->create_flags = %d\n", attrs->create_flags); -#if __FreeBSD_version < 1102000 - QL_DPRINT12(ha, "attrs->qpg_type = %d\n", attrs->qpg_type); -#endif - QL_DPRINT12(ha, "attrs->port_num = %d\n", attrs->port_num); QL_DPRINT12(ha, "attrs->cap.max_send_wr = 0x%x\n", attrs->cap.max_send_wr); QL_DPRINT12(ha, "attrs->cap.max_recv_wr = 0x%x\n", attrs->cap.max_recv_wr); @@ -2042,11 +1980,6 @@ qlnxr_check_qp_attrs(struct ib_pd *ibpd, QL_DPRINT12(ha, "attrs->cap.max_inline_data = 0x%x\n", attrs->cap.max_inline_data); -#if __FreeBSD_version < 1102000 - QL_DPRINT12(ha, "attrs->cap.qpg_tss_mask_sz = 0x%x\n", - attrs->cap.qpg_tss_mask_sz); -#endif - QL_DPRINT12(ha, "\n\nqattr->vendor_id = 0x%x\n", qattr->vendor_id); QL_DPRINT12(ha, "qattr->vendor_part_id = 0x%x\n", qattr->vendor_part_id); QL_DPRINT12(ha, "qattr->hw_ver = 0x%x\n", qattr->hw_ver); @@ -4225,8 +4158,6 @@ qlnx_handle_completed_mrs(struct qlnxr_dev *dev, struct mr_info *info) return; } -#if __FreeBSD_version >= 1102000 - static int qlnxr_prepare_reg(struct qlnxr_qp *qp, struct rdma_sq_fmr_wqe_1st *fwqe1, const struct ib_reg_wr *wr) @@ -4265,163 +4196,6 @@ static int qlnxr_prepare_reg(struct qlnxr_qp *qp, return 0; } -#else - -static void -build_frmr_pbes(struct qlnxr_dev *dev, const struct ib_send_wr *wr, - struct mr_info *info) -{ - int i; - u64 buf_addr = 0; - int num_pbes, total_num_pbes = 0; - struct regpair *pbe; - struct qlnxr_pbl *pbl_tbl = info->pbl_table; - struct qlnxr_pbl_info *pbl_info = &info->pbl_info; - qlnx_host_t *ha; - - ha = dev->ha; - - QL_DPRINT12(ha, "enter\n"); - - pbe = (struct regpair *)pbl_tbl->va; - num_pbes = 0; - - for (i = 0; i < wr->wr.fast_reg.page_list_len; i++) { - buf_addr = wr->wr.fast_reg.page_list->page_list[i]; - pbe->lo = cpu_to_le32((u32)buf_addr); - pbe->hi = cpu_to_le32((u32)upper_32_bits(buf_addr)); - - num_pbes += 1; - pbe++; - total_num_pbes++; - - if (total_num_pbes == pbl_info->num_pbes) - return; - - /* if the given pbl is full storing the pbes, - * move to next pbl. - */ - if (num_pbes == - (pbl_info->pbl_size / sizeof(u64))) { - pbl_tbl++; - pbe = (struct regpair *)pbl_tbl->va; - num_pbes = 0; - } - } - QL_DPRINT12(ha, "exit\n"); - - return; -} - -static int -qlnxr_prepare_safe_pbl(struct qlnxr_dev *dev, struct mr_info *info) -{ - int rc = 0; - qlnx_host_t *ha; - - ha = dev->ha; - - QL_DPRINT12(ha, "enter\n"); - - if (info->completed == 0) { - //DP_VERBOSE(dev, QLNXR_MSG_MR, "First FMR\n"); - /* first fmr */ - return 0; - } - - qlnx_handle_completed_mrs(dev, info); - - list_add_tail(&info->pbl_table->list_entry, &info->inuse_pbl_list); - - if (list_empty(&info->free_pbl_list)) { - info->pbl_table = qlnxr_alloc_pbl_tbl(dev, &info->pbl_info, - GFP_ATOMIC); - } else { - info->pbl_table = list_first_entry(&info->free_pbl_list, - struct qlnxr_pbl, - list_entry); - list_del(&info->pbl_table->list_entry); - } - - if (!info->pbl_table) - rc = -ENOMEM; - - QL_DPRINT12(ha, "exit\n"); - return rc; -} - -static inline int -qlnxr_prepare_fmr(struct qlnxr_qp *qp, - struct rdma_sq_fmr_wqe_1st *fwqe1, - const struct ib_send_wr *wr) -{ - struct qlnxr_dev *dev = qp->dev; - u64 fbo; - struct qlnxr_fast_reg_page_list *frmr_list = - get_qlnxr_frmr_list(wr->wr.fast_reg.page_list); - struct rdma_sq_fmr_wqe *fwqe2 = - (struct rdma_sq_fmr_wqe *)ecore_chain_produce(&qp->sq.pbl); - int rc = 0; - qlnx_host_t *ha; - - ha = dev->ha; - - QL_DPRINT12(ha, "enter\n"); - - if (wr->wr.fast_reg.page_list_len == 0) - BUG(); - - rc = qlnxr_prepare_safe_pbl(dev, &frmr_list->info); - if (rc) - return rc; - - fwqe1->addr.hi = upper_32_bits(wr->wr.fast_reg.iova_start); - fwqe1->addr.lo = lower_32_bits(wr->wr.fast_reg.iova_start); - fwqe1->l_key = wr->wr.fast_reg.rkey; - - SET_FIELD2(fwqe2->access_ctrl, RDMA_SQ_FMR_WQE_REMOTE_READ, - !!(wr->wr.fast_reg.access_flags & IB_ACCESS_REMOTE_READ)); - SET_FIELD2(fwqe2->access_ctrl, RDMA_SQ_FMR_WQE_REMOTE_WRITE, - !!(wr->wr.fast_reg.access_flags & IB_ACCESS_REMOTE_WRITE)); - SET_FIELD2(fwqe2->access_ctrl, RDMA_SQ_FMR_WQE_ENABLE_ATOMIC, - !!(wr->wr.fast_reg.access_flags & IB_ACCESS_REMOTE_ATOMIC)); - SET_FIELD2(fwqe2->access_ctrl, RDMA_SQ_FMR_WQE_LOCAL_READ, 1); - SET_FIELD2(fwqe2->access_ctrl, RDMA_SQ_FMR_WQE_LOCAL_WRITE, - !!(wr->wr.fast_reg.access_flags & IB_ACCESS_LOCAL_WRITE)); - - fwqe2->fmr_ctrl = 0; - - SET_FIELD2(fwqe2->fmr_ctrl, RDMA_SQ_FMR_WQE_2ND_PAGE_SIZE_LOG, - ilog2(1 << wr->wr.fast_reg.page_shift) - 12); - SET_FIELD2(fwqe2->fmr_ctrl, RDMA_SQ_FMR_WQE_2ND_ZERO_BASED, 0); - - fwqe2->length_hi = 0; /* Todo - figure this out... why length is only 32bit.. */ - fwqe2->length_lo = wr->wr.fast_reg.length; - fwqe2->pbl_addr.hi = upper_32_bits(frmr_list->info.pbl_table->pa); - fwqe2->pbl_addr.lo = lower_32_bits(frmr_list->info.pbl_table->pa); - - /* produce another wqe for fwqe3 */ - ecore_chain_produce(&qp->sq.pbl); - - fbo = wr->wr.fast_reg.iova_start - - (wr->wr.fast_reg.page_list->page_list[0] & PAGE_MASK); - - QL_DPRINT12(ha, "wr.fast_reg.iova_start = %p rkey=%x addr=%x:%x" - " length = %x pbl_addr %x:%x\n", - wr->wr.fast_reg.iova_start, wr->wr.fast_reg.rkey, - fwqe1->addr.hi, fwqe1->addr.lo, fwqe2->length_lo, - fwqe2->pbl_addr.hi, fwqe2->pbl_addr.lo); - - build_frmr_pbes(dev, wr, &frmr_list->info); - - qp->wqe_wr_id[qp->sq.prod].frmr = frmr_list; - - QL_DPRINT12(ha, "exit\n"); - return 0; -} - -#endif /* #if __FreeBSD_version >= 1102000 */ - static enum ib_wc_opcode qlnxr_ib_to_wc_opcode(enum ib_wr_opcode opcode) { @@ -4439,15 +4213,8 @@ qlnxr_ib_to_wc_opcode(enum ib_wr_opcode opcode) return IB_WC_COMP_SWAP; case IB_WR_ATOMIC_FETCH_AND_ADD: return IB_WC_FETCH_ADD; - -#if __FreeBSD_version >= 1102000 case IB_WR_REG_MR: return IB_WC_REG_MR; -#else - case IB_WR_FAST_REG_MR: - return IB_WC_FAST_REG_MR; -#endif /* #if __FreeBSD_version >= 1102000 */ - case IB_WR_LOCAL_INV: return IB_WC_LOCAL_INV; default: @@ -4784,8 +4551,6 @@ qlnxr_post_send(struct ib_qp *ibqp, break; -#if __FreeBSD_version >= 1102000 - case IB_WR_REG_MR: *** 736 LINES SKIPPED *** From nobody Sat Feb 4 16:20:25 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hn61dDHz3nZFp; Sat, 4 Feb 2023 16:20: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 4P8Hn60zdmz44FF; Sat, 4 Feb 2023 16:20:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kO6VQcLF2Wxev/WsNHbudcQvJ4UM26Kt57b43oSvTFA=; b=EKgBvxDga723FGIZDuDvniNp1Bw2wpsGV6F1fUR5vUtWrmdfAH89NizyYD/4AgYZ48O4WV a4pcIgkCZFLKnQtlANgu984ZGX97N5Qh3rZSuPtYKm8bhGpCtL0Y1uS5KHswaIlX71Cycs ANEycJjZZBbJX1j/WouGhic9xNYrbUinH0OW1guF3akTze0doKkN0YZD6FiRbEmTDhxzAE u//KFV9j0OzpFUS7X2I0TgGbabhYUWJtJtnMhWSvU6xK9+wILcK0krw9tGOchBQZDcfHmp yoQsIo3VuHgnlH4xOovfLmiE0AqVYpS6c7P9WcC15lJmjqSODECsNyijIYbkgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kO6VQcLF2Wxev/WsNHbudcQvJ4UM26Kt57b43oSvTFA=; b=lSXYIqfawmiQKrqa5YJdo9iiWOUY5MzNL8+6nyPvmgRcFjAQoda8xg4MYk9HjbbZfapYwE 3iOw36VGBUCjm2SCxDXLinbjnXyInn18GDiFuViYqhBKC0EUDbr8SS2QDRZtrrwqgHqRDX KR0+5vCqGPs14RQ/U0sWF5Nx4xGwYybxh8vrTYqekUC/i8wlXf6VY6Ze752k2hYD4/diiM lOwIrHsyzmuqFxEI525HE7/6DPSwPUBAv4OH68CP/QQz2q2Ck4qM5WKGiySo1UTReRecX4 slQlcE5PoN5rrJq5buG7YIScwmLmJ1dCdLeIfuD2qtWuBZUqyXuX+hKlZeu4GQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527626; a=rsa-sha256; cv=none; b=Rky31I/lArrhhM6/L7rdrHx8dED0G065Nqk8REcqgaMQUQtmYhROyWUlO0jkiI5pe+8nTJ iQK8CWZ1Ne5AZq6SW/gToDBck6Yaw5ujrUNQFk0LQqX7VFCT6dl+QV95UheT79BpfAebu7 s3Z7T9Ya2R2FAkmYoDuGklank/VaZyiw9yEajwbVDg/niSxxUPJ6eY3ln+F1SQJFOTDc1/ oWT0xnq4Be0CmTV1atqHgwKQC2D2jD+9qPJdVlLXFVkzojPJpT76PVJKXCSFaktfhga69h 3+6AJJuGBqrbadNKdV4jLAASFNcJdq0h5iBcOwjv6blyHeS/cRhaSYGwUZ1P5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hn604NbzLBX; Sat, 4 Feb 2023 16:20:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKPAO013589; Sat, 4 Feb 2023 16:20:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKPlP013588; Sat, 4 Feb 2023 16:20:25 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:25 GMT Message-Id: <202302041620.314GKPlP013588@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 21e0b5079610 - main - qlnxr: cleanup secondary effects from EOL purge List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 21e0b5079610dcf2c2eb198e064747f2a0e34605 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=21e0b5079610dcf2c2eb198e064747f2a0e34605 commit 21e0b5079610dcf2c2eb198e064747f2a0e34605 Author: Elliott Mitchell AuthorDate: 2022-06-24 23:26:18 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:09 +0000 qlnxr: cleanup secondary effects from EOL purge DEFINE_ALLOC_MR became unconditionally true, but it isn't used anywhere now. Several places depended upon DEFINE_IB_FAST_REG, but that is now always false. Similarly DEFINE_IB_UMEM_WITH_CHUNK became always false/undefined. DEFINE_IB_AH_ATTR_WITH_DMAC is now unconditionally true. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/qlnx/qlnxr/qlnxr_cm.c | 8 ---- sys/dev/qlnx/qlnxr/qlnxr_def.h | 22 ---------- sys/dev/qlnx/qlnxr/qlnxr_verbs.c | 90 ++++++++++++++-------------------------- 3 files changed, 32 insertions(+), 88 deletions(-) diff --git a/sys/dev/qlnx/qlnxr/qlnxr_cm.c b/sys/dev/qlnx/qlnxr/qlnxr_cm.c index 2a36e7412f2d..1f418f83ad37 100644 --- a/sys/dev/qlnx/qlnxr/qlnxr_cm.c +++ b/sys/dev/qlnx/qlnxr/qlnxr_cm.c @@ -498,9 +498,6 @@ qlnxr_gsi_build_header(struct qlnxr_dev *dev, int ip_ver = 0; bool has_udp = false; -#if !DEFINE_IB_AH_ATTR_WITH_DMAC - u8 mac[ETH_ALEN]; -#endif int i; send_size = 0; @@ -525,12 +522,7 @@ qlnxr_gsi_build_header(struct qlnxr_dev *dev, } /* ENET + VLAN headers*/ -#if DEFINE_IB_AH_ATTR_WITH_DMAC memcpy(udh->eth.dmac_h, ah_attr->dmac, ETH_ALEN); -#else - qlnxr_get_dmac(dev, ah_attr, mac); - memcpy(udh->eth.dmac_h, mac, ETH_ALEN); -#endif memcpy(udh->eth.smac_h, dev->ha->primary_mac, ETH_ALEN); if (has_vlan) { udh->eth.type = htons(ETH_P_8021Q); diff --git a/sys/dev/qlnx/qlnxr/qlnxr_def.h b/sys/dev/qlnx/qlnxr/qlnxr_def.h index 2d67a881da06..419b7e5fc5ea 100644 --- a/sys/dev/qlnx/qlnxr/qlnxr_def.h +++ b/sys/dev/qlnx/qlnxr/qlnxr_def.h @@ -623,15 +623,6 @@ struct mr_info { u32 completed_handled; }; -#define DEFINE_ALLOC_MR - -#ifdef DEFINE_IB_FAST_REG -struct qlnxr_fast_reg_page_list { - struct ib_fast_reg_page_list ibfrpl; - struct qlnxr_dev *dev; - struct mr_info info; -}; -#endif struct qlnxr_qp { struct ib_qp ibqp; /* must be first */ struct qlnxr_dev *dev; @@ -675,9 +666,6 @@ struct qlnxr_qp { bool signaled; dma_addr_t icrc_mapping; u32 *icrc; -#ifdef DEFINE_IB_FAST_REG - struct qlnxr_fast_reg_page_list *frmr; -#endif struct qlnxr_mr *mr; } *wqe_wr_id; @@ -828,14 +816,6 @@ static inline bool qlnxr_qp_has_rq(struct qlnxr_qp *qp) return 1; } -#ifdef DEFINE_IB_FAST_REG -static inline struct qlnxr_fast_reg_page_list *get_qlnxr_frmr_list( - struct ib_fast_reg_page_list *ifrpl) -{ - return container_of(ifrpl, struct qlnxr_fast_reg_page_list, ibfrpl); -} -#endif - #define SET_FIELD2(value, name, flag) \ do { \ (value) |= ((flag) << (name ## _SHIFT)); \ @@ -887,8 +867,6 @@ extern int qlnx_rdma_ll2_set_mac_filter(void *rdma_ctx, uint8_t *old_mac_address #define QLNXR_ROCE_PKEY_TABLE_LEN 1 #define QLNXR_ROCE_PKEY_DEFAULT 0xffff -#define DEFINE_IB_AH_ATTR_WITH_DMAC (1) - #define QLNX_IS_IWARP(rdev) IS_IWARP(ECORE_LEADING_HWFN(rdev->cdev)) #define QLNX_IS_ROCE(rdev) IS_ROCE(ECORE_LEADING_HWFN(rdev->cdev)) diff --git a/sys/dev/qlnx/qlnxr/qlnxr_verbs.c b/sys/dev/qlnx/qlnxr/qlnxr_verbs.c index 1100a81891c2..310ef2dc6e9f 100644 --- a/sys/dev/qlnx/qlnxr/qlnxr_verbs.c +++ b/sys/dev/qlnx/qlnxr/qlnxr_verbs.c @@ -1293,13 +1293,7 @@ qlnxr_populate_pbls(struct qlnxr_dev *dev, struct ib_umem *umem, struct scatterlist *sg; int shift, pg_cnt, pages, pbe_cnt, total_num_pbes = 0; qlnx_host_t *ha; - -#ifdef DEFINE_IB_UMEM_WITH_CHUNK - int i; - struct ib_umem_chunk *chunk = NULL; -#else int entry; -#endif ha = dev->ha; @@ -1333,53 +1327,42 @@ qlnxr_populate_pbls(struct qlnxr_dev *dev, struct ib_umem *umem, shift = ilog2(umem->page_size); -#ifndef DEFINE_IB_UMEM_WITH_CHUNK - for_each_sg(umem->sg_head.sgl, sg, umem->nmap, entry) { -#else - list_for_each_entry(chunk, &umem->chunk_list, list) { - /* get all the dma regions from the chunk. */ - for (i = 0; i < chunk->nmap; i++) { - sg = &chunk->page_list[i]; -#endif - pages = sg_dma_len(sg) >> shift; - for (pg_cnt = 0; pg_cnt < pages; pg_cnt++) { - /* store the page address in pbe */ - pbe->lo = - cpu_to_le32(sg_dma_address(sg) + - (umem->page_size * pg_cnt)); - pbe->hi = - cpu_to_le32(upper_32_bits - ((sg_dma_address(sg) + - umem->page_size * pg_cnt))); + pages = sg_dma_len(sg) >> shift; + for (pg_cnt = 0; pg_cnt < pages; pg_cnt++) { + /* store the page address in pbe */ + pbe->lo = + cpu_to_le32(sg_dma_address(sg) + + (umem->page_size * pg_cnt)); + pbe->hi = + cpu_to_le32(upper_32_bits + ((sg_dma_address(sg) + + umem->page_size * pg_cnt))); - QL_DPRINT12(ha, - "Populate pbl table:" - " pbe->addr=0x%x:0x%x " - " pbe_cnt = %d total_num_pbes=%d" - " pbe=%p\n", pbe->lo, pbe->hi, pbe_cnt, - total_num_pbes, pbe); - - pbe_cnt ++; - total_num_pbes ++; - pbe++; - - if (total_num_pbes == pbl_info->num_pbes) - return; - - /* if the given pbl is full storing the pbes, - * move to next pbl. - */ - if (pbe_cnt == - (pbl_info->pbl_size / sizeof(u64))) { - pbl_tbl++; - pbe = (struct regpair *)pbl_tbl->va; - pbe_cnt = 0; - } + QL_DPRINT12(ha, + "Populate pbl table:" + " pbe->addr=0x%x:0x%x " + " pbe_cnt = %d total_num_pbes=%d" + " pbe=%p\n", pbe->lo, pbe->hi, pbe_cnt, + total_num_pbes, pbe); + + pbe_cnt ++; + total_num_pbes ++; + pbe++; + + if (total_num_pbes == pbl_info->num_pbes) + return; + + /* if the given pbl is full storing the pbes, + * move to next pbl. + */ + if (pbe_cnt == + (pbl_info->pbl_size / sizeof(u64))) { + pbl_tbl++; + pbe = (struct regpair *)pbl_tbl->va; + pbe_cnt = 0; } -#ifdef DEFINE_IB_UMEM_WITH_CHUNK } -#endif } QL_DPRINT12(ha, "exit\n"); return; @@ -2346,9 +2329,6 @@ qlnxr_init_srq_user_params(struct ib_ucontext *ib_ctx, struct qlnxr_create_srq_ureq *ureq, int access, int dmasync) { -#ifdef DEFINE_IB_UMEM_WITH_CHUNK - struct ib_umem_chunk *chunk; -#endif struct scatterlist *sg; int rc; struct qlnxr_dev *dev = srq->dev; @@ -2376,13 +2356,7 @@ qlnxr_init_srq_user_params(struct ib_ucontext *ib_ctx, return PTR_ERR(srq->prod_umem); } -#ifdef DEFINE_IB_UMEM_WITH_CHUNK - chunk = container_of((&srq->prod_umem->chunk_list)->next, - typeof(*chunk), list); - sg = &chunk->page_list[0]; -#else sg = srq->prod_umem->sg_head.sgl; -#endif srq->hw_srq.phy_prod_pair_addr = sg_dma_address(sg); QL_DPRINT12(ha, "exit\n"); From nobody Sat Feb 4 16:20:27 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hn80YlBz3nZJW; Sat, 4 Feb 2023 16:20: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 4P8Hn71xH8z44Bv; Sat, 4 Feb 2023 16:20:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gwrn5Hz8La3ZVvf0PNzc2ARjQzCv1vsTfbc3vhnml+Q=; b=JSU6iHkqEeOoBipIShho119U1VBtcFWZuSKlkoG4Gh2RS7mftMrcsTeIpYFuoAyNmEGA3N V5CMbcC4XTTx8OJenVs1JuzlrmP+Oatfwh6GICTZ7CJc/3xk/tYHw01VrGE/kfWv5Qs9+a AcuHt6oGHXa3/vPu3/cFpnlgLKCKcEHI9jFpzvbRBYe6HoHqgQFeE84F89mJx44kWhtVRD C+6ZPU99IsPeNZoN4YAZCNBnMYsTPAesgHRB126L0xXLlb2US9YNGP6TpvRgZS970wk729 e8W2EDSGs8jfhGDJsQjyFDGHZFu6Bh8DzfmuSgXzHG16funzWI9h0EJOPP4TtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gwrn5Hz8La3ZVvf0PNzc2ARjQzCv1vsTfbc3vhnml+Q=; b=vmlQHuH1l4pOL2+OjXKdLhMqfcuP+r4UUlIo1qXwqAM+PMQJ+sfXV6jmTv4vXu5VD/fLz9 yke4o+8AQRDuV5nWBmqT1p+foff2VxGu4+KsLeAxZeMZGZvcJ8SyKvGOP94fox1DRnrf55 w+oAjBloMU9tqpxWMMky3y0O6v8K4jlvl/OiNHoMpsXwxnT0saVNhrprj9s8Olqs0VXHs6 aPNOFM3pFGRCNhCxP2D3gma09Y4GiC2UuuPT8KLxii4YO2vn8lcXyH/cL0j34yAEkyfDqy 37fXXP3/x1g2y3JOqvAG1bLJslsngODwKYKLs9Tw8pydYdWAVftE0aUFupg9qQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527627; a=rsa-sha256; cv=none; b=Iq37ext2J6dXcnQklH2u0kYW/qtR5ilLcTdyZhY4XZDdty17RARAoVoXh8RTyQsOe5m/Ce SxLfJJs9HMOD6ZUc/vSIa7Hq/7SZJ3GGZeoBZBIKZCkEhQob2D6XV2NfYG5tiqHtUwLIXG OlLo99appl2IAA0KWdNOWc279hhrWTxcQ9mYAf1hj32wuFv8gYy2E5nT37VuNI1RVhWHse euPFGDEj/JOZCuN3UiM54NF3DolIWJJQa3yQtKLyGHcoP14b9DeKTC8ueZyzR+5Hr0/G3x XbCPm7Jzq7KGdEDZVx8LLSqFlWXnW3qvKiLLdAjI/gF61B6lkJ/LZ5J8lZ91EA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hn710TRzLDY; Sat, 4 Feb 2023 16:20:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKRBu013613; Sat, 4 Feb 2023 16:20:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKRaH013612; Sat, 4 Feb 2023 16:20:27 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:27 GMT Message-Id: <202302041620.314GKRaH013612@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 33f6a4e90fa1 - main - acpica: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 33f6a4e90fa1593a6cce66bc72ab82ead2154eb8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=33f6a4e90fa1593a6cce66bc72ab82ead2154eb8 commit 33f6a4e90fa1593a6cce66bc72ab82ead2154eb8 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:09 +0000 acpica: purge EOL release compatibility Remove obsolete check for FreeBSD >= 11 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/acpica/acpi_container.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/acpica/acpi_container.c b/sys/dev/acpica/acpi_container.c index e9112e700ef5..358759cb1dde 100644 --- a/sys/dev/acpica/acpi_container.c +++ b/sys/dev/acpica/acpi_container.c @@ -68,9 +68,7 @@ static device_method_t acpi_syscont_methods[] = { DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), -#if __FreeBSD_version >= 1100000 DEVMETHOD(bus_get_cpus, bus_generic_get_cpus), -#endif /* pcib interface */ DEVMETHOD(pcib_alloc_msi, acpi_syscont_alloc_msi), From nobody Sat Feb 4 16:20:28 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Hn85sgVz3nZ03; Sat, 4 Feb 2023 16:20: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 4P8Hn83GKHz44TB; Sat, 4 Feb 2023 16:20:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qLIDPsVLI96v60QFi6VV9xuUVdekxe8vinlA0sokyRI=; b=A56XQFfDvzGVXgqSYfxAp8fKndzQgmuXoimxeLfVo6IQOVt2Fp8nB0TQwZCAwv3ngBsk9l VRu3IEmG+DnS0p2Y/H33wq7MnuXCzGBCbldeY5tbZI5GicWNqU9FxF4HmV/IVrXsbz8p89 n8DIOIMnPy+4tlfvuntlhwCkLJw8M6JaVocZMK6XqFkPhwAfWy1eoELez6M++EmPLZCuYo j03BEaBIHcGmL8zF/8/A0+VtDO8AA23h9RkSuSy//YlYATUPVmpmKiFty085hEcuCaV/7V hKzgS6sIOO/qEeo1RBMH39FulGJkfpDMyTkjKOROTrLBHVZmash1gc2mpdA56A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527628; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qLIDPsVLI96v60QFi6VV9xuUVdekxe8vinlA0sokyRI=; b=o+fbXtrAI/KsxPOWq/4hsbPzsoiNl0Rfs3WvHDf+/MhIXxVep+oPxTmBtPcGWhsweeJsoJ xdu25VkJw33Y67uaMRaW+XTMBIjQSp3JRi2LILtUtTmUz7STzSget0Bz1fnsUS8Q7OtIr7 9lPc63wefRZN2Tf9HxGImkV3+5QSBg3RfkPyXtLqqvkNdKI14+G33KX3hFd2DM1BYLZe4O ahbY1bbdb3pGtoUQ1O6uHQjQHowH6dxLGOA7YLdJfxU/l2VO68OLuH/uj7+zBS0RHu0d5M LQAHTErXgRm0Q9rpPWj1QqpE2GalQ/oFj535JwWGV7v0m7siOf5iYYTBdO5slw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527628; a=rsa-sha256; cv=none; b=GXzpAaM5SoPDePaKgKjlLQ8vxb/rGKaya8pnARigOMxRVb9ItMF11gMtFFTsUvm4oP9Oz0 hpbeAIQOgK1kTZDJ1fueqwA1hsQAtRk49FiWbY3ENF9PY4z2IptdEDUM+AzbdiipZfUXLE v2uokDcDyNI+HDrWjvhFclr8Tg4ZI+2uJPiKvyEAzZTZBTjHqbBNVyNO+WzPRVICDBYOAp VmRj66wR0jkafHUL2uq3N6+xMUJVPPoctxGaj4YShbaeCQKHjlSKvXWQxe878WDdasWkFD tCA8kMer+xlGOruGN5tPDtYp4cSaauaOwauGcfo7blm71+xli/Ef2NcRdI7/2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hn81vWPzLMC; Sat, 4 Feb 2023 16:20:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKSM0013643; Sat, 4 Feb 2023 16:20:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKSlW013642; Sat, 4 Feb 2023 16:20:28 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:28 GMT Message-Id: <202302041620.314GKSlW013642@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 5d1c658b47e4 - main - hptmv: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d1c658b47e442b8911920a325bfb1dc58e444f8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5d1c658b47e442b8911920a325bfb1dc58e444f8 commit 5d1c658b47e442b8911920a325bfb1dc58e444f8 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:09 +0000 hptmv: purge EOL release compatibility Drop support for pre-FreeBSD 11 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/hptmv/hptproc.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/sys/dev/hptmv/hptproc.c b/sys/dev/hptmv/hptproc.c index dd4fe8d4fdb2..62d16ca14fc6 100644 --- a/sys/dev/hptmv/hptproc.c +++ b/sys/dev/hptmv/hptproc.c @@ -636,19 +636,11 @@ out: #define xhptregister_node(name) hptregister_node(name) -#if __FreeBSD_version >= 1100024 #define hptregister_node(name) \ SYSCTL_ROOT_NODE(OID_AUTO, name, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, \ "Get/Set " #name " state root node"); \ SYSCTL_OID(_ ## name, OID_AUTO, status, \ CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_NEEDGIANT, \ NULL, 0, hpt_status, "A", "Get/Set " #name " state") -#else -#define hptregister_node(name) \ - SYSCTL_NODE(, OID_AUTO, name, CTLFLAG_RW, 0, "Get/Set " #name " state root node"); \ - SYSCTL_OID(_ ## name, OID_AUTO, status, \ - CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE, \ - NULL, 0, hpt_status, "A", "Get/Set " #name " state") -#endif - + xhptregister_node(PROC_DIR_NAME); From nobody Sat Feb 4 16:20:30 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8HnB5mHcz3nZCs; Sat, 4 Feb 2023 16:20: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 4P8HnB4YQYz44c6; Sat, 4 Feb 2023 16:20:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Ysa3E/nkIT6wNzMuAyrJMdHhYCo/GLvWxfapBGN96g=; b=UGQmCRSApRcobu53pbTQJDOAI8OUKRZehtAM3fcd27FsCS/O32X776ZzwDj2qU8aFtxJoI FKX1M9n2V1LDTtUWz6TAj0QFO7Wa8dKuoapixwSIGVZf7yKS0lrcKsDhkepnytp+oJVGg8 KwQ3ntbV0SypQ4Q2twHJFPN2xtOFUCiLdK87qsJyc0uerCPUQoJfJFY78tGERiksJMdzEH uTI8LTt77EP9kGeFmrRVk+7Cl/673rYL+ON004iQH7ciY3hUJncNDILVIvWaXZJqWvK8jf JNCU5SFF7EtMIv89hq7kqD99eLFD2IimdNagqEUoQkcyHhjew52+Cm+l0dGMDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Ysa3E/nkIT6wNzMuAyrJMdHhYCo/GLvWxfapBGN96g=; b=C9PAqKvUAPDpuQsfeG4UlNHaOMjAv+P9Zek1GkfISP2brKEkpQxHlJOh8aznkLXUMKj5E1 r9rup1/ef1nsl8nC7GdoCq9I51M9D5QnZmZJ4vB8jC9TR/00dfv+z2FbOCvJp0rltJxdM8 HY8ZBkjW9TEFtm4szRS3Pjv6PDuesKbepSelv28LDrn8qOaufclFOUGTUasrn7/d6xfxBm 6i+cX3cqD8fKBUFuG5AYruthdNOhmreHj5RAwLSaiFNztPJqrEEqrBerhkcpk9vB52nVjn apPPN3EVfCK+B0SqocEm1SW0hf8vr7eQzs1Lhf/Y4oFWeVLjiszg50PQY0LgGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527630; a=rsa-sha256; cv=none; b=j6qslmw9OljZAeBAGtEDrNCWGzEWOWeoe/pKf05wCdwlDsOtMAv2tgoR4uhYdPPf3WViQ5 b0HZC/Owu0eUp6CO+JGr9YN25B9lm6cQoZIbX3vO9ogTSZnUp/6/N62eh3pLWRXMJVOWgt r1NOZEZElt99dN2h9gBXsY5GDdMPdgxP98k+PRcyqmfLrZZ5+i7gtIyeDSXFvj5liVKjZq Uhd6hJaoFQGPV1Bi71GGO4aPjV0NusE4UQag0wKLYmU/nCgYiHULebRo/VNHfNqm9OH7Y2 DP1TVRlnjXi84BWHoXDAaWFfqmC9Zvq+BuzjZVCeXPh5m7Hy7X/KdqownTTNww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8HnB3S27zLFq; Sat, 4 Feb 2023 16:20:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKUe6013691; Sat, 4 Feb 2023 16:20:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKUIO013690; Sat, 4 Feb 2023 16:20:30 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:30 GMT Message-Id: <202302041620.314GKUIO013690@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 026babd427e6 - main - mlx4: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 026babd427e6511e53478814ce0aa1cc3f7a9988 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=026babd427e6511e53478814ce0aa1cc3f7a9988 commit 026babd427e6511e53478814ce0aa1cc3f7a9988 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:09 +0000 mlx4: purge EOL release compatibility Remove FreeBSD 10 support code. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c | 4 ---- sys/dev/mlx4/mlx4_en/mlx4_en_port.c | 12 ------------ sys/dev/mlx4/mlx4_en/mlx4_en_tx.c | 3 +-- 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c b/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c index 14289cb20e13..bae22317574b 100644 --- a/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c +++ b/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c @@ -2067,7 +2067,6 @@ out: mutex_unlock(&mdev->state_lock); VLAN_CAPABILITIES(dev); break; -#if __FreeBSD_version >= 1100036 case SIOCGI2C: { struct ifi2creq i2c; @@ -2091,7 +2090,6 @@ out: error = copyout(&i2c, ifr_data_get_ptr(ifr), sizeof(i2c)); break; } -#endif case SIOCGIFRSSKEY: ifrk = (struct ifrsskey *)data; ifrk->ifrk_func = RSS_FUNC_TOEPLITZ; @@ -2263,12 +2261,10 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, if (mdev->LSO_support) dev->if_capabilities |= IFCAP_TSO4 | IFCAP_TSO6 | IFCAP_VLAN_HWTSO; -#if __FreeBSD_version >= 1100000 /* set TSO limits so that we don't have to drop TX packets */ dev->if_hw_tsomax = MLX4_EN_TX_MAX_PAYLOAD_SIZE - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN) /* hdr */; dev->if_hw_tsomaxsegcount = MLX4_EN_TX_MAX_MBUF_FRAGS - 1 /* hdr */; dev->if_hw_tsomaxsegsize = MLX4_EN_TX_MAX_MBUF_SIZE; -#endif dev->if_capenable = dev->if_capabilities; diff --git a/sys/dev/mlx4/mlx4_en/mlx4_en_port.c b/sys/dev/mlx4/mlx4_en/mlx4_en_port.c index 2e19130b9e96..89193c68a055 100644 --- a/sys/dev/mlx4/mlx4_en/mlx4_en_port.c +++ b/sys/dev/mlx4/mlx4_en/mlx4_en_port.c @@ -346,7 +346,6 @@ int mlx4_en_DUMP_ETH_STATS(struct mlx4_en_dev *mdev, u8 port, u8 reset) vport_stats->tx_frames = be64_to_cpu(tmp_vport_stats.tx_frames); } -#if __FreeBSD_version >= 1100000 if (reset == 0) { if_inc_counter(dev, IFCOUNTER_IPACKETS, priv->pkstats.rx_packets - priv->pkstats_last.rx_packets); @@ -366,17 +365,6 @@ int mlx4_en_DUMP_ETH_STATS(struct mlx4_en_dev *mdev, u8 port, u8 reset) priv->pkstats.tx_multicast_packets - priv->pkstats_last.tx_multicast_packets); } priv->pkstats_last = priv->pkstats; -#else - dev->if_ipackets = priv->pkstats.rx_packets; - dev->if_opackets = priv->pkstats.tx_packets; - dev->if_ibytes = priv->pkstats.rx_bytes; - dev->if_obytes = priv->pkstats.tx_bytes; - dev->if_ierrors = priv->pkstats.rx_errors; - dev->if_iqdrops = priv->pkstats.rx_dropped; - dev->if_imcasts = priv->pkstats.rx_multicast_packets; - dev->if_omcasts = priv->pkstats.tx_multicast_packets; - dev->if_collisions = 0; -#endif spin_unlock(&priv->stats_lock); diff --git a/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c b/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c index 34af99ae0340..7cff1a224e9a 100644 --- a/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c +++ b/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c @@ -981,10 +981,9 @@ mlx4_en_transmit(struct ifnet *dev, struct mbuf *m) /* Poll CQ here */ mlx4_en_xmit_poll(priv, i); -#if __FreeBSD_version >= 1100000 if (unlikely(err != 0)) if_inc_counter(dev, IFCOUNTER_IQDROPS, 1); -#endif + return (err); } From nobody Sat Feb 4 16:20:29 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8HnB65lBz3nZLl; Sat, 4 Feb 2023 16:20: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 4P8HnB3wbJz44c3; Sat, 4 Feb 2023 16:20:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0XIZA1gF3KKEI9mKz0yelDwRU/KQmGbTscSMXK75AZY=; b=Cw/2nZO430xxASh5kF63x9zv9jeW1fZIyqlRiXrnbe1JT3SAa4Z7Vt+svEw9/1l3bqO1J6 3wGbsLdV+kxyg0l2U1ml6Q/4uhmogQRUeONn7IOtNCgPMnJ9qQPTVujU0sqqM18g4U1yfn gJuv2TE8+lSvUpsjv3pFbIjJYZHYOLmUeq0G9/tLuIyBQgVuIH+bsyEwAb1yOYJDjg15gK qg3UDQPi39LznLz+AIHv/eBluV+nvxzTc2VPZly5y4kW1at+QRkaP7uwxZlddU2KT+vFvQ 1E92joA53Ov3mY0FghvX8OZkJmAxaMphgJOZYXiFp082aVMJ4/tVwx6r7L8orA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0XIZA1gF3KKEI9mKz0yelDwRU/KQmGbTscSMXK75AZY=; b=n59DoTPYgtBbSmE4slJ85qB3AwFPRFveev3HUJIxm2yfXM+ktKkdaeQeMPPqwOwimbYz6g /CfyZM2A3WtfjSw9x4qZ3zputlE7Ief/TZub1Lj6IDL09ME1L7QdobrIFcq0ts8un+3Fzb QXW5eJ6Gk5YsvzJebpfE6TxrDWqsXAGnXxYK9GZ3APKBxVLk+UEXxZlh2xb2ORblpEIJ6q af76W7SJTUGKSL8NTggwBI5S33qJNUT/AZ9H+kY3cVNpqoxhwDac0wZLymF0PO075eEb90 3k9cXwDHrwxBOQINMloynTqxRA2iZoR7sMom5Ky8ld1Reekg6jS61l5pJP7M0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527630; a=rsa-sha256; cv=none; b=t2lRq3/cAdCmjuXLW4n28Dercu6Kv+tzRehlOKSaPP2bbyRPDQDJsL+815pMK2k3GvayXs eeCreSfRgDaugw+yP9DvTsGJ2wMZaJOX05ECaO4aoXoKhdlHDbErQW2RleVe2YvzSanZcI DcsxPjaBSM/O81YAtlRGOFw5D8PWcU2cQCOjmZlySIannSOzF+c3gnBLD6aqBE4ssZyo8E v4TNKRgr1c+84N6jNat7hqRfyYrMUoOLXle33Q+9pm7h8OPxlH9o8HISz0ihcAiIXeiHeb PNCT4e/ZfzOsjH25G6Davvwjp9espr0K7BylycMujqF09U8vXv9R37FtPptjUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Hn92qP0zLDm; Sat, 4 Feb 2023 16:20:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKTvg013667; Sat, 4 Feb 2023 16:20:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKTUo013666; Sat, 4 Feb 2023 16:20:29 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:29 GMT Message-Id: <202302041620.314GKTUo013666@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: b02a39778952 - main - hyperv: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b02a39778952a36fec868e94b249244d7394300f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b02a39778952a36fec868e94b249244d7394300f commit b02a39778952a36fec868e94b249244d7394300f Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:09 +0000 hyperv: purge EOL release compatibility Remove FreeBSD 11 and earlier support Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/hyperv/netvsc/if_hn.c | 72 ---------------------- sys/dev/hyperv/pcib/vmbus_pcib.c | 128 --------------------------------------- sys/dev/hyperv/vmbus/vmbus.c | 2 - sys/dev/hyperv/vmbus/vmbus_var.h | 4 -- 4 files changed, 206 deletions(-) diff --git a/sys/dev/hyperv/netvsc/if_hn.c b/sys/dev/hyperv/netvsc/if_hn.c index 63795261b21c..bd64d64963de 100644 --- a/sys/dev/hyperv/netvsc/if_hn.c +++ b/sys/dev/hyperv/netvsc/if_hn.c @@ -325,17 +325,11 @@ static void hn_nvs_handle_rxbuf(struct hn_rx_ring *, static void hn_nvs_ack_rxbuf(struct hn_rx_ring *, struct vmbus_channel *, uint64_t); -#if __FreeBSD_version >= 1100099 static int hn_lro_lenlim_sysctl(SYSCTL_HANDLER_ARGS); static int hn_lro_ackcnt_sysctl(SYSCTL_HANDLER_ARGS); -#endif static int hn_trust_hcsum_sysctl(SYSCTL_HANDLER_ARGS); static int hn_chim_size_sysctl(SYSCTL_HANDLER_ARGS); -#if __FreeBSD_version < 1100095 -static int hn_rx_stat_int_sysctl(SYSCTL_HANDLER_ARGS); -#else static int hn_rx_stat_u64_sysctl(SYSCTL_HANDLER_ARGS); -#endif static int hn_rx_stat_ulong_sysctl(SYSCTL_HANDLER_ARGS); static int hn_tx_stat_ulong_sysctl(SYSCTL_HANDLER_ARGS); static int hn_tx_conf_int_sysctl(SYSCTL_HANDLER_ARGS); @@ -526,12 +520,10 @@ SYSCTL_INT(_hw_hn, OID_AUTO, direct_tx_size, CTLFLAG_RDTUN, /* # of LRO entries per RX ring */ #if defined(INET) || defined(INET6) -#if __FreeBSD_version >= 1100095 static int hn_lro_entry_count = HN_LROENT_CNT_DEF; SYSCTL_INT(_hw_hn, OID_AUTO, lro_entry_count, CTLFLAG_RDTUN, &hn_lro_entry_count, 0, "LRO entry count"); #endif -#endif static int hn_tx_taskq_cnt = 1; SYSCTL_INT(_hw_hn, OID_AUTO, tx_taskq_cnt, CTLFLAG_RDTUN, @@ -578,11 +570,9 @@ SYSCTL_INT(_hw_hn, OID_AUTO, tx_swq_depth, CTLFLAG_RDTUN, &hn_tx_swq_depth, 0, "Depth of IFQ or BUFRING"); /* Enable sorted LRO, and the depth of the per-channel mbuf queue */ -#if __FreeBSD_version >= 1100095 static u_int hn_lro_mbufq_depth = 0; SYSCTL_UINT(_hw_hn, OID_AUTO, lro_mbufq_depth, CTLFLAG_RDTUN, &hn_lro_mbufq_depth, 0, "Depth of LRO mbuf queue"); -#endif /* Packet transmission aggregation size limit */ static int hn_tx_agg_size = -1; @@ -665,7 +655,6 @@ DRIVER_MODULE(hn, vmbus, hn_driver, 0, 0); MODULE_VERSION(hn, 1); MODULE_DEPEND(hn, vmbus, 1, 1, 1); -#if __FreeBSD_version >= 1100099 static void hn_set_lro_lenlim(struct hn_softc *sc, int lenlim) { @@ -674,7 +663,6 @@ hn_set_lro_lenlim(struct hn_softc *sc, int lenlim) for (i = 0; i < sc->hn_rx_ring_cnt; ++i) sc->hn_rx_ring[i].hn_lro.lro_length_lim = lenlim; } -#endif static int hn_txpkt_sglist(struct hn_tx_ring *txr, struct hn_txdesc *txd) @@ -1430,10 +1418,8 @@ hn_mtu_change_fixup(struct hn_softc *sc) ifp = sc->hn_ifp; hn_set_tso_maxsize(sc, hn_tso_maxlen, ifp->if_mtu); -#if __FreeBSD_version >= 1100099 if (sc->hn_rx_ring[0].hn_lro.lro_length_lim < HN_LRO_LENLIM_MIN(ifp)) hn_set_lro_lenlim(sc, HN_LRO_LENLIM_MIN(ifp)); -#endif } static uint32_t @@ -2268,7 +2254,6 @@ hn_attach(device_t dev) else if (bootverbose) device_printf(dev, "RNDIS mtu %u\n", mtu); -#if __FreeBSD_version >= 1100099 if (sc->hn_rx_ring_inuse > 1) { /* * Reduce TCP segment aggregation limit for multiple @@ -2276,7 +2261,6 @@ hn_attach(device_t dev) */ hn_set_lro_lenlim(sc, HN_LRO_LENLIM_MULTIRX_DEF); } -#endif /* * Fixup TX/RX stuffs after synthetic parts are attached. @@ -3421,12 +3405,10 @@ hv_m_append(struct mbuf *m0, int len, c_caddr_t cp) static __inline int hn_lro_rx(struct lro_ctrl *lc, struct mbuf *m) { -#if __FreeBSD_version >= 1100095 if (hn_lro_mbufq_depth) { tcp_lro_queue_mbuf(lc, m); return 0; } -#endif return tcp_lro_rx(lc, m, 0); } #endif @@ -4166,8 +4148,6 @@ hn_init(void *xsc) HN_UNLOCK(sc); } -#if __FreeBSD_version >= 1100099 - static int hn_lro_lenlim_sysctl(SYSCTL_HANDLER_ARGS) { @@ -4222,8 +4202,6 @@ hn_lro_ackcnt_sysctl(SYSCTL_HANDLER_ARGS) return 0; } -#endif - static int hn_trust_hcsum_sysctl(SYSCTL_HANDLER_ARGS) { @@ -4272,33 +4250,6 @@ hn_chim_size_sysctl(SYSCTL_HANDLER_ARGS) return 0; } -#if __FreeBSD_version < 1100095 -static int -hn_rx_stat_int_sysctl(SYSCTL_HANDLER_ARGS) -{ - struct hn_softc *sc = arg1; - int ofs = arg2, i, error; - struct hn_rx_ring *rxr; - uint64_t stat; - - stat = 0; - for (i = 0; i < sc->hn_rx_ring_cnt; ++i) { - rxr = &sc->hn_rx_ring[i]; - stat += *((int *)((uint8_t *)rxr + ofs)); - } - - error = sysctl_handle_64(oidp, &stat, 0, req); - if (error || req->newptr == NULL) - return error; - - /* Zero out this stat. */ - for (i = 0; i < sc->hn_rx_ring_cnt; ++i) { - rxr = &sc->hn_rx_ring[i]; - *((int *)((uint8_t *)rxr + ofs)) = 0; - } - return 0; -} -#else static int hn_rx_stat_u64_sysctl(SYSCTL_HANDLER_ARGS) { @@ -4325,8 +4276,6 @@ hn_rx_stat_u64_sysctl(SYSCTL_HANDLER_ARGS) return 0; } -#endif - static int hn_rx_stat_ulong_sysctl(SYSCTL_HANDLER_ARGS) { @@ -4986,9 +4935,7 @@ hn_create_rx_data(struct hn_softc *sc, int ring_cnt) struct sysctl_ctx_list *ctx; device_t dev = sc->hn_dev; #if defined(INET) || defined(INET6) -#if __FreeBSD_version >= 1100095 int lroent_cnt; -#endif #endif int i; @@ -5015,13 +4962,11 @@ hn_create_rx_data(struct hn_softc *sc, int ring_cnt) M_DEVBUF, M_WAITOK | M_ZERO); #if defined(INET) || defined(INET6) -#if __FreeBSD_version >= 1100095 lroent_cnt = hn_lro_entry_count; if (lroent_cnt < TCP_LRO_ENTRIES) lroent_cnt = TCP_LRO_ENTRIES; if (bootverbose) device_printf(dev, "LRO: entry count %d\n", lroent_cnt); -#endif #endif /* INET || INET6 */ ctx = device_get_sysctl_ctx(dev); @@ -5061,17 +5006,10 @@ hn_create_rx_data(struct hn_softc *sc, int ring_cnt) * Initialize LRO. */ #if defined(INET) || defined(INET6) -#if __FreeBSD_version >= 1100095 tcp_lro_init_args(&rxr->hn_lro, sc->hn_ifp, lroent_cnt, hn_lro_mbufq_depth); -#else - tcp_lro_init(&rxr->hn_lro); - rxr->hn_lro.ifp = sc->hn_ifp; -#endif -#if __FreeBSD_version >= 1100099 rxr->hn_lro.lro_length_lim = HN_LRO_LENLIM_DEF; rxr->hn_lro.lro_ackcnt_lim = HN_LRO_ACKCNT_DEF; -#endif #endif /* INET || INET6 */ if (sc->hn_rx_sysctl_tree != NULL) { @@ -5122,26 +5060,17 @@ hn_create_rx_data(struct hn_softc *sc, int ring_cnt) SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "lro_queued", CTLTYPE_U64 | CTLFLAG_RW | CTLFLAG_MPSAFE | CTLFLAG_STATS , sc, __offsetof(struct hn_rx_ring, hn_lro.lro_queued), -#if __FreeBSD_version < 1100095 - hn_rx_stat_int_sysctl, -#else hn_rx_stat_u64_sysctl, -#endif "LU", "LRO queued"); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "lro_flushed", CTLTYPE_U64 | CTLFLAG_RW | CTLFLAG_MPSAFE | CTLFLAG_STATS , sc, __offsetof(struct hn_rx_ring, hn_lro.lro_flushed), -#if __FreeBSD_version < 1100095 - hn_rx_stat_int_sysctl, -#else hn_rx_stat_u64_sysctl, -#endif "LU", "LRO flushed"); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "lro_tried", CTLTYPE_ULONG | CTLFLAG_RW | CTLFLAG_MPSAFE | CTLFLAG_STATS , sc, __offsetof(struct hn_rx_ring, hn_lro_tried), hn_rx_stat_ulong_sysctl, "LU", "# of LRO tries"); -#if __FreeBSD_version >= 1100099 SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "lro_length_lim", CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc, 0, hn_lro_lenlim_sysctl, "IU", @@ -5150,7 +5079,6 @@ hn_create_rx_data(struct hn_softc *sc, int ring_cnt) CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc, 0, hn_lro_ackcnt_sysctl, "I", "Max # of ACKs to be aggregated by LRO"); -#endif SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "trust_hosttcp", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc, HN_TRUST_HCSUM_TCP, hn_trust_hcsum_sysctl, "I", diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c b/sys/dev/hyperv/pcib/vmbus_pcib.c index 6d0601fd2d3f..d68ad6821ad8 100644 --- a/sys/dev/hyperv/pcib/vmbus_pcib.c +++ b/sys/dev/hyperv/pcib/vmbus_pcib.c @@ -84,11 +84,6 @@ __FBSDID("$FreeBSD$"); #include "vmbus_if.h" -#if __FreeBSD_version < 1100000 -typedef u_long rman_res_t; -#define RM_MAX_END (~(rman_res_t)0) -#endif - struct completion { unsigned int done; struct mtx lock; @@ -718,131 +713,12 @@ err: return (NULL); } -#if __FreeBSD_version < 1100000 - -/* Old versions don't have BUS_RESCAN(). Let's copy it from FreeBSD 11. */ - -static struct pci_devinfo * -pci_identify_function(device_t pcib, device_t dev, int domain, int busno, - int slot, int func, size_t dinfo_size) -{ - struct pci_devinfo *dinfo; - - dinfo = pci_read_device(pcib, domain, busno, slot, func, dinfo_size); - if (dinfo != NULL) - pci_add_child(dev, dinfo); - - return (dinfo); -} - -static int -pci_rescan(device_t dev) -{ -#define REG(n, w) PCIB_READ_CONFIG(pcib, busno, s, f, n, w) - device_t pcib = device_get_parent(dev); - struct pci_softc *sc; - device_t child, *devlist, *unchanged; - int devcount, error, i, j, maxslots, oldcount; - int busno, domain, s, f, pcifunchigh; - uint8_t hdrtype; - - /* No need to check for ARI on a rescan. */ - error = device_get_children(dev, &devlist, &devcount); - if (error) - return (error); - if (devcount != 0) { - unchanged = malloc(devcount * sizeof(device_t), M_TEMP, - M_NOWAIT | M_ZERO); - if (unchanged == NULL) { - free(devlist, M_TEMP); - return (ENOMEM); - } - } else - unchanged = NULL; - - sc = device_get_softc(dev); - domain = pcib_get_domain(dev); - busno = pcib_get_bus(dev); - maxslots = PCIB_MAXSLOTS(pcib); - for (s = 0; s <= maxslots; s++) { - /* If function 0 is not present, skip to the next slot. */ - f = 0; - if (REG(PCIR_VENDOR, 2) == 0xffff) - continue; - pcifunchigh = 0; - hdrtype = REG(PCIR_HDRTYPE, 1); - if ((hdrtype & PCIM_HDRTYPE) > PCI_MAXHDRTYPE) - continue; - if (hdrtype & PCIM_MFDEV) - pcifunchigh = PCIB_MAXFUNCS(pcib); - for (f = 0; f <= pcifunchigh; f++) { - if (REG(PCIR_VENDOR, 2) == 0xffff) - continue; - - /* - * Found a valid function. Check if a - * device_t for this device already exists. - */ - for (i = 0; i < devcount; i++) { - child = devlist[i]; - if (child == NULL) - continue; - if (pci_get_slot(child) == s && - pci_get_function(child) == f) { - unchanged[i] = child; - goto next_func; - } - } - - pci_identify_function(pcib, dev, domain, busno, s, f, - sizeof(struct pci_devinfo)); - next_func:; - } - } - - /* Remove devices that are no longer present. */ - for (i = 0; i < devcount; i++) { - if (unchanged[i] != NULL) - continue; - device_delete_child(dev, devlist[i]); - } - - free(devlist, M_TEMP); - oldcount = devcount; - - /* Try to attach the devices just added. */ - error = device_get_children(dev, &devlist, &devcount); - if (error) { - free(unchanged, M_TEMP); - return (error); - } - - for (i = 0; i < devcount; i++) { - for (j = 0; j < oldcount; j++) { - if (devlist[i] == unchanged[j]) - goto next_device; - } - - device_probe_and_attach(devlist[i]); - next_device:; - } - - free(unchanged, M_TEMP); - free(devlist, M_TEMP); - return (0); -#undef REG -} - -#else - static int pci_rescan(device_t dev) { return (BUS_RESCAN(dev)); } -#endif - static void pci_devices_present_work(void *arg, int pending __unused) { @@ -1854,14 +1730,12 @@ vmbus_pcib_release_resource(device_t dev, device_t child, int type, int rid, return (bus_generic_release_resource(dev, child, type, rid, r)); } -#if __FreeBSD_version >= 1100000 static int vmbus_pcib_get_cpus(device_t pcib, device_t dev, enum cpu_sets op, size_t setsize, cpuset_t *cpuset) { return (bus_get_cpus(pcib, op, setsize, cpuset)); } -#endif static uint32_t vmbus_pcib_read_config(device_t dev, u_int bus, u_int slot, u_int func, @@ -2104,9 +1978,7 @@ static device_method_t vmbus_pcib_methods[] = { DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), -#if __FreeBSD_version >= 1100000 DEVMETHOD(bus_get_cpus, vmbus_pcib_get_cpus), -#endif /* pcib interface */ DEVMETHOD(pcib_maxslots, pcib_maxslots), diff --git a/sys/dev/hyperv/vmbus/vmbus.c b/sys/dev/hyperv/vmbus/vmbus.c index f370f2a75b99..c349f862d378 100644 --- a/sys/dev/hyperv/vmbus/vmbus.c +++ b/sys/dev/hyperv/vmbus/vmbus.c @@ -183,9 +183,7 @@ static device_method_t vmbus_methods[] = { DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), -#if __FreeBSD_version >= 1100000 DEVMETHOD(bus_get_cpus, bus_generic_get_cpus), -#endif /* pcib interface */ DEVMETHOD(pcib_alloc_msi, vmbus_alloc_msi), diff --git a/sys/dev/hyperv/vmbus/vmbus_var.h b/sys/dev/hyperv/vmbus/vmbus_var.h index 664d5538faa7..c89d26d7aaf5 100644 --- a/sys/dev/hyperv/vmbus/vmbus_var.h +++ b/sys/dev/hyperv/vmbus/vmbus_var.h @@ -81,10 +81,6 @@ struct vmbus_pcpu_data { struct task message_task; /* message task */ } __aligned(CACHE_LINE_SIZE); -#if __FreeBSD_version < 1100000 -typedef u_long rman_res_t; -#endif - struct vmbus_softc { void (*vmbus_event_proc)(struct vmbus_softc *, int); u_long *vmbus_tx_evtflags; From nobody Sat Feb 4 16:20:31 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8HnD2nNfz3nZNk; Sat, 4 Feb 2023 16:20:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8HnC6shRz44Yh; Sat, 4 Feb 2023 16:20:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RWMWGjU62qFl7g9gknrsipXqM+F2kmSYrg3COx0RSMA=; b=OIBz0qiUdzMwgVR8hXsuA+DuPOFjtLziBwwZGIbUNL5U/Iv88sQFYkUTR0zfcVPdV8sKO5 TPVkGv4wFDdn+DrMwEgxPJm/N6noCBo2bqEK1UGJ2a4JtCDyip/r95+fMIezT8U3QtW6xM qWwoDLcp9UqN3016BOnNlsOycvBl2n9YoCXWStrwrDYmlhcgkH9xkasI56kQ7O4lGAIkoo 3xct9VVurBTeoIR/X5pjuO+paEq2c1TVac8paV+ju4RAEPgRgcl7op7g1gwbtN5j+lFIW1 isrqG6+uUYgHB3ZfxLETS4uuYvbVqVLZ611X1fn9xMHzgQ3Uc/uH84yiVpoqyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RWMWGjU62qFl7g9gknrsipXqM+F2kmSYrg3COx0RSMA=; b=rswqA/ZYidTAzVIuWGHnnGAANb1RJC1RUHPyS0U0K98a4o7iAdBbSyRCXwBVG8LFiGo/qx Kkjb7tdiJ3UBSoDWncp3BVPS7ztURpjZyp26+5VGGyCM3Y3DNzVTfjTjXqDG3lH0j1CxwU 9jL7odRcJqFDOMaMFs8cGahcRSbliY5nuRk0kpoi3GmxstRrFUSoism9WvdekM//SyDdrA UhWyENUSaLAP+yXFPIDYw1l+KD/i5sU3mc3CiXneDe/ExgSsXUmPu4N9PQtAh0uTCdU5Jk 5CmtR4J7olJx3A0TTtyTQ0xY/O+1KHB6LCRGu0rG6uUSKmO0hSCGjs1gAtDdlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527632; a=rsa-sha256; cv=none; b=B9/yfQeEHf/OnE/rVpxwW6Ysm50osZDH5RIGUvzPFfjKHBQ64N7MdIkrS8kOvhIazf3V6l J0EG58WyispDVb+OwKf19odjqdzgZr+30lwSSh2DUA881h5DTJF8zZkfFugehaqYRz8twH EbVGHuUTbenb7NrBa2AIkTa3Timwh4ZsIuJXAwHGNyPtdhYE7DNvwUJhSB2lSkGCBjEzkU 7ie+oU833gw1dX+YiGPZCoPIhycfaEwbHzJMfmY5OasNFaeuiwemWLIUyvv8IWQBhy37k8 /0NETXN7pB1lELinjEdas1pd3KgXaScWnRWYLt0kkhraPr5FxNc4xoTrTGkQmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8HnC4S87zLkJ; Sat, 4 Feb 2023 16:20:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKVuq013716; Sat, 4 Feb 2023 16:20:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKVgm013715; Sat, 4 Feb 2023 16:20:31 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:31 GMT Message-Id: <202302041620.314GKVgm013715@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 1c5e68711760 - main - mlx5: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1c5e68711760712e5ddb95b138179bec65b314f8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1c5e68711760712e5ddb95b138179bec65b314f8 commit 1c5e68711760712e5ddb95b138179bec65b314f8 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:09 +0000 mlx5: purge EOL release compatibility Remove FreeBSD 10 support code Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/mlx5/mlx5_fpga/mlx5fpga_core.c | 2 -- sys/dev/mlx5/mlx5_fpga_tools/mlx5fpga_tools_main.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/sys/dev/mlx5/mlx5_fpga/mlx5fpga_core.c b/sys/dev/mlx5/mlx5_fpga/mlx5fpga_core.c index 402a212d2f3d..26022ad09f74 100644 --- a/sys/dev/mlx5/mlx5_fpga/mlx5fpga_core.c +++ b/sys/dev/mlx5/mlx5_fpga/mlx5fpga_core.c @@ -568,8 +568,6 @@ void mlx5_fpga_client_unregister(struct mlx5_fpga_client *client) } EXPORT_SYMBOL(mlx5_fpga_client_unregister); -#if (__FreeBSD_version >= 1100000) MODULE_DEPEND(mlx5fpga, linuxkpi, 1, 1, 1); -#endif MODULE_DEPEND(mlx5fpga, mlx5, 1, 1, 1); MODULE_VERSION(mlx5fpga, 1); diff --git a/sys/dev/mlx5/mlx5_fpga_tools/mlx5fpga_tools_main.c b/sys/dev/mlx5/mlx5_fpga_tools/mlx5fpga_tools_main.c index 6cd165c434f9..f0d31c4affee 100644 --- a/sys/dev/mlx5/mlx5_fpga_tools/mlx5fpga_tools_main.c +++ b/sys/dev/mlx5/mlx5_fpga_tools/mlx5fpga_tools_main.c @@ -36,9 +36,7 @@ #include #include -#if (__FreeBSD_version >= 1100000) MODULE_DEPEND(mlx5fpga_tools, linuxkpi, 1, 1, 1); -#endif MODULE_DEPEND(mlx5fpga_tools, mlx5, 1, 1, 1); MODULE_DEPEND(mlx5fpga_tools, mlx5fpga, 1, 1, 1); MODULE_VERSION(mlx5fpga_tools, 1); From nobody Sat Feb 4 16:20:32 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8HnF2wYxz3nZGB; Sat, 4 Feb 2023 16:20:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8HnF0c31z44WZ; Sat, 4 Feb 2023 16:20:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527633; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hk8IrUi3tXdq6U8zqdaspjE0W1T78S7T3YtwQQhMDTk=; b=CunHlfgao3PbBMm7hcdzRfsMPa1z1PpARVPFjLs0auBtwoNhwP9w9NVRCxE4let8uF66c+ VboVzYTx2+ykP+Rw9/TmMQhVHlGVpr74vGivBF4brGpPdGcEbjC80lOcslYwvQw3ZSB7mq FDGBPsciuu51JLWWQ2IsNFRmnfk+SndxDaBAySZcgBS0rSNngoladAWOcJFsiq2dTS1/Gm qVBuutZmCIHuVtxOKygqw3lUSClDW/eZu/IBw12+vAYd7OeEWX2o7OrSMP0TxBvzuKcgwE ptVA+AFXe57iY5tPWFgZy0A1bfFNotIwKxTyhZiWWyeGxIvFSkd8Tui5NhM5Dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527633; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hk8IrUi3tXdq6U8zqdaspjE0W1T78S7T3YtwQQhMDTk=; b=KPS+V79VGAlRfJrEfMYNsucj2uUxFQ6TsJfjuZJoByIRuPtTLHaz1F9dnKPWNWz8uxSUYo L1b+SIDzV2eF+ttbapIG1AuMxy2Emnqk5RZcgxbKLPXZdQ9w3N/FxDFDfvw5WlmS2ax61O 1R1eRBjUI/4RV5kyEmN/B4SkFE0CduPufZqqGACSBYLtGBu7yGrZvnuABNKom/KZRewQHY gpZhKxAjWXfM1QoiC9CBgl6Y7mqtJlz5uBFDtFJEjYxzDWj4HHNVSZmBrriQlbvdhU+xed HvuH/548YSx5MusU9ZuJ3MuZ8mDbiFcprdiSJtToxXQ5Ov4mGyaujvAGeB9SGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527633; a=rsa-sha256; cv=none; b=JHGtY7zFYZ6cK0z1cZ/0Vc/Zoav3loA7ncvRSjyqdtfJZqdcwXB3/cacMGMvKUHPJTvxVP OkmGYz+BoLdZd3hDIptFgUY0gGvIUWpKmo+9WB385RA17xdCmAIe72JfozhUp890DwaSsz kdOLblz3XAJEraWKMudx9YpCDbKCLaCHuIWjg/WNKLpHVxcbiInzOfzYxFXPBf+9+D8CtA BCKPlRNTpNKqXhs2QKOmf3f5rVklHl4i/V18Wdq6SFymxTt3ihxwxVocKyslPwb3nIUulD v/Wa1W40mMKvbEbr2b2TNbPjV+Wjf66LH2TV4he22bAKuhaIcGaKaqJ4DvdM2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8HnD5hKwzLK9; Sat, 4 Feb 2023 16:20:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKWQ8013740; Sat, 4 Feb 2023 16:20:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKW5S013739; Sat, 4 Feb 2023 16:20:32 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:32 GMT Message-Id: <202302041620.314GKW5S013739@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 263261e5196c - main - rtsx: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 263261e5196c7d1403a2bf06fd85e72188cd5337 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=263261e5196c7d1403a2bf06fd85e72188cd5337 commit 263261e5196c7d1403a2bf06fd85e72188cd5337 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:09 +0000 rtsx: purge EOL release compatibility Remove support for FreeBSD 11 and earlier Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/rtsx/rtsxreg.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/dev/rtsx/rtsxreg.h b/sys/dev/rtsx/rtsxreg.h index 6032570e64e4..2c86e563f433 100644 --- a/sys/dev/rtsx/rtsxreg.h +++ b/sys/dev/rtsx/rtsxreg.h @@ -28,10 +28,6 @@ #ifndef _RTSXREG_H_ #define _RTSXREG_H_ -#if __FreeBSD_version < 1200000 -#define IO_SEND_OP_COND 5 -#endif - /* Host command buffer control register. */ #define RTSX_HCBAR 0x00 #define RTSX_HCBCTLR 0x04 From nobody Sat Feb 4 16:20:33 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8HnG1S8Cz3nZGG; Sat, 4 Feb 2023 16:20:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8HnG0dBDz44g4; Sat, 4 Feb 2023 16:20:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Egx2/zf9gnFWj5RHLdrNWBDT852BSSMX2MVYmklayg8=; b=ZvmjyJgOYE88t9v4iPURs5eQ8m5JOS/4lRfJB7k38Mh0oT3WYcUOhK3YcVBVEvbmpOFxrh hMb3xHaCSnkkAJ1gf+51XWHnm53hFxwiBsVVHCCYtfOf6h/rg2Q6hI1oZPzaliEpWP+zyS zqsgqBlmbxiaScNOgHBhZ8mGKkuC+bU7vU0+bp/S5VqUrYTcOVM9go4Xr5OtjWQgIduGwW OrK2QKIxtKjYsJjo2WgvPLjOYji97mD9ekVhz7WoLaV0BNTcNUn5gwTEX3Awe56SXEk8+d XqossQJ7+GGtsb7uVGgrO2jTH5bNP4QbSHzCiT1xIVrj7Akx8SHHvAsPT6oq8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527634; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Egx2/zf9gnFWj5RHLdrNWBDT852BSSMX2MVYmklayg8=; b=kaWhLh5GdhKKpNNAWu4ycVtHe+1i0bywUEtiJcJe99j4z8QvNe0g1FfmH7AjaPFlA2Ijbw wnHEN5EN4Ib3i2CYc3CnDcMpg0jW85+zKVkC2xAE9vJhcKFZGrQsRRxIMLvQxq89MBv4tB RT9+JL07ARq3rMgg09D7Hr8pl5xExUUU0GKJVl4gQML7gg9/Q7H89YgYSyGxcsVj5Gz/x5 QKIjjE1M9F6SS7gF2EeWxgWyPVywo5EmzhunI/PZ1SZ+mH1mT1z6zdb8pFmWK3oGLsxNn8 Q0GGuofjwEvs8gDempWpBMSuBnq1aXnSzvDV6s1n1chguL3DKpllloLPHfeL5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527634; a=rsa-sha256; cv=none; b=C7/6cpmNdxpC96QscOSqXLu4C5dRjGxW+PbpR02tO7L0hwGWUjcwwoslK9DQ1hlzJvZZNG slE1Ie4ux0ANKCNlcpTcw+ZdTfbvbRGbyNd4N84EADdgIbbRaQsKnRASAECn+1h3yACR3H WeJfOmq6KFBPzosEqlGPKgSze9YmsPw4oyH7D/DhuB1C3XZtAp2L2ysNVGgR0k38Sfv6g0 wLjIoiMUYweq8yBhRjs8ZWKjdBskQ7tageeiyUBWP4kcyo94+U0N1gD7eS9EuxN7idf5rf dG0H3tq9+CkO5tXPIxQ1qVy0zqjkOT8hufAysBXh9jAJBuP0JsLkHFjuVaDuwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8HnF6Vp9zLVR; Sat, 4 Feb 2023 16:20:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKXBQ013770; Sat, 4 Feb 2023 16:20:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKXwr013769; Sat, 4 Feb 2023 16:20:33 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:33 GMT Message-Id: <202302041620.314GKXwr013769@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: d27d543c7845 - main - vmm: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d27d543c78452b66f6324870e4a49e7285b049dd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d27d543c78452b66f6324870e4a49e7285b049dd commit d27d543c78452b66f6324870e4a49e7285b049dd Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:10 +0000 vmm: purge EOL release compatibility Remove FreeBSD 11 support Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/amd64/vmm/x86.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/sys/amd64/vmm/x86.c b/sys/amd64/vmm/x86.c index d99fb391afba..2d1b2385d1e8 100644 --- a/sys/amd64/vmm/x86.c +++ b/sys/amd64/vmm/x86.c @@ -61,16 +61,6 @@ static uint64_t bhyve_xcpuids; SYSCTL_ULONG(_hw_vmm, OID_AUTO, bhyve_xcpuids, CTLFLAG_RW, &bhyve_xcpuids, 0, "Number of times an unknown cpuid leaf was accessed"); -#if __FreeBSD_version < 1200060 /* Remove after 11 EOL helps MFCing */ -extern u_int threads_per_core; -SYSCTL_UINT(_hw_vmm_topology, OID_AUTO, threads_per_core, CTLFLAG_RDTUN, - &threads_per_core, 0, NULL); - -extern u_int cores_per_package; -SYSCTL_UINT(_hw_vmm_topology, OID_AUTO, cores_per_package, CTLFLAG_RDTUN, - &cores_per_package, 0, NULL); -#endif - static int cpuid_leaf_b = 1; SYSCTL_INT(_hw_vmm_topology, OID_AUTO, cpuid_leaf_b, CTLFLAG_RDTUN, &cpuid_leaf_b, 0, NULL); From nobody Sat Feb 4 16:20:34 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8HnH20H4z3nZ9q; Sat, 4 Feb 2023 16:20: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 4P8HnH1DK9z44jw; Sat, 4 Feb 2023 16:20:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VQ8cIdh/Gl31lDaYiyl0UhX5JAyVZwO+e07Miv0pnGk=; b=QPOA0wBYns3H90Tm6kmrWUipLGWX6Tb3B8Ex8hJoWp15TwRTGJY/rY55RK7NLkp500nxsS dPofMQuwoABgiSXb3xrGxKyfwRAHdn5gz2GGLdjkwIf/kjPQonH/q5q+scn0EIk6naIWVx IQw3sAOFcOJgnEC980ggE9AtsefGbTN0v207f+TWx184+FvQ769mKqka1qEHt9hoj5JL1j A012MLYcdbuK6uqiiaTPy3WzfWuIofYSzEzLq4kZyC3/KHnV8QaVo1/tECZH1uXnZwL2Wp YmwI90bAy0biC/dhkx4LG4wfKcyPSnmZr+kXnkEGEi4iYa0jdFEIiKdrwWvITQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VQ8cIdh/Gl31lDaYiyl0UhX5JAyVZwO+e07Miv0pnGk=; b=SYyHysY2eQA6dBt/kq/+OGArksJ8X7XOpBiUixOtE7UAoVUxxtJXH36DONuM+tRcqp7W1Y UV/lgCoL1emRPh+1TbvYDvJbfRJdmIjB6zUd5OQtyTah4v1WneIWOmTm5u+gIuD1QC7963 WcASJbddjXTtFqmcEv9yXKEU+CWMeyVrFoytz86fQhoD+hefaOceWWuZg1dADq/IOmnXGP Dip1t05OYEQ0GurPxDHiF9ovY1xmwezl25aeWvp3/m+pwag0T+9wRiAPw6sNNsOFt1QCDJ hS9YK6BAGLQKsoBfo8ooZqE3O7yQhzfeQYy9j9IjyGPgiX97SnbQftC6nVAnRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527635; a=rsa-sha256; cv=none; b=WYvmZX+jXiGQu8Kyyf/b0flkOSDJRMRGMd7gEAPiE88oPsOnORylR8J/hFpWJ0ZQ7vQAhd bplzYl9XfmwH8ygT/2tC7udknsRbfXGhyvYv5nrTNVi7soWa3Iv9pjrGRt+pTybyU+1ERG uiepXGlhiFDkylxPN8CZmyYOkPb2V+jxnEcAnSwpARRTB5VKF6GjX2eKEqQZ/od5mykx0d dBPkmaAYkSPAjdL1qKNsZsSUUqblyu3e0nZmrAKYAlQ+g7EmburaGX/FhyUY6DSpSMdne5 wqc94dds2YWbv8Y8kbkbfORJ2Cg4KZb2aDXmgz8HpXUZ/Umr5Cbbk8cDFqAu6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8HnH03JCzLkL; Sat, 4 Feb 2023 16:20:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKYnQ013794; Sat, 4 Feb 2023 16:20:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKYb7013793; Sat, 4 Feb 2023 16:20:34 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:34 GMT Message-Id: <202302041620.314GKYb7013793@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 5fa183351459 - main - wmt: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5fa183351459996cfb86f8621de1a0e1bf985d67 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5fa183351459996cfb86f8621de1a0e1bf985d67 commit 5fa183351459996cfb86f8621de1a0e1bf985d67 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:10 +0000 wmt: purge EOL release compatibility Remove FreeBSD 11 support Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/usb/input/wmt.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/sys/dev/usb/input/wmt.c b/sys/dev/usb/input/wmt.c index 5fedd846d258..ac4bf5ca695b 100644 --- a/sys/dev/usb/input/wmt.c +++ b/sys/dev/usb/input/wmt.c @@ -261,22 +261,12 @@ static device_probe_t wmt_probe; static device_attach_t wmt_attach; static device_detach_t wmt_detach; -#if __FreeBSD_version >= 1200077 static evdev_open_t wmt_ev_open; static evdev_close_t wmt_ev_close; -#else -static evdev_open_t wmt_ev_open_11; -static evdev_close_t wmt_ev_close_11; -#endif static const struct evdev_methods wmt_evdev_methods = { -#if __FreeBSD_version >= 1200077 .ev_open = &wmt_ev_open, .ev_close = &wmt_ev_close, -#else - .ev_open = &wmt_ev_open_11, - .ev_close = &wmt_ev_close_11, -#endif }; static const struct usb_config wmt_config[WMT_N_TRANSFER] = { @@ -719,7 +709,6 @@ wmt_ev_open_11(struct evdev_dev *evdev, void *ev_softc) return (0); } -#if __FreeBSD_version >= 1200077 static int wmt_ev_close(struct evdev_dev *evdev) { @@ -738,7 +727,6 @@ wmt_ev_open(struct evdev_dev *evdev) return (wmt_ev_open_11(evdev, sc)); } -#endif static enum wmt_type wmt_hid_parse(struct wmt_softc *sc, const void *d_ptr, uint16_t d_len) From nobody Sat Feb 4 16:20:36 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8HnJ3q2Gz3nZLx; Sat, 4 Feb 2023 16:20: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 4P8HnJ1k4nz44XL; Sat, 4 Feb 2023 16:20:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fTUdv1p9OXt72dD+kyMLF0o9VjP37wy8xGGMrMk+ADs=; b=anxxwdLB+qdu6+URap1im/fqU3BJrUS6MpLib+3cIBtKAKHWfD9vGjNxLFCagC/I7uf+a6 DVEKXaE9twOq+0lA5kog8gHPXljMPLfC6Mh06jqE4cDw+DJfUDJqxdu+vDO4J8Vfy2/zfJ FpXwbiN/Vvd6zldIZE6oatCtvQn4c4eL05inB47c+/1DcS4Wn/NTdroWyn/rH6uJ942oqc SY8ix23eUqwqJO3JYSVAIGrfARCvhqfjc+2MkPV7KRniCrR7XYlvtVrXo2twsaEIn3WYtv M+UVhWpSSJeNBKqwZ8hqWgL9agCKJF8Of481s3Td/StOOluWkGIaLK5/8+qh3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675527636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fTUdv1p9OXt72dD+kyMLF0o9VjP37wy8xGGMrMk+ADs=; b=TVIQzTWiGe4Hol9mEtQMbfdpaBRIGnDqBO2yxC3DQxCjdjPj41bEM6pkuwbfr8qmhJsXAe JdSR5R+AZ04MSBugA6nOJ+XJLjfkR9VlLX2lFQcQjuso/WwQUQEBMdHiyC5YcVts58mQbV Qg4aHLgjLZxutGGOYCaC3lcHStIJvcjzvLnGg13uXWyahj/vQ107HzuHcz6qLblBxuLIjm QY1/K6S4keFV+A92hhYUy07ohg0jdNUt9nJsqLyu4cNF4MSYxVyTWXWlP6Sv0c72e0cHE4 s5VAfW/gPLjDMGb4u71coNOfaD4aUhxTMKu/+THTxESUvhXhS3krOr4uP771OQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675527636; a=rsa-sha256; cv=none; b=GJeED1NJYWtQoWRc2CzjxVeU2Zs7otaXguaCdYYCqh3wknYcZ7FQgYKsx4g643SDlrpL1w 4g7rv1ibG9Aw/liVfenDI6fkhId8YQ2HPRFoX64xl4dDhejvcXwDBDkfE+S9OI61Zd3Q9b gwZxc5mpOvjGnuMKKyjStyf460K5ptNAlMT6QN+MEYFAUve6FpM6C2WX0KeSrT2VGPmH6s VnQbakqzC7Aqnzl9Rb7tGToLgt5FU5DIgGWUkICnWislRBM2qTjABII33EkYWUDJ5eBDGd mb9Sg+v029nBLbz4SPqcOAyeK0R8y2vKifSNeeZK2T+5d/umnI9YXn9euY9iXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8HnJ0r2VzLfX; Sat, 4 Feb 2023 16:20:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314GKaPA013831; Sat, 4 Feb 2023 16:20:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314GKajC013830; Sat, 4 Feb 2023 16:20:36 GMT (envelope-from git) Date: Sat, 4 Feb 2023 16:20:36 GMT Message-Id: <202302041620.314GKajC013830@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: da6ae2cf1750 - main - rtwm: purge EOL release compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: da6ae2cf17501da968976b095d2a744045ccb870 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=da6ae2cf17501da968976b095d2a744045ccb870 commit da6ae2cf17501da968976b095d2a744045ccb870 Author: Elliott Mitchell AuthorDate: 2022-06-23 00:53:47 +0000 Commit: Warner Losh CommitDate: 2023-02-04 16:13:10 +0000 rtwm: purge EOL release compatibility Remove FreeBSD 11 support Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560 --- sys/dev/rtwn/if_rtwn_cam.c | 19 ------------------- sys/dev/rtwn/rtl8188e/r88e_rx.c | 13 ------------- sys/dev/rtwn/rtl8192c/r92c_fw.c | 13 ------------- sys/dev/rtwn/rtl8812a/r12a_rx.c | 13 ------------- 4 files changed, 58 deletions(-) diff --git a/sys/dev/rtwn/if_rtwn_cam.c b/sys/dev/rtwn/if_rtwn_cam.c index 6ee630533675..febb93fa97fd 100644 --- a/sys/dev/rtwn/if_rtwn_cam.c +++ b/sys/dev/rtwn/if_rtwn_cam.c @@ -117,11 +117,7 @@ rtwn_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k, if (&vap->iv_nw_keys[0] <= k && k < &vap->iv_nw_keys[IEEE80211_WEP_NKID]) { -#if __FreeBSD_version > 1200018 *keyix = ieee80211_crypto_get_key_wepidx(vap, k); -#else - *keyix = k - vap->iv_nw_keys; -#endif if (sc->sc_hwcrypto != RTWN_CRYPTO_FULL) k->wk_flags |= IEEE80211_KEY_SWCRYPT; else { @@ -176,15 +172,9 @@ rtwn_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k, } RTWN_UNLOCK(sc); if (i == sc->cam_entry_limit) { -#if __FreeBSD_version > 1200008 /* XXX check and remove keys with the same MAC address */ k->wk_flags |= IEEE80211_KEY_SWCRYPT; *keyix = 0; -#else - device_printf(sc->sc_dev, - "%s: no free space in the key table\n", __func__); - return (0); -#endif } end: @@ -322,16 +312,7 @@ rtwn_process_key(struct ieee80211vap *vap, const struct ieee80211_key *k, if (&vap->iv_nw_keys[0] <= k && k < &vap->iv_nw_keys[IEEE80211_WEP_NKID]) { -#if __FreeBSD_version <= 1200008 - struct ieee80211_key *k1 = &vap->iv_nw_keys[k->wk_keyix]; - - if (sc->sc_hwcrypto != RTWN_CRYPTO_FULL) { - k1->wk_flags |= IEEE80211_KEY_SWCRYPT; - return (k->wk_cipher->ic_setkey(k1)); - } else { -#else if (sc->sc_hwcrypto == RTWN_CRYPTO_FULL) { -#endif struct rtwn_vap *rvp = RTWN_VAP(vap); RTWN_LOCK(sc); diff --git a/sys/dev/rtwn/rtl8188e/r88e_rx.c b/sys/dev/rtwn/rtl8188e/r88e_rx.c index 16510839bd44..ec6174e3df00 100644 --- a/sys/dev/rtwn/rtl8188e/r88e_rx.c +++ b/sys/dev/rtwn/rtl8188e/r88e_rx.c @@ -77,9 +77,7 @@ r88e_classify_intr(struct rtwn_softc *sc, void *buf, int len) void r88e_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) { -#if __FreeBSD_version >= 1200012 struct ieee80211_ratectl_tx_status txs; -#endif struct r88e_tx_rpt_ccx *rpt; struct ieee80211_node *ni; uint8_t macid; @@ -120,7 +118,6 @@ r88e_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) (rpt->rptb1 & R88E_RPTB1_PKT_OK) ? "" : " not", ntries); -#if __FreeBSD_version >= 1200012 txs.flags = IEEE80211_RATECTL_STATUS_LONG_RETRY | IEEE80211_RATECTL_STATUS_FINAL_RATE; txs.long_retries = ntries; @@ -139,16 +136,6 @@ r88e_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) else txs.status = IEEE80211_RATECTL_TX_FAIL_UNSPECIFIED; ieee80211_ratectl_tx_complete(ni, &txs); -#else - struct ieee80211vap *vap = ni->ni_vap; - if (rpt->rptb1 & R88E_RPTB1_PKT_OK) { - ieee80211_ratectl_tx_complete(vap, ni, - IEEE80211_RATECTL_TX_SUCCESS, &ntries, NULL); - } else { - ieee80211_ratectl_tx_complete(vap, ni, - IEEE80211_RATECTL_TX_FAILURE, &ntries, NULL); - } -#endif } else { RTWN_DPRINTF(sc, RTWN_DEBUG_INTR, "%s: macid %u, ni is NULL\n", __func__, macid); diff --git a/sys/dev/rtwn/rtl8192c/r92c_fw.c b/sys/dev/rtwn/rtl8192c/r92c_fw.c index 7ad6d7d2dfe6..be284ff91c61 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_fw.c +++ b/sys/dev/rtwn/rtl8192c/r92c_fw.c @@ -364,9 +364,7 @@ r92c_set_rssi(struct rtwn_softc *sc) static void r92c_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) { -#if __FreeBSD_version >= 1200012 struct ieee80211_ratectl_tx_status txs; -#endif struct r92c_c2h_tx_rpt *rpt; struct ieee80211_node *ni; uint8_t macid; @@ -412,7 +410,6 @@ r92c_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) (rpt->rptb7 & R92C_RPTB7_PKT_OK) ? "" : " not", ntries); -#if __FreeBSD_version >= 1200012 txs.flags = IEEE80211_RATECTL_STATUS_LONG_RETRY; txs.long_retries = ntries; if (rpt->rptb7 & R92C_RPTB7_PKT_OK) @@ -424,16 +421,6 @@ r92c_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) else txs.status = IEEE80211_RATECTL_TX_FAIL_UNSPECIFIED; ieee80211_ratectl_tx_complete(ni, &txs); -#else - struct ieee80211vap *vap = ni->ni_vap; - if (rpt->rptb7 & R92C_RPTB7_PKT_OK) { - ieee80211_ratectl_tx_complete(vap, ni, - IEEE80211_RATECTL_TX_SUCCESS, &ntries, NULL); - } else { - ieee80211_ratectl_tx_complete(vap, ni, - IEEE80211_RATECTL_TX_FAILURE, &ntries, NULL); - } -#endif } else { RTWN_DPRINTF(sc, RTWN_DEBUG_INTR, "%s: macid %u, ni is NULL\n", __func__, macid); diff --git a/sys/dev/rtwn/rtl8812a/r12a_rx.c b/sys/dev/rtwn/rtl8812a/r12a_rx.c index 98e0cabdff7c..ebe299214e98 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_rx.c +++ b/sys/dev/rtwn/rtl8812a/r12a_rx.c @@ -66,9 +66,7 @@ __FBSDID("$FreeBSD$"); void r12a_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) { -#if __FreeBSD_version >= 1200012 struct ieee80211_ratectl_tx_status txs; -#endif struct r12a_c2h_tx_rpt *rpt; struct ieee80211_node *ni; int ntries; @@ -108,7 +106,6 @@ r12a_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) (rpt->txrptb0 & (R12A_TXRPTB0_RETRY_OVER | R12A_TXRPTB0_LIFE_EXPIRE)) ? " not" : "", ntries); -#if __FreeBSD_version >= 1200012 txs.flags = IEEE80211_RATECTL_STATUS_LONG_RETRY | IEEE80211_RATECTL_STATUS_FINAL_RATE; txs.long_retries = ntries; @@ -125,16 +122,6 @@ r12a_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) else txs.status = IEEE80211_RATECTL_TX_SUCCESS; ieee80211_ratectl_tx_complete(ni, &txs); -#else - struct ieee80211vap *vap = ni->ni_vap; - if (rpt->txrptb0 & R12A_TXRPTB0_RETRY_OVER) { - ieee80211_ratectl_tx_complete(vap, ni, - IEEE80211_RATECTL_TX_FAILURE, &ntries, NULL); - } else { - ieee80211_ratectl_tx_complete(vap, ni, - IEEE80211_RATECTL_TX_SUCCESS, &ntries, NULL); - } -#endif } else { RTWN_DPRINTF(sc, RTWN_DEBUG_INTR, "%s: macid %u, ni is NULL\n", __func__, rpt->macid); From nobody Sat Feb 4 16:25:17 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Htt5N2zz3nZhb; Sat, 4 Feb 2023 16:25:26 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8Hts4W0Xz4FPF; Sat, 4 Feb 2023 16:25:24 +0000 (UTC) (envelope-from hps@selasky.org) Authentication-Results: mx1.freebsd.org; none Received: from [10.36.2.154] (unknown [46.212.121.255]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 0DDA626001F; Sat, 4 Feb 2023 17:25:17 +0100 (CET) Message-ID: Date: Sat, 4 Feb 2023 17:25:17 +0100 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: git: 1c5e68711760 - main - mlx5: purge EOL release compatibility To: Warner Losh , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202302041620.314GKVgm013715@gitrepo.freebsd.org> Content-Language: en-US From: Hans Petter Selasky In-Reply-To: <202302041620.314GKVgm013715@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4P8Hts4W0Xz4FPF X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:24940, ipnet:88.99.0.0/16, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On 2/4/23 17:20, Warner Losh wrote: > The branch main has been updated by imp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=1c5e68711760712e5ddb95b138179bec65b314f8 > > commit 1c5e68711760712e5ddb95b138179bec65b314f8 > Author: Elliott Mitchell > AuthorDate: 2022-06-23 00:53:47 +0000 > Commit: Warner Losh > CommitDate: 2023-02-04 16:13:09 +0000 > > mlx5: purge EOL release compatibility > > Remove FreeBSD 10 support code > > Reviewed by: imp > Pull Request: https://github.com/freebsd/freebsd-src/pull/603 > Differential Revision: https://reviews.freebsd.org/D35560 > --- > sys/dev/mlx5/mlx5_fpga/mlx5fpga_core.c | 2 -- > sys/dev/mlx5/mlx5_fpga_tools/mlx5fpga_tools_main.c | 2 -- > 2 files changed, 4 deletions(-) > Nice to know things are going forward! --HPS From nobody Sat Feb 4 17:51:27 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Kp726Sxz3ngPq; Sat, 4 Feb 2023 17:51:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8Kp71XjSz4Q9F; Sat, 4 Feb 2023 17:51:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675533087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TzdwE589rlRRKeAYAlmM9zXaIFRWEzclfVa/5tLD2C4=; b=i6d+SKYE5bC47NV/Hlc4xQqD206lFs8mBW6i1b9a8QvvzpNAcPwb9uXfgnhzjWE3r19TUM IV9hEnxMpegVIy5UuJnIbbLMVuDFOmtwRmsM/brxeItazvTvfsLA8fEXzmHl7+SfsVoj40 QrS9tRK5AuCVyW9fXkifMC46C4aDp17Oms1P1eRN/8/LSM67/c19W547mMKkLw6bHceUro U2mzNsdFon7LQSQhF+gdmnblVXR/A0iVIv2Ju9PrpWx1gwmZT01+ygJ+GVu5s3XxPAbLJf CSqTfYYHnLHjnRfMKfiYSv6kCe10i64Z3L0A/zqmzbjorXv2pt7hNhqjOX4H7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675533087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TzdwE589rlRRKeAYAlmM9zXaIFRWEzclfVa/5tLD2C4=; b=esG83TOIS6ctmWLezhHVRnKDGDBBzRDEIdM/fmrb3U3EXlVAARrlo4OKTgp1nHgRE0e5pq wy0rDlFisUoNX7pmCegpbjozW+JY7DHTmnX9S2jK5TzvCGasnAuIu7/mUZkmY4hF9Nk6DW xjdqKuEtksx4M6ZyDqeVYvEJ52NUkoAZluNXPght4XLWszSo/01HOpRN+ChFwMt8laSHFm Q+HImcTJ8AaBYOPE0RCj5nr4pMcpBH04OUueStOngwI3Po7cb50RPGvmCM6hvkfbbrwwte 0w7VrmVcJ9BGtyHNIcRFkxsdA7tcHteRxpcuaO1bGrSN9XK6EvA1Y7SPbxDK2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675533087; a=rsa-sha256; cv=none; b=uTbU3Jxj6bKGY6thJqqCzo5d7OLZVlIiWtTHOilFprHUdYFphYf2hwoFQCqHjukw8Iqy0T ++n1++7T9nI+mOPCZwO8gMUSgXs6tm+E9LSmjQaXwCF6IY+R58N+BiRJPzx5GOchqo+Rgp nBj1v+FzjoKobbzVkCWQ4XNAZnJshBapfofyLI9OYu/893cFy4Q6QznecdVVlDNt2Ty6it cyuWH9ILtGRaNFPmqYnlROGbCHlqULOfNVhKxbMRCfq+fIa7ijlEpx0GkjYFeZNX+r2lTB nD/TJjJxFlVMk752qbASfOi0zPWPl/ueDBGAXMQr9fDPg9gNmIkLaVhKnlHCkQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Kp70cNvzNs7; Sat, 4 Feb 2023 17:51:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314HpRs6042971; Sat, 4 Feb 2023 17:51:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314HpRrn042970; Sat, 4 Feb 2023 17:51:27 GMT (envelope-from git) Date: Sat, 4 Feb 2023 17:51:27 GMT Message-Id: <202302041751.314HpRrn042970@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: d9d5f2c042a5 - main - cpuset: add --count List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d9d5f2c042a51a9f0dd69eb1fc349efd81ffa483 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=d9d5f2c042a51a9f0dd69eb1fc349efd81ffa483 commit d9d5f2c042a51a9f0dd69eb1fc349efd81ffa483 Author: Mateusz Guzik AuthorDate: 2023-02-04 17:47:41 +0000 Commit: Mateusz Guzik CommitDate: 2023-02-04 17:50:41 +0000 cpuset: add --count Can be used to count the number of hardware threads in the cpu set. For example: $ cpuset -g -p $$ pid 2440 mask: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 pid 2440 domain policy: first-touch mask: 0, 1 $ cpuset -g --count -p $$ 40 The intent is to replace calls to sysctl hw.ncpu and kern.smp.cpus which can be found in the tree, which are not adequate given existence of cpusets. Right now only -g -p combination is supported to reduce complexity. As anything else errors out, this can be expanded later as needed. Differential Revision: https://reviews.freebsd.org/D36351 --- usr.bin/cpuset/cpuset.1 | 16 +++++++++++++++- usr.bin/cpuset/cpuset.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 65 insertions(+), 2 deletions(-) diff --git a/usr.bin/cpuset/cpuset.1 b/usr.bin/cpuset/cpuset.1 index 935164394b31..1a8902e1c235 100644 --- a/usr.bin/cpuset/cpuset.1 +++ b/usr.bin/cpuset/cpuset.1 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 3, 2018 +.Dd August 25, 2022 .Dt CPUSET 1 .Os .Sh NAME @@ -57,6 +57,10 @@ .Fl g .Op Fl cir .Op Fl d Ar domain | Fl j Ar jail | Fl p Ar pid | Fl t Ar tid | Fl s Ar setid | Fl x Ar irq +.Nm +.Fl g +.Fl -count +.Fl p Ar pid .Sh DESCRIPTION The .Nm @@ -172,6 +176,16 @@ Specifies a thread id as the target of the operation. .It Fl x Ar irq Specifies an irq as the target of the operation. .El +.Pp +The long options are as follows: +.Bl -tag -width ".Fl -count" +.It Fl -count +Count the number of hardware threads included in the set. Requires +.Fl g +and +.Fl p +flags. +.El .Sh EXIT STATUS .Ex -std .Sh EXAMPLES diff --git a/usr.bin/cpuset/cpuset.c b/usr.bin/cpuset/cpuset.c index 79c6c2b6ca79..528cbc39bbc7 100644 --- a/usr.bin/cpuset/cpuset.c +++ b/usr.bin/cpuset/cpuset.c @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -52,6 +53,9 @@ __FBSDID("$FreeBSD$"); #include #include +/* + * Short opts. + */ static int Cflag; static int cflag; static int dflag; @@ -65,12 +69,24 @@ static int rflag; static int sflag; static int tflag; static int xflag; + +/* + * Long-only opts. + */ +static int count_flag; + static id_t id; static cpulevel_t level; static cpuwhich_t which; +#define OPT_THREADCOUNT (CHAR_MAX + 1) static void usage(void); +static struct option long_opts[] = { + { "count", no_argument, NULL, OPT_THREADCOUNT }, + { NULL, 0, NULL, 0 } +}; + struct numa_policy { const char *name; int policy; @@ -283,6 +299,18 @@ printsetid(void) levelnames[level], setid); } +static void +printcpucount(void) +{ + cpuset_t mask; + CPU_ZERO(&mask); + + if (cpuset_getaffinity(CPU_LEVEL_ROOT, CPU_WHICH_PID, id, + sizeof(mask), &mask) != 0) + err(EXIT_FAILURE, "getaffinity"); + printf("%d\n", CPU_COUNT(&mask)); +} + int main(int argc, char *argv[]) { @@ -300,7 +328,8 @@ main(int argc, char *argv[]) level = CPU_LEVEL_WHICH; which = CPU_WHICH_PID; id = pid = tid = setid = -1; - while ((ch = getopt(argc, argv, "Ccd:gij:l:n:p:rs:t:x:")) != -1) { + while ((ch = getopt_long(argc, argv, + "Ccd:gij:l:n:p:rs:t:x:", long_opts, NULL)) != -1) { switch (ch) { case 'C': Cflag = 1; @@ -359,12 +388,30 @@ main(int argc, char *argv[]) which = CPU_WHICH_IRQ; id = atoi(optarg); break; + case OPT_THREADCOUNT: + count_flag = 1; + break; default: usage(); } } argc -= optind; argv += optind; + + /* + * count requires g and p flags and is incompatible with + * everything else for simplicity. + */ + if (count_flag) { + if (!gflag || !pflag) + usage(); + if (Cflag || cflag || dflag || iflag || jflag || lflag || + nflag || rflag || sflag || tflag || xflag) + usage(); + printcpucount(); + exit(EXIT_SUCCESS); + } + if (gflag) { if (argc || Cflag || lflag || nflag) usage(); @@ -471,5 +518,7 @@ usage(void) fprintf(stderr, " cpuset -g [-cir]\n" " [-d domain | -j jailid | -p pid | -t tid | -s setid | -x irq]\n"); + fprintf(stderr, + " cpuset -g --count -p pid\n"); exit(1); } From nobody Sat Feb 4 18:32:45 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Ljp0dRLz3nj4T; Sat, 4 Feb 2023 18:32: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 4P8Ljp08jnz3FQJ; Sat, 4 Feb 2023 18:32:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675535566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mCLj+6nygwNcHjmQ43iMxOTKWkmh78s/6WF0+nSCqhI=; b=gSKf157+byjlfck9t6Wg7ksRQcgCzM3iIE24p1dILzMONxKr8aOm3Z6BJoJ6BJrbdQCOl9 WRtY+cTbuaXdkVrn6Tl7pjo3PdFgGU+2qjImde5TUie4e0IdwpqKsAbl7jSD4SoRV+/aJe SX9J43t2LH4aG0T5OoQJJDigW6ExUqDRglu2EDuvHEjpC4gejTk/fE54iHwwWWU/YLk4K1 VNMh9viJEGeXUoFZ+ijRX0VN0vtyxNtHldcH3bcBLXi6mkYeAfelvRO1WCdZYpYl7caW96 g8T9BXZ5YOMFiLFwan0Uz/vmB/i0yxUWrdNCFD8zgixWAaOpuODabA8ZZREHWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675535566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mCLj+6nygwNcHjmQ43iMxOTKWkmh78s/6WF0+nSCqhI=; b=h7eKFiPfSaTmqa2o0soGyxxZgkFjGUuBmSRLnl7eIRvCX67XwAVtbpNkFvuOwMjgrqJSKI Jz9l4DgN2RJ10VhZ6H8I+4x7tGtOW+tv2rugNtOZB/aovra+QtboInF4J91+KQPwjnxXLw Nt6h39f/deSyjFYl+HC6noXFGZLc8EgAjQHX3elOMVGWpR0MRM+OaS7m4aYkfKwS+Toyun 1ZvP8UhTtYRO5uUxJtUyImcmU38KFxhm8VkVLRPzJQ43skeJatc/HEgPEKnII08bKWRL/G CtEOv9M/Q9Q1OuK4z3+7+BesPbJtPSubn8LX5TMwQvxZKQTUrpFAKz2TDtlNNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675535566; a=rsa-sha256; cv=none; b=gNVS+2UnMwTwCQed50NQaGctcWsh/dITuPtAdEE7VE/nPB94Mqs2PxYSD+GX8xdXsxQW+n 2U6kE7hXDsssnPKKS2+IFA87xO/k/hA2vhEd17hN211rpt8YBGy+6oPl0WNxYQSKU3li9K x1TgSr3/V67QaW2qQhRL5Zj/9N13wBBHhfGTCy14LklrKVEFvfNhzoK+xKQdAMywQmWrnz sFFwePAHNjk6GCItJz+KSJOIU5PCk6dLZ8MkKFznenUz3Kptde+MV+49wQ+l/JE6gSz22H SbuWV0eHPtliwlg4iDoMvStisOP9IGWdp/tBMqEQz/JqzFOsgcEvRKBEPMMOcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Ljn6L4pzQNg; Sat, 4 Feb 2023 18:32:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314IWjLt003386; Sat, 4 Feb 2023 18:32:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314IWjFq003385; Sat, 4 Feb 2023 18:32:45 GMT (envelope-from git) Date: Sat, 4 Feb 2023 18:32:45 GMT Message-Id: <202302041832.314IWjFq003385@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 3b6056204dd8 - main - FIOSEEKHOLE/FIOSEEKDATA: correct consistency for bmap-based implementation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3b6056204dd80cc866b7998ef0776247ebc42ce4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3b6056204dd80cc866b7998ef0776247ebc42ce4 commit 3b6056204dd80cc866b7998ef0776247ebc42ce4 Author: Konstantin Belousov AuthorDate: 2023-02-04 01:20:19 +0000 Commit: Konstantin Belousov CommitDate: 2023-02-04 18:32:07 +0000 FIOSEEKHOLE/FIOSEEKDATA: correct consistency for bmap-based implementation Writes on UFS through a mapped region do not allocate disk blocks in holes immediately. The blocks are allocated when the pages are paged out first time. This breaks the algorithm in vn_bmap_seekhole() and ufs_bmap_seekdata(), because VOP_BMAP() reports hole for the place which already contains a valid data. Clean the pages before doing VOP_BMAP() in the affected functions. In principle, we could clean less by only requesting clean starting from the offset, but it is probably not very important. PR: 269261 Reported by: asomers Reviewed by: asomers, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38379 --- sys/kern/vfs_vnops.c | 14 ++++++++++++-- sys/ufs/ufs/ufs_bmap.c | 18 ++++++++++++++++++ sys/ufs/ufs/ufs_vnops.c | 2 +- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index a49070b6060d..1d90f76f9cd6 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -2556,6 +2556,7 @@ int vn_bmap_seekhole_locked(struct vnode *vp, u_long cmd, off_t *off, struct ucred *cred) { + vm_object_t obj; off_t size; daddr_t bn, bnp; uint64_t bsize; @@ -2564,7 +2565,7 @@ vn_bmap_seekhole_locked(struct vnode *vp, u_long cmd, off_t *off, KASSERT(cmd == FIOSEEKHOLE || cmd == FIOSEEKDATA, ("%s: Wrong command %lu", __func__, cmd)); - ASSERT_VOP_LOCKED(vp, "vn_bmap_seekhole_locked"); + ASSERT_VOP_ELOCKED(vp, "vn_bmap_seekhole_locked"); if (vp->v_type != VREG) { error = ENOTTY; @@ -2578,6 +2579,15 @@ vn_bmap_seekhole_locked(struct vnode *vp, u_long cmd, off_t *off, error = ENXIO; goto out; } + + /* See the comment in ufs_bmap_seekdata(). */ + obj = vp->v_object; + if (obj != NULL) { + VM_OBJECT_WLOCK(obj); + vm_object_page_clean(obj, 0, 0, OBJPC_SYNC); + VM_OBJECT_WUNLOCK(obj); + } + bsize = vp->v_mount->mnt_stat.f_iosize; for (bn = noff / bsize; noff < size; bn++, noff += bsize - noff % bsize) { @@ -2613,7 +2623,7 @@ vn_bmap_seekhole(struct vnode *vp, u_long cmd, off_t *off, struct ucred *cred) KASSERT(cmd == FIOSEEKHOLE || cmd == FIOSEEKDATA, ("%s: Wrong command %lu", __func__, cmd)); - if (vn_lock(vp, LK_SHARED) != 0) + if (vn_lock(vp, LK_EXCLUSIVE) != 0) return (EBADF); error = vn_bmap_seekhole_locked(vp, cmd, off, cred); VOP_UNLOCK(vp); diff --git a/sys/ufs/ufs/ufs_bmap.c b/sys/ufs/ufs/ufs_bmap.c index 4ac8ca149279..acdd334f6c7b 100644 --- a/sys/ufs/ufs/ufs_bmap.c +++ b/sys/ufs/ufs/ufs_bmap.c @@ -44,12 +44,16 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include #include #include +#include +#include + #include #include #include @@ -348,6 +352,7 @@ ufs_bmap_seekdata(struct vnode *vp, off_t *offp) struct inode *ip; struct mount *mp; struct ufsmount *ump; + vm_object_t obj; ufs2_daddr_t bn, daddr, nextbn; uint64_t bsize; off_t numblks; @@ -364,6 +369,19 @@ ufs_bmap_seekdata(struct vnode *vp, off_t *offp) if (*offp < 0 || *offp >= ip->i_size) return (ENXIO); + /* + * We could have pages on the vnode' object queue which still + * do not have the data blocks allocated. Convert all dirty + * pages into buffer writes to ensure that we see all + * allocated data. + */ + obj = vp->v_object; + if (obj != NULL) { + VM_OBJECT_WLOCK(obj); + vm_object_page_clean(obj, 0, 0, OBJPC_SYNC); + VM_OBJECT_WUNLOCK(obj); + } + bsize = mp->mnt_stat.f_iosize; for (bn = *offp / bsize, numblks = howmany(ip->i_size, bsize); bn < numblks; bn = nextbn) { diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 93a5b173b785..ae6d963920f3 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -2944,7 +2944,7 @@ ufs_ioctl(struct vop_ioctl_args *ap) vp = ap->a_vp; switch (ap->a_command) { case FIOSEEKDATA: - error = vn_lock(vp, LK_SHARED); + error = vn_lock(vp, LK_EXCLUSIVE); if (error == 0) { error = ufs_bmap_seekdata(vp, (off_t *)ap->a_data); VOP_UNLOCK(vp); From nobody Sat Feb 4 18:48:55 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8M4S187dz3njwk; Sat, 4 Feb 2023 18:48: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 4P8M4S0hTsz3GmB; Sat, 4 Feb 2023 18:48:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675536536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WfKgmuJlGyd0ggeAnaQBKOX3QPz9nrVamANmZumjBWM=; b=OO2SlQ2nkEQqFxb9NIEKOFaRzn+IC2vEVn2hvRV7QBcwWWR2MqDVSaQ+3x3cEB/JK9pkK7 ILkMTu8Xj9JABEzYxuCO9WrfF8gV0GNp3pr5hJqq9LnqhPe3RuXlkWnCel6OxqUSvwTy5n mg+4F3kNfxNsdxPSWGrgNRFKqM4GW1vF0XYrL63PxmyltC8YzUFVFmFDQIZtlRJPqpo10L NjSj73XE9fbL2m3BhiD1hicakDAaarBexxcXNxV6Ap47+M4Dvxco9To3E6twkTO+AYH5rO thJ46fx/VYphEZOloTlGByAEjW20GWaWuWdZmsMt31iTI9xqyj7Jy5/rq8NWIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675536536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WfKgmuJlGyd0ggeAnaQBKOX3QPz9nrVamANmZumjBWM=; b=Vt/f/mppt7JjTu71+X3OKCC6Hel6HSW8IooU/jIFuXRp4HgP5GdMH9zsXIT+gbRaOcS5ZG BCyqt0GbY3b8y2R5b6WUpdUdQIHrUy5vPkTscFx49tLnmQf3xFwNiGE2HFZiZlQomPWaDV tkJ3KoUXmvdbjUxPdU144+sqEfpvQHPZ0SPQmj+hFYkE8eH31VH2VY5Ia6PVACYs2IxPDk GYkM5i3+y1Ela+PvmjPF3wfRXxrWWXrEsINdX7vfG2Yu8Isvn2Rh7gob5117Ekr5ipTSyl k/85QzjxrKH1a/julNWv/KslseOYWjU6M/24MTCLwiRr1fuVBNHJyRQ66/PHXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675536536; a=rsa-sha256; cv=none; b=dGdcihNgsEdQ32LvQaALwdKP1kCHabpb0LZe1OpJEKUjC2ZXjBOvN6ij/VhpzLfhturNXU XQtaD6XM0FlPU8+CtjL28TG+o9uB//ipK0w2bvnHr4wTVUyjLDfpensyhGwQDvE/GqXqxO q80sqWQQNG2lBJMmRo1h+ohH6WEzVl0gAHjjlJBDh6i9IrgyhxHxnBSsG2ebYIXaz3G6kP jaTWL4lhNK1N+zCBk6oBOa0zHb7zoPkk95OgCnRjUdIVwjj/qDdetAbpfbOzqsdZwnG30v TWqu76hm5JejkltLwvJjv4uxdfNlyMla5q8dGRKjiqvITDhQVRiG1C+MyXf4JA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8M4R6mSSzQZl; Sat, 4 Feb 2023 18:48:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314Imthu018058; Sat, 4 Feb 2023 18:48:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314ImtQ9018057; Sat, 4 Feb 2023 18:48:55 GMT (envelope-from git) Date: Sat, 4 Feb 2023 18:48:55 GMT Message-Id: <202302041848.314ImtQ9018057@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: cfd6acbb5591 - main - jail: Correct jail_max_af_ips sysctl name List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cfd6acbb5591a6f07c7559f08424e0c73053c82c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cfd6acbb5591a6f07c7559f08424e0c73053c82c commit cfd6acbb5591a6f07c7559f08424e0c73053c82c Author: Elvin Aslanov AuthorDate: 2022-07-11 13:58:21 +0000 Commit: Warner Losh CommitDate: 2023-02-04 18:46:46 +0000 jail: Correct jail_max_af_ips sysctl name The sysctl is named "security.jail.jail_max_af_ips" with the jail_ prefix in the final part. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/605 --- usr.sbin/jail/jail.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/jail/jail.8 b/usr.sbin/jail/jail.8 index c9d929b89d4a..e40e455f61a6 100644 --- a/usr.sbin/jail/jail.8 +++ b/usr.sbin/jail/jail.8 @@ -1276,7 +1276,7 @@ can be used to determine if a process is running inside a jail (value is one) or not (value is zero). .Pp The variable -.Va security.jail.max_af_ips +.Va security.jail.jail_max_af_ips determines how may address per address family a jail may have. The default is 255. .Pp From nobody Sat Feb 4 19:14:30 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Mdz22Dvz3nlGJ; Sat, 4 Feb 2023 19:14: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 4P8Mdz1T2yz3K4t; Sat, 4 Feb 2023 19:14:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675538071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KMC/rBflyVkpg642HQmPUyslv5Gj92wV082qy+mcoWw=; b=vX51OFne0P8/P6DTwQhC1QU6J41hOsgd4BJOwb54njbkw+d4OZxRM32xSnKBOYrc3Xv72i MJV3c6q+U85njDdSsnR9SumeBtFJpu0VOl92tvhExBtR2H8dQSNQ3BqPPqgTafxYlCJLXO 4612rcl9GvLjl1tk1BtOJu8KwJsibfDlR5+C2t+RvegRtASEwh2WHFiTQr7j3fJ2blMT3N n2KEWAEitDIkpMzq2I4TtX5fkD59vnrsqinlea3qLdz7pl0G4J4KPPCvoJyen1aNwW3Mlw Qs4QxLBK4LW35R3toB8GFrtZV7PhRkIyJS2SOU9eHkl6SeY9H8pwR5EGd4BWow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675538071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KMC/rBflyVkpg642HQmPUyslv5Gj92wV082qy+mcoWw=; b=sgU7vyaKYo6e+fQudFuAPCWv8XDKbCHPXKdGXlpZyZg9a0IQDTyLaxdDHLah6OXPa2xprg MqA+xB+qFhLARHahUfxem86hZ1nene1Ozp6y/7187dEMb3HFBGprKJE9OLcHS/dlUWSUwV z/CPGR4+FO3I08qBSGKUPgwjL1vYPyOFteR4115f3nSLXLYtWWR2artmb3xH5I+/jFJ9dd Is1T7/57/ssLHmc3tg9CHrGT5l6qE+BemmWZyqzEZQ9JDR9N/ruoOvSrkjckR+fI+ww7/S KDzWlA2QB93VtVecwjRHrSfyybthfukwLwh1aRcZjrPxhLhVWAMVSS7wNBOJAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675538071; a=rsa-sha256; cv=none; b=MXIl7B8W0S9vh8/E0t+7P+Ehz7nlPMm/yTZZZeeLWmuupugBT7JQBGVLg2eTUd/tzpaelO 1QZCpTWPzp4nF7JIk1EqFFN0rnPcsniQpekyppYaMMjqkaKRBRb7GXnhO8+6p/+1eLdabv GXnH9/gGk5tuVXzeo46742F7koJLSOBMIMsejmVYCrewdOxUH6lBVRN8jhKQ//GPY+Owwu CfmoKdXzUx5DkijiV6wA0EWQzSr3Z3/fcPodIGdxc5KADr9KBYeyO2cHTy+3djW2BSvGxn veGwKkWpgxsfzAbXsbaAcySfjpVzRfUhmsUqca8pZNw3AhtcOzXaKryVrn6reQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Mdz0WdnzRCw; Sat, 4 Feb 2023 19:14:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314JEUn9061764; Sat, 4 Feb 2023 19:14:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314JEUaI061763; Sat, 4 Feb 2023 19:14:30 GMT (envelope-from git) Date: Sat, 4 Feb 2023 19:14:30 GMT Message-Id: <202302041914.314JEUaI061763@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 17720d0bd0e8 - main - Strip trailing slashes from DESTDIR List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 17720d0bd0e8980d9cc87977eb2ec87d103f875b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=17720d0bd0e8980d9cc87977eb2ec87d103f875b commit 17720d0bd0e8980d9cc87977eb2ec87d103f875b Author: Marius van Witzenburg AuthorDate: 2022-04-10 20:12:50 +0000 Commit: Warner Losh CommitDate: 2023-02-04 19:11:02 +0000 Strip trailing slashes from DESTDIR Solves duplicate slashes in paths Scanning //usr/share/certs/trusted for certificates... Scanning //usr/local/share/certs for certificates... Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/595 --- usr.sbin/certctl/certctl.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.sbin/certctl/certctl.sh b/usr.sbin/certctl/certctl.sh index 99fff8848188..d650e8919395 100755 --- a/usr.sbin/certctl/certctl.sh +++ b/usr.sbin/certctl/certctl.sh @@ -278,6 +278,8 @@ while getopts D:d:M:nUv flag; do done shift $(( $OPTIND - 1 )) +DESTDIR=${DESTDIR%/} + : ${METALOG:=${DESTDIR}/METALOG} INSTALLFLAGS= [ $UNPRIV -eq 1 ] && INSTALLFLAGS="-U -M ${METALOG} -D ${DESTDIR}" From nobody Sat Feb 4 19:20:44 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Mn90Y3bz3nldc; Sat, 4 Feb 2023 19:20: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 4P8Mn907DPz3KZC; Sat, 4 Feb 2023 19:20:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675538445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xWBJ/IIj5ZyqQbbCPdbaI1PhlZYsIuLwKFWSqb53Ri8=; b=idIZ7k0QQ4qBDwIdWwLpNLUJn+01WF8dxT2hcEXSQwlH3zhjIb6tCO9/5Rbn/MN+mm/DEO 5AKGMZ9janoGRczYoSV1yJxL86sum47gFdMh5TkY0qdOPCmjOXeSkZFoLGJCXAwz0RS9Ft GwdmKUcVQdM+2psyLncaIrdjTciDdVmpDOS/8Oy7TSG67IXTyo18rXHWAXdv846DG0wCgQ FDBowWTDnIjQ/UvgsOvtcLM/EJa+AexiZnXKv7XMvfYl5iPcIABwSgp5FuyZnD2PkKUoHU J4v+Vx2fqCarw20gDEkKAGmJVPgT9EB3kHD2FXn7XlmDgRbOLFyRlHo+dkLncA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675538445; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xWBJ/IIj5ZyqQbbCPdbaI1PhlZYsIuLwKFWSqb53Ri8=; b=h59bcIv9R1pQ/qw34QXa4e8DDT4k9nfkQnJ8KiONDHDogFS+vgP1QzHpIPGe7nOQ/ONU7L qTHYVUYXRdv8BGjgcP+gh6wE75Jy+hK5aCkZMs5nRJv4HvD1ZVXsQHV2pbfDwBd61hZMi0 EtgraWEufdaEulV2BW/wbnqcZoXN373SLcuerbY0uA4XwQ1qVEoRVXhreRVQLtwakLWOU4 8WbZdykwfaTpjXe0V7F0tJhGfWmHSne4uXgQlbu5Y+xc+L4SCUjbjtrz/74GLO1oAJ7gsY 736VcALHknOEw1mHMWkq5+a30mZYxmPIEQE495fCS6r/skYP5+smoMWMdRzNRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675538445; a=rsa-sha256; cv=none; b=m2JpYiPCPRwC4vpy2s4V9TBvY7axEI8P7KLnaJ3baO4ONBXuXJ3C5Mbzx2hqixklq93lLA CzUTo1cCZmeHW93K+n+5bKjewuxJOJTzpu4noWCJc/e6yFvnT4OW5IxSC9s1t05rrmBIX0 80dP7TTwkEl+SnLCFRR1CEBXpSdiQEJFrZ/7kJVY8DyOhrcX09tWcBbnwF/hnqt0Fc7h3G gHIZoKYbUcUuQGTMc8LqRjphxxw/yWeNcgTA0YfinhfOndQWDQwBMY7+k0xA5d94LfDNir RV3xPsNuw6qq7M5H7hoYAXUlKbE5jKDCnjsDlbjMqqwI9OW6n8d1eOjXhuIr4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Mn86JTZzRWk; Sat, 4 Feb 2023 19:20:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314JKiBX070938; Sat, 4 Feb 2023 19:20:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314JKiQj070937; Sat, 4 Feb 2023 19:20:44 GMT (envelope-from git) Date: Sat, 4 Feb 2023 19:20:44 GMT Message-Id: <202302041920.314JKiQj070937@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 767964fd8635 - main - tcp: Document TCP congestion control history List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 767964fd8635f4efae7c67bade19cc870514707b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=767964fd8635f4efae7c67bade19cc870514707b commit 767964fd8635f4efae7c67bade19cc870514707b Author: Tom Hukins AuthorDate: 2023-01-31 18:55:56 +0000 Commit: Warner Losh CommitDate: 2023-02-04 19:17:19 +0000 tcp: Document TCP congestion control history CUBIC replaced NEWRENO as the default congestion control algorithm in bb1d472d79f718. Update man pages to reflect that. Fixes: bb1d472d79f718 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/641 --- share/man/man4/cc_cubic.4 | 7 ++++++- share/man/man4/cc_newreno.4 | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/share/man/man4/cc_cubic.4 b/share/man/man4/cc_cubic.4 index 9ceaaa871777..d724bfa15345 100644 --- a/share/man/man4/cc_cubic.4 +++ b/share/man/man4/cc_cubic.4 @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 13, 2022 +.Dd February 4, 2023 .Dt CC_CUBIC 4 .Os .Sh NAME @@ -101,6 +101,11 @@ The congestion control module first appeared in .Fx 9.0 . .Pp +This became the default congestion algorithm for FreeBSD in version +.Fx 14.0 , +replacing +.Xr cc_newreno 4 . +.Pp The module was first released in 2009 by Lawrence Stewart whilst studying at Swinburne University of Technology's Centre for Advanced Internet Architectures, Melbourne, Australia. diff --git a/share/man/man4/cc_newreno.4 b/share/man/man4/cc_newreno.4 index 0d0f0d000d38..b918c0d432f6 100644 --- a/share/man/man4/cc_newreno.4 +++ b/share/man/man4/cc_newreno.4 @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 13, 2022 +.Dd February 4, 2023 .Dt CC_NEWRENO 4 .Os .Sh NAME @@ -144,6 +144,13 @@ The congestion control algorithm first appeared in its modular form in .Fx 9.0 . .Pp +This was the default congestion control algorithm in FreeBSD before +version +.Fx 14.0 , +after which +.Xr cc_cubic 4 +replaced it. +.Pp The module was first released in 2007 by James Healy and Lawrence Stewart whilst working on the NewTCP research project at Swinburne University of Technology's Centre for Advanced Internet Architectures, Melbourne, Australia, which was made From nobody Sat Feb 4 19:22:23 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Mq327yTz3nlnP; Sat, 4 Feb 2023 19:22: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 4P8Mq31shGz3L4T; Sat, 4 Feb 2023 19:22:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675538543; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vIyxn8EzZ5+SX0u8Th5YCAVTfjxwlfxrUWQFrF5gqYw=; b=Xmby9iphJN/GH79ZkSAw65GbXhLX1MJVae2j9MuVep8auJWLsiMt7POGTptMhRCezkXe2k 1mym1JvOHOKqqMw7oW551GQYwZl5gso17HRJbLfH7aAO7qrQLZyV8gUk7ZbaquxAnGJt1h ee0jIRwLVlPIaz5+TG6bZ4qRAhCLP6JnsG2/UdTncBn0gQio3Gnf68iUgY6yNAfYB8FH4Z jlOc+fo/lGlTpIY/XQbVF3agk7PzeGYoGQ5W46drsXf7SShWoPGYw088Fx9jdVpHY21Rxq NjnWzKbF9D2mmu2MJRxuxwR9gW8GiCdwwFW8QB2ToH2nZJ498NlLsqjoW3ljzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675538543; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vIyxn8EzZ5+SX0u8Th5YCAVTfjxwlfxrUWQFrF5gqYw=; b=TIhfqVfoE3zbRIC05en3mA1CjUbgw5/2llGiAj4xIjOM3RLYCf0xMuoZ5JHwe66de1lbCA NU/NX64pZg7yJGhCOIiBXR1heOw9u6sUtZLj8NcQl2iyQgC6g98il6/JRpEkQlwH1y5UoD E9w9c4LGi2YHNuU/KgzxFp9cLnPWk16zbdxfRYCFOJlDnAbW7VtrAjl6qrsbDHkxjPYYfk gUZ5ndVTrZ6bciGTYldbf7YQ8Nz1QpLFB7AqxgDSAEf7LEYY12b+N4ja6qFc/cSEO7q6Nq QkDPgmDOwQbnAQuFr1EDcVKQTQrOKHLt3pevTaX+bha6J/U7HakLoki6TvnWqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675538543; a=rsa-sha256; cv=none; b=ejKb5HDT1X1cNWF8o49sUL8QduOoTpiXx12Mo4WnVSmH/7gVbIzPv4fuAOZCJNQ3S/LDcd dZK0VsVkAfa/QXT6FK7voja6sX3Hhfu62lOhAVvHPEBEHsaSZAnY8AFHQaTMTPIbvBrLf3 05+5svHc0dmKAyoz4yiDAdvxoGroi1sqRtHWFRHGyhc5YQ3+RdEhfMnuLiOgPAZZBdzYq6 AA9tn6wi2U3aQninGuE1i67xSiHpBUZrcrEvcGctagB1ZhOxfrwGJqIofXf0gSPoD0q5Ci R0tUGpQWCkePwoAWRKdSxVLDZzbxHHV1KdaVcnVprOVX6l71/W6nV/jA+mGLlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Mq30wMFzRC2; Sat, 4 Feb 2023 19:22:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314JMNSG076076; Sat, 4 Feb 2023 19:22:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314JMNEp076075; Sat, 4 Feb 2023 19:22:23 GMT (envelope-from git) Date: Sat, 4 Feb 2023 19:22:23 GMT Message-Id: <202302041922.314JMNEp076075@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Kornel=20Dul=C4=99ba?= Subject: git: 6926e2699ae5 - main - arm: Add support for using VFP in kernel List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kd X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6926e2699ae55080f860488895a2a9aa6e6d9b4d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kd: URL: https://cgit.FreeBSD.org/src/commit/?id=6926e2699ae55080f860488895a2a9aa6e6d9b4d commit 6926e2699ae55080f860488895a2a9aa6e6d9b4d Author: Kornel Dulęba AuthorDate: 2023-02-04 12:59:30 +0000 Commit: Kornel Dulęba CommitDate: 2023-02-04 19:21:43 +0000 arm: Add support for using VFP in kernel Add missing logic to allow in-kernel VFP usage for ARMv7 NEON. The implementation is strongly based on arm64 code. It introduces a family of fpu_kern_* functions to enable the usage of VFP instructions in kernel. Apart from that the existing armv7 VFP logic was modified, taking into account that the state of the VFP registers can now be modified in the kernel. Co-developed by: Wojciech Macek Sponsored by: Stormshield Obtained from: Semihalf Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D37419 --- lib/libthread_db/arch/arm/libpthread_md.c | 21 ++-- sys/arm/arm/exec_machdep.c | 49 ++++---- sys/arm/arm/machdep.c | 1 + sys/arm/arm/machdep_kdb.c | 31 ++++- sys/arm/arm/swtch-v6.S | 8 +- sys/arm/arm/swtch.S | 8 +- sys/arm/arm/vfp.c | 182 +++++++++++++++++++++++++++++- sys/arm/arm/vm_machdep.c | 6 +- sys/arm/include/fpu.h | 7 ++ sys/arm/include/pcb.h | 5 + sys/arm/include/reg.h | 12 +- sys/arm/include/vfp.h | 17 +++ 12 files changed, 293 insertions(+), 54 deletions(-) diff --git a/lib/libthread_db/arch/arm/libpthread_md.c b/lib/libthread_db/arch/arm/libpthread_md.c index 34ebbf4c5046..379f67d2568f 100644 --- a/lib/libthread_db/arch/arm/libpthread_md.c +++ b/lib/libthread_db/arch/arm/libpthread_md.c @@ -87,22 +87,25 @@ pt_ucontext_to_reg(const ucontext_t *uc, struct reg *r) } void -pt_fpreg_to_ucontext(const struct fpreg *r __unused, ucontext_t *uc) +pt_fpreg_to_ucontext(const struct fpreg *r, ucontext_t *uc) { - mcontext_t *mc = &uc->uc_mcontext; + mcontext_vfp_t *mc_vfp; - /* XXX */ - mc->mc_vfp_size = 0; - mc->mc_vfp_ptr = NULL; - memset(mc->mc_spare, 0, sizeof(mc->mc_spare)); + mc_vfp = uc->uc_mcontext.mc_vfp_ptr; + + if (mc_vfp != NULL) + memcpy(mc_vfp, r, sizeof(*r)); } void -pt_ucontext_to_fpreg(const ucontext_t *uc __unused, struct fpreg *r) +pt_ucontext_to_fpreg(const ucontext_t *uc, struct fpreg *r) { + mcontext_vfp_t *mc_vfp; - /* XXX */ - memset(r, 0, sizeof(*r)); + mc_vfp = uc->uc_mcontext.mc_vfp_ptr; + + if (mc_vfp != NULL) + memcpy(r, &mc_vfp, sizeof(*r)); } void diff --git a/sys/arm/arm/exec_machdep.c b/sys/arm/arm/exec_machdep.c index 2bf3efff7fe4..c14bd51146ef 100644 --- a/sys/arm/arm/exec_machdep.c +++ b/sys/arm/arm/exec_machdep.c @@ -100,16 +100,18 @@ get_vfpcontext(struct thread *td, mcontext_vfp_t *vfp) { struct pcb *pcb; + MPASS(td == curthread); + pcb = td->td_pcb; - if (td == curthread) { + if ((pcb->pcb_fpflags & PCB_FP_STARTED) != 0) { critical_enter(); vfp_store(&pcb->pcb_vfpstate, false); critical_exit(); - } else - MPASS(TD_IS_SUSPENDED(td)); - memset(vfp, 0, sizeof(*vfp)); + } + KASSERT(pcb->pcb_vfpsaved == &pcb->pcb_vfpstate, + ("Called get_vfpcontext while the kernel is using the VFP")); memcpy(vfp->mcv_reg, pcb->pcb_vfpstate.reg, - sizeof(vfp->mcv_reg)); + sizeof(vfp->mcv_reg)); vfp->mcv_fpscr = pcb->pcb_vfpstate.fpscr; } @@ -121,15 +123,18 @@ set_vfpcontext(struct thread *td, mcontext_vfp_t *vfp) { struct pcb *pcb; + MPASS(td == curthread); + pcb = td->td_pcb; - if (td == curthread) { + if ((pcb->pcb_fpflags & PCB_FP_STARTED) != 0) { critical_enter(); vfp_discard(td); critical_exit(); - } else - MPASS(TD_IS_SUSPENDED(td)); + } + KASSERT(pcb->pcb_vfpsaved == &pcb->pcb_vfpstate, + ("Called set_vfpcontext while the kernel is using the VFP")); memcpy(pcb->pcb_vfpstate.reg, vfp->mcv_reg, - sizeof(pcb->pcb_vfpstate.reg)); + sizeof(pcb->pcb_vfpstate.reg)); pcb->pcb_vfpstate.fpscr = vfp->mcv_fpscr; } #endif @@ -166,6 +171,8 @@ get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret) { struct trapframe *tf = td->td_frame; __greg_t *gr = mcp->__gregs; + mcontext_vfp_t mcontext_vfp; + int rv; if (clear_ret & GET_MC_CLEAR_RET) { gr[_REG_R0] = 0; @@ -190,9 +197,19 @@ get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret) gr[_REG_LR] = tf->tf_usr_lr; gr[_REG_PC] = tf->tf_pc; - mcp->mc_vfp_size = 0; - mcp->mc_vfp_ptr = NULL; - memset(&mcp->mc_spare, 0, sizeof(mcp->mc_spare)); +#ifdef VFP + if (mcp->mc_vfp_size != sizeof(mcontext_vfp_t)) + return (EINVAL); + get_vfpcontext(td, &mcontext_vfp); +#else + bzero(&mcontext_vfp, sizeof(mcontext_vfp)); +#endif + + if (mcp->mc_vfp_ptr != NULL) { + rv = copyout(&mcontext_vfp, mcp->mc_vfp_ptr, sizeof(mcontext_vfp)); + if (rv != 0) + return (rv); + } return (0); } @@ -306,14 +323,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) /* Populate the siginfo frame. */ bzero(&frame, sizeof(frame)); get_mcontext(td, &frame.sf_uc.uc_mcontext, 0); -#ifdef VFP - get_vfpcontext(td, &frame.sf_vfp); - frame.sf_uc.uc_mcontext.mc_vfp_size = sizeof(fp->sf_vfp); - frame.sf_uc.uc_mcontext.mc_vfp_ptr = &fp->sf_vfp; -#else - frame.sf_uc.uc_mcontext.mc_vfp_size = 0; - frame.sf_uc.uc_mcontext.mc_vfp_ptr = NULL; -#endif frame.sf_si = ksi->ksi_info; frame.sf_uc.uc_sigmask = *mask; frame.sf_uc.uc_stack = td->td_sigstk; diff --git a/sys/arm/arm/machdep.c b/sys/arm/arm/machdep.c index 933edfb0dc84..0c82190181be 100644 --- a/sys/arm/arm/machdep.c +++ b/sys/arm/arm/machdep.c @@ -377,6 +377,7 @@ init_proc0(vm_offset_t kstack) thread0.td_pcb = (struct pcb *)(thread0.td_kstack + thread0.td_kstack_pages * PAGE_SIZE) - 1; thread0.td_pcb->pcb_flags = 0; + thread0.td_pcb->pcb_fpflags = 0; thread0.td_pcb->pcb_vfpcpu = -1; thread0.td_pcb->pcb_vfpstate.fpscr = VFPSCR_DN; thread0.td_frame = &proc0_tf; diff --git a/sys/arm/arm/machdep_kdb.c b/sys/arm/arm/machdep_kdb.c index b1f04c0832a1..22d403957b81 100644 --- a/sys/arm/arm/machdep_kdb.c +++ b/sys/arm/arm/machdep_kdb.c @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #ifdef DDB #include @@ -105,7 +106,26 @@ fill_regs(struct thread *td, struct reg *regs) int fill_fpregs(struct thread *td, struct fpreg *regs) { - bzero(regs, sizeof(*regs)); +#ifdef VFP + struct pcb *pcb; + + pcb = td->td_pcb; + if ((pcb->pcb_fpflags & PCB_FP_STARTED) != 0) { + /* + * If we have just been running VFP instructions we will + * need to save the state to memcpy it below. + */ + if (td == curthread) + vfp_save_state(td, pcb); + } + KASSERT(pcb->pcb_vfpsaved == &pcb->pcb_vfpstate, + ("Called fill_fpregs while the kernel is using the VFP")); + memcpy(regs->fpr_r, pcb->pcb_vfpstate.reg, + sizeof(regs->fpr_r)); + regs->fpr_fpscr = pcb->pcb_vfpstate.fpscr; +#else + memset(regs, 0, sizeof(*regs)); +#endif return (0); } @@ -126,6 +146,15 @@ set_regs(struct thread *td, struct reg *regs) int set_fpregs(struct thread *td, struct fpreg *regs) { +#ifdef VFP + struct pcb *pcb; + + pcb = td->td_pcb; + KASSERT(pcb->pcb_vfpsaved == &pcb->pcb_vfpstate, + ("Called set_fpregs while the kernel is using the VFP")); + memcpy(pcb->pcb_vfpstate.reg, regs->fpr_r, sizeof(regs->fpr_r)); + pcb->pcb_vfpstate.fpscr = regs->fpr_fpscr; +#endif return (0); } diff --git a/sys/arm/arm/swtch-v6.S b/sys/arm/arm/swtch-v6.S index 8bbd88bc8670..bff1bc8f3d35 100644 --- a/sys/arm/arm/swtch-v6.S +++ b/sys/arm/arm/swtch-v6.S @@ -323,11 +323,9 @@ ENTRY(cpu_switch) #ifdef VFP ldr r3, [r10, #(TD_PCB)] - fmrx r0, fpexc /* If the VFP is enabled */ - tst r0, #(VFPEXC_EN) /* the current thread has */ - movne r1, #1 /* used it, so go save */ - addne r0, r3, #(PCB_VFPSTATE) /* the state into the PCB */ - blne _C_LABEL(vfp_store) /* and disable the VFP. */ + mov r1, r3 + mov r0, r10 + blne _C_LABEL(vfp_save_state) #endif /* diff --git a/sys/arm/arm/swtch.S b/sys/arm/arm/swtch.S index b1180b06fc07..f7c2beaf4f3e 100644 --- a/sys/arm/arm/swtch.S +++ b/sys/arm/arm/swtch.S @@ -99,11 +99,9 @@ ENTRY(savectx) add r3, r0, #(PCB_R4) stmia r3, {r4-r12, sp, lr, pc} #ifdef VFP - fmrx r2, fpexc /* If the VFP is enabled */ - tst r2, #(VFPEXC_EN) /* the current thread has */ - movne r1, #1 /* used it, so go save */ - addne r0, r0, #(PCB_VFPSTATE) /* the state into the PCB */ - blne _C_LABEL(vfp_store) /* and disable the VFP. */ + mov r1, r0 + mov r0, #0 + blne _C_LABEL(vfp_save_state) #endif add sp, sp, #4; ldmfd sp!, {pc} diff --git a/sys/arm/arm/vfp.c b/sys/arm/arm/vfp.c index 3fa53c7ae2eb..915d65c1b790 100644 --- a/sys/arm/arm/vfp.c +++ b/sys/arm/arm/vfp.c @@ -55,6 +55,14 @@ static struct undefined_handler vfp10_uh, vfp11_uh; /* If true the VFP unit has 32 double registers, otherwise it has 16 */ static int is_d32; +struct fpu_kern_ctx { + struct vfp_state *prev; +#define FPU_KERN_CTX_DUMMY 0x01 /* avoided save for the kern thread */ +#define FPU_KERN_CTX_INUSE 0x02 + uint32_t flags; + struct vfp_state state; +}; + /* * About .fpu directives in this file... * @@ -100,6 +108,26 @@ set_coprocessorACR(u_int val) isb(); } +static void +vfp_enable(void) +{ + uint32_t fpexc; + + fpexc = fmrx(fpexc); + fmxr(fpexc, fpexc | VFPEXC_EN); + isb(); +} + +static void +vfp_disable(void) +{ + uint32_t fpexc; + + fpexc = fmrx(fpexc); + fmxr(fpexc, fpexc & ~VFPEXC_EN); + isb(); +} + /* called for each cpu */ void vfp_init(void) @@ -223,7 +251,9 @@ vfp_bounce(u_int addr, u_int insn, struct trapframe *frame, int code) curpcb = curthread->td_pcb; cpu = PCPU_GET(cpuid); if (curpcb->pcb_vfpcpu != cpu || curthread != PCPU_GET(fpcurthread)) { - vfp_restore(&curpcb->pcb_vfpstate); + if (curpcb->pcb_vfpsaved == NULL) + curpcb->pcb_vfpsaved = &curpcb->pcb_vfpstate; + vfp_restore(curpcb->pcb_vfpsaved); curpcb->pcb_vfpcpu = cpu; PCPU_SET(fpcurthread, curthread); } @@ -320,4 +350,154 @@ vfp_discard(struct thread *td) fmxr(fpexc, tmp & ~VFPEXC_EN); } +void +vfp_save_state(struct thread *td, struct pcb *pcb) +{ + int32_t fpexc; + + KASSERT(pcb != NULL, ("NULL vfp pcb")); + KASSERT(td == NULL || td->td_pcb == pcb, ("Invalid vfp pcb")); + + /* + * savectx() will be called on panic with dumppcb as an argument, + * dumppcb doesn't have pcb_vfpsaved set, so set it to save + * the VFP registers. + */ + if (pcb->pcb_vfpsaved == NULL) + pcb->pcb_vfpsaved = &pcb->pcb_vfpstate; + + if (td == NULL) + td = curthread; + + critical_enter(); + /* + * Only store the registers if the VFP is enabled, + * i.e. return if we are trapping on FP access. + */ + fpexc = fmrx(fpexc); + if (fpexc & VFPEXC_EN) { + KASSERT(PCPU_GET(fpcurthread) == td, + ("Storing an invalid VFP state")); + + vfp_store(pcb->pcb_vfpsaved, true); + } + critical_exit(); +} + +void +fpu_kern_enter(struct thread *td, struct fpu_kern_ctx *ctx, u_int flags) +{ + struct pcb *pcb; + + pcb = td->td_pcb; + KASSERT((flags & FPU_KERN_NOCTX) != 0 || ctx != NULL, + ("ctx is required when !FPU_KERN_NOCTX")); + KASSERT(ctx == NULL || (ctx->flags & FPU_KERN_CTX_INUSE) == 0, + ("using inuse ctx")); + KASSERT((pcb->pcb_fpflags & PCB_FP_NOSAVE) == 0, + ("recursive fpu_kern_enter while in PCB_FP_NOSAVE state")); + + if ((flags & FPU_KERN_NOCTX) != 0) { + critical_enter(); + if (curthread == PCPU_GET(fpcurthread)) { + vfp_save_state(curthread, pcb); + } + PCPU_SET(fpcurthread, NULL); + + vfp_enable(); + pcb->pcb_fpflags |= PCB_FP_KERN | PCB_FP_NOSAVE | + PCB_FP_STARTED; + return; + } + + if ((flags & FPU_KERN_KTHR) != 0 && is_fpu_kern_thread(0)) { + ctx->flags = FPU_KERN_CTX_DUMMY | FPU_KERN_CTX_INUSE; + return; + } + /* + * Check either we are already using the VFP in the kernel, or + * the the saved state points to the default user space. + */ + KASSERT((pcb->pcb_fpflags & PCB_FP_KERN) != 0 || + pcb->pcb_vfpsaved == &pcb->pcb_vfpstate, + ("Mangled pcb_vfpsaved %x %p %p", pcb->pcb_fpflags, pcb->pcb_vfpsaved, + &pcb->pcb_vfpstate)); + ctx->flags = FPU_KERN_CTX_INUSE; + vfp_save_state(curthread, pcb); + ctx->prev = pcb->pcb_vfpsaved; + pcb->pcb_vfpsaved = &ctx->state; + pcb->pcb_fpflags |= PCB_FP_KERN; + pcb->pcb_fpflags &= ~PCB_FP_STARTED; + + return; +} + +int +fpu_kern_leave(struct thread *td, struct fpu_kern_ctx *ctx) +{ + struct pcb *pcb; + + pcb = td->td_pcb; + + if ((pcb->pcb_fpflags & PCB_FP_NOSAVE) != 0) { + KASSERT(ctx == NULL, ("non-null ctx after FPU_KERN_NOCTX")); + KASSERT(PCPU_GET(fpcurthread) == NULL, + ("non-NULL fpcurthread for PCB_FP_NOSAVE")); + CRITICAL_ASSERT(td); + + vfp_disable(); + pcb->pcb_fpflags &= ~(PCB_FP_NOSAVE | PCB_FP_STARTED); + critical_exit(); + } else { + KASSERT((ctx->flags & FPU_KERN_CTX_INUSE) != 0, + ("FPU context not inuse")); + ctx->flags &= ~FPU_KERN_CTX_INUSE; + + if (is_fpu_kern_thread(0) && + (ctx->flags & FPU_KERN_CTX_DUMMY) != 0) + return (0); + KASSERT((ctx->flags & FPU_KERN_CTX_DUMMY) == 0, ("dummy ctx")); + critical_enter(); + vfp_discard(td); + critical_exit(); + pcb->pcb_fpflags &= ~PCB_FP_STARTED; + pcb->pcb_vfpsaved = ctx->prev; + } + + if (pcb->pcb_vfpsaved == &pcb->pcb_vfpstate) { + pcb->pcb_fpflags &= ~PCB_FP_KERN; + } else { + KASSERT((pcb->pcb_fpflags & PCB_FP_KERN) != 0, + ("unpaired fpu_kern_leave")); + } + + return (0); +} + +int +fpu_kern_thread(u_int flags __unused) +{ + struct pcb *pcb = curthread->td_pcb; + + KASSERT((curthread->td_pflags & TDP_KTHREAD) != 0, + ("Only kthread may use fpu_kern_thread")); + KASSERT(pcb->pcb_vfpsaved == &pcb->pcb_vfpstate, + ("Mangled pcb_vfpsaved")); + KASSERT((pcb->pcb_fpflags & PCB_FP_KERN) == 0, + ("Thread already setup for the VFP")); + pcb->pcb_fpflags |= PCB_FP_KERN; + return (0); +} + +int +is_fpu_kern_thread(u_int flags __unused) +{ + struct pcb *curpcb; + + if ((curthread->td_pflags & TDP_KTHREAD) == 0) + return (0); + curpcb = curthread->td_pcb; + return ((curpcb->pcb_fpflags & PCB_FP_KERN) != 0); +} + #endif diff --git a/sys/arm/arm/vm_machdep.c b/sys/arm/arm/vm_machdep.c index 5f21a92d2b8b..d899e2cd584b 100644 --- a/sys/arm/arm/vm_machdep.c +++ b/sys/arm/arm/vm_machdep.c @@ -108,9 +108,8 @@ cpu_fork(struct thread *td1, struct proc *p2, struct thread *td2, int flags) #ifdef VFP /* Store actual state of VFP */ if (curthread == td1) { - critical_enter(); - vfp_store(&td1->td_pcb->pcb_vfpstate, false); - critical_exit(); + if ((td1->td_pcb->pcb_fpflags & PCB_FP_STARTED) != 0) + vfp_save_state(td1, td1->td_pcb); } #endif td2->td_pcb = pcb2; @@ -139,6 +138,7 @@ cpu_fork(struct thread *td1, struct proc *p2, struct thread *td2, int flags) pcb2->pcb_regs.sf_tpidrurw = (register_t)get_tls(); pcb2->pcb_vfpcpu = -1; + pcb2->pcb_vfpsaved = &pcb2->pcb_vfpstate; pcb2->pcb_vfpstate.fpscr = initial_fpscr; tf = td2->td_frame; diff --git a/sys/arm/include/fpu.h b/sys/arm/include/fpu.h new file mode 100644 index 000000000000..1a43683db831 --- /dev/null +++ b/sys/arm/include/fpu.h @@ -0,0 +1,7 @@ +/*- + * This file is in the public domain. + * + * $FreeBSD$ + */ +#include +#include diff --git a/sys/arm/include/pcb.h b/sys/arm/include/pcb.h index 078a13c13796..849119d01056 100644 --- a/sys/arm/include/pcb.h +++ b/sys/arm/include/pcb.h @@ -66,6 +66,11 @@ struct pcb { struct vfp_state pcb_vfpstate; /* VP/NEON state */ u_int pcb_vfpcpu; /* VP/NEON last cpu */ +#define PCB_FP_STARTED 0x01 +#define PCB_FP_KERN 0x02 +#define PCB_FP_NOSAVE 0x04 + struct vfp_state *pcb_vfpsaved; /* VP/NEON state */ + int pcb_fpflags; } __aligned(8); /* * We need the PCB to be aligned on 8 bytes, as we may * access it using ldrd/strd, and ARM ABI require it diff --git a/sys/arm/include/reg.h b/sys/arm/include/reg.h index 4dc954816881..e5ed27921184 100644 --- a/sys/arm/include/reg.h +++ b/sys/arm/include/reg.h @@ -13,17 +13,9 @@ struct reg { unsigned int r_cpsr; }; -struct fp_extended_precision { - __uint32_t fp_exponent; - __uint32_t fp_mantissa_hi; - __uint32_t fp_mantissa_lo; -}; - -typedef struct fp_extended_precision fp_reg_t; - struct fpreg { - unsigned int fpr_fpsr; - fp_reg_t fpr[8]; + __uint64_t fpr_r[32]; + __uint32_t fpr_fpscr; }; struct dbreg { diff --git a/sys/arm/include/vfp.h b/sys/arm/include/vfp.h index b9cc6efb9589..e15e088970b5 100644 --- a/sys/arm/include/vfp.h +++ b/sys/arm/include/vfp.h @@ -139,6 +139,11 @@ #define COPROC10 (0x3 << 20) #define COPROC11 (0x3 << 22) +#define FPU_KERN_NORMAL 0x0000 +#define FPU_KERN_NOWAIT 0x0001 +#define FPU_KERN_KTHR 0x0002 +#define FPU_KERN_NOCTX 0x0004 + #ifndef LOCORE struct vfp_state { uint64_t reg[32]; @@ -154,6 +159,18 @@ void set_vfpcontext(struct thread *, mcontext_vfp_t *); void vfp_init(void); void vfp_store(struct vfp_state *, boolean_t); void vfp_discard(struct thread *); +void vfp_restore_state(void); +void vfp_save_state(struct thread *, struct pcb *); + +struct fpu_kern_ctx; + +struct fpu_kern_ctx *fpu_kern_alloc_ctx(u_int); +void fpu_kern_free_ctx(struct fpu_kern_ctx *); +void fpu_kern_enter(struct thread *, struct fpu_kern_ctx *, u_int); +int fpu_kern_leave(struct thread *, struct fpu_kern_ctx *); +int fpu_kern_thread(u_int); +int is_fpu_kern_thread(u_int); + #endif /* _KERNEL */ #endif /* LOCORE */ From nobody Sat Feb 4 19:22:24 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Mq45DW9z3nlcG; Sat, 4 Feb 2023 19:22: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 4P8Mq43kyvz3L7c; Sat, 4 Feb 2023 19:22:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675538544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yET3qsyniAuaj86ZowCMz0fwFlAJdws79ka4zrtEqYA=; b=JCAaodw0Yd2bWlnIgW8BpPsQUP+l473iEF4zoOsgDPi8+GdgzrQpEs9feJygFCii5uYqeG l5O4/aIzwFPhxPYb214mPamxA9r6SzwlbDfNFnBSCtbJ0MoJxWl+aUVjfIpCJy5QLq39cT 6V1ObJAps8PKn13aoD/VYlHdXZpS3QyZLpvDaC8GJ2V8sWpMXKbk72fWB2aKVmwNFKjZ0X G1srkvC9s68/kwUoV4spsLA/66vlBEI+THmKbutyqhhaPLD+JKxDX4b40JF06Xnu27XoIj 24C/pTja4k+i1MIn9QBYbdE1avcK7kHypjL3uudEbditDOqMlRkFIqXqLEbaWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675538544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yET3qsyniAuaj86ZowCMz0fwFlAJdws79ka4zrtEqYA=; b=AtWai7MvyXMKojs4WAVgjfdhrHxQ9EQeBaEtfX+/C40sA9/khP/CtPEZatSPiYh+w1lYzK VSHHJrdHJA9C+re3fsw0cJ8UT+Qy1mVdRhPwXKR0lSw/EtBm3su9zzkwBXtJYidwy2/rOx dpJSsazkrzoewKOZZ+ix/J2pBav03+VEbn7kDRs/UkNgyovVjFCkOvl5mMIKJf9BorMMz7 g/pccqjH8jlFffuV51cgT/hXe0025/SddCk2NXrtWDdGulUbQUMEaZxgDQyWbDoJR0x/Qj o6zmmeVxHkZZ08I3Kud4IAzcOoykk/rYUDXyAOPY9/yU2RvFpmlok49vrBzaWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675538544; a=rsa-sha256; cv=none; b=UH8HEw/86RGP4VPgnrd51DWeb+lt2Y+7f+TBuFnj9CNgvGbQ0A/zxi6A1A/6pXMGt0/0PM xjFbcIlGKeweQlHnfdV8zJmK+aZ+qhW9RDifWER3LXBl5CRhsJpBo2G05gfWRGUdQ2AKmQ 4l1bEFegFkHja7P19WJ2kUeLTVatkyEmwM5WSkTh8qp9O24k69ztMi1E54iwlmhWcZ6Gii Ut3d/klu1yKu1ag+xySOJtoh+La0D1ybHRIUSCRQh/P5T1eI0FzK3Dc8qWSMwBN2Ft2hnx ArzayFNV7nqlbil3hzRucBF3Jo71h2BtwFPWIsATrfPkZHdu5jpCZ+H2vbYd8g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Mq41tqPzRC3; Sat, 4 Feb 2023 19:22:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314JMO2u076105; Sat, 4 Feb 2023 19:22:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314JMOJN076104; Sat, 4 Feb 2023 19:22:24 GMT (envelope-from git) Date: Sat, 4 Feb 2023 19:22:24 GMT Message-Id: <202302041922.314JMOJN076104@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Kornel=20Dul=C4=99ba?= Subject: git: e5d7c5c857f8 - main - arm: mv: Add missing function prototype List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kd X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e5d7c5c857f8a1ba56c14b9430b91cd57eb5579e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kd: URL: https://cgit.FreeBSD.org/src/commit/?id=e5d7c5c857f8a1ba56c14b9430b91cd57eb5579e commit e5d7c5c857f8a1ba56c14b9430b91cd57eb5579e Author: Kornel Dulęba AuthorDate: 2023-02-04 18:30:33 +0000 Commit: Kornel Dulęba CommitDate: 2023-02-04 19:21:43 +0000 arm: mv: Add missing function prototype This fixes armv7 kernel build with gcc12. --- sys/arm/mv/armada/wdt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/arm/mv/armada/wdt.c b/sys/arm/mv/armada/wdt.c index 7e0887e35138..be0b607cd2b2 100644 --- a/sys/arm/mv/armada/wdt.c +++ b/sys/arm/mv/armada/wdt.c @@ -69,6 +69,7 @@ struct mv_wdt_config { static void mv_wdt_enable_armv5(void); static void mv_wdt_enable_armada_38x(void); static void mv_wdt_enable_armada_xp(void); +static inline void mv_wdt_enable_armada_38x_xp_helper(void); static void mv_wdt_disable_armv5(void); static void mv_wdt_disable_armada_38x(void); @@ -232,7 +233,7 @@ mv_wdt_enable_armv5(void) } static inline void -mv_wdt_enable_armada_38x_xp_helper() +mv_wdt_enable_armada_38x_xp_helper(void) { uint32_t val, irq_cause; From nobody Sat Feb 4 20:35:29 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Pnf42rDz3nr12; Sat, 4 Feb 2023 20:51:18 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8Pnf1dqLz3jGH; Sat, 4 Feb 2023 20:51:18 +0000 (UTC) (envelope-from steffen@sdaoden.eu) Authentication-Results: mx1.freebsd.org; none Date: Sat, 04 Feb 2023 21:35:29 +0100 Author: Steffen Nurpmeso From: Steffen Nurpmeso To: Mateusz Guzik Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: d9d5f2c042a5 - main - cpuset: add --count Message-ID: <20230204203529.CusFt%steffen@sdaoden.eu> In-Reply-To: <202302041751.314HpRrn042970@gitrepo.freebsd.org> References: <202302041751.314HpRrn042970@gitrepo.freebsd.org> Mail-Followup-To: Mateusz Guzik , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org User-Agent: s-nail v14.9.24-403-gdc9ff6b368 OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. X-Rspamd-Queue-Id: 4P8Pnf1dqLz3jGH X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15987, ipnet:217.144.128.0/20, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mateusz Guzik wrote in <202302041751.314HpRrn042970@gitrepo.freebsd.org>: |The branch main has been updated by mjg: | |URL: https://cgit.FreeBSD.org/src/commit/?id=d9d5f2c042a51a9f0dd69eb1fc3\ |49efd81ffa483 | |commit d9d5f2c042a51a9f0dd69eb1fc349efd81ffa483 |Author: Mateusz Guzik |AuthorDate: 2023-02-04 17:47:41 +0000 |Commit: Mateusz Guzik |CommitDate: 2023-02-04 17:50:41 +0000 | | cpuset: add --count | | Can be used to count the number of hardware threads in the cpu set. ... | The intent is to replace calls to sysctl hw.ncpu and kern.smp.cpus \ | which | can be found in the tree, which are not adequate given existence of | cpusets. This is great (in respect to a #freebsd IRC from 2021-07-02)! Are there plans to address 19:26 < RhodiumToad> and in fact sysconf(_SC_NPROCESSORS_ONLN) is implemented as sysctl hw.ncpu or 19:25 < RhodiumToad> on fbsd 13 on a 4-cpu box, cpuset -l 0-1 getconf _NPROCESSORS_ONLN returns 4 rather than 2 or even add a shallow usr.bin/nproc(1) that does only this operation, as in Linux? (Or ln(1) it and check out argv[0] to do so?) Having a "portable" thing would be great. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) From nobody Sat Feb 4 21:29:45 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Qf15BJSz3nsmF; Sat, 4 Feb 2023 21:29: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 4P8Qf14RPTz3lpM; Sat, 4 Feb 2023 21:29:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cjSapqU31v3HkG/c0Svpv6AgkFy0AUUARtw08uEv4z8=; b=HqK8VnrtYfiIoGY3A3kZUZnaQQTYklD2QKe0uEH/Vop2wazPVHrGdFydV/rQZ6/kLPU7jc OTlrVdwV8aDH4dOtYkajMB0vVoQxsT7kbDAIkH4Brajsnd3hov5KjsnzdK7lT7j7khAFkp XeoDe1CSdi7uT5sP41GTGePXMbXqCANtRHjfqCu2YUouwz/1zIjjPLqUg6NIGpeypmqhQ7 ZwFilP988+RysUVJlLRE6LBiKG2h2nZpzhqhOHslQWr9UG347p71ccGi1VarYr3VcJC4NU P/TGADQT9xsHuJiC1507ENeB3IjcgIUIsmq/AX36SqPx0QAuCVresTqqGROwcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cjSapqU31v3HkG/c0Svpv6AgkFy0AUUARtw08uEv4z8=; b=AGFxptfW2F7Bny/ybZiD/g04u5AvcDv6cZasVgIlLFQK6ucAvXJTuuB45/RSxsqSY66nEb KomszdItebCRa2hxNQtTGuVvfPRdy2M3z7XN5/HMzdZvCWo52Q5yQ2d4tOKIgtyy31wvDz 30XB7f2Y+t4mD3iI/1tupCQnkCOz1OhYEsyRxQ9oV4l6TKSmRsp5CazVVdFa27ccb8U3sI Pr/2En1/NjDHiYKyNhqIMGwsbPaOn7Lf1mkPflbHtSy8DdkHQ20lXTcsYQrBxfL2eQL9Yz POHjqeiyoUDjZ3XR0g6SwRVXf4/dYXjZ+FUOrbgi8pjIQAqyu3qJyNZJWj5Q/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675546185; a=rsa-sha256; cv=none; b=kTKQcXFr/8kuhFXmNd/HPFnKpB9ZLsLojrLm8d9Z2+rZFKSZMpKk22Z7/h+PtYbzT/2K0G go3S2/npc0Kh6f7sy4fuw44AsMIkPulGBqMG2bUi4kv2Ejnx+NtggBUFveP0JHwkiEDU6T v52Adc5SEil2q/k7nWC3pJxKISJ3BHCaqLZ2HxSSdK8Dma+4V2HO+26Ru8latQvqwc/1/K yyQ/KhfGIXu+p3TxuOOxgV9uixxoSVwF6gwFTnNMoXDRROgvzF5qt1pG9KyHYRBkB+u0j3 iJwzWa4GxoaCz8G8rNtbmZ04EkthnZD4YdRLBH4OAeUUVJsOpH6RIrRLPbDs0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Qf13Tn2zVkg; Sat, 4 Feb 2023 21:29:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314LTjxt047375; Sat, 4 Feb 2023 21:29:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314LTjrR047374; Sat, 4 Feb 2023 21:29:45 GMT (envelope-from git) Date: Sat, 4 Feb 2023 21:29:45 GMT Message-Id: <202302042129.314LTjrR047374@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 2c6b88da7174 - main - usb: Add Huawei 4G Modem devices (2022) to usbdevs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c6b88da7174b02c98b87cd4b7251ccf9d7acbae Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=2c6b88da7174b02c98b87cd4b7251ccf9d7acbae commit 2c6b88da7174b02c98b87cd4b7251ccf9d7acbae Author: Michael Paepcke AuthorDate: 2022-12-16 10:05:10 +0000 Commit: Warner Losh CommitDate: 2023-02-04 21:27:08 +0000 usb: Add Huawei 4G Modem devices (2022) to usbdevs ADD [sys/dev/usb/usbdevs] - add new Huawei 4G E3372_NCM 0x1505 - add new Huawei 4G E3372v153_NCM 0x155f - add new Huawei 4G E5573Cs322_NCM 0x155e - add new Huawei 4G E5573Cs322_ECM 0x14db - add new Huawei 4G E5573Cs322_ACM 0x1442 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/633 --- sys/dev/usb/usbdevs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index 005a5d9c1037..4e4152e42039 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -2568,6 +2568,12 @@ product HUAWEI E173 0x1c05 3G modem product HUAWEI E173_INIT 0x1c0b 3G modem initial product HUAWEI E3272 0x1c1e LTE modem product HUAWEI E3372_INIT 0x1f01 LTE modem initial +product HUAWEI E3372_NCM 0x1506 LTE modem in NCM mode +product HUAWEI E3372v153_INIT 0x14fe LTE modem initial +product HUAWEI E3372v153_NCM 0x155f LTE modem in NCM mode +product HUAWEI E5573Cs322_NCM 0x155e LTE AP modem NCM mode +product HUAWEI E5573Cs322_ECM 0x14db LTE AP modem ECM mode +product HUAWEI E5573Cs322_ACM 0x1442 LTE AP modem ACM mode /* HUAWEI 3com products */ product HUAWEI3COM WUB320G 0x0009 Aolynk WUB320g From nobody Sat Feb 4 21:29:46 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Qf25vpFz3nsLJ; Sat, 4 Feb 2023 21:29: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 4P8Qf25JXKz3lsD; Sat, 4 Feb 2023 21:29:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yaDEoKAJ1vIyCclnq6Xk5rVlgobr4HkKZulT2bhKNzA=; b=l83vbjXSA3xiQK1qEvzIGOcI0s2zBXqZhLWGkhxBmd8BIHQgHik7J4Tm8eiBJnNTVGs81y 2sI/SLYKSgBgtJVgXyF6c2M2P8ss51gh2ba7ctwafF7tSbJ6nYJfLRkR56njRGTLH7SgIr i6d2vjZvelCZ5Ip3LwYAOD85D9hl5X9OK4Pwe2X+iNGe7wdEAeCdU9VQJX4Hmc4fmgpIQL vVK/GtOA4QIwVUiS67ku/dV85VcaL0Cj/83fLVdQORc/Sy4ov+420t8A+IjIIHgHS3p/Be CP0Q2qLUSz+P3oPlLy68Jis9QwMZE9NVEAG3TSwDnAxqXEH493t4OXQbI0VuLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yaDEoKAJ1vIyCclnq6Xk5rVlgobr4HkKZulT2bhKNzA=; b=ePSwlJgC6Bek4fiMOzKrJ+89h/1V/UZSgxi3qgASKYSXOCmCFjIUqQ9juuRTdoitaVqHG4 h2XbcoJJab81OxyrP077HVBRQy5wHgWuQssX5YLQjfNL2jAhNos85QNcQwgQ3pK7D/7QD6 rl0IvsOJRC0FmALhUWuk/qbTDm3E/fIBnx4VRy7lbPpxJqoapfvjlDV5Z3JQsGDQyktDpL jSES8CJHVp2a/UJOxmqlnpozeip8oZ0FoA96dvOWemwyFFFZa70hQxZt7NyaxD7uHZwjvZ bijZr6rAqsHneDwu5H+M1sLBEjQQdS+wCyTxpwvCf2axGt0Apcdqsm4UHeMowg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675546186; a=rsa-sha256; cv=none; b=StYFsEtpOQXpTtBKhwjacPrbis4kvgaYeutJV+TxkLJDkZ2aE8obLNC+2K3Ai8sTV11u8o 1kyLGXX7DJkn2JkGLTZP9mGr/96UvR/tDvUcCDOtkk1YT7k/xbEYbTBj0DeCyOoIKBtS6S 8kmejtp6rVR7NSEqHBM8wvrRrj87dwY6/YJ3LydLiMNTg0HyBodEkOLcELQUBFgGRA5nj0 WrdyblqLCCrXO/tnoOxLziYhiC+cRNhpD8rPUB2qsScJOiXbg5+SMpy1mXwiPxaBixmoZr dWhkEMMy7hCrbGDXCcljM6NjYngETNRelB698OFK14LySO+wh9G9E2GYs5L6HQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Qf23yzCzVlS; Sat, 4 Feb 2023 21:29:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314LTkvT047399; Sat, 4 Feb 2023 21:29:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314LTkhP047398; Sat, 4 Feb 2023 21:29:46 GMT (envelope-from git) Date: Sat, 4 Feb 2023 21:29:46 GMT Message-Id: <202302042129.314LTkhP047398@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 64fd867f8cdb - main - usb: add new scsi_huawei eject3 & eject4 quirks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64fd867f8cdbad24d7af678ee17bd3893832b905 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=64fd867f8cdbad24d7af678ee17bd3893832b905 commit 64fd867f8cdbad24d7af678ee17bd3893832b905 Author: Michael Paepcke AuthorDate: 2022-12-16 10:12:17 +0000 Commit: Warner Losh CommitDate: 2023-02-04 21:27:08 +0000 usb: add new scsi_huawei eject3 & eject4 quirks Add new scsi_huawei eject3 & eject4 mode driver to usb quirks Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/633 --- sys/dev/usb/quirk/usb_quirk.c | 2 ++ sys/dev/usb/quirk/usb_quirk.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c index d67007012251..6e45e5a2b043 100644 --- a/sys/dev/usb/quirk/usb_quirk.c +++ b/sys/dev/usb/quirk/usb_quirk.c @@ -698,6 +698,8 @@ static const char *usb_quirk_str[USB_QUIRK_MAX] = { [UQ_MSC_EJECT_SAEL_M460] = "UQ_MSC_EJECT_SAEL_M460", [UQ_MSC_EJECT_HUAWEISCSI] = "UQ_MSC_EJECT_HUAWEISCSI", [UQ_MSC_EJECT_HUAWEISCSI2] = "UQ_MSC_EJECT_HUAWEISCSI2", + [UQ_MSC_EJECT_HUAWEISCSI3] = "UQ_MSC_EJECT_HUAWEISCSI3", + [UQ_MSC_EJECT_HUAWEISCSI4] = "UQ_MSC_EJECT_HUAWEISCSI4", [UQ_MSC_EJECT_TCT] = "UQ_MSC_EJECT_TCT", [UQ_BAD_MIDI] = "UQ_BAD_MIDI", [UQ_AU_VENDOR_CLASS] = "UQ_AU_VENDOR_CLASS", diff --git a/sys/dev/usb/quirk/usb_quirk.h b/sys/dev/usb/quirk/usb_quirk.h index 755465576684..399c8d3f65b4 100644 --- a/sys/dev/usb/quirk/usb_quirk.h +++ b/sys/dev/usb/quirk/usb_quirk.h @@ -108,6 +108,8 @@ enum { UQ_MSC_EJECT_SAEL_M460, /* ejects after Sael USB commands */ UQ_MSC_EJECT_HUAWEISCSI, /* ejects after Huawei SCSI command */ UQ_MSC_EJECT_HUAWEISCSI2, /* ejects after Huawei SCSI 2 command */ + UQ_MSC_EJECT_HUAWEISCSI3, /* ejects after Huawei SCSI 3 command */ + UQ_MSC_EJECT_HUAWEISCSI4, /* ejects after Huawei SCSI 4 command */ UQ_MSC_EJECT_TCT, /* ejects after TCT SCSI command */ UQ_BAD_MIDI, /* device claims MIDI class, but isn't */ From nobody Sat Feb 4 21:29:47 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Qf36Mb9z3nsLK; Sat, 4 Feb 2023 21:29: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 4P8Qf35rVkz3lw5; Sat, 4 Feb 2023 21:29:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Uhr4Dq2Me5qr7B4rIRCmjGXBDIU63gSBViR+gT2Tec=; b=ClIiShmOULBJif8ncJqfvju1zzBPeWAOavCZErQTknBX2wanktTKgskguYPOaPG+pTHNrG 8WFSTqPzFC0P4MjDKsrV+tT8Pc97dRF/UXw+VBS04J0hMIJqWnO1U8H42jouhdcYfxkpVk gmBjQAAzRC6ccIDmk8h9F1c0b0meH0a8wZDtg6LzbeSS32O/OSuPetTEG6pHp4d3vJ9pHL 7324Ee1cubkV20qCNKNmVbRZ7AZbw4B1Y4nB55Gf+9sBExJf5jmtttjjKh1h1PVEQyOmnh +4QeS6bdrGM959OZ2yFxvUQL3BmcqSwSl2TNganxQfwElmzKMpZj9sRqsEWr2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1Uhr4Dq2Me5qr7B4rIRCmjGXBDIU63gSBViR+gT2Tec=; b=SxwQQZ/MWYON4X5Kpg/bl1uxl1uiE2mr4iJSaO1Ud6HeR29dwjDHWmlFDFMCW/EKJskP4s zZd4vgoG+ulj5xtK23mHb1kMFypAAYi6sI/K42iEBY6t1d8c0jQdN+d2VW7KueFFt7ORee QBkCLJukNU+4qzxjvZ5ep8R4xCLtmE8ofYPDfv4BjXQul8fJnBvgHdp0gP9t5kWFGiyXL+ 7ELUTLbH39cPbg3tmwHmyY79F8kpncr21rA6ChAWftmUQjUXzYyKiGYpJ1FIgBetcwqC2C aMkEs/xc8gbssN9jRWa/isQ0Hzj8M0HKiNgXpTwOcC1/1NjmunFi1Rpnsm6mig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675546187; a=rsa-sha256; cv=none; b=WICQYWuV7LichH+4vVvFcALsyIeKbOYFbH6Kcg0Wpy38P3DKiPvta2Atf2ccmYJlFW0/Jh NCEUp3DDryYxNPZ0ZCGMdWley/2sZxcP2gxM/qKFU4CkXobREFYlrsjMHJqf0pcpTVcvaN 8bLGrce2PhoCWJMkofxQOUZFPABIEePGtLxnXH1d/Oh+5zi5hGWKpnVDqZYzIYAmdkYshE 1vdYlHHOYVX3suwisK6W00IaVM5I+24Lz1toS0TfaeDhHVVowV473xyGgPK01LCl3un034 p7WaSrvw6vn/kge4dx6vYSVm/9OPXbMBmzVOgzZX8K8a7o6lhCSSOesDwz+bpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Qf34vp7zVkh; Sat, 4 Feb 2023 21:29:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314LTlCG047425; Sat, 4 Feb 2023 21:29:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314LTlPP047424; Sat, 4 Feb 2023 21:29:47 GMT (envelope-from git) Date: Sat, 4 Feb 2023 21:29:47 GMT Message-Id: <202302042129.314LTlPP047424@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 7d4b2b5834db - main - usb: add new scsi_huawei eject3 & eject4 sequences List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7d4b2b5834dba66732596d68d7f817d18affb67f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7d4b2b5834dba66732596d68d7f817d18affb67f commit 7d4b2b5834dba66732596d68d7f817d18affb67f Author: Michael Paepcke AuthorDate: 2022-12-16 10:21:14 +0000 Commit: Warner Losh CommitDate: 2023-02-04 21:27:08 +0000 usb: add new scsi_huawei eject3 & eject4 sequences Add new Huawei eject3 and eject4 command sequences. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/633 --- sys/dev/usb/usb_msctest.c | 16 ++++++++++++++++ sys/dev/usb/usb_msctest.h | 2 ++ 2 files changed, 18 insertions(+) diff --git a/sys/dev/usb/usb_msctest.c b/sys/dev/usb/usb_msctest.c index bf60e5852598..887756c17a31 100644 --- a/sys/dev/usb/usb_msctest.c +++ b/sys/dev/usb/usb_msctest.c @@ -107,6 +107,12 @@ static uint8_t scsi_huawei_eject[] = { 0x11, 0x06, 0x00, 0x00, 0x00, 0x00, static uint8_t scsi_huawei_eject2[] = { 0x11, 0x06, 0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; +static uint8_t scsi_huawei_eject3[] = { 0x11, 0x06, 0x20, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; +static uint8_t scsi_huawei_eject4[] = { 0x11, 0x06, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; static uint8_t scsi_tct_eject[] = { 0x06, 0xf5, 0x04, 0x02, 0x52, 0x70 }; static uint8_t scsi_sync_cache[] = { 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; @@ -1005,6 +1011,16 @@ usb_msc_eject(struct usb_device *udev, uint8_t iface_index, int method) &scsi_huawei_eject2, sizeof(scsi_huawei_eject2), USB_MS_HZ); break; + case MSC_EJECT_HUAWEI3: + err = bbb_command_start(sc, DIR_IN, 0, NULL, 0, + &scsi_huawei_eject3, sizeof(scsi_huawei_eject3), + USB_MS_HZ); + break; + case MSC_EJECT_HUAWEI4: + err = bbb_command_start(sc, DIR_IN, 0, NULL, 0, + &scsi_huawei_eject4, sizeof(scsi_huawei_eject4), + USB_MS_HZ); + break; case MSC_EJECT_TCT: /* * TCTMobile needs DIR_IN flag. To get it, we diff --git a/sys/dev/usb/usb_msctest.h b/sys/dev/usb/usb_msctest.h index ba4e094bab60..08a7de1b5b9c 100644 --- a/sys/dev/usb/usb_msctest.h +++ b/sys/dev/usb/usb_msctest.h @@ -36,6 +36,8 @@ enum { MSC_EJECT_CMOTECH, MSC_EJECT_HUAWEI, MSC_EJECT_HUAWEI2, + MSC_EJECT_HUAWEI3, + MSC_EJECT_HUAWEI4, MSC_EJECT_TCT, }; From nobody Sat Feb 4 21:29:48 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Qf50hV9z3nsmP; Sat, 4 Feb 2023 21:29: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 4P8Qf46ZDZz3m23; Sat, 4 Feb 2023 21:29:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hvdh7bQtn0dHSy+ZWSv9ltbQC07aQvV26pDw3UXBMZs=; b=dg/Y5tv8yacZ/rD+ysd2i+wRkxE4cvLnANcnTy86sEcv9AXvGDB2QMwDb3x23iSiFYwIJZ ozPXVZuS0v22c929TBhJAEnF4r0M4gXF2MnB6iHeM3Vpa1TQ0FtUlAkExufguYqYAqR3y6 OxBAg/ZIDI7t/7iSPKzcG0ZcJV4pDIOAM1Z2ETHTabasBPcSzPRiCMwa0iu/3tK9MuNvr1 s/dyf/GBXbyfcF2fWrMI61AATFbsvPD6At8nJxUqm2QvUhzVxihYtxOKJk7AL5w9xHN0QM R7ddxd1kDnzVhR8I2K6BvWkldztUjN2z60Zb12Y2yzOnX5cZRoa+eToWmToBVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hvdh7bQtn0dHSy+ZWSv9ltbQC07aQvV26pDw3UXBMZs=; b=mOu6fqYcnLbLtoIF42Wa2lDRxCbF80+lX0LXhZHdkol7QESHVfw+svT0VXOYfmuqLilomO qH8qWdaqsZg1y0ORNfFp2WyE0RCpRW23jVmP8bEiEACCK3CoVych1GK1rAIaKWc/AVboeg wDljOaLREcpTgDwwXvNEWxGXmbK1Lp7cPU+JDSonQcvMoWnyeiNrfV10h9YbY5dRt8zoTe L3NC3Tv1Hhiv7iohIZytPOQNSjqQGAK1KMYfN6/wy011NrT6r4CsguAtIQaVorEqXOdV4P tv/kWg6fsUwQqxnNLCW5XKrPHgOaIhDRvzL5LvBtRvch4LBLFuBz/CUsj2r3lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675546188; a=rsa-sha256; cv=none; b=EXAKiGLFpVpOfvjF0iNZ/7FFEA/eV/CBr6Az+Rl3U5hZs6tK/RQpwhude3JRRS7Ox1kMS1 iqadEqjyM78YI6Cadg7pMjO5ORrpHNz8LF51lH9mfIeUukhJgdGzgBYjeOVuY5Rsrp9JRn SQ8d/hhieO2EjCjbmlRGRh7CTFe3oaYbXuUTJBFxOMX5Tnbyps7VHRwTaH57SaxsrmQNKC TaB5Eo01Q0ICeHY6TrwDg95I1BwdGNbGaZPnb/glfETln8J60Ci456gFd5far44zqzn7Nd auq1o6MwjaZtZVsVTSjW4gRRlc8W/QTowiLq4Fi34waWPDkie7VM8A4wr1VUNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Qf45cMRzVkj; Sat, 4 Feb 2023 21:29:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314LTmQM047450; Sat, 4 Feb 2023 21:29:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314LTmQr047449; Sat, 4 Feb 2023 21:29:48 GMT (envelope-from git) Date: Sat, 4 Feb 2023 21:29:48 GMT Message-Id: <202302042129.314LTmQr047449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 1997d3a4a9f2 - main - usb: add new scsi_huawei eject3 & eject4 driver support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1997d3a4a9f20a846cf762306fd5193526a1d603 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1997d3a4a9f20a846cf762306fd5193526a1d603 commit 1997d3a4a9f20a846cf762306fd5193526a1d603 Author: Michael Paepcke AuthorDate: 2022-12-16 10:28:45 +0000 Commit: Warner Losh CommitDate: 2023-02-04 21:27:08 +0000 usb: add new scsi_huawei eject3 & eject4 driver support Add initialization for new Huawei 4G E3372_NCM, E3372v153_NCM, E5573Cs322_NCM, E5573Cs322_ECM, and E5573Cs322_ACM. Remove now-obsolete Huawei 3G E3131 init sequence. These devices are obsolete, share IDs with new devices and the 3G networks are shutdown. These old devices work correctly via the 4G code while still allowing the shared IDs to work differently for the new devices. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/633 --- sys/dev/usb/net/if_cdce.c | 2 ++ sys/dev/usb/serial/u3g.c | 24 ++++++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/sys/dev/usb/net/if_cdce.c b/sys/dev/usb/net/if_cdce.c index 551ba5d7fefa..50f909c630cd 100644 --- a/sys/dev/usb/net/if_cdce.c +++ b/sys/dev/usb/net/if_cdce.c @@ -265,6 +265,8 @@ static int cdce_driver_loaded(struct module *, int, void *); static const STRUCT_USB_HOST_ID cdce_switch_devs[] = { {USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3272_INIT, MSC_EJECT_HUAWEI2)}, + {USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3372v153_INIT, MSC_EJECT_HUAWEI2)}, + {USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3372_INIT, MSC_EJECT_HUAWEI3)}, }; static const STRUCT_USB_HOST_ID cdce_host_devs[] = { diff --git a/sys/dev/usb/serial/u3g.c b/sys/dev/usb/serial/u3g.c index 11e3b11ab65a..868ed9a86f9b 100644 --- a/sys/dev/usb/serial/u3g.c +++ b/sys/dev/usb/serial/u3g.c @@ -89,7 +89,9 @@ SYSCTL_INT(_hw_usb_u3g, OID_AUTO, debug, CTLFLAG_RWTUN, #define U3GINIT_SAEL_M460 8 /* Requires vendor init */ #define U3GINIT_HUAWEISCSI 9 /* Requires Huawei SCSI init command */ #define U3GINIT_HUAWEISCSI2 10 /* Requires Huawei SCSI init command (2) */ -#define U3GINIT_TCT 11 /* Requires TCT Mobile init command */ +#define U3GINIT_HUAWEISCSI3 11 /* Requires Huawei SCSI init command (3) */ +#define U3GINIT_HUAWEISCSI4 12 /* Requires Huawei SCSI init command (4) */ +#define U3GINIT_TCT 13 /* Requires TCT Mobile init command */ enum { U3G_BULK_WR, @@ -318,8 +320,6 @@ static const STRUCT_USB_HOST_ID u3g_devs[] = { U3G_DEV(HUAWEI, E143F, U3GINIT_HUAWEI), U3G_DEV(HUAWEI, E173, 0), U3G_DEV(HUAWEI, E173_INIT, U3GINIT_HUAWEISCSI), - U3G_DEV(HUAWEI, E3131, 0), - U3G_DEV(HUAWEI, E3131_INIT, U3GINIT_HUAWEISCSI2), U3G_DEV(HUAWEI, E180V, U3GINIT_HUAWEI), U3G_DEV(HUAWEI, E220, U3GINIT_HUAWEI), U3G_DEV(HUAWEI, E220BIS, U3GINIT_HUAWEI), @@ -342,6 +342,12 @@ static const STRUCT_USB_HOST_ID u3g_devs[] = { U3G_DEV(HUAWEI, ETS2055, U3GINIT_HUAWEI), U3G_DEV(HUAWEI, E3272_INIT, U3GINIT_HUAWEISCSI2), U3G_DEV(HUAWEI, E3272, 0), + U3G_DEV(HUAWEI, E3372_INIT, U3GINIT_HUAWEISCSI3), + U3G_DEV(HUAWEI, E3372v153_INIT, U3GINIT_HUAWEISCSI2), + U3G_DEV(HUAWEI, E3372v153_NCM, 0), + U3G_DEV(HUAWEI, E5573Cs322_NCM, 0), + U3G_DEV(HUAWEI, E5573Cs322_ECM, 0), + U3G_DEV(HUAWEI, E5573Cs322_ACM, 0), U3G_DEV(KYOCERA2, CDMA_MSM_K, 0), U3G_DEV(KYOCERA2, KPC680, 0), U3G_DEV(LONGCHEER, WM66, U3GINIT_HUAWEI), @@ -815,6 +821,10 @@ u3g_test_autoinst(void *arg, struct usb_device *udev, method = U3GINIT_HUAWEISCSI; else if (usb_test_quirk(uaa, UQ_MSC_EJECT_HUAWEISCSI2)) method = U3GINIT_HUAWEISCSI2; + else if (usb_test_quirk(uaa, UQ_MSC_EJECT_HUAWEISCSI3)) + method = U3GINIT_HUAWEISCSI3; + else if (usb_test_quirk(uaa, UQ_MSC_EJECT_HUAWEISCSI4)) + method = U3GINIT_HUAWEISCSI4; else if (usb_test_quirk(uaa, UQ_MSC_EJECT_TCT)) method = U3GINIT_TCT; else if (usbd_lookup_id_by_uaa(u3g_devs, sizeof(u3g_devs), uaa) == 0) @@ -838,6 +848,12 @@ u3g_test_autoinst(void *arg, struct usb_device *udev, case U3GINIT_HUAWEISCSI2: error = usb_msc_eject(udev, 0, MSC_EJECT_HUAWEI2); break; + case U3GINIT_HUAWEISCSI3: + error = usb_msc_eject(udev, 0, MSC_EJECT_HUAWEI3); + break; + case U3GINIT_HUAWEISCSI4: + error = usb_msc_eject(udev, 0, MSC_EJECT_HUAWEI4); + break; case U3GINIT_SCSIEJECT: error = usb_msc_eject(udev, 0, MSC_EJECT_STOPUNIT); break; @@ -888,7 +904,7 @@ u3g_driver_loaded(struct module *mod, int what, void *arg) default: return (EOPNOTSUPP); } - return (0); + return (0); } static int From nobody Sat Feb 4 21:29:49 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Qf62SBKz3nsnn; Sat, 4 Feb 2023 21:29: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 4P8Qf60Nkcz3lwq; Sat, 4 Feb 2023 21:29:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=17gycY1La/nG9Fn13U+r+vI++lqFC4MxU2y0NH5qd+A=; b=xqxnsXaEgaTbgZ9eSJnQPkjCe2umXT62kvntVZ8v2YEwAJeA5eTmUHqUJMUESHizQK3zsO Pak1OQKc0szIG5vg9xw7wptNvqFmH9MNDN34nIcHynZv8wCR2FkxMjkndFj/oRmPYK3kbM H8T8F0ZDp0pfio6J6LdcR6fvfcZLNfkf8XpC3oTNA5ejKmyPNljRv7utNdQ/PTvITJuztW 5raOQI1f4RKgRQgvlGxbpziFrArOg1kvSZHkkCuMi3y28ffelGNgEQXyp4UmhCutTrP+sp 5p7PFS4yjwgO6UcrKrvb5gSlEJAB57QtNiVSgHCRiLVNJ05ihv0aGEM8Mzb3Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=17gycY1La/nG9Fn13U+r+vI++lqFC4MxU2y0NH5qd+A=; b=H+Old5hCFV1bEzmJDIB3AOCQwzjG2l/b+/KCtoSTB6iLbTAOZJ7bhWUzRsPDMmT7sMNK6t tLZhtJNO91Iku5iREiZLoAnJDl0fpaLIDQX0i837gO6sAk77qqUyCMmpcRDTsbEZyjjZSK 4Q/0EERg4zd0HhpEwn64esDxyN5HmjvZLp9jNSBPXZEdZw3kHxpN9sZxmnfmEEI8oM9N3O 8WcwRiGSaM49DRtZMjTnwIZAJSeLwXEZgMgdWlt3fQgEJ0r4nLvxtAyr8k+EGlzXThrCDH 3KDYN4wm4r8x7p+kUW7eEnp3+9iBcwow1eM50CWUuZK79WUA9FxFE3cKAd83Vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675546190; a=rsa-sha256; cv=none; b=CXcb7GELrHYeBlGoAuPY5pZ9J6Y+Sl2xiK3EjX0a3TjABtkEQxK3T8untgartn//C0yNX0 NI4e/m/C7bjzNCBn7xtoKJwEN9yekmsYdzQTQytLW3YhRjyXxx/8PNaNDUMMQvGHQEA3y5 9GOfE2aWygavWy7fFNmJFn2F4gVPM9w4amPjODWxb/kJmzsuiHbog9oZO6UoaYcV+0FODu odraSotWYiNlgtYS4CAJwh0EmV3NQSYsBWtyEHU319bLuIIeGM6rb5vXPniYIBTJMafOi0 Aa9nafPolYNbWAI2cvBLDzvMcYarW9IEe5XqT7vb14d48/nPFV/bKsy5JMlpNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Qf56XFMzVYn; Sat, 4 Feb 2023 21:29:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314LTnBb047474; Sat, 4 Feb 2023 21:29:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314LTnjW047473; Sat, 4 Feb 2023 21:29:49 GMT (envelope-from git) Date: Sat, 4 Feb 2023 21:29:49 GMT Message-Id: <202302042129.314LTnjW047473@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: e66352013a67 - main - usb: add support for Huawei E5573Cs322 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e66352013a67183dfeec14b2a22913305c26e838 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e66352013a67183dfeec14b2a22913305c26e838 commit e66352013a67183dfeec14b2a22913305c26e838 Author: Michael Paepcke AuthorDate: 2022-12-17 16:51:36 +0000 Commit: Warner Losh CommitDate: 2023-02-04 21:27:09 +0000 usb: add support for Huawei E5573Cs322 Switch the now added E5573Cs322_ECM (0x14db) as well per default to NCM. With this patch we default all devices to simple NCM mode to avoid the problem and get a consistent reliable behavior. No matter what firmware version and provider mix are involved. Rationale: Even the bigger SOC shows under complex load in ECM (double-nat) mode the same performance drop from 25Mbit to 2Mbit Line Speed, similar to E3372h. Reason: Thermal problems (reported via serial debug interface in ACM Mode) after 2-3 minutes load. Fix the root cause and bundle a working firmware is out of reach because Huawei sells the same hardware, different (crippled) firmware versions at different price points in different markets as strategy. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/633 --- sys/dev/usb/net/if_cdce.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/net/if_cdce.c b/sys/dev/usb/net/if_cdce.c index 50f909c630cd..3cad74a11022 100644 --- a/sys/dev/usb/net/if_cdce.c +++ b/sys/dev/usb/net/if_cdce.c @@ -266,7 +266,8 @@ static int cdce_driver_loaded(struct module *, int, void *); static const STRUCT_USB_HOST_ID cdce_switch_devs[] = { {USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3272_INIT, MSC_EJECT_HUAWEI2)}, {USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3372v153_INIT, MSC_EJECT_HUAWEI2)}, - {USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3372_INIT, MSC_EJECT_HUAWEI3)}, + {USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3372_INIT, MSC_EJECT_HUAWEI4)}, + {USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E5573Cs322_ECM, MSC_EJECT_HUAWEI3)}, }; static const STRUCT_USB_HOST_ID cdce_host_devs[] = { From nobody Sat Feb 4 21:29:50 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Qf71zZHz3nsr8; Sat, 4 Feb 2023 21:29: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 4P8Qf71VvLz3mLT; Sat, 4 Feb 2023 21:29:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iaChiPQOv1ZKRkwH/EprCHdg2GqKEMyXhZIUcHHm8VI=; b=gzfbiPBTdtU4O1rY4dnt44A2KKKrAbqkO35RtD7PzrqwuXhmSpjJlTZImnU1rqbFJ5vu6x OoGlWAZ2cGT9XBWmhtuHiS7F2b7flBzpkHbYtGMTrpIYdsR7lQ9p8dLx87q1zoqGdTN3Fs EE7Q2OITa7znx3ngyF2mJagG/ou6oYcZNvZd6xj6HvDwq89mDHIaaGkTjyKHuKCqsgVCNy GzTPscwUYB+sVsCUVKE1NENXb+k2NpTDys2LpK+IsrFA90fw5jlglMs2QWl7qf6/TIWrRD FqaAS+enS76+L9d56Ktr8AGQwXpIfG81TSTZCORWn61dMvPUqcYDvFHqlYfHNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iaChiPQOv1ZKRkwH/EprCHdg2GqKEMyXhZIUcHHm8VI=; b=s5dVNq/t71L+xjenq/cSXqMvsyOpKKxzFUhjSBWhobIBN5VhSVMmqUYIeVKq639QwbrT2G ztePEj+QEwKfQ9sV/IioQSC33nDEjlabG+YUqRaTUTqaW51FhqMALqClfTqLtL/Q7Hg+3f 2aog/eCsiJzo1AzJ+tmt0oNkVe9jFg6KlDd45gzZqaU0zoIND9c76b8hhxBfDk6wPy4P1i kQgdGkqg7uHiVZ5BbV439nV/Jz70EtEgEPkP8xFWEoJ/S/JijM6wiL0dZLoMIMtpuBrtIx jBNu+uqT/bXBXbOhhdrzuTPz53QrmNZqKQYQjt9DC9RNQj2DEsacmQUZpKMaMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675546191; a=rsa-sha256; cv=none; b=NgDpo85otvhPIdxeozxKPH7fFU0BOB1HbNjUx6LLQIcnngc+2bUslmKjKHZ2AxQRcV77mg 4+x6b56pQ15V+Uyr86UPnDtKxna4Qkd//CLnjDCG34ZfMKvwjwE4Xm79aot7VPYSVpy2Lg BtP3wycCsHI5KWHbIDrE6hzgfTB+KvLvuZCh4Rcq3TBaR/h59tCai/AchmxTnJa5aAi94M y4L7yFhb1vMW0T2Asmda33JP6Xbb0VE/ORZOhXcuBL8DpFXyeHYrvqLqtGhsGva+pDIE4D Lo/d6kk7rDmLrSOL1pCvMiBuDS7oKHeL88DmXGqaWBaMESW0lMPIdJlIaGdvug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Qf70WlzzVNr; Sat, 4 Feb 2023 21:29:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314LTo14047504; Sat, 4 Feb 2023 21:29:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314LTo1K047503; Sat, 4 Feb 2023 21:29:50 GMT (envelope-from git) Date: Sat, 4 Feb 2023 21:29:50 GMT Message-Id: <202302042129.314LTo1K047503@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 848ac8451b08 - main - usb: Remove obsolete Huawei 3G from usbdevs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 848ac8451b08d09a81de7bac8ff8fbe0d35df8cb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=848ac8451b08d09a81de7bac8ff8fbe0d35df8cb commit 848ac8451b08d09a81de7bac8ff8fbe0d35df8cb Author: Michael Paepcke AuthorDate: 2022-12-16 10:05:10 +0000 Commit: Warner Losh CommitDate: 2023-02-04 21:27:09 +0000 usb: Remove obsolete Huawei 3G from usbdevs - remove Huawei 3G E3131 (E3131_INIT): - frees up 0x1505/0x14fe shared IDs => product is EOL (since...) - 3G networks are shutdown/scheduled - E3131 devices will still work the same via scsi_huawei_eject2 - new 4G devices will switch & report correctly now Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/633 --- sys/dev/usb/usbdevs | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs index 4e4152e42039..01eb4d3b9a80 100644 --- a/sys/dev/usb/usbdevs +++ b/sys/dev/usb/usbdevs @@ -2552,9 +2552,7 @@ product HUAWEI K3770 0x14c9 3G modem product HUAWEI K3771 0x14ca K3771 product HUAWEI K3772 0x14cf K3772 product HUAWEI K3770_INIT 0x14d1 K3770 Initial -product HUAWEI E3131_INIT 0x14fe 3G modem initial product HUAWEI E392 0x1505 LTE modem -product HUAWEI E3131 0x1506 3G modem product HUAWEI K3765_INIT 0x1520 K3765 Initial product HUAWEI K4505_INIT 0x1521 K4505 Initial product HUAWEI K3772_INIT 0x1526 K3772 Initial From nobody Sat Feb 4 21:34:51 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Qlv6CPQz3kQnv; Sat, 4 Feb 2023 21:34: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 4P8Qlv5mYdz3p1v; Sat, 4 Feb 2023 21:34:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w/z41XquGloucz14tmflRp+5AK8VNHDhn81+bdlYIc8=; b=x5xUfFXaQCNYPSczynmAZs1O2mhbHjpl1njdwuHHAjQiGDbWOrUnuUHgzXJY6Bv891E5IG WPQaRQHNAyPtB676P3mKYmFnG77Pk5MvI2AgJEq412siGVOUQDxnLZI1axgJJkYIeD+JEs lnqliR43wFB3/MaTzVD3fkDa08eeao9mbKR9FPx3iCbdGY3LSRd7uhMq+6wIX8HRg8CGAk aNlxDrD4WCsuhuOcfAU4bnVTsOSYNBtKmley2/KXnA3KpGFylWMd1s2DHfBOFdH7ByNH2k Y6C6ZiMyW2nKCI0GMIUsMNcJWSm/6Q9HFU5e6kUDCYtzOHIrHcl9oW96FrYpfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675546491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w/z41XquGloucz14tmflRp+5AK8VNHDhn81+bdlYIc8=; b=hzxristsaktT+vsDKlwgUa97lhB+dQymPPsnVLY3C4FaQQERamiuH88KkHB3Nvf1X+1scS Udzezpj55YQL6/9V6JvJaEKM3x20sm9jaj5eXkHSoSUSmR2VP2ActJb/ilwFZCbSgJaH6Y th2d7kia3VAc6r88g4aD1wWI70OMPVwS60LQ+A2GPHeCDi1QD+LpPGKRdR2UotUTztLD6z e9vDaW4vYXKe3y+xtvUcftK6udMCKdMb/wjwbrkIL5Ld7I5Q/BqbZAvBR9L1JOQM6yiFHR I7Wg8FyfQKSajxlSwEsaGHLLPN7Q2vkAB8u/oIeTgbk5aOUEaC5zJy+LNov+lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675546491; a=rsa-sha256; cv=none; b=f39bDkFdgE08mFF3V2HlXYCDXZJKnlpGHtO8MxSUV/kuOyV/NPIcBKO6cNtwB9E0Jmkpkt U2SU+k+y/QpDriLygS34ESTsMUt0FnV/RhzN+/9PthMoR/594JEarTArf5vu5MSV4mjdcz jNPwAG8M7JgvnnflQIo6c561972OU4L2ybTratkndfmcAxLsmdXLROdf3jbLlo+4EylnUl HOC0yQs2WwJRVtZLEvysDZ+KFTmfXSbkK+U5JWw83e9QN6v0rtMuroOvWFseKAe2dhbU6S K7xFs4fEqtrnA6baNWYxIHIqAWM4Whrsa/Flj9t5NXHmTzl1tJ/Ky7HZoHCJYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8Qlv4pnJzVvy; Sat, 4 Feb 2023 21:34:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314LYpFO061767; Sat, 4 Feb 2023 21:34:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314LYpii061766; Sat, 4 Feb 2023 21:34:51 GMT (envelope-from git) Date: Sat, 4 Feb 2023 21:34:51 GMT Message-Id: <202302042134.314LYpii061766@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 75d41cb6967b - main - u3g: Add new 4G Huawei devices List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 75d41cb6967bef0e534afd6d20ea5eeeb2435e36 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=75d41cb6967bef0e534afd6d20ea5eeeb2435e36 commit 75d41cb6967bef0e534afd6d20ea5eeeb2435e36 Author: Michael Paepcke AuthorDate: 2023-02-04 21:30:29 +0000 Commit: Warner Losh CommitDate: 2023-02-04 21:31:41 +0000 u3g: Add new 4G Huawei devices New 4G devices. Longer description of new modes to follow. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/633 --- share/man/man4/u3g.4 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man4/u3g.4 b/share/man/man4/u3g.4 index 53094929074f..0cc2f3ec7693 100644 --- a/share/man/man4/u3g.4 +++ b/share/man/man4/u3g.4 @@ -18,12 +18,12 @@ .\" .\" $FreeBSD$ .\" -.Dd June 15, 2021 +.Dd February 4, 2023 .Dt U3G 4 .Os .Sh NAME .Nm u3g -.Nd USB support for 3G datacards +.Nd USB support for 3G and 4G datacards .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -74,7 +74,7 @@ Qualcomm Inc. GOBI 1000, 2000 and 3000 devices with MDM1000 or MDM2000 chipsets .It QUECTEL EC25, EM05, EM12-G. .It -Huawei B190, E180v, E220 ('') +Huawei B190, E180v, E220, E3372, E3372v153, E5573Cs322, ('') .It Novatel U740, MC950D, X950D, etc. .It From nobody Sat Feb 4 22:14:46 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8Rf22tZ0z3kSyS; Sat, 4 Feb 2023 22:14:50 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-oa1-x29.google.com (mail-oa1-x29.google.com [IPv6:2001:4860:4864:20::29]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P8Rf10JQWz3sMD; Sat, 4 Feb 2023 22:14:49 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=epaGUTum; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2001:4860:4864:20::29 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-oa1-x29.google.com with SMTP id 586e51a60fabf-15ff0a1f735so10971406fac.5; Sat, 04 Feb 2023 14:14:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=RRGNv27Dx9Ejy01wYuz0Tz4a9dIcjL2iLPJJCHkXfF0=; b=epaGUTumF8tvUKiqOSlkjwQMCkyB07DegQTRdUOoa1S+p8sltnR5f6V4ZFmBfyMqKG vJoxkd2XTsVtDO5F/UhlE/VJikhKeYp5Trg1j57dHPpQKzi45/xEj8F/YW4XNCEoPrml qlDNsLTI9iGHI8pNGMVxVWJCf+ynpfK7JeMVgfaRuqKUUtpuDIPV1yeHJWKFLBbKycPs 44dA+jISd9XMnfEVIHPLo9rq2So8NHVQqEJN8d334zsa/ZyOhCDYn0YkUBTX18cS+KTb NlHEwbW/3Fdb6atUE0DjqDoipWDqKZAAtS4tU5UORsaTfLk0HJ2XP5aFWuZWIwkU1dRi KY6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RRGNv27Dx9Ejy01wYuz0Tz4a9dIcjL2iLPJJCHkXfF0=; b=lHz7vtGQV7JNCkWVsNWG8s1OQXH4y4aHiWmj1whzLwLQm/R1ZBuw6DF1ARmmek7WU3 e6XHH1PaqPyNOsuxI8/8Btfi0oiA9U4fw3zl2+qBNe+6vfiI6Rm9ClaTAhLHOiNGf4JK Ms5gdU1JaxEsOARfVGPmbbI4TdeKRf1wSkxTwFSiV8KTP4/wsZuOPsePm4tzZkGF3P9n auDLkXV7CsFMwHl68ZioQenDB4QvNo7PkkUUn0IQcRhe4naN/QwgO3taqjDDeY76lgHu VXPyPPKP5AeEiyGTDI4nE5iWVAPufdYr+UcS8lxbPVUVyjqd2W1MenGf4/b2EByBrNfU 64Zg== X-Gm-Message-State: AO0yUKVS5Y0OUWnyp8dWOKaoJluQfBM5ZOVnUxG4Z3O94Wk22iZZ7Bf9 t7YSnoBdeyImFA16pVw6AkVEtksLm2QTknih/SqLP+iG X-Google-Smtp-Source: AK7set8twX0KOm5kNOfiGCN6XhIi+20k/uh7ImqlBEbE66V9kHIfHMjFWMpzKJ3+pGR85dSaVTeq2eXHuBXcLo+9Dvg= X-Received: by 2002:a05:6870:40c8:b0:163:c837:6968 with SMTP id l8-20020a05687040c800b00163c8376968mr837773oal.81.1675548887582; Sat, 04 Feb 2023 14:14:47 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Received: by 2002:a8a:ad6:0:b0:49c:e11d:f815 with HTTP; Sat, 4 Feb 2023 14:14:46 -0800 (PST) In-Reply-To: <20230204203529.CusFt%steffen@sdaoden.eu> References: <202302041751.314HpRrn042970@gitrepo.freebsd.org> <20230204203529.CusFt%steffen@sdaoden.eu> From: Mateusz Guzik Date: Sat, 4 Feb 2023 23:14:46 +0100 Message-ID: Subject: Re: git: d9d5f2c042a5 - main - cpuset: add --count To: Mateusz Guzik , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-2.96 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; R_SPF_ALLOW(-0.20)[+ip6:2001:4860:4000::/36]; MIME_GOOD(-0.10)[text/plain]; NEURAL_SPAM_SHORT(0.04)[0.044]; RCVD_IN_DNSWL_NONE(0.00)[2001:4860:4864:20::29:from]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:2001:4860:4864::/48, country:US]; DKIM_TRACE(0.00)[gmail.com:+]; ARC_NA(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; RCPT_COUNT_THREE(0.00)[4]; FROM_HAS_DN(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Rspamd-Queue-Id: 4P8Rf10JQWz3sMD X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N On 2/4/23, Steffen Nurpmeso wrote: > Mateusz Guzik wrote in > <202302041751.314HpRrn042970@gitrepo.freebsd.org>: > |The branch main has been updated by mjg: > | > |URL: https://cgit.FreeBSD.org/src/commit/?id=d9d5f2c042a51a9f0dd69eb1fc3\ > |49efd81ffa483 > | > |commit d9d5f2c042a51a9f0dd69eb1fc349efd81ffa483 > |Author: Mateusz Guzik > |AuthorDate: 2023-02-04 17:47:41 +0000 > |Commit: Mateusz Guzik > |CommitDate: 2023-02-04 17:50:41 +0000 > | > | cpuset: add --count > | > | Can be used to count the number of hardware threads in the cpu set. > ... > | The intent is to replace calls to sysctl hw.ncpu and kern.smp.cpus \ > | which > | can be found in the tree, which are not adequate given existence of > | cpusets. > > This is great (in respect to a #freebsd IRC from 2021-07-02)! > Are there plans to address > > 19:26 < RhodiumToad> and in fact sysconf(_SC_NPROCESSORS_ONLN) is > implemented as sysctl hw.ncpu > > or > > 19:25 < RhodiumToad> on fbsd 13 on a 4-cpu box, cpuset -l 0-1 getconf > _NPROCESSORS_ONLN returns 4 rather than 2 > So I just checked on Linux and get: $ taskset --cpu-list 0 getconf _NPROCESSORS_ONLN 4 iow the current behavior is probably the expected one. > or even add a shallow usr.bin/nproc(1) that does only this > operation, as in Linux? (Or ln(1) it and check out argv[0] to do > so?) Having a "portable" thing would be great. > I have no opinion on this one, looks a trivial addition, but someone else will have to ack it (most notably whether to add it to cpuset as you suggested above or create new utility altogether). That said, happy to take a look at a patch which adds a *new* nproc utility. -- Mateusz Guzik From nobody Sat Feb 4 22:41:01 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8SDF5XKGz3kVDL; Sat, 4 Feb 2023 22:41: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 4P8SDF55lBz3vNL; Sat, 4 Feb 2023 22:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675550461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3mLivc6qSd0frl8WO7O5M9MPHL3oglnRiMRAQWiMH0M=; b=jlSOypxLDHQv01af68//7IM4S4Ng57CeKbYr98fceILnzDn/wNAbijgTuDezJPUtvPnMBg f3LRTAN1kMt4tlxZxUI7t/f1L0lTUwCxUS80By0kWVgyM+0CpmqQuiimruN3SjEhQPsvk9 xDJcM99hZWjDNJvKOys1BmlEDgswNJ8edSmB9KiQfbgRBoB60Urefe6ZlLO5ReFwEbIf5y 0POKG1rDAKnAsYX/DgxkQrEuZf9lyb5vk9u11YTsSKT90qaX2JCVPWvgG2d9E8+PMS1P4Z /AAv+IJvb1Zyp4w8xCIIEjCUVPMBms9xfPCJYkS5iuCc1Co3cokvMn0JSzAMDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675550461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3mLivc6qSd0frl8WO7O5M9MPHL3oglnRiMRAQWiMH0M=; b=Mya/iGTbWph7YCvdyd9TAzo/t4JmEUdO61h6SVNPGKXnK22RAQAY4otwXimvMen1aud3fQ uLC2WZOn1FcNXzwH6/ZsOpJrzF3k6Jl3FNyqKFs9oklHwQwibZynXRgHWeejhlh3McZefS 23Vo+ucM3MvCDt0MHux2NpqdkBEmDRebH6dQY47LARqQMgwUAeuDLnSTAh3r+aYk1MopRl J+jtiwC1s9e5DbupH8Ym7ymt/+1chikBN8JIBzZVMqqbWsvn1JljjXNu/TCbm1OPYprLNH 5e9ppjg5AKjV0lvfr6RU5pW/CfXOgCEg7wtFt76MiB58ta8yzze42uwdgvHYwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675550461; a=rsa-sha256; cv=none; b=gWotxQ1lSgu7mFkpRBHqs00ohAovqUOEPIlNn2vBnEwIVW9fyZiJjwWuK1tr6CHDs7uG/k B247JfFz3KnCK3lfb0HdSb7WjkekPNkd2Ve2oxn5dQG4T0DhUd6iZb1BC95K+PyvQwhw7P PsHG5D2k+PIHBYuk5R/awFYZsG43niR2KZzannv3CPClYXBVqcoaRHSPS25TcfQcLvAMdg Ubmr+pfY7eWSqlXDdrtNoT5en9P4tiSTfM2WCDa9Ad8dqlKSEDiMj2hNNw78qw+xQCrVt7 vTpX5Z5qqdedA1kHJh1KaJOXoLNlPbiv3nVAQ6BFV30QnSk23+pTibC6BZWqHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8SDF48fLzX6l; Sat, 4 Feb 2023 22:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314Mf18v055472; Sat, 4 Feb 2023 22:41:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314Mf1Zg055471; Sat, 4 Feb 2023 22:41:01 GMT (envelope-from git) Date: Sat, 4 Feb 2023 22:41:01 GMT Message-Id: <202302042241.314Mf1Zg055471@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: d94e0bdc1498 - main - Revert "vfs_export: Add checks for correct prison when updating exports" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d94e0bdc1498fa95d1de0b54dfa9af0d73c0fb21 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=d94e0bdc1498fa95d1de0b54dfa9af0d73c0fb21 commit d94e0bdc1498fa95d1de0b54dfa9af0d73c0fb21 Author: Rick Macklem AuthorDate: 2023-02-04 22:38:32 +0000 Commit: Rick Macklem CommitDate: 2023-02-04 22:38:32 +0000 Revert "vfs_export: Add checks for correct prison when updating exports" This reverts commit 7926a01ed7ae7cefd81ef4cc2142c35b84d81913. A new patch in D38371 is being considered for doing this. --- sys/kern/kern_jail.c | 32 ------------------------------- sys/kern/vfs_export.c | 53 +++++---------------------------------------------- sys/sys/jail.h | 2 -- sys/sys/mount.h | 5 +---- 4 files changed, 6 insertions(+), 86 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 293dd53d65c9..4c1e3ff40c58 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -118,7 +118,6 @@ struct prison prison0 = { .pr_flags = PR_HOST|_PR_IP_SADDRSEL, #endif .pr_allow = PR_ALLOW_ALL_STATIC, - .pr_permid = 1, }; MTX_SYSINIT(prison0, &prison0.pr_mtx, "jail mutex", MTX_DEF); @@ -989,7 +988,6 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) uint64_t pr_allow_diff; unsigned tallow; char numbuf[12]; - static uint64_t init_permid = 2; error = priv_check(td, PRIV_JAIL_SET); if (!error && (flags & JAIL_ATTACH)) @@ -1619,7 +1617,6 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) TASK_INIT(&pr->pr_task, 0, prison_complete, pr); pr->pr_id = jid; - pr->pr_permid = init_permid++; if (inspr != NULL) TAILQ_INSERT_BEFORE(inspr, pr, pr_list); else @@ -3538,35 +3535,6 @@ prison_isalive(const struct prison *pr) return (true); } -/* - * Return true if the prison is currently alive. Identified by pr_permid. - */ -bool -prison_isalive_permid(const uint64_t prison_permid) -{ - struct prison *pr; - bool alive; - - /* - * permid == 0 --> never assigned to a prison - * permid == 1 --> assigned to prison0, always alive - */ - if (prison_permid == 0) - return (false); - else if (prison_permid == 1) - return (true); - sx_slock(&allprison_lock); - TAILQ_FOREACH(pr, &allprison, pr_list) { - if (pr->pr_permid == prison_permid) { - alive = prison_isalive(pr); - sx_unlock(&allprison_lock); - return (alive); - } - } - sx_unlock(&allprison_lock); - return (false); -} - /* * Return true if the prison is currently valid. A prison is valid if it has * been fully created, and is not being destroyed. Note that dying prisons diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 024adfe152d6..024011de4c89 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -71,6 +70,7 @@ static MALLOC_DEFINE(M_NETADDR, "export_host", "Export host address structure"); static struct radix_node_head *vfs_create_addrlist_af( struct radix_node_head **prnh, int off); #endif +static void vfs_free_addrlist(struct netexport *nep); static int vfs_free_netcred(struct radix_node *rn, void *w); static void vfs_free_addrlist_af(struct radix_node_head **prnh); static int vfs_hang_addrlist(struct mount *mp, struct netexport *nep, @@ -274,7 +274,7 @@ vfs_free_addrlist_af(struct radix_node_head **prnh) /* * Free the net address hash lists that are hanging off the mount points. */ -void +static void vfs_free_addrlist(struct netexport *nep) { struct ucred *cred; @@ -285,10 +285,8 @@ vfs_free_addrlist(struct netexport *nep) vfs_free_addrlist_af(&nep->ne6); cred = nep->ne_defexported.netc_anon; - if (cred != NULL) { + if (cred != NULL) crfree(cred); - nep->ne_defexported.netc_anon = NULL; - } } @@ -303,8 +301,6 @@ vfs_export(struct mount *mp, struct export_args *argp) { struct netexport *nep; int error; - uint64_t jail_permid; - bool new_nep, prison_alive; if ((argp->ex_flags & (MNT_DELEXPORT | MNT_EXPORTED)) == 0) return (EINVAL); @@ -315,29 +311,13 @@ vfs_export(struct mount *mp, struct export_args *argp) return (EINVAL); error = 0; - jail_permid = curthread->td_ucred->cr_prison->pr_permid; lockmgr(&mp->mnt_explock, LK_EXCLUSIVE, NULL); nep = mp->mnt_export; - prison_alive = prison_isalive_permid(mp->mnt_exjail); if (argp->ex_flags & MNT_DELEXPORT) { if (nep == NULL) { - KASSERT(mp->mnt_exjail == 0, - ("vfs_export: mnt_exjail delexport not 0")); error = ENOENT; goto out; } - KASSERT(mp->mnt_exjail != 0, - ("vfs_export: mnt_exjail delexport 0")); - if (jail_permid == 1 && mp->mnt_exjail != jail_permid && - prison_alive) { - /* EXDEV will not get logged by mountd(8). */ - error = EXDEV; - goto out; - } else if (mp->mnt_exjail != jail_permid && prison_alive) { - /* EPERM will get logged by mountd(8). */ - error = EPERM; - goto out; - } if (mp->mnt_flag & MNT_EXPUBLIC) { vfs_setpublicfs(NULL, NULL, NULL); MNT_ILOCK(mp); @@ -346,37 +326,20 @@ vfs_export(struct mount *mp, struct export_args *argp) } vfs_free_addrlist(nep); mp->mnt_export = NULL; - mp->mnt_exjail = 0; free(nep, M_MOUNT); nep = NULL; MNT_ILOCK(mp); mp->mnt_flag &= ~(MNT_EXPORTED | MNT_DEFEXPORTED); MNT_IUNLOCK(mp); } - new_nep = false; if (argp->ex_flags & MNT_EXPORTED) { if (nep == NULL) { - KASSERT(mp->mnt_exjail == 0, - ("vfs_export: mnt_exjail not 0")); nep = malloc(sizeof(struct netexport), M_MOUNT, M_WAITOK | M_ZERO); mp->mnt_export = nep; - new_nep = true; - } else if (mp->mnt_exjail != jail_permid && prison_alive) { - KASSERT(mp->mnt_exjail != 0, - ("vfs_export: mnt_exjail 0")); - error = EPERM; - goto out; } if (argp->ex_flags & MNT_EXPUBLIC) { - if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) { - if (new_nep) { - mp->mnt_export = NULL; - free(nep, M_MOUNT); - } + if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) goto out; - } - new_nep = false; - mp->mnt_exjail = jail_permid; MNT_ILOCK(mp); mp->mnt_flag |= MNT_EXPUBLIC; MNT_IUNLOCK(mp); @@ -385,14 +348,8 @@ vfs_export(struct mount *mp, struct export_args *argp) argp->ex_numsecflavors = 1; argp->ex_secflavors[0] = AUTH_SYS; } - if ((error = vfs_hang_addrlist(mp, nep, argp))) { - if (new_nep) { - mp->mnt_export = NULL; - free(nep, M_MOUNT); - } + if ((error = vfs_hang_addrlist(mp, nep, argp))) goto out; - } - mp->mnt_exjail = jail_permid; MNT_ILOCK(mp); mp->mnt_flag |= MNT_EXPORTED; MNT_IUNLOCK(mp); diff --git a/sys/sys/jail.h b/sys/sys/jail.h index 2031c698ff3d..c50c8607aa0a 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -199,7 +199,6 @@ struct prison { int pr_spare[2]; int pr_osreldate; /* (c) kern.osreldate value */ unsigned long pr_hostid; /* (p) jail hostid */ - uint64_t pr_permid; /* (c) permanent jail id */ char pr_name[MAXHOSTNAMELEN]; /* (p) admin jail name */ char pr_path[MAXPATHLEN]; /* (c) chroot path */ char pr_hostname[MAXHOSTNAMELEN]; /* (p) jail hostname */ @@ -443,7 +442,6 @@ void prison_proc_iterate(struct prison *, void (*)(struct proc *, void *), void void prison_set_allow(struct ucred *cred, unsigned flag, int enable); int prison_ischild(struct prison *, struct prison *); bool prison_isalive(const struct prison *); -bool prison_isalive_permid(const uint64_t prison_permid); bool prison_isvalid(struct prison *); #if defined(INET) || defined(INET6) int prison_ip_check(const struct prison *, const pr_family_t, const void *); diff --git a/sys/sys/mount.h b/sys/sys/mount.h index 42247829d42e..4bfc77b7f1a1 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -216,7 +216,6 @@ struct mount_upper_node { * i - interlock * v - vnode freelist mutex * d - deferred unmount list mutex - * e - mnt_explock * * Unmarked fields are considered stable as long as a ref is held. * @@ -246,14 +245,13 @@ struct mount { void * mnt_data; /* private data */ time_t mnt_time; /* last time written*/ int mnt_iosize_max; /* max size for clusters, etc */ - struct netexport *mnt_export; /* (e) export list */ + struct netexport *mnt_export; /* export list */ struct label *mnt_label; /* MAC label for the fs */ u_int mnt_hashseed; /* Random seed for vfs_hash */ int mnt_lockref; /* (i) Lock reference count */ int mnt_secondary_writes; /* (i) # of secondary writes */ int mnt_secondary_accwrites;/* (i) secondary wr. starts */ struct thread *mnt_susp_owner; /* (i) thread owning suspension */ - uint64_t mnt_exjail; /* (e) exported in jail ident */ #define mnt_endzero mnt_gjprovider char *mnt_gjprovider; /* gjournal provider name */ struct mtx mnt_listmtx; @@ -1019,7 +1017,6 @@ void vfs_periodic(struct mount *, int); int vfs_busy(struct mount *, int); int vfs_export /* process mount export info */ (struct mount *, struct export_args *); -void vfs_free_addrlist(struct netexport *); void vfs_allocate_syncvnode(struct mount *); void vfs_deallocate_syncvnode(struct mount *); int vfs_donmount(struct thread *td, uint64_t fsflags, From nobody Sat Feb 4 22:46:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P8SM06Hsrz3kVnZ; Sat, 4 Feb 2023 22: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 4P8SM05pYHz3w9F; Sat, 4 Feb 2023 22: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=1675550812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kE4683zChz4uhxmVDOwUgy5Z10xmrekOyFiASsIs2GM=; b=sxjAaxqI+Gvkyq7UorfbSo48m8ggZPFhOR8VnNxdDNIPiyKJBJ9snFBD82NknB0NBFB81e UscILue7VnZ0a4QxfalnQ4fR/Rof9GuTXMcGeFXk+cIW0p4upL8GuUZC00xfNVDliPDJeX Zon6kNr9td5Z400fRMSxAu78K4dzrsAIk3FT1i8HKYOKCLxiz8CbFoASnw/hZpqgOZmxLD qUfuImD+OEPOavN9Ar/9Uvk0k1ZX4CieHys9aMqaO0f85vZRCBwPyK8qxFACgoBDjQhKG8 K6mHi5UouCsgNd4AoRtwXRZsCoF+RB94ZhvA/Pg00t02JEGxFlh5dJGSLTPm+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675550812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kE4683zChz4uhxmVDOwUgy5Z10xmrekOyFiASsIs2GM=; b=uVy4PEDcZ1iswEk+gp+IPDym3smYWHxGA3oWHeIahhmc6JlBGKZo/Uwfqa3mI3u5W787tA A+OOw11GnRYHQEtDEVnBWfMyfDfJZITBmyif46YWO356PSyMuGP1EtowQ0LRARBjJCh9e9 lR0O9G4cE8IsCwWWN21vBJZhoO9s5eAf3WL+71ZJXBKhFSc/TNBHiE/pmwrhcZQlTKN4Qt 5YATFfi44a0KWBhtKoqfoMdmUb6OSOGf7kYRfXRMSJQ9FbQltD2SSQCOIymJI2WO6gkMOA SPM0o5rSRUdSpBmWHudIxzrSebYfm8OunKpleOSEptCAbpiMY/7IbKJGu0DGig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675550812; a=rsa-sha256; cv=none; b=ZmOdEV4bysW+pxqG1CBOVtz0fRyKY7YMakcA4d90sul2X2TiIpKacHr8NGr1dNsFa07Cyi 5GlwOrJNUMNofJbXnBR75YL/auW2GuJzhRoFllk+FBvTTQqslXtqKkRzmVxGBMguHBYPfS CRg3KtpuIWxHuf3WG5ZApDKejnheXFhmrfPChtb0wHogbxEEiIhX/j1NN0jMm+JKZ8LMw5 0sJjXJJg9vaRHRXn0lQ9cMLuRIdMgwJ1ghJD4OWbhwN6sLirKApD0jbdzHsaXOEs1fSEzQ NutE1YYrrO7DMMg/V02CBGp4FnZKBJUcdRFC9DanPpGZnXdsq8iaqBXnyLg+5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P8SM04kCJzXc3; Sat, 4 Feb 2023 22:46:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 314MkqJO061195; Sat, 4 Feb 2023 22:46:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 314Mkq1n061194; Sat, 4 Feb 2023 22:46:52 GMT (envelope-from git) Date: Sat, 4 Feb 2023 22:46:52 GMT Message-Id: <202302042246.314Mkq1n061194@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: db5655124ca4 - main - vfs_mount.c: Free exports structures in vfs_destroy_mount() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: db5655124ca4047ac397b9421ca4a08868a49ae9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=db5655124ca4047ac397b9421ca4a08868a49ae9 commit db5655124ca4047ac397b9421ca4a08868a49ae9 Author: Rick Macklem AuthorDate: 2023-02-04 22:45:23 +0000 Commit: Rick Macklem CommitDate: 2023-02-04 22:45:23 +0000 vfs_mount.c: Free exports structures in vfs_destroy_mount() During testing of exporting file systems in jails, I noticed that the export structures on a mount were not being free'd when the mount is dismounted. This bug appears to have been in the system for a very long time. It would have resulted in a slow memory leak when exported file systems were dismounted. Prior to r362158, freeing the structures during dismount would not have been safe, since VFS_CHECKEXP() returned a pointer into an export structure, which might still have been used by the NFS server for an in-progress RPC when the file system is dismounted. r362158 fixed this, so it should now be safe to free the structures in vfs_mount_destroy(), which is what this patch does. Reviewed by: kib MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D38385 --- sys/kern/vfs_export.c | 7 ++++--- sys/kern/vfs_mount.c | 4 ++++ sys/sys/mount.h | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 024011de4c89..cab37ce205ad 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -70,7 +70,6 @@ static MALLOC_DEFINE(M_NETADDR, "export_host", "Export host address structure"); static struct radix_node_head *vfs_create_addrlist_af( struct radix_node_head **prnh, int off); #endif -static void vfs_free_addrlist(struct netexport *nep); static int vfs_free_netcred(struct radix_node *rn, void *w); static void vfs_free_addrlist_af(struct radix_node_head **prnh); static int vfs_hang_addrlist(struct mount *mp, struct netexport *nep, @@ -274,7 +273,7 @@ vfs_free_addrlist_af(struct radix_node_head **prnh) /* * Free the net address hash lists that are hanging off the mount points. */ -static void +void vfs_free_addrlist(struct netexport *nep) { struct ucred *cred; @@ -285,8 +284,10 @@ vfs_free_addrlist(struct netexport *nep) vfs_free_addrlist_af(&nep->ne6); cred = nep->ne_defexported.netc_anon; - if (cred != NULL) + if (cred != NULL) { crfree(cred); + nep->ne_defexported.netc_anon = NULL; + } } diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 67a72f095786..430bafc8502f 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -761,6 +761,10 @@ vfs_mount_destroy(struct mount *mp) #endif if (mp->mnt_opt != NULL) vfs_freeopts(mp->mnt_opt); + if (mp->mnt_export != NULL) { + vfs_free_addrlist(mp->mnt_export); + free(mp->mnt_export, M_MOUNT); + } crfree(mp->mnt_cred); uma_zfree(mount_zone, mp); } diff --git a/sys/sys/mount.h b/sys/sys/mount.h index 4bfc77b7f1a1..5f02f261b8f4 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -1017,6 +1017,7 @@ void vfs_periodic(struct mount *, int); int vfs_busy(struct mount *, int); int vfs_export /* process mount export info */ (struct mount *, struct export_args *); +void vfs_free_addrlist(struct netexport *); void vfs_allocate_syncvnode(struct mount *); void vfs_deallocate_syncvnode(struct mount *); int vfs_donmount(struct thread *td, uint64_t fsflags,